一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng)及方法
【專利摘要】本發(fā)明涉及電子控制【技術(shù)領(lǐng)域】。本發(fā)明的一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng)及方法,系統(tǒng)包括移動終端設(shè)備和遠(yuǎn)程中心系統(tǒng),所述遠(yuǎn)程中心系統(tǒng)包括DBC文件處理裝置、信號數(shù)據(jù)解封裝置、信號數(shù)據(jù)預(yù)處理裝置、信號數(shù)據(jù)統(tǒng)計裝置、信號數(shù)據(jù)異常處理裝置和信號數(shù)據(jù)分析圖表生成裝置,移動終端設(shè)備通過GSM/3G網(wǎng)絡(luò)與遠(yuǎn)程中心系統(tǒng)通信,該系統(tǒng)解決了復(fù)雜的、海量的CAN數(shù)據(jù)實時上報的解析、轉(zhuǎn)換、統(tǒng)計及存儲的困難,可為整車研發(fā)工作提供重要的輔助功能。本發(fā)明的方法運用于上述系統(tǒng),該方法大大提高從CAN數(shù)據(jù)塊中提取出信號數(shù)據(jù),進(jìn)行信號歸并及轉(zhuǎn)換和信號數(shù)據(jù)統(tǒng)計及存儲等一系列操作的效率。
【專利說明】—種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子控制【技術(shù)領(lǐng)域】,尤其涉及一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著汽車工業(yè)的飛速發(fā)展,智能汽車電子系統(tǒng)需求日益顯著,電控單元的應(yīng)用日趨復(fù)雜。隨著CAN-bus在汽車工業(yè)上的應(yīng)用,汽車智能時代正在來襲。
[0003]CAN-bus即是實現(xiàn)汽車微控制器之間通訊以及交換信息的車載網(wǎng)絡(luò)信息傳輸通訊系統(tǒng),由于汽車內(nèi)部的集成度越來越高,汽車電控系統(tǒng)也越來越復(fù)雜,車載網(wǎng)絡(luò)通訊也越來越復(fù)雜,CAN作為汽車內(nèi)部電子控制單元(以下稱:E⑶)系統(tǒng)之間的通信標(biāo)準(zhǔn),外部診斷設(shè)備按照該標(biāo)準(zhǔn)規(guī)范就可以采集到電控單元ECU的內(nèi)部狀態(tài)數(shù)據(jù),但由于ECU往CAN-bus上廣播CAN數(shù)據(jù)的頻率是以毫秒級為單位,速度非???,且CAN2.0標(biāo)準(zhǔn)規(guī)定每個ECU往CAN-bus上廣播的數(shù)據(jù)(以下稱:CAN數(shù)據(jù))由8個字節(jié)表示,在理論上每個E⑶的CAN數(shù)據(jù)可以表示的信號數(shù)量能達(dá)到264個,實際應(yīng)用中可能是用213^、313^、413^...等合并來表示I個信號,這就出現(xiàn)了信號數(shù)據(jù)位不統(tǒng)一,數(shù)據(jù)偏移量不固定等因素,導(dǎo)致了遠(yuǎn)程中心系統(tǒng)在進(jìn)行CAN數(shù)據(jù)的實時采集、提取及歸并、轉(zhuǎn)換及統(tǒng)計工作復(fù)雜度非常高、效率非常低下,并且降低了系統(tǒng)的可靠 性,故障率升高。
【發(fā)明內(nèi)容】
[0004]解決上述技術(shù)問題,本發(fā)明提供了一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng)。該系統(tǒng)能有效降低復(fù)雜的、海量的CAN數(shù)據(jù)實時采集工作壓力,信號提取及歸并操作的復(fù)雜度,大大提高了信號轉(zhuǎn)換及統(tǒng)計速度,可為整車研發(fā)工作提供重要的輔助功能。
[0005]本發(fā)明還同時提供了一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計的方法,該方法適用于上述系統(tǒng),該方法首先采用固定封包格式進(jìn)行海量的CAN數(shù)據(jù)實時采集上報操作,有效解決大數(shù)據(jù)進(jìn)行可靠的無線實時傳輸?shù)钠款i,結(jié)合MAP快速映射算法解決復(fù)雜的CAN數(shù)據(jù)快速地信號提取及歸并環(huán)節(jié),再以采集到的CAN數(shù)據(jù)的時間為刻度,劃分為秒、分、小時三種時域為跨度,分別以各自的子域統(tǒng)計結(jié)果為基礎(chǔ)進(jìn)行快速地統(tǒng)計,從而大大提高從CAN數(shù)據(jù)塊中提取出信號數(shù)據(jù),進(jìn)行信號歸并及轉(zhuǎn)換和信號數(shù)據(jù)統(tǒng)計及存儲等一系列操作的效率。
[0006]為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案是,一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng),包括移動終端設(shè)備和遠(yuǎn)程中心系統(tǒng),所述遠(yuǎn)程中心系統(tǒng)包括DBC文件處理裝置、信號數(shù)據(jù)解封裝置、信號數(shù)據(jù)預(yù)處理裝置、信號數(shù)據(jù)統(tǒng)計裝置、信號數(shù)據(jù)存儲裝置、信號數(shù)據(jù)異常處理裝置和信號數(shù)據(jù)分析圖表生成裝置,移動終端設(shè)備通過GSM/3G網(wǎng)絡(luò)與遠(yuǎn)程中心系統(tǒng)通信,
所述移動終端設(shè)備通過CAN-bus實時接收汽車CAN廣播數(shù)據(jù),并對該CAN廣播數(shù)據(jù)按照第一封包結(jié)構(gòu)進(jìn)行封包,生成封包數(shù)據(jù),并將該封包數(shù)據(jù)以時間間隔t(秒)上傳至遠(yuǎn)程中心系統(tǒng),
所述DBC文件處理裝置先提取dbc文件描述的CAN-bus信息,并生成內(nèi)存對象關(guān)系映射表,并將該內(nèi)存對象關(guān)系映射表發(fā)送至信號數(shù)據(jù)解封裝置和信號數(shù)據(jù)預(yù)處理裝置,再由信號數(shù)據(jù)解封裝置向移動終端設(shè)備發(fā)送數(shù)據(jù)采集指令后,由移動終端設(shè)備實時上報CAN數(shù)據(jù),
所述信號數(shù)據(jù)解封裝置,接收移動終端設(shè)備上傳的封包數(shù)據(jù),并根據(jù)第一封包結(jié)構(gòu)和內(nèi)存對象關(guān)系映射表對封包數(shù)據(jù)進(jìn)行解封和初步的轉(zhuǎn)換操作,釋放信號數(shù)據(jù)并投遞給信號數(shù)據(jù)預(yù)處理裝置,
所述信號數(shù)據(jù)預(yù)處理裝置對解封后的信號數(shù)據(jù)進(jìn)行抽取、清洗和歸類操作,并將操作后的信號數(shù)據(jù)投遞給信號數(shù)據(jù)統(tǒng)計裝置,
所述信號數(shù)據(jù)統(tǒng)計裝置根據(jù)模擬量信號和狀態(tài)量信號對移動設(shè)備在同一毫秒時刻采集到的CAN數(shù)據(jù)進(jìn)行統(tǒng)計操作,生成統(tǒng)計后信號數(shù)據(jù)。按照模擬量信號和狀態(tài)量信號兩種類型分別進(jìn)行數(shù)據(jù)統(tǒng)計操作,對模擬量信號進(jìn)行最大值、最小值和平均值計算,對狀態(tài)量信號出現(xiàn)的狀態(tài)進(jìn)行頻次、變換次數(shù)、單次持續(xù)時長,累計持續(xù)時長等計算,并將統(tǒng)計后信號數(shù)據(jù)打上日期時間和移動終端設(shè)備標(biāo)識,投遞至信號數(shù)據(jù)存儲裝置進(jìn)行數(shù)據(jù)庫存儲操作,所述信號數(shù)據(jù)存儲裝置,實現(xiàn)多任務(wù)存儲隊列,接收信號數(shù)據(jù)統(tǒng)計裝置統(tǒng)計后的數(shù)據(jù),進(jìn)行快速分發(fā)存儲至分布式數(shù)據(jù)庫中;
所述信號數(shù)據(jù)異常處理裝置協(xié)同信號預(yù)處理裝置工作,記錄信號預(yù)處理過程出現(xiàn)的異常信號數(shù)據(jù);
所述信號數(shù)據(jù)分析圖表生成裝置獲取信號數(shù)據(jù)統(tǒng)計裝置的統(tǒng)計后信號數(shù)據(jù),并將統(tǒng)計后信號數(shù)據(jù)生成圖表。
[0007]進(jìn)一步的,所述第一封包結(jié)構(gòu)由幀頭標(biāo)識位、消息頭、消息體、校驗碼和幀尾標(biāo)識位組成,幀頭標(biāo)識位字段由雙方通信的幀格式?jīng)Q定,指明新的一幀的開始;消息頭字段由消息ID、消息屬性、終端設(shè)備ID、消息流水號和封包項組成;消息體字段是要傳送的信號數(shù)據(jù);幀尾標(biāo)識位字段指明新的一幀的結(jié)束;校驗碼字段是將消息頭和消息體兩個部分按照校驗方法計算出的結(jié)果,用于校驗數(shù)據(jù)的正確性。
[0008]進(jìn)一步的,所述CAN廣播數(shù)據(jù)的結(jié)構(gòu)由流水號、信號數(shù)據(jù)總包數(shù)、數(shù)據(jù)長度、時間序列、CAN數(shù)據(jù)組成。
[0009]進(jìn)一步的,該CAN-bus信息包括E⑶邏輯地址(或稱為CANID),E⑶對象數(shù)據(jù)結(jié)構(gòu)信息、ECU信號對象數(shù)據(jù)結(jié)構(gòu)信息。
[0010]進(jìn)一步的,所述t為1-2 (秒)。
[0011]本發(fā)明同時還提供了一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計方法,該方法運用于上述系統(tǒng),包括如下步驟:
51:移動終端設(shè)備通過CAN-bus實時接收汽車CAN廣播數(shù)據(jù),并對該CAN廣播數(shù)據(jù)按照第一封包結(jié)構(gòu)進(jìn)行封包,生成封包數(shù)據(jù),并將該封包數(shù)據(jù)以時間間隔t (秒)上傳至遠(yuǎn)程中心系統(tǒng),
52=DBC文件處理裝置先提取dbc文件描述的CAN-bus信息,并生成內(nèi)存對象關(guān)系映射表,并將該內(nèi)存對象關(guān)系映射表發(fā)送至信號數(shù)據(jù)解封裝置和信號數(shù)據(jù)預(yù)處理裝置,再由信號數(shù)據(jù)解封裝置向移動終端設(shè)備發(fā)送數(shù)據(jù)采集指令后,由移動終端設(shè)備實時上報CAN數(shù)據(jù),
S3:信號數(shù)據(jù)解封裝置接收移動終端設(shè)備上傳的封包數(shù)據(jù),并根據(jù)第一封包結(jié)構(gòu)和內(nèi)存對象關(guān)系映射表對封包數(shù)據(jù)進(jìn)行解封和初步的轉(zhuǎn)換操作,釋放信號數(shù)據(jù)并投遞給信號數(shù)據(jù)預(yù)處理裝置,
54:信號數(shù)據(jù)預(yù)處理裝置對解封后的信號數(shù)據(jù)進(jìn)行抽取、清洗和歸類操作,并將操作后的信號數(shù)據(jù)投遞給信號數(shù)據(jù)統(tǒng)計裝置,
55:信號數(shù)據(jù)統(tǒng)計裝置根據(jù)模擬量信號和狀態(tài)量信號對移動設(shè)備在同一毫秒時刻采集到的CAN數(shù)據(jù)進(jìn)行統(tǒng)計操作,生成統(tǒng)計后信號數(shù)據(jù),按照模擬量信號和狀態(tài)量信號兩種類型分別進(jìn)行數(shù)據(jù)統(tǒng)計操作,對模擬量信號進(jìn)行最大值、最小值和平均值計算,對狀態(tài)量信號出現(xiàn)的狀態(tài)進(jìn)行頻次、變換次數(shù)、單次持續(xù)時長,累計持續(xù)時長等計算,并將統(tǒng)計后信號數(shù)據(jù)打上日期時間和移動終端設(shè)備標(biāo)識,投遞至信號數(shù)據(jù)存儲裝置進(jìn)行數(shù)據(jù)庫存儲操作,
S6:信號數(shù)據(jù)存儲裝置開辟多任務(wù)存儲隊列,接收信號數(shù)據(jù)統(tǒng)計裝置統(tǒng)計后的數(shù)據(jù),進(jìn)行分布式存儲,
57:信號數(shù)據(jù)異常處理裝置協(xié)同信號數(shù)據(jù)預(yù)處理裝置工作,記錄信號預(yù)處理過程出現(xiàn)的異常信號數(shù)據(jù);
58:信號數(shù)據(jù)分析圖表生成裝置獲取信號數(shù)據(jù)統(tǒng)計裝置的統(tǒng)計后信號數(shù)據(jù),并將統(tǒng)計后信號數(shù)據(jù)生成圖表。
[0012]進(jìn)一步的,SI中,第一封包結(jié)構(gòu)由幀頭標(biāo)識位、消息頭、消息體、校驗碼和幀尾標(biāo)識位組成,幀頭標(biāo)識位字段由雙方通信的幀格式?jīng)Q定,指明新的一幀的開始;消息頭字段由消息ID、消息屬性、終端設(shè)備ID、消息流水號和封包項組成;消息體字段是要傳送的信號數(shù)據(jù);幀尾標(biāo)識位字段指明新的一幀的結(jié)束;校驗碼字段是將消息頭和消息體兩個部分按照校驗方法計算出的結(jié)果,用于校驗數(shù)據(jù)的正確性。
[0013]進(jìn)一步的,SI中,所述CAN廣播數(shù)據(jù)的結(jié)構(gòu)由流水號、信號數(shù)據(jù)總包數(shù)、數(shù)據(jù)長度、時間序列、CAN數(shù)據(jù)組成。
[0014]進(jìn)一步的,SI中,該CAN-bus信息包括E⑶邏輯地址(或稱為CANID),E⑶對象數(shù)據(jù)結(jié)構(gòu)信息、ECU信號對象數(shù)據(jù)結(jié)構(gòu)信息。
[0015]進(jìn)一步的,SI中,所述t為1-2 (秒)。
[0016]本發(fā)明通過采用上述技術(shù)方案,與現(xiàn)有技術(shù)相比,具有如下優(yōu)點:
本發(fā)明的系統(tǒng)由遠(yuǎn)程中心系統(tǒng)控制車載終端對車輛CAN-bus上ECU的內(nèi)部狀態(tài)數(shù)據(jù)進(jìn)行實時采集并上報至中心系統(tǒng),由中心系統(tǒng)采用一種快速映射算法對上報的信號數(shù)據(jù)進(jìn)行快速轉(zhuǎn)換、清洗及分類后,投遞給實時統(tǒng)計服務(wù)器對信號數(shù)據(jù)進(jìn)行快速統(tǒng)計并分發(fā)存儲,最終以flash作為介質(zhì),將實時統(tǒng)計結(jié)果以各類圖表形式展現(xiàn)給用戶,讓用戶能直觀的了解汽車內(nèi)部ECU實時的工作狀態(tài)。應(yīng)用本系統(tǒng)則可以使車輛工程師擺脫長期跑車試驗過程的時間綁架,將主要精力投放在信號狀態(tài)變化過程分析,通過遠(yuǎn)程中心系統(tǒng)就能夠及時了解跑車測試中產(chǎn)生的工況數(shù)據(jù)的變化情況,大大提高整車開發(fā)測試效率,為車輛設(shè)計改進(jìn)提供重要的參考依據(jù)。
[0017]本發(fā)明的方法該首先采用固定封包格式進(jìn)行海量的CAN數(shù)據(jù)實時采集上報操作,有效解決大數(shù)據(jù)進(jìn)行可靠的無線實時傳輸?shù)钠款i,結(jié)合MAP快速映射算法解決復(fù)雜的CAN數(shù)據(jù)快速地信號提取及歸并環(huán)節(jié),再以采集到的CAN數(shù)據(jù)的時間為刻度,劃分為秒、分、小時三種時域為跨度,分別以各自的子域統(tǒng)計結(jié)果為基礎(chǔ)進(jìn)行快速地統(tǒng)計,從而大大提高從CAN數(shù)據(jù)塊中提取出信號數(shù)據(jù),進(jìn)行信號歸并及轉(zhuǎn)換和信號數(shù)據(jù)統(tǒng)計及存儲等一系列操作的效率。解決了復(fù)雜的、海量的CAN數(shù)據(jù)實時上報的解析、轉(zhuǎn)換、統(tǒng)計及存儲的困難,可為整車研發(fā)工作提供重要的輔助功能,擺脫以往車輛工程師必須親臨車輛現(xiàn)場,采用單機(jī)診斷儀進(jìn)行現(xiàn)場跟蹤的繁瑣工作。
【專利附圖】
【附圖說明】
[0018]圖1是本發(fā)明的實施例的系統(tǒng)結(jié)構(gòu)圖;
圖2是本發(fā)明的實施例的封包結(jié)構(gòu)圖;
圖3是本發(fā)明的實施例的消息頭結(jié)構(gòu)圖;
圖4是本發(fā)明的實施例的CAN廣播數(shù)據(jù)結(jié)構(gòu)圖;
圖5是本發(fā)明的DBC文件處理裝置生成內(nèi)存對象關(guān)系映射表的示意圖;
圖6是本發(fā)明的信號數(shù)據(jù)預(yù)處理裝置對解封后信號數(shù)據(jù)抽取操作示意圖;
圖7是本發(fā)明的信號數(shù)據(jù)預(yù)處理裝置對解封后信號數(shù)據(jù)清洗和歸類操作示意圖。
【具體實施方式】
[0019]現(xiàn)結(jié)合附圖和【具體實施方式】對本發(fā)明進(jìn)一步說明。
[0020]作為一個具體的實施例,如圖1所示,一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng),包括移動終端設(shè)備和遠(yuǎn)程中心系統(tǒng),所述遠(yuǎn)程中心系統(tǒng)包括DBC文件處理裝置、信號數(shù)據(jù)解封裝置、信號數(shù)據(jù)預(yù)處理裝置、信號數(shù)據(jù)統(tǒng)計裝置、信號數(shù)據(jù)存儲裝置、信號數(shù)據(jù)異常處理裝置和信號數(shù)據(jù)分析圖表生成裝置,移動終端設(shè)備通過GSM/3G網(wǎng)絡(luò)與遠(yuǎn)程中心系統(tǒng)通信,
所述移動終端設(shè)備通過CAN-bus實時接收汽車CAN廣播數(shù)據(jù),并對該CAN廣播數(shù)據(jù)按照第一封包結(jié)構(gòu)進(jìn)行封包,生成封包數(shù)據(jù),并將該封包數(shù)據(jù)以時間間隔t(秒)上傳至遠(yuǎn)程中心系統(tǒng),所述t為1-2 (秒)。
[0021]所述第一封包結(jié)構(gòu)如圖2所示,由幀頭標(biāo)識位、消息頭、消息體、校驗碼和幀尾標(biāo)識位組成。
[0022]幀頭標(biāo)識位字段由雙方通信的幀格式?jīng)Q定,指明新的一幀的開始;消息頭字段由消息ID、消息屬性、終端設(shè)備ID、消息流水號和封包項組成;消息體字段是要傳送的信號數(shù)據(jù);幀尾標(biāo)識位字段指明新的一幀的結(jié)束;校驗碼字段是將消息頭和消息體兩個部分按照校驗方法計算出的結(jié)果,用于校驗數(shù)據(jù)的正確性;
所述消息頭格式如圖3所示:包括消息ID、消息屬性、設(shè)備ID、流水號、封包項,封包項包括子封包總數(shù)和子封包序號。
[0023]本實施例中,所述CAN廣播數(shù)據(jù)的結(jié)構(gòu)的如圖4所示由流水號、信號數(shù)據(jù)總包數(shù)、數(shù)據(jù)長度、時間序列、CAN數(shù)據(jù)組成。
[0024]本實施例中,該CAN-bus信息包括E⑶邏輯地址(或稱為CANID),E⑶對象數(shù)據(jù)結(jié)構(gòu)信息、ECU信號對象數(shù)據(jù)結(jié)構(gòu)信息。
[0025]所述DBC文件處理裝置先提取dbc文件描述的CAN-bus信息,并生成內(nèi)存對象關(guān)系映射表,并將該內(nèi)存對象關(guān)系映射表發(fā)送至信號數(shù)據(jù)解封裝置和信號數(shù)據(jù)預(yù)處理裝置,再由信號數(shù)據(jù)解封裝置向移動終端設(shè)備發(fā)送數(shù)據(jù)采集指令后,由移動終端設(shè)備通過GSM/3G網(wǎng)向信號數(shù)據(jù)解封裝置實時上報CAN數(shù)據(jù),
所述信號數(shù)據(jù)解封裝置,接收移動終端設(shè)備上傳的封包數(shù)據(jù),并根據(jù)第一封包結(jié)構(gòu)和內(nèi)存對象關(guān)系映射表對封包數(shù)據(jù)進(jìn)行解封和初步的轉(zhuǎn)換操作,釋放信號數(shù)據(jù)并投遞給信號數(shù)據(jù)預(yù)處理裝置,
所述信號數(shù)據(jù)預(yù)處理裝置對解封后的信號數(shù)據(jù)進(jìn)行抽取、清洗和歸類操作,并將操作后的信號數(shù)據(jù)投遞給信號數(shù)據(jù)統(tǒng)計裝置,
所述信號數(shù)據(jù)統(tǒng)計裝置根據(jù)模擬量信號和狀態(tài)量信號對移動設(shè)備在同一毫秒時刻采集到的CAN數(shù)據(jù)進(jìn)行統(tǒng)計操作,生成統(tǒng)計后信號數(shù)據(jù)。按照模擬量信號和狀態(tài)量信號兩種類型分別進(jìn)行數(shù)據(jù)統(tǒng)計操作,對模擬量信號進(jìn)行最大值、最小值和平均值計算,對狀態(tài)量信號出現(xiàn)的狀態(tài)進(jìn)行頻次、變換次數(shù)、單次持續(xù)時長,累計持續(xù)時長等計算,并將統(tǒng)計后信號數(shù)據(jù)打上日期時間和移動終端設(shè)備標(biāo)識,投遞至信號數(shù)據(jù)存儲裝置進(jìn)行數(shù)據(jù)庫存儲操作,
所述信號數(shù)據(jù)存儲裝置,開辟多任務(wù)存儲隊列,接收信號數(shù)據(jù)統(tǒng)計裝置統(tǒng)計后的數(shù)據(jù),進(jìn)行分布式存儲,
所述信號數(shù)據(jù)異常處理裝置協(xié)同信號預(yù)處理裝置工作,記錄信號預(yù)處理過程出現(xiàn)的異常信號數(shù)據(jù);
所述信號數(shù)據(jù)分析圖表生成裝置獲取信號數(shù)據(jù)統(tǒng)計裝置的統(tǒng)計后信號數(shù)據(jù),并將統(tǒng)計后信號數(shù)據(jù)生成圖表。
[0026]本實施例同時還提供了一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計方法,該方法運用于上述系統(tǒng),包括如下步驟:
51:移動終端設(shè)備通過CAN-bus實時接收汽車CAN廣播數(shù)據(jù),并對該CAN廣播數(shù)據(jù)按照第一封包結(jié)構(gòu)進(jìn)行封包,生成封包數(shù)據(jù),并將該封包數(shù)據(jù)以時間間隔t (秒)上傳至遠(yuǎn)程中心系統(tǒng),所述t為1-2 (秒),
第一封包結(jié)構(gòu)具體結(jié)構(gòu)圖參考圖2所示,由幀頭標(biāo)識位、消息頭、消息體、校驗碼和幀尾標(biāo)識位組成,
幀頭標(biāo)識位字段由雙方通信的幀格式?jīng)Q定,指明新的一幀的開始;消息頭字段格式如圖3所示,由消息ID、消息屬性、終端設(shè)備ID、消息流水號和封包項組成;消息體字段是要傳送的信號數(shù)據(jù);幀尾標(biāo)識位字段指明新的一幀的結(jié)束;校驗碼字段是將消息頭和消息體兩個部分按照校驗方法計算出的結(jié)果,用于校驗數(shù)據(jù)的正確性;
所述CAN廣播數(shù)據(jù)的結(jié)構(gòu)其格式如圖4所示:由流水號、信號數(shù)據(jù)總包數(shù)、數(shù)據(jù)長度、時間序列、CAN數(shù)據(jù)組成。
[0027]該CAN-bus信息包括E⑶邏輯地址(或稱為CANID),E⑶對象數(shù)據(jù)結(jié)構(gòu)信息、E⑶信號對象數(shù)據(jù)結(jié)構(gòu)信息;
52=DBC文件處理裝置先提取dbc文件描述的CAN-bus信息,并生成內(nèi)存對象關(guān)系映射表,并將該內(nèi)存對象關(guān)系映射表發(fā)送至信號數(shù)據(jù)解封裝置和信號數(shù)據(jù)預(yù)處理裝置,再由信號數(shù)據(jù)解封裝置向移動終端設(shè)備發(fā)送數(shù)據(jù)采集指令后,由移動終端設(shè)備實時上報CAN數(shù)據(jù),
參考圖5所示,DBC文件處理裝置按照dbc文件標(biāo)準(zhǔn)自動從文件中提取E⑶邏輯地址(或稱為CANID)信息、ECU對象數(shù)據(jù)結(jié)構(gòu)信息,每個ECU提供的信號邏輯結(jié)構(gòu)信息,自動生成CANID與信號ECU對象映射關(guān)系緩存表設(shè)計,一個ECU對象對應(yīng)唯——個CANID,CANID具有唯一性,具體包括以下步驟:
第一步,先從dbc文件中提取ECU對象的CANID,并開辟一個對應(yīng)的ECU對象內(nèi)存,取得該內(nèi)存地址值作為該E⑶對象內(nèi)存ID,將該內(nèi)存ID與該CANID綁定,使得通過CANID可以快速取得E⑶對象內(nèi)存地址信息。
[0028]第二步,從dbc文件中提取該E⑶對象全局信息,包括E⑶名稱、信號周期、描述,存入第一步開辟的ECU對象內(nèi)存結(jié)構(gòu)中。
[0029]第三步,從文件中提取該ECU對象提供的信號結(jié)構(gòu)信息,包括信號ID、信號類型、信號起始位、信號偏移量、字節(jié)序、浮點精度、有效值范圍、單位等信息,并開辟一個對應(yīng)的信號對象內(nèi)存存放這些信息,為CAN數(shù)據(jù)解析和轉(zhuǎn)換工作提供重要依據(jù)。同時取得該內(nèi)存地址值作為該信號對象內(nèi)存ID,將該內(nèi)存ID存入ECU對象預(yù)開辟的信號對象內(nèi)存ID鏈表中。
[0030]第四步,繼續(xù)遍歷文件中該ECU對象提供的所有信號結(jié)構(gòu)信息,方法同第三步,最后該ECU對象內(nèi)存區(qū)緩存著所有信號信息,
第五步,循環(huán)執(zhí)行第一至第五,直到提取出dbc文件中所有的ECU對象信息,最終dbc文件生成在計算機(jī)內(nèi)存中的結(jié)構(gòu)圖,進(jìn)而快速將移動終端設(shè)備上報的CAN廣播數(shù)據(jù)一一映射至相應(yīng)的信號對象結(jié)構(gòu)中,以實現(xiàn)快速信號解析轉(zhuǎn)換過程;
53:信號數(shù)據(jù)解封裝置,接收移動終端設(shè)備上傳的封包數(shù)據(jù),并根據(jù)第一封包結(jié)構(gòu)和內(nèi)存對象關(guān)系映射表對封包數(shù)據(jù)進(jìn)行解封和初步的轉(zhuǎn)換操作,釋放信號數(shù)據(jù)并投遞給信號數(shù)據(jù)預(yù)處理裝置,
54:信號數(shù)據(jù)預(yù)處理裝置對解封后的信號數(shù)據(jù)進(jìn)行抽取、清洗和歸類操作,并將操作后的信號數(shù)據(jù)投遞給信號數(shù)據(jù)統(tǒng)計裝置,參考圖6和圖7所示,S4具體包括以下步驟:
步驟1、當(dāng)收到終端設(shè)備上報的數(shù)據(jù)時,需依據(jù)第I點中描述的封包結(jié)構(gòu),分離消息頭和消息體數(shù)據(jù),根據(jù)消息頭中的消息屬性中附帶的分包標(biāo)識位,識別是否有子封包數(shù)據(jù),步驟2、若為分包則需要等待后續(xù)子封包數(shù)據(jù)到達(dá)進(jìn)行拼包操作,并依據(jù)消息頭中的封包項識別子封包數(shù)量和封包序號判斷接收是否結(jié)束,
步驟3、當(dāng)接收完整數(shù)據(jù)后,根據(jù)第I點描述的CAN數(shù)據(jù)結(jié)構(gòu)對消息體中的CAN數(shù)據(jù)進(jìn)行解析分離。按照CANID進(jìn)行分類,將不同毫秒序列的相同CANID的數(shù)據(jù)歸為一類,形成CANID時間序列對象表,每個時間序列都對應(yīng)自己的CAN數(shù)據(jù)塊,
步驟4、遍歷所有CANID對應(yīng)的毫秒序列數(shù)據(jù)塊,根據(jù)第2點描述的CANID和ECU對象映射關(guān)系快速轉(zhuǎn)換所有CAN數(shù)據(jù)塊中的具體信號數(shù)據(jù),并按照信號ID進(jìn)行分類,將不同毫秒序列的相同信號ID的信號數(shù)據(jù)歸為一類,直到所有CANID和CANID對應(yīng)的時間序列對應(yīng)的CAN數(shù)據(jù)塊遍歷完畢,進(jìn)而生成具體的信號ID和信號數(shù)據(jù)映射對象表,
步驟5、遍歷所有信號ID對應(yīng)的信號數(shù)據(jù)對象,對所有信號數(shù)據(jù)進(jìn)行數(shù)值變換和清洗后,生成信號值列表,
步驟6、將信號值列表按照時間序列,計算同一秒內(nèi)的所有時間序列對應(yīng)的信號值,模擬量則將所有信號值進(jìn)行排序和累加,計算得出該信號在該秒內(nèi)的信號最大值、最小值和平均值;狀態(tài)量則需進(jìn)一步對該信號在該秒內(nèi)所有時間序列出現(xiàn)的狀態(tài)進(jìn)行分類,按照時間序列逐個判斷前后是否發(fā)生狀態(tài)變化,統(tǒng)計變化次數(shù),有變化時統(tǒng)計變化次數(shù),無變化時統(tǒng)計持續(xù)時間,最后統(tǒng)計各個狀態(tài)在不同時間序列上出現(xiàn)的頻次,
步驟7、將模擬量信號的每秒統(tǒng)計結(jié)果,按照時間、信號ID、最大值、最小值、平均值存儲到秒數(shù)據(jù)庫中的模擬量信號統(tǒng)計表;將狀態(tài)量信號的每秒統(tǒng)計結(jié)果,按照時間、信號ID、頻次、變化次數(shù)、持續(xù)時間存儲到秒數(shù)據(jù)庫中的狀態(tài)量信號統(tǒng)計表,
步驟8、以步驟6輸出的結(jié)果,繼續(xù)統(tǒng)計同一分鐘內(nèi)所有秒的數(shù)據(jù)值,計算方法同步驟
6,
步驟9、方法同步驟7,將步驟8的統(tǒng)計結(jié)果按照信號類型,分別存放到分鐘數(shù)據(jù)庫的模擬量信號統(tǒng)計表和狀態(tài)量信號統(tǒng)計表中,
步驟10、按照步驟8和步驟9,繼續(xù)統(tǒng)計小時數(shù)據(jù)和每天的數(shù)據(jù),將統(tǒng)計結(jié)果按照信號類型,分別存放到小時數(shù)據(jù)庫和天數(shù)據(jù)庫的模擬量信號統(tǒng)計表和狀態(tài)量信號統(tǒng)計表中。
[0031]上述的步驟S4為車輛工程師提供遠(yuǎn)程采集數(shù)據(jù)并進(jìn)行實時統(tǒng)計分析方法,可擺脫以往車輛工程師必須親臨車輛現(xiàn)場,時刻跟隨車輛,采用單機(jī)診斷儀進(jìn)行現(xiàn)場數(shù)據(jù)收集工作。步驟I和2采用固定封包格式進(jìn)行海量的CAN數(shù)據(jù)實時采集上報操作,有效解決大數(shù)據(jù)進(jìn)行可靠的無線實時傳輸?shù)钠款i;步驟3至5通過CANID的映射關(guān)系實現(xiàn)復(fù)雜的CAN數(shù)據(jù)快速地信號提取及歸并操作,步驟6至10以采集到的CAN數(shù)據(jù)的時間系列為刻度,自動以秒、分、小時三種時域跨度進(jìn)行有序地統(tǒng)計,并以各自的子域統(tǒng)計結(jié)果為基礎(chǔ)實現(xiàn)快速統(tǒng)計;
S5:信號數(shù)據(jù)統(tǒng)計裝置根據(jù)模擬量信號和狀態(tài)量信號對移動設(shè)備在同一毫秒時刻采集到的CAN數(shù)據(jù)進(jìn)行統(tǒng)計操作,生成統(tǒng)計后信號數(shù)據(jù)。按照模擬量信號和狀態(tài)量信號兩種類型分別進(jìn)行數(shù)據(jù)統(tǒng)計操作,對模擬量信號進(jìn)行最大值、最小值和平均值計算,對狀態(tài)量信號出現(xiàn)的狀態(tài)進(jìn)行頻次、變換次數(shù)、單次持續(xù)時長,累計持續(xù)時長等計算,并將統(tǒng)計后信號數(shù)據(jù)打上日期時間和移動終端設(shè)備標(biāo)識,投遞至信號數(shù)據(jù)存儲裝置進(jìn)行數(shù)據(jù)庫存儲操作,
S6:所述信號數(shù)據(jù)存儲裝置,開辟多任務(wù)存儲隊列,接收信號數(shù)據(jù)統(tǒng)計裝置統(tǒng)計后的數(shù)據(jù),進(jìn)行分布式存儲,
57:信號數(shù)據(jù)異常處理裝置協(xié)同信號預(yù)處理裝置工作,記錄信號預(yù)處理過程出現(xiàn)的異常信號數(shù)據(jù);具體包括:以時間范圍為界限,若時間范圍在I分鐘內(nèi),則信號數(shù)據(jù)分析圖表生成裝置需從秒數(shù)據(jù)庫中提取統(tǒng)計數(shù)據(jù)生成圖表;若時間范圍在I小時內(nèi),則信號數(shù)據(jù)分析圖表生成裝置需從分鐘數(shù)據(jù)庫中提取統(tǒng)計數(shù)據(jù)生成圖表;若時間范圍在24小時,內(nèi)則信號數(shù)據(jù)分析圖表生成裝置需從小時數(shù)據(jù)庫中提取統(tǒng)計數(shù)據(jù)生成圖表;若時間范圍大于24小時,則信號數(shù)據(jù)分析圖表生成裝置需從天數(shù)據(jù)庫中提取數(shù)據(jù)進(jìn)行圖表生成,
58:信號數(shù)據(jù)分析圖表生成裝置獲取信號數(shù)據(jù)統(tǒng)計裝置的統(tǒng)計后信號數(shù)據(jù),并將統(tǒng)計后信號數(shù)據(jù)生成圖表。
[0032]盡管結(jié)合優(yōu)選實施方案具體展示和介紹了本發(fā)明,但所屬領(lǐng)域的技術(shù)人員應(yīng)該明白,在不脫離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍內(nèi),在形式上和細(xì)節(jié)上可以對本發(fā)明做出各種變化,均為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng),其特征在于:包括移動終端設(shè)備和遠(yuǎn)程中心系統(tǒng),所述遠(yuǎn)程中心系統(tǒng)包括DBC文件處理裝置、信號數(shù)據(jù)解封裝置、信號數(shù)據(jù)預(yù)處理裝置、信號數(shù)據(jù)統(tǒng)計裝置、信號數(shù)據(jù)存儲裝置、信號數(shù)據(jù)異常處理裝置和信號數(shù)據(jù)分析圖表生成裝置,移動終端設(shè)備通過GSM/3G網(wǎng)絡(luò)與遠(yuǎn)程中心系統(tǒng)通信, 所述移動終端設(shè)備通過CAN-bus實時接收汽車CAN廣播數(shù)據(jù),并對該CAN廣播數(shù)據(jù)按照第一封包結(jié)構(gòu)進(jìn)行封包,生成封包數(shù)據(jù),并將該封包數(shù)據(jù)以時間間隔t秒上傳至遠(yuǎn)程中心系統(tǒng), 所述DBC文件處理裝置先提取dbc文件描述的CAN-bus信息,并生成內(nèi)存對象關(guān)系映射表,并將該內(nèi)存對象關(guān)系映射表發(fā)送至信號數(shù)據(jù)解封裝置和信號數(shù)據(jù)預(yù)處理裝置,再由信號數(shù)據(jù)解封裝置向移動終端設(shè)備發(fā)送數(shù)據(jù)采集指令后,由移動終端設(shè)備實時上報CAN數(shù)據(jù), 所述信號數(shù)據(jù)解封裝置,接收移動終端設(shè)備上傳的封包數(shù)據(jù),并根據(jù)第一封包結(jié)構(gòu)和內(nèi)存對象關(guān)系映射表對封包數(shù)據(jù)進(jìn)行解封和初步的轉(zhuǎn)換操作,釋放信號數(shù)據(jù)并投遞給信號數(shù)據(jù)預(yù)處理裝置, 所述信號數(shù)據(jù)預(yù)處理裝置對解封后的信號數(shù)據(jù)進(jìn)行抽取、清洗和歸類操作,并將操作后的信號數(shù)據(jù)投遞給信號數(shù)據(jù)統(tǒng)計裝置, 所述信號數(shù)據(jù)統(tǒng)計裝置根據(jù)模擬量信號和狀態(tài)量信號對移動設(shè)備在同一毫秒時刻采集到的CAN數(shù)據(jù)進(jìn)行統(tǒng)計操作,生成統(tǒng)計后信號數(shù)據(jù),按照模擬量信號和狀態(tài)量信號兩種類型分別進(jìn)行數(shù)據(jù)統(tǒng)計操作,對模擬量信號進(jìn)行最大值、最小值和平均值計算,對狀態(tài)量信號出現(xiàn)的狀態(tài)進(jìn)行頻次、變換次數(shù)、單次持續(xù)時長,累計持續(xù)時長等計算,并將統(tǒng)計后信號數(shù)據(jù)打上日期時間和移動終端設(shè)備標(biāo)識,投遞至信號數(shù)據(jù)存儲裝置進(jìn)行數(shù)據(jù)庫存儲操作, 所述信號數(shù)據(jù)存儲裝置,實現(xiàn)多任務(wù)存儲隊列,接收信號數(shù)據(jù)統(tǒng)計裝置統(tǒng)計后的數(shù)據(jù),進(jìn)行快速分發(fā)存儲至分布式數(shù)據(jù)庫中; 所述信號數(shù)據(jù)異常處理裝置協(xié)同信號預(yù)處理裝置工作,記錄信號預(yù)處理過程出現(xiàn)的異常信號數(shù)據(jù); 所述信號數(shù)據(jù)分析圖表生成裝置獲取信號數(shù)據(jù)統(tǒng)計裝置的統(tǒng)計后信號數(shù)據(jù),并將統(tǒng)計后信號數(shù)據(jù)生成圖表。
2.根據(jù)權(quán)利要求1所述的一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng),其特征在于:所述第一封包結(jié)構(gòu)由幀頭標(biāo)識位、消息頭、消息體、校驗碼和幀尾標(biāo)識位組成,幀頭標(biāo)識位字段由雙方通信的幀格式?jīng)Q定,指明新的一幀的開始;消息頭字段由消息ID、消息屬性、終端設(shè)備ID、消息流水號和封包項組成;消息體字段是要傳送的信號數(shù)據(jù);幀尾標(biāo)識位字段指明新的一幀的結(jié)束;校驗碼字段是將消息頭和消息體兩個部分按照校驗方法計算出的結(jié)果,用于校驗數(shù)據(jù)的正確性。
3.根據(jù)權(quán)利要求1所述的一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng),其特征在于:所述CAN廣播數(shù)據(jù)的結(jié)構(gòu)由流水號、信號數(shù)據(jù)總包數(shù)、數(shù)據(jù)長度、時間序列、CAN數(shù)據(jù)組成。
4.根據(jù)權(quán)利要求1所述的一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng),其特征在于:該CAN-bus信息包括E⑶邏輯地址(CANID),E⑶對象數(shù)據(jù)結(jié)構(gòu)信息、E⑶信號對象數(shù)據(jù)結(jié)構(gòu)信息。
5.根據(jù)權(quán)利要求1所述的一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計系統(tǒng),其特征在于:所述t為1-2 (秒)。
6.一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計方法,該方法運用于上述權(quán)利要求I至5任一項的系統(tǒng),包括如下步驟: 51:移動終端設(shè)備通過CAN-bus實時接收汽車CAN廣播數(shù)據(jù),并對該CAN廣播數(shù)據(jù)按照第一封包結(jié)構(gòu)進(jìn)行封包,生成封包數(shù)據(jù),并將該封包數(shù)據(jù)以時間間隔t (秒)上傳至遠(yuǎn)程中心系統(tǒng), 52=DBC文件處理裝置先提取dbc文件描述的CAN-bus信息,并生成內(nèi)存對象關(guān)系映射表,并將該內(nèi)存對象關(guān)系映射表發(fā)送至信號數(shù)據(jù)解封裝置和信號數(shù)據(jù)預(yù)處理裝置,再由信號數(shù)據(jù)解封裝置向移動終端設(shè)備發(fā)送數(shù)據(jù)采集指令后,由移動終端設(shè)備實時上報CAN數(shù)據(jù), S3:信號數(shù)據(jù)解封裝置接收移動終端設(shè)備上傳的封包數(shù)據(jù),并根據(jù)第一封包結(jié)構(gòu)和內(nèi)存對象關(guān)系映射表對封包數(shù)據(jù)進(jìn)行解封和初步的轉(zhuǎn)換操作,釋放信號數(shù)據(jù)并投遞給信號數(shù)據(jù)預(yù)處理裝置, S4:信號數(shù)據(jù)預(yù)處理裝置對解封后的信號數(shù)據(jù)進(jìn)行抽取、清洗和歸類操作,并將操作后的信號數(shù)據(jù)投遞給信號數(shù)據(jù)統(tǒng)計裝置, S5:信號數(shù)據(jù)統(tǒng)計裝置根據(jù)模擬量信號和狀態(tài)量信號對移動設(shè)備在同一毫秒時刻采集到的CAN數(shù)據(jù)進(jìn)行統(tǒng)計操作,生成統(tǒng)計后信號數(shù)據(jù),按照模擬量信號和狀態(tài)量信號兩種類型分別進(jìn)行數(shù)據(jù)統(tǒng)計操作,對模擬量信號進(jìn)行最大值、最小值和平均值計算,對狀態(tài)量信號出現(xiàn)的狀態(tài)進(jìn)行頻次、變 換次數(shù)、單次持續(xù)時長,累計持續(xù)時長等計算,并將統(tǒng)計后信號數(shù)據(jù)打上日期時間和移動終端設(shè)備標(biāo)識,投遞至信號數(shù)據(jù)存儲裝置進(jìn)行數(shù)據(jù)庫存儲操作, S6:信號數(shù)據(jù)存儲裝置開辟多任務(wù)存儲隊列,接收信號數(shù)據(jù)統(tǒng)計裝置統(tǒng)計后的數(shù)據(jù),進(jìn)行分布式存儲, 57:信號數(shù)據(jù)異常處理裝置協(xié)同信號數(shù)據(jù)預(yù)處理裝置工作,記錄信號預(yù)處理過程出現(xiàn)的異常信號數(shù)據(jù); 58:信號數(shù)據(jù)分析圖表生成裝置獲取信號數(shù)據(jù)統(tǒng)計裝置的統(tǒng)計后信號數(shù)據(jù),并將統(tǒng)計后信號數(shù)據(jù)生成圖表。
7.根據(jù)權(quán)利要求1所述的一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計方法,其特征在于:S1中,第一封包結(jié)構(gòu)由幀頭標(biāo)識位、消息頭、消息體、校驗碼和幀尾標(biāo)識位組成,幀頭標(biāo)識位字段由雙方通信的幀格式?jīng)Q定,指明新的一幀的開始;消息頭字段由消息ID、消息屬性、終端設(shè)備ID、消息流水號和封包項組成;消息體字段是要傳送的信號數(shù)據(jù);幀尾標(biāo)識位字段指明新的一幀的結(jié)束;校驗碼字段是將消息頭和消息體兩個部分按照校驗方法計算出的結(jié)果,用于校驗數(shù)據(jù)的正確性。
8.根據(jù)權(quán)利要求1所述的一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計方法,其特征在于:SI中,所述CAN廣播數(shù)據(jù)的結(jié)構(gòu)由流水號、信號數(shù)據(jù)總包數(shù)、數(shù)據(jù)長度、時間序列、CAN數(shù)據(jù)組成。
9.根據(jù)權(quán)利要求1所述的一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計方法,其特征在于:S1中,該CAN-bus信息包括E⑶邏輯地址(CANID),E⑶對象數(shù)據(jù)結(jié)構(gòu)信息、E⑶信號對象數(shù)據(jù)結(jié)構(gòu)信息。
10.根據(jù)權(quán)利要求1所述的一種基于CAN-bus的遠(yuǎn)程數(shù)據(jù)實時采集及分析統(tǒng)計方法,其特征在于:SI中, 所述t為1-2 (秒)。
【文檔編號】G05B19/418GK103605349SQ201310605818
【公開日】2014年2月26日 申請日期:2013年11月26日 優(yōu)先權(quán)日:2013年11月26日
【發(fā)明者】江永聰, 林文山, 王國清, 張清河, 韋昌榮 申請人:廈門雅迅網(wǎng)絡(luò)股份有限公司