1.前言
近年來道路交通事故呈上升趨勢,給國家和人民生命財(cái)產(chǎn)帶來了巨大損失。為此,國家相關(guān)部門已強(qiáng)制安裝行車數(shù)據(jù)記錄儀等措施。同時(shí),國內(nèi)的發(fā)動(dòng)機(jī)電控技術(shù)處于發(fā)展階段,電控發(fā)動(dòng)機(jī)試裝車階段常會(huì)出現(xiàn)因?yàn)檐囕v匹配不佳而導(dǎo)致大量的軟故障問題發(fā)生,甚至在批量交付給終端用戶后都還會(huì)發(fā)生系統(tǒng)故障。目前發(fā)動(dòng)機(jī)廠家的解決辦法都是依靠技術(shù)人員到實(shí)地進(jìn)行現(xiàn)場故障診斷以及電控單元的控制程序升級。由于車輛已經(jīng)交到用戶手中,在全國各地?zé)o規(guī)律的分布,這將導(dǎo)致技術(shù)人員來回奔波,影響客戶對電控發(fā)動(dòng)機(jī)的信任度。其次,售后服務(wù)的區(qū)域分布廣,差旅費(fèi)帶來的開銷極大,勢必增加電控發(fā)動(dòng)機(jī)廠家的開發(fā)、生產(chǎn)成本。遠(yuǎn)程行車數(shù)據(jù)記錄儀便是解決以上難題的較好方法。
2.系統(tǒng)設(shè)計(jì)
遠(yuǎn)程行車數(shù)據(jù)記錄儀設(shè)計(jì)涉及多個(gè)領(lǐng)域和技術(shù),主要技術(shù)有計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、現(xiàn)代通信技術(shù)、分布式數(shù)據(jù)庫技術(shù)、在線監(jiān)測和數(shù)據(jù)采集技術(shù)等。本軟件的硬件系統(tǒng)是基于飛思卡爾MCF51JM128為核心的控制器,使用CAN通道與發(fā)動(dòng)機(jī)電控單元(ECU)通訊,使用串口與GPRS、GPS模塊通訊,AD采樣自身電池電壓,SPI操作SD卡文件系統(tǒng)。最終設(shè)計(jì)目標(biāo)在于兼容CCP、SAEJ1939等多種汽車CAN協(xié)議與發(fā)動(dòng)機(jī)電控單元(ECU)通訊,設(shè)置需要采集的監(jiān)控變量,連續(xù)存儲發(fā)動(dòng)的監(jiān)控變量與行車GPS數(shù)據(jù),并通過GPRS網(wǎng)絡(luò),將數(shù)據(jù)遠(yuǎn)程傳輸至服務(wù)器。一方面為專業(yè)客戶(汽車生產(chǎn)、研發(fā)和汽車維修部門),提供發(fā)動(dòng)機(jī)狀態(tài)參數(shù)的遠(yuǎn)程監(jiān)控、故障調(diào)試服務(wù)。另一方面以網(wǎng)絡(luò)監(jiān)控系統(tǒng)運(yùn)營為主,為終端用戶(物流企業(yè)、團(tuán)體車隊(duì)、個(gè)人用戶)提供基于GPS的車輛軌跡監(jiān)控、防盜、油耗監(jiān)控等以及遠(yuǎn)程排故、遠(yuǎn)程控制等功能。
2.1 方案設(shè)計(jì)
如何做到不改變現(xiàn)有電控發(fā)動(dòng)機(jī)硬件設(shè)備,異地傳輸數(shù)據(jù),實(shí)時(shí)監(jiān)控發(fā)動(dòng)機(jī)運(yùn)行狀況?結(jié)合電控單元(ECU)的產(chǎn)品特性,如何對遍布全國角落的車輛運(yùn)行狀況進(jìn)行狀態(tài)監(jiān)控以及故障診斷。針對車輛分布廣,地域性要求較高的特點(diǎn),最為理想的則是利用無線網(wǎng)絡(luò)。
GPRS是目前解決移動(dòng)通信信息服務(wù)的一種運(yùn)用較廣泛的業(yè)務(wù),它是以數(shù)據(jù)流量計(jì)費(fèi),覆蓋范圍廣泛、數(shù)據(jù)傳輸速度更快。移動(dòng)網(wǎng)絡(luò)信號覆蓋的地方,我們都可以實(shí)現(xiàn)行車數(shù)據(jù)記錄儀的遠(yuǎn)程數(shù)據(jù)傳輸。

