一種can?bus總線的數據解析方法和系統的制作方法
【專利摘要】本發明公開了一種CAN?BUS總線的數據解析方法和系統,其通過獲取整車的CAN?BUS總線的原始數據并對其進行層層篩選,首先根據所述原始數據的內存地址對所述原始數據進行分組和篩選得到一級篩選數據,然后根據所述一級篩選數據的內存值和所述車載終端的當前狀態對所述一級篩選數據進行分組和篩選得到對應狀態的二級篩選數據,并進一步通過操作所述車載終端使其在對應的二級篩選數據中產生內存值的變化,根據變化量進行篩選得到三級篩選數據,最后對所述三級篩選數據進行一一驗證和解析,極大的提高了解析效率,為CAN解析工程師對整車的CAN?BUS總線數據的解析工作節約了大量的時間成本和人工成本。
【專利說明】
一種CAN-BUS總線的數據解析方法和系統
技術領域
[0001]本發明涉及數據處理技術領域,特別是一種CAN-BUS總線的數據解析方法及其應用該方法的系統。
【背景技術】
[0002]CAN(Controller Area Network,控制器局域網絡)是應用最廣泛的現場總線之一,它作為汽車環境中的微控制通訊,在車載各ECU(Electric Control Unit,電子控制單元)之間交換信息,形成汽車電子控制網絡,CAN幾乎成為汽車設計領域一種最常采用的技術手段。
[0003]對整車CAN信號的分析是檢測整車各部件是否正常工作的必要過程。目前的技術中,針對不同車型的不同整車CAN信號,連接CAN讀取設備后,需要人工查看CAN追蹤數據,這些追蹤到的CAN信號的數據會以16進制的數字序列通過顯示器顯示給CAN解析工程師。而這些16進制數字序列是原始物理數據通過乘以因數以及添加補償值后的數據。CAN解析工程師在對16進制數字序列的整車CAN信號進行解析時,需要人工的方式先將16進制數據計算轉換為10進制數據,然后,再人工嘗試各種搭配,以確定因數和補償值,根據經驗確定需要追蹤的CAN信號在信號幀中的位置。
[0004]但是,目前的技術中,追蹤到的CAN信號的數據直接以16進制的數字序列讓CAN解析工程師進行解析,因為數據不夠直觀,使CAN解析工程師在解析過程中需要完成上述提到的多項工作,耗費的時間較長,解析的效率比較低。
【發明內容】
[0005]本發明為解決上述問題,提供了一種CAN-BUS總線的數據解析方法和系統,其通過對原始數據進行層層篩選后再進行數據的驗證和解析,極大的提高了解析效率,節約了大量的時間成本和人工成本。
[0006]為實現上述目的,本發明采用的技術方案為:
[0007]—種CAN-BUS總線的數據解析方法,其包括以下步驟:
[0008]10.獲取整車的CAN-BUS總線的原始數據;
[0009]20.根據所述原始數據的內存地址對所述原始數據進行分組,分為動態數據和穩態數據,并根據待解析的車載終端的特性選擇所述動態數據或所述穩態數據作為一級篩選數據;
[0010]30.根據所述一級篩選數據的內存值對所述一級篩選數據進行分組,得到對應不同狀態的狀態數據,并根據所述車載終端的當前狀態選擇對應的所述狀態數據作為二級篩選數據;
[0011 ] 40.通過操作所述車載終端使其在對應的二級篩選數據中產生內存值的變化,根據所述車載終端的操作變化量進行篩選對應的二級篩選數據中的內存值的變化量,作為三級篩選數據;
[0012]50.對所述三級篩選數據進行一一驗證和解析。
[0013]優選的,所述的步驟10中,獲取整車的CAN-BUS總線的原始數據,是通過在相同內外部環境下的一個以上時間點對所述的整車的CAN-BUS總線進行數據采集,得到一組以上的采樣數據,并對該一組以上的采樣數據進行比對,將得到的一組以上重復數據作為所述原始數據。
[0014]優選的,所述的步驟20中,根據所述原始數據的內存地址對所述原始數據進行分組,分為動態數據和穩態數據,是通過將一組以上的不同時間點所對應的一組以上的原始數據進行對比分析,將各組的原始數據的內存地址有變化的數據標記為動態數據,并將各組的原始數據的內存地址不變的數據標記為穩態數據。
[0015]優選的,所述的步驟30中,根據所述一級篩選數據的內存值對所述一級篩選數據進行分組,得到對應不同狀態的狀態數據,是通過將十進制的一級篩選數據轉換為十六進制的狀態數據,再進一步對所述狀態數據根據不同狀態進行分組。
[0016]優選的,所述的步驟30中,根據所述車載終端的當前狀態選擇對應的所述狀態數據作為二級篩選數據,是通過正則表達式檢索進行篩選與所述車載終端的當前狀態相對應的狀態數據作為二級篩選數據。
[0017]優選的,所述的步驟40中,得到所述三級篩選數據后,還進一步返回所述步驟20或者返回所述步驟30或者重復所述步驟40進行多次篩選,得到最終篩選數據,并最后對該最終篩選數據進行一一驗證和解析。
[0018]優選的,所述驗證包括人工驗證或者模擬器驗證。
[0019]另外,本發明還提供了一種CAN-BUS總線的數據解析系統,其包括:
[0020]數據采集模塊,用于獲取整車的CAN-BUS總線的原始數據;
[0021 ] 一級篩選模塊,其根據所述原始數據的內存地址對所述原始數據進行分組,分為動態數據和穩態數據,并根據待解析的車載終端的特性選擇所述動態數據或所述穩態數據作為一級篩選數據;
[0022]二級篩選模塊,其根據所述一級篩選數據的內存值對所述一級篩選數據進行分組,得到對應不同狀態的狀態數據,并根據所述車載終端的當前狀態選擇對應的所述狀態數據作為二級篩選數據;
[0023]三級篩選模塊,其通過操作所述車載終端使其在對應的二級篩選數據中產生內存值的變化,根據所述車載終端的操作變化量進行篩選對應的二級篩選數據中的內存值的變化量,作為三級篩選數據;
[0024]數據解析模塊,用于對所述三級篩選數據進行一一驗證和解析。
[0025]本發明的有益效果是:
[0026]本發明的一種CAN-BUS總線的數據解析方法和系統,其通過獲取整車的CAN-BUS總線的原始數據并對其進行層層篩選,首先根據所述原始數據的內存地址對所述原始數據進行分組和篩選得到一級篩選數據,然后根據所述一級篩選數據的內存值和所述車載終端的當前狀態對所述一級篩選數據進行分組和篩選得到對應狀態的二級篩選數據,并進一步通過操作所述車載終端使其在對應的二級篩選數據中產生內存值的變化,根據變化量進行篩選得到三級篩選數據,最后對所述三級篩選數據進行一一驗證和解析,從而將幾十萬條數據篩選為僅剩下幾條或者幾十條,極大的提高了解析效率,為CAN解析工程師對整車的CAN-BUS總線數據的解析工作節約了大量的時間成本和人工成本。
【附圖說明】
[0027]此處所說明的附圖用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0028]圖1為本發明一種CAN-BUS總線的數據解析方法的流程簡圖;
[0029]圖2為本發明一種CAN-BUS總線的數據解析系統的結構示意圖。
【具體實施方式】
[0030]為了使本發明所要解決的技術問題、技術方案及有益效果更加清楚、明白,以下結合附圖及實施例對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,并不用于限定本發明。
[0031 ]如圖1所示,本發明的一種CAN-BUS總線的數據解析方法,其包括以下步驟:
[0032]10.獲取整車的CAN-BUS總線的原始數據;
[0033]20.根據所述原始數據的內存地址對所述原始數據進行分組,分為動態數據和穩態數據,并根據待解析的車載終端的特性選擇所述動態數據或所述穩態數據作為一級篩選數據;
[0034]30.根據所述一級篩選數據的內存值對所述一級篩選數據進行分組,得到對應不同狀態的狀態數據,并根據所述車載終端的當前狀態選擇對應的所述狀態數據作為二級篩選數據;
[0035]40.通過操作所述車載終端使其在對應的二級篩選數據中產生內存值的變化,根據所述車載終端的操作變化量進行篩選對應的二級篩選數據中的內存值的變化量,作為三級篩選數據;
[0036]50.對所述三級篩選數據進行一一驗證和解析。
[0037]所述的步驟10中,獲取整車的CAN-BUS總線的原始數據,是通過在相同內外部環境下的一個以上時間點對所述的整車的CAN-BUS總線進行數據采集,得到一組以上的采樣數據,并對該一組以上的采樣數據進行比對,將得到的一組以上重復數據作為所述原始數據。
[0038]所述的步驟20中,根據所述原始數據的內存地址對所述原始數據進行分組,分為動態數據和穩態數據,是通過將一組以上的不同時間點所對應的一組以上的原始數據進行對比分析,將各組的原始數據的內存地址有變化的數據標記為動態數據,并將各組的原始數據的內存地址不變的數據標記為穩態數據;例如,對于行駛中的汽車,車速、轉速、油量、電量均可能是動態數據,而此時,人體檢測傳感器或者汽車門窗開關檢測傳感器可能是穩態數據。
[0039]所述的步驟30中,根據所述一級篩選數據的內存值對所述一級篩選數據進行分組,得到對應不同狀態的狀態數據,是通過將十進制的一級篩選數據轉換為十六進制的狀態數據,再進一步對所述狀態數據根據不同狀態進行分組,例如,對于汽車門窗的控制終端,開啟狀態置為1,關閉狀態置為0,則將所述狀態數據劃分為對應開啟狀態和關閉狀態的兩組數據;根據所述車載終端的當前狀態選擇對應的所述狀態數據作為二級篩選數據,是通過正則表達式檢索進行篩選與所述車載終端的當前狀態相對應的狀態數據作為二級篩選數據。
[0040]所述的步驟40中,通過操作所述車載終端使其在對應的二級篩選數據中產生內存值的變化,例如,通過操作汽車升降窗的打開量,上升至1/3、1/2等,來檢索對應的內存值的變化量;得到所述三級篩選數據后,還進一步返回所述步驟20或者返回所述步驟30或者重復所述步驟40進行多次篩選,得到最終篩選數據,并最后對該最終篩選數據進行一一驗證和解析。其中,所述驗證包括人工驗證或者模擬器驗證,可根據具體的車載終端選擇所需的驗證方式。
[0041]如圖2所示,本發明還提供了一種CAN-BUS總線的數據解析系統,其包括:
[0042]數據采集模塊A,用于獲取整車的CAN-BUS總線的原始數據;
[0043]—級篩選模塊B,其根據所述原始數據的內存地址對所述原始數據進行分組,分為動態數據和穩態數據,并根據待解析的車載終端的特性選擇所述動態數據或所述穩態數據作為一級篩選數據;
[0044]二級篩選模塊C,其根據所述一級篩選數據的內存值對所述一級篩選數據進行分組,得到對應不同狀態的狀態數據,并根據所述車載終端的當前狀態選擇對應的所述狀態數據作為二級篩選數據;
[0045]三級篩選模塊D,其通過操作所述車載終端使其在對應的二級篩選數據中產生內存值的變化,根據所述車載終端的操作變化量進行篩選對應的二級篩選數據中的內存值的變化量,作為三級篩選數據;
[0046]數據解析模塊E,用于對所述三級篩選數據進行一一驗證和解析。
[0047]需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于系統類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。并且,在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。另外,本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0048]上述說明示出并描述了本發明的優選實施例,應當理解本發明并非局限于本文所披露的形式,不應看作是對其他實施例的排除,而可用于各種其他組合、修改和環境,并能夠在本文發明構想范圍內,通過上述教導或相關領域的技術或知識進行改動。而本領域人員所進行的改動和變化不脫離本發明的精神和范圍,則都應在本發明所附權利要求的保護范圍內。
【主權項】
1.一種CAN-BUS總線的數據解析方法,其特征在于,包括以下步驟: 10.獲取整車的CAN-BUS總線的原始數據; 20.根據所述原始數據的內存地址對所述原始數據進行分組,分為動態數據和穩態數據,并根據待解析的車載終端的特性選擇所述動態數據或所述穩態數據作為一級篩選數據; 30.根據所述一級篩選數據的內存值對所述一級篩選數據進行分組,得到對應不同狀態的狀態數據,并根據所述車載終端的當前狀態選擇對應的所述狀態數據作為二級篩選數據; 40.通過操作所述車載終端使其在對應的二級篩選數據中產生內存值的變化,根據所述車載終端的操作變化量進行篩選對應的二級篩選數據中的內存值的變化量,作為三級篩選數據; 50.對所述三級篩選數據進行一一驗證和解析。2.根據權利要求1所述的一種CAN-BUS總線的數據解析方法,其特征在于:所述的步驟10中,獲取整車的CAN-BUS總線的原始數據,是通過在相同內外部環境下的一個以上時間點對所述的整車的CAN-BUS總線進行數據采集,得到一組以上的采樣數據,并對該一組以上的采樣數據進行比對,將得到的一組以上重復數據作為所述原始數據。3.根據權利要求2所述的一種CAN-BUS總線的數據解析方法,其特征在于:所述的步驟20中,根據所述原始數據的內存地址對所述原始數據進行分組,分為動態數據和穩態數據,是通過將一組以上的不同時間點所對應的一組以上的原始數據進行對比分析,將各組的原始數據的內存地址有變化的數據標記為動態數據,并將各組的原始數據的內存地址不變的數據標記為穩態數據。4.根據權利要求1所述的一種CAN-BUS總線的數據解析方法,其特征在于:所述的步驟30中,根據所述一級篩選數據的內存值對所述一級篩選數據進行分組,得到對應不同狀態的狀態數據,是通過將十進制的一級篩選數據轉換為十六進制的狀態數據,再進一步對所述狀態數據根據不同狀態進行分組。5.根據權利要求1或4所述的一種CAN-BUS總線的數據解析方法,其特征在于:所述的步驟30中,根據所述車載終端的當前狀態選擇對應的所述狀態數據作為二級篩選數據,是通過正則表達式檢索進行篩選與所述車載終端的當前狀態相對應的狀態數據作為二級篩選數據。6.根據權利要求1所述的一種CAN-BUS總線的數據解析方法,其特征在于:所述的步驟40中,得到所述三級篩選數據后,還進一步返回所述步驟20或者返回所述步驟30或者重復所述步驟40進行多次篩選,得到最終篩選數據,并最后對該最終篩選數據進行一一驗證和解析。7.根據權利要求1或6所述的一種CAN-BUS總線的數據解析方法,其特征在于:所述驗證包括人工驗證或者模擬器驗證。8.一種CAN-BUS總線的數據解析系統,其特征在于,包括: 數據采集模塊,用于獲取整車的CAN-BUS總線的原始數據; 一級篩選模塊,其根據所述原始數據的內存地址對所述原始數據進行分組,分為動態數據和穩態數據,并根據待解析的車載終端的特性選擇所述動態數據或所述穩態數據作為一級篩選數據; 二級篩選模塊,其根據所述一級篩選數據的內存值對所述一級篩選數據進行分組,得到對應不同狀態的狀態數據,并根據所述車載終端的當前狀態選擇對應的所述狀態數據作為二級篩選數據; 三級篩選模塊,其通過操作所述車載終端使其在對應的二級篩選數據中產生內存值的變化,根據所述車載終端的操作變化量進行篩選對應的二級篩選數據中的內存值的變化量,作為三級篩選數據; 數據解析模塊,用于對所述三級篩選數據進行一一驗證和解析。
【文檔編號】G06F17/30GK106096036SQ201610481404
【公開日】2016年11月9日
【申請日】2016年6月27日
【發明人】姜子涵, 姚遠
【申請人】廈門中云創電子科技有限公司