基于HMC5883L的停車(chē)位ZigBee數據采集系統
摘要:前期研究提出一種智能手機與ZigBee網(wǎng)絡(luò )相結合的智能停車(chē)系統總體架構,具有低成本、交互性強等優(yōu)點(diǎn)。為具體實(shí)現該架構中使用的 ZigBee網(wǎng)絡(luò ),設計了一套停車(chē)場(chǎng)車(chē)位數據采集系統。該系統基于ZigBee技術(shù)搭建,由中心結點(diǎn)、路由器結點(diǎn)和終端結點(diǎn)組成。中心結點(diǎn)的微控制器選用低功耗的LPC11C14,GSM模塊選用SIM300模塊。三類(lèi)結點(diǎn)的ZigBee通信芯片選用CC2530。綜合多方面因素,選用基于地磁檢測技術(shù)的 HMC5883L作為車(chē)位傳感器,尺寸小、安裝方便、對非鐵磁性物體無(wú)反應、可靠性高是該傳感器的優(yōu)點(diǎn)。在硬件電路的基礎上,設計了三類(lèi)結點(diǎn)的數據收發(fā)和控制程序。經(jīng)測試,所設計的車(chē)位數據采集系統實(shí)現了預期功能要求,且具有低成本、低功耗的特點(diǎn)。
本文引用地址:http://dyxdggzs.com/article/201610/306109.htm關(guān)鍵詞:智能停車(chē)系統;車(chē)位數據采集系統;ZigBee網(wǎng)絡(luò );HMC5883L傳感器
智能停車(chē)系統是城市智能交通體系中的重要組成部分。目前,國內外現有城市智能停車(chē)系統通常由4部分構成:數據采集子系統、數據傳輸子系統、城市級管理控制中心、數據發(fā)布子系統。數據傳輸子系統與城市管理控制中心間,以及城市管理控制中心與數據發(fā)布子系統間,依靠GSM、GPRS、CDMA、3G、4G等移動(dòng)通信方式進(jìn)行通信,需長(cháng)期繳納通信費用,造成系統運營(yíng)成本高。
為此,筆者所在的課題組提出一種無(wú)需建設城市級管理控制中心的系統架構。該架構通過(guò)在城市中的主要停車(chē)場(chǎng)或路邊停車(chē)區域分別部署一個(gè)ZigBee網(wǎng)絡(luò ),再與用戶(hù)的智能手機相配合,即可實(shí)現城市范圍內的智能停車(chē)。用戶(hù)與ZigBee網(wǎng)絡(luò )中控制結點(diǎn)間的小額通信費用,由用戶(hù)進(jìn)行承擔,從而大大降低了城市智能停車(chē)系統的運營(yíng)費用。
本文論述各ZigBee網(wǎng)絡(luò )中的中心結點(diǎn)、路由器結點(diǎn)、終端結點(diǎn)等的主要電路設計及主要軟件模塊設計。
1 停車(chē)場(chǎng)級ZigBee網(wǎng)絡(luò )的組成
部署在各停車(chē)場(chǎng)或路邊停車(chē)區域的ZigBee網(wǎng)絡(luò ),其內部結構如圖1中的方框部分所示。該網(wǎng)絡(luò )由1個(gè)中心結點(diǎn)、若干個(gè)路由器結點(diǎn)、以及數量更多的終端結點(diǎn)等組成。中心結點(diǎn)內部又由微控制器、協(xié)調器結點(diǎn)、GSM/GPRS/CDMA/3G/4G通信模塊(為簡(jiǎn)化起見(jiàn),在后文中簡(jiǎn)稱(chēng)GSM模塊)等組成。每個(gè)終端結點(diǎn)都連接有1個(gè)車(chē)位狀態(tài)檢測傳感器,用于實(shí)時(shí)采集各車(chē)位當前是否空閑。當車(chē)位狀態(tài)發(fā)生變化時(shí),終端結點(diǎn)將通過(guò)附近的路由器結點(diǎn)向協(xié)調器結點(diǎn)進(jìn)行上報。協(xié)調器結點(diǎn)收到車(chē)位狀態(tài)發(fā)生變化的消息后,一方面將消息傳遞給微控制器后存入E2PROM,另一方面通過(guò)路由器結點(diǎn)向終端結點(diǎn)發(fā)送反饋。此外,中心結點(diǎn)的GSM模塊隨時(shí)準備接收用戶(hù)手機發(fā)送的停車(chē)請求,然后將請求傳遞給微控制器,微控制器在E2PROM中查找是否有空閑車(chē)位,最后將找到的空閑車(chē)位或所有車(chē)位已滿(mǎn)的信息通過(guò)GSM模塊反饋給用戶(hù)手機。

