方志鵬 王帥 謝正華
摘 要:企事業(yè)單位及高校外來車輛進(jìn)出頻繁,單位及校園內(nèi)部道路外來車輛隨意停放現(xiàn)象日趨嚴(yán)重。為了規(guī)范停車,本文提出了一種基于STM32F103C8T6/MC20的BDS和GPRS的智能汽車定位器。在入口處派發(fā)定位器置于車內(nèi),出口處回收定位器。如車輛停于禁停區(qū),系統(tǒng)以SMS方式將汽車定位信息發(fā)送至巡邏保安手機(jī),同時(shí)利用GPRS模塊通過TCP/IP協(xié)議將車輛定位信息發(fā)送至保安控制中心的電腦主機(jī),并報(bào)警提示。實(shí)驗(yàn)結(jié)果符合預(yù)期,可以很好地對外來車輛進(jìn)行管控。
關(guān)鍵詞:汽車定位;BDS;GPRS;STM32;MC20
中圖分類號:TP391 文獻(xiàn)標(biāo)志碼:A
0 引言
目前我國已進(jìn)入汽車時(shí)代,汽車已成為大眾出行的必備交通工具,隨著經(jīng)濟(jì)的發(fā)展,企事業(yè)單位之間的交流,企事業(yè)與高校的交流,高校與高校之間的交流日漸頻繁,加之日趨緊張的停車位問題,外來車輛的停放管理已成為目前各企事業(yè)單位和高校亟待解決的突出問題之一。本文使用ST公司的STM32F103C8T6作為主控制芯片,配合上海移遠(yuǎn)通信科技有限公司的MC20模塊,可以實(shí)現(xiàn)BDS定位信息的抓取,再通過GPRS網(wǎng)絡(luò)發(fā)送至遠(yuǎn)端主機(jī)或以SMS方式將定位信息發(fā)送至手機(jī),并提供相應(yīng)的報(bào)警信息。控制中心的主機(jī)根據(jù)上傳的定位信息配合百度地圖即可查看車輛位置,進(jìn)而作出相應(yīng)處理。
1 總體設(shè)計(jì)與整體結(jié)構(gòu)
本系統(tǒng)由MC20模塊、STM32F103C8T6主控芯片、GSM天線、BDS天線、SIM卡槽、3.7V鋰離子電池組成。MC20是上海移遠(yuǎn)通信科技有限公司開發(fā)的一款超小尺寸GSM/GPRS/BDS/GPS一體化模塊。體積只有18.7×15.7×2.1,性能穩(wěn)定。模塊采用郵票孔接口方式,裝配可靠方便。支持基站定位,支持BDS/GPS單雙模定位。采用該模塊可將BDS定位信息通過GPRS網(wǎng)絡(luò)傳輸至遠(yuǎn)端主機(jī),BDS/GPS天線可以根據(jù)需要采用無源或有源連接。MC20還內(nèi)嵌TCP/UDP/HTTP/FTP/PPP協(xié)議,支持?jǐn)?shù)據(jù)非透明傳輸,使定位器與遠(yuǎn)端主機(jī)之間的數(shù)據(jù)傳輸變得極其簡單,同時(shí)還可實(shí)現(xiàn)接打電話、收發(fā)短信。主控芯片STM32F103C8T6通過串口PA2、PA3分別和MC20的TXD、RXD連接,串口工作頻率115200bps,數(shù)據(jù)長度8位,一個(gè)停止位,無奇偶校驗(yàn)。MC20接收到衛(wèi)星數(shù)據(jù)后經(jīng)由串口傳至STM32F103C8T6,主控芯片處理后得到經(jīng)緯度信息、時(shí)間,再由串口回傳至MC20并由GPRS模塊將經(jīng)緯度、時(shí)間等信息發(fā)送至遠(yuǎn)端主機(jī),或?qū)⑿畔⒁許MS方式發(fā)送至手機(jī)。系統(tǒng)框圖如圖1所示。
2 硬件設(shè)計(jì)
本系統(tǒng)的硬件框圖如圖2所示。
主控制器采用意法半導(dǎo)體的STM32F103C8T6,使用高性能的ARM Cortex-M3 32位RISC內(nèi)核,工作頻率72MHz,64K字節(jié)的高速存儲器,兩個(gè)12位模數(shù)轉(zhuǎn)換器,37個(gè)快速I/O口,所有I/O口均可映射到16個(gè)外部中斷且?guī)缀跛卸丝诰С?V信號,支持SWD和JTAG接口調(diào)試,7個(gè)定時(shí)器,供電電壓2.0V~3.6V,工作溫度-40℃~85℃,具備電源管理單元,可實(shí)現(xiàn)低功耗運(yùn)行,有效減少系統(tǒng)功耗。
MC20是上海移動公司的多功能通信定位芯片,工作電壓3.3V~4.6V,溫度為-40℃~85℃,其最大特點(diǎn)是將定位(BDS、GPS、QZSS)功能和通信功能(GPRS、SMS、語音呼叫)整合在一起,使得硬件最小化,功能最大化。
STM32通過串口PA2、PA3分別和MC20的TXD、RXD連接,串口工作頻率115200bps,數(shù)據(jù)長度8位,一個(gè)停止位,無奇偶校驗(yàn)。
鑒于STM32和MC20的工作電壓,選用與手機(jī)通用的3.7V(3000mAh)可充電鋰離子電池,采購方便,成本較低。充電管理芯片采用TPA4056,該芯片是恒流/恒壓線性充電器,內(nèi)部有防倒充電路,無須外部隔離二極管,熱反饋可自動調(diào)節(jié)充電電流,最大充電電流1A,充電截止電壓為4.2V。鋰離子電池經(jīng)SX1308升壓模塊升壓增流后連接MC20電源輸入端,以提供MC20在GSM組網(wǎng)時(shí)所需的2A瞬間電流及3.95V工作電壓。同時(shí)SX1308的輸出經(jīng)由XC6206P332MR電壓調(diào)整后輸出STM32所需的3.3V工作電壓。
MC20的41腳經(jīng)0歐姆電阻連接GSM微帶天線,特性阻抗為50Ω,極化方式為垂直極化。15腳接BDS天線,本系統(tǒng)采用無源天線,故15腳經(jīng)0Ω電阻后直接與BDS無源天線相連,特性阻抗為50Ω左右。SIM卡槽靠近MC20擺放,信號線長度小于200mm且遠(yuǎn)離射頻線和電源線。
3 軟件設(shè)計(jì)
本系統(tǒng)軟件主要分為各功能模塊初始化、BDS定位信息解析與提取、SMS發(fā)送、GPRS數(shù)據(jù)發(fā)送??傮w流程如圖3所示。
STM32主控芯片主要初始化中斷,設(shè)置NVIC中斷分組2∶2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級。初始化串口PA2、PA3,PA2為復(fù)用推挽輸出,PA3為浮空輸入。串口工作頻率115200bps,數(shù)據(jù)寬度8位,一個(gè)停止位,無奇偶校驗(yàn),無硬件數(shù)據(jù)流控制。
MC20初始化操作MC20開機(jī),對PWRKEY引腳進(jìn)行控制,對模塊進(jìn)行開機(jī)操作。這里配合看門狗方式進(jìn)行,先發(fā)送AT指令,如返回“OK”,則表示模塊已正常開機(jī),如果無返回值,必須通過操作PWRKEY引腳進(jìn)行開機(jī)。給PWRKEY引腳一個(gè)大于3.3V的上升沿信號,之后發(fā)送AT指令,如返回“OK”,則開機(jī)成功,如無返回值,則看門狗復(fù)位,重復(fù)上述操作直至成功開機(jī)。
開機(jī)成功后開始BDS/GPRS初始化,使用AT指令A(yù)T+QGNSSC=1,使GNSS(全球?qū)Ш叫l(wèi)星系統(tǒng))上電并工作在Full on模式;AT+QGNSSCMD=0,”
$PMTK353,0,0,0,0,1*2A”,使GNSS工作在僅BDS搜索模式;AT+CPIN?檢查SIM卡是否在位,返回“READY”表示卡已在位;AT+CREG?檢查GSM網(wǎng)絡(luò)是否注冊成功;AT+CGREG?檢查GPRS網(wǎng)絡(luò)是否注冊成功;AT+QICSGP=1,”CMNET”,接入移動APN;AT+QIDNSIP=0,使用IP連接;AT+QIOPEN=”TCP”,”180.103.187.79”,”20002”,采用TCP方式連接,目標(biāo)IP地址為180.103.187.79,端口號20002,如返回“CONNECT OK”,則說明已連接成功,可以向主機(jī)發(fā)送數(shù)據(jù)。
SMS初始化需進(jìn)行如下設(shè)置:①AT+CMGF=1//選擇文本格式;②AT+CSMP=17,167,0,25//設(shè)置文本格式參數(shù);③AT+CSCS=”UCS2”//選擇16位通用多字節(jié)編碼字符集。
采集BDS定位數(shù)據(jù),使用AT+QGNSSRD=”NMEA/RMC”指令可以得到BDS定位數(shù)據(jù),如:+QGNSSRD:$GNRMC,131124.000,A,3130.1379,N,12018.8905,E,2.38,187.29,050217,,,A*7A。其中3130.1379,N,12018.8905,E只是原始數(shù)據(jù),并不是真正的定位數(shù)據(jù),還需進(jìn)行處理才是經(jīng)緯度信息。原始數(shù)據(jù)為經(jīng)度DDDMM.MMMM,緯度DDMM.MMMM。則處理算法為:真實(shí)經(jīng)度=DDD+(MM.MMMM)/60,真實(shí)緯度=DD+(MM.MMMM)/60。這樣解析出的才是真正的經(jīng)緯度信息,可以發(fā)送至遠(yuǎn)端主機(jī)配合地圖進(jìn)行定位,也可以通過SMS發(fā)送至手機(jī)。
根據(jù)車輛所處的不同位置,向遠(yuǎn)端主機(jī)發(fā)送不同的經(jīng)緯度信息,在GPRS初始化完成并與遠(yuǎn)端主機(jī)建立連接的基礎(chǔ)上,使用AT+QISEND命令觸發(fā)中斷發(fā)送數(shù)據(jù),延遲100ms后,檢測是否返回“SEND OK”確定是否正確發(fā)送。為了確保數(shù)據(jù)的完整性,使用AT+QISACK查詢是否接收到全部數(shù)據(jù),返回“+QISACK:100,90,10”,表示計(jì)劃接收100個(gè)數(shù)據(jù),已接收90個(gè),還有10個(gè)未接收。故當(dāng)?shù)谌侄螢?表示全部接收完畢。
SMS用于發(fā)送信息到巡邏保安手機(jī),以便可以迅速做出反應(yīng)及時(shí)處理違停及定位器未歸還問題。SMS初始化完成后,發(fā)送中文短信,故先獲取手機(jī)號的Unicode編碼,使用AT+CMGS=”手機(jī)號的Unicode編碼”,之后將短信內(nèi)容轉(zhuǎn)換成Unicode編碼輸入,按
4 系統(tǒng)測試
在入口處向每輛進(jìn)入廠/校區(qū)的車輛派發(fā)智能汽車定位器,定位器實(shí)時(shí)采集定位數(shù)據(jù)并由GPRS向遠(yuǎn)端主機(jī)發(fā)送,同時(shí)根據(jù)車輛所處位置選擇性發(fā)送短信給巡邏保安所需處理的問題。短信發(fā)送間隔較長,無需進(jìn)行穩(wěn)定性測試。針對定位數(shù)據(jù)需實(shí)時(shí)采集并由GPRS通道發(fā)送,故需對本系統(tǒng)的GPRS發(fā)送與接收進(jìn)行穩(wěn)定性測試,表1列出采集發(fā)送次數(shù)與接收延遲時(shí)間及所占比例關(guān)系。采集發(fā)送200次,延遲時(shí)間在3s內(nèi)的占96.5%,測試結(jié)果表明本系統(tǒng)通信延時(shí)較低且成功率高,能滿足對定位信息實(shí)時(shí)采集并發(fā)送的實(shí)際需求。
結(jié)語
根據(jù)企事業(yè)單位及高校對外來社會車輛的實(shí)際管理需要,本文設(shè)計(jì)了基于STM32/MC20的BDS和GPRS的智能汽車定位器,并進(jìn)行了實(shí)際測試,結(jié)果表明本系統(tǒng)安全穩(wěn)定,且實(shí)時(shí)定位數(shù)據(jù)的采集與發(fā)送能夠滿足實(shí)際需要。另外本系統(tǒng)還可加入基站輔助定位、AGPS輔助定位,以提高定位速度與精度,加入語音提示功能,使該智能汽車定位器更加成熟更加完善。
參考文獻(xiàn)
[1]黃勇,王亞剛.基于STM32的車載GPS/GPRS定位系統(tǒng)設(shè)計(jì)[J].電子科技,2017,30(4):32-35.
[2]常霞,馬建偉.基于STM32的列車空氣動力學(xué)數(shù)據(jù)采集系統(tǒng)[J].儀表技術(shù)與傳感器,2011(4):45-48.
[3]高學(xué)東,祁志娟,程冉,周莉莉.基于STM32的汽車遠(yuǎn)程智能監(jiān)控防盜系統(tǒng)設(shè)計(jì)[J].科技風(fēng),2016(4):157-158.
[4]宋雪亞,李德勝.基于GPRS和GPS的車載監(jiān)控終端硬件系統(tǒng)的實(shí)現(xiàn)[J].淮海工學(xué)院學(xué)報(bào)(自然科學(xué)版),2017,26(1):26-32.
[5]陳維維.嵌入式無線定位追蹤系統(tǒng)的技術(shù)研究[D].南京:南京理工大學(xué),2013.