基于物聯(lián)網(wǎng)技術(shù)的車輛檢測器設(shè)計
0 引 言
隨著經(jīng)濟的增長,各城市汽車保有量不斷增加,汽車流量、速度、車位狀態(tài)等基礎(chǔ)數(shù)據(jù)的獲取日益迫切,基于基礎(chǔ)數(shù)據(jù)的交通誘導(dǎo)、停車管理等應(yīng)用成為交通管理部門的痛點。針對以上問題,研究人員開展大量工作,并取得相應(yīng)的應(yīng)用成果。
楊威 [1] 設(shè)計了一種車輛流量檢測器,該檢測器以紅外傳感器作為車輛流量檢測元件 ;高天龍 [2] 設(shè)計了一種基于ZigBee 技術(shù)的無線車輛檢測器,采用磁傳感器為檢測單元,運用 ZigBee 物聯(lián)網(wǎng)技術(shù),解決施工布線難題 ;靳璐 [3] 設(shè)計了一種基于雷達的車輛檢測器,該檢測器以毫米波雷達數(shù)據(jù)和視覺多特征為檢測手段 ;蔣新華 [4] 等人提出了一種基于視頻的車輛檢測算法,以半監(jiān)督支持向量機分類算法為檢測核心。
本文吸收現(xiàn)有車輛檢測器的優(yōu)點,提出了一種以磁阻傳感器 [5] 為檢測核心,以物聯(lián)網(wǎng)無線技術(shù)為傳輸方式,以無線固件升級為創(chuàng)新的磁性車輛檢測器。
1 LoRa 物聯(lián)網(wǎng)技術(shù)
物聯(lián)網(wǎng)無線技術(shù)包括 :ZigBee,Bluetooth,WiFi 等。ZigBee 是一種基于 IEEE 802.15.4 技術(shù)的無線網(wǎng)絡(luò)協(xié)議,在物聯(lián)網(wǎng)方面應(yīng)用廣泛。但通信距離限制其應(yīng)用推廣,為兼顧低功耗和長距離,出現(xiàn)了 LoRa 通信。
LoRa 通信是美國 Semtech 公司研制的一種基于擴頻技術(shù)的超遠距離無線通信方式,屬于數(shù)字通信的一種。與非擴頻數(shù)字通信系統(tǒng)相比,LoRa 通信進行信息傳輸時,發(fā)送端由擴頻碼發(fā)生器產(chǎn)生獨立的擴頻碼序列,并對待傳輸?shù)臄?shù)字信號進行調(diào)制,達到展寬信號帶寬目的。再將調(diào)制信號加載到射頻載波中發(fā)送,實現(xiàn)無線傳輸。由于信息傳輸過程所占用的帶寬大于所傳信息必須的最小帶寬,決定了 LoRa 通信抗干擾能力強,通信傳輸安全可靠。Semtech 公司已推出基于 LoRa 的通信芯片。
2 磁阻傳感器
1857 年英國數(shù)學(xué)物理學(xué)家 William Thomson 發(fā)現(xiàn)了各向異性磁阻效應(yīng),磁傳感器正是基于磁阻效應(yīng) [6] 制作研發(fā)。在鎳鐵導(dǎo)磁合金薄膜內(nèi)部建立磁場,即內(nèi)建磁場,當外界磁場的方向與內(nèi)建磁場方向存在一定夾角時,磁場內(nèi)部的磁化矢量發(fā)生偏移,導(dǎo)致薄膜電阻降低。磁傳感器將惠根斯電橋作為檢測基本元件,四個橋電阻采用鎳鐵導(dǎo)磁合金薄膜制作的磁阻。不施加外部磁場時,四個橋的電阻相同。當施加外界磁場時,兩個相對磁場方向的磁阻阻值增加,而另外兩個橋的磁阻阻值降低。在供給外部電源的情況下,經(jīng)過電橋電阻分壓,Out+和 Out- 的輸出電壓變化總是相反的,因此外界磁場的方向最終體現(xiàn)為電壓差。惠根斯電橋?qū)⒋艌龅淖兓D(zhuǎn)換為電壓差的形式輸出。
3 系統(tǒng)的硬件設(shè)計
車輛檢測器由檢測單元、通信單元、微處理器單元、供電及電源管理單元、JTAG 等部分組成。
檢測單元負責(zé)車位狀態(tài)數(shù)據(jù)采集,并通過 I2C 接口與微處理器單元進行數(shù)據(jù)交互,微處理器通過 I/O 口控制檢測單元工作 ;通信單元負責(zé)車輛檢測器與上層系統(tǒng)的無線數(shù)據(jù)傳輸,包括車位信息、上層指令、固件程序等。通信單元采用基于無線擴頻技術(shù)的通信模塊,與微處理器通過 SPI 接口通信,同時通信芯片狀態(tài)以 I/O 狀態(tài)形式給出 ;供電單元負責(zé)各模塊的用電保障,電源管理單元控制耗電模塊分時供電,降低整機功耗;JTAG 模塊用于對微處理器進行在線編程和調(diào)試測試。
3.1 檢測單元的硬件設(shè)計
地球磁場是地球內(nèi)部存在的天然磁性現(xiàn)象。而車輛自身帶有一定量的鐵磁性物體,當?shù)厍虼艌鲇龅借F磁性物體時,磁力線出現(xiàn)集中或稀疏現(xiàn)象,反應(yīng)出局部地球磁場強度的變化。通過磁阻傳感器感應(yīng)地球磁場的變化,達到檢測車輛的目的。
HMC5883L 是霍尼韋爾公司研發(fā)的基于磁阻效應(yīng)的弱磁傳感器芯片,片內(nèi)集成最先進的高分辨率磁阻傳感器、放大器、自動消磁驅(qū)動器、自測和偏差補償校準,能在 8 G 的范圍內(nèi)實現(xiàn) 5 mG 的分辨率,有效解決磁滯、零漂問題。同時該芯片采用各向異性磁阻技術(shù),具有軸向高靈敏度和線性高精度等特點,工作功耗低至 100 μA,方便微處理器通信控制、適用于電池供電設(shè)備?;?HMC5883L 芯片的單元檢測電路如圖 1所示。
3.2 通信單元的硬件設(shè)計
通信單元負責(zé)車輛檢測器與上層系統(tǒng)之間的數(shù)據(jù)交互,車輛檢測器將檢測狀態(tài)等車輛檢測信息發(fā)送至上層系統(tǒng),上層系統(tǒng)下發(fā)指令查詢或設(shè)置車輛檢測器相關(guān)參數(shù)。同時,通信單元負責(zé)應(yīng)用程序下發(fā),用于車輛檢測器遠程固件升級。目前基于物聯(lián)網(wǎng)的應(yīng)用出現(xiàn)較多無線技術(shù),針對智能交通對長距離和低功耗的特點,本文選擇 LoRa 物聯(lián)網(wǎng)通信。無線通信單元的核心是 Semtech 公司提供的 SX127x[7] 系列 LoRa 產(chǎn)品。
SX127x 靈敏度 -148 dBm,高達 +20 dBm 功率放大器,最大鏈路預(yù)算可達 168 dB,與 ZigBee 通信相比,LoRa 方式通信距離是其數(shù)倍。發(fā)射電流 120 mA,接收電流 9.9 mA,200 mA 寄存器保持電流,適合低功耗應(yīng)用。其硬件電路如圖 2 所示。
LoRa 模塊與處理器采用 SPI 通信方式,并提供一定數(shù)量的I/O口指示模塊的工作狀態(tài)。靜態(tài)時無線模塊處于休眠狀態(tài),當接收到上層系統(tǒng)的數(shù)據(jù)后,對應(yīng)的 I/O 口指示接收成功,處理器采集到 I/O 口電平的變化并讀取數(shù)據(jù)。當車輛檢測器需要主動發(fā)送數(shù)據(jù)時,處理器通過 SPI 配置無線模塊為發(fā)送狀態(tài),并寫入待發(fā)送的數(shù)據(jù)。
3.3 電源管理單元的硬件設(shè)計
雖然檢測單元處于閑置模式時,主要耗電模塊禁用,但仍有部分模塊處于開通狀態(tài),如 I2C 模塊。為了盡可能降低功耗,采取微處理器 I/O 口控制檢測單元供電和掉電。當需要采集磁場數(shù)據(jù)時,打開檢測單元電源開關(guān),檢測模塊工作 ;工作完成后,通過微處理器關(guān)閉檢測模塊供電電源。此時檢測模塊完全禁用,功耗最低。電源控制電路如圖 3 所示。
通信單元處于休眠模式也存在小電流,考慮通信芯片上電后,寄存器需重新配置,配置時通信芯片處于待機狀態(tài),電流較休眠模式高,因此通信單元不采用電源開關(guān)控制功耗,通過優(yōu)化狀態(tài)機,減少通信模塊收發(fā)時間。為進一步降低功耗,微處理器采用TI公司研發(fā)的MSP430F5XX[8] 超低功耗單片機。
4 系統(tǒng)的軟件設(shè)計
為實現(xiàn)車輛檢測器固件升級功能,采用自定義引導(dǎo)程序[9]、配合 LoRa 物聯(lián)網(wǎng)技術(shù)實現(xiàn),方便后期系統(tǒng)維護。微處理器片內(nèi) FLASH 存在兩段程序,引導(dǎo)程序和應(yīng)用程序。引導(dǎo)程序通過無線接收應(yīng)用程序,并寫到預(yù)定義的 FLASH 空間 ;對應(yīng)用程序中斷向量重映射 [10],引導(dǎo)程序一般不使用中斷,放在鄰近原始中斷向量的 FLASH 空間。
4.1 引導(dǎo)程序的設(shè)計
引導(dǎo)程序的功能是無線接收應(yīng)用程序,并將應(yīng)用程序?qū)懙街付ǖ?FLASH 地址。引導(dǎo)程序通過微處理器的 JTAG 燒寫到 FLASH 空間,為從地址上區(qū)分引導(dǎo)程序和應(yīng)用程序,在燒寫引導(dǎo)程序之前,需手動修改對應(yīng)程序的鏈接文件。根據(jù)引導(dǎo)程序占用空間的大小,將其 FLASH 空間定義在 0xF000-0xFF7F。
引導(dǎo)程序流程如圖 4 所示。引導(dǎo)程序運行后,首先檢查應(yīng)用程序是否有效,當檢測到有效應(yīng)用程序時,跳轉(zhuǎn)到應(yīng)用程序執(zhí)行,否則等待應(yīng)用程序下發(fā)。引導(dǎo)程序包含升級和跳轉(zhuǎn)命令。升級命令包含應(yīng)用程序的十六進制數(shù)據(jù),每接收一幀升級命令,將對應(yīng)的應(yīng)用程序數(shù)據(jù)寫入指定的 FLASH。若寫入成功,引導(dǎo)程序發(fā)送成功回令至升級設(shè)備 ;否則,引導(dǎo)程序發(fā)送寫入失敗的回令。當所有數(shù)據(jù)成功寫入 FLASH 空間后,升級設(shè)備發(fā)送跳轉(zhuǎn)指令,引導(dǎo)程序成功接收到跳轉(zhuǎn)指令后,發(fā)送跳轉(zhuǎn)回令,并完成跳轉(zhuǎn)。跳轉(zhuǎn)后,微處理器執(zhí)行應(yīng)用程序。
引導(dǎo)程序中,關(guān)鍵在于中斷向量重映射。原始中斷向量表固化在內(nèi)部存儲區(qū),不能更改。當中斷發(fā)生時,程序首先跳轉(zhuǎn)到原始中斷向量表。原始中斷向量表為引導(dǎo)程序使用,為跳轉(zhuǎn)到應(yīng)用程序的中斷向量表,需要在引導(dǎo)程序中完成中斷跳轉(zhuǎn)到自定義的應(yīng)用程序中斷向量表中,應(yīng)用程序完成中斷功能。
4.2 應(yīng)用程序的設(shè)計
工作中,車輛檢測器運行應(yīng)用程序。應(yīng)用程序負責(zé)車輛檢測器車位信息采集、無線數(shù)據(jù)收發(fā)。接收跳轉(zhuǎn)指令并跳轉(zhuǎn)到引導(dǎo)程序。應(yīng)用程序流程如圖 5 所示。
應(yīng)用程序存儲在以 0x5C00 開始的 FLASH 空間,與引導(dǎo)程序在地址空間上分開,防止應(yīng)用程序?qū)懭霑r誤擦除引導(dǎo)程序。上電后,應(yīng)用程序首先完成外設(shè)和參數(shù)配置,包括微處理器外設(shè)、LoRa 無線模塊參數(shù)配置。為方便用戶開發(fā)基于SX1278 芯片的產(chǎn)品,SemTech 公司開放庫函數(shù)源碼。參數(shù)配置由 SX1278Init()函數(shù)實現(xiàn),設(shè)置射頻參數(shù)、硬件 I/O 配 置、狀態(tài)設(shè)置,并最終調(diào)用 SX1278LoRaInit()完成參數(shù)配置。之后發(fā)送組網(wǎng)信息至上層系統(tǒng),車輛檢測器通知上層系統(tǒng)連接網(wǎng)絡(luò),再進入主循環(huán)。主循環(huán)的功能是采集車位信息、無線數(shù)據(jù)收發(fā)。主循環(huán)等待兩個中斷喚醒微處理器,定時器中斷、I/O 口中斷。內(nèi)部定時器外設(shè)提供精準時序,實現(xiàn)車位信息周期性采集。并精確控制車位心跳數(shù)據(jù)的發(fā)送 ;無線數(shù)據(jù)收發(fā)通過單片機控制,微處理器通過響應(yīng)無線模塊I/O口變化,判斷收發(fā)過程中模塊狀態(tài)。
當接收到上層系統(tǒng)發(fā)送的命令后,應(yīng)用程序判斷命令類型。當命令為設(shè)置或查詢車輛檢測器參數(shù)時,應(yīng)用程序提取參數(shù)并回傳至上層系統(tǒng) ;當命令為程序升級命令時,應(yīng)用程序跳轉(zhuǎn)到引導(dǎo)程序,微處理器執(zhí)行引導(dǎo)程序,由引導(dǎo)程序接收應(yīng)用程序并完成程序升級。
5 測試結(jié)果
為驗證本設(shè)計的檢測準確性和通信穩(wěn)定性,選取某地下停車場進行安裝測試。該停車場共有車位 134 個,實際安裝車輛檢測器 100 套,最遠距離超過 75 m。經(jīng)測試,室內(nèi)地下條件,LoRa 物聯(lián)網(wǎng)通信穩(wěn)定可靠,丟包率低,通信質(zhì)量較ZigBee 好。
現(xiàn)場經(jīng) 13 天觀測,共收集進出車數(shù)據(jù) 847 組。其中進車 552 組,出車 295 組。漏檢 13 組,錯檢 56 組,準確率達91.8%。
為測量功耗,假設(shè)一個車輛檢測器每天的進出車次數(shù)為30 次。靜態(tài)時車輛檢測器每 1 h 發(fā)送一次數(shù)據(jù)。經(jīng)過測量,車輛檢測器的功耗為 100 μA,實現(xiàn)低功耗要求。
6 結(jié) 語
本文設(shè)計了一種基于物聯(lián)網(wǎng)技術(shù)的磁性車輛檢測器。LoRa 物聯(lián)網(wǎng)通信保證通信穩(wěn)定可靠。借助 LoRa 通信實現(xiàn)車輛檢測器程序遠程升級,大大降低后期維護成本。經(jīng)實際測試,車輛檢測器檢測準確性達到 91.8%。對動靜態(tài)車輛管理系統(tǒng)的設(shè)計具有一定的指導(dǎo)意義。目前車輛檢測器在檢測準確性、功耗等方面任存在相應(yīng)不足。未來車輛檢測器的研究,還需要在檢測準確性等方面進行突破。