章萬靜 王勝剛 潘永安 羅時書
[摘要]介紹一種基于CAN Bus的網絡傳感器測控系統的總體設計方案,并詳細的闡述該系統的硬件電路結構和系統軟件的設計。實際應用表明,該系統具有可靠性高,實時性強,擴展容易等應用優勢。
[關鍵詞]CAN Bus 網絡傳感器 測控系統
中圖分類號:TP7文獻標識碼:A文章編號:1671-7597(2009)0520010-02
一、引言
隨著現代信息技術的高速發展,自動化控制和儀器儀表等領域發生了深刻的變革,數字化、智能化、網絡化成為該領域發展的新方向。這就導致系統的組成日益龐大而復雜,所需要的測控點和測控參量越來越多,所需要的傳感器數目也就成倍的增加[1]。由于單個傳感器僅能感知其觀測環境有限的局部信息,而由多個同類或異類傳感器構成的網絡傳感器系統能從不同的角度和視野獲取其觀測環境更多的全局信息,這使得網絡傳感器系統在軍事和民用領域正受到越來越廣泛的重視[2]。
控制器局域網CAN(Controller Area Network)作為一種多線路網絡通信系統,以其時分多主,非破壞性總線仲裁和自動檢錯重發等靈活、可靠的通信技術,及低廉的價格,被廣泛的應用于自動化生產線、汽車、傳感器、醫療設備、智能化大廈、電梯控制、環境控制等分布式系統[3]。根據Atmel公司新型微控制器T89C5CC01的特點,利用其內部集成CAN控制器來組建網絡傳感器的測控系統,具有結構簡單、設計容易、抗干擾性強等應用優勢。
二、系統的總體方案設計
(一)系統的組成
從圖1中可以看出,基于CAN Bus的網絡傳感器測控系統由三部分組成:上位機、CAN總線和下位機。

上位機:該系統以PC機作為上位機,因PC機具有強大的數據處理能力和友好的人機界面,將其作為上位機引入到系統中去,可以大大提高系統的整體性能。PC機向下通過CAN總線接口適配卡和CAN總線與下位機相連,實現CAN 2.0B協議(兼容CAN 2.0A協議)的連接通信,負責對整個CAN總線系統進行監視管理,具有系統參數(如波特率、標識符碼、標識符屏蔽碼等)設置、數據發送、數據接收、控制等功能。
CAN總線:CAN總線能夠使用多種物理介質,例如雙絞線、光纖或同軸電纜等。該系統的CAN總線通過雙絞線與其它節點相連,網絡終端兩端各需加接一個120Ω的電阻作為線路的匹配。這兩個電阻對于總線阻抗的匹配起著相當重要的作用(防止波形反射),去掉它們會使數據通信的抗干擾性和可靠性大大降低,甚至無法通信。由于驅動能力的限制,CAN總線上最多可掛110個節點。
下位機:該系統采用片上集成CAN控制器的微控制器作為下位機的核心部件,其不僅擔負起節點主控制器的作用,負責網絡傳感器的管理及數據的采集、轉換和處理,同時還可以通過CAN總線接口適配卡和CAN總線,負責與系統中的上位機或其他下位機實現數據傳輸與交換。
(二)系統的工作過程
根據基于CAN Bus的網絡傳感器測控系統的網絡拓撲結構可知,為在PC機與各下位機節點之間構筑基于CAN總線的通信信道,在PC機內擴展了一塊CAN總線接口適配卡,一方面使PC機的命令、控制信息以及數據可以順利地傳遞到各下位機節點;另一方面使各下位機節點的狀態、處理請求等信息可以順利地返回PC機。其具體的通信過程如下:PC上位機將各種控制命令轉換成CAN總線接口適配卡可以識別的數據,當CAN總線接口適配卡接到數據后,按照CAN總線的協議標準發送給各下位機節點控制器,各下位機節點控制器依據標識符判斷是否為自己應處理的數據。如果符合條件,則按照相應的算法解釋所收到數據幀的內容,轉化成相應的控制信號,控制執行機構完成相應的功能;并且各下位機節點之間也能按照CAN總線協議相互通信,實現控制的協調。與此同時,各個下位機節點也可不定期的將各自的狀態參數組成數據幀,向PC上位機發送,使PC上位機能及時了解各下位機節點的工作狀態。
(三)CAN下位機硬件的設計
基于CAN Bus的網絡傳感器測控系統的下位機節點硬件電路原理如圖2所示,該節點由集成了CAN控制器的微控制器T89C51CC01、與T89C51CC01
配套使用的CAN高速收發器ATA6660、16選1模擬開關CD4067、高精度的24位模數轉換器ADS1244、高速光耦6N137、電源隔離模塊B0505S-1W、提供+5V高精度的穩定參考電壓源MAX6035以及多個傳感器(如角度傳感器、位移傳感器、溫度傳感器、濕度傳感器、壓力傳感器等)等組成。

