專利名稱:一種用于can總線的網(wǎng)絡(luò)管理方法
一種用于CAN總線的網(wǎng)絡(luò)管理方法技術(shù)領(lǐng)域網(wǎng)絡(luò)管理(Network management)是一種管理總線網(wǎng)絡(luò)的策略,通過 使用特定的網(wǎng)絡(luò)管理報(bào)文,利用標(biāo)記機(jī)制進(jìn)行直接監(jiān)控。該網(wǎng)絡(luò)管理策略 可以提高網(wǎng)絡(luò)通信的安全性和可靠性,保證了每一個(gè)節(jié)點(diǎn)都能在規(guī)定的間 隔內(nèi)獲得整個(gè)網(wǎng)絡(luò)的狀態(tài)信息。
背景技術(shù):
近年來,隨著日漸嚴(yán)格的排放標(biāo)準(zhǔn)、安全標(biāo)準(zhǔn)和用戶對(duì)汽車安全、舒 適、豪華的追求,使得ECU控制單元的使用日益增多,而ECU的增多必然會(huì) 帶來線束的增多、ECU功能實(shí)現(xiàn)的可靠性等等很多問題,為了解決這一系 列迫在眉睫的問題,在本世紀(jì)80年代末,德國(guó)BOSCH公司提出設(shè)計(jì)一個(gè)單 一的網(wǎng)絡(luò)總線,所有的外圍器件可以被掛接在該總線上,于是,CAN總線 就誕生了。 1993年CAN總線被制定為ISO國(guó)際標(biāo)準(zhǔn),這也是目前為止唯—— 個(gè)擁有ISO國(guó)際標(biāo)準(zhǔn)的總線。CAN總線以它很高的數(shù)據(jù)安全性和相對(duì)低廉的 成本迅速被廣大汽車制造商和消費(fèi)者所青睞,毫無疑問,CAN總線注定將 會(huì)繼續(xù)并且很長(zhǎng)一段時(shí)間內(nèi)被廣大汽車制造商使用。CAN總線特點(diǎn)及應(yīng)用優(yōu)勢(shì)低成本;多主串行數(shù)據(jù)通信協(xié)議總線;根 據(jù)報(bào)文的ID決定接收或屏蔽該報(bào)文,靈活實(shí)現(xiàn)各種通訊;極高總線利用 率;報(bào)文不包含源地址或目標(biāo)地址,僅用標(biāo)志符來指示功能信息、優(yōu)先級(jí) 信息;通信速率可達(dá)lMbps;無損失總線仲裁;可靠的錯(cuò)誤處理和檢錯(cuò)機(jī) 制,可靠性高;節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況,自動(dòng)退出總線。隨著總線上信號(hào)的增多和網(wǎng)絡(luò)的復(fù)雜性,如果沒有一種策略對(duì)網(wǎng)絡(luò)進(jìn)行管理,讓整個(gè)網(wǎng)絡(luò)正常、有序的進(jìn)行通訊,那么整個(gè)網(wǎng)絡(luò)將會(huì)非?;靵y、 無次序,且不利于整車能源的合理利用。因此,必須出現(xiàn)一種機(jī)制來對(duì)網(wǎng)絡(luò)進(jìn)行管理。CAN總線上各個(gè)節(jié)點(diǎn)之間都會(huì)通過在總線上收、發(fā)報(bào)文來共 享總線上的所有CAN信號(hào),受到這個(gè)啟發(fā),為什么不能通過這個(gè)共享的渠 道來由主節(jié)點(diǎn)向總線上各節(jié)點(diǎn)廣播網(wǎng)絡(luò)管理幀來設(shè)定網(wǎng)絡(luò)中各節(jié)點(diǎn)的工 作狀態(tài)呢?發(fā)明內(nèi)容為了實(shí)現(xiàn)網(wǎng)絡(luò)的有序通訊,利用總線網(wǎng)絡(luò)共享這一資源,在主節(jié)點(diǎn)的 信號(hào)中加入網(wǎng)絡(luò)管理幀,網(wǎng)絡(luò)管理功能基于從網(wǎng)絡(luò)管理主節(jié)點(diǎn)向其它節(jié)點(diǎn) 每隔一秒發(fā)送一次網(wǎng)絡(luò)管理幀,其它節(jié)點(diǎn)收到后每隔一秒回應(yīng)網(wǎng)絡(luò)管理 幀。從總線系統(tǒng)的安全性和穩(wěn)定性考慮,需要在網(wǎng)絡(luò)管理幀中實(shí)現(xiàn)以下功 能才能保證網(wǎng)絡(luò)有序通訊1、 監(jiān)控系統(tǒng)當(dāng)前配置,哪些節(jié)點(diǎn)在線,哪些節(jié)點(diǎn)沒被激活;2、 各個(gè)節(jié)點(diǎn)的負(fù)載情況;3、 當(dāng)前失效狀態(tài);4、 主動(dòng)負(fù)載管理;5、 CAN控制器失效管理;6、 監(jiān)測(cè)通訊信息的邏輯順序是否正確,發(fā)送與接收的counter必須 一致;7、 相當(dāng)于用戶層(Application)與凄t據(jù)鏈路層(Data Link Layer ) 中間的應(yīng)用程序接口。
圖1: CAN通訊層的構(gòu)架圖;圖2:用于CAN總線的網(wǎng)絡(luò)管理流程圖。其中麗mMaster: Network Management Master, 網(wǎng)絡(luò)管理主節(jié)點(diǎn); 麗mXXX: Network Management XXX, XXX表示除主節(jié)點(diǎn)之外的其他節(jié)點(diǎn);NC: Network Command,網(wǎng)絡(luò)命令;AL: Active Loads,主動(dòng)負(fù)載;CFS: Current Fail Status,當(dāng)前失歲文狀態(tài);CS: Controller Status,控制器狀態(tài);Counter:計(jì)凄t器狀態(tài);AC: Actual Configuration,實(shí)際配置。
具體實(shí)施方式
圖l說明了 CAN通訊層的構(gòu)架,圖2說明了本發(fā)明網(wǎng)絡(luò)管理的實(shí)現(xiàn)方 法,是通過ECU內(nèi)部軟件代碼實(shí)現(xiàn)。具體實(shí)現(xiàn)方法為主節(jié)點(diǎn)每隔ls發(fā)送 一次網(wǎng)絡(luò)管理幀,從節(jié)點(diǎn)收到后每隔1秒回應(yīng)一次網(wǎng)絡(luò)管理幀。其中主節(jié) 點(diǎn)發(fā)送的網(wǎng)絡(luò)管理幀包括1、 網(wǎng)絡(luò)命令(Network Command,簡(jiǎn)寫為NC):包含四個(gè)狀態(tài),喚醒 請(qǐng)求、系統(tǒng)保持主動(dòng)i青求、系統(tǒng)進(jìn)入睡眠請(qǐng)求和多主;2、 主動(dòng)負(fù)載(Active Loads,簡(jiǎn)寫為AL):指主節(jié)點(diǎn)應(yīng)用層是否需要 與其它節(jié)點(diǎn)通訊,包含兩個(gè)狀態(tài),主節(jié)點(diǎn)有主動(dòng)負(fù)載和主節(jié)點(diǎn)無主動(dòng)負(fù)載;3、 當(dāng)前失效狀態(tài)(Current Fail Status,簡(jiǎn)寫為CFS):包含兩個(gè)狀態(tài), 系統(tǒng)內(nèi)沒有故障診斷代碼(Diagnostic Trouble Code,簡(jiǎn)寫為DTC )和 系統(tǒng)內(nèi)至少存在一個(gè)DTC;4、 控制器狀態(tài)(Controller Status,簡(jiǎn)寫為CS):包含兩個(gè)狀態(tài), 主動(dòng)錯(cuò)誤狀態(tài)和被動(dòng)錯(cuò)誤狀態(tài);5、計(jì)數(shù)器狀態(tài)(Counter):為避免出現(xiàn)丟幀情況而附加的管理機(jī)制, 該管理機(jī)制通過運(yùn)算法則來實(shí)現(xiàn),具體算法描述如下① 主節(jié)點(diǎn)第一次發(fā)網(wǎng)管幀時(shí)counter = 0,在下次成功發(fā)送消息時(shí) counter按照n = n +1的法則來改變值;Counter信號(hào)占用4bi t ,從O遞 增到15再到O循環(huán)。② 如果丟失主節(jié)點(diǎn)網(wǎng)管幀,其他節(jié)點(diǎn)每隔2秒發(fā)送一次麗mXXX幀 (Network Management XXX, XXX表示除主節(jié)點(diǎn)之外的其他節(jié)點(diǎn)),counter值始終為0。6、實(shí)際配置(Actual Configuration,簡(jiǎn)寫為AC):為根據(jù)各節(jié)點(diǎn)是否在總線上運(yùn)行而統(tǒng)計(jì)出的系統(tǒng)當(dāng)前配置。若網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)目為16,那么為 每個(gè)節(jié)點(diǎn)分配一個(gè)地址,最低位對(duì)應(yīng)節(jié)點(diǎn)地址為O,最高位對(duì)應(yīng)節(jié)點(diǎn)地址 為15,對(duì)應(yīng)位置為l表示節(jié)點(diǎn)在線,O表示節(jié)點(diǎn)目前不在總線上運(yùn)行。若 此信號(hào)為0000 0000 0100 0010,則表示地址為1和6的節(jié)點(diǎn)在總線上運(yùn)行。從節(jié)點(diǎn)回應(yīng)的網(wǎng)絡(luò)管理幀為1、 網(wǎng)絡(luò)命令(Network Command,簡(jiǎn)寫為NC):包含三個(gè)狀態(tài),喚醒 請(qǐng)求、系統(tǒng)4呆持主動(dòng)響應(yīng)和多主;2、 主動(dòng)負(fù)載(Active Loads,簡(jiǎn)寫為AL):指從節(jié)點(diǎn)應(yīng)用層是否需要 與其它節(jié)點(diǎn)通訊,包含兩個(gè)狀態(tài),從節(jié)點(diǎn)有主動(dòng)負(fù)載和從節(jié)點(diǎn)無主動(dòng)負(fù)載;3、 當(dāng)前失效狀態(tài)(Current Fail Status,簡(jiǎn)寫為CFS):包含兩個(gè)狀 態(tài),系統(tǒng)內(nèi)沒有DTC和系統(tǒng)內(nèi)至少存在一個(gè)DTC;4、 控制器狀態(tài)(Controller Status,簡(jiǎn)寫為CS):包含兩個(gè)狀態(tài), 主動(dòng)錯(cuò)誤狀態(tài)和被動(dòng)錯(cuò)誤狀態(tài);5、計(jì)數(shù)器狀態(tài)為避免出現(xiàn)丟幀情況而附加的管理機(jī)制,該管理機(jī) 制的運(yùn)算法則與主節(jié)點(diǎn)發(fā)送的網(wǎng)絡(luò)管理幀中計(jì)數(shù)器狀態(tài)的管理機(jī)制運(yùn)算 法則相同。
權(quán)利要求
1. 一種用于CAN總線的網(wǎng)絡(luò)管理方法,其特征在于主節(jié)點(diǎn)每隔1秒發(fā)送一次網(wǎng)絡(luò)管理幀,從節(jié)點(diǎn)收到后每隔1秒回應(yīng)一次網(wǎng)絡(luò)管理幀。
2、根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)管理方法,其特征在于 主節(jié)點(diǎn)發(fā)送的網(wǎng)絡(luò)管理幀包括網(wǎng)絡(luò)命令、主動(dòng)負(fù)載、當(dāng)前失效狀態(tài)、控制器狀態(tài)、計(jì)數(shù)器狀態(tài)以及實(shí)際配置;從節(jié)點(diǎn)回應(yīng)的網(wǎng)絡(luò)管理幀包括網(wǎng)絡(luò)命令、主動(dòng)負(fù)載、當(dāng)前失效狀態(tài)、控制器狀態(tài)、以及計(jì)數(shù)器狀態(tài)。
3、根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)管理方法,其特征在于 主節(jié)點(diǎn)發(fā)送的網(wǎng)絡(luò)命令包含四個(gè)狀態(tài),喚醒請(qǐng)求、系統(tǒng)保持主動(dòng)請(qǐng)求、系統(tǒng)進(jìn)入睡眠請(qǐng)求和多主;從節(jié)點(diǎn)回應(yīng)的網(wǎng)絡(luò)命令包含三個(gè)狀態(tài),喚醒請(qǐng)求、系統(tǒng)保持主動(dòng)響應(yīng)和多主。
4、根據(jù)權(quán)利要求2或3所述的網(wǎng)絡(luò)管理方法,其特征在于 主節(jié)點(diǎn)發(fā)送的主動(dòng)負(fù)載包含兩個(gè)狀態(tài),主節(jié)點(diǎn)有主動(dòng)負(fù)載和主節(jié)點(diǎn)無 主動(dòng)負(fù)載;從節(jié)點(diǎn)回應(yīng)的主動(dòng)負(fù)載包含兩個(gè)狀態(tài),從節(jié)點(diǎn)有主動(dòng)負(fù)載和從節(jié)點(diǎn)無 主動(dòng)負(fù)載。
5、根據(jù)權(quán)利要求2-4任一項(xiàng)所述的網(wǎng)絡(luò)管理方法,其特征在于主 節(jié)點(diǎn)發(fā)送和從節(jié)點(diǎn)回應(yīng)的當(dāng)前失效狀態(tài)都包含兩個(gè)狀態(tài),系統(tǒng)內(nèi)沒有故障 診斷代碼和系統(tǒng)內(nèi)至少存在一個(gè)故障診斷代碼。
6、 根據(jù)權(quán)利要求2-5任一項(xiàng)所述的網(wǎng)絡(luò)管理方法,其特征在于主 節(jié)點(diǎn)發(fā)送和從節(jié)點(diǎn)回應(yīng)的控制器狀態(tài)都包含兩個(gè)狀態(tài),主動(dòng)錯(cuò)誤狀態(tài)和被 動(dòng)錯(cuò)誤狀態(tài)。
7、 根據(jù)權(quán)利要求2-6任一項(xiàng)所述的網(wǎng)絡(luò)管理方法,其特征在于主 節(jié)點(diǎn)發(fā)送和從節(jié)點(diǎn)回應(yīng)的計(jì)數(shù)器狀態(tài)都是為避免出現(xiàn)丟幀情況而附加的 管理機(jī)制。
8、 根據(jù)權(quán)利要求7任一項(xiàng)所述的網(wǎng)絡(luò)管理方法,其特征在于所述 管理機(jī)制通過如下算法來實(shí)現(xiàn)1)主節(jié)點(diǎn)第一次發(fā)送網(wǎng)絡(luò)管理幀時(shí),計(jì)數(shù)器=0,在下次成功發(fā)送消 息時(shí)計(jì)數(shù)器按照11 = 11+1的法則來改變值;計(jì)數(shù)器信號(hào)占用4字節(jié),從0 遞增到15再到Q循環(huán);2 )如果丟失主節(jié)點(diǎn)網(wǎng)絡(luò)管理幀,其他節(jié)點(diǎn)每隔2秒發(fā)送一次網(wǎng)絡(luò)管理 幀,計(jì)數(shù)器值始終為0。
9、根據(jù)權(quán)利要求2-8任一項(xiàng)所述的網(wǎng)絡(luò)管理方法,其特征在于主 節(jié)點(diǎn)發(fā)送的實(shí)際配置為根據(jù)各節(jié)點(diǎn)是否在總線上運(yùn)行而統(tǒng)計(jì)出的系統(tǒng)當(dāng)前配置。
全文摘要
本發(fā)明公開了一種用于CAN總線的網(wǎng)絡(luò)管理方法,該網(wǎng)絡(luò)管理方法具有以下功能1)監(jiān)視網(wǎng)絡(luò)結(jié)構(gòu),報(bào)告某個(gè)ECU在/不在網(wǎng)絡(luò);2)監(jiān)視ECU內(nèi)部是否有失效(DTC)消息;3)監(jiān)視應(yīng)用層的功能性信息是否正常收發(fā);4)監(jiān)測(cè)通訊信息的邏輯順序是否正確;5)在CAN控制器失效時(shí)采取恢復(fù)措施。具體實(shí)現(xiàn)方式為主節(jié)點(diǎn)每隔1秒發(fā)送一次網(wǎng)絡(luò)管理幀,從節(jié)點(diǎn)收到后每隔1秒回應(yīng)一次網(wǎng)絡(luò)管理幀。其中主節(jié)點(diǎn)發(fā)送的網(wǎng)絡(luò)管理幀包括網(wǎng)絡(luò)命令、主動(dòng)負(fù)載、當(dāng)前失效狀態(tài)、控制器狀態(tài)、計(jì)數(shù)器狀態(tài)以及實(shí)際配置;從節(jié)點(diǎn)回應(yīng)的網(wǎng)絡(luò)管理幀包括網(wǎng)絡(luò)命令、主動(dòng)負(fù)載、當(dāng)前失效狀態(tài)、控制器狀態(tài)、以及計(jì)數(shù)器狀態(tài)。采用該網(wǎng)絡(luò)管理方法,能夠使整個(gè)網(wǎng)絡(luò)正常、有序地進(jìn)行通訊。
文檔編號(hào)H04L12/24GK101237345SQ20071019589
公開日2008年8月6日 申請(qǐng)日期2007年12月4日 優(yōu)先權(quán)日2007年12月4日
發(fā)明者李文娟 申請(qǐng)人:奇瑞汽車有限公司