論基於CAN匯流排與乙太網互聯的實時溫度和溼度監控系統的研究

才智咖 人氣:5.47K

CAN(Controller area network)即控制器區域網,是國際上應用最廣泛的現場匯流排之一。起先CAN-bus被設計作為汽車環境中的微控制器通訊,在車載的各電子控制裝置(ECU)之間交換資訊形成汽車電子控制網路。作為一種技術先進、可靠性高、功能完善、成本合理的遠端網路通訊控制方式,CAN-bus已被廣泛應用於各個自動化控制系統中。

論基於CAN匯流排與乙太網互聯的實時溫度和溼度監控系統的研究

從高速的網路到低價位的多路接線都可以使用CAN-bus。例如,在自動控制、智慧大廈、電力系統、安防監控等各領域,CAN-bus都具有不可比擬的優越性。工業控制系統的分佈化、智慧化、資訊化發展,要求企業從現場控制層到管理層實現全面無縫資訊整合。工業乙太網滿足這一要求,實現了工業控制網路與企業資訊網路的無縫連線,成為控制網路發展的主要方向,為全分散智慧控制網路系統實現遠端控制提供了可能[1]。本文作者主要介紹基於CAN匯流排與乙太網互聯的實時溫度、溼度監控系統,從而實現監控裝置的網路化和智慧化。

1、系統介紹

1.1 CAN匯流排與網際網路互聯的發展狀況CAN匯流排是一種有效支援分散式控制的序列通訊網路,是德國BOSCH公司從20世紀80年代初為解決現代汽車中眾多的控制與測試儀器之間的資料交換而設計的一種序列資料通訊協議,歷經技術規範2.0A和2.0B後已形成CAN國際標準(ISO11898)

CAN遵循OSI模型,按照OSI基準模型,CAN機構分為2層:資料鏈路層和物理層。按照IEEE802.2和802.3標準,資料鏈路層又劃分為邏輯鏈路控制層(LLC)和媒體訪問控制層(MAC);物理層又劃分為物理信令層(PLS)、物理媒體附屬裝置層(PMA)和媒體相關介面層(MDI)。由於CAN具有獨特的優點,使得它在工業領域中得到廣泛應用。

目前,基於CAN匯流排獲得廣泛應用的應用層協議有DeviceNet和CANOpen等。CAN具有以下主要特點[2]:(1)CAN為多主工作方式,網路上任一節點均可在任意時刻主動地向網路上其他節點送資訊,而不分主從;

(2)在報文識別符號上,CAN上的節點分成不同的優先順序,可滿足不同的實時要求;

(3)CAN採用非破壞匯流排仲裁技術。當多個節點同時向匯流排傳送資訊出現衝突時,優先順序較低的節點會主動地退出傳送,而最高優先順序的節點可不受影響地繼續傳輸資料,從而大大節省了匯流排衝突仲裁時間;(4)CAN節點只需通過對報文識別符號濾波即可實現點對點、一對多點及全域性廣播幾種方式傳送接收資料;(5)CAN報文采用短幀結構,傳輸時間短,受干擾概率低,保證了資料出錯率極低;

(6)CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使匯流排上其他節點的操作不受影響。

現場匯流排網路與工業乙太網的結合使得企業的管理可以深入到測控現場,在這種互聯方式下,由乙太網構建資訊網,通過兩者的有機聯接,從而構成一箇中型/大型的遠端監控/資料傳輸網路[3]。

1.2系統架構系統由溫度、溼度測控器、CAN乙太網通訊轉換器、伺服器和客戶端組成,如圖1所示。

溫度、溼度測控器主要負責現場溫度、溼度資料的採集、處理、控制、顯示、報警以及通過CAN匯流排與通訊轉換器進行資料交換。

CAN、乙太網通訊轉換器主要負責CAN匯流排資料的傳送和接收,並將CAN的資料通過區域網傳送到伺服器上。

伺服器負責監控結果資料的儲存和報表的儲存,同時,向客戶端提供訪問服務。

客戶端通過瀏覽器上因特網訪問伺服器上的資料並進行通訊和控制。

2、硬體設計溫度、溼度測控器主要分為資料採集、控制和CAN匯流排通訊3部分

