《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于CAN總線的嵌入式水位監(jiān)測系統(tǒng)設計
基于CAN總線的嵌入式水位監(jiān)測系統(tǒng)設計
電子設計工程
馬福昌 楊少峰
摘要: 基于CAN總線的嵌入式水位監(jiān)測系統(tǒng)設計,針對隧道內(nèi)多點水位信息的采集,,提出了一種基于CAN總線的嵌入式水位監(jiān)測系統(tǒng)的設計方案,。該系統(tǒng)由監(jiān)測終端層和監(jiān)測服務器組成,監(jiān)測終端采用以ARM內(nèi)核32位嵌入式微處理器LPC2368為核心的硬件平臺,通過在微處理器上移植實時操作系統(tǒng)μC/OS-Ⅱ進行任務的調(diào)度和管理,,提高系統(tǒng)的穩(wěn)定性和實時性,;而監(jiān)測服務器為工控機上運行的監(jiān)控軟件,,將iCAN協(xié)議應用到水位監(jiān)測系統(tǒng),,實現(xiàn)水位監(jiān)測的總線網(wǎng)絡化。實驗結(jié)果表明:該系統(tǒng)可通過1根雙絞線在6km范圍內(nèi)實時監(jiān)測63個節(jié)點的水位信息,。與傳統(tǒng)方法相比,,該系統(tǒng)設計在穩(wěn)定性和低成本上具有明顯優(yōu)勢。
Abstract:
Key words :

針對封閉式引水隧道內(nèi)多點水位信息的實時,、準確的采集,,提出基于CAN總線" title="CAN總線">CAN總線的嵌入式" title="嵌入式">嵌入式水位監(jiān)測系統(tǒng)" title="監(jiān)測系統(tǒng)">監(jiān)測系統(tǒng)設計思想,集總線技術(shù),、單片機技術(shù)于一體,,實現(xiàn)了對多點水位信息的采集、計算,、儲存,、發(fā)送等處理功能。使用iCAN協(xié)議,,使水位監(jiān)測點可以對多點水位信息進行集中控制采集,,可實時準確地掌握隧道內(nèi)多點水位信息。

1 系統(tǒng)總體方案設計
1.1 系統(tǒng)基本結(jié)構(gòu)

    嵌入式水位監(jiān)測系統(tǒng)由數(shù)據(jù)監(jiān)測終端,、上位機監(jiān)測服務器和CAN總線網(wǎng)絡組成,,系統(tǒng)總體結(jié)構(gòu)框圖如圖l所示。


    系統(tǒng)采用分布式集中管理的結(jié)構(gòu),,分為2層:1)第1層是數(shù)據(jù)采集終端層,。數(shù)據(jù)采集終端通過水位傳感器對水位信息進行采樣,通過CAN總線接口與第2層進行通信,;2)第2層是監(jiān)測管理層,。第1層通過CAN總線延長通信距離,再經(jīng)過CAN適配卡與第2層的監(jiān)測服務器相連,。一臺監(jiān)測服務器可以管理多個數(shù)據(jù)采集終端,。
    在網(wǎng)絡中的監(jiān)測終端可以獨立的對傳感器進行數(shù)據(jù)采集、計算,、儲存等,,監(jiān)測服務器可以通過CAN總線和各個監(jiān)測點之間進行實時通信,,接收監(jiān)測終端的水位信息向監(jiān)測終端發(fā)出查詢指令。通過iCAN協(xié)議實現(xiàn)監(jiān)測節(jié)點的分散監(jiān)測和集中管理,。當系統(tǒng)需要增加監(jiān)測節(jié)點時,可以直接將其掛在CAN網(wǎng)絡上,,對系統(tǒng)其他節(jié)點不會有任何影響,。
1.2 監(jiān)測終端硬件電路設計
   
監(jiān)測終端的硬件結(jié)構(gòu)框圖如圖2所示,主要包括微處理器,、數(shù)據(jù)存儲電路,、鍵盤和顯示電路以及CAN收發(fā)等電路。微處理器采用基于ARM7 TDMI核的32位RISC芯片LPC2368,,其內(nèi)置2路CAN控制器,,通過外接CAN收發(fā)器可方便的進行CAN數(shù)據(jù)收發(fā)。傳感器輸出的信號經(jīng)過濾波和調(diào)理轉(zhuǎn)換為所需要的電信號,。采用12位低功耗,、串行輸出模數(shù)轉(zhuǎn)換器TLC2574采集電壓信號,使監(jiān)測終端能準確,、穩(wěn)定地采集電壓信號,。


1.2.1 器件選型
   