圖1 系統(tǒng)框圖
如圖1系統(tǒng)框圖所示,行車記錄儀通過CAN線與ECU連接,基于CCP/1939通訊協(xié)議與ECU交換數(shù)據(jù),行車記錄儀將所獲的發(fā)動(dòng)機(jī)監(jiān)控?cái)?shù)據(jù)存儲于SD卡上,并根據(jù)需要將監(jiān)控?cái)?shù)據(jù)以及GPS經(jīng)緯數(shù)據(jù)通過GPRS傳輸至遠(yuǎn)程服務(wù)器。遠(yuǎn)程服務(wù)器可以搭建網(wǎng)絡(luò)平臺以供客戶電腦監(jiān)控車輛運(yùn)行情況。同時(shí)服務(wù)器也可發(fā)送控制命令達(dá)到遠(yuǎn)程控制車輛的目的。
2.2 硬件設(shè)計(jì)
基于GPRS無線網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)程傳輸,不需要對現(xiàn)有的電控單元(ECU)產(chǎn)品做任何硬件改動(dòng),只需引入GPRS無線模塊連接到發(fā)動(dòng)機(jī)通信診斷口上即可。GPRS模塊目前主要以DTU (Data Transfer unit)數(shù)據(jù)傳輸單元為主,用于將串口數(shù)據(jù)轉(zhuǎn)換為TCP網(wǎng)絡(luò)數(shù)據(jù)或?qū)CP網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換為串口數(shù)據(jù)。主控制器的選擇需要具備多路CAN通道,2路SCI通道,1路SPI通道,1路AD,1路IIC等必要硬件資源。

圖2 硬件設(shè)計(jì)框圖
MCU選擇FREESCALE公司的MCF51JM128,芯片F(xiàn)LASH空間128Kbytes,RAM空間16 Kbytes,帶2路SCI,2路SPI,1路CAN,1路IIC,AD通道12路。GPRS選擇了SIM900A, GPS選擇了HOULUX定位系列芯片。
2.3 軟件設(shè)計(jì)
2.3.1 單片機(jī)設(shè)計(jì)
單片機(jī)設(shè)計(jì)基于MCF51JM128芯片,采用CodeWarrior開發(fā)完成。系統(tǒng)上電,軟件首先進(jìn)行必要的硬件初始化操作,判斷CAN接口、SD卡是否接觸良好?系統(tǒng)自檢完成后,即開始讀取SD卡的監(jiān)控變量配置文件,將監(jiān)控變量需求通過CAN通訊提交給ECU,ECU接受監(jiān)控變量設(shè)置成功后,即按要求反饋監(jiān)控變量的CAN數(shù)據(jù)原文。軟件周期存儲CAN數(shù)據(jù)以及GPS數(shù)據(jù),以及發(fā)送數(shù)據(jù)至服務(wù)器。