溫度、溼度測控器的溫度、溼度感測器採用瑞士圖2溫度、溼度測控器的硬體框圖Fig.2 Structure of temperature and humidity controllerSENSIRION公司的SHT10,感測器包括1個電容式聚合體測溼元件和1個能隙式測溫元件,並與1個14位A/D轉換器以及序列介面電路在同一晶片上實現無縫連線。SHT10具有超快響應、抗干擾能力強等優點。

每個SHT10感測器都在極精確的溼度校驗室中進行校準。校準係數以程式的形式儲存在OTP記憶體中,感測器內部在檢測訊號的處理過程中要呼叫這些校準係數。兩線制序列介面和內部基準電壓,使系統整合變得簡易快捷。溫度、溼度測控器的MCU採用微芯公司的PIC18F2580,它是整個溫度、溼度測控器的運算控制單元,它採用16位的RISC指令系統、哈佛匯流排結構、兩級流水線取指等技術,具有32 KB快快閃記憶體記憶體、4 KB的RAM、片內看門狗、內部EEPROM、CAN控制器等豐富的片內資源,抗抗干擾性能強,功耗低,速度高[4]。PIC18F2580主要負責資料採集與控制,並與通訊轉換層介面卡進行實時CAN匯流排資料的`通訊。

CAN與乙太網通訊轉換層硬體框圖如圖3所示,它的處理器採用NXP公司的ARM7TDMI-S核的微控制器LPC2378,是一款支援實時模擬和嵌入式跟蹤的16/32位ARM7TDMI-S CPU,處理器時鐘高達72MHz。片內含有高達512 KB的片內Flash和58 KB的片內SRAM儲存器,具有強大的通訊介面:10/100M乙太網媒體訪問控制器(MAC),2路CAN-bus介面。

增強型外設4個32位捕獲/比較定時器、1個帶有2 KB電池SRAM的低功耗實時時鐘、看門狗定時器和1個片內4 MHz的RC振盪器。LPC2378的強大功能為CAN和乙太網的通訊轉換帶來了極大方便[5]。

3、軟體設計軟體設計的物件主要包括3部分:溫度、溼度測控器的檢測控制和CAN通訊,CAN乙太網通訊轉換,B/S平臺。

3.1溫度、溼度測控器的軟體設計溫度、溼度測控器的軟體流程

它主要包括初始化子程式、CAN資料的接收和傳送程式、顯示程式、鍵盤掃描程式、控制程式。CAN資料的接收和傳送對實時性要求比較高,故採用中斷方式進行處理。微處理器PIC18F2580在程式開始首先要對CAN控制器模組進行初始化。主要通過測控器本身的地址標識的讀取來對CAN控制器的過濾器和遮蔽器進行配置。遮蔽器用於確定識別符號中的哪一位被過濾器檢查,這樣,一旦1條有效的資訊被資訊緩衝器MAB接收,資訊的識別符號區域將與過濾器值相比較,若相匹配,則資訊將被裝入接收緩衝器。微控制器收到CAN資料後,根據相應命令進行相應動作,如設定相應報警溫度溼度、執行相應控制等,然後,做出相應的應答。

控制程式主要是通過序列介面對SHT10進行資料讀取,並把讀取資料與設定資料進行比較,運用bang-bang控制通過驅動電路控制中央空調,使得房間保持一定的溫度和溼度。3.2 CAN與乙太網通訊轉換軟體設計3.2.1 LPC2378的CAN控制器與CAN匯流排間的資料傳輸LPC2378的CAN控制器帶有1個完整的傳送和接收緩衝器序列介面,它是1個雙重接收緩衝器,有了這個雙重的接收緩衝器,晶片可以在對1個報文進行處理時,可接收另一個報文,但它不含有驗收濾波器。驗收濾波器是獨立的器件,它對所有CAN通道進行CAN識別符號過濾。

資料從CAN控制器傳送到CAN匯流排由CAN控制器自動完成。傳送程式採用中斷方式,中斷方式傳送程式分為傳送主程式和中斷服務程式。主程式用於控制資訊的傳送,中斷服務程式負責傳送臨時儲存區中的暫存資訊。中斷流程圖見圖5。

μC/OS-Ⅱ是一個包含時間管理、任務排程等基本功能的小型、輕量級的嵌入式實時作業系統的核心,而且LPC2378是基於ARMTDMI的ARM的核心,其核心與儲存器結構都很適合作業系統的執行[6]。

乙太網控制器採用uC/IP的協議棧,主要使用TCP/IP協議。TCP/IP是面向連線的協議,它在2個TCP之間建立1條虛連線,TCP在運輸層使用流量控制和差錯控制機制來保證資料的可靠性[7]。TCP提供全雙工服務,即資料可在同一時間雙向流動。控制器作為客戶端發起連線。通過TCP/IP資料的收發中斷見圖6。

對於TCP資料包,LCP2378取出資料,並存入資料區,對資料進行相應分析後,通過CAN控制器發到CAN匯流排上,對於從CAN匯流排上接收的資料,同樣存入相應資料區,將資料按照TCP/IP進行封裝傳送。

圖6與乙太網通訊的中斷方式的資料收發Fig.6 Data exchange with Ethernet through Interruption4實驗測試系統研製成功後,與多個帶有32個節點CAN匯流排子網系統和乙太網環境中進行測試。主要針對TCP/IP協議和CAN協議的資料通訊實現對其效能和穩定性進行驗證。圖7所示為使用ZLGCANTest工具監測到的資料截圖。

圖7 CAN匯流排資料截圖Fig.7 CAN field bus screenshot整個系統正式投入執行後,到目前為止已經投入執行半年時間,系統執行穩定,沒有出現數據丟失或者由於匯流排衝突導致的節點自動脫離匯流排的現象。

4、結論

(1)所設計的基於CAN匯流排與乙太網互聯的實時溫度、溼度監控系統在某資料中心得到應用,系統中採用的底層使用CAN匯流排通訊,中間層使用乙太網通訊,上層通過伺服器與因特網連線,經過長時間的測試和執行,並與其他通訊方式相比較,CAN匯流排通訊方式穩定性良好,可靠性高。

(2)由於原資料中心測控裝置分佈較分散,房間數量多,導致房間溫度、溼度控制不穩定甚至導致事故發生。採用該系統以後,不僅所有的房間溫度、溼度可以乾地遠端實時監控,而且整個測控系統的穩定性、準確性大大提高。

(3)實踐證明,基於CAN匯流排與乙太網互聯的實時監控系統的系統是可行的,符合未來監控技術的發展趨勢。另外,該系統也可以應用於其他需要實時監控的領域。

參考文獻:

[1]鄔寬明匯流排原理與應用系統設計[M].北京:北京航空航天大學出版社, theory and application system design ofCAN bus[M]ing:Beihang University Presss,1996.

[2]饒運濤,鄒繼軍,鄭勇芸.現場匯流排CAN原理與應用技術[M].北京:北京航空航天大學出版社, Yun-tao,ZOU Ji-jun,ZHENG theory andapplication system design of CAN bus[M]ing:BeihangUniversity Presss,2003.

[3]XU Jian-ning,LIU Wei-dong,JI Yan-peng,et temeasuring and controlling system based on Ethernet and CANbus[J]uter Measurement&Control,2007,15(3):302?304.

[4]劉小強,粟梅.基於CAN匯流排的資料採集處理系統的設計[J].儀表技術與感測器,2006(9):22? Xiao-qiang,SU gn of data acquisition systembased on CAN fieldbus[J]rument Technique and Sensor,2006(9):22?24.

[5]曹小華,趙成,陶德罄.基於現場匯流排CAN的實時監控系統研究與設計[J].武漢理工大學學報,2005,29(6):910? Xiao-hua,ZHAO Cheng,TAO arch anddesign of real-time supervisory control system based on CANfieldbus[J]nal of Wuhan University of Technology,2005,29(6):910?916.

[6]王永翔,王立德.多播互動式CAN匯流排與乙太網網際網路關設計[J].電子測量與儀器學報,2007,21(3):83? Yong-xiang,WANG gn of multicast andswitch gateway between CAN field bus and Ethernet[J]nalof Electronic Measure and Instrument,2007,21(3):83?87.

[7]劉暾東,謝維盛,蔡崗全rnet/IP通訊介面卡的設計與實現[J].儀器儀表學報,2008,29(10):2220? Tun-dong,XIE Wei-sheng,CAI gn andrealization of Ethernet/IP communication adapter[J]eseJournal of Scientific Instrument,2008,29(10):2220?2224