為提高系統(tǒng)的實時性和可靠性,監(jiān)測終端選用可移植嵌入式操作系統(tǒng)的ARM7 TDMI內(nèi)核的32位RISC芯片LPC2368,。LPC2368是一款功能強大的超低功耗ARM7TDMIS內(nèi)核的32位微控制器,,最高支持72MHz工作頻率,片內(nèi)有Flash 512KB,,ROM 56KB,,集成10/100全雙工Ethemet MAC,2個兼容CAN2.0A/2.OB的CAN控制器,,帶RMII接口,,其性能穩(wěn)定、功能強大,,廣泛應用于協(xié)議轉(zhuǎn)換,、通信、工業(yè)控制領(lǐng)域,。應用LPC2368開發(fā)監(jiān)測終端可以有效控制成本,。工業(yè)網(wǎng)絡需要強穩(wěn)定性,但實驗證明超過60%的總線帶寬使用率就會造成沖突,。1根AHB總線是完全不夠的,,而LPC2368具有雙總線機制和DMA協(xié)處理機制。任何一根總線都可以通過總線橋與其余總線通信,,消除了通信瓶頸,。
1.2.2 CAN總線接口硬件設計
   
通過CAN總線通信接口可使各監(jiān)測終端和監(jiān)控計算機通信,,實現(xiàn)監(jiān)測終端的數(shù)據(jù)共享。CAN總線接口硬件電路如圖3所示,。


    LPC2368內(nèi)部集成有2個兼容CAN2.0/2.0B的CAN控制器,,只需增加一個CAN總線收發(fā)器就能滿足設計要求。CTM8251T是一款帶隔離的通用CAN收發(fā)器,,該器件內(nèi)部集成了所需的CAN隔離及CAN收,、發(fā)器,它可以將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,,將CAN總線差分電平轉(zhuǎn)換成邏輯電平,,具有DC 2 500 V的隔離功能和CAN總線過壓保護功能,而且在某一節(jié)點掉電時不會影響總線,。
    各個監(jiān)測終端間通過帶屏蔽雙絞線構(gòu)成CAN總線網(wǎng)絡,,總線兩端連接120 Ω的匹配電阻,用于提高系統(tǒng)的穩(wěn)定性,、增強系統(tǒng)的抗干擾能力,。
1.2.3 嵌入式終端電源電路設計
   
基于ARM內(nèi)核的微處理器的嵌入式系統(tǒng)性能在很大程度上取決于電源電路的穩(wěn)定性和可靠性,因此設計穩(wěn)定可靠的電源非常重要,。LPC23 68有數(shù)字電源輸入和模擬電源輸入2種,,分別是+3.3 V和-3.3 V,另外CAN收發(fā)器的供電電壓為+5 V,。系統(tǒng)電源采用LM2576系列穩(wěn)壓器,,把外部直流電源穩(wěn)壓成+5 V電源,為CAN收發(fā)器提供電源,。采用SPXlll7把+5 V電源穩(wěn)壓成2路+3.3 V電源,,以提供LPC2368的數(shù)字和模擬電源,數(shù)字電源和模擬電源之間通過磁珠隔離,。

2 系統(tǒng)軟件設計
   
系統(tǒng)軟件設計部分包括2方面:1)監(jiān)測終端軟件設計,,主要是對傳感器的數(shù)據(jù)采集和處理,完成與上位機之間的數(shù)據(jù)通信功能,;2)上位機軟件設計,,主要包括CAN節(jié)點初始化、報文發(fā)送和報文接收,。
2.1 監(jiān)測終端軟件設計
   
監(jiān)測終端軟件主要由啟動代碼,、斷處理、實時操作系統(tǒng),、設備驅(qū)動和應用程序組成,。啟動代碼完成啟動、初始化硬件,、引導系統(tǒng)正常運行等工作,。實時操作系統(tǒng)μC/OS-Ⅱ是系統(tǒng)運行的指揮中心,,完成任務調(diào)度和資源分配等工作。設備驅(qū)動是操作系統(tǒng)上層應用軟件和下層硬件的聯(lián)系,,本設計主要包括CAN控制器驅(qū)動,、A/D采集驅(qū)動等。上層應用程序基于以上各個模塊,,完成用戶要實現(xiàn)的各種功能,,通常按功能分成多個模塊。本設計中主要包括傳感器數(shù)據(jù)采集模塊,、參數(shù)設置模塊、CAN通信模塊,。由表1所列的任務完成以上模塊功能,。


2.1.1 定時數(shù)據(jù)采集
   
定時數(shù)據(jù)采集模塊負責定時采集傳感器的信號。A/D轉(zhuǎn)換由定時器產(chǎn)生周期中斷標志觸發(fā),,當采樣完1個周期后,,由中斷服務程序發(fā)給Task_AD發(fā)送信號量,Task_AD收到信號量后,,將數(shù)據(jù)進行相應的處理,。
2.1.2 CAN收發(fā)子程序
   