圖3 軟件流程圖
2.3.1.1 CAN、SCI通訊
CAN通道支持125K,250K,500K,1M等4種波特率的數(shù)據(jù)傳輸,能有效適應(yīng)CCP、SAEJ1939等控制協(xié)議傳輸需求。此外,記錄儀設(shè)備的系統(tǒng)信息也可以通過CAN通訊設(shè)置,PC與單片機(jī)的CAN通訊協(xié)議為自定義協(xié)議,使用2組11位ID識別,分別為1)0x234,0x235;2)0x236,0x237。第一組ID用來對GPRS模塊進(jìn)行配置和通訊操作,第二組ID用來對系統(tǒng)配置常量的FLASH操作進(jìn)行控制。
SCI通訊主要用于MCU與GPS以及GPRS模塊通訊, GPS數(shù)據(jù)傳輸波特率為9600;GPRS數(shù)據(jù)傳輸波特率為11520。
2.3.1.2 時(shí)鐘設(shè)置及校準(zhǔn)
實(shí)時(shí)時(shí)鐘主要用于數(shù)據(jù)SD卡存儲提供文件命名來源,時(shí)鐘使用時(shí)鐘模塊提供的時(shí)鐘源,同時(shí)在能夠接收到GPS信號的狀態(tài)下,使用GPS時(shí)鐘源校準(zhǔn)時(shí)鐘保證了時(shí)鐘的準(zhǔn)確性。考慮到時(shí)鐘模塊掉電以及GPS沒有信號的狀態(tài)可能同時(shí)發(fā)生,導(dǎo)致失去正常時(shí)鐘,所以將會(huì)在FLASH中保存時(shí)鐘源提供的最新一天的時(shí)鐘數(shù)據(jù),保存內(nèi)容為年月日,以辨別SD卡存儲數(shù)據(jù)的時(shí)間真實(shí)與否。
2.3.1.3 SD卡文件系統(tǒng)
GPS數(shù)據(jù)保存在以創(chuàng)建文件時(shí)間(月日時(shí)分)命名的txt文檔中,以20k為一個(gè)單位,超過指定大小后,另開一個(gè)文件繼續(xù)存儲。由于GPS保存數(shù)據(jù)并不能預(yù)先判斷設(shè)備斷電和SD卡狀態(tài),所以在存儲文件時(shí)采用單次存儲,單次關(guān)閉的方式,避免由于設(shè)備斷電等未知情況導(dǎo)致的文件保存不完整、無法正常打開。
2.3.1.4 GPS數(shù)據(jù)存儲
由于GPS響應(yīng)相當(dāng)頻繁,且對時(shí)間不太敏感,GPS數(shù)據(jù)采用開緩存非實(shí)時(shí)的方式進(jìn)行處理。數(shù)據(jù)經(jīng)處理后將$GPGGA(全球定位數(shù)據(jù))取出,存入到SD卡txt文件,還可同時(shí)通過串口將數(shù)據(jù)發(fā)送至遠(yuǎn)程服務(wù)器。
2.3.1.5 GPRS模塊設(shè)置
該模塊設(shè)置通過CAN轉(zhuǎn)SCI的方式由PC實(shí)現(xiàn), GPRS模塊設(shè)置符合AT命令標(biāo)準(zhǔn)。通過SCI輸入AT命令,即可將GPRS模塊配置為數(shù)據(jù)透明傳輸模式,實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)程傳輸。
常用的AT命令如下:
AT+CSTT="CMNET" //設(shè)置模塊的APN賬號
AT+CIPCFG=1,40,0,150,1000 //配置模塊自動(dòng)啟動(dòng)模式,斷線自動(dòng)重連等待時(shí)間
AT+CIPMUX=0 //設(shè)置為單鏈接模式
AT+CIPMODE=1 //設(shè)置為數(shù)據(jù)包模式
AT+CIPSCONT=0,"TCP","192.168.0.1",7100,2 //設(shè)置通訊協(xié)議、服務(wù)器地址、端口
2.3.1.7 設(shè)備系統(tǒng)信息
通過設(shè)置系統(tǒng)配置信息可以選擇設(shè)備的使用插件、運(yùn)行模式,以及ID標(biāo)識等。該配置信息通過CAN總線實(shí)現(xiàn)讀、寫功能。
系統(tǒng)配置信息位于設(shè)備Flash 區(qū)域0x0001FC00地址處,該功能的實(shí)現(xiàn)需要對Flash 進(jìn)行格式化和寫操作,相關(guān)代碼需要拷貝到RAM中執(zhí)行。
表1 系統(tǒng)信息存儲說明

