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