2 ZigBee網(wǎng)絡(luò )結點(diǎn)的主要電路設計
2.1 主要芯片選型
系統硬件由中心結點(diǎn)、路由器結點(diǎn)、終端結點(diǎn)等組成。中心結點(diǎn)又由微控制器、協(xié)調器結點(diǎn)、GSM模塊等組成??紤]到某些室外停車(chē)場(chǎng)或路邊停車(chē)區域可能缺乏供電條件,低功耗是硬件設計的首要原則。
微控制器選用恩智浦公司的LPC11C14芯片。該芯片基于Cortex—M0內核,特別適合于集成度較高和超低功耗要求的應用。協(xié)調器結點(diǎn)、路由器結點(diǎn)、終端結點(diǎn)的ZigBee芯片選用TI公司的CC2530芯片。由于從休眠模式轉換到工作模式的耗時(shí)特別短,所以該芯片非常適合低功耗應用。GSM模塊采用了市場(chǎng)上比較成熟的基于SIM300芯片的模塊。
目前常用的停車(chē)位檢測方法有感應線(xiàn)圈技術(shù)、視頻檢測技術(shù)、超聲波感應技術(shù)、紅外探測技術(shù)、地磁檢測技術(shù)等。其中,感應線(xiàn)圈技術(shù)的檢測精度較高,可靠性較好,但安裝維護比較復雜,會(huì )對路面造成一定破壞;視頻檢測技術(shù)直觀(guān)可靠,但數據量很大,檢測的實(shí)時(shí)性較差,特別是會(huì )受到光線(xiàn)不足、灰塵、氣候條件差等的影響;超聲波感應技術(shù)通常需要在車(chē)位的上方安裝傳感器,一般僅適用于部分室內停車(chē)場(chǎng),且成本較高;紅外探測技術(shù)相對成熟,但比較容易會(huì )受到熱源、光源等的干擾而引起誤判;地磁檢測技術(shù)是基于磁阻傳感器的車(chē)位檢測技術(shù),具有尺寸小、便于安裝、對非鐵磁性物體無(wú)反應、可靠性高等特點(diǎn),目前受到國內外的廣泛重視。綜上分析,車(chē)位狀態(tài)檢測傳感器選用霍尼韋爾公司的HMC5883L地磁傳感器。
由于LPC11C14芯片內部不含E2PROM,為實(shí)現車(chē)位狀態(tài)數據在掉電條件下依然能夠存儲,通過(guò)I2C接口外接AT24C02芯片。LPC11C14 與CC2530間的數據通信設計為利用串口進(jìn)行通信。因為L(cháng)PC11C14只含有一個(gè)串口資源,為實(shí)現LPC11C14與GSM模塊的串行通信,采用 SPI轉串口芯片MAX3100進(jìn)行轉換。
LPC11C14板的電源芯片采用MIC5209。MIC5209是一款5 V變3.3 V的穩壓電源芯片,5 V電源供給GSM模塊,3.3 V供給LPC11C14芯片、SPI轉串口電路等。CC2530板的電源芯片采用HT7533,該芯片擁有極低的靜態(tài)電流及高電壓輸入的特性。
2.2 主要電路圖
圖2為微控制器與GSM模塊之間的SPI轉UART電路,SPI線(xiàn)與微控制器相連,UART線(xiàn)與GSM模塊相連。采用的SPI轉UART 芯片為美信公司的MAX3100芯片。MAX3100供電電源為3.3 V,外接晶振可選擇3.686 4 MHz和1.843 2 MHz兩種。SPI接口線(xiàn)主要為MOSI、MISO、SCLK、CS,其中MOSI為主機發(fā)送從機接收,MISO為主機接收從機發(fā)送,SCLK為時(shí)鐘信號,CS為片選線(xiàn)。串口線(xiàn)為T(mén)X、RX,分別為發(fā)送與接收。IRQ需要接上拉電阻保持高電平,原因是在軟件設計時(shí),選擇低電平觸發(fā)外部中斷。

