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