周 鵬,魏英華,覃光勇,李建風,呂正陽
(1.中國石油大學(華東)山東 青島 266580;2.中國石油天然氣管道通信電力工程總公司 河北 廊坊 065000)
智能停車系統是城市智能交通體系中的重要組成部分。目前,國內外現有城市智能停車系統通常由4部分構成:數據采集子系統、數據傳輸子系統、城市級管理控制中心、數據發(fā)布子系統。數據傳輸子系統與城市管理控制中心間,以及城市管理控制中心與數據發(fā)布子系統間,依靠GSM、GPRS、CDMA、3G、4G等移動通信方式進行通信,需長期繳納通信費用,造成系統運營成本高。
為此,筆者所在的課題組提出一種無需建設城市級管理控制中心的系統架構[1-2]。該架構通過在城市中的主要停車場或路邊停車區(qū)域分別部署一個ZigBee網絡,再與用戶的智能手機相配合,即可實現城市范圍內的智能停車。用戶與ZigBee網絡中控制結點間的小額通信費用,由用戶進行承擔,從而大大降低了城市智能停車系統的運營費用。
本文論述各ZigBee網絡中的中心結點、路由器結點、終端結點等的主要電路設計及主要軟件模塊設計。
部署在各停車場或路邊停車區(qū)域的ZigBee網絡,其內部結構如圖1中的方框部分所示。該網絡由1個中心結點、若干個路由器結點、以及數量更多的終端結點等組成。中心結點內部又由微控制器、協調器結點、GSM/GPRS/CDMA/3G/4G通信模塊(為簡化起見,在后文中簡稱GSM模塊)等組成。每個終端結點都連接有1個車位狀態(tài)檢測傳感器,用于實時采集各車位當前是否空閑。當車位狀態(tài)發(fā)生變化時,終端結點將通過附近的路由器結點向協調器結點進行上報。協調器結點收到車位狀態(tài)發(fā)生變化的消息后,一方面將消息傳遞給微控制器后存入E2PROM,另一方面通過路由器結點向終端結點發(fā)送反饋。此外,中心結點的GSM模塊隨時準備接收用戶手機發(fā)送的停車請求,然后將請求傳遞給微控制器,微控制器在E2PROM中查找是否有空閑車位,最后將找到的空閑車位或所有車位已滿的信息通過GSM模塊反饋給用戶手機。
圖1 停車場級ZigBee網絡的組成Fig.1 Composition of designed ZigBee networks
系統硬件由中心結點、路由器結點、終端結點等組成[1]。中心結點又由微控制器、協調器結點、GSM模塊等組成??紤]到某些室外停車場或路邊停車區(qū)域可能缺乏供電條件,低功耗是硬件設計的首要原則。
微控制器選用恩智浦公司的LPC11C14芯片。該芯片基于Cortex-M0內核,特別適合于集成度較高和超低功耗要求的應用。協調器結點、路由器結點、終端結點的ZigBee芯片選用TI公司的CC2530芯片。由于從休眠模式轉換到工作模式的耗時特別短,所以該芯片非常適合低功耗應用。GSM模塊采用了市場上比較成熟的基于SIM300芯片的模塊。
目前常用的停車位檢測方法有感應線圈技術、視頻檢測技術、超聲波感應技術[3]、紅外探測技術、地磁檢測技術[4]等。其中,感應線圈技術的檢測精度較高,可靠性較好,但安裝維護比較復雜,會對路面造成一定破壞;視頻檢測技術直觀可靠,但數據量很大,檢測的實時性較差,特別是會受到光線不足、灰塵、氣候條件差等的影響;超聲波感應技術通常需要在車位的上方安裝傳感器,一般僅適用于部分室內停車場,且成本較高;紅外探測技術相對成熟,但比較容易會受到熱源、光源等的干擾而引起誤判;地磁檢測技術是基于磁阻傳感器的車位檢測技術,具有尺寸小、便于安裝、對非鐵磁性物體無反應、可靠性高等特點,目前受到國內外的廣泛重視。綜上分析,車位狀態(tài)檢測傳感器選用霍尼韋爾公司的HMC5883L地磁傳感器。
由于LPC11C14芯片內部不含E2PROM,為實現車位狀態(tài)數據在掉電條件下依然能夠存儲,通過I2C接口外接AT24C02芯片。LPC11C14與CC2530間的數據通信設計為利用串口進行通信。因為LPC11C14只含有一個串口資源,為實現LPC11C14與GSM模塊的串行通信,采用SPI轉串口芯片MAX3100進行轉換。
LPC11C14板的電源芯片采用MIC5209。MIC5209是一款5 V變3.3 V的穩(wěn)壓電源芯片,5 V電源供給GSM模塊,3.3 V供給LPC11C14芯片、SPI轉串口電路等。CC2530板的電源芯片采用HT7533,該芯片擁有極低的靜態(tài)電流及高電壓輸入的特性。
圖2為微控制器與GSM模塊之間的SPI轉UART電路[2],SPI線與微控制器相連,UART線與GSM模塊相連。采用的SPI轉UART芯片為美信公司的MAX3100芯片。MAX3100供電電源為3.3 V,外接晶振可選擇3.686 4 MHz和1.843 2 MHz兩種[5]。 SPI接口線主要為 MOSI、MISO、SCLK、CS,其中MOSI為主機發(fā)送從機接收,MISO為主機接收從機發(fā)送,SCLK為時鐘信號,CS為片選線。串口線為TX、RX,分別為發(fā)送與接收。IRQ需要接上拉電阻保持高電平,原因是在軟件設計時,選擇低電平觸發(fā)外部中斷。
圖2 SPI轉UART電路原理圖Fig.2 Schematic diagram of conversion between SPIand UART
圖3 為E2PROM芯片AT24C02的連接電路[2]。圖中,SCL和SDA分別為I2C總線的串行時鐘管腳、串行數據/地址管腳,A0、A1、A2為從機地址引腳,WP為寫保護管腳。因I2C通信中要求SCL和SDA管腳必須處于上拉狀態(tài),所以接有R10和R11兩個上拉電阻。由于I2C總線上只掛接了一片AT24C02,因此將A0、A1、A2管腳接地。將WP管腳接地,從而允許對AT24C02器件的正常讀寫。AT24C02的芯片地址控制格式為8位,前七位為1010A2A1A0,第八位 R/W為數據傳輸方向控制位。R/W位用于控制芯片是讀還是寫。當該位為0時,對芯片進行寫操作;當該位為1時,對芯片進行讀操作。所以當對芯片進行寫操作時,芯片地址為A0H;當對芯片進行讀操作時,芯片地址為A1H。芯片內的尋址范圍為從00到FF,可對所有256個字節(jié)進行操作。
圖4為基于HMC5883L的車位傳感器原理圖[2]。C1和C2連接著電源穩(wěn)壓芯片,抑制電壓波動,保持電路中的電壓穩(wěn)定。由于I2C通信中要求SCL和SDA管腳必須處于上拉狀態(tài),所以接有R1和R2兩個上拉電阻。LED1為電源工作指示燈。C3和C4兩個外部電容應為具有低ESR特性的陶瓷電容。
圖3 AT24C02電路原理圖Fig.3 Schematic diagram of AT24C02
圖4 HMC5883L電路原理圖Fig.4 Schematic diagram of HMC5883L sensors
圖5為協調器接收ZigBee網絡數據的程序流程圖[2]。在接收程序中,首先要對系統和任務管理函數進行初始化,其次對主函數SampleApp()函數進行初始化。接著進入系統的事件輪詢循環(huán)中,當有事件同時發(fā)生時,要比較其優(yōu)先級,先處理優(yōu)先級高的事件,事件的優(yōu)先級在初始化中設定。隨后調用事件處理函數,事件處理函數判斷系統消息,如果為接收數據包的消息,則調用數據包處理函數Sample App_MessageMSGCB(),最后判斷事件的序列號,是否為初始化里注冊的序列號,如果是原來注冊的序列號,則接收該數據包中的數據。由于各終端結點都將所采集的數據傳輸給協調器,因此采用點播傳輸方式,各結點發(fā)送數據時的目的地址均為0X0000[6]。
終端結點通過傳感器定時采集車位狀態(tài),當車位狀態(tài)變化時,經路由器結點轉發(fā)給中心結點的協調器模塊CC2530。之后,CC2530將接收到的數據通過串口發(fā)送給微控制器LPC11C14。最后,LPC11C14將接收到的數據存儲到外接的E2PROM芯片AT24C02中。整個傳輸過程中,LPC11C14為中斷觸發(fā)方式。圖6以LPC11C14通過串口接收CC2530數據為例,給出了對應的流程圖,LPC11C14通過串口向CC2530發(fā)送數據的過程類似。LPC11C14讀取CC2530采集到的數據后,通過I2C總線寫到外接的AT24C02芯片中。
圖5 協調器接收ZigBee網絡數據的流程圖Fig.5 Flowchart of coordinators'reception process of data from Zigbee networks
當LPC11C14需要向用戶發(fā)送數據時,先通過MAX3100的發(fā)送緩沖區(qū)TXFIFO發(fā)送給GSM模塊,然后GSM模塊再將數據發(fā)送給智能手機。
圖6 LPC11C14接收CC2530數據的流程圖Fig.6 Flowchart of LPC11C14's reception process of data from CC2530
當GSM模塊接收到智能手機發(fā)送的數據時,會把數據發(fā)送到MAX3100的接收緩沖區(qū)RXFIFO,然后再把數據傳輸給 LPC11C14。由于 MAX3100與LPC11C14為 SPI連接,而GSM模塊與MAX3100的連接為串口連接,但是SPI的傳輸速度是串口傳輸速度的幾倍,因此需要在SPI傳輸前加上一定時間的延時。圖7以LPC11C14向GSM模塊發(fā)送數據為例,給出了對應的流程圖,LPC11C14從GSM模塊接收數據的過程類似。
圖7 LPC11C14向GSM模塊發(fā)送數據的流程圖Fig.7 Flowchart of LPC11C14's transmission process of data to GSM modules
在某小型停車場的停車位上進行了測試。根據該停車場的地理朝向,采集數據時將傳感器X軸正方向朝正北,Y軸正方向朝正西。表1為車位上沒有車時所采集的數據[2]。表2為將終端結點放置于車輛下面時所采集的數據[2]。表中的數字增益為440,即用表中的數字除以440可得到當前各個軸向以高斯為單位的磁場強度。
表1 空車位上的數據采集表Tab.1 Data set sampled at free parking spaces
從表中數據可以看出,停車位有車和無車時,X軸和Y軸的讀數變化不是特別明顯,但是Z軸上的讀數有顯著的變化,只需要根據Z軸的數據即可判斷停車位上是否有車輛。
表2 有車位時的數據采集表Tab.2 Data set sampled at occupied parking spaces
圖8為從開發(fā)工具IAR中觀察到的,LPC11C 14所接收到的傳感器數據[2]。從該圖右側可看到,當前所接收到的磁場數據為“x:+0147 y:+0250 z:-0247”。
為驗證LPC11C14所接收的數據確實被準確地寫到了E2PROM,用邏輯分析儀的探針接在SCL、SDA和MOSI引腳進行了測量,圖9為測量結果的時序圖[2]??蓪⒃搱D按時間順序分成上、中、下三部分。每一部分都顯示了SCL、SDA和MOSI 3個引腳在不同時間段的時序圖。從各部分SDA管腳時序圖上方的標注可看出,除必要的ACK應答信號以外,“x:+0147 y:+0250 z:-0247”的磁場強度信息確實被寫到了AT24C02中且被準確讀出。
在課題組前期研究成果中,提出一種無需建設城市級管理控制中心的系統架構,從而有望大大降低城市級智能停車系統的建設及運營成本。
針對該架構中停車場內車位狀態(tài)的數據采集問題,本文設計了一種基于ZigBee的停車場車位數據采集系統,給出了詳細的設計方案、主要電路圖、主要軟件模塊的流程圖,從硬件和軟件兩方面介紹了系統的設計思路和實現方法。本設計采用HMC5883L地磁傳感器的磁場數據用于車位檢測,具有尺寸小、安裝方便、可靠性高等優(yōu)點。采用ZigBee技術組建無線網絡用于傳輸各車位狀態(tài)數據,不產生移動通信費用,運營成本低。
圖8 IAR中觀察到的LPC11C14接收的磁場數據Fig.8 Magnetic field values received by LPC11C14 displayed in IARsoftware
圖9 邏輯分析儀讀取的E2PROM中的數據Fig.9 Values stored at E2PROM displayed on logic analyzer
[1]周鵬,覃光勇,戴永壽.一種低成本城市停車誘導系統中區(qū)域性ZigBee網絡的設計[J].電子設計工程,2014,22(13):11-14,17.ZHOU Peng,QIN Guang-yong,DAI Yong-shou.The design of regional Zigbee network in a low-cost urban parking guidance information system[J].Electronic Design Engineering,2014,22(13):11-14,17.
[2]覃光勇.城市智能停車系統中停車場級ZigBee網絡的設計[D].青島:中國石油大學(華東),2014.
[3]劉維波.基于Zigbee無線傳感網絡的超聲波車位檢測系統[D].西安:長安大學,2011.
[4]胡瓊.磁阻傳感器在停車場車位檢測中的應用 [D].上海:華東理工大學,2011.
[5]楊恢先,王子菡,楊穗.新型通用異步收發(fā)器MAX3100在單片機系統中的應用[J].電子器件,2004,27(1):107-111.YANG Hui-xian,WANG Zi-han,YANG Sui.The appliance of UART MAX3100 in the single chip system[J].Chinese Journal of Electron Devices,2004,27(1):107-111.
[6]呂治安.ZigBee網絡原理與應用開發(fā)[M].北京:北京航空航天大學出版社,2008.