熊禮平
摘 要:為解決現有車輛檢測器無線通信不穩定、檢測準確率較低等問題,文中設計了一種基于物聯網技術的磁性車輛檢測器。利用磁阻效應傳感器檢測車輛存在與否,通過低功耗微處理器嚴控時序,達到低功耗和準確性要求;為實現穩定可靠的無線通信,以LoRa作為通信組件。為方便后期維護,利用LoRa技術實現無線固件升級功能。經實際安裝測試,結果表明該車輛檢測器檢測準確率高,通信穩定性好;同時,遠程固件升級功能工作可靠,方便維護。
關鍵詞:車輛檢測器;物聯網;LoRa;低功耗;固件升級;磁阻傳感器
中圖分類號:TP393;TN92 文獻標識碼:A 文章編號:2095-1302(2018)09-00-04
0 引 言
隨著經濟的增長,各城市汽車保有量不斷增加,汽車流量、速度、車位狀態等基礎數據的獲取日益迫切,基于基礎數據的交通誘導、停車管理等應用成為交通管理部門的痛點。針對以上問題,研究人員開展大量工作,并取得相應的應用成果。
楊威[1]設計了一種車輛流量檢測器,該檢測器以紅外傳感器作為車輛流量檢測元件;高天龍[2]設計了一種基于ZigBee技術的無線車輛檢測器,采用磁傳感器為檢測單元,運用ZigBee物聯網技術,解決施工布線難題;靳璐[3]設計了一種基于雷達的車輛檢測器,該檢測器以毫米波雷達數據和視覺多特征為檢測手段;蔣新華[4]等人提出了一種基于視頻的車輛檢測算法,以半監督支持向量機分類算法為檢測核心。
本文吸收現有車輛檢測器的優點,提出了一種以磁阻傳感器[5]為檢測核心,以物聯網無線技術為傳輸方式,以無線固件升級為創新的磁性車輛檢測器。
1 LoRa物聯網技術
物聯網無線技術包括:ZigBee,Bluetooth,WiFi等。ZigBee是一種基于IEEE 802.15.4技術的無線網絡協議,在物聯網方面應用廣泛。但通信距離限制其應用推廣,為兼顧低功耗和長距離,出現了LoRa通信。
LoRa通信是美國Semtech公司研制的一種基于擴頻技術的超遠距離無線通信方式,屬于數字通信的一種。與非擴頻數字通信系統相比,LoRa通信進行信息傳輸時,發送端由擴頻碼發生器產生獨立的擴頻碼序列,并對待傳輸的數字信號進行調制,達到展寬信號帶寬目的。再將調制信號加載到射頻載波中發送,實現無線傳輸。由于信息傳輸過程所占用的帶寬大于所傳信息必須的最小帶寬,決定了LoRa通信抗干擾能力強,通信傳輸安全可靠。Semtech公司已推出基于LoRa的通信芯片。
2 磁阻傳感器
1857年英國數學物理學家William Thomson發現了各向異性磁阻效應,磁傳感器正是基于磁阻效應[6]制作研發。在鎳鐵導磁合金薄膜內部建立磁場,即內建磁場,當外界磁場的方向與內建磁場方向存在一定夾角時,磁場內部的磁化矢量發生偏移,導致薄膜電阻降低。磁傳感器將惠根斯電橋作為檢測基本元件,四個橋電阻采用鎳鐵導磁合金薄膜制作的磁阻。不施加外部磁場時,四個橋的電阻相同。當施加外界磁場時,兩個相對磁場方向的磁阻阻值增加,而另外兩個橋的磁阻阻值降低。在供給外部電源的情況下,經過電橋電阻分壓,Out+和Out-的輸出電壓變化總是相反的,因此外界磁場的方向最終體現為電壓差。惠根斯電橋將磁場的變化轉換為電壓差的形式輸出。
3 系統的硬件設計
車輛檢測器由檢測單元、通信單元、微處理器單元、供電及電源管理單元、JTAG等部分組成。
檢測單元負責車位狀態數據采集,并通過I2C接口與微處理器單元進行數據交互,微處理器通過I/O口控制檢測單元工作;通信單元負責車輛檢測器與上層系統的無線數據傳輸,包括車位信息、上層指令、固件程序等。通信單元采用基于無線擴頻技術的通信模塊,與微處理器通過SPI接口通信,同時通信芯片狀態以I/O狀態形式給出;供電單元負責各模塊的用電保障,電源管理單元控制耗電模塊分時供電,降低整機功耗;JTAG模塊用于對微處理器進行在線編程和調試測試。
3.1 檢測單元的硬件設計
地球磁場是地球內部存在的天然磁性現象。而車輛自身帶有一定量的鐵磁性物體,當地球磁場遇到鐵磁性物體時,磁力線出現集中或稀疏現象,反應出局部地球磁場強度的變化。通過磁阻傳感器感應地球磁場的變化,達到檢測車輛的目的。
HMC5883L是霍尼韋爾公司研發的基于磁阻效應的弱磁傳感器芯片,片內集成最先進的高分辨率磁阻傳感器、放大器、自動消磁驅動器、自測和偏差補償校準,能在8 G的范圍內實現5 mG的分辨率,有效解決磁滯、零漂問題。同時該芯片采用各向異性磁阻技術,具有軸向高靈敏度和線性高精度等特點,工作功耗低至100 μA,方便微處理器通信控制、適用于電池供電設備。基于HMC5883L芯片的單元檢測電路如圖1所示。
3.2 通信單元的硬件設計
通信單元負責車輛檢測器與上層系統之間的數據交互,車輛檢測器將檢測狀態等車輛檢測信息發送至上層系統,上層系統下發指令查詢或設置車輛檢測器相關參數。同時,通信單元負責應用程序下發,用于車輛檢測器遠程固件升級。目前基于物聯網的應用出現較多無線技術,針對智能交通對長距離和低功耗的特點,本文選擇LoRa物聯網通信。無線通信單元的核心是Semtech公司提供的SX127x[7]系列LoRa產品。
SX127x靈敏度-148 dBm,高達+20 dBm功率放大器,最大鏈路預算可達168 dB,與ZigBee通信相比,LoRa方式通信距離是其數倍。發射電流120 mA,接收電流9.9 mA,200 mA寄存器保持電流,適合低功耗應用。其硬件電路如圖2所示。
LoRa模塊與處理器采用SPI通信方式,并提供一定數量的I/O口指示模塊的工作狀態。靜態時無線模塊處于休眠狀態,當接收到上層系統的數據后,對應的I/O口指示接收成功,處理器采集到I/O口電平的變化并讀取數據。當車輛檢測器需要主動發送數據時,處理器通過SPI配置無線模塊為發送狀態,并寫入待發送的數據。
3.3 電源管理單元的硬件設計
雖然檢測單元處于閑置模式時,主要耗電模塊禁用,但仍有部分模塊處于開通狀態,如I2C模塊。為了盡可能降低功耗,采取微處理器I/O口控制檢測單元供電和掉電。當需要采集磁場數據時,打開檢測單元電源開關,檢測模塊工作;工作完成后,通過微處理器關閉檢測模塊供電電源。此時檢測模塊完全禁用,功耗最低。電源控制電路如圖3所示。
通信單元處于休眠模式也存在小電流,考慮通信芯片上電后,寄存器需重新配置,配置時通信芯片處于待機狀態,電流較休眠模式高,因此通信單元不采用電源開關控制功耗,通過優化狀態機,減少通信模塊收發時間。為進一步降低功耗,微處理器采用TI公司研發的MSP430F5XX[8]超低功耗單片機。
4 系統的軟件設計
為實現車輛檢測器固件升級功能,采用自定義引導程序[9]、配合LoRa物聯網技術實現,方便后期系統維護。微處理器片內FLASH存在兩段程序,引導程序和應用程序。引導程序通過無線接收應用程序,并寫到預定義的FLASH空間;對應用程序中斷向量重映射[10],引導程序一般不使用中斷,放在鄰近原始中斷向量的FLASH空間。
4.1 引導程序的設計
引導程序的功能是無線接收應用程序,并將應用程序寫到指定的FLASH地址。引導程序通過微處理器的JTAG燒寫到FLASH空間,為從地址上區分引導程序和應用程序,在燒寫引導程序之前,需手動修改對應程序的鏈接文件。根據引導程序占用空間的大小,將其FLASH空間定義在0xF000-0xFF7F。
引導程序流程如圖4所示。引導程序運行后,首先檢查應用程序是否有效,當檢測到有效應用程序時,跳轉到應用程序執行,否則等待應用程序下發。引導程序包含升級和跳轉命令。升級命令包含應用程序的十六進制數據,每接收一幀升級命令,將對應的應用程序數據寫入指定的FLASH。若寫入成功,引導程序發送成功回令至升級設備;否則,引導程序發送寫入失敗的回令。當所有數據成功寫入FLASH空間后,升級設備發送跳轉指令,引導程序成功接收到跳轉指令后,發送跳轉回令,并完成跳轉。跳轉后,微處理器執行應用程序。
引導程序中,關鍵在于中斷向量重映射。原始中斷向量表固化在內部存儲區,不能更改。當中斷發生時,程序首先跳轉到原始中斷向量表。原始中斷向量表為引導程序使用,為跳轉到應用程序的中斷向量表,需要在引導程序中完成中斷跳轉到自定義的應用程序中斷向量表中,應用程序完成中斷功能。
4.2 應用程序的設計
工作中,車輛檢測器運行應用程序。應用程序負責車輛檢測器車位信息采集、無線數據收發。接收跳轉指令并跳轉到引導程序。應用程序流程如圖5所示。
應用程序存儲在以0x5C00開始的FLASH空間,與引導程序在地址空間上分開,防止應用程序寫入時誤擦除引導程序。上電后,應用程序首先完成外設和參數配置,包括微處理器外設、LoRa無線模塊參數配置。為方便用戶開發基于SX1278芯片的產品,SemTech公司開放庫函數源碼。參數配置由SX1278Init()函數實現,設置射頻參數、硬件I/O配置、狀態設置,并最終調用SX1278LoRaInit()完成參數配置。之后發送組網信息至上層系統,車輛檢測器通知上層系統連接網絡,再進入主循環。主循環的功能是采集車位信息、無線數據收發。主循環等待兩個中斷喚醒微處理器,定時器中斷、I/O口中斷。內部定時器外設提供精準時序,實現車位信息周期性采集。并精確控制車位心跳數據的發送;無線數據收發通過單片機控制,微處理器通過響應無線模塊I/O口變化,判斷收發過程中模塊狀態。
當接收到上層系統發送的命令后,應用程序判斷命令類型。當命令為設置或查詢車輛檢測器參數時,應用程序提取參數并回傳至上層系統;當命令為程序升級命令時,應用程序跳轉到引導程序,微處理器執行引導程序,由引導程序接收應用程序并完成程序升級。
5 測試結果
為驗證本設計的檢測準確性和通信穩定性,選取某地下停車場進行安裝測試。該停車場共有車位134個,實際安裝車輛檢測器100套,最遠距離超過75 m。經測試,室內地下條件,LoRa物聯網通信穩定可靠,丟包率低,通信質量較ZigBee好。
現場經13天觀測,共收集進出車數據847組。其中進車552組,出車295組。漏檢13組,錯檢56組,準確率達91.8%。
為測量功耗,假設一個車輛檢測器每天的進出車次數為30次。靜態時車輛檢測器每1 h發送一次數據。經過測量,車輛檢測器的功耗為100 μA,實現低功耗要求。
6 結 語
本文設計了一種基于物聯網技術的磁性車輛檢測器。LoRa物聯網通信保證通信穩定可靠。借助LoRa通信實現車輛檢測器程序遠程升級,大大降低后期維護成本。經實際測試,車輛檢測器檢測準確性達到91.8%。對動靜態車輛管理系統的設計具有一定的指導意義。目前車輛檢測器在檢測準確性、功耗等方面任存在相應不足。未來車輛檢測器的研究,還需要在檢測準確性等方面進行突破。
參考文獻
[1]楊威,郝潤科,高峰,等.一種基于MSP430的車輛流量檢測器的設計[J].微型機與應用,2017,(3):96-98.
[2]高天龍,章偉.基于AMR傳感器和ZigBee技術的車輛檢測器設計[J].傳感器與微系統,2016,35(3):96-98.
[3]靳璐,付夢印,王美玲.基于視覺和毫米波雷達的車輛檢測[J].紅外與毫米波學報,2014,33(5):465-471.
[4]蔣新華,高晟,廖律超,等.半監督SVM分類算法的交通視頻車輛檢測方法[J].智能系統學報,2015,10(5):690-698.
[5]潘仲明,周晗,張大廈,等.國外巨磁阻抗傳感器檢測電路技術的發展動態[J].儀器儀表學報,2017,38(4):781-793.
[6] BEISTER A,WACHOWIAK R,BOSCHKE T,et al. Mobility Investigations on Strained 30-nm High-Metal Gate MOSFETs by Geometrical magnetoresistance effect[J].IEEE transactions on electron devices,2015,62(6):1819-1825.
[7] Semtech Corporation.SX1278 137-525MHz Ultra Low Power Long Range Transceiver[EB/OL].[2013-9-1].https://www.semtech.com/products/wireless-rf/lora-transceivers/SX1278.
[8] Texas Instruments Incorporated.MSP430x5xx and MSP430x6xx Family User's Guide[EB/OL].[2016-10-11].http://www.ti.com.cn/cn/lit/ug/slau208p/slau208p.pdf.
[9] Texas Instruments Incorporated.Creating a Custom Flash-Based Bootloader(BSL)[EB/OL].[2017-8-6].http://www.ti.com.cn/cn/lit/an/slaa450e/slaa450e.pdf.
[10] Texas Instruments Incorporated.MSPBoot– Main Memory Bootloader for MSP430? Flash Microcontrollers[EB/OL].[2017-9-5].www.ti.com.cn/cn/lit/an/slaa600c/slaa600c.pdf.