基于CAN總線的數(shù)控系統(tǒng)測控模塊設(shè)計
摘 要: 計算機網(wǎng)絡(luò)控制系統(tǒng)可以有效地利用異地的物質(zhì)和智力資源,建立網(wǎng)上共享資源庫,實現(xiàn)計算機集成制造系統(tǒng)。本文利用了現(xiàn)場總線先進(jìn)的控制技術(shù),選用了CAN總線作為底層的分布式控制技術(shù),設(shè)計開發(fā)了基于CAN總線的數(shù)控系統(tǒng)底層測控模塊,使本地各設(shè)備的信息交互更加迅速。
1 引言
用計算機或微控制器通過一種或多種總線方式,實現(xiàn)與現(xiàn)場各種設(shè)備的通信,并通過總線實現(xiàn)對現(xiàn)場設(shè)備進(jìn)行必要控制的計算機網(wǎng)絡(luò)系統(tǒng)稱為底層測控通信網(wǎng)絡(luò)系統(tǒng),簡稱底層測控網(wǎng)絡(luò)。本文是針對數(shù)控系統(tǒng)方面來展開研究的,提出了一種基于CAN總線的數(shù)控系統(tǒng)底層測控網(wǎng)絡(luò), 現(xiàn)場設(shè)備就是數(shù)控機床等數(shù)控設(shè)備。
2 CAN總線的基本工作原理
CAN總線的拓?fù)浣Y(jié)構(gòu)是一個典型的串行總線的結(jié)構(gòu)形式。CAN總線中一個節(jié)點發(fā)送信息,多個節(jié)點接收信息;但CAN總線的信息存取方式采用的是一種廣播式的存取工作方式。在CAN總線的通信協(xié)議中支持的是基于報文的工作方式。也就是說加入或撤銷節(jié)點設(shè)備都不會影響網(wǎng)絡(luò)的工作,十分適用于控制系統(tǒng)要求快速、可靠、簡明的特點。CAN總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性。CAN采用了CRC校驗并可提供相應(yīng)的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。為了清楚地說明數(shù)控系統(tǒng)遠(yuǎn)程測控儀的工作原理,我們以結(jié)構(gòu)方框圖的形式表示如圖1所示。輸入信號來自于數(shù)控機床電機編碼器的光電編碼器,輸出信號可以去伺服驅(qū)動或控制其它需要的信號,下面是它的工作原理:
圖1 基于CAN總線的數(shù)控系統(tǒng)遠(yuǎn)程測控儀的工作原理圖
由伺服電機編碼器的脈沖輸出信號進(jìn)入測控儀的輸入端,后經(jīng)計數(shù)器濾波、倍頻、鑒相、計數(shù)等;微處理器對采來的數(shù)據(jù)進(jìn)行一定較簡單處理,再轉(zhuǎn)發(fā)到CAN控制器的緩存器里面;時機成熟CAN控制器再進(jìn)一步發(fā)給CAN收發(fā)器(驅(qū)動),最后CAN收發(fā)器把數(shù)據(jù)轉(zhuǎn)發(fā)給CAN總線、總管CAN節(jié)點的收發(fā)器、CAN控制器;總管CAN節(jié)點充當(dāng)網(wǎng)關(guān)的作用,把底層CAN節(jié)點的數(shù)據(jù)取出來以便自己或其它對其進(jìn)行進(jìn)一步的復(fù)雜分析處理,相反上面來的數(shù)據(jù)依照同樣的道理可以通過CAN網(wǎng)關(guān)下傳到底層的CAN節(jié)點。就這樣底層和中間層進(jìn)行了數(shù)據(jù)信息的交流。底層的CAN節(jié)點也可以接受CAN總管節(jié)點發(fā)來的信息,通過輸出信號通道把命令傳給相應(yīng)的接口電路、伺服系統(tǒng),以便對數(shù)控設(shè)備進(jìn)行控制。
3 基于DSP的CAN測控儀的設(shè)計與開發(fā)
本文選用的微處理器是由TI公司生產(chǎn)的TMS320LF2407?;贒SP的CAN測控儀的系統(tǒng)原理框圖如圖2所示:
圖2 基于DSP的CAN測控儀的系統(tǒng)原理框圖
DSP用的CPU用TI公司的2000系列的TMS320LF2407實現(xiàn),光電隔離用6N137實現(xiàn),CAN驅(qū)動器用PCA820C250實現(xiàn)。因為TMS320LF2407自帶有CAN控制器,所以這里就不用加控制器。
3.1測控模塊硬件設(shè)計
智能結(jié)點包括信號采集、信號處理及信號傳輸三大部分,根據(jù)所選用的微處理芯片所帶的外圍接口的不同,整個智能結(jié)點的結(jié)構(gòu)有所不同。本系統(tǒng)所選用的TMS320LF2407帶有豐富的外圍接口,所以整個智能結(jié)點結(jié)構(gòu)簡潔,系統(tǒng)的可靠性極強。以TMS320LF2407為核心的智能結(jié)點電路包括以下部分:電源電路、時鐘復(fù)位電路、CAN總線接口電路、信號調(diào)理部分及外擴存儲電路,其結(jié)構(gòu)框圖如圖3:
圖3 智能結(jié)點總體結(jié)構(gòu)圖
由于TMS320LF2407內(nèi)嵌CAN模塊,所以通過一個CAN驅(qū)動器就可以與CAN總線相連。為了增強CAN總線結(jié)點的抗干擾能力,CANTX與CANRX并不直接與CAN驅(qū)動器82C250的TXD和RXD相連,而是通過高速光耦6N137進(jìn)行電氣隔離后,再與82C250相接。這樣就很好的實現(xiàn)了總線上各CAN節(jié)點間的電氣隔離,避免了相互之間的電氣干擾。本系統(tǒng)中6N137所采用的電源3.3V.html">3.3v、5V及5V-CAN是相互隔離的,保證了光耦器件的電氣隔離功能。82C250與CAN總線的接口部分也采用了一定的安全和抗干擾措施。82C250的CANH和CANL引腳各自通過一個5歐的電阻與CAN總線相接,電阻起到限制電流的作用,保護(hù)82C250免受過流的沖擊。CANH與CANL與地之間并聯(lián)了兩個30pF的小電容,可以起濾除總線上的高頻干擾,并具有一定的防電磁輻射的能力。另外在兩根CAN總線輸入端與地之間分別接了一個防雷擊管,當(dāng)輸入端與地之間出現(xiàn)瞬變干擾時,通過防雷擊管的放電可以起到一定的保護(hù)作用。
3.2 時鐘和復(fù)位電路設(shè)計
3.2.1 時鐘電路設(shè)計
本文采用6M的晶體振蕩器,晶振的輸出直接連接到X2引腳,并將DSP的X1引腳懸空。在設(shè)計程序時,設(shè)置DSP內(nèi)部的時鐘鎖相環(huán)為4倍頻,則CPU的工作時鐘就可達(dá)到24M。
3.2.2 復(fù)位電路設(shè)計
在設(shè)計中,使用了上電復(fù)位和按鍵復(fù)位相結(jié)合的簡單電路.在上電的瞬時,電容相當(dāng)于短路,在上電的瞬時,電容C16相當(dāng)于短路,此時RST為低電平,對芯片進(jìn)行復(fù)位處理。經(jīng)這一段時間后,電容的電壓達(dá)到2V,則復(fù)位過程結(jié)束,芯片進(jìn)入正常工作區(qū)。當(dāng)按下K1時,RST直接與地相連接,芯片進(jìn)行復(fù)位處理。因此操作者可以根據(jù)自己的需要隨時對系統(tǒng)進(jìn)行復(fù)位操作。
3.3 電源電路設(shè)計
TM3S20LF2407A的工作電壓是.33v,而設(shè)計中用到的晶體振蕩器、光耦隔離器件6N137、CAN驅(qū)動器均為SV供電,因此以TMS320LF2407A為核心所構(gòu)成的應(yīng)用系統(tǒng)是一個混合電壓系統(tǒng),需要對電壓進(jìn)行轉(zhuǎn)換.系統(tǒng)中采用TI公司的甘57333Q電壓轉(zhuǎn)換芯片為DSP轉(zhuǎn)換.33V電壓。
3.4 外擴存儲電路設(shè)計
TMs320LF2407片內(nèi)帶有4K程序/數(shù)據(jù)RAM,32KFLASH程序存儲器,芯片自帶的數(shù)據(jù)和程序存儲器己經(jīng)滿足了本監(jiān)控系統(tǒng)的要求,所以在實際應(yīng)用中硬件設(shè)計時不用擴展數(shù)據(jù)和程序存儲器。但是作為初期的電路設(shè)計,為了方便在線調(diào)試,設(shè)計了一片64K靜態(tài)隨機讀寫存儲器,在線調(diào)試時供程序、數(shù)據(jù)共同使用。
3.5 信號調(diào)理電路設(shè)計
從傳感器傳來的信號均為電壓或電流信號,在本智能結(jié)點上,設(shè)計了放大電路及濾波電路,對初始信號進(jìn)行放大處理和濾波處理。為了保證測量的精度,對于精度要求較高的信號采用儀用放大器AD6523來進(jìn)行放大。而對于精度要求不高的信號,則采用價格低廉的LM324來進(jìn)行放大處理。
AD623可工作于單電源方式下,此時AD623的供電電壓范圍為3V-12V;DS623也可以工作在雙電源方式下,此時的電壓范圍為±5V到±6V。在本智能結(jié)點中,電源電路只提供3.3V和5V的電壓,且DSP的工作電壓為3.3V,所以采用單電源方式。為了去藕,在靠電源腳處加了10μf的電容。
4 測控儀的軟件設(shè)計
智能結(jié)點的軟件包括系統(tǒng)的初始化模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊和系統(tǒng)的傳輸模塊。初始化模塊完成以下工作:根據(jù)芯片本身的功能和特征,所用的寄存器清零,程序FLASH區(qū)和數(shù)據(jù)RAM區(qū)初始化,中斷口設(shè)置等為主程序運行準(zhǔn)備工作;還要檢查和保護(hù)系統(tǒng)電源,利用本身自帶的看門狗(WATCHDOG)監(jiān)視DSP芯片的各資源的硬件運行情況。在DSP芯片能正常運行后,進(jìn)入數(shù)據(jù)采集軟件的主程序運行。使用默認(rèn)配置參數(shù)分配數(shù)據(jù)采集卡系統(tǒng)的通道資源、存儲器資源和總線占用資源.數(shù)據(jù)采集模塊以EMA中斷(事件管理中斷)中的定時器軟中斷啟動LS7266R1采集一幀數(shù)據(jù);與其同時,數(shù)據(jù)處理模塊對已采集完前一幀各通道數(shù)據(jù)做處理。數(shù)據(jù)的傳輸是通過CAN總線來完成的,所以數(shù)據(jù)傳輸模塊必須完成CAN總線通信功能。在下面的兩節(jié)里,將根據(jù)TMS320LF2407的特點詳細(xì)介紹數(shù)據(jù)采集、處理和傳輸模塊的設(shè)計。
CAN通信軟件的功能主要有兩個:把智能結(jié)點的數(shù)據(jù)包裝成有效的CAN信息幀發(fā)給目標(biāo)結(jié)點;從CAN總線上接收有效的數(shù)據(jù)幀,并將信息幀還原為原始數(shù)據(jù),供給CPU進(jìn)行下一步的操作。數(shù)據(jù)幀的包裝和還原都是由DSP內(nèi)的CAN控制器來完成的,在通信軟件中,只需設(shè)置CAN控制器中的相應(yīng)寄存器就可以了。TMS320LF2407的CAN控制器是一個完全的CAN控制器。整個軟件流程如圖4:
圖4 軟件流程圖
圖5 CAN總線通信流程圖
有了CAN控制器的支持,CAN通信軟件的設(shè)計就變得簡潔明了。本系統(tǒng)CAN通信軟件設(shè)計思想是:將本系統(tǒng)向其它節(jié)點發(fā)送數(shù)據(jù)設(shè)計成函數(shù),當(dāng)本系統(tǒng)發(fā)送數(shù)據(jù)時調(diào)用此函數(shù),將數(shù)據(jù)發(fā)送到CAN總線上;本系統(tǒng)接收數(shù)據(jù)采用中斷方式,當(dāng)CAN控制器接收到數(shù)據(jù)后,向微控制器發(fā)出中斷響應(yīng)信號,微控制器在中斷程序中將接收到的數(shù)據(jù)讀入。整個系統(tǒng)對CAN總線通信軟件管理的流程圖如圖5所示。
本文作者創(chuàng)新點:
本文設(shè)計的基于CAN總線的數(shù)控系統(tǒng)底層測控模塊, 對數(shù)控機床的運動精度進(jìn)行測試。實現(xiàn)了與現(xiàn)場各種設(shè)備的通信,并通過總線實現(xiàn)對現(xiàn)場設(shè)備進(jìn)行必要控制, 使本地各設(shè)備的信息交互更加迅速。