本發(fā)明涉及一種基于獨(dú)立網(wǎng)關(guān)的診斷路由方法及系統(tǒng)。
背景技術(shù):
隨著汽車技術(shù)的日新月異的發(fā)展,整車電器功能需求不斷增多,信號(hào)交互越來(lái)越多,基本現(xiàn)有的國(guó)外國(guó)內(nèi)車型,CAN網(wǎng)絡(luò)通訊已經(jīng)實(shí)現(xiàn)了標(biāo)配,整車基本所有電器節(jié)點(diǎn)都連接整車CAN網(wǎng)絡(luò),實(shí)現(xiàn)信號(hào)的高速傳輸。
因此,作為整車CAN網(wǎng)絡(luò)的信號(hào)路由器網(wǎng)關(guān)的開(kāi)發(fā)越來(lái)越受重視,對(duì)網(wǎng)關(guān)的驗(yàn)證尤其是信號(hào)測(cè)試成為整車開(kāi)發(fā)驗(yàn)證過(guò)程中的一個(gè)重要環(huán)節(jié)。
針對(duì)網(wǎng)關(guān)的功能測(cè)試主要包含對(duì)各CAN路進(jìn)行路由測(cè)試和診斷功能測(cè)試,而其中的診斷功能測(cè)試主要的是通過(guò)使用診斷工具連接整車OBD(車載診斷口),依據(jù)整車廠定義的診斷服務(wù)進(jìn)行測(cè)試。我們將診斷功能中的“支持將某一條CAN路信息直接復(fù)制至診斷路由的功能”稱之為鏡像映射功能(mirror function),目前所有的跨國(guó)公司的獨(dú)立網(wǎng)關(guān)都支持該功能。
但是這類將整條CAN路信息復(fù)制到診斷路由的方式,無(wú)疑會(huì)大大增加診斷CAN的負(fù)載,導(dǎo)致實(shí)際檢測(cè)會(huì)出現(xiàn)超出診斷CAN負(fù)載率和丟幀的情況,檢測(cè)出錯(cuò)率高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的一個(gè)目的是要提供一種基于獨(dú)立網(wǎng)關(guān)的診斷路由方法,其能夠清晰判斷信息源、信息接收者,并減少了診斷網(wǎng)絡(luò)CAN-D的負(fù)載,增加了監(jiān)測(cè)的實(shí)時(shí)性和安全性,滿足了更加精細(xì)的測(cè)試要求。
特別地,本發(fā)明提供了一種基于獨(dú)立網(wǎng)關(guān)的診斷路由方法,包括:
獨(dú)立網(wǎng)關(guān);
多條CAN線,與所述獨(dú)立網(wǎng)關(guān)相連,所述多條CAN線包括一條診斷CAN和至少兩條CAN網(wǎng)路;
診斷工具,所述診斷工具具有車載診斷口,所述車載診斷口與所述診斷CAN相連;
其中,所述診斷路由方法選定所述至少兩條CAN網(wǎng)路中的特定節(jié)點(diǎn)作為診斷節(jié)點(diǎn),將所述診斷節(jié)點(diǎn)所發(fā)出的報(bào)文映射至所述車載診斷口所在的診斷CAN。
進(jìn)一步地,所述至少兩條CAN網(wǎng)路上設(shè)有若干個(gè)節(jié)點(diǎn),所述診斷路由方法在所述若干個(gè)節(jié)點(diǎn)中選定至少一個(gè)節(jié)點(diǎn)作為需要觀察跟蹤的節(jié)點(diǎn),并在進(jìn)行診斷路由過(guò)程中將所述至少一個(gè)節(jié)點(diǎn)發(fā)出的報(bào)文映射至所述車載診斷口所在的診斷CAN。
進(jìn)一步地,所述若干個(gè)節(jié)點(diǎn)分別配置有不同的節(jié)點(diǎn)ID,所述診斷路由方法根據(jù)診斷需求一一配置指定對(duì)應(yīng)的節(jié)點(diǎn)ID,用于選定所述診斷節(jié)點(diǎn)。
進(jìn)一步地,選定出所述診斷節(jié)點(diǎn)后,將所述診斷節(jié)點(diǎn)發(fā)出的所有報(bào)文在可配置區(qū)域中標(biāo)記,再將標(biāo)記后的所述所有報(bào)文經(jīng)所述診斷CAN發(fā)送至所述診斷工具。
進(jìn)一步地,所述若干個(gè)節(jié)點(diǎn)分別依序配置節(jié)點(diǎn)ID和其所在的CAN網(wǎng)路的名稱,所述診斷路由方法根據(jù)診斷需求選擇指定的CAN網(wǎng)路名稱并節(jié)選所需診斷的所述節(jié)點(diǎn)ID的范圍,用于選定多個(gè)所述診斷節(jié)點(diǎn)。
進(jìn)一步地,選定出所述多個(gè)診斷節(jié)點(diǎn)后,將每個(gè)所述診斷節(jié)點(diǎn)發(fā)出的所有報(bào)文在可配置區(qū)域中分別標(biāo)記,再將標(biāo)記后的所述所有報(bào)文經(jīng)所述診斷CAN發(fā)送至所述診斷工具。
一種基于獨(dú)立網(wǎng)關(guān)的診斷路由系統(tǒng),包括:
獨(dú)立網(wǎng)關(guān);
多條CAN線,與所述獨(dú)立網(wǎng)關(guān)相連,所述多條CAN線包括一條診斷CAN和至少兩條CAN網(wǎng)路;
診斷工具,所述診斷工具具有車載診斷口,所述車載診斷口與所述診斷CAN相連;和
節(jié)點(diǎn)選擇控制單元,根據(jù)用戶輸入選定所述至少兩條CAN網(wǎng)路中的特定節(jié)點(diǎn)作為診斷節(jié)點(diǎn),并將所述診斷節(jié)點(diǎn)所發(fā)出的報(bào)文映射至所述車載診斷口所在的診斷CAN。
進(jìn)一步地,所述至少兩條CAN網(wǎng)路上設(shè)有若干個(gè)節(jié)點(diǎn),所述診斷路由方法在所述若干個(gè)節(jié)點(diǎn)中選定至少一個(gè)節(jié)點(diǎn)作為需要觀察跟蹤的節(jié)點(diǎn),并在進(jìn)行診斷路由過(guò)程中將所述至少一個(gè)節(jié)點(diǎn)發(fā)出的報(bào)文映射至所述車載診斷口所在的診斷CAN。
進(jìn)一步地,所述若干個(gè)節(jié)點(diǎn)分別配置有不同的節(jié)點(diǎn)ID,所述診斷路由方法根據(jù)診斷需求一一配置指定對(duì)應(yīng)的節(jié)點(diǎn)ID,用于選定所述診斷節(jié)點(diǎn)。
進(jìn)一步地,所述若干個(gè)節(jié)點(diǎn)分別依序配置節(jié)點(diǎn)ID和其所在的CAN網(wǎng)路的名稱,所述診斷路由方法根據(jù)診斷需求選擇指定的CAN網(wǎng)路名稱并節(jié)選所需診斷的所述節(jié)點(diǎn)ID的范圍,用于選定多個(gè)所述診斷節(jié)點(diǎn)。
本發(fā)明的診斷路由方法及系統(tǒng),其基于獨(dú)立網(wǎng)關(guān),通過(guò)以選定節(jié)點(diǎn)的方式進(jìn)行映射,即通過(guò)診斷服務(wù)向網(wǎng)關(guān)配置幾個(gè)需要觀察跟蹤的節(jié)點(diǎn)ID,網(wǎng)關(guān)會(huì)將所配置斷定的診斷節(jié)點(diǎn)所發(fā)出的報(bào)文全部映射至車載診斷口(OBD)所在的診斷CAN,而不是相關(guān)CAN路上的所有報(bào)文,如此,就能夠便于清晰判斷信息源和信息接收者,同時(shí)也減少了診斷網(wǎng)絡(luò)中診斷CAN的負(fù)載,增加了監(jiān)測(cè)的實(shí)時(shí)性和安全性,滿足了更加精細(xì)化的測(cè)試要求。
根據(jù)下文結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會(huì)更加明了本發(fā)明的上述以及其他目的、優(yōu)點(diǎn)和特征。
附圖說(shuō)明
后文將參照附圖以示例性而非限制性的方式詳細(xì)描述本發(fā)明的一些具體實(shí)施例。附圖中相同的附圖標(biāo)記標(biāo)示了相同或類似的部件或部分。本領(lǐng)域技術(shù)人員應(yīng)該理解,這些附圖未必是按比例繪制的。附圖中:
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的診斷路由方法中的映射路由方式的示意圖;
圖2是傳統(tǒng)的診斷路由方法中的映射路由方式的示意圖。
具體實(shí)施方式
實(shí)施例1:
圖2是傳統(tǒng)的診斷路由方法中的映射路由方式的示意圖。如圖2所示,網(wǎng)關(guān)連接有4條網(wǎng)路:CAN1、CAN2、CAN3和1條診斷CAN(CAN-D),診斷工具通過(guò)OBD(車載診斷口)連接到網(wǎng)關(guān)診斷網(wǎng)路CAN-D上,其中CAN1上有4個(gè)節(jié)點(diǎn),分別為:節(jié)點(diǎn)A、節(jié)點(diǎn)E、節(jié)點(diǎn)F、節(jié)點(diǎn)G,正常運(yùn)行時(shí)CAN1網(wǎng)段的負(fù)載率為40%;當(dāng)開(kāi)啟傳統(tǒng)映射路由方式時(shí),網(wǎng)關(guān)會(huì)將CAN1節(jié)點(diǎn)A、節(jié)點(diǎn)E、節(jié)點(diǎn)F、節(jié)點(diǎn)G的所有報(bào)文全部映射(即"復(fù)制")至CAN-D OBD上,此時(shí)CAN-D OBD上的負(fù)載率將達(dá)到40%。
因此,在傳統(tǒng)的診斷路由方法中,根據(jù)實(shí)際診斷測(cè)試需求,由于受CAN網(wǎng)段負(fù)載率的制約,在排查同網(wǎng)絡(luò)或不同網(wǎng)絡(luò)多個(gè)ID的情況下,實(shí)際檢測(cè)可能會(huì)出現(xiàn)超出診斷CAN負(fù)載率和丟幀的情況。
本實(shí)施例所描述的基于獨(dú)立網(wǎng)關(guān)的診斷路由方法,包括:
獨(dú)立網(wǎng)關(guān);
多條CAN線,與所述獨(dú)立網(wǎng)關(guān)相連,所述多條CAN線包括一條診斷CAN和至少兩條CAN網(wǎng)路;
診斷工具,所述診斷工具具有車載診斷口,所述車載診斷口與所述診斷CAN相連;
其中,所述診斷路由方法選定所述至少兩條CAN網(wǎng)路中的特定節(jié)點(diǎn)作為診斷節(jié)點(diǎn),將所述診斷節(jié)點(diǎn)所發(fā)出的報(bào)文映射至所述車載診斷口所在的診斷CAN。
所述至少兩條CAN網(wǎng)路上設(shè)有若干個(gè)節(jié)點(diǎn),所述診斷路由方法在所述若干個(gè)節(jié)點(diǎn)中選定至少一個(gè)節(jié)點(diǎn)作為需要觀察跟蹤的節(jié)點(diǎn),并在進(jìn)行診斷路由過(guò)程中將所述至少一個(gè)節(jié)點(diǎn)發(fā)出的報(bào)文映射至所述車載診斷口所在的診斷CAN。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的診斷路由方法中的映射路由方式的示意圖。在本實(shí)施例中,如圖1所示,設(shè)網(wǎng)絡(luò)CAN1的A節(jié)點(diǎn)發(fā)送Message給CAN2上的B節(jié)點(diǎn)和CAN3上的C節(jié)點(diǎn)接收,當(dāng)只需要觀察節(jié)點(diǎn)A的情況時(shí),可采用改進(jìn)型節(jié)點(diǎn)映射路由方式,網(wǎng)關(guān)只會(huì)把CAN1節(jié)點(diǎn)A的所有報(bào)文全部映射(即"復(fù)制")至CAN-D OBD上,此時(shí)CAN-D OBD上的負(fù)載率將只達(dá)到10%。
不難理解,本實(shí)施例通過(guò)以選定節(jié)點(diǎn)的方式進(jìn)行映射,即通過(guò)診斷服務(wù)向網(wǎng)關(guān)配置幾個(gè)需要觀察跟蹤的節(jié)點(diǎn)ID,網(wǎng)關(guān)會(huì)將所配置斷定的診斷節(jié)點(diǎn)所發(fā)出的報(bào)文全部映射至車載診斷口(OBD)所在的診斷CAN,而不是相關(guān)CAN路上的所有報(bào)文,如此,就能夠便于清晰判斷信息源和信息接收者,同時(shí)也減少了診斷網(wǎng)絡(luò)中診斷CAN的負(fù)載,增加了監(jiān)測(cè)的實(shí)時(shí)性和安全性,滿足了更加精細(xì)化的測(cè)試要求。
進(jìn)一步地,所述若干個(gè)節(jié)點(diǎn)分別配置有不同的節(jié)點(diǎn)ID,所述診斷路由方法根據(jù)診斷需求一一配置指定對(duì)應(yīng)的節(jié)點(diǎn)ID,用于選定所述診斷節(jié)點(diǎn)。
下表為該網(wǎng)關(guān)系統(tǒng)當(dāng)前的路由表:
從表中可以看出節(jié)點(diǎn)Node_A發(fā)到CAN2上的有6條報(bào)文,我們將這6條報(bào)文在可配置區(qū)域中標(biāo)記為ECU0;同時(shí)節(jié)點(diǎn)Node_A發(fā)到CAN3上的有4條報(bào)文,我們將這4條報(bào)文在可配置區(qū)域中標(biāo)記為ECU1。節(jié)點(diǎn)Node_B發(fā)到CAN3上的有5條報(bào)文,我們將這5條報(bào)文在可配置區(qū)域中標(biāo)記為ECU2。
假設(shè)該可配置矩陣表的映射診斷服務(wù)DID:6A30,診斷操作步驟為:
Setp1:讓網(wǎng)關(guān)進(jìn)入默認(rèn)模式;
Setp2:讓網(wǎng)關(guān)進(jìn)入擴(kuò)展模式;
Setp3:進(jìn)行安全認(rèn)證;
Setp4:先讀取并記錄一下當(dāng)前的車輛名稱;
Setp5:根據(jù)需要配置診斷服務(wù)為Configuration DID信息(DID:6A30);
Setp6:再次讀取Configuration DID信息以確認(rèn);
診斷命令行如下:
Byte0,bit0:ECU0 0=Disable,1=Enable;
Byte0,bit1:ECU1 0=Disable,1=Enable;
Byte0,bit2:ECU2 0=Disable,1=Enable;
Byte0,bit3:ECU3 0=Disable,1=Enable;
Byte0,bit4:ECU4 0=Disable,1=Enable;
Byte0,bit5:ECU5 0=Disable,1=Enable;
Byte0,bit6:ECU6 0=Disable,1=Enable;
Byte0,bit7:ECU7 0=Disable,1=Enable;
Byte1,bit0:ECU8 0=Disable,1=Enable;
Byte1,bit1:ECU9 0=Disable,1=Enable;
Byte1,bit2:ECU10 0=Disable,1=Enable;
Byte1,bit3:ECU11 0=Disable,1=Enable;
Byte1,bit4:ECU12 0=Disable,1=Enable;
Byte1,bit5:ECU13 0=Disable,1=Enable;
Byte1,bit6:ECU14 0=Disable,1=Enable;
Byte1,bit7:ECU15 0=Disable,1=Enable;
Byte2,bit0:ECU16 0=Disable,1=Enable;
Byte2,bit1:ECU17 0=Disable,1=Enable;
Byte2,bit2:ECU18 0=Disable,1=Enable;
Byte2,bit3:ECU19 0=Disable,1=Enable;
Byte2,bit4:ECU20 0=Disable,1=Enable;
Byte2,bit5:ECU21 0=Disable,1=Enable;
Byte2,bit6:ECU22 0=Disable,1=Enable;
Byte2,bit7:ECU23 0=Disable,1=Enable;
Byte3,bit0:ECU24 0=Disable,1=Enable;
Byte3,bit1:ECU25 0=Disable,1=Enable;
Byte3,bit2:ECU26 0=Disable,1=Enable;
Byte3,bit3:ECU27 0=Disable,1=Enable;
Byte3,bit4:ECU28 0=Disable,1=Enable;
Byte3,bit5:ECU29 0=Disable,1=Enable;
Byte3,bit6~bit7:Reserved。
如此,則網(wǎng)關(guān)可配置矩陣表中內(nèi)容在診斷操作完成后會(huì)形成如下表所示:
以圖1所示的映射路由方式為例,通過(guò)診斷協(xié)議中的2E或31服務(wù)去寫(xiě)模塊軟件預(yù)留中的可配置區(qū)域Configuration Byte(可以有多個(gè)字節(jié)),Configuration Byte中的每個(gè)bit(位)代表一個(gè)路由消息組(或者是一個(gè)ECU的發(fā)送消息組),0表示禁止映射,1表示使能映射。達(dá)到對(duì)當(dāng)前路由信息開(kāi)關(guān)的控制。
假設(shè)有30個(gè)ECU的消息需要映射到診斷CAN-D,那Configuration Byte就需要4個(gè)Byte來(lái)表示(4*8=32bit)。
ECU1的發(fā)送消息組為:0x200,0x201,0x202,0x203,0x204,0x205
ECU2的發(fā)送消息組為:0x206,0x207,0x208,0x209
ECU3的發(fā)送消息組為:0x210,0x211,0x212,0x213,0x214
將Configuration Byte寫(xiě)成0x00000003則表示將ECU1和ECU2的消息組同時(shí)映射到CAN-D;將Configuration Byte寫(xiě)成0x0000000E則表示將ECU1,ECU2,ECU3的消息組同時(shí)映射到CAN-D。如果要禁止此功能,就將Configuration Byte所有內(nèi)容寫(xiě)為0。
需要注意的是,還存在另外一種選定節(jié)點(diǎn)的方式,即按照選定網(wǎng)段,ID的方式進(jìn)行映射。在所述若干個(gè)節(jié)點(diǎn)中分別依序配置節(jié)點(diǎn)ID和其所在的CAN網(wǎng)路的名稱,所述診斷路由方法根據(jù)診斷需求選擇指定的CAN網(wǎng)路名稱并節(jié)選所需診斷的所述節(jié)點(diǎn)ID的范圍,用于選定多個(gè)所述診斷節(jié)點(diǎn)。例如:配置"CAN6,0x221,0x27F",則網(wǎng)關(guān)會(huì)將CAN 6的ID等于0x221,或等于0x27F的報(bào)文全部路由至診斷CAN-D。也可通過(guò)診斷配置網(wǎng)絡(luò),指定ID范圍實(shí)現(xiàn),例如:配置"CAN 7,0x085,0x120;CAN 8,0x125,0x225"后,網(wǎng)關(guān)會(huì)將CAN7的ID大于等于0x085至ID小于等于0x120,以及CAN8上ID大于等于0x125至ID小于等于0x225所有報(bào)文,映射到OBD所在的CAN-D,同樣也減少了診斷網(wǎng)絡(luò)CAN-D的負(fù)載,增加了監(jiān)測(cè)實(shí)時(shí)性和安全性。
綜上,本發(fā)明能夠清晰判斷信息源、信息接收者,并減少了診斷網(wǎng)絡(luò)CAN-D的負(fù)載,增加了監(jiān)測(cè)的實(shí)時(shí)性和安全性,滿足了更加精細(xì)的測(cè)試要求。
實(shí)施例2:
本實(shí)施例描述了一種基于獨(dú)立網(wǎng)關(guān)的診斷路由系統(tǒng),一般性地可以包括:獨(dú)立網(wǎng)關(guān);多條CAN線,與所述獨(dú)立網(wǎng)關(guān)相連,所述多條CAN線包括一條診斷CAN和至少兩條CAN網(wǎng)路;診斷工具,所述診斷工具具有車載診斷口,所述車載診斷口與所述診斷CAN相連;和節(jié)點(diǎn)選擇控制單元,根據(jù)用戶輸入選定所述至少兩條CAN網(wǎng)路中的特定節(jié)點(diǎn)作為診斷節(jié)點(diǎn),并將所述診斷節(jié)點(diǎn)所發(fā)出的報(bào)文映射至所述車載診斷口所在的診斷CAN。
所述至少兩條CAN網(wǎng)路上設(shè)有若干個(gè)節(jié)點(diǎn),所述診斷路由方法在所述若干個(gè)節(jié)點(diǎn)中選定至少一個(gè)節(jié)點(diǎn)作為需要觀察跟蹤的節(jié)點(diǎn),并在進(jìn)行診斷路由過(guò)程中將所述至少一個(gè)節(jié)點(diǎn)發(fā)出的報(bào)文映射至所述車載診斷口所在的診斷CAN。
所述若干個(gè)節(jié)點(diǎn)分別配置有不同的節(jié)點(diǎn)ID,所述診斷路由方法根據(jù)診斷需求一一配置指定對(duì)應(yīng)的節(jié)點(diǎn)ID,用于選定所述診斷節(jié)點(diǎn)。
也可采用另一種選擇方式,所述若干個(gè)節(jié)點(diǎn)分別依序配置節(jié)點(diǎn)ID和其所在的CAN網(wǎng)路的名稱,所述診斷路由方法根據(jù)診斷需求選擇指定的CAN網(wǎng)路名稱并節(jié)選所需診斷的所述節(jié)點(diǎn)ID的范圍,用于選定多個(gè)所述診斷節(jié)點(diǎn)。
至此,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,雖然本文已詳盡示出和描述了本發(fā)明的多個(gè)示例性實(shí)施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)本發(fā)明公開(kāi)的內(nèi)容直接確定或推導(dǎo)出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應(yīng)被理解和認(rèn)定為覆蓋了所有這些其他變型或修改。