摘要:本文開發(fā)了一種基于Cortex-M3和Python語(yǔ)言的車輛監(jiān)控系統(tǒng),簡(jiǎn)化了軟硬件設(shè)計(jì)的開發(fā)難度,提高了開發(fā)效率,并定義了通訊協(xié)議,最后對(duì)系統(tǒng)進(jìn)行了通訊與定位測(cè)試,通過現(xiàn)場(chǎng)總線監(jiān)控工程車輛的工作參數(shù),通過GSM網(wǎng)絡(luò)將工程挖掘機(jī)的監(jiān)控信息以短信形式與生產(chǎn)廠家信息管理平臺(tái)通訊,使生產(chǎn)廠家更好的提供挖掘機(jī)系統(tǒng)售后服務(wù)。本文網(wǎng)絡(luò)版地址:http://www.eepw.com.cn/article/233870.htm
關(guān)鍵詞:Cortex-M3;Python語(yǔ)言;CAN通訊協(xié)議;SMS;GPS定位
DOI: 10.3969/j.issn.1005-5517.2014.2.009李旭東 男,36歲,上海嘉定人,講師,同濟(jì)大學(xué)碩士在讀,主要從事電子與通訊工程專業(yè)領(lǐng)域的研究。
引言
安裝在挖掘機(jī)的遠(yuǎn)程監(jiān)控終端,將嵌入式、現(xiàn)場(chǎng)總線分布式控制與GPS 遠(yuǎn)程監(jiān)控系統(tǒng)等技術(shù)應(yīng)用于履帶式液壓挖掘機(jī)。由于履帶式液壓挖掘機(jī)售價(jià)額昂貴,在銷售過程中主要采取按揭、分期或融資租賃的銷售方式,這種銷售方式有較多銷售風(fēng)險(xiǎn),廠家缺乏強(qiáng)制手段,不能有效控制還貸風(fēng)險(xiǎn)。采用了嵌入式、GPS和GSM等技術(shù)為基礎(chǔ)的遠(yuǎn)程監(jiān)控系統(tǒng)是利用技術(shù)手段來控制這種風(fēng)險(xiǎn)的有效措施之一。
另一方面,終端實(shí)時(shí)采集車輛數(shù)據(jù),以無線通訊形式傳輸數(shù)據(jù),公司售后服務(wù)人員可以通過Internet 隨時(shí)監(jiān)控每一臺(tái)挖掘機(jī)的工作狀態(tài),為技術(shù)人員提供了車輛在使用過程中的車輛監(jiān)控、車輛運(yùn)行管理 、車輛健康管理(實(shí)時(shí)報(bào)告)、機(jī)械維護(hù)和服務(wù)管理、通知服務(wù)、機(jī)械融資管理自動(dòng)化支持等各類功能,提高了企業(yè)的信息化管理水平和監(jiān)督能力。
1 車輛現(xiàn)場(chǎng)監(jiān)控終端與服務(wù)系統(tǒng)的總體結(jié)構(gòu)
1.1 總體結(jié)構(gòu)
工程機(jī)械車輛現(xiàn)場(chǎng)監(jiān)控終端與服務(wù)系統(tǒng)的總體結(jié)構(gòu)(如圖1 所示),其控制原理是利用車載硬件終端PLLRC,實(shí)時(shí)精確采集車輛各傳感器工作數(shù)據(jù)、GPS 定位數(shù)據(jù)等,按照設(shè)計(jì)的通訊協(xié)議,通過商業(yè)GSM通訊網(wǎng)絡(luò),將車輛信息以短信形式發(fā)送到生產(chǎn)廠家服務(wù)器上,存儲(chǔ)在服務(wù)器數(shù)據(jù)庫(kù)中[1]。利用數(shù)據(jù)信息,可以定期形成相關(guān)的數(shù)據(jù)分析報(bào)告,管理員或用戶也可在任意一臺(tái)接入因特網(wǎng)的計(jì)算機(jī)上使用 IE 瀏覽器,獲得大量的車輛位置信息和工作數(shù)據(jù),并根據(jù)這些數(shù)據(jù),對(duì)運(yùn)行中的車輛進(jìn)行遠(yuǎn)程控制、診斷和維護(hù)。

