本發明專利技術提供一種CAN控制器總線故障處理方法和裝置,其中方法包括周期性檢測CAN控制器的狀態位,對每次檢測到狀態位出現總線脫離Busoff狀態的持續時間進行累加,得到第一故障時長;當第一故障時長達到預設短關閉閾值時,將第一故障時長清零并關閉CAN控制器;當CAN控制器的關閉時長達到第一開啟閾值時,重啟CAN控制器;返回執行每間隔預設檢測周期對CAN控制器的狀態位進行檢測的步驟。通過上述方法有效保證CAN控制器出現Busoff后不會過多地占用CAN總線資源,在控制CAN控制器停止工作期間,釋放CAN總線信道保證其他控制器的正常通信,提高CAN總線的通信效率;同時還降低了現有技術中CAN控制器因Busoff故障而頻繁重啟的負荷。
【技術實現步驟摘要】
CAN控制器總線故障處理方法和裝置
本專利技術涉及汽車總線控制技術,尤其涉及一種CAN總線故障處理方法和裝置。
技術介紹
CAN是控制器局域網絡(ControllerAreaNetwork,CAN)的簡稱,是國際上應用最廣泛的現場總線之一。其中,CAN通信應用在汽車領域,其是汽車中各個控制器之間的主要通信通路。目前,汽車的控制系統中若出現線路開路、線路短電源或短地線時可能會導致控制器的CAN控制器一直發送錯誤幀,當錯誤幀達到32幀,即錯誤計數器TEC達到255時,系統確認該控制器出現了CAN總線脫離的Busoff狀態,一般會在20ms以內重啟CAN控制器;如果CAN控制器重啟后發送正確幀,則錯誤計數器TEC的值遞減;如果CAN控制器在重啟后發送錯誤幀,則錯誤計數器TEC的值累加,TEC值大于等于255,CAN控制器會一直持續在Busoff狀態;則CAN控制器會持續重啟,以此類推,這種處理方式下出現故障的控制器其不斷發送的錯誤幀會大大占用了整車CAN通信信道,影響其他控制器在CAN總線上的正常通信,影響其他控制器的信號實時性,對整車的CAN通信造成較大影響;另一方面發生Busoff狀態后的CAN控制器頻繁處于重啟狀態,加重了CAN控制器的負荷。
技術實現思路
本專利技術提供一種CAN控制器總線故障處理方法和裝置,通過對CAN控制器總線脫離Busoff狀態持續時間計時,并根據預設的時間閾值對CAN控制器的停止與啟動時刻進行控制,從而有效保證CAN控制器出現Busoff后不會過多地占用CAN總線資源,在控制CAN控制器停止期間,釋放CAN總線信道保證其他控制器的正常通信,提高CAN總線的通信效率;同時還降低了現有技術中CAN控制器因Busoff故障而頻繁重啟的負荷。本專利技術提供一種CAN控制器總線故障處理方法,包括:每間隔預設檢測周期對CAN控制器的狀態位進行檢測;對每次檢測到所述CAN控制器的狀態位出現總線脫離Busoff狀態的持續時間進行累加,得到第一故障時長;當所述第一故障時長達到預設短關閉閾值時,將所述第一故障時長清零并關閉所述CAN控制器;當所述CAN控制器的關閉時長達到第一開啟閾值時,重啟所述CAN控制器;返回執行所述每間隔預設檢測周期對CAN控制器的狀態位進行檢測的步驟。本專利技術還提供一種CAN控制器總線故障處理裝置,包括:檢測模塊,用于每間隔預設檢測周期對CAN控制器的狀態位進行檢測;故障時長計時模塊,用于對每次檢測到所述CAN控制器的狀態位出現總線脫離Busoff狀態的持續時間進行累加,得到第一故障時長;控制模塊,用于當所述第一故障時長達到預設短關閉閾值時,將所述第一故障時長清零并關閉所述CAN控制器;所述控制模塊,還用于當所述CAN控制器的關閉時長達到第一開啟閾值時,重啟所述CAN控制器。本專利技術的CAN控制器總線故障處理方法和裝置,通過周期性檢測CAN控制器是否出現總線脫離Busoff狀態,并對Busoff狀態的持續時間進行計時,并在Busoff狀態持續累加時長達到預設關閉閾值時,關閉CAN控制器;并當CAN控制器的關閉時長達到預設開啟閾值時,重啟該CAN控制器。從而有效保證CAN控制器出現Busoff后不會過多地占用CAN總線資源,在控制CAN控制器停止工作期間,釋放CAN總線信道保證其他控制器的正常通信,提高CAN總線的通信效率;同時還降低了現有技術中CAN控制器因Busoff故障而頻繁重啟的負荷。附圖說明圖1為本專利技術CAN控制器總線故障處理方法的實施例一的流程圖;圖2為本專利技術CAN控制器總線故障處理方法的實施例二的流程圖;圖3為本專利技術CAN控制器總線故障處理裝置的實施例一的結構示意圖;圖4為本專利技術CAN控制器總線故障處理裝置的實施例二的結構示意圖。具體實施方式為使本專利技術實施例的目的、技術方案和優點更加清楚,下面將結合本專利技術實施例,對本專利技術實施例中的技術方案進行清楚、完整地描述。需要說明的是,在附圖或說明書中,相似或相同的元件皆使用相同的附圖標記。圖1為本專利技術CAN控制器總線故障處理方法的實施例一的流程圖,如圖1所示,本實施例的方法包括:步驟101、每間隔預設檢測周期對CAN控制器的狀態位進行檢測。步驟102、對每次檢測到CAN控制器的狀態位出現總線脫離Busoff狀態的持續時間進行累加,得到第一故障時長。步驟103、當第一故障時長達到預設短關閉閾值時,將第一故障時長清零并關閉CAN控制器。步驟104、當CAN控制器的關閉時長達到第一開啟閾值時,重啟CAN控制器,并返回步驟101繼續循環執行。本實施例提供的CAN控制器總線故障處理方法,通過周期性檢測CAN控制器是否出現總線脫離Busoff狀態,并對Busoff狀態的持續時間進行計時,并在Busoff狀態持續累加時長達到預設關閉閾值時,關閉CAN控制器;并當CAN控制器的關閉時長達到預設開啟閾值時,重啟該CAN控制器。從而有效保證CAN控制器出現Busoff后不會過多地占用CAN總線資源,在控制CAN控制器停止工作期間,釋放CAN總線信道保證其他控制器的正常通信,提高CAN總線的通信效率;同時還降低了現有技術中CAN控制器因Busoff故障而頻繁重啟的負荷。圖2為本專利技術CAN控制器總線故障處理方法的實施例二的流程圖,如圖2所示,在上述實施例的基礎上,本實施例的方法包括:步驟201、每間隔預設檢測周期對CAN控制器的狀態位進行檢測。具體的,設定對CAN控制器的檢測應用程序,該應用程序按照足夠快的周期對CAN控制器的狀態位進行檢查,以防止Busoff狀態的丟失。優選的,可以預設檢測周期小于等于10ms。步驟202、對每次檢測到CAN控制器的狀態位出現總線脫離Busoff狀態的持續時間進行累加,得到第一故障時長。具體的,在CAN控制器的檢測應用程序中可以定義Busoff狀態位持續時間的計時器,當檢測到Busoff時,計時器對Busoff持續時間進行累加。計時器累加的是Busoff持續的時間,不管Busoff持續的時間長短,均會對Busoff時間進行累加,其反映的是CAN總線實際的Busoff狀態,因此能夠準確地反映Busoff的嚴重程度。該計時器累加得到的時間值為第一故障時長T1。步驟203、當第一故障時長T1達到預設短關閉閾值時,將第一故障時長T1清零并關閉CAN控制器。具體的,當CAN控制器的Busoff計時器累加得到的第一故障時長T1達到預設短關閉閾值時,可以將CAN控制器關閉,這里關閉的是汽車各個控制器中負責CAN通信功能的CAN控制器,而不是將該汽車控制器關閉。關閉CAN控制器,可以暫時將發生總線通信故障的CAN控制器停止一段時間,使其修復自身的故障,同時使該故障CAN控制器退出CAN通信線路,讓出CAN通信資源空間,以使其他正常狀態的CAN控制器可以不受故障CAN控制器的影響,正常通信。同時,現有技術中,當CAN控制器發生Busoff狀態,會立刻重啟,頻繁地重啟也會加重該CAN控制器的負荷,通過采用計時器達到預設短關閉閾值即刻停止CAN控制器的方法,不但可以釋放CAN總線資源,還可以緩解CAN控制器的負荷。優選的,可以將預設短關閉閾值設置為30ms。每當計時器的第一故障時長T1達到預設短關閉閾值時,關閉一次CAN控制器;在CAN控本文檔來自技高網...

