- 相關(guān)推薦
基于CAN總線與以太網(wǎng)互聯(lián)的實(shí)時(shí)溫度和濕度監(jiān)控系統(tǒng)的研究與設(shè)計(jì)
can(controller area network)即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。起先can-bus被設(shè)計(jì)作為汽車(chē)環(huán)境中的微控制器通訊,在車(chē)載的各電子控制裝置(ecu)之間交換信息形成汽車(chē)電子控制網(wǎng)絡(luò)。作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,can-bus已被廣泛應(yīng)用于各個(gè)自動(dòng)化控制系統(tǒng)中。
從高速的網(wǎng)絡(luò)到低價(jià)位的多路接線都可以使用can-bus。例如,在自動(dòng)控制、智能大廈、電力系統(tǒng)、安防監(jiān)控等各領(lǐng)域,can-bus都具有不可比擬的優(yōu)越性。工業(yè)控制系統(tǒng)的分布化、智能化、信息化發(fā)展,要求企業(yè)從現(xiàn)場(chǎng)控制層到管理層實(shí)現(xiàn)全面無(wú)縫信息集成。工業(yè)以太網(wǎng)滿足這一要求,實(shí)現(xiàn)了工業(yè)控制網(wǎng)絡(luò)與企業(yè)信息網(wǎng)絡(luò)的無(wú)縫連接,成為控制網(wǎng)絡(luò)發(fā)展的主要方向,為全分散智能控制網(wǎng)絡(luò)系統(tǒng)實(shí)現(xiàn)遠(yuǎn)程控制提供了可能[1]。本文作者主要介紹基于can總線與以太網(wǎng)互聯(lián)的實(shí)時(shí)溫度、濕度監(jiān)控系統(tǒng),從而實(shí)現(xiàn)監(jiān)控設(shè)備的網(wǎng)絡(luò)化和智能化。
1系統(tǒng)介紹
1.1can總線與互聯(lián)網(wǎng)互聯(lián)的發(fā)展?fàn)顩rcan總線是一種有效支持分布式控制的串行通信網(wǎng)絡(luò),是德國(guó)bosch公司從20世紀(jì)80年代初為解決現(xiàn)代汽車(chē)中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而設(shè)計(jì)的一種串行數(shù)據(jù)通信協(xié)議,歷經(jīng)技術(shù)規(guī)范2.0a和2.0b后已形成can國(guó)際標(biāo)準(zhǔn)(iso11898)
。can遵循osi模型,按照osi基準(zhǔn)模型,can機(jī)構(gòu)分為2層:數(shù)據(jù)鏈路層和物理層。按照ieee802.2和802.3標(biāo)準(zhǔn),數(shù)據(jù)鏈路層又劃分為邏輯鏈路控制層(llc)和媒體訪問(wèn)控制層(mac);物理層又劃分為物理信令層(pls)、物理媒體附屬裝置層(pma)和媒體相關(guān)接口層(mdi)。由于can具有獨(dú)特的優(yōu)點(diǎn),使得它在工業(yè)領(lǐng)域中得到廣泛應(yīng)用。
目前,基于can總線獲得廣泛應(yīng)用的應(yīng)用層協(xié)議有devicenet和canopen等。can具有以下主要特點(diǎn)[2]:
(1)can為多主工作方式,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其他節(jié)點(diǎn)送信息,而不分主從;
(2)在報(bào)文標(biāo)識(shí)符上,can上的節(jié)點(diǎn)分成不同的優(yōu)先級(jí),可滿足不同的實(shí)時(shí)要求;
(3)can采用非破壞總線仲裁技術(shù)。當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送信息出現(xiàn)沖突時(shí),優(yōu)先級(jí)較低的節(jié)點(diǎn)會(huì)主動(dòng)地退出發(fā)送,而最高優(yōu)先級(jí)的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總線沖突仲裁時(shí)間;
(4)can節(jié)點(diǎn)只需通過(guò)對(duì)報(bào)文標(biāo)識(shí)符濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一對(duì)多點(diǎn)及全局廣播幾種方式傳送接收數(shù)據(jù);
(5)can報(bào)文采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾概率低,保證了數(shù)據(jù)出錯(cuò)率極低;
(6)can節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響。
現(xiàn)場(chǎng)總線網(wǎng)絡(luò)與工業(yè)以太網(wǎng)的結(jié)合使得企業(yè)的管理可以深入到測(cè)控現(xiàn)場(chǎng),在這種互聯(lián)方式下,由以太網(wǎng)構(gòu)建信息網(wǎng),通過(guò)兩者的有機(jī)聯(lián)接,從而構(gòu)成一個(gè)中型/大型的遠(yuǎn)程監(jiān)控/數(shù)據(jù)傳輸網(wǎng)絡(luò)[3]。
1.2系統(tǒng)架構(gòu)系統(tǒng)由溫度、濕度測(cè)控器、can以太網(wǎng)通信轉(zhuǎn)換器、服務(wù)器和客戶端組成,如圖1所示。
溫度、濕度測(cè)控器主要負(fù)責(zé)現(xiàn)場(chǎng)溫度、濕度數(shù)據(jù)的采集、處理、控制、顯示、報(bào)警以及通過(guò)can總線與通信轉(zhuǎn)換器進(jìn)行數(shù)據(jù)交換。
can、以太網(wǎng)通信轉(zhuǎn)換器主要負(fù)責(zé)can總線數(shù)據(jù)的發(fā)送和接收,并將can的數(shù)據(jù)通過(guò)局域網(wǎng)發(fā)送到服務(wù)器上。
服務(wù)器負(fù)責(zé)監(jiān)控結(jié)果數(shù)據(jù)的存儲(chǔ)和報(bào)表的存儲(chǔ),同時(shí),向客戶端提供訪問(wèn)服務(wù)。
客戶端通過(guò)瀏覽器上因特網(wǎng)訪問(wèn)服務(wù)器上的數(shù)據(jù)并進(jìn)行通信和控制。
2硬件設(shè)計(jì)溫度、濕度測(cè)控器主要分為數(shù)據(jù)采集、控制和can總線通訊3部分
溫度、濕度測(cè)控器的溫度、濕度傳感器采用瑞士圖2溫度、濕度測(cè)控器的硬件框圖fig.2structure of temperature and humidity controllersensirion公司的sht10,傳感器包括1個(gè)電容式聚合體測(cè)濕元件和1個(gè)能隙式測(cè)溫元件,并與1個(gè)14位a/d轉(zhuǎn)換器以及串行接口電路在同一芯片上實(shí)現(xiàn)無(wú)縫連接。sht10具有超快響應(yīng)、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。
每個(gè)sht10傳感器都在極精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在otp內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過(guò)程中要調(diào)用這些校準(zhǔn)系數(shù)。兩線制串行接口和內(nèi)部基準(zhǔn)電壓,使系統(tǒng)集成變得簡(jiǎn)易快捷。溫度、濕度測(cè)控器的mcu采用微芯公司的pic18f2580,它是整個(gè)溫度、濕度測(cè)控器的運(yùn)算控制單元,它采用16位的risc指令系統(tǒng)、哈佛總線結(jié)構(gòu)、兩級(jí)流水線取指等技術(shù),具有32kb快閃存內(nèi)存、4kb的ram、片內(nèi)看門(mén)狗、內(nèi)部eeprom、can控制器等豐富的片內(nèi)資源,抗抗干擾性能強(qiáng),功耗低,速度高[4]。pic18f2580主要負(fù)責(zé)數(shù)據(jù)采集與控制,并與通信轉(zhuǎn)換層適配器進(jìn)行實(shí)時(shí)can總線數(shù)據(jù)的通信。
can與以太網(wǎng)通信轉(zhuǎn)換層硬件框圖如圖3所示,它的處理器采用nxp公司的arm7tdmi-s核的單片機(jī)lpc2378,是一款支持實(shí)時(shí)仿真和嵌入式跟蹤的16/32位arm7tdmi-s cpu,處理器時(shí)鐘高達(dá)72mhz。片內(nèi)含有高達(dá)512kb的片內(nèi)flash和58kb的片內(nèi)sram存儲(chǔ)器,具有強(qiáng)大的通信接口:10/100m以太網(wǎng)媒體訪問(wèn)控制器(mac),2路can-bus接口。
增強(qiáng)型外設(shè)4個(gè)32位捕獲/比較定時(shí)器、1個(gè)帶有2kb電池sram的低功耗實(shí)時(shí)時(shí)鐘、看門(mén)狗定時(shí)器和1個(gè)片內(nèi)4mhz的rc振蕩器。lpc2378的強(qiáng)大功能為can和以太網(wǎng)的通信轉(zhuǎn)換帶來(lái)了極大方便[5]。
3軟件設(shè)計(jì)軟件設(shè)計(jì)的對(duì)象主要包括3部分:溫度、濕度測(cè)控器的檢測(cè)控制和can通信,can以太網(wǎng)通信轉(zhuǎn)換,b/s平臺(tái)。
3.1溫度、濕度測(cè)控器的軟件設(shè)計(jì)溫度、濕度測(cè)控器的軟件流程
它主要包括初始化子程序、can數(shù)據(jù)的接收和發(fā)送程序、顯示程序、鍵盤(pán)掃描程序、控制程序。can數(shù)據(jù)的接收和發(fā)送對(duì)實(shí)時(shí)性要求比較高,故采用中斷方式進(jìn)行處理。微處理器pic18f2580在程序開(kāi)始首先要對(duì)can控制器模塊進(jìn)行初始化。主要通過(guò)測(cè)控器本身的地址標(biāo)識(shí)的讀取來(lái)對(duì)can控制器的過(guò)濾器和屏蔽器進(jìn)行配置。屏蔽器用于確定標(biāo)識(shí)符中的哪一位被過(guò)濾器檢查,這樣,一旦1條有效的信息被信息緩沖器mab接收,信息的標(biāo)識(shí)符區(qū)域?qū)⑴c過(guò)濾器值相比較,若相匹配,則信息將被裝入接收緩沖器。微控制器收到can數(shù)據(jù)后,根據(jù)相應(yīng)命令進(jìn)行相應(yīng)動(dòng)作,如設(shè)置相應(yīng)報(bào)警溫度濕度、執(zhí)行相應(yīng)控制等,然后,做出相應(yīng)的應(yīng)答。
控制程序主要是通過(guò)串行接口對(duì)sht10進(jìn)行數(shù)據(jù)讀取,并把讀取數(shù)據(jù)與設(shè)定數(shù)據(jù)進(jìn)行比較,運(yùn)用bang-bang控制通過(guò)驅(qū)動(dòng)電路控制中央空調(diào),使得房間保持一定的溫度和濕度。3.2can與以太網(wǎng)通信轉(zhuǎn)換軟件設(shè)計(jì)3.2.1lpc2378的can控制器與can總線間的數(shù)據(jù)傳輸lpc2378的can控制器帶有1個(gè)完整的發(fā)送和接收緩沖器串行接口,它是1個(gè)雙重接收緩沖器,有了這個(gè)雙重的接收緩沖器,芯片可以在對(duì)1個(gè)報(bào)文進(jìn)行處理時(shí),可接收另一個(gè)報(bào)文,但它不含有驗(yàn)收濾波器。驗(yàn)收濾波器是獨(dú)立的器件,它對(duì)所有can通道進(jìn)行can標(biāo)識(shí)符過(guò)濾。
數(shù)據(jù)從can控制器發(fā)送到can總線由can控制器自動(dòng)完成。發(fā)送程序采用中斷方式,中斷方式發(fā)送程序分為發(fā)送主程序和中斷服務(wù)程序。主程序用于控制信息的發(fā)送,中斷服務(wù)程序負(fù)責(zé)發(fā)送臨時(shí)存儲(chǔ)區(qū)中的暫存信息。中斷流程圖見(jiàn)圖5。
μc/os-ⅱ是一個(gè)包含時(shí)間管理、任務(wù)調(diào)度等基本功能的小型、輕量級(jí)的嵌入式實(shí)時(shí)操作系統(tǒng)的內(nèi)核,而且lpc2378是基于armtdmi的arm的內(nèi)核,其內(nèi)核與存儲(chǔ)器結(jié)構(gòu)都很適合操作系統(tǒng)的運(yùn)行[6]。
以太網(wǎng)控制器采用uc/ip的協(xié)議棧,主要使用tcp/ip協(xié)議。tcp/ip是面向連接的協(xié)議,它在2個(gè)tcp之間創(chuàng)建1條虛連接,tcp在運(yùn)輸層使用流量控制和差錯(cuò)控制機(jī)制來(lái)保證數(shù)據(jù)的可靠性[7]。tcp提供全雙工服務(wù),即數(shù)據(jù)可在同一時(shí)間雙向流動(dòng)?刂破髯鳛榭蛻舳税l(fā)起連接。通過(guò)tcp/ip數(shù)據(jù)的收發(fā)中斷見(jiàn)圖6。
對(duì)于tcp數(shù)據(jù)包,lcp2378取出數(shù)據(jù),并存入數(shù)據(jù)區(qū),對(duì)數(shù)據(jù)進(jìn)行相應(yīng)分析后,通過(guò)can控制器發(fā)到can總線上,對(duì)于從can總線上接收的數(shù)據(jù),同樣存入相應(yīng)數(shù)據(jù)區(qū),將數(shù)據(jù)按照tcp/ip進(jìn)行封裝發(fā)送。
圖6與以太網(wǎng)通信的中斷方式的數(shù)據(jù)收發(fā)fig.6 data exchange with ethernet through interruption4實(shí)驗(yàn)測(cè)試系統(tǒng)研制成功后,與多個(gè)帶有32個(gè)節(jié)點(diǎn)can總線子網(wǎng)系統(tǒng)和以太網(wǎng)環(huán)境中進(jìn)行測(cè)試。主要針對(duì)tcp/ip協(xié)議和can協(xié)議的數(shù)據(jù)通信實(shí)現(xiàn)對(duì)其性能和穩(wěn)定性進(jìn)行驗(yàn)證。圖7所示為使用zlgcantest工具監(jiān)測(cè)到的數(shù)據(jù)截圖。
圖7can總線數(shù)據(jù)截圖fig.7 can field bus screenshot整個(gè)系統(tǒng)正式投入運(yùn)行后,到目前為止已經(jīng)投入運(yùn)行半年時(shí)間,系統(tǒng)運(yùn)行穩(wěn)定,沒(méi)有出現(xiàn)數(shù)據(jù)丟失或者由于總線沖突導(dǎo)致的節(jié)點(diǎn)自動(dòng)脫離總線的現(xiàn)象。
5結(jié)論
(1)所設(shè)計(jì)的基于can總線與以太網(wǎng)互聯(lián)的實(shí)時(shí)溫度、濕度監(jiān)控系統(tǒng)在某數(shù)據(jù)中心得到應(yīng)用,系統(tǒng)中采用的底層使用can總線通信,中間層使用以太網(wǎng)通信,上層通過(guò)服務(wù)器與因特網(wǎng)連接,經(jīng)過(guò)長(zhǎng)時(shí)間的測(cè)試和運(yùn)行,并與其他通信方式相比較,can總線通信方式穩(wěn)定性良好,可靠性高。
(2)由于原數(shù)據(jù)中心測(cè)控裝置分布較分散,房間數(shù)量多,導(dǎo)致房間溫度、濕度控制不穩(wěn)定甚至導(dǎo)致事故發(fā)生。采用該系統(tǒng)以后,不僅所有的房間溫度、濕度可以乾地遠(yuǎn)程實(shí)時(shí)監(jiān)控,而且整個(gè)測(cè)控系統(tǒng)的穩(wěn)定性、準(zhǔn)確性大大提高。
(3)實(shí)踐證明,基于can總線與以太網(wǎng)互聯(lián)的實(shí)時(shí)監(jiān)控系統(tǒng)的系統(tǒng)是可行的,符合未來(lái)監(jiān)控技術(shù)的發(fā)展趨勢(shì)。另外,該系統(tǒng)也可以應(yīng)用于其他需要實(shí)時(shí)監(jiān)控的領(lǐng)域。
參考文獻(xiàn):
[1]鄔寬明.can總線原理與應(yīng)用系統(tǒng)設(shè)計(jì)[m].北京:北京航空航天大學(xué)出版社,1996.wu kuan-ming.the theory and application system design ofcan bus[m].beijing:beihang university presss,1996.
[2]饒運(yùn)濤,鄒繼軍,鄭勇蕓.現(xiàn)場(chǎng)總線can原理與應(yīng)用技術(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]劉小強(qiáng),粟梅.基于can總線的數(shù)據(jù)采集處理系統(tǒng)的設(shè)計(jì)[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]曹小華,趙成,陶德罄.基于現(xiàn)場(chǎng)總線can的實(shí)時(shí)監(jiān)控系統(tǒng)研究與設(shè)計(jì)[j].武漢理工大學(xué)學(xué)報(bào),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總線與以太網(wǎng)互聯(lián)網(wǎng)關(guān)設(shè)計(jì)[j].電子測(cè)量與儀器學(xué)報(bào),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ì)與實(shí)現(xiàn)[j].儀器儀表學(xué)報(bào),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總線與以太網(wǎng)互聯(lián)的實(shí)時(shí)溫度和濕度監(jiān)控系統(tǒng)的研究與設(shè)計(jì)】相關(guān)文章:
遠(yuǎn)程監(jiān)控系統(tǒng)中的CAN總線與以太網(wǎng)互聯(lián)設(shè)計(jì)04-29
基于CAN總線的機(jī)載通信系統(tǒng)協(xié)議設(shè)計(jì)04-30
基于CAN總線的小型無(wú)人機(jī)飛控系統(tǒng)設(shè)計(jì)04-28
基于CAN總線的分布式安全報(bào)警系統(tǒng)04-30
基于CAN總線和軟PLC的船舶輔鍋爐控制系統(tǒng)04-27
公路隧道實(shí)時(shí)監(jiān)控系統(tǒng)的研究04-26
基于CAN總線的軍用汽車(chē)控制系統(tǒng)數(shù)據(jù)傳輸研究04-26
基于互聯(lián)網(wǎng)的城市消防監(jiān)控系統(tǒng)研究04-27
基于CAN總線和虛擬儀器技術(shù)的汽車(chē)CAN節(jié)點(diǎn)測(cè)試儀設(shè)計(jì)04-27