在該設計中,微控制器芯片T89C51CC01的晶振所選頻率為16MHz,工作在12時鐘模式下。其ALE腳輸出信號恒定為1/6 振蕩頻率,用來作為ADS1244的時鐘輸入,P2端口的部分引腳控制CD4067的16通道的選擇;并將高速收發器ATA6660將RS端接地啟用標準模式能進行數據發送和接收。為了進一步的提高CAN總線的抗干擾能力,保證各下位機節點之間在電氣上是完全隔離和獨立的,T89C51CC01的P4.0和P4.1引腳分別通過高速光耦6N137與ATA6660的TXD和RXD引腳相連。另外,光耦部分電路所采用的兩個電源必須完全隔離采用一個小功率電源隔離模塊B0505S-1W,提高了下位機節點的穩定性和安全性。
三、CAN下位機軟件的設計
該系統下位機節點的軟件采用模塊化程序設計,其主要子程序有:CAN初始化子程序、模數轉換子程序、數據接收和數據發送子程序等。主程序中采用T89C51CC01內置看門狗(watch-dog)復位技術,以保證系統的正常運行。下位機節點主程序框圖如圖3所示。

下位機節點對CAN Bus上的數據有兩種接收方式:查詢方式和中斷方式。但是采用查詢方式時,系統資源利用率不高,不能很好的滿足實時性,所以該系統采用中斷方式進行數據的接收和發送,實現高速、實時的數據通信。下位機節點中斷子程序框圖如圖4所示。
四、結束語
通過該系統在公司的角度傳感器成品檢測中的實際使用,其良好的表現表明了該系統具有如下優點:
1.結構簡單、抗干擾性強、可靠性高;
2.數據傳輸速度快、傳輸距離長、實時性好;
3.支持熱拔插,可以利用雙絞線組網,使得節點擴充容易,維護方便[4];
4.可根據實際使用的距離和需要設置合適的波特率,最高可達1Mbps。
總之,該系統具有結構簡單、使用方便、功能強大、性價比高、抗干擾性強、通用性好等應用優勢,在實時要求高的分布式系統中具有很好的應用前景。
參考文獻:
[1]謝亮、郭陽,基于HART的智能現場實時控制通信系統[J].微計算機信息,2008,4(2):164-166.
[2]田康生、朱光喜、徐毓,基于多代理技術的傳感器管理系統[J].現代雷達,2004,26(2):9-13.
[3]鄔寬明,CAN總線原理和應用系統設計[M].北京:北京航天航空大學出版,1996.
[4]楊一敏、張培仁、王津津、丁劍文,基于C8051F040的CAN總線實時大型監控系統[J].自動化與儀表,2008,23(7):21-24.
作者簡介:
章萬靜(1976-),男,漢族,湖北隨州人,碩士,講師,研究方向:總線技術、單片機和嵌入式系統的應用。