圖3為E2PROM芯片AT24C02的連接電路。圖中,SCL和SDA分別為I2C總線(xiàn)的串行時(shí)鐘管腳、串行數據/地址管腳,A0、A1、A2為從機地址引腳,WP為寫(xiě)保護管腳。因I2C通信中要求SCL和SDA管腳必須處于上拉狀態(tài),所以接有R10和R11兩個(gè)上拉電阻。由于I2C總線(xiàn)上只掛接了一片 AT24C02,因此將A0、A1、A2管腳接地。將WP管腳接地,從而允許對AT24C02器件的正常讀寫(xiě)。A124C02的芯片地址控制格式為8位,前七位為1010A2A1A0,第八位R/W為數據傳輸方向控制位。R/W位用于控制芯片是讀還是寫(xiě)。當該位為0時(shí),對芯片進(jìn)行寫(xiě)操作;當該位為1時(shí),對芯片進(jìn)行讀操作。所以當對芯片進(jìn)行寫(xiě)操作時(shí),芯片地址為A0H;當對芯片進(jìn)行讀操作時(shí),芯片地址為A1H。芯片內的尋址范圍為從00到FF,可對所有 256個(gè)字節進(jìn)行操作。

圖4為基于HMC5883L的車(chē)位傳感器原理圖。C1和C2連接著(zhù)電源穩壓芯片,抑制電壓波動(dòng),保持電路中的電壓穩定。由于I2C通信中要求SCL和 SDA管腳必須處于上拉狀態(tài),所以接有R1和R2兩個(gè)上拉電阻。LED1為電源工作指示燈。C3和C4兩個(gè)外部電容應為具有低ESR特性的陶瓷電容。

3 ZigBee網(wǎng)絡(luò )結點(diǎn)的主要軟件模塊設計
3.1 協(xié)調器接收Z(yǔ)igBee網(wǎng)絡(luò )數據
圖5為協(xié)調器接收Z(yǔ)igBee網(wǎng)絡(luò )數據的程序流程圖。在接收程序中,首先要對系統和任務(wù)管理函數進(jìn)行初始化,其次對主函數 SampleApp()函數進(jìn)行初始化。接著(zhù)進(jìn)入系統的事件輪詢(xún)循環(huán)中,當有事件同時(shí)發(fā)生時(shí),要比較其優(yōu)先級,先處理優(yōu)先級高的事件,事件的優(yōu)先級在初始化中設定。隨后調用事件處理函數,事件處理函數判斷系統消息,如果為接收數據包的消息,則調用數據包處理函數Sample App_MessageMSGCB(),最后判斷事件的序列號,是否為初始化里注冊的序列號,如果是原來(lái)注冊的序列號,則接收該數據包中的數據。由于各終端結點(diǎn)都將所采集的數據傳輸給協(xié)調器,因此采用點(diǎn)播傳輸方式,各結點(diǎn)發(fā)送數據時(shí)的目的地址均為0X0000。

3.2 LPC11C14接收CC2530數據
終端結點(diǎn)通過(guò)傳感器定時(shí)采集車(chē)位狀態(tài),當車(chē)位狀態(tài)變化時(shí),經(jīng)路由器結點(diǎn)轉發(fā)給中心結點(diǎn)的協(xié)調器模塊CC2530。之后,CC2530將接收到的數據通過(guò)串口發(fā)送給微控制器LPC11C14。最后,LPC11C14將接收到的數據存儲到外接的E2PROM芯片AT24C02中。整個(gè)傳輸過(guò)程中,LPC11C14為中斷觸發(fā)方式。圖6以L(fǎng)PC11C14通過(guò)串口接收CC2530數據為例,給出了對應的流程圖,LPC11C14通過(guò)串口向 CC2530發(fā)送數據的過(guò)程類(lèi)似。LPC11C14讀取CC2530采集到的數據后,通過(guò)I2C總線(xiàn)寫(xiě)到外接的AT24C02芯片中。

