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

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

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

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

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

3.2 LPC11C14接收CC2530數據
終端結點通過傳感器定時采集車位狀態,當車位狀態變化時,經路由器結點轉發給中心結點的協調器模塊CC2530。之后,CC2530將接收到的數據通過串口發送給微控制器LPC11C14。最后,LPC11C14將接收到的數據存儲到外接的E2PROM芯片AT24C02中。整個傳輸過程中,LPC11C14為中斷觸發方式。圖6以LPC11C14通過串口接收CC2530數據為例,給出了對應的流程圖,LPC11C14通過串口向 CC2530發送數據的過程類似。LPC11C14讀取CC2530采集到的數據后,通過I2C總線寫到外接的AT24C02芯片中。

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

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


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