CAN協(xié)議是建立在ISO的開放系統(tǒng)互聯(lián)模型的基礎(chǔ)上的,取其中的3層:物理層,、數(shù)據(jù)鏈路層和應用層,。物理層和數(shù)據(jù)鏈路層的功能可由CAN接口芯片實現(xiàn),而應用層的功能則要靠應用程序完成,。CAN總線接口通信模塊是接收和發(fā)送CAN總線數(shù)據(jù),。主要操作包括CAN控制器初始化和CAN總線上接收和發(fā)送數(shù)據(jù)的操作。
    CAN收發(fā)子程序主要完成CAN控制器的初始化和CAN數(shù)據(jù)的接收,、發(fā)送,。CAN控制器的初始化主要是給相應的寄存器寫入一定的數(shù)值以完成各種參數(shù)的設置,如波特率,、位周期寬度,、采樣點位置等。
    CAN控制器有3個獨立的發(fā)送緩沖寄存器,,發(fā)送時要判斷緩沖空閑,。本設計中,先判斷第一主發(fā)送緩沖區(qū),,然后進行數(shù)據(jù)格式轉(zhuǎn)換,,啟動發(fā)送數(shù)據(jù)。接收采用中斷方式,。報文發(fā)送,、接收數(shù)據(jù)流程如圖4所示,。


2.1.3 iCAN協(xié)議報文處理
    iCAN協(xié)議為CAN總線的應用層協(xié)議。該協(xié)議是基于CAN的內(nèi)部通信協(xié)議,,小巧,、通信效率高,對硬件資源要求低,,適用于小型系統(tǒng),。系統(tǒng)中的設備統(tǒng)稱為iCAN節(jié)點。iCAN協(xié)議定義的通信方式是“面向節(jié)點,,基于連接”的通信方式,。“面向節(jié)點”是指源節(jié)點地址及目的節(jié)點地址均已給定,即對于任何一個報文參與通信的雙方是確定的,。“基于連接”是指在網(wǎng)絡中任何一個參與通信的從站設備都必須和主站設備之間建立一個獨立的通信連接,。這樣也為對任何一個設備的通信進行監(jiān)控提供可能。
    iCAN協(xié)議使用了擴展幀格式CAN報文,,對CAN報文的29位標識符和報文數(shù)據(jù)都做了詳細規(guī)定,。報文標識符制定了數(shù)據(jù)通信中的源節(jié)點MACID和目標節(jié)點MACID,并指示了報文的功能以及所要訪問的資源,。報文標識符被分為5個部分:SrcMACID(源節(jié)點編號),、De2stMACID(目標節(jié)點編號)、ACK位,、FUNC ID(功能碼),、Source ID(資源節(jié)點編號)。
    監(jiān)測終端要收發(fā)的數(shù)據(jù)必須符合iCAN協(xié)議報文的格式,,先要把CAN的數(shù)據(jù)轉(zhuǎn)換成符合iCAN協(xié)議格式的報文,,再通過CAN的首發(fā)子程序接收和發(fā)送。
2.2 上位機管理軟件設計
   
完成上述設計后,,在計算機端還需要一套水位監(jiān)測系統(tǒng)管理軟件,,以實現(xiàn)網(wǎng)絡數(shù)據(jù)采集、與數(shù)據(jù)庫的連接和數(shù)據(jù)實時查詢等功能,。上位機軟件流程如圖5所示,。


    監(jiān)測終端采集傳感器信號,實時獲得水位數(shù)據(jù)并通過ZOPC_SERVER服務器傳輸?shù)娇蛻舳薑ingVIEW,,同時KingVIEW作為服務器提供數(shù)據(jù)給SQL數(shù)據(jù)庫,。在KingVIEW的圖形化界面上既可以顯示實時水位數(shù)據(jù),又可以查看歷史水位數(shù)據(jù),。

3 結(jié)束語
   
實驗結(jié)果表明:該系統(tǒng)可通過1根雙絞線在通信速率為9 600 b/s的情況下,,可在6 km范圍內(nèi)實時監(jiān)測63個節(jié)點的水位信息。此嵌入式水位監(jiān)測系統(tǒng)可應用在基于ARM7核心的多點水位監(jiān)測的工廠、城市供水,、隧道等場合,。本系統(tǒng)可以實現(xiàn)水位信息采集的現(xiàn)場總線通信,使各節(jié)點連接在總線網(wǎng)絡上,,實時獲取水位信息,,方便數(shù)據(jù)庫的管理和更新,可進行數(shù)據(jù)庫的定點定時水位查詢,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。