章萬靜 王勝剛 潘永安 羅時(shí)書
[摘要]介紹一種基于CAN Bus的網(wǎng)絡(luò)傳感器測(cè)控系統(tǒng)的總體設(shè)計(jì)方案,并詳細(xì)的闡述該系統(tǒng)的硬件電路結(jié)構(gòu)和系統(tǒng)軟件的設(shè)計(jì)。實(shí)際應(yīng)用表明,該系統(tǒng)具有可靠性高,實(shí)時(shí)性強(qiáng),擴(kuò)展容易等應(yīng)用優(yōu)勢(shì)。
[關(guān)鍵詞]CAN Bus 網(wǎng)絡(luò)傳感器 測(cè)控系統(tǒng)
中圖分類號(hào):TP7文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0520010-02
一、引言
隨著現(xiàn)代信息技術(shù)的高速發(fā)展,自動(dòng)化控制和儀器儀表等領(lǐng)域發(fā)生了深刻的變革,數(shù)字化、智能化、網(wǎng)絡(luò)化成為該領(lǐng)域發(fā)展的新方向。這就導(dǎo)致系統(tǒng)的組成日益龐大而復(fù)雜,所需要的測(cè)控點(diǎn)和測(cè)控參量越來越多,所需要的傳感器數(shù)目也就成倍的增加[1]。由于單個(gè)傳感器僅能感知其觀測(cè)環(huán)境有限的局部信息,而由多個(gè)同類或異類傳感器構(gòu)成的網(wǎng)絡(luò)傳感器系統(tǒng)能從不同的角度和視野獲取其觀測(cè)環(huán)境更多的全局信息,這使得網(wǎng)絡(luò)傳感器系統(tǒng)在軍事和民用領(lǐng)域正受到越來越廣泛的重視[2]。
控制器局域網(wǎng)CAN(Controller Area Network)作為一種多線路網(wǎng)絡(luò)通信系統(tǒng),以其時(shí)分多主,非破壞性總線仲裁和自動(dòng)檢錯(cuò)重發(fā)等靈活、可靠的通信技術(shù),及低廉的價(jià)格,被廣泛的應(yīng)用于自動(dòng)化生產(chǎn)線、汽車、傳感器、醫(yī)療設(shè)備、智能化大廈、電梯控制、環(huán)境控制等分布式系統(tǒng)[3]。根據(jù)Atmel公司新型微控制器T89C5CC01的特點(diǎn),利用其內(nèi)部集成CAN控制器來組建網(wǎng)絡(luò)傳感器的測(cè)控系統(tǒng),具有結(jié)構(gòu)簡單、設(shè)計(jì)容易、抗干擾性強(qiáng)等應(yīng)用優(yōu)勢(shì)。
二、系統(tǒng)的總體方案設(shè)計(jì)
(一)系統(tǒng)的組成
從圖1中可以看出,基于CAN Bus的網(wǎng)絡(luò)傳感器測(cè)控系統(tǒng)由三部分組成:上位機(jī)、CAN總線和下位機(jī)。
上位機(jī):該系統(tǒng)以PC機(jī)作為上位機(jī),因PC機(jī)具有強(qiáng)大的數(shù)據(jù)處理能力和友好的人機(jī)界面,將其作為上位機(jī)引入到系統(tǒng)中去,可以大大提高系統(tǒng)的整體性能。PC機(jī)向下通過CAN總線接口適配卡和CAN總線與下位機(jī)相連,實(shí)現(xiàn)CAN 2.0B協(xié)議(兼容CAN 2.0A協(xié)議)的連接通信,負(fù)責(zé)對(duì)整個(gè)CAN總線系統(tǒng)進(jìn)行監(jiān)視管理,具有系統(tǒng)參數(shù)(如波特率、標(biāo)識(shí)符碼、標(biāo)識(shí)符屏蔽碼等)設(shè)置、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收、控制等功能。
CAN總線:CAN總線能夠使用多種物理介質(zhì),例如雙絞線、光纖或同軸電纜等。該系統(tǒng)的CAN總線通過雙絞線與其它節(jié)點(diǎn)相連,網(wǎng)絡(luò)終端兩端各需加接一個(gè)120Ω的電阻作為線路的匹配。這兩個(gè)電阻對(duì)于總線阻抗的匹配起著相當(dāng)重要的作用(防止波形反射),去掉它們會(huì)使數(shù)據(jù)通信的抗干擾性和可靠性大大降低,甚至無法通信。由于驅(qū)動(dòng)能力的限制,CAN總線上最多可掛110個(gè)節(jié)點(diǎn)。
下位機(jī):該系統(tǒng)采用片上集成CAN控制器的微控制器作為下位機(jī)的核心部件,其不僅擔(dān)負(fù)起節(jié)點(diǎn)主控制器的作用,負(fù)責(zé)網(wǎng)絡(luò)傳感器的管理及數(shù)據(jù)的采集、轉(zhuǎn)換和處理,同時(shí)還可以通過CAN總線接口適配卡和CAN總線,負(fù)責(zé)與系統(tǒng)中的上位機(jī)或其他下位機(jī)實(shí)現(xiàn)數(shù)據(jù)傳輸與交換。
(二)系統(tǒng)的工作過程
根據(jù)基于CAN Bus的網(wǎng)絡(luò)傳感器測(cè)控系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可知,為在PC機(jī)與各下位機(jī)節(jié)點(diǎn)之間構(gòu)筑基于CAN總線的通信信道,在PC機(jī)內(nèi)擴(kuò)展了一塊CAN總線接口適配卡,一方面使PC機(jī)的命令、控制信息以及數(shù)據(jù)可以順利地傳遞到各下位機(jī)節(jié)點(diǎn);另一方面使各下位機(jī)節(jié)點(diǎn)的狀態(tài)、處理請(qǐng)求等信息可以順利地返回PC機(jī)。其具體的通信過程如下:PC上位機(jī)將各種控制命令轉(zhuǎn)換成CAN總線接口適配卡可以識(shí)別的數(shù)據(jù),當(dāng)CAN總線接口適配卡接到數(shù)據(jù)后,按照CAN總線的協(xié)議標(biāo)準(zhǔn)發(fā)送給各下位機(jī)節(jié)點(diǎn)控制器,各下位機(jī)節(jié)點(diǎn)控制器依據(jù)標(biāo)識(shí)符判斷是否為自己應(yīng)處理的數(shù)據(jù)。如果符合條件,則按照相應(yīng)的算法解釋所收到數(shù)據(jù)幀的內(nèi)容,轉(zhuǎn)化成相應(yīng)的控制信號(hào),控制執(zhí)行機(jī)構(gòu)完成相應(yīng)的功能;并且各下位機(jī)節(jié)點(diǎn)之間也能按照CAN總線協(xié)議相互通信,實(shí)現(xiàn)控制的協(xié)調(diào)。與此同時(shí),各個(gè)下位機(jī)節(jié)點(diǎn)也可不定期的將各自的狀態(tài)參數(shù)組成數(shù)據(jù)幀,向PC上位機(jī)發(fā)送,使PC上位機(jī)能及時(shí)了解各下位機(jī)節(jié)點(diǎn)的工作狀態(tài)。
(三)CAN下位機(jī)硬件的設(shè)計(jì)
基于CAN Bus的網(wǎng)絡(luò)傳感器測(cè)控系統(tǒng)的下位機(jī)節(jié)點(diǎn)硬件電路原理如圖2所示,該節(jié)點(diǎn)由集成了CAN控制器的微控制器T89C51CC01、與T89C51CC01
配套使用的CAN高速收發(fā)器ATA6660、16選1模擬開關(guān)CD4067、高精度的24位模數(shù)轉(zhuǎn)換器ADS1244、高速光耦6N137、電源隔離模塊B0505S-1W、提供+5V高精度的穩(wěn)定參考電壓源MAX6035以及多個(gè)傳感器(如角度傳感器、位移傳感器、溫度傳感器、濕度傳感器、壓力傳感器等)等組成。
在該設(shè)計(jì)中,微控制器芯片T89C51CC01的晶振所選頻率為16MHz,工作在12時(shí)鐘模式下。其ALE腳輸出信號(hào)恒定為1/6 振蕩頻率,用來作為ADS1244的時(shí)鐘輸入,P2端口的部分引腳控制CD4067的16通道的選擇;并將高速收發(fā)器ATA6660將RS端接地啟用標(biāo)準(zhǔn)模式能進(jìn)行數(shù)據(jù)發(fā)送和接收。為了進(jìn)一步的提高CAN總線的抗干擾能力,保證各下位機(jī)節(jié)點(diǎn)之間在電氣上是完全隔離和獨(dú)立的,T89C51CC01的P4.0和P4.1引腳分別通過高速光耦6N137與ATA6660的TXD和RXD引腳相連。另外,光耦部分電路所采用的兩個(gè)電源必須完全隔離采用一個(gè)小功率電源隔離模塊B0505S-1W,提高了下位機(jī)節(jié)點(diǎn)的穩(wěn)定性和安全性。
三、CAN下位機(jī)軟件的設(shè)計(jì)
該系統(tǒng)下位機(jī)節(jié)點(diǎn)的軟件采用模塊化程序設(shè)計(jì),其主要子程序有:CAN初始化子程序、模數(shù)轉(zhuǎn)換子程序、數(shù)據(jù)接收和數(shù)據(jù)發(fā)送子程序等。主程序中采用T89C51CC01內(nèi)置看門狗(watch-dog)復(fù)位技術(shù),以保證系統(tǒng)的正常運(yùn)行。下位機(jī)節(jié)點(diǎn)主程序框圖如圖3所示。
下位機(jī)節(jié)點(diǎn)對(duì)CAN Bus上的數(shù)據(jù)有兩種接收方式:查詢方式和中斷方式。但是采用查詢方式時(shí),系統(tǒng)資源利用率不高,不能很好的滿足實(shí)時(shí)性,所以該系統(tǒng)采用中斷方式進(jìn)行數(shù)據(jù)的接收和發(fā)送,實(shí)現(xiàn)高速、實(shí)時(shí)的數(shù)據(jù)通信。下位機(jī)節(jié)點(diǎn)中斷子程序框圖如圖4所示。
四、結(jié)束語
通過該系統(tǒng)在公司的角度傳感器成品檢測(cè)中的實(shí)際使用,其良好的表現(xiàn)表明了該系統(tǒng)具有如下優(yōu)點(diǎn):
1.結(jié)構(gòu)簡單、抗干擾性強(qiáng)、可靠性高;
2.?dāng)?shù)據(jù)傳輸速度快、傳輸距離長、實(shí)時(shí)性好;
3.支持熱拔插,可以利用雙絞線組網(wǎng),使得節(jié)點(diǎn)擴(kuò)充容易,維護(hù)方便[4];
4.可根據(jù)實(shí)際使用的距離和需要設(shè)置合適的波特率,最高可達(dá)1Mbps。
總之,該系統(tǒng)具有結(jié)構(gòu)簡單、使用方便、功能強(qiáng)大、性價(jià)比高、抗干擾性強(qiáng)、通用性好等應(yīng)用優(yōu)勢(shì),在實(shí)時(shí)要求高的分布式系統(tǒng)中具有很好的應(yīng)用前景。
參考文獻(xiàn):
[1]謝亮、郭陽,基于HART的智能現(xiàn)場(chǎng)實(shí)時(shí)控制通信系統(tǒng)[J].微計(jì)算機(jī)信息,2008,4(2):164-166.
[2]田康生、朱光喜、徐毓,基于多代理技術(shù)的傳感器管理系統(tǒng)[J].現(xiàn)代雷達(dá),2004,26(2):9-13.
[3]鄔寬明,CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航天航空大學(xué)出版,1996.
[4]楊一敏、張培仁、王津津、丁劍文,基于C8051F040的CAN總線實(shí)時(shí)大型監(jiān)控系統(tǒng)[J].自動(dòng)化與儀表,2008,23(7):21-24.
作者簡介:
章萬靜(1976-),男,漢族,湖北隨州人,碩士,講師,研究方向:總線技術(shù)、單片機(jī)和嵌入式系統(tǒng)的應(yīng)用。