2.3.1.8 CCP數(shù)據(jù)監(jiān)控
該功能的數(shù)據(jù)監(jiān)控和SD卡存儲代碼實(shí)現(xiàn)保留第一版行車記錄儀的代碼實(shí)現(xiàn),新添加遠(yuǎn)程傳輸監(jiān)控?cái)?shù)據(jù)代碼實(shí)現(xiàn),詳細(xì)內(nèi)容如下:
行車記錄儀上電后依據(jù)系統(tǒng)配置信息得到當(dāng)前CAN數(shù)據(jù)協(xié)議是否支持CCP協(xié)議,如果支持則讀取SD卡上的CCP配置文件(DAQLst.inf、DAQTgt.lst、*.a2l),單片機(jī)主要讀取DAQTgt.lst文件,該文件包含CCP監(jiān)控變量的ECU地址信息,然后按照CCP協(xié)議與ECU通訊,設(shè)置開啟DAQ數(shù)據(jù)傳輸。系統(tǒng)支持標(biāo)準(zhǔn)觸發(fā)型、10ms、100ms等三種標(biāo)準(zhǔn)DAQ數(shù)據(jù)。ECU反饋回的監(jiān)控?cái)?shù)據(jù)信息按CAN數(shù)據(jù)原文格式配以時(shí)間標(biāo)識存放在SD卡內(nèi),同時(shí)根據(jù)系統(tǒng)配置信息得到是否支持CCP遠(yuǎn)程數(shù)據(jù)傳輸功能,如果支持則按照預(yù)訂的發(fā)送周期(分鐘)采樣CCP數(shù)據(jù)并發(fā)送給服務(wù)器。由于CCP最大數(shù)據(jù)量為254×8=2032字節(jié),考慮到單片機(jī)內(nèi)存大小,CCP的遠(yuǎn)程數(shù)據(jù)傳輸采用分時(shí)間片傳輸模式,即建立一個(gè)小的數(shù)據(jù)緩沖區(qū),將整個(gè)需要監(jiān)控的數(shù)據(jù)量按照該緩沖區(qū)大小分時(shí)間片在1分鐘內(nèi)分片發(fā)送。一個(gè)周期內(nèi),關(guān)注的監(jiān)控信息只發(fā)送一次。
2.3.1.9 J1939數(shù)據(jù)監(jiān)控
行車記錄儀上電后依據(jù)系統(tǒng)配置信息得到當(dāng)前CAN數(shù)據(jù)協(xié)議是否支持J1939協(xié)議,如果支持則讀取SD卡上的配置文件(J1939.lst),然后按照J(rèn)1939協(xié)議解析監(jiān)控到的數(shù)據(jù)內(nèi)容,同時(shí)根據(jù)配置文件設(shè)定的存儲周期和發(fā)送周期實(shí)現(xiàn)數(shù)據(jù)存儲功能和遠(yuǎn)程數(shù)據(jù)傳輸功能。
考慮到單片機(jī)內(nèi)存大小,同時(shí)由于選用的單片機(jī)不支持動(dòng)態(tài)內(nèi)存分配,所以提前設(shè)定了最大支持16組PGN的數(shù)據(jù)緩沖區(qū),每一組PGN最大支持30字節(jié)的數(shù)據(jù)內(nèi)容。具體文件格式如表2所示。
表2 J1939配置文件格式

PGN編號-需要監(jiān)控的PGN編號。
數(shù)據(jù)模式-PGN在總線上出現(xiàn)的模式。
0:自動(dòng)周期發(fā)送的PGN
1:請求發(fā)送的PGN,如DM1故障診斷。
2.3.1.10 遠(yuǎn)程數(shù)據(jù)傳輸
配置GPRS模塊為自動(dòng)數(shù)據(jù)透傳模式,相當(dāng)于實(shí)現(xiàn)了片上SCI和TCP/IP數(shù)據(jù)格式的轉(zhuǎn)換,可以方便的通過無線網(wǎng)絡(luò)和單片機(jī)實(shí)現(xiàn)通訊。設(shè)計(jì)采用了自定義的報(bào)文格式封裝,具體數(shù)據(jù)如下:
表3 遠(yuǎn)程傳輸報(bào)文協(xié)議