1.2 PL-LRC車載硬件終端設(shè)計(jì)
需要開發(fā)的PL-LRC車載硬件監(jiān)控終端包括硬件開發(fā)和軟件開發(fā),以及測(cè)試。硬件系統(tǒng)的工作原理如圖2所示。
PL-LRC車載硬件監(jiān)控終端由微控制器模塊、無線通信與定位模塊、電源控制模塊、CAN總線接口模塊等部分組成。本文主要介紹監(jiān)控終端的開發(fā)與實(shí)現(xiàn)。
2 硬件設(shè)計(jì)
車載終端硬件主要由控制模塊Cortex-M3 內(nèi)核處理器、GPS模塊、存儲(chǔ)模塊、CAN收發(fā)器、JTAG模塊和電源模塊等組成[2],車載終端硬件設(shè)計(jì)框圖如圖3所示。

控制模塊采用STM32 系列具有性能高、成本低廉、功耗低的特點(diǎn),是針對(duì)嵌入式應(yīng)用 ARM CortexM3 內(nèi)核而設(shè)計(jì)的,本系統(tǒng)設(shè)計(jì)中采用STM32F103RBT6,其中增強(qiáng)型的是同類中性能最高的,時(shí)鐘頻率達(dá)到 72MHz,通信接口有 2個(gè)I2C接口、3個(gè)UART接口、USB2.0接口、2個(gè)SPI接口、CAN接口設(shè)計(jì)用于手持和通用嵌入式系統(tǒng),支持基于JTAG的系統(tǒng)調(diào)試,完全能滿足車載終端的系統(tǒng)需求[3-4] 。
無線通信與定位模塊的工作環(huán)境嚴(yán)酷,工作要求嚴(yán)苛,工作室震動(dòng)、沖擊強(qiáng)烈,電磁環(huán)境惡劣,可靠性要求極高,本設(shè)計(jì)對(duì)這些要求給以特別關(guān)注,在設(shè)計(jì)時(shí)采用了Telit公司的GM862-GPS模塊。
該模塊是Telit產(chǎn)品中最先進(jìn)的型號(hào),是典型的功能卓越的M2M通信模塊。產(chǎn)品采用加固/耐用設(shè)計(jì),工業(yè)級(jí)寬溫,內(nèi)建SIM卡插槽,MMCX RF接口,干擾監(jiān)測(cè),內(nèi)嵌TCP/IP(含TCP/IP、UDP、FTP、SMTP協(xié)議)協(xié)議棧,自動(dòng)掃描頻段(無SIM卡),集成20通道、高靈敏度SiRFstarIII GPS接收器,具有850/ 900/1800/1900 MHz四波段GSM/GPRS調(diào)制解調(diào), SIM卡訪問控制(SAP)及內(nèi)置Python1.5.2+解釋。GM862-GPS同時(shí)支持IIC和SPI接口,可直接擴(kuò)展外部部件,如傳感器、攝像頭、顯示器等[5]。
車載終端軟件包括啟動(dòng)引導(dǎo)程序、操作系統(tǒng)和應(yīng)用程序三部分。引導(dǎo)程序在設(shè)備加電后首先運(yùn)行,完成關(guān)鍵硬件設(shè)備的初始化,建立內(nèi)存空間映射,并從存儲(chǔ)空間加載操作系統(tǒng)和文件系統(tǒng)到運(yùn)行內(nèi)存。然后把CPU的控制權(quán)交給操作系統(tǒng),由操作系統(tǒng)啟動(dòng)應(yīng)用程序的運(yùn)行[6]。應(yīng)用程序完成車載終端應(yīng)用軟件的功能。

本次開發(fā)的是典型的嵌入式系統(tǒng),設(shè)計(jì)人員需要完成的工作開發(fā)的硬件、軟件、算法、測(cè)試等多個(gè)環(huán)節(jié),所有環(huán)節(jié)有效的配合才能保證整個(gè)項(xiàng)目的順利進(jìn)展,設(shè)計(jì)中用到的Python腳本語(yǔ)言具有面向?qū)ο蟆⒖缙脚_(tái)、高效、可移植性強(qiáng)等特點(diǎn),可快速開發(fā)腳本程序,大大簡(jiǎn)化開發(fā)與測(cè)試工作。基于此,本次設(shè)計(jì)用Python的2.7.6版本的開發(fā)工具,函數(shù)庫(kù)包括兩類:標(biāo)準(zhǔn)庫(kù)和大量的第三方庫(kù)[7]。
通訊與定位功能程序?qū)儆趹?yīng)用程序,是本次設(shè)計(jì)的核心部分,其中包括了通訊協(xié)議的設(shè)計(jì)。二合一通訊模塊GM862-GPS流程圖設(shè)計(jì)如圖4所示。
程序設(shè)計(jì)為:W_main 主程序、W_sms短信處理功能程序、W_subf子功能程序和全局變量定義文件。
import GPIO
import MDM
import SER
import MOD
import GPS
import G
def fler(x): #文件讀,返回字符串
def flew(x,s): #文件寫,返回字符串
def ini_io(): #Telit I/O初始化
def ini_telit(): #Telit初始化
def send_sms(to, text): #SMS 發(fā)送功能返回 1/0
def door_sms(str): # SMS 處理;返回字符串
def info_gps(): #立即獲取GPS 信息;返回字符串
def info_gps1(): #1.25 min獲取GPS信息;返回字符串
def handle_status(sta): #獲取Telit I/O狀態(tài);返回?cái)?shù)據(jù)
def report_schedule(temps): #定期巡檢
def check_self(): #檢查GSM, GPS, EEPROM,如正常返回NONE
def alarm(temps): #報(bào)警處理
def ag_test(): #老化測(cè)試
3.1 SMS短信命令格式定義