3.3 LPC11C14收發(fā)GSM模塊數據
當LPC11C14需要向用戶(hù)發(fā)送數據時(shí),先通過(guò)MAX3100的發(fā)送緩沖區TXFIFO發(fā)送給GSM模塊,然后GSM模塊再將數據發(fā)送給智能手機。
當GSM模塊接收到智能手機發(fā)送的數據時(shí),會(huì )把數據發(fā)送到MAX3100的接收緩沖區RXFIFO,然后再把數據傳輸給LPC11C14。由于 MAX3100與LPC11C14為SPI連接,而GSM模塊與MAX3100的連接為串口連接,但是SPI的傳輸速度是串口傳輸速度的幾倍,因此需要在 SPI傳輸前加上一定時(shí)間的延時(shí)。圖7以L(fǎng)PC11C14向GSM模塊發(fā)送數據為例,給出了對應的流程圖,LPC11C14從GSM模塊接收數據的過(guò)程類(lèi)似。

4 系統測試
4.1 HMC5883L采集磁場(chǎng)數據測試
在某小型停車(chē)場(chǎng)的停車(chē)位上進(jìn)行了測試。根據該停車(chē)場(chǎng)的地理朝向,采集數據時(shí)將傳感器X軸正方向朝正北,Y軸正方向朝正西。表1為車(chē)位上沒(méi)有車(chē)時(shí)所采集的數據。表2為將終端結點(diǎn)放置于車(chē)輛下面時(shí)所采集的數據。表中的數字增益為440,即用表中的數字除以440可得到當前各個(gè)軸向以高斯為單位的磁場(chǎng)強度。


從表中數據可以看出,停車(chē)位有車(chē)和無(wú)車(chē)時(shí),X軸和Y軸的讀數變化不是特別明顯,但是Z軸上的讀數有顯著(zhù)的變化,只需要根據Z軸的數據即可判斷停車(chē)位上是否有車(chē)輛。
4.2 ZigBee數據傳輸與存儲測試
圖8為從開(kāi)發(fā)工具IAR中觀(guān)察到的,LPC11C14所接收到的傳感器數據。從該圖右側可看到,當前所接收到的磁場(chǎng)數據為“x:+0147 y:+0250 z:-0247”
為驗證LPC11C14所接收的數據確實(shí)被準確地寫(xiě)到了E2PROM,用邏輯分析儀的探針接在SCL、SDA和MOSI引腳進(jìn)行了測量,圖9為測量結果的時(shí)序圖??蓪⒃搱D按時(shí)間順序分成上、中、下三部分。每一部分都顯示了SCL、SDA和MOSI 3個(gè)引腳在不同時(shí)間段的時(shí)序圖。從各部分SDA管腳時(shí)序圖上方的標注可看出,除必要的ACK應答信號以外,“x:+0147 y:+0250 z:-0247”的磁場(chǎng)強度信息確實(shí)被寫(xiě)到了AT24C02中且被準確讀出。
5 結論
在課題組前期研究成果中,提出一種無(wú)需建設城市級管理控制中心的系統架構,從而有望大大降低城市級智能停車(chē)系統的建設及運營(yíng)成本。
針對該架構中停車(chē)場(chǎng)內車(chē)位狀態(tài)的數據采集問(wèn)題,本文設計了一種基于ZigBee的停車(chē)場(chǎng)車(chē)位數據采集系統,給出了詳細的設計方案、主要電路圖、主要軟件模塊的流程圖,從硬件和軟件兩方面介紹了系統的設計思路和實(shí)現方法。本設計采用HMC5883L地磁傳感器的磁場(chǎng)數據用于車(chē)位檢測,具有尺寸小、安裝方便、可靠性高等優(yōu)點(diǎn)。采用ZigBee技術(shù)組建無(wú)線(xiàn)網(wǎng)絡(luò )用于傳輸各車(chē)位狀態(tài)數據,不產(chǎn)生移動(dòng)通信費用,運營(yíng)成本低。
評論