摘? 要: 介紹了一種基于CAN-bus的分布式數(shù)據(jù)采集系統(tǒng),并將其應(yīng)用于蓄電池參數(shù)自動監(jiān)測系統(tǒng)中。該系統(tǒng)以AnyCAN嵌入式模塊為核心,采用CAN-bus通訊方式,以嵌入式μCOSII實時操作系統(tǒng)為軟件平臺。
關(guān)鍵詞: AnyCAN模塊;嵌入式系統(tǒng);驅(qū)動程序
?
蓄電池參數(shù)自動監(jiān)測在蓄電池使用中起著非常重要的作用,多種多樣的監(jiān)測儀器設(shè)備代替了大量的人工監(jiān)測手段,為監(jiān)測蓄電池組的參數(shù)提供了有力的技術(shù)保障。本文將對應(yīng)用于蓄電池參數(shù)自動監(jiān)測系統(tǒng)中的分布式數(shù)據(jù)采集器和CAN總線通訊的設(shè)計方案進(jìn)行深入的探討。
1 硬件系統(tǒng)設(shè)計
1.1 現(xiàn)場采集器
本系統(tǒng)硬件部分采用了AnyCAN一體化嵌入式CAN模塊作為核心器件。該模塊包含了CAN-bus數(shù)據(jù)采集節(jié)點的全部器件,模塊用金屬外殼整體灌封,有很好的抗干擾性能指標(biāo),模塊資源包含有A/D轉(zhuǎn)換器、IO端口等,現(xiàn)場采集器功能框圖如圖1所示,采集器需要采集蓄電池的電壓、溫度和液位信息,直接安裝在單節(jié)蓄電池上,使用蓄電池自身供電。
?
1.2 實際網(wǎng)絡(luò)構(gòu)建和設(shè)備選型
蓄電池參數(shù)采集系統(tǒng)中CAN-bus網(wǎng)絡(luò)連接節(jié)點數(shù)量為480個左右,由于受到CAN-bus物理層驅(qū)動能力(小于110節(jié)點)以及應(yīng)用協(xié)議規(guī)定的網(wǎng)絡(luò)容量(256節(jié)點)限制,在組網(wǎng)時需要把網(wǎng)絡(luò)劃分成若干個子網(wǎng)絡(luò)以滿足系統(tǒng)要求。網(wǎng)絡(luò)管理采用多通道CAN接口卡設(shè)備,每個通道管理一定數(shù)量的采集器,最終將數(shù)據(jù)匯總到統(tǒng)一的數(shù)據(jù)庫中。
在實際網(wǎng)絡(luò)中,選用2臺CANHub-AS4智能集線器把物理網(wǎng)絡(luò)分成8個獨立的物理子網(wǎng),可以把網(wǎng)絡(luò)劃分成多個互相隔離的管理區(qū)域,同時增強網(wǎng)絡(luò)負(fù)載能力,比使用一個獨立網(wǎng)絡(luò)有更好的安全性和隔離性。采用PCI9820I雙通道 CAN接口卡管理整個網(wǎng)絡(luò),如圖2所示。
數(shù)據(jù)采集網(wǎng)絡(luò)的整個工作過程是現(xiàn)場數(shù)據(jù)采集器通過A/D轉(zhuǎn)換器和數(shù)字端口采集各種傳感器的參數(shù),進(jìn)行數(shù)據(jù)的轉(zhuǎn)換后,以iCAN響應(yīng)報文通信方式上傳到監(jiān)控服務(wù)器。增加節(jié)點只需要將新的設(shè)備配置好參數(shù)并接入網(wǎng)絡(luò)即可。同時,數(shù)字化的網(wǎng)絡(luò)方案可方便實現(xiàn)與任何網(wǎng)絡(luò)互聯(lián)互通,例如加裝CAN-Ethnet轉(zhuǎn)換設(shè)備就可實現(xiàn)CAN-bus接入以太網(wǎng),加裝CAN-GPRS轉(zhuǎn)換設(shè)備就能實現(xiàn)超遠(yuǎn)程無線監(jiān)控功能。
1.3 采集器外圍硬件電路
1.3.1 電源升壓電路
電池的供電電壓在1.8~2.5V之間,而元器件通常需要5V供電電壓,需要使用升壓器件把電壓升至5V。本設(shè)計中使用二級升壓設(shè)計,第一級升壓電路可從最低0.9V升壓至3.3V,使用SP6648設(shè)計第一級升壓電路,該芯片為同步升壓開關(guān)電源芯片,效率可達(dá)94%,輸出電流400mA,輸出紋波小。
第二級電路從3.3V升至5V,使用電荷泵升壓器件CAT3200。由于采用電荷泵升壓方式,輸出具有更小的紋波。電荷泵升壓電路輸出電流較小,實際設(shè)計中,使用了兩組相同電荷泵的升壓電路分別為核心模塊和外圍電路供電,以保證提供足夠的電源裕量并且數(shù)字電路和模擬電路之間有較好的信號隔離,如圖3所示。
?
1.3.2 ADC基準(zhǔn)源
為了給ADC轉(zhuǎn)換器提供穩(wěn)定的基準(zhǔn)源,使用ADI公司的ADR525作為基準(zhǔn)源,該器件具有良好的溫度漂移特性,極低噪音。設(shè)計上配合運放電路設(shè)計成輸出2路基準(zhǔn)電壓,其中一路2.5V為ADC基準(zhǔn)值,另一路提供給溫度傳感器調(diào)理電路作為起始偏移電壓。
1.3.3 溫度傳感器信號調(diào)理
溫度傳感器使用LM35高精度線性溫度傳感器,在本項目中,需要測量溫度在10℃~50℃之間,精度可以達(dá)到0.25℃以上。LM35以10mV/℃輸出電壓,調(diào)理電路設(shè)計為4倍加法放大器兼濾波,得到40mV/℃的傳感器放大電壓輸出。起始偏電壓為運放的偏置靜態(tài)電壓,當(dāng)傳感器輸出為零時,偏置電壓使運放起始輸出電壓為一個很小的起始電壓值,以減小運放接近零電壓的非線性放大失真,電路如圖4所示。
2 軟件設(shè)計
2.1 iCAN協(xié)議報文處理流程
圖5描述了iCAN節(jié)點對于數(shù)據(jù)請求報文的一般處理過程。一旦請求被處理完后,會產(chǎn)生一個iCAN響應(yīng)報文。在報文處理時,主站設(shè)備根據(jù)對從站設(shè)備所需要的操作確定從站MAC ID、報文的功能碼、所要操作的資源節(jié)點及數(shù)據(jù)參數(shù)。
2.2 模塊軟件的工作流程
AnyCAN模塊程序基于?滋COSII嵌入式實時操作系統(tǒng)編寫,在?滋COSII系統(tǒng)的管理下,當(dāng)CAN驅(qū)動任務(wù)收到主機的報文請求時,將報文接收后向iCAN協(xié)議解析任務(wù)發(fā)送信號量,解析任務(wù)將報文按照iCAN協(xié)議格式解析后判斷請求類型,例如判斷是讀取ADC數(shù)據(jù),那么就向ADC任務(wù)發(fā)送采集ADC信號量,ADC采集任務(wù)收到信號后啟動運行將ADC值取出并回傳給iCAN協(xié)議解析任務(wù),iCAN解析任務(wù)獲取ADC數(shù)據(jù)后將數(shù)據(jù)打包后交給CAN驅(qū)動任務(wù)響應(yīng)主機的請求報文。
蓄電池參數(shù)自動檢測系統(tǒng)體積小巧,電池直流供電,功耗小。安裝在蓄電池檢查口處,適用于數(shù)量多的電池組。由于采用了AnyCAN嵌入式數(shù)據(jù)采集模塊,采集數(shù)據(jù)精度高,工作穩(wěn)定,系統(tǒng)的工作模式和采集的數(shù)據(jù)的精度達(dá)到了設(shè)計要求,工作情況完全滿足了蓄電池參數(shù)的自動檢測需求。
參考文獻(xiàn)
[1] LABROSSE J J.嵌入式實時操作系統(tǒng)ΜC/OS-II(第2版)[M].邵貝貝譯.北京:北京航天航空大學(xué)出版社,2003.
[2] 周立功.iCAN現(xiàn)場總線原理與應(yīng)用[M].北京:北京航天航空大學(xué)出版社,2007.
[3] 周立功.ARM嵌入式系統(tǒng)系列教程[M].北京:北京航天航空大學(xué)出版社,2005.
[4] 廣州致遠(yuǎn)電子有限公司.AnyCAN-5000系列嵌入式模塊產(chǎn)品數(shù)據(jù)手冊[EB/OL].http://www.embedcontrol.com/products/AnyCAN/AnyCan5000_ds.pdf.