引言
??? 為了滿足人們對車載安全性、操控性以及舒適性的要求,車載上集成了越來越多的電子系統(tǒng)。目前,汽車電子設(shè)備廣泛采用16位或32位微處理器進(jìn)行控制。本文基于IEEE 802.15.4和ZigBee標(biāo)準(zhǔn)的無線傳感器網(wǎng)絡(luò)構(gòu)建車載監(jiān)測系統(tǒng),設(shè)計(jì)實(shí)現(xiàn)更加優(yōu)化的無線傳感器網(wǎng)絡(luò),逐步實(shí)現(xiàn)車載系統(tǒng)的網(wǎng)絡(luò)化、智能化和可控性,以提,高車載系統(tǒng)的安全性。
1 系統(tǒng)設(shè)計(jì)方案
??? 本文在現(xiàn)有的車載系統(tǒng)上,將數(shù)據(jù)傳輸?shù)姆绞綌U(kuò)展為無線傳輸方式,實(shí)現(xiàn)一個星型網(wǎng)絡(luò)的數(shù)據(jù)采集系統(tǒng)。并能分別將各個數(shù)據(jù)采集節(jié)點(diǎn)的所獲得的數(shù)據(jù)傳輸?shù)骄W(wǎng)關(guān),網(wǎng)關(guān)通過串口將數(shù)據(jù)上傳到主機(jī)上,在主機(jī)中實(shí)現(xiàn)數(shù)據(jù)的實(shí)時波形顯示,并以數(shù)據(jù)庫的方式加以保存,供后續(xù)數(shù)據(jù)處理。該采集系統(tǒng)的應(yīng)用對象由溫度傳感器、油壓傳感器、轉(zhuǎn)速傳感器、速度傳感器、電流傳感器、壓力傳感器等傳感器子系統(tǒng)所組成。這樣設(shè)計(jì)的目的是用一個監(jiān)控主機(jī)端來檢測多個待測目標(biāo)環(huán)境,考慮到接入的數(shù)據(jù)吞吐量和軟件系統(tǒng)的復(fù)雜程度,采用時分復(fù)用的方式,逐個對網(wǎng)內(nèi)的終端采集點(diǎn)進(jìn)行控制采集。
??? 如圖1所示,該車載系統(tǒng)分3個部分:車載監(jiān)控中心、車載網(wǎng)關(guān)和車載傳感器節(jié)點(diǎn)。車載網(wǎng)關(guān)是整個車載系統(tǒng)的核心,可以和所有的車載傳感器節(jié)點(diǎn)通信。車載監(jiān)控中心可以向車載網(wǎng)關(guān)發(fā)出控制命令,由車載網(wǎng)關(guān)將控制命令轉(zhuǎn)換為射頻信號后發(fā)送給車載傳感器節(jié)點(diǎn)。當(dāng)車載傳感器節(jié)點(diǎn)發(fā)送數(shù)據(jù)時,車載網(wǎng)關(guān)進(jìn)入數(shù)據(jù)接收狀態(tài),并將數(shù)據(jù)上傳到車載監(jiān)控中心作進(jìn)一步處理。此外,車載傳感器節(jié)點(diǎn)之間不能互相通信。監(jiān)控中心的監(jiān)控軟件與車載網(wǎng)關(guān)之間以RS232的接口標(biāo)準(zhǔn)進(jìn)行通信。
??? 車載傳感器節(jié)點(diǎn)的生命周期由活躍期和休眠期構(gòu)成。節(jié)點(diǎn)在活躍期完成數(shù)據(jù)采集,向網(wǎng)關(guān)發(fā)送數(shù)據(jù),接收并執(zhí)行網(wǎng)關(guān)命令;在休眠期關(guān)閉無線射頻模塊以節(jié)省能量,直到下一個活躍期來臨。系統(tǒng)通過這種休眠機(jī)制來減少系統(tǒng)的能量消耗,延長系統(tǒng)整體壽命。
??? 本系統(tǒng)用PC機(jī)作為監(jiān)控中心,PC機(jī)上的監(jiān)控軟件在VB環(huán)境下開發(fā),是一個基于對話框的應(yīng)用軟件。為了提高通信傳輸模塊的智能化水平,在設(shè)計(jì)中,它的功能不限于數(shù)據(jù)的實(shí)時顯示,所有的數(shù)據(jù)采集由監(jiān)控軟件通過發(fā)送請求信號的方式觸發(fā)??紤]到原始數(shù)據(jù)需要進(jìn)行后續(xù)的處理與深入的分析,才能對車載系統(tǒng)的狀況進(jìn)行準(zhǔn)確的判定,軟件中還添加了數(shù)據(jù)文件形式的保存與數(shù)據(jù)文件回顯功能。
??? 總體上來講,整個網(wǎng)絡(luò)的所有節(jié)點(diǎn)都受控于主機(jī)監(jiān)控軟件,工作過程中網(wǎng)絡(luò)的每一個節(jié)點(diǎn)都不需要人為的參與。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 應(yīng)用芯片介紹
??? Freescale公司的MC13192符合IEEE 802.15.4標(biāo)準(zhǔn),工作頻率是2.405~2.480 GHz,數(shù)據(jù)傳輸速率為250kbps,采用0-QPSK調(diào)試方式。這種功能豐富的雙向2.4 GHz收發(fā)器帶有一個數(shù)據(jù)調(diào)制解調(diào)器,可以在ZigBee技術(shù)應(yīng)用中使用。它還具有一個優(yōu)化的數(shù)字核心,有助于降低MCU處理功率,縮短執(zhí)行周期。
??? 主控MCU選用Freescale公司HCS08系列的低功耗、高性能微處理器MC9S08GB60。該處理器具有60 KB的應(yīng)用可編程Flash、4 KB的RAM、8通道的10位ADC、2個異步串行通信接口(SCI)、1個同步串行外部接口(SPI)以及I2C總線模塊,完全能夠滿足車載網(wǎng)關(guān)和節(jié)點(diǎn)對處理器的要求。
2.2 MCl3192與MC9S08GB60的硬件連接
??? MC13192與MC9S08GB60的硬件連接圖如圖2所示。MC13192的控制和數(shù)據(jù)傳送依靠4線串行外設(shè)接口(SPI)完成,其4個接口信號分別是MOS-I、MISO、、SPICLK。主控MCU通過控制信號退出睡眠模式或休眠模式,通過來復(fù)位收發(fā)器,通過RXTXEN來控制數(shù)據(jù)的發(fā)送和接收,或者強(qiáng)制收發(fā)器進(jìn)入空閑模式。由傳感器輸出的模擬信號經(jīng)過MCU的8通道10位ADC轉(zhuǎn)換后輸入到MCU。MCU通過SPI口進(jìn)行MC13192的讀寫操作,并把傳感器采集的信號經(jīng)過處理后通過MC13192發(fā)射出去。MC13192的中斷通過IRQ引腳和中斷寄存器來判斷中斷類型。MC908GB60通過引腳來控制MC13192進(jìn)入不同的工作模式。對傳感器的控制信號可以從MC13192的天線接收進(jìn)來,通過SPI傳送到MCU上,經(jīng)過MCU的判斷處理后通過GPIO口傳送到傳感器上,完成對傳感器的控制。同時,MCU完成MC13192收發(fā)控制和所需要的MAC層操作。
?3 系統(tǒng)軟件設(shè)計(jì)
3.1 軟件整體設(shè)計(jì)
??? 軟件設(shè)計(jì)是本設(shè)計(jì)的核心,關(guān)鍵在于軟件的總體架構(gòu)和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。著重要考慮的因素一個是效率,另一個是設(shè)計(jì)的清晰性。
??? 車載系統(tǒng)軟件由網(wǎng)關(guān)節(jié)點(diǎn)與傳感器節(jié)點(diǎn)兩大部分組成,這兩部分都需要完成SMAC協(xié)議的移植,并根據(jù)不同需要為上層通信應(yīng)用提供API接口函數(shù)。因?yàn)镾MAC協(xié)議棧編程模型采用層次設(shè)計(jì),只有底層的PHY和MAC程序?qū)优c硬件相關(guān),而網(wǎng)絡(luò)層和應(yīng)用層程序則不受硬件影響。SMAC在不同硬件平臺的移植只需修改PHY和MAC層,其上各層可以屏蔽硬件差異直接運(yùn)行。
??? 如圖3所示,本設(shè)計(jì)把軟件分為系統(tǒng)平臺層、協(xié)議層和應(yīng)用層3層。同時,定義了3個API接口:系統(tǒng)層接口、協(xié)議層接口和應(yīng)用層接口。系統(tǒng)層接口定義了硬件的寄存器映射,這樣C語言就能直接訪問硬件寄存器來控制硬件。系統(tǒng)平臺層建立在μC/OS-II實(shí)時操作系統(tǒng)上,為協(xié)議層提供系統(tǒng)服務(wù)。硬件驅(qū)動模塊提供硬件驅(qū)動程序,所有對硬件的控制都通過該模塊提供的服務(wù)。系統(tǒng)平臺層通過協(xié)議層接口為協(xié)議層提供服務(wù)。協(xié)議層則實(shí)現(xiàn)了基于IEEE 802.15.4的物理層和鏈路層以及基于ZigBee的網(wǎng)絡(luò)層協(xié)議。應(yīng)用層通過應(yīng)用層接口來調(diào)用協(xié)議層提供的服務(wù),實(shí)現(xiàn)網(wǎng)絡(luò)的管理和數(shù)據(jù)傳輸?shù)热蝿?wù)。應(yīng)用配置模塊既會調(diào)用協(xié)議層提供的網(wǎng)絡(luò)服務(wù),也會直接對系統(tǒng)進(jìn)行配置和查詢,這主要是通過AT指令來實(shí)現(xiàn)的,因此該模塊會調(diào)用應(yīng)用層接口和協(xié)議層接口提供的服務(wù)。
?
3.2 傳感器節(jié)點(diǎn)軟件設(shè)計(jì)
??? 基于系統(tǒng)長期使用的功能需求,傳感器節(jié)點(diǎn)中軟件設(shè)計(jì)的關(guān)鍵是既能實(shí)現(xiàn)所需的功能,又能最大限度地減少傳感器節(jié)點(diǎn)的能耗。
通過測試發(fā)現(xiàn),ZigBee模塊的能耗要遠(yuǎn)遠(yuǎn)大于中央處理器和傳感模塊的能耗。因此,傳感器節(jié)點(diǎn)應(yīng)用軟件的設(shè)計(jì)既要盡量使各模塊處于休眠狀態(tài),又要盡量減少喚醒ZigBee模塊的次數(shù)。因此,在傳感器節(jié)點(diǎn)上電各功能模塊初始化完成、并加入了網(wǎng)絡(luò)后,即進(jìn)入休眠狀態(tài),中央處理器周期地被定時喚醒向網(wǎng)關(guān)發(fā)送數(shù)據(jù),并接收網(wǎng)關(guān)的命令。傳感器節(jié)點(diǎn)的工作流程如圖4所示。
3.3 網(wǎng)關(guān)節(jié)點(diǎn)軟件設(shè)計(jì)
??? 車載網(wǎng)關(guān)向下管理傳感器節(jié)點(diǎn),向上完成和PC監(jiān)控中心的交互,需要進(jìn)行復(fù)雜的任務(wù)管理和調(diào)度,因此,采用基于uC/OS內(nèi)核的嵌入式操作系統(tǒng)管理整個網(wǎng)關(guān),為應(yīng)用任務(wù)的高效運(yùn)行提供良好的軟件平臺支撐。根據(jù)網(wǎng)關(guān)的功能需求,將μC/OS-II、SMAC協(xié)議有機(jī)的結(jié)合,構(gòu)成一個網(wǎng)絡(luò)化的操作環(huán)境,用戶可以方便地在其基礎(chǔ)上開發(fā)應(yīng)用程序?;讦藽/OS-II擴(kuò)展的網(wǎng)關(guān)軟件平臺結(jié)構(gòu)如圖5所示?;讦藽/OS-II操作系統(tǒng),分別構(gòu)建系統(tǒng)任務(wù)SYS_task()、SMAC星型組網(wǎng)任務(wù)START_task()、網(wǎng)關(guān)和傳感器節(jié)點(diǎn)交互任務(wù)COMM_task()、PC臨控中心端口監(jiān)聽任務(wù)SER_task()等一系列應(yīng)用任務(wù),從而實(shí)現(xiàn)網(wǎng)關(guān)軟件的應(yīng)用功能。
3.4 主機(jī)監(jiān)控軟件的設(shè)計(jì)
??? 本系統(tǒng)最終目的是將采集到的車載傳感器數(shù)據(jù)實(shí)時地傳送到主機(jī),并在主機(jī)中得到顯示和保存。顯示的目的是獲得被車載傳感器節(jié)點(diǎn)所監(jiān)控環(huán)境的初步情況,保存的目的是作為深入分析的數(shù)據(jù)樣本。除此以外,作為整個系統(tǒng)的主控方和數(shù)據(jù)采集請求的發(fā)起者,需要能夠按照要求發(fā)送數(shù)據(jù)請求信號。根據(jù)以上要求,在VB環(huán)境下開發(fā)了一個基于對話框的應(yīng)用程序。這個應(yīng)用程序包括了4個模塊:
??? ①實(shí)時數(shù)據(jù)顯示波形模塊。該模塊的作用是將節(jié)點(diǎn)的數(shù)據(jù)以波形的形式實(shí)時地進(jìn)行顯示,實(shí)現(xiàn)的方式是利用MSChart和Timer控件。
??? ②拓?fù)滹@示模塊。當(dāng)用戶希望了解無線傳感器網(wǎng)絡(luò)的拓?fù)錁?gòu)建情況時,可以查看拓?fù)?a target="_blank">信息欄,了解網(wǎng)絡(luò)中節(jié)點(diǎn)的加入和丟失情況。
??? ③歷史數(shù)據(jù)顯示模塊。在車載網(wǎng)絡(luò)系統(tǒng)運(yùn)行到一定時期,可能需要對過去某一段時間的原始數(shù)據(jù)進(jìn)行后續(xù)的處理與深入的分析,以便對車載系統(tǒng)的狀況進(jìn)行準(zhǔn)確的判定。借助歷史數(shù)據(jù)顯示模塊,可以將監(jiān)控中心從車載網(wǎng)關(guān)中得到的數(shù)據(jù),按照不同節(jié)點(diǎn)的屬性、地址和時間分別保存到數(shù)據(jù)庫的相應(yīng)字段中,并可以通過波形圖的方式將歷史數(shù)據(jù)顯示出來,供用戶分析。
??? ④控制模塊。在車載系統(tǒng)運(yùn)行過程中可能關(guān)心某一個車載傳感器節(jié)點(diǎn)的數(shù)值,或者需要對某一個傳感器進(jìn)行閾值設(shè)置,以便待監(jiān)測的環(huán)境出現(xiàn)異常情況可以及時地報(bào)告給系統(tǒng)。這些都可以通過控制模塊對系統(tǒng)進(jìn)行相應(yīng)的設(shè)置,控制模塊還可以對系統(tǒng)中的某個不需要的節(jié)點(diǎn)進(jìn)行刪除操作。
??? 總之,通過主機(jī)監(jiān)控軟件用戶可以直觀且多方面地對通用無線傳感器網(wǎng)絡(luò)系統(tǒng)進(jìn)行了解和使用。
4 測試與驗(yàn)證
4.1 組網(wǎng)測試
??? 測試設(shè)備:4個MCl3192 ZigBee芯片節(jié)點(diǎn),1個作為網(wǎng)關(guān)節(jié)點(diǎn),其余3個作為傳感器節(jié)點(diǎn)。
??? 測試方法:網(wǎng)關(guān)節(jié)點(diǎn)上電后,4個LED同時點(diǎn)亮,掃描信道如果搜索到空閑信道后,LED熄滅并加入空閑信道等待。傳感器節(jié)點(diǎn)上電后,4個LED在掃描信道的同時,輪詢點(diǎn)亮。當(dāng)網(wǎng)關(guān)節(jié)點(diǎn)收到傳感器節(jié)點(diǎn)的Beacon幀后,LED1閃爍一次;當(dāng)傳感器節(jié)點(diǎn)收到網(wǎng)關(guān)節(jié)點(diǎn)的分配地址后,LED1也閃爍一次。至此,組網(wǎng)過程和地址綁定過程完成。
4.2 ZigBee射頻通信測試
??? 測試設(shè)備:ZigBee節(jié)點(diǎn)4個,計(jì)算機(jī)終端1臺。
??? 測試方法:根據(jù)ZigBee傳輸?shù)膸袷?,?shí)際傳輸總字節(jié)數(shù)為(n+6),即(n+6)個字節(jié)為一個數(shù)據(jù)包。根據(jù)設(shè)定的軟件參數(shù),如有數(shù)據(jù)包丟失則丟包數(shù)加1。若接收到數(shù)據(jù)包,則接收數(shù)據(jù)包數(shù)加1,然后與發(fā)送數(shù)據(jù)進(jìn)行比較,若數(shù)據(jù)正確則正確包數(shù)加1,反之錯誤包數(shù)加1。最后統(tǒng)計(jì)數(shù)據(jù)結(jié)果,就可以知道數(shù)據(jù)的丟包率和誤包率。4個節(jié)點(diǎn)組建一個ZigBee網(wǎng)絡(luò),其中1個作為網(wǎng)關(guān),其余3個節(jié)點(diǎn)作為傳感器節(jié)點(diǎn)。編寫程序設(shè)定:3個節(jié)點(diǎn)均與網(wǎng)關(guān)通信,計(jì)算機(jī)終端與網(wǎng)關(guān)通過RS232相連,終端設(shè)備軟件記錄從3個節(jié)點(diǎn)接收數(shù)據(jù)的情況,節(jié)點(diǎn)工作在2.4 GHz頻段下,傳輸一個字節(jié)的數(shù)據(jù),循環(huán)發(fā)送100次。最后取得3個節(jié)點(diǎn)的測試平均數(shù)作為數(shù)據(jù)結(jié)果進(jìn)行分析。星形網(wǎng)射頻通信誤碼率測試結(jié)果如表1所列。
?
??? 實(shí)驗(yàn)分析:在星形網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)傳輸,測試結(jié)果明顯差于單點(diǎn)對單點(diǎn)傳輸方式。這主要是因?yàn)?,在傳輸過程中節(jié)點(diǎn)之間存在一定的頻率干擾和其他干擾。
4.3 功耗測試
??? 在系統(tǒng)工作狀態(tài)和休眠狀態(tài)下,分別使用萬用表測試網(wǎng)關(guān)節(jié)點(diǎn)和傳感器節(jié)點(diǎn)的功耗情況,測試結(jié)果如表2所列。
結(jié)語
??? 本文分析了IEEE 802.15.4和ZigBee協(xié)議,結(jié)合通信系統(tǒng)和嵌入式系統(tǒng)的一般開發(fā)原則,在μC/OS-II操作系統(tǒng)上實(shí)現(xiàn)IEEE802.15.4協(xié)議,選擇合適的軟硬件平臺,著重于軟件支撐平臺的構(gòu)建、軟件總體結(jié)構(gòu)設(shè)計(jì)以及通信協(xié)議棧的實(shí)現(xiàn),最終實(shí)現(xiàn)了一個符合ZigBee規(guī)范的車載星型無線數(shù)據(jù)采集網(wǎng)絡(luò)。該系統(tǒng)具有以下的優(yōu)勢:
??? ①系統(tǒng)安裝方便。無線互連使得設(shè)備安裝位置靈活,同時滿足了系統(tǒng)安裝的自動化要求。人們只需要把設(shè)備上電就可以了。該車載網(wǎng)絡(luò)系統(tǒng)能夠自動完成網(wǎng)絡(luò)的配置。
??? ②可擴(kuò)展性。把設(shè)備放在車載網(wǎng)關(guān)的覆蓋范圍以內(nèi),打開設(shè)備電源,節(jié)點(diǎn)將自動加入網(wǎng)絡(luò)。
??? ③網(wǎng)絡(luò)自我修復(fù)能力。如果網(wǎng)絡(luò)中某個設(shè)備出現(xiàn)故障,車載網(wǎng)關(guān)能夠自動監(jiān)測到,發(fā)出指令將該設(shè)備復(fù)位并重新入網(wǎng)。
評論
查看更多