數(shù)據(jù)長度:按照數(shù)據(jù)種類定義數(shù)據(jù)內(nèi)容的長度。
數(shù)據(jù)種類:(數(shù)據(jù)內(nèi)容的類型)
0x33:J1939數(shù)據(jù)
0x34:CCP數(shù)據(jù)
0x35:數(shù)據(jù)(預(yù)留)
0xCC:GPS數(shù)據(jù)
數(shù)據(jù)校驗(yàn):數(shù)據(jù)幀結(jié)構(gòu)中有效數(shù)據(jù)內(nèi)容的累加校驗(yàn)值。
幀頭、幀尾:0xAA5555AA
2.3.2 網(wǎng)絡(luò)平臺設(shè)計(jì)
網(wǎng)絡(luò)平臺適宜采用B/S瘦客戶端模式設(shè)計(jì),設(shè)計(jì)方案是以平臺自身為服務(wù)器端,監(jiān)聽行車數(shù)據(jù)記錄儀發(fā)起的遠(yuǎn)程連接,當(dāng)建立完成TCP連接之后,通過SOCKET套接字編程,交互數(shù)據(jù),平臺根據(jù)遠(yuǎn)程傳輸報(bào)文協(xié)議,解析數(shù)據(jù)原文,將發(fā)動(dòng)機(jī)監(jiān)控?cái)?shù)據(jù)與GPS數(shù)據(jù)獨(dú)立存儲。
數(shù)據(jù)庫存儲設(shè)計(jì),GPS數(shù)據(jù)存儲相對簡單,按NEMA0183標(biāo)準(zhǔn)格式提取需要的經(jīng)緯信息,瞬時(shí)速度,UTC時(shí)間,海拔高度等數(shù)據(jù)即可。而發(fā)動(dòng)機(jī)監(jiān)控變量由于設(shè)置靈活,變量個(gè)數(shù)不定,導(dǎo)致了數(shù)據(jù)庫字段無法預(yù)先設(shè)定,傳統(tǒng)關(guān)系型數(shù)據(jù)庫如SQLSERVER, MySQL ,Oracle等數(shù)據(jù)庫無法滿足發(fā)動(dòng)機(jī)監(jiān)控變量的靈活存儲的需求。根據(jù)平臺需求特點(diǎn),設(shè)計(jì)采用了Mongo DB非關(guān)系型數(shù)據(jù)庫存儲發(fā)動(dòng)機(jī)監(jiān)控變量數(shù)據(jù)。MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型,滿足發(fā)動(dòng)機(jī)監(jiān)控變量靈活設(shè)置的存儲需求。

圖4 遠(yuǎn)程監(jiān)控平臺效果圖
平臺監(jiān)控效果如圖4所示,功能大致如下:
①車輛信息管理:對車輛信息進(jìn)行查詢、統(tǒng)計(jì)、打印報(bào)表及增、刪、改的維護(hù)工作。
②操作員信息管理:對操作員信息進(jìn)行查詢、統(tǒng)計(jì)、打印報(bào)表。
③日志管理:對日常操作(如用戶登錄、車輛查詢、區(qū)域報(bào)警設(shè)定、消息發(fā)送等)。
④軌跡信息管理:車輛軌跡,歷史數(shù)據(jù)回放,指定回放速度。
⑤監(jiān)控狀態(tài)管理:區(qū)域監(jiān)控,多目標(biāo)監(jiān)控,單目標(biāo)監(jiān)控,非監(jiān)控狀態(tài)。
⑥目標(biāo)查詢:呼叫目標(biāo),中止呼叫,連續(xù)跟蹤,取消連續(xù)跟蹤。
⑦報(bào)警管理:超運(yùn)行范圍報(bào)警,超速報(bào)警,違規(guī)線路報(bào)警。
⑧發(fā)動(dòng)機(jī)監(jiān)控:監(jiān)控發(fā)動(dòng)機(jī)參數(shù)。
⑨發(fā)動(dòng)機(jī)故障診斷:發(fā)動(dòng)機(jī)故障診斷,并下發(fā)排故建議。
⑩數(shù)據(jù)庫備份恢復(fù):支持系統(tǒng)重要數(shù)據(jù)的定期自動(dòng)備份。
3.總結(jié)與展望
總之,遠(yuǎn)程行車數(shù)據(jù)記錄儀作為傳統(tǒng)數(shù)據(jù)記錄儀的補(bǔ)充,利用GPRS無線網(wǎng)絡(luò)資源,可以將分散且移動(dòng)的汽車有效管理起來,實(shí)現(xiàn)發(fā)動(dòng)機(jī)的遠(yuǎn)程監(jiān)控、遠(yuǎn)程故障診斷、行車軌跡定位等功能。隨著我國3G網(wǎng)絡(luò)基本建設(shè)完成,打破了無線帶寬瓶頸的限制,使網(wǎng)絡(luò)帶寬得到較大提升,基于3G網(wǎng)絡(luò)將使得遠(yuǎn)程行車數(shù)據(jù)記錄儀數(shù)據(jù)傳輸速度、測控命令響應(yīng)速度更快,系統(tǒng)用戶體驗(yàn)將得到明顯的改善。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.sdyuan.com/
本文標(biāo)題:遠(yuǎn)程行車數(shù)據(jù)記錄儀系統(tǒng)設(shè)計(jì)
本文網(wǎng)址:http://m.sdyuan.com/html/support/11121517541.html
























