- 相關(guān)推薦
論基于CAN總線(xiàn)與以太網(wǎng)互聯(lián)的實(shí)時(shí)溫度和濕度監控系統的研究
CAN(Controller area network)即控制器局域網(wǎng),是國際上應用最廣泛的現場(chǎng)總線(xiàn)之一。起先CAN-bus被設計作為汽車(chē)環(huán)境中的微控制器通訊,在車(chē)載的各電子控制裝置(ECU)之間交換信息形成汽車(chē)電子控制網(wǎng)絡(luò )。作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠程網(wǎng)絡(luò )通訊控制方式,CAN-bus已被廣泛應用于各個(gè)自動(dòng)化控制系統中。
從高速的網(wǎng)絡(luò )到低價(jià)位的多路接線(xiàn)都可以使用CAN-bus。例如,在自動(dòng)控制、智能大廈、電力系統、安防監控等各領(lǐng)域,CAN-bus都具有不可比擬的優(yōu)越性。工業(yè)控制系統的分布化、智能化、信息化發(fā)展,要求企業(yè)從現場(chǎng)控制層到管理層實(shí)現全面無(wú)縫信息集成。工業(yè)以太網(wǎng)滿(mǎn)足這一要求,實(shí)現了工業(yè)控制網(wǎng)絡(luò )與企業(yè)信息網(wǎng)絡(luò )的無(wú)縫連接,成為控制網(wǎng)絡(luò )發(fā)展的主要方向,為全分散智能控制網(wǎng)絡(luò )系統實(shí)現遠程控制提供了可能[1]。本文作者主要介紹基于CAN總線(xiàn)與以太網(wǎng)互聯(lián)的實(shí)時(shí)溫度、濕度監控系統,從而實(shí)現監控設備的網(wǎng)絡(luò )化和智能化。
1、系統介紹
1.1 CAN總線(xiàn)與互聯(lián)網(wǎng)互聯(lián)的發(fā)展狀況CAN總線(xiàn)是一種有效支持分布式控制的串行通信網(wǎng)絡(luò ),是德國B(niǎo)OSCH公司從20世紀80年代初為解決現代汽車(chē)中眾多的控制與測試儀器之間的數據交換而設計的一種串行數據通信協(xié)議,歷經(jīng)技術(shù)規范2.0A和2.0B后已形成CAN國際標準(ISO11898)
CAN遵循OSI模型,按照OSI基準模型,CAN機構分為2層:數據鏈路層和物理層。按照IEEE802.2和802.3標準,數據鏈路層又劃分為邏輯鏈路控制層(LLC)和媒體訪(fǎng)問(wèn)控制層(MAC);物理層又劃分為物理信令層(PLS)、物理媒體附屬裝置層(PMA)和媒體相關(guān)接口層(MDI)。由于CAN具有獨特的優(yōu)點(diǎn),使得它在工業(yè)領(lǐng)域中得到廣泛應用。
目前,基于CAN總線(xiàn)獲得廣泛應用的應用層協(xié)議有DeviceNet和CANOpen等。CAN具有以下主要特點(diǎn)[2]:(1)CAN為多主工作方式,網(wǎng)絡(luò )上任一節點(diǎn)均可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò )上其他節點(diǎn)送信息,而不分主從;
(2)在報文標識符上,CAN上的節點(diǎn)分成不同的優(yōu)先級,可滿(mǎn)足不同的實(shí)時(shí)要求;
(3)CAN采用非破壞總線(xiàn)仲裁技術(shù)。當多個(gè)節點(diǎn)同時(shí)向總線(xiàn)發(fā)送信息出現沖突時(shí),優(yōu)先級較低的節點(diǎn)會(huì )主動(dòng)地退出發(fā)送,而最高優(yōu)先級的節點(diǎn)可不受影響地繼續傳輸數據,從而大大節省了總線(xiàn)沖突仲裁時(shí)間;(4)CAN節點(diǎn)只需通過(guò)對報文標識符濾波即可實(shí)現點(diǎn)對點(diǎn)、一對多點(diǎn)及全局廣播幾種方式傳送接收數據;(5)CAN報文采用短幀結構,傳輸時(shí)間短,受干擾概率低,保證了數據出錯率極低;
(6)CAN節點(diǎn)在錯誤嚴重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線(xiàn)上其他節點(diǎn)的操作不受影響。
現場(chǎng)總線(xiàn)網(wǎng)絡(luò )與工業(yè)以太網(wǎng)的結合使得企業(yè)的管理可以深入到測控現場(chǎng),在這種互聯(lián)方式下,由以太網(wǎng)構建信息網(wǎng),通過(guò)兩者的有機聯(lián)接,從而構成一個(gè)中型/大型的遠程監控/數據傳輸網(wǎng)絡(luò )[3]。
1.2系統架構系統由溫度、濕度測控器、CAN以太網(wǎng)通信轉換器、服務(wù)器和客戶(hù)端組成,如圖1所示。
溫度、濕度測控器主要負責現場(chǎng)溫度、濕度數據的采集、處理、控制、顯示、報警以及通過(guò)CAN總線(xiàn)與通信轉換器進(jìn)行數據交換。
CAN、以太網(wǎng)通信轉換器主要負責CAN總線(xiàn)數據的發(fā)送和接收,并將CAN的數據通過(guò)局域網(wǎng)發(fā)送到服務(wù)器上。
服務(wù)器負責監控結果數據的存儲和報表的存儲,同時(shí),向客戶(hù)端提供訪(fǎng)問(wèn)服務(wù)。
客戶(hù)端通過(guò)瀏覽器上因特網(wǎng)訪(fǎng)問(wèn)服務(wù)器上的數據并進(jìn)行通信和控制。
2、硬件設計溫度、濕度測控器主要分為數據采集、控制和CAN總線(xiàn)通訊3部分
溫度、濕度測控器的溫度、濕度傳感器采用瑞士圖2溫度、濕度測控器的硬件框圖Fig.2 Structure of temperature and humidity controllerSENSIRION公司的SHT10,傳感器包括1個(gè)電容式聚合體測濕元件和1個(gè)能隙式測溫元件,并與1個(gè)14位A/D轉換器以及串行接口電路在同一芯片上實(shí)現無(wú)縫連接。SHT10具有超快響應、抗干擾能力強等優(yōu)點(diǎn)。
每個(gè)SHT10傳感器都在極精確的濕度校驗室中進(jìn)行校準。校準系數以程序的形式儲存在OTP內存中,傳感器內部在檢測信號的處理過(guò)程中要調用這些校準系數。兩線(xiàn)制串行接口和內部基準電壓,使系統集成變得簡(jiǎn)易快捷。溫度、濕度測控器的MCU采用微芯公司的PIC18F2580,它是整個(gè)溫度、濕度測控器的運算控制單元,它采用16位的RISC指令系統、哈佛總線(xiàn)結構、兩級流水線(xiàn)取指等技術(shù),具有32 KB快閃存內存、4 KB的RAM、片內看門(mén)狗、內部EEPROM、CAN控制器等豐富的片內資源,抗抗干擾性能強,功耗低,速度高[4]。PIC18F2580主要負責數據采集與控制,并與通信轉換層適配器進(jìn)行實(shí)時(shí)CAN總線(xiàn)數據的通信。
CAN與以太網(wǎng)通信轉換層硬件框圖如圖3所示,它的處理器采用NXP公司的ARM7TDMI-S核的單片機LPC2378,是一款支持實(shí)時(shí)仿真和嵌入式跟蹤的16/32位ARM7TDMI-S CPU,處理器時(shí)鐘高達72MHz。片內含有高達512 KB的片內Flash和58 KB的片內SRAM存儲器,具有強大的通信接口:10/100M以太網(wǎng)媒體訪(fǎng)問(wèn)控制器(MAC),2路CAN-bus接口。
增強型外設4個(gè)32位捕獲/比較定時(shí)器、1個(gè)帶有2 KB電池SRAM的低功耗實(shí)時(shí)時(shí)鐘、看門(mén)狗定時(shí)器和1個(gè)片內4 MHz的RC振蕩器。LPC2378的強大功能為CAN和以太網(wǎng)的通信轉換帶來(lái)了極大方便[5]。
3、軟件設計軟件設計的對象主要包括3部分:溫度、濕度測控器的檢測控制和CAN通信,CAN以太網(wǎng)通信轉換,B/S平臺。
3.1溫度、濕度測控器的軟件設計溫度、濕度測控器的軟件流程
它主要包括初始化子程序、CAN數據的接收和發(fā)送程序、顯示程序、鍵盤(pán)掃描程序、控制程序。CAN數據的接收和發(fā)送對實(shí)時(shí)性要求比較高,故采用中斷方式進(jìn)行處理。微處理器PIC18F2580在程序開(kāi)始首先要對CAN控制器模塊進(jìn)行初始化。主要通過(guò)測控器本身的地址標識的讀取來(lái)對CAN控制器的過(guò)濾器和屏蔽器進(jìn)行配置。屏蔽器用于確定標識符中的哪一位被過(guò)濾器檢查,這樣,一旦1條有效的信息被信息緩沖器MAB接收,信息的標識符區域將與過(guò)濾器值相比較,若相匹配,則信息將被裝入接收緩沖器。微控制器收到CAN數據后,根據相應命令進(jìn)行相應動(dòng)作,如設置相應報警溫度濕度、執行相應控制等,然后,做出相應的應答。
控制程序主要是通過(guò)串行接口對SHT10進(jìn)行數據讀取,并把讀取數據與設定數據進(jìn)行比較,運用bang-bang控制通過(guò)驅動(dòng)電路控制中央空調,使得房間保持一定的溫度和濕度。3.2 CAN與以太網(wǎng)通信轉換軟件設計3.2.1 LPC2378的CAN控制器與CAN總線(xiàn)間的數據傳輸LPC2378的CAN控制器帶有1個(gè)完整的發(fā)送和接收緩沖器串行接口,它是1個(gè)雙重接收緩沖器,有了這個(gè)雙重的接收緩沖器,芯片可以在對1個(gè)報文進(jìn)行處理時(shí),可接收另一個(gè)報文,但它不含有驗收濾波器。驗收濾波器是獨立的器件,它對所有CAN通道進(jìn)行CAN標識符過(guò)濾。
數據從CAN控制器發(fā)送到CAN總線(xiàn)由CAN控制器自動(dòng)完成。發(fā)送程序采用中斷方式,中斷方式發(fā)送程序分為發(fā)送主程序和中斷服務(wù)程序。主程序用于控制信息的發(fā)送,中斷服務(wù)程序負責發(fā)送臨時(shí)存儲區中的暫存信息。中斷流程圖見(jiàn)圖5。
μC/OS-Ⅱ是一個(gè)包含時(shí)間管理、任務(wù)調度等基本功能的小型、輕量級的嵌入式實(shí)時(shí)操作系統的內核,而且LPC2378是基于A(yíng)RMTDMI的ARM的內核,其內核與存儲器結構都很適合操作系統的運行[6]。
以太網(wǎng)控制器采用uC/IP的協(xié)議棧,主要使用TCP/IP協(xié)議。TCP/IP是面向連接的協(xié)議,它在2個(gè)TCP之間創(chuàng )建1條虛連接,TCP在運輸層使用流量控制和差錯控制機制來(lái)保證數據的可靠性[7]。TCP提供全雙工服務(wù),即數據可在同一時(shí)間雙向流動(dòng)?刂破髯鳛榭蛻(hù)端發(fā)起連接。通過(guò)TCP/IP數據的收發(fā)中斷見(jiàn)圖6。
對于TCP數據包,LCP2378取出數據,并存入數據區,對數據進(jìn)行相應分析后,通過(guò)CAN控制器發(fā)到CAN總線(xiàn)上,對于從CAN總線(xiàn)上接收的數據,同樣存入相應數據區,將數據按照TCP/IP進(jìn)行封裝發(fā)送。
圖6與以太網(wǎng)通信的中斷方式的數據收發(fā)Fig.6 Data exchange with Ethernet through Interruption4實(shí)驗測試系統研制成功后,與多個(gè)帶有32個(gè)節點(diǎn)CAN總線(xiàn)子網(wǎng)系統和以太網(wǎng)環(huán)境中進(jìn)行測試。主要針對TCP/IP協(xié)議和CAN協(xié)議的數據通信實(shí)現對其性能和穩定性進(jìn)行驗證。圖7所示為使用ZLGCANTest工具監測到的數據截圖。
圖7 CAN總線(xiàn)數據截圖Fig.7 CAN field bus screenshot整個(gè)系統正式投入運行后,到目前為止已經(jīng)投入運行半年時(shí)間,系統運行穩定,沒(méi)有出現數據丟失或者由于總線(xiàn)沖突導致的節點(diǎn)自動(dòng)脫離總線(xiàn)的現象。
4、結論
(1)所設計的基于CAN總線(xiàn)與以太網(wǎng)互聯(lián)的實(shí)時(shí)溫度、濕度監控系統在某數據中心得到應用,系統中采用的底層使用CAN總線(xiàn)通信,中間層使用以太網(wǎng)通信,上層通過(guò)服務(wù)器與因特網(wǎng)連接,經(jīng)過(guò)長(cháng)時(shí)間的測試和運行,并與其他通信方式相比較,CAN總線(xiàn)通信方式穩定性良好,可靠性高。
(2)由于原數據中心測控裝置分布較分散,房間數量多,導致房間溫度、濕度控制不穩定甚至導致事故發(fā)生。采用該系統以后,不僅所有的房間溫度、濕度可以乾地遠程實(shí)時(shí)監控,而且整個(gè)測控系統的穩定性、準確性大大提高。
(3)實(shí)踐證明,基于CAN總線(xiàn)與以太網(wǎng)互聯(lián)的實(shí)時(shí)監控系統的系統是可行的,符合未來(lái)監控技術(shù)的發(fā)展趨勢。另外,該系統也可以應用于其他需要實(shí)時(shí)監控的領(lǐng)域。
參考文獻:
[1]鄔寬明.CAN總線(xiàn)原理與應用系統設計[M].北京:北京航空航天大學(xué)出版社,1996.WU Kuan-ming.The theory and application system design ofCAN bus[M].Beijing:Beihang University Presss,1996.
[2]饒運濤,鄒繼軍,鄭勇蕓.現場(chǎng)總線(xiàn)CAN原理與應用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2003.RAO Yun-tao,ZOU Ji-jun,ZHENG Yong-yun.The theory andapplication system design of CAN bus[M].Beijing:BeihangUniversity Presss,2003.
[3]XU Jian-ning,LIU Wei-dong,JI Yan-peng,et al.Remotemeasuring and controlling system based on Ethernet and CANbus[J].Computer Measurement&Control,2007,15(3):302?304.
[4]劉小強,粟梅.基于CAN總線(xiàn)的數據采集處理系統的設計[J].儀表技術(shù)與傳感器,2006(9):22?24.LIU Xiao-qiang,SU Mei.Design of data acquisition systembased on CAN fieldbus[J].Instrument Technique and Sensor,2006(9):22?24.
[5]曹小華,趙成,陶德罄.基于現場(chǎng)總線(xiàn)CAN的實(shí)時(shí)監控系統研究與設計[J].武漢理工大學(xué)學(xué)報,2005,29(6):910?916.CAO Xiao-hua,ZHAO Cheng,TAO De-qing.Research anddesign of real-time supervisory control system based on CANfieldbus[J].Journal of Wuhan University of Technology,2005,29(6):910?916.
[6]王永翔,王立德.多播交互式CAN總線(xiàn)與以太網(wǎng)互聯(lián)網(wǎng)關(guān)設計[J].電子測量與儀器學(xué)報,2007,21(3):83?87.WANG Yong-xiang,WANG Li-de.Design of multicast andswitch gateway between CAN field bus and Ethernet[J].Journalof Electronic Measure and Instrument,2007,21(3):83?87.
[7]劉暾東,謝維盛,蔡崗全.Ethernet/IP通信適配器的設計與實(shí)現[J].儀器儀表學(xué)報,2008,29(10):2220?2224.LIU Tun-dong,XIE Wei-sheng,CAI Gang-quan.Design andrealization of Ethernet/IP communication adapter[J].ChineseJournal of Scientific Instrument,2008,29(10):2220?2224
【論基于CAN總線(xiàn)與以太網(wǎng)互聯(lián)的實(shí)時(shí)溫度和濕度監控系統的研究】相關(guān)文章:
論基于CAN總線(xiàn)與以太網(wǎng)互聯(lián)的實(shí)時(shí)溫度和濕度監控系統的研究與設03-27
基于LonWorks現場(chǎng)總線(xiàn)的機房監控系統03-19
基于CAN總線(xiàn)的EV電控系統通信的設計與開(kāi)發(fā)03-19
基于USB總線(xiàn)的實(shí)時(shí)數據采集系統設計與實(shí)現03-19
基于CAN總線(xiàn)的工業(yè)通訊網(wǎng)絡(luò )系統的設計與實(shí)現03-07