基于HMC5883L的停車位ZigBee數(shù)據(jù)采集系統(tǒng)
摘要:前期研究提出一種智能手機(jī)與ZigBee網(wǎng)絡(luò)相結(jié)合的智能停車系統(tǒng)總體架構(gòu),具有低成本、交互性強(qiáng)等優(yōu)點(diǎn)。為具體實(shí)現(xiàn)該架構(gòu)中使用的 ZigBee網(wǎng)絡(luò),設(shè)計(jì)了一套停車場(chǎng)車位數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)基于ZigBee技術(shù)搭建,由中心結(jié)點(diǎn)、路由器結(jié)點(diǎn)和終端結(jié)點(diǎn)組成。中心結(jié)點(diǎn)的微控制器選用低功耗的LPC11C14,GSM模塊選用SIM300模塊。三類結(jié)點(diǎn)的ZigBee通信芯片選用CC2530。綜合多方面因素,選用基于地磁檢測(cè)技術(shù)的 HMC5883L作為車位傳感器,尺寸小、安裝方便、對(duì)非鐵磁性物體無(wú)反應(yīng)、可靠性高是該傳感器的優(yōu)點(diǎn)。在硬件電路的基礎(chǔ)上,設(shè)計(jì)了三類結(jié)點(diǎn)的數(shù)據(jù)收發(fā)和控制程序。經(jīng)測(cè)試,所設(shè)計(jì)的車位數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)了預(yù)期功能要求,且具有低成本、低功耗的特點(diǎn)。
本文引用地址:http://butianyuan.cn/article/201610/306109.htm關(guān)鍵詞:智能停車系統(tǒng);車位數(shù)據(jù)采集系統(tǒng);ZigBee網(wǎng)絡(luò);HMC5883L傳感器
智能停車系統(tǒng)是城市智能交通體系中的重要組成部分。目前,國(guó)內(nèi)外現(xiàn)有城市智能停車系統(tǒng)通常由4部分構(gòu)成:數(shù)據(jù)采集子系統(tǒng)、數(shù)據(jù)傳輸子系統(tǒng)、城市級(jí)管理控制中心、數(shù)據(jù)發(fā)布子系統(tǒng)。數(shù)據(jù)傳輸子系統(tǒng)與城市管理控制中心間,以及城市管理控制中心與數(shù)據(jù)發(fā)布子系統(tǒng)間,依靠GSM、GPRS、CDMA、3G、4G等移動(dòng)通信方式進(jìn)行通信,需長(zhǎng)期繳納通信費(fèi)用,造成系統(tǒng)運(yùn)營(yíng)成本高。
為此,筆者所在的課題組提出一種無(wú)需建設(shè)城市級(jí)管理控制中心的系統(tǒng)架構(gòu)。該架構(gòu)通過(guò)在城市中的主要停車場(chǎng)或路邊停車區(qū)域分別部署一個(gè)ZigBee網(wǎng)絡(luò),再與用戶的智能手機(jī)相配合,即可實(shí)現(xiàn)城市范圍內(nèi)的智能停車。用戶與ZigBee網(wǎng)絡(luò)中控制結(jié)點(diǎn)間的小額通信費(fèi)用,由用戶進(jìn)行承擔(dān),從而大大降低了城市智能停車系統(tǒng)的運(yùn)營(yíng)費(fèi)用。
本文論述各ZigBee網(wǎng)絡(luò)中的中心結(jié)點(diǎn)、路由器結(jié)點(diǎn)、終端結(jié)點(diǎn)等的主要電路設(shè)計(jì)及主要軟件模塊設(shè)計(jì)。
1 停車場(chǎng)級(jí)ZigBee網(wǎng)絡(luò)的組成
部署在各停車場(chǎng)或路邊停車區(qū)域的ZigBee網(wǎng)絡(luò),其內(nèi)部結(jié)構(gòu)如圖1中的方框部分所示。該網(wǎng)絡(luò)由1個(gè)中心結(jié)點(diǎn)、若干個(gè)路由器結(jié)點(diǎn)、以及數(shù)量更多的終端結(jié)點(diǎn)等組成。中心結(jié)點(diǎn)內(nèi)部又由微控制器、協(xié)調(diào)器結(jié)點(diǎn)、GSM/GPRS/CDMA/3G/4G通信模塊(為簡(jiǎn)化起見,在后文中簡(jiǎn)稱GSM模塊)等組成。每個(gè)終端結(jié)點(diǎn)都連接有1個(gè)車位狀態(tài)檢測(cè)傳感器,用于實(shí)時(shí)采集各車位當(dāng)前是否空閑。當(dāng)車位狀態(tài)發(fā)生變化時(shí),終端結(jié)點(diǎn)將通過(guò)附近的路由器結(jié)點(diǎn)向協(xié)調(diào)器結(jié)點(diǎn)進(jìn)行上報(bào)。協(xié)調(diào)器結(jié)點(diǎn)收到車位狀態(tài)發(fā)生變化的消息后,一方面將消息傳遞給微控制器后存入E2PROM,另一方面通過(guò)路由器結(jié)點(diǎn)向終端結(jié)點(diǎn)發(fā)送反饋。此外,中心結(jié)點(diǎn)的GSM模塊隨時(shí)準(zhǔn)備接收用戶手機(jī)發(fā)送的停車請(qǐng)求,然后將請(qǐng)求傳遞給微控制器,微控制器在E2PROM中查找是否有空閑車位,最后將找到的空閑車位或所有車位已滿的信息通過(guò)GSM模塊反饋給用戶手機(jī)。
2 ZigBee網(wǎng)絡(luò)結(jié)點(diǎn)的主要電路設(shè)計(jì)
2.1 主要芯片選型
系統(tǒng)硬件由中心結(jié)點(diǎn)、路由器結(jié)點(diǎn)、終端結(jié)點(diǎn)等組成。中心結(jié)點(diǎn)又由微控制器、協(xié)調(diào)器結(jié)點(diǎn)、GSM模塊等組成??紤]到某些室外停車場(chǎng)或路邊停車區(qū)域可能缺乏供電條件,低功耗是硬件設(shè)計(jì)的首要原則。
微控制器選用恩智浦公司的LPC11C14芯片。該芯片基于Cortex—M0內(nèi)核,特別適合于集成度較高和超低功耗要求的應(yīng)用。協(xié)調(diào)器結(jié)點(diǎn)、路由器結(jié)點(diǎn)、終端結(jié)點(diǎn)的ZigBee芯片選用TI公司的CC2530芯片。由于從休眠模式轉(zhuǎn)換到工作模式的耗時(shí)特別短,所以該芯片非常適合低功耗應(yīng)用。GSM模塊采用了市場(chǎng)上比較成熟的基于SIM300芯片的模塊。
目前常用的停車位檢測(cè)方法有感應(yīng)線圈技術(shù)、視頻檢測(cè)技術(shù)、超聲波感應(yīng)技術(shù)、紅外探測(cè)技術(shù)、地磁檢測(cè)技術(shù)等。其中,感應(yīng)線圈技術(shù)的檢測(cè)精度較高,可靠性較好,但安裝維護(hù)比較復(fù)雜,會(huì)對(duì)路面造成一定破壞;視頻檢測(cè)技術(shù)直觀可靠,但數(shù)據(jù)量很大,檢測(cè)的實(shí)時(shí)性較差,特別是會(huì)受到光線不足、灰塵、氣候條件差等的影響;超聲波感應(yīng)技術(shù)通常需要在車位的上方安裝傳感器,一般僅適用于部分室內(nèi)停車場(chǎng),且成本較高;紅外探測(cè)技術(shù)相對(duì)成熟,但比較容易會(huì)受到熱源、光源等的干擾而引起誤判;地磁檢測(cè)技術(shù)是基于磁阻傳感器的車位檢測(cè)技術(shù),具有尺寸小、便于安裝、對(duì)非鐵磁性物體無(wú)反應(yīng)、可靠性高等特點(diǎn),目前受到國(guó)內(nèi)外的廣泛重視。綜上分析,車位狀態(tài)檢測(cè)傳感器選用霍尼韋爾公司的HMC5883L地磁傳感器。
由于LPC11C14芯片內(nèi)部不含E2PROM,為實(shí)現(xiàn)車位狀態(tài)數(shù)據(jù)在掉電條件下依然能夠存儲(chǔ),通過(guò)I2C接口外接AT24C02芯片。LPC11C14 與CC2530間的數(shù)據(jù)通信設(shè)計(jì)為利用串口進(jìn)行通信。因?yàn)長(zhǎng)PC11C14只含有一個(gè)串口資源,為實(shí)現(xiàn)LPC11C14與GSM模塊的串行通信,采用 SPI轉(zhuǎn)串口芯片MAX3100進(jìn)行轉(zhuǎn)換。
LPC11C14板的電源芯片采用MIC5209。MIC5209是一款5 V變3.3 V的穩(wěn)壓電源芯片,5 V電源供給GSM模塊,3.3 V供給LPC11C14芯片、SPI轉(zhuǎn)串口電路等。CC2530板的電源芯片采用HT7533,該芯片擁有極低的靜態(tài)電流及高電壓輸入的特性。
2.2 主要電路圖
圖2為微控制器與GSM模塊之間的SPI轉(zhuǎn)UART電路,SPI線與微控制器相連,UART線與GSM模塊相連。采用的SPI轉(zhuǎn)UART 芯片為美信公司的MAX3100芯片。MAX3100供電電源為3.3 V,外接晶振可選擇3.686 4 MHz和1.843 2 MHz兩種。SPI接口線主要為MOSI、MISO、SCLK、CS,其中MOSI為主機(jī)發(fā)送從機(jī)接收,MISO為主機(jī)接收從機(jī)發(fā)送,SCLK為時(shí)鐘信號(hào),CS為片選線。串口線為TX、RX,分別為發(fā)送與接收。IRQ需要接上拉電阻保持高電平,原因是在軟件設(shè)計(jì)時(shí),選擇低電平觸發(fā)外部中斷。
圖3為E2PROM芯片AT24C02的連接電路。圖中,SCL和SDA分別為I2C總線的串行時(shí)鐘管腳、串行數(shù)據(jù)/地址管腳,A0、A1、A2為從機(jī)地址引腳,WP為寫保護(hù)管腳。因I2C通信中要求SCL和SDA管腳必須處于上拉狀態(tài),所以接有R10和R11兩個(gè)上拉電阻。由于I2C總線上只掛接了一片 AT24C02,因此將A0、A1、A2管腳接地。將WP管腳接地,從而允許對(duì)AT24C02器件的正常讀寫。A124C02的芯片地址控制格式為8位,前七位為1010A2A1A0,第八位R/W為數(shù)據(jù)傳輸方向控制位。R/W位用于控制芯片是讀還是寫。當(dāng)該位為0時(shí),對(duì)芯片進(jìn)行寫操作;當(dāng)該位為1時(shí),對(duì)芯片進(jìn)行讀操作。所以當(dāng)對(duì)芯片進(jìn)行寫操作時(shí),芯片地址為A0H;當(dāng)對(duì)芯片進(jìn)行讀操作時(shí),芯片地址為A1H。芯片內(nèi)的尋址范圍為從00到FF,可對(duì)所有 256個(gè)字節(jié)進(jìn)行操作。
圖4為基于HMC5883L的車位傳感器原理圖。C1和C2連接著電源穩(wěn)壓芯片,抑制電壓波動(dòng),保持電路中的電壓穩(wěn)定。由于I2C通信中要求SCL和 SDA管腳必須處于上拉狀態(tài),所以接有R1和R2兩個(gè)上拉電阻。LED1為電源工作指示燈。C3和C4兩個(gè)外部電容應(yīng)為具有低ESR特性的陶瓷電容。
3 ZigBee網(wǎng)絡(luò)結(jié)點(diǎn)的主要軟件模塊設(shè)計(jì)
3.1 協(xié)調(diào)器接收Z(yǔ)igBee網(wǎng)絡(luò)數(shù)據(jù)
圖5為協(xié)調(diào)器接收Z(yǔ)igBee網(wǎng)絡(luò)數(shù)據(jù)的程序流程圖。在接收程序中,首先要對(duì)系統(tǒng)和任務(wù)管理函數(shù)進(jìn)行初始化,其次對(duì)主函數(shù) SampleApp()函數(shù)進(jìn)行初始化。接著進(jìn)入系統(tǒng)的事件輪詢循環(huán)中,當(dāng)有事件同時(shí)發(fā)生時(shí),要比較其優(yōu)先級(jí),先處理優(yōu)先級(jí)高的事件,事件的優(yōu)先級(jí)在初始化中設(shè)定。隨后調(diào)用事件處理函數(shù),事件處理函數(shù)判斷系統(tǒng)消息,如果為接收數(shù)據(jù)包的消息,則調(diào)用數(shù)據(jù)包處理函數(shù)Sample App_MessageMSGCB(),最后判斷事件的序列號(hào),是否為初始化里注冊(cè)的序列號(hào),如果是原來(lái)注冊(cè)的序列號(hào),則接收該數(shù)據(jù)包中的數(shù)據(jù)。由于各終端結(jié)點(diǎn)都將所采集的數(shù)據(jù)傳輸給協(xié)調(diào)器,因此采用點(diǎn)播傳輸方式,各結(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí)的目的地址均為0X0000。
3.2 LPC11C14接收CC2530數(shù)據(jù)
終端結(jié)點(diǎn)通過(guò)傳感器定時(shí)采集車位狀態(tài),當(dāng)車位狀態(tài)變化時(shí),經(jīng)路由器結(jié)點(diǎn)轉(zhuǎn)發(fā)給中心結(jié)點(diǎn)的協(xié)調(diào)器模塊CC2530。之后,CC2530將接收到的數(shù)據(jù)通過(guò)串口發(fā)送給微控制器LPC11C14。最后,LPC11C14將接收到的數(shù)據(jù)存儲(chǔ)到外接的E2PROM芯片AT24C02中。整個(gè)傳輸過(guò)程中,LPC11C14為中斷觸發(fā)方式。圖6以LPC11C14通過(guò)串口接收CC2530數(shù)據(jù)為例,給出了對(duì)應(yīng)的流程圖,LPC11C14通過(guò)串口向 CC2530發(fā)送數(shù)據(jù)的過(guò)程類似。LPC11C14讀取CC2530采集到的數(shù)據(jù)后,通過(guò)I2C總線寫到外接的AT24C02芯片中。
3.3 LPC11C14收發(fā)GSM模塊數(shù)據(jù)
當(dāng)LPC11C14需要向用戶發(fā)送數(shù)據(jù)時(shí),先通過(guò)MAX3100的發(fā)送緩沖區(qū)TXFIFO發(fā)送給GSM模塊,然后GSM模塊再將數(shù)據(jù)發(fā)送給智能手機(jī)。
當(dāng)GSM模塊接收到智能手機(jī)發(fā)送的數(shù)據(jù)時(shí),會(huì)把數(shù)據(jù)發(fā)送到MAX3100的接收緩沖區(qū)RXFIFO,然后再把數(shù)據(jù)傳輸給LPC11C14。由于 MAX3100與LPC11C14為SPI連接,而GSM模塊與MAX3100的連接為串口連接,但是SPI的傳輸速度是串口傳輸速度的幾倍,因此需要在 SPI傳輸前加上一定時(shí)間的延時(shí)。圖7以LPC11C14向GSM模塊發(fā)送數(shù)據(jù)為例,給出了對(duì)應(yīng)的流程圖,LPC11C14從GSM模塊接收數(shù)據(jù)的過(guò)程類似。
4 系統(tǒng)測(cè)試
4.1 HMC5883L采集磁場(chǎng)數(shù)據(jù)測(cè)試
在某小型停車場(chǎng)的停車位上進(jìn)行了測(cè)試。根據(jù)該停車場(chǎng)的地理朝向,采集數(shù)據(jù)時(shí)將傳感器X軸正方向朝正北,Y軸正方向朝正西。表1為車位上沒(méi)有車時(shí)所采集的數(shù)據(jù)。表2為將終端結(jié)點(diǎn)放置于車輛下面時(shí)所采集的數(shù)據(jù)。表中的數(shù)字增益為440,即用表中的數(shù)字除以440可得到當(dāng)前各個(gè)軸向以高斯為單位的磁場(chǎng)強(qiáng)度。
從表中數(shù)據(jù)可以看出,停車位有車和無(wú)車時(shí),X軸和Y軸的讀數(shù)變化不是特別明顯,但是Z軸上的讀數(shù)有顯著的變化,只需要根據(jù)Z軸的數(shù)據(jù)即可判斷停車位上是否有車輛。
4.2 ZigBee數(shù)據(jù)傳輸與存儲(chǔ)測(cè)試
圖8為從開發(fā)工具IAR中觀察到的,LPC11C14所接收到的傳感器數(shù)據(jù)。從該圖右側(cè)可看到,當(dāng)前所接收到的磁場(chǎng)數(shù)據(jù)為“x:+0147 y:+0250 z:-0247”
為驗(yàn)證LPC11C14所接收的數(shù)據(jù)確實(shí)被準(zhǔn)確地寫到了E2PROM,用邏輯分析儀的探針接在SCL、SDA和MOSI引腳進(jìn)行了測(cè)量,圖9為測(cè)量結(jié)果的時(shí)序圖??蓪⒃搱D按時(shí)間順序分成上、中、下三部分。每一部分都顯示了SCL、SDA和MOSI 3個(gè)引腳在不同時(shí)間段的時(shí)序圖。從各部分SDA管腳時(shí)序圖上方的標(biāo)注可看出,除必要的ACK應(yīng)答信號(hào)以外,“x:+0147 y:+0250 z:-0247”的磁場(chǎng)強(qiáng)度信息確實(shí)被寫到了AT24C02中且被準(zhǔn)確讀出。
5 結(jié)論
在課題組前期研究成果中,提出一種無(wú)需建設(shè)城市級(jí)管理控制中心的系統(tǒng)架構(gòu),從而有望大大降低城市級(jí)智能停車系統(tǒng)的建設(shè)及運(yùn)營(yíng)成本。
針對(duì)該架構(gòu)中停車場(chǎng)內(nèi)車位狀態(tài)的數(shù)據(jù)采集問(wèn)題,本文設(shè)計(jì)了一種基于ZigBee的停車場(chǎng)車位數(shù)據(jù)采集系統(tǒng),給出了詳細(xì)的設(shè)計(jì)方案、主要電路圖、主要軟件模塊的流程圖,從硬件和軟件兩方面介紹了系統(tǒng)的設(shè)計(jì)思路和實(shí)現(xiàn)方法。本設(shè)計(jì)采用HMC5883L地磁傳感器的磁場(chǎng)數(shù)據(jù)用于車位檢測(cè),具有尺寸小、安裝方便、可靠性高等優(yōu)點(diǎn)。采用ZigBee技術(shù)組建無(wú)線網(wǎng)絡(luò)用于傳輸各車位狀態(tài)數(shù)據(jù),不產(chǎn)生移動(dòng)通信費(fèi)用,運(yùn)營(yíng)成本低。
評(píng)論