一種can總線幀命名衝突調整處理方法
2023-05-16 04:12:01 2
專利名稱:一種can總線幀命名衝突調整處理方法
技術領域:
本發明涉及網絡通信領域,尤其涉及一種用於汽車CAN總線網絡節點間進行通信時幀命名衝突的調整處理方法。
背景技術:
隨著現代汽車電子的發展,越來越多汽車採用總線技術代替原有的硬線線束,其中現階段運用最廣泛的總線為CAN總線系統。CAN總線協議要求所有在總線上的幀ID (幀名)必須唯一,否則就會發生錯誤。而在實際運用當中,大多數傳感器及部分控制器向總線上輸出幀的ID都是固定的,因此經常會發生幀ID (幀名)衝突,無法使用的情況。
公開日為2008年8月6日、公開號為CN101237345的專利技術方案能夠監視網絡結構、報告某個 ECU在/不在網絡、監視ECU內部是否有失效(DTC)消息、監視應用層的功能性信息是否正常收發、監測通訊信息的邏輯順序是否正確、在CAN控制器失效時採取恢復措施。但是對於幀ID衝突沒有給出處理措施。又如
公開日為2008年7月9日、公開號為CN101217444的專利技術方案公開了一種基於CAN總線的網絡控制方法,將總線網絡劃分為五個狀態,分別為未初始化、停止、啟動、休眠和總線關閉狀態,限定了每個狀態下可執行的操作,規定了如何從一個狀態轉變至另一個狀態,並提供了這些狀態之間的遷移條件,通過對操作模式狀態的統一控制與管理,可以實現對CAN網絡更加靈活的使用並能實時檢測CAN網絡中的軟硬體故障。方案中雖然提到在初始化後的停止狀態允許對網絡上某個CAN控制器的初始化值進行更改,但是沒有解決為什麼要更改、修改哪些參數以及如何更改的問題。
發明內容
本發明主要是解決現有技術所存在的大多數以傳感器及控制器為網絡節點向總線上輸出幀的ID不唯一、經常會發生幀ID衝突,無法使用等技術問題。一種CAN總線幀命名衝突調整處理方法網絡節點監聽CAN總線上ID,並與本網絡節點發送幀ID進行比較;將與CAN總線上ID衝突的本網絡節點發送幀ID進行自動調整,調整後的ID存儲在程序存儲器中作為本網絡節點的發送幀ID。在汽車CAN網絡上連接的帶有CAN接口的傳感器、繼電器盒等等網絡節點,由於 CAN控制器初始化後的發送幀ID值往往相同,因而會出現節點連接網絡失敗或信息丟失。 本發明將上述網絡節點逐個連接到CAN總線網絡,當檢測到有ID衝突時,就將本節點的ID 值進行自動修改,修改後的ID自動存儲在不易丟失的程序存儲器中,以便下次使用。在本發明中,由於ID改變後的最終值在事先是可計算的,因此並不會出現ID混亂,數據無法識別的情況。作為優選,設定N為定值,發送幀ID值為S,則調整後的ID值為S+N。例如N設定為0x100,如原發送幀ID為0x400至0x42F,則調整後的幀ID為0x500至0x52F。作為優選,網絡節點每次在發送幀ID上加定值N進行調整,直到不會產生衝突為止。如果需要調整的網絡節點比較多,則可能出現一個幀ID需要調整多次才能避免衝突,此時,需要進行多次反覆調整,此過程在幀ID調整程序中設定。作為優選,發送幀ID依次加定值N達到最大值之後仍無法滿足需求,則由網絡節點發出無可用ID提示。當發生無可用ID提示時,可以改變設定的N值。這種情況一般不會出現,因為一個車上的網絡節點畢竟很有限。作為優選,將調整後不會發生衝突的發送幀ID存儲在EEPROM。EEPROM具有用軟體改寫方便,數據不易丟失等優點。作為優選,網絡節點由CAN接口、CAN控制器、微處理器、功能單元組成,CAN接口連接CAN控制器,CAN控制器連接微處理器,微處理器連接功能單元,組成具有獨立功能的網絡節點。其中,功能單元是指傳感器、繼電器盒、發動機控制等等。本發明帶來的有益效果是,提高了基於總線的傳感器、控制器的兼容性及應用的廣泛性。
圖1是本發明的一種組網示意圖; 圖2是本發明的一種數據處理流程圖。圖中1是CAN網絡總線,2是傳感器節點,3是車身控制單元節點,4是繼電器盒節
點ο
具體實施例方式下面通過實施例,並結合附圖,對本發明的技術方案作進一步具體說明。實施例如圖1所示,一種CAN總線幀命名衝突調整處理方法網絡節點(傳感器節點2或車身控制單元節點3或繼電器盒節點4)監聽CAN總線1上ID,並與本網絡節點發送幀ID進行比較;將與CAN總線1上ID衝突的本網絡節點發送幀ID進行自動調整,調整後的ID存儲在EEPROM中作為本網絡節點的發送幀ID。EEPROM連接本網絡節點的微處理
ο在圖1所示的CAN總線網絡中連接多個(可遠多於3個)網絡節點。如圖2所示,數據處理流程
單元101對本網絡節點進行初始化處理,並採集總線上已有的ID信息;單元102將本節點發送幀ID與101採集到的ID進行比較,如果採集到的所有ID值中有與本節點ID值相同時,則為衝突狀態,轉入單元103處理;如果沒有相同的ID值則是正常狀態,說明本節點ID可用,轉入單元105將本節點ID值存儲在EEPROM中,以後繼續使用;單元103對發生衝突的本節點發送幀ID進行加定值處理;單元104對加定值後的本節點發送幀ID進行最大值判斷,當達到最大值時,說明無可用地址了,轉單元106進行提示等待進一步處理;如果加定值後不是最大值,則轉回單元102重新判斷、加定值處理直到不衝突為止,最後找出可用ID存儲在EEPROM。所以本發明具有提高網絡節點兼容性及應用的廣泛性等特徵。
權利要求
1.一種CAN總線幀命名衝突調整處理方法,其特徵是網絡節點監聽CAN總線上ID, 並與本網絡節點發送幀ID進行比較;將與CAN總線上ID衝突的本網絡節點發送幀ID進行自動調整,調整後的ID存儲在程序存儲器中作為本網絡節點的發送幀ID。
2.根據權利要求1所述一種CAN總線幀命名衝突調整處理方法,其特徵在於設定N為定值,發送幀ID值為S,調整後的ID值為S+N。
3.根據權利要求1或2所述一種CAN總線幀命名衝突調整處理方法,其特徵在於所述網絡節點每次在發送幀ID上加定值N進行調整,直到不會產生衝突為止。
4.根據權利要求3所述一種CAN總線幀命名衝突調整處理方法,其特徵在於發送幀 ID依次加定值N達到最大值之後仍無法滿足需求,則由所述網絡節點發出無可用ID提示。
5.根據權利要求1所述一種CAN總線幀命名衝突調整處理方法,其特徵在於將調整後不會發生衝突的發送幀ID存儲在EEPR0M。
6.根據權利要求1所述一種CAN總線幀命名衝突調整處理方法,其特徵在於所述網絡節點由CAN接口、CAN控制器、微處理器、功能單元組成,CAN接口連接CAN控制器,CAN控制器連接微處理器,微處理器連接功能單元,組成具有獨立功能的網絡節點。
全文摘要
本發明公開了一種CAN總線幀命名衝突調整處理方法,目的在於解決現有技術所存在的大多數以傳感器及部分控制器為網絡節點向總線上輸出幀的ID不唯一、經常會發生幀ID衝突,無法使用等技術問題,網絡節點監聽CAN總線上ID,並與本網絡節點發送幀ID進行比較;將與CAN總線上ID衝突的本網絡節點發送幀ID進行自動調整,調整後的ID存儲在程序存儲器中作為本網絡節點的發送幀ID。
文檔編號B60R16/02GK102263684SQ201110093419
公開日2011年11月30日 申請日期2011年4月14日 優先權日2011年4月14日
發明者丁武俊, 張方偉, 朱祝陽, 熊想濤, 由毅, 趙福全, 陳冰, 陳文強 申請人:浙江吉利控股集團有限公司, 浙江吉利汽車研究院有限公司