無線通信與定位模塊(GM862-GPS)與服務(wù)器的通訊通過SMS短信完成。通訊協(xié)議設(shè)計(jì)符合如下要求:
所有消息以文本格式
所有消息由常見的可打印A S C I I字符組成,比如:’ 123abcABC() # ’。
每條消息不超過140字符
所有信息、命令和消息反饋包含在同一條消息里,格式如表1所示,命令標(biāo)識(shí)符如表2所示
CA\AC標(biāo)示符:車輛CAN 報(bào)警信息工作流程如圖5所示。
報(bào)警短信處理程序?yàn)椋?/p>
import GPIO
import MDM
import SER
import MOD import GPS import G
from w_subf import *
def smsinf_cat(tempinf): #處理來自服務(wù)器的sms return NONE
def CB_sms(tempsim,tempinf): #處理CB命令sms; return NONE
def AC_sms(tempsim,tempinf): #處理AC命令sms; return NONE
def handle_sms(tempsm): 處理短信命令; return NONE
def handle_miss():
def service_tool(tempc):
3.2 GM862-GPS與車輛CAN總線的通訊
考慮到效率與穩(wěn)定性的要求,我們將定位模塊Telit-GM862-GPS和控制模塊設(shè)計(jì)為循環(huán)工作模式,如圖6所示。
監(jiān)控終端與車輛的數(shù)據(jù)通訊滿足CAN信息格式,SMS短信向車輛發(fā)送的命令數(shù)據(jù)格式按表4定義。車輛返回的數(shù)據(jù)格式也做了定義,信息格式見表4。
4 系統(tǒng)測(cè)試
該系統(tǒng)核心器件由:定位模塊GM862、控制模塊處理器、電源IC芯片STPS54160/LM1085/LP38690組成。
測(cè)試需求設(shè)備有:秒表,PLLRC 終端,手機(jī),電腦等。功能測(cè)試依據(jù)為產(chǎn)品規(guī)格書和相關(guān)通訊協(xié)議。并對(duì)產(chǎn)品進(jìn)行了抗干擾測(cè)試,結(jié)果良好。測(cè)試項(xiàng)目見表5所示。
5 結(jié)束語(yǔ)
常用上述方法,軟件與硬件設(shè)計(jì)大大車輛監(jiān)控終端系統(tǒng),自動(dòng)化程度高,編程簡(jiǎn)單,硬件電路可靠,具備車輛信息管理 、車輛監(jiān)控、車輛運(yùn)行管理 、車輛健康管理(實(shí)時(shí)報(bào)告)、機(jī)械維護(hù)和服務(wù)管理、通知服務(wù)、機(jī)械融資管理自動(dòng)化支持等功能,提高了企業(yè)的信息化管理水平和監(jiān)督能力。

參考文獻(xiàn):
[1]林桂花.基于GSM模塊的數(shù)據(jù)傳輸及實(shí)時(shí)控制系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2006,2:103-104,108.
[2]孫啟富,孫運(yùn)強(qiáng),姚愛琴.基于STM32的通用智能儀表設(shè)計(jì)與應(yīng)用[J].儀表技術(shù)與傳感器,2010,(10):34-36.
[3]陳麗珍,林小薇.嵌入式ARM微處理器選型指南[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(6):75-76.
[4]王永虹,徐煒,郝立平.STM32系列ARM Cortex-M3微控制器原理與實(shí)踐[M].北京航空航天大學(xué)出版社,2008
[5]Telit. GM862-GPS HW User Guide 1vv0300728 Rev.8 -20/09/07:9-11.
[6]李巖,韓勁松.基于ARM嵌入式系統(tǒng)接口技術(shù)[M].北京:清華大學(xué)出版社,2009
[7]羅霄,任勇,山秀明.基于Python 的混合語(yǔ)言編程及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2004,21(12):17-18