1.前言
近年來道路交通事故呈上升趨勢,給國家和人民生命財產(chǎn)帶來了巨大損失。為此,國家相關部門已強制安裝行車數(shù)據(jù)記錄儀等措施。同時,國內(nèi)的發(fā)動機電控技術處于發(fā)展階段,電控發(fā)動機試裝車階段常會出現(xiàn)因為車輛匹配不佳而導致大量的軟故障問題發(fā)生,甚至在批量交付給終端用戶后都還會發(fā)生系統(tǒng)故障。目前發(fā)動機廠家的解決辦法都是依靠技術人員到實地進行現(xiàn)場故障診斷以及電控單元的控制程序升級。由于車輛已經(jīng)交到用戶手中,在全國各地無規(guī)律的分布,這將導致技術人員來回奔波,影響客戶對電控發(fā)動機的信任度。其次,售后服務的區(qū)域分布廣,差旅費帶來的開銷極大,勢必增加電控發(fā)動機廠家的開發(fā)、生產(chǎn)成本。遠程行車數(shù)據(jù)記錄儀便是解決以上難題的較好方法。
2.系統(tǒng)設計
遠程行車數(shù)據(jù)記錄儀設計涉及多個領域和技術,主要技術有計算機網(wǎng)絡技術、現(xiàn)代通信技術、分布式數(shù)據(jù)庫技術、在線監(jiān)測和數(shù)據(jù)采集技術等。本軟件的硬件系統(tǒng)是基于飛思卡爾MCF51JM128為核心的控制器,使用CAN通道與發(fā)動機電控單元(ECU)通訊,使用串口與GPRS、GPS模塊通訊,AD采樣自身電池電壓,SPI操作SD卡文件系統(tǒng)。最終設計目標在于兼容CCP、SAEJ1939等多種汽車CAN協(xié)議與發(fā)動機電控單元(ECU)通訊,設置需要采集的監(jiān)控變量,連續(xù)存儲發(fā)動的監(jiān)控變量與行車GPS數(shù)據(jù),并通過GPRS網(wǎng)絡,將數(shù)據(jù)遠程傳輸至服務器。一方面為專業(yè)客戶(汽車生產(chǎn)、研發(fā)和汽車維修部門),提供發(fā)動機狀態(tài)參數(shù)的遠程監(jiān)控、故障調(diào)試服務。另一方面以網(wǎng)絡監(jiān)控系統(tǒng)運營為主,為終端用戶(物流企業(yè)、團體車隊、個人用戶)提供基于GPS的車輛軌跡監(jiān)控、防盜、油耗監(jiān)控等以及遠程排故、遠程控制等功能。
2.1 方案設計
如何做到不改變現(xiàn)有電控發(fā)動機硬件設備,異地傳輸數(shù)據(jù),實時監(jiān)控發(fā)動機運行狀況?結(jié)合電控單元(ECU)的產(chǎn)品特性,如何對遍布全國角落的車輛運行狀況進行狀態(tài)監(jiān)控以及故障診斷。針對車輛分布廣,地域性要求較高的特點,最為理想的則是利用無線網(wǎng)絡。
GPRS是目前解決移動通信信息服務的一種運用較廣泛的業(yè)務,它是以數(shù)據(jù)流量計費,覆蓋范圍廣泛、數(shù)據(jù)傳輸速度更快。移動網(wǎng)絡信號覆蓋的地方,我們都可以實現(xiàn)行車數(shù)據(jù)記錄儀的遠程數(shù)據(jù)傳輸。
圖1 系統(tǒng)框圖
如圖1系統(tǒng)框圖所示,行車記錄儀通過CAN線與ECU連接,基于CCP/1939通訊協(xié)議與ECU交換數(shù)據(jù),行車記錄儀將所獲的發(fā)動機監(jiān)控數(shù)據(jù)存儲于SD卡上,并根據(jù)需要將監(jiān)控數(shù)據(jù)以及GPS經(jīng)緯數(shù)據(jù)通過GPRS傳輸至遠程服務器。遠程服務器可以搭建網(wǎng)絡平臺以供客戶電腦監(jiān)控車輛運行情況。同時服務器也可發(fā)送控制命令達到遠程控制車輛的目的。
2.2 硬件設計
基于GPRS無線網(wǎng)絡實現(xiàn)數(shù)據(jù)遠程傳輸,不需要對現(xiàn)有的電控單元(ECU)產(chǎn)品做任何硬件改動,只需引入GPRS無線模塊連接到發(fā)動機通信診斷口上即可。GPRS模塊目前主要以DTU (Data Transfer unit)數(shù)據(jù)傳輸單元為主,用于將串口數(shù)據(jù)轉(zhuǎn)換為TCP網(wǎng)絡數(shù)據(jù)或?qū)CP網(wǎng)絡數(shù)據(jù)轉(zhuǎn)換為串口數(shù)據(jù)。主控制器的選擇需要具備多路CAN通道,2路SCI通道,1路SPI通道,1路AD,1路IIC等必要硬件資源。
圖2 硬件設計框圖
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 軟件設計
2.3.1 單片機設計
單片機設計基于MCF51JM128芯片,采用CodeWarrior開發(fā)完成。系統(tǒng)上電,軟件首先進行必要的硬件初始化操作,判斷CAN接口、SD卡是否接觸良好?系統(tǒng)自檢完成后,即開始讀取SD卡的監(jiān)控變量配置文件,將監(jiān)控變量需求通過CAN通訊提交給ECU,ECU接受監(jiān)控變量設置成功后,即按要求反饋監(jiān)控變量的CAN數(shù)據(jù)原文。軟件周期存儲CAN數(shù)據(jù)以及GPS數(shù)據(jù),以及發(fā)送數(shù)據(jù)至服務器。
圖3 軟件流程圖
2.3.1.1 CAN、SCI通訊
CAN通道支持125K,250K,500K,1M等4種波特率的數(shù)據(jù)傳輸,能有效適應CCP、SAEJ1939等控制協(xié)議傳輸需求。此外,記錄儀設備的系統(tǒng)信息也可以通過CAN通訊設置,PC與單片機的CAN通訊協(xié)議為自定義協(xié)議,使用2組11位ID識別,分別為1)0x234,0x235;2)0x236,0x237。第一組ID用來對GPRS模塊進行配置和通訊操作,第二組ID用來對系統(tǒng)配置常量的FLASH操作進行控制。
SCI通訊主要用于MCU與GPS以及GPRS模塊通訊, GPS數(shù)據(jù)傳輸波特率為9600;GPRS數(shù)據(jù)傳輸波特率為11520。
2.3.1.2 時鐘設置及校準
實時時鐘主要用于數(shù)據(jù)SD卡存儲提供文件命名來源,時鐘使用時鐘模塊提供的時鐘源,同時在能夠接收到GPS信號的狀態(tài)下,使用GPS時鐘源校準時鐘保證了時鐘的準確性?紤]到時鐘模塊掉電以及GPS沒有信號的狀態(tài)可能同時發(fā)生,導致失去正常時鐘,所以將會在FLASH中保存時鐘源提供的最新一天的時鐘數(shù)據(jù),保存內(nèi)容為年月日,以辨別SD卡存儲數(shù)據(jù)的時間真實與否。
2.3.1.3 SD卡文件系統(tǒng)
GPS數(shù)據(jù)保存在以創(chuàng)建文件時間(月日時分)命名的txt文檔中,以20k為一個單位,超過指定大小后,另開一個文件繼續(xù)存儲。由于GPS保存數(shù)據(jù)并不能預先判斷設備斷電和SD卡狀態(tài),所以在存儲文件時采用單次存儲,單次關閉的方式,避免由于設備斷電等未知情況導致的文件保存不完整、無法正常打開。
2.3.1.4 GPS數(shù)據(jù)存儲
由于GPS響應相當頻繁,且對時間不太敏感,GPS數(shù)據(jù)采用開緩存非實時的方式進行處理。數(shù)據(jù)經(jīng)處理后將$GPGGA(全球定位數(shù)據(jù))取出,存入到SD卡txt文件,還可同時通過串口將數(shù)據(jù)發(fā)送至遠程服務器。
2.3.1.5 GPRS模塊設置
該模塊設置通過CAN轉(zhuǎn)SCI的方式由PC實現(xiàn), GPRS模塊設置符合AT命令標準。通過SCI輸入AT命令,即可將GPRS模塊配置為數(shù)據(jù)透明傳輸模式,實現(xiàn)數(shù)據(jù)遠程傳輸。
常用的AT命令如下:
AT+CSTT="CMNET" //設置模塊的APN賬號
AT+CIPCFG=1,40,0,150,1000 //配置模塊自動啟動模式,斷線自動重連等待時間
AT+CIPMUX=0 //設置為單鏈接模式
AT+CIPMODE=1 //設置為數(shù)據(jù)包模式
AT+CIPSCONT=0,"TCP","192.168.0.1",7100,2 //設置通訊協(xié)議、服務器地址、端口
2.3.1.7 設備系統(tǒng)信息
通過設置系統(tǒng)配置信息可以選擇設備的使用插件、運行模式,以及ID標識等。該配置信息通過CAN總線實現(xiàn)讀、寫功能。
系統(tǒng)配置信息位于設備Flash 區(qū)域0x0001FC00地址處,該功能的實現(xiàn)需要對Flash 進行格式化和寫操作,相關代碼需要拷貝到RAM中執(zhí)行。
表1 系統(tǒng)信息存儲說明
2.3.1.8 CCP數(shù)據(jù)監(jiān)控
該功能的數(shù)據(jù)監(jiān)控和SD卡存儲代碼實現(xiàn)保留第一版行車記錄儀的代碼實現(xiàn),新添加遠程傳輸監(jiān)控數(shù)據(jù)代碼實現(xiàn),詳細內(nèi)容如下:
行車記錄儀上電后依據(jù)系統(tǒng)配置信息得到當前CAN數(shù)據(jù)協(xié)議是否支持CCP協(xié)議,如果支持則讀取SD卡上的CCP配置文件(DAQLst.inf、DAQTgt.lst、*.a2l),單片機主要讀取DAQTgt.lst文件,該文件包含CCP監(jiān)控變量的ECU地址信息,然后按照CCP協(xié)議與ECU通訊,設置開啟DAQ數(shù)據(jù)傳輸。系統(tǒng)支持標準觸發(fā)型、10ms、100ms等三種標準DAQ數(shù)據(jù)。ECU反饋回的監(jiān)控數(shù)據(jù)信息按CAN數(shù)據(jù)原文格式配以時間標識存放在SD卡內(nèi),同時根據(jù)系統(tǒng)配置信息得到是否支持CCP遠程數(shù)據(jù)傳輸功能,如果支持則按照預訂的發(fā)送周期(分鐘)采樣CCP數(shù)據(jù)并發(fā)送給服務器。由于CCP最大數(shù)據(jù)量為254×8=2032字節(jié),考慮到單片機內(nèi)存大小,CCP的遠程數(shù)據(jù)傳輸采用分時間片傳輸模式,即建立一個小的數(shù)據(jù)緩沖區(qū),將整個需要監(jiān)控的數(shù)據(jù)量按照該緩沖區(qū)大小分時間片在1分鐘內(nèi)分片發(fā)送。一個周期內(nèi),關注的監(jiān)控信息只發(fā)送一次。
2.3.1.9 J1939數(shù)據(jù)監(jiān)控
行車記錄儀上電后依據(jù)系統(tǒng)配置信息得到當前CAN數(shù)據(jù)協(xié)議是否支持J1939協(xié)議,如果支持則讀取SD卡上的配置文件(J1939.lst),然后按照J1939協(xié)議解析監(jiān)控到的數(shù)據(jù)內(nèi)容,同時根據(jù)配置文件設定的存儲周期和發(fā)送周期實現(xiàn)數(shù)據(jù)存儲功能和遠程數(shù)據(jù)傳輸功能。
考慮到單片機內(nèi)存大小,同時由于選用的單片機不支持動態(tài)內(nèi)存分配,所以提前設定了最大支持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:自動周期發(fā)送的PGN
1:請求發(fā)送的PGN,如DM1故障診斷。
2.3.1.10 遠程數(shù)據(jù)傳輸
配置GPRS模塊為自動數(shù)據(jù)透傳模式,相當于實現(xiàn)了片上SCI和TCP/IP數(shù)據(jù)格式的轉(zhuǎn)換,可以方便的通過無線網(wǎng)絡和單片機實現(xiàn)通訊。設計采用了自定義的報文格式封裝,具體數(shù)據(jù)如下:
表3 遠程傳輸報文協(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ù)(預留)
0xCC:GPS數(shù)據(jù)
數(shù)據(jù)校驗:數(shù)據(jù)幀結(jié)構(gòu)中有效數(shù)據(jù)內(nèi)容的累加校驗值。
幀頭、幀尾:0xAA5555AA
2.3.2 網(wǎng)絡平臺設計
網(wǎng)絡平臺適宜采用B/S瘦客戶端模式設計,設計方案是以平臺自身為服務器端,監(jiān)聽行車數(shù)據(jù)記錄儀發(fā)起的遠程連接,當建立完成TCP連接之后,通過SOCKET套接字編程,交互數(shù)據(jù),平臺根據(jù)遠程傳輸報文協(xié)議,解析數(shù)據(jù)原文,將發(fā)動機監(jiān)控數(shù)據(jù)與GPS數(shù)據(jù)獨立存儲。
數(shù)據(jù)庫存儲設計,GPS數(shù)據(jù)存儲相對簡單,按NEMA0183標準格式提取需要的經(jīng)緯信息,瞬時速度,UTC時間,海拔高度等數(shù)據(jù)即可。而發(fā)動機監(jiān)控變量由于設置靈活,變量個數(shù)不定,導致了數(shù)據(jù)庫字段無法預先設定,傳統(tǒng)關系型數(shù)據(jù)庫如SQLSERVER, MySQL ,Oracle等數(shù)據(jù)庫無法滿足發(fā)動機監(jiān)控變量的靈活存儲的需求。根據(jù)平臺需求特點,設計采用了Mongo DB非關系型數(shù)據(jù)庫存儲發(fā)動機監(jiān)控變量數(shù)據(jù)。MongoDB是一個介于關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫之間的產(chǎn)品,是非關系數(shù)據(jù)庫當中功能最豐富,最像關系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,因此可以存儲比較復雜的數(shù)據(jù)類型,滿足發(fā)動機監(jiān)控變量靈活設置的存儲需求。
圖4 遠程監(jiān)控平臺效果圖
平臺監(jiān)控效果如圖4所示,功能大致如下:
①車輛信息管理:對車輛信息進行查詢、統(tǒng)計、打印報表及增、刪、改的維護工作。
、诓僮鲉T信息管理:對操作員信息進行查詢、統(tǒng)計、打印報表。
、廴罩竟芾恚簩θ粘2僮鳎ㄈ缬脩舻卿、車輛查詢、區(qū)域報警設定、消息發(fā)送等)。
、苘壽E信息管理:車輛軌跡,歷史數(shù)據(jù)回放,指定回放速度。
、荼O(jiān)控狀態(tài)管理:區(qū)域監(jiān)控,多目標監(jiān)控,單目標監(jiān)控,非監(jiān)控狀態(tài)。
、弈繕瞬樵儯汉艚心繕,中止呼叫,連續(xù)跟蹤,取消連續(xù)跟蹤。
、邎缶芾恚撼\行范圍報警,超速報警,違規(guī)線路報警。
、喟l(fā)動機監(jiān)控:監(jiān)控發(fā)動機參數(shù)。
⑨發(fā)動機故障診斷:發(fā)動機故障診斷,并下發(fā)排故建議。
、鈹(shù)據(jù)庫備份恢復:支持系統(tǒng)重要數(shù)據(jù)的定期自動備份。
3.總結(jié)與展望
總之,遠程行車數(shù)據(jù)記錄儀作為傳統(tǒng)數(shù)據(jù)記錄儀的補充,利用GPRS無線網(wǎng)絡資源,可以將分散且移動的汽車有效管理起來,實現(xiàn)發(fā)動機的遠程監(jiān)控、遠程故障診斷、行車軌跡定位等功能。隨著我國3G網(wǎng)絡基本建設完成,打破了無線帶寬瓶頸的限制,使網(wǎng)絡帶寬得到較大提升,基于3G網(wǎng)絡將使得遠程行車數(shù)據(jù)記錄儀數(shù)據(jù)傳輸速度、測控命令響應速度更快,系統(tǒng)用戶體驗將得到明顯的改善。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:遠程行車數(shù)據(jù)記錄儀系統(tǒng)設計
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121517541.html