專利名稱:用于解析汽車整車控制模塊的通信協議的汽車協議解析器的制作方法
技術領域:
本實用新型涉及汽車控制領域,尤其涉及一種用于解析汽車整車控制模塊的通信協議的汽車協議解析器。
背景技術:
總線技術在國內汽車市場的應用越來越多,隨著行業成本的逐年降低,各類開發工具和解決方案逐步滲透,單純的技術應用層面已經沒有問題。國內在網絡開發方面與國外的差距主要是通信協議的制定與測試。國外的總線網絡設計已經進行了二十多年,各公司成熟的網絡通信協議都是通過多年積累得到的,很多已形成了具有自身特色的網絡開發協議。國內廠商要發展自主網絡通信協議,對國外的網絡通信協議進行逆向解析、吸收并改進,不失為一條快速提高國內研究水平的捷徑。 國內多家廠商已開始進行汽車通信協議的解析工作,但目前并沒有形成一套有效可行的總線通信協議的解析技術,較多地采用設計特殊工況試驗并采集大量數據的方式,在數據處理時,則通過試湊法獲取網絡通信協議,這樣工作效率低且會耗費大量資源。
實用新型內容本實用新型的目的在于提供一種用于對汽車系統控制網絡中的通信協議進行逆向解析的技術,增強協議解析的準確性,提高解析效率,節約研究資源。根據本實用新型的一個方面,提供一種用于解析汽車整車控制模塊的通信協議的汽車協議解析器,所述協議解析器安裝在汽車控制網絡的整車控制模塊和網絡節點之間,其包括第一收發器、第二收發器、第三收發器、MCU、第一存儲器、第二存儲器、第三存儲器和第四存儲器,其中,所述第一收發器連接所述整車控制模塊和所述MCU,所述第二收發器連接所述網絡節點和所述MCU,所述第三收發器連接車載診斷系統和所述MCU。優選地,所述汽車控制網絡是基于總線技術的網絡。優選地,所述總線是CAN總線、RS485總線、FlexRay總線或Lin總線。優選地,所述協議解析器還包括一電源模塊。優選地,所述網絡節點是單一汽車控制節點或包含一個或多個汽車控制節點的網絡功能模塊,所述汽車控制節點選自下面的組發動機控制器、變速箱控制器、制動控制器、自動離合器控制器、電機控制器、電源控制器和車載診斷系統。通過上述技術方案,本實用新型可有效解析汽車控制網絡中關鍵的控制和狀態信號,并實現各關鍵系統的準確控制,其增強了協議解析的準確性,提高了解析效率,節約了研究資源。
圖I是本實用新型中協議解析器的應用場景示意圖;[0013]圖2是本實用新型中協議解析器的系統結構示意圖;圖3是本實用新型中協議解析器的MCU的結構示意圖;圖4是本實用新型的協議解析器進行通信協議解析的步驟流程圖;圖5是本實用新型實施例中設置協議解析器之前的汽車控制網絡的拓撲圖;圖6是本實用新型實施例中設置協議解析器之后的汽車控制網絡的拓撲圖。
具體實施方式
為解決現有技術中的上述技術問題,本實用新型公開了一種汽車協議解析器,該協議解析器可以接收汽車控制網絡中整車控制模塊的報文信號(真實信號),對其信號值進行處理,并將處理后的報文信號(虛擬信號)發送給其他網絡節點,這樣可有效解析汽車控制網絡中關鍵的控制和狀態信號,并實現各關鍵系統的準確控制。·圖I是本實用新型中協議解析器的應用場景示意圖。本實用新型中的協議解析器在實際應用時可串聯接入在汽車控制網絡中的整車控制模塊和整車控制模塊之間,由該協議解析器完成該汽車控制網絡中整車控制模塊和整車控制模塊之間所傳輸的控制信號的通信協議解析功能。需要指出的是,在本實用新型協議解析器的應用場景中,整車控制模塊代表可實現控制信號收發的網絡單元,可為汽車中具體的單一網絡控制節點,也可以是包含一個或多個網絡控制節點的網絡功能模塊。本實用新型協議解析器進行通信協議解析的基本原理是基于具有在線學習功能的優化匹配法。具體地,該方法可利用類似于窮舉法的方式對根據某通信協議傳輸的大量報文進行字節甚至是位一級的分析,確定報文中有效內容所代表的物理意義,從而實現對通信協議的解析。其間,該方法還通過自我學習機制不斷優化處理方式,以提高解析效率。圖2是本實用新型中協議解析器的系統結構示意圖。如圖2所示,該協議解析器包括第一收發器、第二收發器、第三收發器、MCU、第一存儲器、第二存儲器、第三存儲器和第四存儲器。下面就進一步介紹協議解析器中的各模塊的功能及其原理。第一收發器,其連接汽車控制網絡中的整車控制模塊和該協議解析器的MCU,用于接收由整車控制模塊發送并應由汽車控制網絡中的網絡節點A接收的所有通信報文(后簡稱“報文”),還用于將由MCU處理過的報文發送到整車控制模塊。第二收發器,其連接汽車中的網絡節點A和該協議解析器的MCU,用于接收由網絡節點A發送并應由整車控制模塊接收的所有通信報文,還用于將由MCU處理過的報文發送到網絡節點A。第三收發器,其連接汽車的車載診斷系統和該協議解析器的MCU,用于接收該車載診斷系統的診斷信號報文。MCU,用于對報文進行一系列處理,并實現對通信協議的解析。具體地,圖3示出了MCU的結構示意圖,該MCU進一步包括確定單元、修改單元和控制單元。確定單元,用于分別確定第一收發器和第二收發器所接收的報文的重要等級,并將第一收發器和第二收發器的報文按重要等級由高到低的順序分別對應存放至第一存儲器和第二存儲器中。其中,該重要等級可由報文的優先級和刷新率共同確定,具體例如可將兩者相乘,所得結果越小,重要等級越高。需要說明的是,確定單元根據重要等級對報文進行排序的目的實際上是為了提高協議解析的效率。因為,重要等級高的報文中包含重要信號的概率更高,通過對它們的分析更容易獲取用于解析協議的信息,因而將它們進行優先處理會提高協議解析的整體效率。優先級和刷新率是代表報文重要等級的兩個重要參數。其中,優先級是報文仲裁場中的字節數據,通常可以以報文的ID表示報文的優先級,在CAN總線協議中報文通過非破壞性逐位仲裁機制確定各報文的發送順序,O是顯性I是隱性,因此報文的ID越小,報文的優先級越高(逐位比較)。同時,報文的刷新率即為該報文連續兩次出現的時間間隔,因此報文的刷新率高顯然也體現了其重要程度高。例如,報文a的ID雖然比報文b小,但報文a的刷新率為1000ms,報文b的刷新率為10ms,因此報文b的重要程度可能優于報文a。因此在本實用新型中,綜合考慮報文的優先級和刷新率兩個參數,由它們共同確定報文的重要等級。修改單元,用于按照預定順序依次修改第一存儲器和第二存儲器中各報文數據場中各個字節的值。在汽車生產廠商制定通信協議的時候,可能會在報文中包含不同長度字節或位的數據參數,該長度可在報文信號解析開始前通過自學習機制來確定,而在確定該參數的長度之后,就可依據該結果(先驗知識)來確定修改報文所依據的順序。在本實用新型具體實施例中,根據先驗知識,修改單元可以雙字節、單字節、4位、2位的順序對第一、第·二存儲器中各報文數據場中各個字節的值進行依次修改。需要說明的是,本實用新型中的該數據場是指各參數在報文中所在的位置,例如,每幀CAN報文有8字節的數據場。控制單元,用于控制第一收發器、第二收發器將由修改單元修改后的報文發送到對應的網絡節點,并根據第三收發器從車載診斷系統接收到的診斷信號報文,判斷相應網絡節點接收到修改了字節的報文之后,汽車控制網絡是否產生了有效變化,并根據判斷結果確定該字節的具體物理意義。上述修改單元對報文數據場中字節的值進行改變實際上是在改變汽車控制網絡中所傳輸的控制信號。某控制信號會使得所控制的網絡節點產生相應的動作,當控制信號被修改單元修改后,相應動作也可能產生變化,就可以根據相應動作的變化來判斷出所修改字節的物理意義,從而實現對協議的解析,這也體現了本實用新型進行協議解析的基本原理。第一存儲器,用于按重要等級由高到低的順序存儲由第一收發器接收并由確定單元確定順序的各報文。第二存儲器,用于按重要等級由高到低的順序存儲由第二收發器接收并由確定單元確定順序的各報文。第三存儲器,用于記錄該修改單元所修改的報文、相應修改時間以及該報文所在的數據場位置。第四存儲器,當控制單元判斷出相應網絡節點接收到修改了字節的報文之后,汽車控制系統產生了有效變化時,用于記錄該被修改的報文、相應修改時間以及該報文所在的數據場位置。當然,本實用新型中的協議解析器還可包括一電源模塊,從而為該協議解析器提供電力供應。圖4是本實用新型的協議解析器進行通信協議解析的步驟流程圖。下面接結合附圖4來說明通信協議解析方法中的各步驟。步驟I :協議解析器中的第一收發器接收由整車控制模塊發送并應由網絡節點A接收的報文,同時協議解析器中的第二收發器接收由網絡節點A發送并應由整車控制模塊接收的報文。步驟2 =MCU中的確定單元分別確定第一收發器和第二收發器所接收的報文的重要等級。其中,該重要等級可由報文的優先級和刷新率共同確定,具體例如可將兩者相乘,所得結果越小,重要等級越高。步驟3 :確定單元將第一收發器和第二收發器的報文按重要等級由高到低的順序分別對應存放至第一存儲器和第二存儲器中。步驟4 =MCU中的修改單元按照預定順序依次修改第一存儲器和第二存儲器中各報文數據場中各個字節的值。具體地,修改單元可以雙字節、單字節、4位、2位的順序對第一、第二存儲器中各報文數據場中各個字節的值進行依次修改。步驟5 :第三存儲器記錄該修改單元在步驟4中所修改的報文、相應修改時間以及該報文所在的數據場位置。步驟6 :第二收發器將第一存儲器中修改后的報文發送給網絡節點A,同時第一收發器將第二存儲器中修改后的報文發送給整車控制模塊。步驟7 :第三收發器接收車載診斷系統的診斷信號報文。步驟8 :控制單元根據第三收發器從車載診斷系統接收到的診斷信號報文,判斷相應網絡節點接收到修改了字節的報文之后,汽車控制網絡是否產生了有效變化。步驟9 :當判斷出相應網絡節點接收到修改了字節的報文之后,汽車控制網絡產生了有效變化時,第四存儲器記錄該被修改的報文、相應修改時間以及該報文所在的數據場位置。同時,控制單元確定該修改字節的具體物理意義,從而實現對協議的解析。步驟10 :當判斷出相應網絡節點接收到修改了字節的報文之后,汽車控制網絡并未產生有效變化時,判斷報文中字節是否已全部被修改,如果已被全部修改,則結束協議解析流程,如果并未全部修改,返回步驟4對尚未修改的報文內容進行修改。通信協議解析方法的上述流程可以完成對通信協議的自動解析。此外,當該自動解析完成后,即獲得了控制網絡的報文信號中有效的控制狀態信號后,還可以通過協議解析器手動修改控制信號中的關鍵參數值,觀察系統是否產生預期的變化,從而確定協議解析器自動解析出的結果是否正確,即通過手工操作對協議解析器的自動操作進行驗證。作為本實用新型進一步的功能,在最終完成通信協議解析從而獲得報文信號中有效的控制信號后,還可以對該信號進行修改,從而實現對各關鍵部件的有效控制。
實施例圖5、6分別是本實用新型實施例中設置協議解析器前后的汽車控制網絡的拓撲圖。下面就參考圖5、6,以解析汽車控制網絡中離合器分離/接合的控制命令為目標,對本實用新型的實施例進行詳細說明。如圖5所示,某未知汽車控制網絡的總線拓撲結構包括兩條CAN總線,其中一條CAN總線涉及的網絡節點包括發動機控制器、變速箱控制器、制動控制器和整車控制模塊,CAN總線的傳輸速率為250Kbit/s,將其命名為CAN250,如圖5、6中細實線所示;另外一條CAN總線涉及的網絡節點包括自動離合器控制器、電機控制器,電源控制器和整車控制模塊,CAN總線的傳輸速率為500Kbit/s,將其命名為CAN500,如圖5中粗實線所示。整車控制模塊為汽車控制系統的控制核心,其通過上述兩條CAN總線構成的網絡下達各種控制指令給各部件,接收各部件所上傳的信號,并作為網絡的中心連接點來實現兩條總線上數據的交互。此外,該汽車控制系統中還包含一條基于RS485總線的J1587通信網絡,如圖5中虛線所示,該總線用于傳輸和記錄車載診斷系統產生的車載診斷信息。如圖6所示,在整車控制模塊與自動離合器控制器之間串聯接入本實用新型中的協議解析器,其對整車控制模塊與自動離合器控制器之間的報文通訊進行物理屏蔽以實現通信協議的解析。圖2中的第一收發器用于接收整車控制模塊發送給自動離合器控制器的報文信號,第二收發器用于接收自動離合器控制器發送給整車控制模塊的報文信號,第三收發器用于接收車載診斷系統通過診斷接口發出的車載診斷信息報文。總線上電后,第一、第二收發器分別接收整車控制模塊和自動離合器控制器之間的通訊信號,并由確定單元按重要等級由高到低分別存放至第一存儲器和第二存儲器中。由先驗知識可知,離合器分離/接合的控制命令應該由整車控制模塊發送給自動離合器控制器,因此在本實施例中修改單元可以僅針對第一存儲器中的報文進行數據場值的修改。 具體地,修改單元按照雙字節、單字節、4位、2位的順序依次修改第一存儲器中各報文數據場中各個字節的值,由第二收發器發送給自動離合器控制器,并由第三存儲器依次記錄被修改報文、修改時間、修改的字節位置等。同時,控制單元根據第三收發器自診斷接口接收的診斷信號報文,判斷修改字節后自動離合器是否產生了分離或接合的狀態改變,并且也可以人為地依靠聲音判斷離合器是否有動作來輔助解析。當判斷修改字節后自動離合器產生了狀態改變,第四存儲器存儲記錄該被修改的報文、相應修改時間以及該報文所在的數據場位置。同時,控制單元確定該修改字節的具體物理意義,從而實現對自動離合器控制器的控制信號的協議解析。在實現對自動離合器控制器的控制信號的協議解析后,還可以進一步實現對該自動離合器控制器的有效控制。例如,當整車控制模塊發送給自動離合器控制器的控制信號是使自動離合器進行分離操作的,在解析了相應協議后就可以通過協議解析器將該控制信號修改為進行接合操作的信號之后再轉發給自動離合器控制器。本領域技術人員應該理解,雖然本實施例具體應用CAN總線系統,但本實用新型也可以使用FlexRay, Lin等總線系統實現。通過上述技術方案,本實用新型可有效解析汽車控制網絡中關鍵的控制和狀態信號,并實現各關鍵系統的準確控制,其增強了協議解析的準確性,提高了解析效率,節約了研究資源。本實用新型包括但不限于以上的實施例,凡是在本實用新型的精神和原則之下進行的任何局部改進,等同替換都將視為在本實用新型的保護范圍之內。
權利要求1.一種用于解析汽車整車控制模塊的通信協議的汽車協議解析器,其特征在于,所述協議解析器安裝在汽車控制網絡的整車控制模塊和網絡節點之間,其包括第一收發器、第二收發器、第三收發器、MCU、第一存儲器、第二存儲器、第三存儲器和第四存儲器, 其中,所述第一收發器連接所述整車控制模塊和所述MCU,所述第二收發器連接所述網絡節點和所述MCU,所述第三收發器連接車載診斷系統和所述MCU。
2.根據權利要求I所述的協議解析器,其特征在于,所述汽車控制網絡是基于總線技術的網絡。
3.根據權利要求2所述的協議解析器,其特征在于,所述總線是CAN總線、RS485總線、FlexRay總線或Lin總線。
4.根據權利要求I所述的協議解析器,其特征在于,所述協議解析器還包括一電源模塊。
5.根據權利要求1-4中任意一項所述的協議解析器,其特征在于,所述網絡節點是單一汽車控制節點或包含一個或多個汽車控制節點的網絡功能模塊,所述汽車控制節點選自下面的組發動機控制器、變速箱控制器、制動控制器、自動離合器控制器、電機控制器、電源控制器和車載診斷系統。
專利摘要本實用新型公開一種用于解析汽車整車控制模塊的通信協議的汽車協議解析器,所述協議解析器安裝在汽車控制網絡的整車控制模塊和網絡節點之間,其包括第一收發器、第二收發器、第三收發器、MCU、第一存儲器、第二存儲器、第三存儲器和第四存儲器。通過本實用新型技術方案,可有效解析汽車控制網絡中關鍵的控制和狀態信號,并實現各關鍵系統的準確控制,其增強了協議解析的準確性,提高了解析效率,節約了研究資源。
文檔編號G05B23/02GK202711059SQ201220285409
公開日2013年1月30日 申請日期2012年6月14日 優先權日2012年6月14日
發明者席軍強, 吳育恩, 胡宇輝, 陳慧巖 申請人:北京理工大學