【技術保護點】
一種CAN控制器總線故障處理方法,其特征在于,包括:每間隔預設檢測周期對CAN控制器的狀態位進行檢測;對每次檢測到所述CAN控制器的狀態位出現總線脫離Busoff狀態的持續時間進行累加,得到第一故障時長;當所述第一故障時長達到預設短關閉閾值時,將所述第一故障時長清零并關閉所述CAN控制器;當所述CAN控制器的關閉時長達到第一開啟閾值時,重啟所述CAN控制器;返回執行所述每間隔預設檢測周期對CAN控制器的狀態位進行檢測的步驟。
【技術特征摘要】
1.一種CAN控制器總線故障處理方法,其特征在于,包括:每間隔預設檢測周期對CAN控制器的狀態位進行檢測;對每次檢測到所述CAN控制器的狀態位出現總線脫離Busoff狀態的持續時間進行累加,得到第一故障時長;當所述第一故障時長達到預設短關閉閾值時,將所述第一故障時長清零并關閉所述CAN控制器;當所述CAN控制器的關閉時長達到第一開啟閾值時,重啟所述CAN控制器;返回執行所述每間隔預設檢測周期對CAN控制器的狀態位進行檢測的步驟;所述將所述第一故障時長清零之后,還包括:將每次得到的所述第一故障時長進行累加,得到累加時長值;當所述累加時長值達到預設長關閉閾值時,將所述累加時長值清零并關閉所述CAN控制器;所述預設長關閉閾值大于所述預設短關閉閾值。2.根據權利要求1所述的方法,其特征在于,所述將所述累加時長值清零并關閉所述CAN控制器之后,還包括:在所述累加時長值清零的情況下,所述CAN控制器的關閉時長達到第二開啟閾值時,重啟所述CAN控制器;所述第二開啟閾值大于所述第一開啟閾值。3.根據權利要求1所述的方法,其特征在于,所述方法還包括:統計所述CAN控制器達到所述預設短關閉閾值和/或所述預設長關閉閾值的次數,根據統計得到的次數值,判斷所述CAN控制器的總線故障程度。4.根據權利要求2所述的方法,其特征在于,所述預設檢測周期小于等于10ms;所述預設短關閉閾值為30ms;所述預設長關閉閾值為300ms;所述第一開啟閾值為50ms;所述第二開啟閾值為500ms。5.一種CAN控...
【專利技術屬性】
技術研發人員:張照柏,付金勇,姬廣斌,直新影,王馳,
申請(專利權)人:北京汽車股份有限公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。