董簡然,封維忠
(南京林業(yè)大學(xué) 信息科學(xué)技術(shù)學(xué)院,江蘇 南京 210037)
?
基于ARM的車輛位置監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)
董簡然,封維忠
(南京林業(yè)大學(xué) 信息科學(xué)技術(shù)學(xué)院,江蘇 南京 210037)
設(shè)計一款依靠準(zhǔn)確的數(shù)據(jù)定位配合通信技術(shù)及電子地圖的車輛位置監(jiān)控系統(tǒng),用來實現(xiàn)車輛和監(jiān)控中心信息交互,提高交通運(yùn)行效率和改善交通擁擠現(xiàn)象。利用微處理器ARM@ CortexTM-M3處理GPS接收到的衛(wèi)星信號,通過GPRS模塊將運(yùn)算和整理后的數(shù)據(jù)發(fā)送到互聯(lián)網(wǎng),上位機(jī)根據(jù)程序接收互聯(lián)網(wǎng)上的數(shù)據(jù)調(diào)用谷歌地圖實時顯示車輛位置信息。借助此系統(tǒng)能夠直觀且方便對車輛位置分析和管理調(diào)度,達(dá)到監(jiān)控的目的。
STM32;硬件設(shè)計;軟件設(shè)計;車輛監(jiān)控系統(tǒng)
目前我國正處在經(jīng)濟(jì)飛速增長的階段,除了工程車輛的管理調(diào)度問題,如火如荼的物流行業(yè)的快速、可靠、穩(wěn)定運(yùn)送效率,以及出租車存在著很大的空客率,究其原因是缺少對物流車輛和乘客車輛合理科學(xué)的監(jiān)控和調(diào)度。如何對車輛進(jìn)行有效的管理、科學(xué)的調(diào)度、安全的運(yùn)營成為解決當(dāng)前緊張交通局勢的首要問題。GPS全球定位系統(tǒng)的建立以及我國通訊事業(yè)的迅猛發(fā)展為廣大用戶提供了廉價的定位手段,促進(jìn)了車輛監(jiān)控與調(diào)度系統(tǒng)的發(fā)展。
GPS定位技術(shù)使車輛位置監(jiān)控中的實時數(shù)據(jù)跟蹤成為可能,通信技術(shù)則在GIS軟件平臺和GPS之間建立起了一座數(shù)據(jù)通信的橋梁,實現(xiàn)遠(yuǎn)程通信。本文設(shè)計的車輛位置監(jiān)控系統(tǒng)如圖1所示。
圖1 系統(tǒng)總體框架
本文設(shè)計的車輛位置監(jiān)控系統(tǒng)所涉及到的硬件部分主要包括ARM@ CortexTM-M3微處理器,GPS模塊電路,GPRS模塊電路等。硬件總體思路如下:先設(shè)計STM32F103ZET6硬件電路,再設(shè)計處理單元與傳感器的外圍電路[1]。搭建這些硬件電路,分步驟調(diào)試測量。
2.1 STM32F103ZET6硬件電路設(shè)計
STM32F103ZET6使用高性能的ARM@ CortexTM-M3,32位的RISC內(nèi)核,工作頻率為36 MHz,內(nèi)置高速存儲器(高達(dá)128K字節(jié)的閃和16K存字節(jié)的SRAM),豐富地增強(qiáng)I/O端口和連接到兩條APB總線的外設(shè),包含標(biāo)準(zhǔn)的通信接口(2個I2C接口、2個SPI接口和3個USART接口),一個12位ADC和3個通用16位定時器。
ARM@ CortexTM-M3處理器為實現(xiàn)MCU的需要提供了低成本平臺,降低系統(tǒng)功耗,同時提供卓越的計算性能和先進(jìn)中斷系統(tǒng)響應(yīng)。STM32F103ZET6內(nèi)置嵌套的向量式中斷控制器,能夠處理多達(dá)43個可屏蔽中斷通道(不包括16個CortexTM-M3的中斷線)和16個優(yōu)先級,該模塊以最小的中斷延遲提供靈活中斷管理功能。外部中斷/事件控制器包含19個邊沿檢測器,用于產(chǎn)生中斷/事件請求。每個中斷線都可以獨(dú)立地配置它的觸發(fā)事件(上升沿或下降沿或雙邊沿),并能夠單獨(dú)地被屏蔽;有一個掛起寄存器維持所有中斷請求的狀態(tài)。EXTI可以檢測到脈沖寬度小于內(nèi)部APB2的時鐘周期。多達(dá)80個通用I/O口連接到16個外部中斷線。USART1接口通信速率可達(dá)2.25兆位/秒。USART接口具有硬件的CTS和RTS信號管理、支持IrDA SIR ENDEC傳輸編解碼、兼容ISO7816的智能卡并提供LIN主/從功能。所有USART接口都可以使用DMA操作。
STM32F103ZET6工作于-40℃至+85℃溫度范圍,供電電壓為2.0V至3.6V,省電模式保證低功耗的要求。該芯片能夠有效且穩(wěn)定地滿足硬件系統(tǒng)的要求。
2.2 外圍電路設(shè)計
由于傳感器模塊輸出的電平是RS232電平,而ARM處理器采用的是TTL電平。RS232電平邏輯1的為-3~-15V,邏輯0的為+3~+15V,TTL器件輸出是低電平小于0.8V,高電平大于2.4V. 輸入低于1.2V是邏輯0,高于2.0V是邏輯1.故而這里需要采用電平轉(zhuǎn)換步驟,將RS232電平轉(zhuǎn)換成TTL電平,否則會損壞器件。
圖2 電平轉(zhuǎn)換電路設(shè)計
本文采用MAXIM公司生產(chǎn)的MAX232芯片,該為RS-232標(biāo)準(zhǔn)串口專門設(shè)計的一款單電源電平轉(zhuǎn)換芯片,它使用+5V電源供電。設(shè)計電路如圖2所示[1]。
3.1 車輛位置監(jiān)控系統(tǒng)的軟件設(shè)計
本文采用STM32F103ZET6單片機(jī)作為系統(tǒng)控制的核心,用于實現(xiàn)接收數(shù)據(jù),處理計算以及發(fā)送數(shù)據(jù)的主要功能,控制著整個系統(tǒng)各模塊的正常運(yùn)行;系統(tǒng)電源為微控制器、外部傳感器及通信模塊提供電源;外部時鐘為微控制器提供RTC和系統(tǒng)時鐘;SRAM用來存儲 GPS 原始數(shù)據(jù);外部傳感器和通信模塊的電源控制模塊用于微控制器實現(xiàn)對外部傳感器和通信模塊的電源控制;系統(tǒng)復(fù)位用于系統(tǒng)工作異常時系統(tǒng)強(qiáng)制產(chǎn)生復(fù)位信號;電平轉(zhuǎn)換、外部傳感器及通信接口實現(xiàn)ARM微控制器與外圍設(shè)備的正常通信。
其中系統(tǒng)軟件設(shè)計流程如圖3所示。
圖3 統(tǒng)軟件設(shè)計流程
另外,GPS模塊出來的數(shù)據(jù)并不能直接使用,需要把時間,經(jīng)緯度,經(jīng)緯度方向,衛(wèi)星數(shù)量等信息提取出來,將ASCII轉(zhuǎn)換成十進(jìn)制格式數(shù)據(jù),將度分的格式轉(zhuǎn)換成度的形式,最終通過GPRS模塊發(fā)送出去。
3.2 車輛監(jiān)控系統(tǒng)上位機(jī)軟件設(shè)計
前文主要講了車輛位置監(jiān)控系統(tǒng)的軟硬件部分,總體調(diào)試通過測試。GPRS模塊發(fā)送的數(shù)據(jù)最終到達(dá)指定IP地址的上位機(jī)[2]。接下來的部分就是要編寫接收程序[3],接收數(shù)據(jù)并嵌套谷歌地圖,使車輛的位置在地圖上實時顯示并標(biāo)志。
上位機(jī)的軟件是采用VC++工具[3]編寫的MFC界面設(shè)計[4],首先通過異步套接字程序接收數(shù)據(jù)并作相應(yīng)的處理[2],接著調(diào)用Google Earth提供的API函數(shù),程序自動打開地圖,顯示車輛的位置等信息,每隔一段時間刷新一次,重新顯示車輛具體位置[5],如圖4所示。
圖4 上位機(jī)設(shè)計總體思路
因為車輛位置監(jiān)控系統(tǒng)的發(fā)送數(shù)據(jù)采用的UDP方式,所以在PC機(jī)界面設(shè)計中,依舊采用了UDP方式接收數(shù)據(jù),該方法沒有確認(rèn)和數(shù)據(jù)重傳機(jī)制,實時性較TCP強(qiáng),適用于小數(shù)據(jù)量的傳輸[2]。
本程序先通過IsInitialized()和IsOnline()進(jìn)行判斷,用戶是否啟動了客戶端并連接上Google Earth的服務(wù)器,如果未啟動和連接,則調(diào)用COM庫的函數(shù)CreateDispatch()創(chuàng)建Google Earth,如圖5所示,客戶端的實例如圖6所示[5],除了這些之外,還有標(biāo)記車輛位置的函數(shù),因為車輛定位是直接顯示在客戶端的中心位置,然后利用標(biāo)記函數(shù)根據(jù)接收數(shù)據(jù)標(biāo)記。
圖5 客戶端啟動流程
圖6 客戶端實例
設(shè)計過程中采用自下而上的方法,從單個模塊開始,分別設(shè)計其軟硬件,完成后進(jìn)行調(diào)試,單個調(diào)試通過再將系統(tǒng)組裝進(jìn)行總的調(diào)試,最終,系統(tǒng)軟硬件工作良好,上位機(jī)接收數(shù)據(jù)正常,車輛位置監(jiān)控正常,符合系統(tǒng)設(shè)計的要求。
系統(tǒng)性能進(jìn)行試驗測試,系統(tǒng)的實驗數(shù)據(jù)如表1所示,其中,測試地點(diǎn)為學(xué)校的各個地點(diǎn),監(jiān)控位置值為所設(shè)計系統(tǒng)中上位機(jī)接收并顯示在谷歌地圖上的地理位置,實際值為通過Magellan Triton 300所得到的實際地理位置。
Magellan Triton 300是具有高靈敏度天線的手持GPS,內(nèi)置信號增強(qiáng)接收器(WAAS、EGNOS)可達(dá)到3 m精度,穩(wěn)定可靠可以作為實際地理位置的檢驗標(biāo)準(zhǔn)。
表1 系統(tǒng)測試實驗數(shù)據(jù)
最終測試,本系統(tǒng)接收數(shù)據(jù)正常,定位正常,在地圖上會自動標(biāo)示出車輛的位置,并每隔一段時間重新接收數(shù)據(jù)刷新位置。
以STM32作為處理器即整個系統(tǒng)的控制部分,利用GPS模塊接收衛(wèi)星傳來的位置、時間等信息,用GPRS作為數(shù)據(jù)傳輸部分,將數(shù)據(jù)傳送到指定IP的上位機(jī)上[2],采用異步套接字的方法編寫程序[3]接收數(shù)據(jù),并在程序中嵌套谷歌地圖[5],最終數(shù)據(jù)轉(zhuǎn)換成能在谷歌地圖顯示的格式。實現(xiàn)實時車輛位置監(jiān)控,能夠有效針對整個公路系統(tǒng)的車流量進(jìn)行優(yōu)化以增加交通容量,提高車輛的運(yùn)行安全系數(shù),改善傳統(tǒng)的交通運(yùn)輸狀況。
[1] 張偉.Protel電路板設(shè)計與制作實戰(zhàn)訓(xùn)練[M].北京:人民郵電出版社,2004.
[2] SCAGLIA S.嵌入式Internet TCP/IP基礎(chǔ)、實現(xiàn)及應(yīng)用[M].北京:北京航天航空大學(xué)出版社,2008.
[3] 孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.
[4] PROSISE J.MFC Windows程序設(shè)計[M].北京:清華大學(xué)出版社,2007.
[5] 江寬,龔小鵬.Google API開發(fā)詳解[M].北京:電子工業(yè)出版社,2010.
[6] 武建軍.基于GPS和GPRS的車輛位置研究[D].南京:南京林業(yè)大學(xué),2010.
[7] 張爍,徐愛功,孫貴博.基于移動GIS的GPS定位導(dǎo)航系統(tǒng)的設(shè)計與實現(xiàn)[J].北京:計算機(jī)系統(tǒng)應(yīng)用,2010,19(7):32-36.
Design and Implemetation on ARM Based Vehicle Location Monitoring System
DONG Jianran,FENG Weizhong
(CollegeofInformationScienceandTechnology,NanjingForestryUniversity,Nanjing210037,China)
Design a monitoring system to rely on accurate data positioning, which cooperate with communication technology and electronic map to achieve vehicle and monitoring center information interaction,increasing the traffic efficiency and improving the traffic congestion.Using the microprocessor ARM@ CortexTM-M3 processing the satellite signal from GPS,calculating and arranging the data through GPRS module send to internet,the host computer according to program to receive the data of internet then called Google maps show the information of vehicle location in real time.With the help of the system,which can be used to analyze and manage the vehicle position in direct and convenient way.
STM32; hardware design; software design; vehicle monitoring system
10.13442/j.gnss.1008-9268.2017.02.014
2016-10-10
TP391
A
1008-9268(2017)02-0063-04
董簡然 (1993-),男,貴州遵義人,碩士生,研究方向為自動控制系統(tǒng)的研究與開發(fā)。
封維忠 (1950-),男,江蘇南京人,教授,研究方向為計算機(jī)測控技術(shù)。
聯(lián)系人: 董簡然E-mail: 1956610836@qq.com