版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
ISO1576—3(24)道路車輛-控制局域網(wǎng)絡(luò)診斷—第3部分:一元化診斷服務(wù)實(shí)施(CAN的UDS)道路車輛控制器局域網(wǎng)(CAN)的診斷--第3部分:一元化診斷服務(wù)實(shí)施(CAN的UDS)1范圍這部分ISO15765協(xié)議按照ISO14229—1,描述了在ISO11898定義的控制器局域網(wǎng)中統(tǒng)一診斷服務(wù)(UDS)的實(shí)施.它給所有汽車連接至CAN網(wǎng)絡(luò)服務(wù)器及外部測試設(shè)備提供診斷服務(wù)及服務(wù)器存儲器編程的需求.它對汽車內(nèi)部CAN總線架構(gòu)無任何要求。2參考的標(biāo)準(zhǔn)下述的參考文檔對于該文檔的應(yīng)用是必不可少的。3術(shù)語,定義和縮略詞為編撰該文檔目的,這些術(shù)語和定義已在ISO14229-1,ISO15765-1及ISO15765-2中給出,以下縮略詞術(shù)語同樣適用。DA目標(biāo)地址ID標(biāo)識符DLC數(shù)據(jù)長度碼GW網(wǎng)關(guān)LSB最低有效位MSB最高有效位NA網(wǎng)絡(luò)地址SA源地址SM子網(wǎng)掩碼TOS服務(wù)類型4協(xié)定該部分ISO15765協(xié)議基于ISO14229-1的協(xié)定,該協(xié)議遵從使用到診斷服務(wù)的OSI服務(wù)協(xié)議。5統(tǒng)一診斷服務(wù)(UDS)對照OSI模型的應(yīng)用見圖16應(yīng)用層及會話層6。1應(yīng)用層服務(wù)該部分ISO15765協(xié)議使用ISO14229-1的客戶機(jī)一服務(wù)器式的應(yīng)用層服務(wù)。該系統(tǒng)具有測試、檢測、監(jiān)視,診斷及汽車服務(wù)器在線編程的功能。6。2應(yīng)用層協(xié)議該部分ISO15765協(xié)議使用ISO14229-1應(yīng)用層協(xié)議。6。3應(yīng)用層診斷會話管理定時重要一-任何一個服務(wù)器端產(chǎn)生的<N_Result〉不等于N_OK的N_USData.indication的指示服務(wù),服務(wù)器應(yīng)用層都不應(yīng)該有一個應(yīng)答信息。6.3.1概況下述的是應(yīng)用層及會話層的定時參數(shù)及它們?nèi)绾卧诳蛻魴C(jī)一服務(wù)器模式中如何處理的。圖1OSI模型中,基于CAN的UDS實(shí)施下述的幾種通信會話方式需區(qū)別開:a)物理的通信在如下期間1)默認(rèn)會話方式2)非默認(rèn)的會話方式一一需進(jìn)行會話處理b)功能的通信在如下期間1)默認(rèn)的會話方式2)非默認(rèn)的會話方式一一需進(jìn)行會話處理所有的情況下,請求服務(wù)器否定應(yīng)答信息的擴(kuò)展的定時應(yīng)答,包括應(yīng)答碼78hex應(yīng)當(dāng)予以考慮。定義在ISO15765-2的網(wǎng)絡(luò)層主要是處理客戶機(jī)-服務(wù)器的應(yīng)用層及診斷會話管理的定時.6。3.2應(yīng)用層定時參數(shù)定義用于默認(rèn)的診斷會話的應(yīng)用層定時參數(shù)值應(yīng)按照如下表2設(shè)置表2——默認(rèn)會話的應(yīng)用層定時參數(shù)定義定時參數(shù)描述類型最小值最大值成功發(fā)送請求信息(通過N_USData.con應(yīng)答指示)到接收答復(fù)信息開始(多幀信息的N_USDataFirstFrame.in和單幀信息的N_USData。ind)的超時設(shè)置定時器重載值接收到應(yīng)答碼為0x78的否定應(yīng)答(通過N_USData.con指示)到接收答復(fù)信息開始(多幀信息的定時器重載值N_USDataFirstFrame.ir和單幀信息的N_USData。ind的擴(kuò)展的超時設(shè)置在接收到請求信息通過N_USData。ind指示),服務(wù)器開始答復(fù)信息的運(yùn)行要求運(yùn)行要求050ms在傳遞了0x78(擴(kuò)展的超時設(shè)置)的否定應(yīng)答碼(通過N_USData。con指示),服務(wù)器開始答復(fù)信息的運(yùn)行要求運(yùn)行要求50ms客戶機(jī)成功發(fā)送不需應(yīng)答的物理地址請求信息(通過N_USData.con指示),到它能發(fā)送下一個物理地址請求信息等待的最小時間見圖6。3。5。3)定時器重載值客戶機(jī)成功發(fā)送功能地址請求信息(通過N_USData.con指示)到它能發(fā)送下一個功能地址請求信息等待的最小時間,有可能不需應(yīng)答也有可能該請求數(shù)據(jù)只被某個子網(wǎng)功能地址服務(wù)器支持(見圖6.35.3)定時器重載值a客戶機(jī)等待一個應(yīng)答信息發(fā)送的最長時間由客戶機(jī)決定,但必須滿足必須比指定的最小值要大;b值由客戶機(jī)決定,但必須滿足該值必須比指定的最小值要大;c擴(kuò)展的應(yīng)答定時,在連續(xù)的應(yīng)答碼為0x78的否定應(yīng)答信息之間最小值為,最大容差為土20%的;d客戶機(jī)發(fā)送下一個請求的最長等待時間由客戶機(jī)決定,但必須滿足非默認(rèn)會話的定時在服務(wù)器一直保持運(yùn)行。參數(shù)被認(rèn)為是所有系統(tǒng)網(wǎng)絡(luò)設(shè)計參考延時,該延時通過網(wǎng)關(guān)及總線帶寬加上安全系數(shù)(例如最壞情況的50%).最壞情況(客戶機(jī)-服務(wù)器-客戶機(jī)信息傳輸一個來回的必須得傳送時間),基于系統(tǒng)的設(shè)計,并受以下因素的影響:a)包含網(wǎng)關(guān)的數(shù)量b)CAN幀發(fā)送的時間(波特率)c)CAN總線的使用情況d)CAN設(shè)備驅(qū)動使用方法(輪詢方式還是中斷方式)及網(wǎng)絡(luò)層的處理時間分為兩個時間,一是客戶機(jī)發(fā)送請求至服務(wù)器的時間,一是服務(wù)器發(fā)送應(yīng)答至客戶機(jī)的時間.圖2展示的是組成的一個例子。圖2—組成的一個例子一一單幀請求和應(yīng)答信息注意:為了簡單描述定時參數(shù),在以下所有的圖中,假定客戶機(jī)到服務(wù)器在同一個網(wǎng)絡(luò)中。所有的說明及附圖按照時間順序表述.6.3.3會話層定時參數(shù)定義當(dāng)診斷會話而不是默認(rèn)的會話啟動的時,需要按如下表3的會話層定時參數(shù)進(jìn)行會話的操作.表3會話層定時參數(shù)定義定時參數(shù)說明類型推薦超時ms定時參數(shù)說明類型推薦超時ms超時ms在功能地址(0x3E)由客戶機(jī)發(fā)送的用于保持診
斷會話的信息請求之間的時間,而不是多服務(wù)器
的默認(rèn)會話時間(功能的通信),或者對某一具體
服務(wù)器發(fā)送請求最大時間間隔。(物理的通信)。時間重置值20ms40ms在沒有接收到任何請求信息時,服務(wù)器保持診斷
會話的時間,不是默認(rèn)會話活動時間。時間重置值N/A50ms表4定義了客戶機(jī)和服務(wù)器開啟/重啟的/定時條件。對于客戶機(jī),周期性發(fā)送功能地址(0x3E)請求信息,應(yīng)當(dāng)與連續(xù)地發(fā)送物理地址(0x3E)請求信息區(qū)別開,后者僅僅在沒有其它任何診斷請求時發(fā)送。對于服務(wù)器,不需要這兩種(0x3E)的操作方式。表4說明定時器操作是基于網(wǎng)絡(luò)層服務(wù)的,也就是說,定時器在接收到不支持的診斷請求信息時,重啟。6.3。4客戶機(jī)和服務(wù)器定時器資源要求對于客戶機(jī)及服務(wù)器在默認(rèn)會話及任何非默認(rèn)會話完成上述時間定時的定時器資源要求應(yīng)按照表5及6所示。在非默認(rèn)會話期間,表6所示附加的定時器資源要求適用于客戶機(jī)及服務(wù)器。表4——客戶機(jī)及服務(wù)器的會話層定時啟動/停止條件定時參數(shù)動作物理和功能通信,使用功能地址,周期性發(fā)送請求信息物理通信,使用功能地址,連續(xù)發(fā)送請求信息初始化開始N_USData.con用于指示診斷會話控制(10hex)請求信息的完成。只適用于非默認(rèn)會話的會話類型.若不需應(yīng)答,N_USData.con指示診斷會話控制(10hex)請求信息的完成。若需一個應(yīng)答,N_USData.ind指示診斷會話控制(10hex)請求信息的完成。隨后的開始N_USData.con指示功能地址(0x3E)請求信息的完成,它是在定時每次到時時發(fā)送。若不需應(yīng)答,N_USData.con指示診斷會話控制任何請求信息的完成。若需一個應(yīng)答,N_USData.ind指示診斷會話控制任何請求信息的完成。N_USData.ind在接收到多幀應(yīng)答信息時,指示出錯.初始化開始如果需要一條應(yīng)答信息被傳送的話,N_USData.con指示診斷會話控制應(yīng)答信息的完成,表示從默認(rèn)會話轉(zhuǎn)變?yōu)榉悄J(rèn)會話。如果不需應(yīng)答。成功地完成請求的服務(wù),該請求為診斷會話控制(10hex)請求信息要求從默認(rèn)會話轉(zhuǎn)變至非默認(rèn)會話,隨后的結(jié)束N_USDataFirstFrame。ind指示多幀請求信息開始,N_USData.ind表示任何一個單幀請求信息的接收.如果使用默認(rèn)會話,被禁用.隨后的開始如果需要一條應(yīng)答信息被傳送的話(包括肯定及否定應(yīng)答),N_USData.con指示任何應(yīng)答信息的完成,確定一條服務(wù)的執(zhí)行(最后回復(fù)信息)。否定應(yīng)答應(yīng)答碼0x78不會重啟。如果不需要任何應(yīng)答信息(肯定或否定),請求動作的完成(服務(wù)結(jié)束)N_USDataoind指示接收多幀請求信息時的出錯。當(dāng)請求發(fā)送未被請求的信息,如基于某一事件的周期性數(shù)據(jù)及應(yīng)答,見6.3。5。4服務(wù)器關(guān)于更多的處理。表5——默認(rèn)會話下定時器資源要求定時參數(shù)客戶機(jī)服務(wù)器為每一個邏輯通信通道(物理和功能通信)設(shè)置一個單獨(dú)的定時器是需要的,例如,點(diǎn)對點(diǎn)通信需要一個獨(dú)立的通信通道。N/AN/A為擴(kuò)展的應(yīng)答定時一個可選擇的定時器保證隨后的否定應(yīng)答的發(fā)送比早一些。需為每一個物理通信提供單獨(dú)的定時器N/A需為每一個功能通信提供單獨(dú)的定時器N/A表6——非默認(rèn)會話下另外的定時資源需求定時參數(shù)客戶機(jī)服務(wù)器當(dāng)使用周期性發(fā)送,功能地址(0x3E)請求信息保持服務(wù)器在非默認(rèn)狀態(tài),需提供單獨(dú)的定時器,不需為每一個激活的診斷會話提供額外的定時器。N/A當(dāng)在無其它診斷請求時,使用連續(xù)的發(fā)送物理地址(0x3E)請求信息保持單個服務(wù)器在非默認(rèn)狀態(tài),為每一個點(diǎn)對點(diǎn)通信通道設(shè)置單獨(dú)的定時器N/A服務(wù)器需一個單獨(dú)的定時器,因?yàn)橹挥袉卧\斷會話能在一個服務(wù)器中激活.6.3.5具體的定時參數(shù)描述6。3.5.1物理通信6。3.5.1.1默認(rèn)會話下物理通信圖3描述了客戶機(jī)和服務(wù)器在默認(rèn)會話下物理地址請求信息定時的操作。圖3一默認(rèn)會話下物理通信a)客戶端診斷應(yīng)用層通過發(fā)送N_USData.req到網(wǎng)絡(luò)層開始發(fā)送請求信息。網(wǎng)絡(luò)層傳遞該請求信息至服務(wù)器。該請求信息要么以單診的形式或多幀的形式。b)在多幀信息情況下,請求開始于網(wǎng)絡(luò)層發(fā)送的N_USDataFF。ind通知服務(wù)器.c)請求信息的完成通過客戶機(jī)N_USData.con指示.當(dāng)接收到N_USData.con時,客戶端使用默認(rèn)重載值為,啟動定時器,該定時器的值應(yīng)當(dāng)考慮到車載網(wǎng)絡(luò)設(shè)計上(通信網(wǎng)關(guān),總線帶寬,等)所有的延時。為了簡單化,該圖假定客戶機(jī)和服務(wù)器在一條總線上。d)服務(wù)器通過N_USData.ind指示請求信息的完成。e)服務(wù)器在接收到N_USData.ind指示時,要求在時間內(nèi)開始回復(fù)信息.也就是說,在多幀回復(fù)信息條件下,首幀必須在時間內(nèi)發(fā)送,對于單幀回復(fù)信息,該單幀必須在時間內(nèi)回復(fù)。f)在多幀應(yīng)答信息情況下,客戶機(jī)通過網(wǎng)絡(luò)層N_USDataFFoind指示首幀的接收。當(dāng)接收到首幀時,客戶機(jī)停止定時器.g)如果完整的信息接收到,或者在接收過程中出現(xiàn)了錯誤,網(wǎng)絡(luò)層最后都產(chǎn)生一個N_USData.ind.在單幀響應(yīng)信息,通過單個的N_USDataoind指示單幀的接收.當(dāng)接收該單幀指示時,客戶端停止定時器.h)服務(wù)器通過N_USData.con指示響應(yīng)信息的完成。6。3.5。1.2默認(rèn)會話期間擴(kuò)展了應(yīng)答定時的物理通信圖4描述了默認(rèn)會話期間客戶機(jī)和服務(wù)器物理地址請求信息定時操作,及服務(wù)器請求擴(kuò)展的響應(yīng)定時(否定應(yīng)答碼0x78的處理)。圖4—-默認(rèn)會話期間的物理通信一擴(kuò)展了應(yīng)答定時a)客戶端診斷應(yīng)用層通過發(fā)送N_USData。req到網(wǎng)絡(luò)層開始發(fā)送請求信息。網(wǎng)絡(luò)層傳遞該請求信息至服務(wù)器。該請求信息要么以單診的形式或多幀的形式。b)在多幀信息情況下,請求開始于網(wǎng)絡(luò)層發(fā)送的N_USDataFF.ind通知服務(wù)器。c)請求信息的完成通過客戶機(jī)N_USData.con指示。當(dāng)接收到N_USData.con時,客戶端使用默認(rèn)重載值為,啟動定時器,該定時器的值應(yīng)當(dāng)考慮到車載網(wǎng)絡(luò)設(shè)計上(通信網(wǎng)關(guān),總線帶寬,等)所有的巖石.為了簡單化,該圖假定客戶機(jī)和服務(wù)器在一條總線上。d)服務(wù)器通過N_USData。ind指示請求信息的完成。e)服務(wù)器在接收到N_USDataoind指示時,要求在時間內(nèi)開始回復(fù)信息。也就是說,在多幀回復(fù)信息條件下,首幀必須在時間內(nèi)發(fā)送,對于單幀回復(fù)信息,該單幀必須在時間內(nèi)回復(fù)。f)服務(wù)器在給定的時間內(nèi)無法提供請求的信息時,它可以通過發(fā)送應(yīng)答碼為0x78的否定應(yīng)答信息請求擴(kuò)展的定時窗??蛻舳私邮盏椒穸☉?yīng)答信息時,客戶端網(wǎng)絡(luò)層產(chǎn)生一個N_USDataoind。接收到應(yīng)答碼為0x78的否定應(yīng)答信息,客戶端重置它的定時器,但使用的是擴(kuò)展的重載的定時值。g)服務(wù)器在發(fā)送否定應(yīng)答信息N_USData.con之后,要求在給定的擴(kuò)展的()時間內(nèi)應(yīng)答信息。如果在給定的擴(kuò)展的時間內(nèi)仍無法提供請求的信息,服務(wù)器則繼續(xù)發(fā)送應(yīng)答碼為0x78的否定應(yīng)答.客戶端使用的是擴(kuò)展的重載的定時值重置它的定時器.為了簡單起見,圖中只顯示了一個應(yīng)答碼為0x78的否定應(yīng)答信息。h)一旦服務(wù)器可以提供請求的信息(肯定的否定的應(yīng)答,而不是應(yīng)答碼0x78的應(yīng)答),它就啟動最后結(jié)果的應(yīng)答信息.i)在多幀應(yīng)答信息情況下,客戶機(jī)通過網(wǎng)絡(luò)層N_USDataFFoind指示首幀的接收。當(dāng)接收到首幀時,客戶機(jī)停止定時器。j)如果完整的信息接收到,或者在接收過程中出現(xiàn)了錯誤,網(wǎng)絡(luò)層最后都產(chǎn)生一個N_USData.ind。在單幀響應(yīng)信息,通過單個的N_USData.ind指示單幀的接收。當(dāng)接收該單幀指示時,客戶端停止定時器。k)服務(wù)器通過N_USData。con指示響應(yīng)信息的完成。6。3.5.1.3非默認(rèn)會話期間的物理通信6.3。5.1.3.1功能地址(0x3E)信息圖5-一非默認(rèn)會話期間的物理通信-一功能地址圖5描述了客戶機(jī)和服務(wù)器非默認(rèn)會話期間物理通信及使用功能地址的定時處理。客戶機(jī)周期性發(fā)送(0x3E)請求信息,不需要服務(wù)器的應(yīng)答信息.與定時處理與6.3.5.1.1和6。3.5。1.2小節(jié)中描述的處理方法相同。唯一的區(qū)別是客戶端重置的值及服務(wù)器端發(fā)送結(jié)果應(yīng)答時間會有不同。這是由于轉(zhuǎn)變到另一會話層而不是使用默認(rèn)會話層,因此使用的是不同的的值。(見9。2。1節(jié)診斷會話控制(0x10)服務(wù)對定時參數(shù)更詳細(xì)的描述。)a)客戶端診斷應(yīng)用層通過發(fā)送N_USData。req至網(wǎng)絡(luò)層,傳遞診斷會話控制(0x10)請求信息。網(wǎng)絡(luò)層傳遞該請求信息至服務(wù)器。b)請求信息是單幀信息.它的完成通過客戶端N_USData。con指示。6。3.5.1。1和6.3.5。1。2描述的應(yīng)答定時適用于此.客戶端產(chǎn)生的N_USData。con促使定時器開啟(會話定時器)。c)服務(wù)器通過N_USData.ind的發(fā)送器一個應(yīng)答。服務(wù)器應(yīng)當(dāng)發(fā)送診斷會話控制(0x10)的肯定應(yīng)答信息.d)服務(wù)器通過N_USData。con指示應(yīng)答信息發(fā)送的完成。然后服務(wù)器開啟定時器,只要它不超時,它就一直處于非默認(rèn)狀態(tài)。客戶機(jī)負(fù)責(zé)保證定時器在它超時之前復(fù)位,以保證服務(wù)器處于非默認(rèn)會話狀態(tài).e)一旦客戶機(jī)開啟了定時器,這會促使不需應(yīng)答信息的功能地址(0x3E)請求信息的發(fā)送.每一次發(fā)送的時機(jī)都是在超時時發(fā)送.f)在網(wǎng)絡(luò)層通過N_USData。con指示(0x3E)請求信息傳遞完成之后,客戶機(jī)再次啟動定時器。這就是說,功能地址請求信息是在每一次定時超時之后,周期性發(fā)送的.g)服務(wù)器在處理診斷服務(wù)的任何時間內(nèi),它都停止定時器.h)當(dāng)診斷服務(wù)處理完之后,服務(wù)器重啟定時器。這就是說,診斷服務(wù),包括(0x3E),都重置定時器。診斷服務(wù)是在接收到請求信息(N_USDataFFoind或者N_USData.ind服務(wù))與完成最后結(jié)果應(yīng)答這個期間內(nèi)處理的.這里是需要一條應(yīng)答信息的?;蛘哒埱笕缓笤\斷服務(wù)動作的完成不需要任何應(yīng)答信息。(及時到達(dá)一個點(diǎn)會促使一個應(yīng)答信息的發(fā)送)i)所有(0x3E)請求信息,在服務(wù)器處理另外一條請求信息期間接收的話,都會被服務(wù)器忽略.因?yàn)樗呀?jīng)停止了定時器,并且在服務(wù)處理完之后重啟。6.53.5.。13。2物理地址(0x3E)信息圖6描述了非默認(rèn)會話期間客戶機(jī)與服務(wù)器物理通信的定時處理。以及使用物理地址(0x3E)請求信息需要服務(wù)器返回應(yīng)答信息以保持在沒有其它診斷服務(wù)的時候診斷會話的持續(xù)。圖6——非默認(rèn)會話期間的物理通信-一物理地址a)客戶端診斷應(yīng)用層通過發(fā)送N_USData。req至網(wǎng)絡(luò)層,傳遞診斷會話控制(0x10)請求信息.網(wǎng)絡(luò)層傳遞該請求信息至服務(wù)器。b)請求信息是單幀信息。它的完成通過客戶端N_USData。con指示。6。3.5。1。1和6.3.5。1.2描述的應(yīng)答定時適用于此??蛻舳水a(chǎn)生的N_USData.con不會促使定時器開啟(會話定時器)。這與使用功能地址不同,使用功能地址會周期性發(fā)送(0x3E)信息保持診斷會話一直處于激活狀態(tài)(見6。3。5。3。1)。c)服務(wù)器通過N_USData。ind指示請求信息的完成。6.3。5.1。1和6.3。5。1。2描述的應(yīng)答定時適用于此.d)圖上給出,假定客戶機(jī)需要服務(wù)器一個應(yīng)答.服務(wù)器應(yīng)當(dāng)發(fā)送診斷會話控制(0x10)的肯定應(yīng)答信息。e)服務(wù)器通過N_USData。con指示應(yīng)答信息發(fā)送的完成.然后服務(wù)器開啟定時器,只要它不超時,它就一直處于非默認(rèn)狀態(tài).客戶機(jī)通過N_USData.ind指示診斷會話控制(0x10)的接收。這將促使的開戶客戶機(jī)負(fù)責(zé)保證定時器在它超時之前復(fù)位,以保證服務(wù)器處于非默認(rèn)會話狀態(tài)。啟。f)客戶機(jī)任何時候發(fā)送一條請求信息至服務(wù)器(包括(0x3E)信息),它都會停止。g)接收到請求信息的單幀或首幀,服務(wù)器都停止定時器。服務(wù)器通過N_USData.ind標(biāo)識請求信息的完成.6.3。5.1.1和6.3.5。1。2描述的應(yīng)答定時適用于此。h)客戶機(jī)通過N_USData。ind指示應(yīng)答信息的完成,這促使客戶機(jī)開戶服務(wù)器通過N_USData.con指示應(yīng)答信息的完成,這促使服務(wù)器開啟。還有一種客戶機(jī)不需要應(yīng)答的情況,客戶機(jī)接收到網(wǎng)絡(luò)層N_USData.con確認(rèn)標(biāo)識請求信息發(fā)送完時,開啟,服務(wù)器完成請求的動作時,開啟,為簡單起見,圖中顯示的是需要應(yīng)答的情況。i)如果客戶機(jī)在超時之前,沒有發(fā)送任何診斷請求信息,這促使客戶機(jī)在超時時,發(fā)送一條物理地址(0x3E)請求信息。j)服務(wù)器通過N_USDataoind指示(0x3E)請求信息的接收.這促使服務(wù)器停止定時器.6.3.5.1.1和6.3.5.1.2描述的應(yīng)答定時適用于此.k)客戶機(jī)通過N_USData。ind指示(0x3E)應(yīng)答信息的完成,這促使客戶機(jī)開啟,服務(wù)器通過N_USData。con指示(0x3E)應(yīng)答信息的完成,這促使服務(wù)器開啟。還有一種客戶機(jī)不需要應(yīng)答的情況,客戶機(jī)接收到網(wǎng)絡(luò)層N_USData.con(0x3E)標(biāo)識請求信息發(fā)送完時,開啟,服務(wù)器完成請求的動作時,開啟,為簡單起見,圖中顯示的是需要應(yīng)答的情況。6。3。5.2功能通信6.3.5。2.1默認(rèn)會話期間的功能通信圖7描述了默認(rèn)會話期間,一個客戶機(jī)與2個服務(wù)器功能地址請求信息的定時處理。從服務(wù)器角度看,這與物理地址請求信息的定時處理沒什么區(qū)別。但是客戶機(jī)對定時的處理就與物理通信不同。圖7——默認(rèn)會話期間的功能通信a)客戶端診斷應(yīng)用層通過發(fā)送N_USData。req至網(wǎng)絡(luò)層開始發(fā)送功能地址請求信息。網(wǎng)絡(luò)層傳遞該請求信息至服務(wù)器。功能地址請求信息只能是單幀信息。b)客戶機(jī)通過N_USData。con指示請求信息的完成。當(dāng)接到N_USData.con時,客戶機(jī)啟動定時器,使用默認(rèn)的重置值。該定時器的值應(yīng)當(dāng)考慮到車載網(wǎng)絡(luò)設(shè)計上(通信網(wǎng)關(guān),總線帶寬,等)所有的延時。為了簡單化,該圖假定客戶機(jī)和服務(wù)器在一條總線上。c)服務(wù)器通過N_USData.ind指示請求信息的完成。d)功能地址服務(wù)器在接收到N_USData.ind后,要求在時間內(nèi)發(fā)送應(yīng)答信息。也就是說,在多幀回復(fù)信息條件下,首幀必須在時間內(nèi)發(fā)送,對于單幀回復(fù)信息,該單幀必須在時間內(nèi)回復(fù)。e)在多幀應(yīng)答信息情況下,客戶機(jī)通過網(wǎng)絡(luò)層N_USDataFFoind指示首幀的接收。當(dāng)接收到首幀時,客戶機(jī)停止定時器。f)當(dāng)接收到首幀/單幀指示接下來的應(yīng)答信息,客戶端要么知道服務(wù)器即將應(yīng)答或已經(jīng)應(yīng)答過了,則停止,要么不是所有服務(wù)器應(yīng)答或它不知道服務(wù)器即將應(yīng)答(客戶機(jī)等待進(jìn)一步的應(yīng)答信息)時,重啟。如果完整信息接收到或者在接收過程中產(chǎn)生了一個錯誤,網(wǎng)絡(luò)層產(chǎn)生最后結(jié)果N_USData.ind。對多幀信息的最后一個N_USData.ind不對定時器產(chǎn)生影響。g)服務(wù)器通過N_USData。con指示應(yīng)答信息發(fā)送的完成。、6。5。3.2.2默認(rèn)會話期間擴(kuò)展應(yīng)答定時的功能通信圖8描述了默認(rèn)會話期間客戶機(jī)與2個服務(wù)器功能地址請求信息的定時操作。這里一個服務(wù)器通過應(yīng)答碼為0x78的否定應(yīng)答請求一個擴(kuò)展的應(yīng)答定時。從服務(wù)器角度看,這與物理地址請求信息的定時處理沒什么區(qū)別。但是客戶機(jī)對定時的處理就與物理通信不同。圖8——默認(rèn)會話期間功能通信一一擴(kuò)展的應(yīng)答定時a)客戶端診斷應(yīng)用層通過發(fā)送N_USDataoreq至網(wǎng)絡(luò)層開始發(fā)送功能地址請求信息.網(wǎng)絡(luò)層傳遞該請求信息至服務(wù)器。功能地址請求信息只能是單幀信息。b)客戶機(jī)通過N_USData.con指示請求信息的完成。當(dāng)接到N_USData.con時,客戶機(jī)啟動定時器,使用默認(rèn)的重置值。該定時器的值應(yīng)當(dāng)考慮到車載網(wǎng)絡(luò)設(shè)計上(通信網(wǎng)關(guān),總線帶寬,等)所有的延時。為了簡單化,該圖假定客戶機(jī)和服務(wù)器在一條總線上。c)服務(wù)器通過N_USData.ind指示請求信息的完成。d)功能地址服務(wù)器在接收到N_USData°ind后,要求在時間內(nèi)發(fā)送應(yīng)答信息。也就是說,在多幀回復(fù)信息條件下,首幀必須在時間內(nèi)發(fā)送,對于單幀回復(fù)信息,該單幀必須在時間內(nèi)回復(fù).服務(wù)器在給定的時間內(nèi)無法提供請求的信息時,它可以通過發(fā)送應(yīng)答碼為0x78的否定應(yīng)答信息請求擴(kuò)展的定時窗。e)客戶端接收到否定應(yīng)答信息時,客戶端網(wǎng)絡(luò)層產(chǎn)生一個N_USData.ind。接收到應(yīng)答碼為0x78的否定應(yīng)答信息,客戶端重置它的定時器,但使用的是擴(kuò)展的重載的定時值。并且,客戶端應(yīng)當(dāng)在掛起應(yīng)答信息列表存儲一個服務(wù)器標(biāo)識.一旦在存儲在客戶端掛起的服務(wù)器開始它最后結(jié)果應(yīng)答信息(肯定或否定應(yīng)答信息包括應(yīng)答碼為0x78的應(yīng)答),它將從掛起應(yīng)答信息列表中刪除。當(dāng)無任何應(yīng)答信息掛起時,客戶端重新為使用默認(rèn)的重載值。為簡單化,圖中,顯示了從服務(wù)器#1的僅一個應(yīng)答碼為0x78的否定應(yīng)答。f)只要至少有一個服務(wù)器在客戶機(jī)端掛起時,從任一服務(wù)器端任何進(jìn)一步的應(yīng)答信息,都會促使定時器使用擴(kuò)展的值重啟(見圖9,該圖顯示了當(dāng)客戶機(jī)接收到第二個服務(wù)器應(yīng)答信息開始的情況)。g)至于物理的通信,服務(wù)器請求擴(kuò)展的應(yīng)答定時要求在擴(kuò)展的時間()內(nèi),應(yīng)答信息。一旦服務(wù)器能提供請求的信息,它就通過發(fā)送N_USData°req至網(wǎng)絡(luò)層開啟最后結(jié)果應(yīng)答信息。如果服務(wù)器仍然不能在擴(kuò)展的時間內(nèi)提供請求的信息,它將繼續(xù)發(fā)送應(yīng)答碼為0x78的否定應(yīng)答信息。這會促使客戶機(jī)再次重啟定時器,使用擴(kuò)展的重載值。已經(jīng)存儲在客戶端掛起應(yīng)答信息列表中,服務(wù)器端包含應(yīng)答碼為0x78的否定應(yīng)答信息不影響客戶端該信息列表。h)如6.3。5。2.1,在多幀應(yīng)答信息情況下,從任一服務(wù)器端接收的首幀,客戶機(jī)都是通過網(wǎng)絡(luò)層N_USDataFF.ind指示的。單幀應(yīng)答信息通過N_USData。ind指示。當(dāng)接收到首幀/單幀指示接下來的應(yīng)答信息,客戶端要么知道服務(wù)器即將應(yīng)答或已經(jīng)應(yīng)答過了,則停止,要么不是所有服務(wù)器應(yīng)答或它不知道服務(wù)器即將應(yīng)答(客戶機(jī)等待進(jìn)一步的應(yīng)答信息)時,重啟。i)如果完整信息接收到或者在接收過程中產(chǎn)生了一個錯誤,網(wǎng)絡(luò)層產(chǎn)生最后結(jié)果N_USData.ind.這對定時器不影響。而且適用掛起應(yīng)答信息列表的處理。j)服務(wù)器通過N_USData。con指示完成發(fā)送。6。3。5.2.3非默認(rèn)會話期間的功能通信圖9非默認(rèn)會話期間的功能通信圖9描述了非默認(rèn)會話期間客戶機(jī)與2個服務(wù)器功能地址請求信息的定時操作.這里一個服務(wù)器通過應(yīng)答碼為0x78的否定應(yīng)答請求一個擴(kuò)展的應(yīng)答定時.從服務(wù)器角度看,a)客戶端診斷應(yīng)用層通過發(fā)送N_USData。req至網(wǎng)絡(luò)層開始功能地址診斷會話控制(0x10)的發(fā)送。網(wǎng)絡(luò)層傳遞該請求信息至服務(wù)器。請求信息是單幀。b)客戶端通過N_USData.con指示請求信息的完成。6.3.5。1.1和6.3。5.1。2描述的應(yīng)答定時適用于此.除此之外,客戶端產(chǎn)生的N_USData。con促使定時器開啟(會話定時器).c)服務(wù)器通過N_USData。ind指示請求信息的完成。6。3.5.1.1和6。3.5.1。2描述的應(yīng)答定時適用于此。d)圖上給出,假定客戶機(jī)需要服務(wù)器一個應(yīng)答。服務(wù)器應(yīng)當(dāng)發(fā)送診斷會話控制(0x10)的肯定應(yīng)答信息。e)服務(wù)器通過N_USData。con指示肯定應(yīng)答信息發(fā)送的完成。然后服務(wù)器開啟定時器,只要它不超時,它就一直處于非默認(rèn)狀態(tài)??蛻魴C(jī)負(fù)責(zé)保證定時器在它超時之前復(fù)位,以保證服務(wù)器處于非默認(rèn)會話狀態(tài)。f)一旦客戶機(jī)開啟了定時器,這會促使不需應(yīng)答信息的功能地址(0x3E)請求信息的發(fā)送。每一次發(fā)送的時機(jī)都是在超時時發(fā)送。g)在網(wǎng)絡(luò)層通過N_USData.con指示(0x3E)請求信息傳遞完成之后,客戶機(jī)再次啟動定時器。這就是說,功能地址請求信息是在每一次定時超時之后,周期性發(fā)送的.h)服務(wù)器在處理診斷服務(wù)的任何時間內(nèi),它都停止定時器。i)當(dāng)診斷服務(wù)處理完之后,服務(wù)器重啟定時器.這就是說,診斷服務(wù),包括(0x3E),都重置定時器。診斷服務(wù)是在接收到請求信息(N_USDataFFoind或者N_USDataoind服務(wù))與完成最后結(jié)果應(yīng)答這個期間內(nèi)處理的。這里是需要一條應(yīng)答信息的。或者請求然后診斷服務(wù)動作的完成不需要任何應(yīng)答信息.(及時到達(dá)一個點(diǎn)會促使一個應(yīng)答信息的發(fā)送)j)所有(0x3E)請求信息,在服務(wù)器處理另外一條請求信息期間接收的話,都會被服務(wù)器忽略。因?yàn)樗呀?jīng)停止了定時器,并且在服務(wù)處理完之后重啟。與定時處理與6.3.5。1。1和6.3.5.1.2小節(jié)中描述的處理方法相同。唯一的區(qū)別是客戶端重置的值及服務(wù)器端發(fā)送結(jié)果應(yīng)答時間會有不同.這是由于轉(zhuǎn)變到另一會話層而不是使用默認(rèn)會話層,因此使用的是不同的的值(見9。2。1節(jié)診斷會話控制(0x10)服務(wù)對定時參數(shù)更詳細(xì)的描述。)6。3。5。3客戶機(jī)請求信息最小時間為服務(wù)器輪詢的服務(wù)數(shù)據(jù)的解讀,這對客戶機(jī)請求信息發(fā)送的最小間隔時間有要求的。例如,基于標(biāo)準(zhǔn)的功能,服務(wù)器可能處理診斷請求信息以預(yù)定的速率(例如10ms)。診斷服務(wù)數(shù)據(jù)解讀預(yù)定時間應(yīng)當(dāng)比運(yùn)行要求時間短,以滿足6。3。5和6。3。5.1.2對服務(wù)器要求.請求信息間隔時間的最小定時參數(shù)分為如下兩個定時參數(shù)?!?該定時參數(shù)適用于所有功能地址請求信息,因?yàn)樗诓恢С謶?yīng)答數(shù)據(jù)的情況下,服務(wù)器不要求響應(yīng)功能地址請求信息?!?該定時參數(shù)適用于不需服務(wù)器應(yīng)答的物理地址請求信息。(suppressPosRspMsgIndicationBit=TRUE)。物理通信在需要服務(wù)器應(yīng)答的情況下,客戶端可以在接收到最后一條應(yīng)答信息的時候立即發(fā)送下一個請求,因?yàn)榉?wù)器在完成最后結(jié)果應(yīng)答時一一意味著該請求已被服務(wù)器完全處理完了。圖10描述了功能通信期間出現(xiàn)一個問題的例子。當(dāng)客戶機(jī)在它確認(rèn)所有期望的服務(wù)器都對先前做了應(yīng)答時,立即發(fā)送下一個請求信息.該情景不僅適用于功能地址請求也適用于物理地址請求,這里客戶機(jī)不需接受任何應(yīng)答信息(suppressPosRspMsgIndicationBit=TRUE)為了處理上述情況,在一條物理或功能地址請求信息與新的物理或功能地址請求信息之間,最小時間和需要為客戶機(jī)定義。a)的值與物理地址的服務(wù)器的值相同.該定時適用于所有診斷會話(默認(rèn)的或非默認(rèn)的)的所有物理地址請求信息而且所有情況下,都不需要服務(wù)器應(yīng)答。客戶機(jī)每次啟動定時,都發(fā)送一條不需應(yīng)答的物理地址請求信息到總線上,并且,網(wǎng)絡(luò)層通過N_USData。con指示。當(dāng)客戶機(jī)在先前請求信息完全處理完之后,想要發(fā)送新的物理地址請求信息時,這只有在定時器不處于活動的情況下.客戶端在發(fā)送一條新的物理地址請求信息的時刻,啟動。然后信息的發(fā)送要等到超時。b)的值是所有功能地址服務(wù)器,所有診斷會話(默認(rèn)的或非默認(rèn)的),所有功能地址請求信息的最大值(最壞情況)。客戶端每次開啟定時器,都發(fā)送不需應(yīng)答的功能地址請求信息到總線上,并且客戶端網(wǎng)絡(luò)層通過N_USData。con指示。當(dāng)客戶機(jī)在先前請求信息完全處理完之后,想要發(fā)送新的物理地址請求信息時,這只有在定時器不處于活動的情況下??蛻舳嗽诎l(fā)送一條新的物理地址請求信息的時刻,啟動。然后信息的發(fā)送要等到超時。注意:“完全處理完”就是說要么不需應(yīng)答時沒有接收到任何應(yīng)答,要么所有期待的應(yīng)答都接受到了.應(yīng)答的服務(wù)器知道并且要求應(yīng)答,或者服務(wù)器不知道并且要求應(yīng)答時出現(xiàn)超時。對服務(wù)器的要求是它應(yīng)當(dāng)在(見圖7。3)時間內(nèi)應(yīng)答信息,這就是說,診斷信息的解讀時間應(yīng)當(dāng)短于。圖10—-發(fā)送下一條請求太早的例子a)客戶端診斷應(yīng)用層通過發(fā)送N_USData.req功能地址請求信息到網(wǎng)絡(luò)層。網(wǎng)絡(luò)層傳遞信息到服務(wù)器。b)客戶端通過NUSData.con只是請求信息的完成??蛻魴C(jī)使用默認(rèn)的值開啟定時器。c)服務(wù)器通過N_USData°ind指示請求信息的完成.服務(wù)器使用默認(rèn)的值開啟定時器。d)對于請求的信息,假定只有服務(wù)器#1支持請求信息,也就是說服務(wù)器#2不會應(yīng)答信息。服務(wù)器#1是快速服務(wù)器,能很快處理完請求的信息并在時間內(nèi)發(fā)送應(yīng)答信息。e)客戶機(jī)接收到應(yīng)答信息.這通過N_USData°ind指示??蛻魴C(jī)僅僅期待服務(wù)器#1的應(yīng)答信息,因此它停止定時器。f)服務(wù)器#2是慢速服務(wù)器,并且在一段時間內(nèi)(診斷服務(wù)數(shù)據(jù)解讀時間)解讀請求信息,最壞的情況下,在網(wǎng)絡(luò)層接收到請求信息之前進(jìn)行了最后一次請求的信息檢查。這就是說,請求會存儲在一個緩沖區(qū)并且在檢查請求信息的例程時執(zhí)行。當(dāng)服務(wù)器#2處理該條請求時,它確定了它不需要應(yīng)答,因?yàn)樗恢С衷摋l請求信息。如圖所示,這有可能在服務(wù)器#1完成應(yīng)答信息之后或是在客戶機(jī)下一條請求信息之后發(fā)生.g)客戶機(jī)在所有期待的應(yīng)答信息完成之后,會立即發(fā)送下一條請求。h)服務(wù)器通過N_USData.ind指示請求信息的完成。但僅僅在快速服務(wù)器#1中進(jìn)行,因?yàn)樵诜?wù)器#2不處理最近一條信息。i)客戶機(jī)新的請求的完成通過N_USData.con指示。圖11描述了客戶機(jī)(基于圖10說明的通信情況)定時處理。除此之外圖11顯示了客戶機(jī)功能地址(0x3E)的請求。在超時且活動時(請求將等待超時)。圖11——功能地址請求信息間隔時間最小值()a)客戶端診斷應(yīng)用層通過發(fā)送N_USData.req至網(wǎng)絡(luò)層開始發(fā)送功能地址請求信息。網(wǎng)絡(luò)層傳遞請求只服務(wù)器。b)客戶端通過N_USData.con指示請求信息的完成.客戶機(jī)開啟定時器并且開啟定時器。c)服務(wù)器通過N_USData.ind指示請求信息的完成。d)對于請求的信息,假定只有服務(wù)器#1支持請求信息,也就是說服務(wù)器#2不會應(yīng)答信息。服務(wù)器#1是快速服務(wù)器,能很快處理完請求的信息并在時間內(nèi)發(fā)送應(yīng)答信息。e)客戶機(jī)接收到應(yīng)答信息.這通過N_USData°ind指示。客戶機(jī)僅僅期待服務(wù)器#1的應(yīng)答信息,因此它停止定時器。f)服務(wù)器#2是慢速服務(wù)器,并且在一段時間內(nèi)(診斷服務(wù)數(shù)據(jù)解讀時間)解讀請求信息,最壞的情況下,在網(wǎng)絡(luò)層接收到請求信息之前進(jìn)行了最后一次請求的信息檢查。這就是說,請求會存儲在一個緩沖區(qū)并且在檢查請求信息的例程時執(zhí)行。當(dāng)服務(wù)器#2處理該條請求時,它確定了它不需要應(yīng)答,因?yàn)樗恢С衷摋l請求信息。g)盡管客戶機(jī)接收到了功能地址請求信息所有期待的應(yīng)答信息,它仍要等待超時之后才允許發(fā)送下一條請求信息.在超時的時刻,客戶機(jī)發(fā)送下一條請求信息。h)新的請求信息服務(wù)器中通過N_USData.ind指示。并服務(wù)器#1立即處理,而服務(wù)器#2下一次檢查請求信息例程中處理該請求。i)客戶機(jī)通過N_USData。con指示新的請求的完成,并且開啟定時器.j)對于請求的信息,假定只有服務(wù)器#1支持請求信息,也就是說服務(wù)器#2不會應(yīng)答信息。服務(wù)器#1是快速服務(wù)器,能很快處理完請求的信息并在時間內(nèi)發(fā)送應(yīng)答信息。k)客戶機(jī)接收到應(yīng)答信息。這通過N_USData°ind指示??蛻魴C(jī)僅僅期待服務(wù)器#1的應(yīng)答信息,因此它停止定時器。l)服務(wù)器#2是慢速服務(wù)器,并且在一段時間內(nèi)(診斷服務(wù)數(shù)據(jù)解讀時間)解讀請求信息,最壞的情況下,在網(wǎng)絡(luò)層接收到請求信息之前進(jìn)行了最后一次請求的信息檢查。這就是說,請求會存儲在一個緩沖區(qū)并且在檢查請求信息的例程時執(zhí)行.當(dāng)服務(wù)器#2處理該條請求時,它確定了它不需要應(yīng)答,因?yàn)樗恢С衷摋l請求信息.m)客戶機(jī)定時器超時,促使客戶機(jī)發(fā)送不需服務(wù)器應(yīng)答的功能地址(0x3E)請求信息.在這種情況下,此時仍然活動著,(0x3E)的發(fā)送應(yīng)當(dāng)?shù)匠瑫r時發(fā)送。n)當(dāng)定時器超時的時候,客戶機(jī)可以通過N_USData.req發(fā)送功能地址(0x3E)請求。o)服務(wù)器通過N_USData。ind指示(0x3E)請求信息的接收.p)客戶機(jī)通過N_USData。con指示(0x3E)請求的完成,并啟動定時器。圖12描述了客戶機(jī)定時器的操作.該圖顯示了不需應(yīng)答的物理地址請求的發(fā)送操作及超時時功能地址(0x3E)請求信息。圖12——物理地址通信間隔最短時間a)客戶端診斷應(yīng)用層通過發(fā)送N_USData°req至網(wǎng)絡(luò)層開始發(fā)送物理地址請求信息.網(wǎng)絡(luò)層傳遞請求只服務(wù)器。b)客戶端通過N_USData.con指示請求信息的完成??蛻魴C(jī)開啟定時器。由于不需要應(yīng)答信息,因此,客戶機(jī)不需要開啟定時器.c)服務(wù)器通過N_USData.ind指示請求信息的完成。在任何非默認(rèn)會話期間,定時器此刻是停止的。d)服務(wù)器在一定時期內(nèi)(診斷服務(wù)數(shù)據(jù)解讀時間)解讀請求.在下一次檢查請求例程中請求被處理。在非默認(rèn)會話期間,服務(wù)的完全執(zhí)行會重置定時器.e)客戶機(jī)定時器超時,促使客戶機(jī)發(fā)送功能地址(0x3E)請求信息,不需服務(wù)器的應(yīng)答。f)假定定時器此時沒有活動,也就是說請求被立即發(fā)送。g)客戶機(jī)通過N_USData。con指示(0x3E)請求信息的完成.h)服務(wù)器通過N_USData.ind指示(0x3E)請求信息得接收。此刻,先前接收到的物理請求仍然在服務(wù)器端掛起(還沒有處理)并且定時器停止.因此,接收到的(0x3E)請求信息會被服務(wù)器忽略。i)當(dāng)定時器在客戶機(jī)超時,客戶機(jī)會通過發(fā)送N_USData°req發(fā)送下一條物理地址請求信息至網(wǎng)絡(luò)層。j)客戶機(jī)通過N_USData.con指示物理地址請求信息的完成??蛻魴C(jī)現(xiàn)在重新開啟定時器。由于不需應(yīng)答信息,因此客戶端不啟動定時器。k)服務(wù)器通過N_USData.ind指示請求信息的完成。在任何非默認(rèn)會話情況下,定時器此刻停止。6.3。5.4主動提供的應(yīng)答信息服務(wù)器主動提供的應(yīng)答信息要么是周期性例程(見服務(wù)ReadDataByPeriodicldentifierin9.3.4)或者配置引發(fā)的,例如DTC狀態(tài)的變化或者一個日期標(biāo)識的改變(見服務(wù)ResponseOnEventin9。2。8)。所有主動提供的應(yīng)答信息服務(wù)器都不應(yīng)當(dāng)重啟定時器。這在周期性信息傳輸或者時間觸發(fā)的事件中時間的時間間隔比短的情況下,有效避免了診斷會話的鎖死.定時器只應(yīng)當(dāng)在處理一條請求信息并發(fā)送最后結(jié)果應(yīng)答信息(例如,初始肯定應(yīng)答指示一個請求成功執(zhí)行)的時候被重置.6。3。6出錯的處理應(yīng)用層以及客戶機(jī)和服務(wù)器在物理通信、功能通信期間的會話管理出錯的處理應(yīng)當(dāng)按照表7、表8。假定客戶機(jī)和服務(wù)器都按照該部分15765協(xié)議進(jìn)行應(yīng)用層及會話層的定時處理。表7客戶機(jī)錯誤處理通信階段客戶端錯誤類型客戶機(jī)處理物理通信功能通信請求發(fā)送網(wǎng)絡(luò)層的N_USData。con指示否定結(jié)果值客戶機(jī)在時間之后,有出錯指示,應(yīng)當(dāng)重發(fā)最后的請求重啟(由于在請求發(fā)送時停止了)客戶機(jī)在時間之后,有出錯指示,應(yīng)當(dāng)重發(fā)最后的請求超時客戶機(jī)重新發(fā)送最近的請求信這里客戶機(jī)不知道多少服務(wù)器應(yīng)息。重啟(由于在請求發(fā)送時停止了)答,這就是指示客戶機(jī)不再有應(yīng)答信息了。不用再重復(fù)請求信息了??蛻魴C(jī)在進(jìn)一步請求之前,應(yīng)當(dāng)完全接受到所有的應(yīng)答信息。這里客戶機(jī)知道有多少服務(wù)器應(yīng)答,這就是指示客戶機(jī)不是所有的服務(wù)器都應(yīng)答??蛻魴C(jī)在完全接收到所有應(yīng)答信息之時發(fā)生了超時,應(yīng)當(dāng)重新請求信息.應(yīng)答接收N_USData.ind網(wǎng)絡(luò)層否定結(jié)果值客戶機(jī)重新發(fā)送最近的請求信息.重啟(由于在請求發(fā)送時停止了)客戶機(jī)在完全接收到所有應(yīng)答信息之時,出錯,應(yīng)當(dāng)重新請求發(fā)送信息??蛻魴C(jī)出錯處理運(yùn)行最多2次,也就是說,最壞情況下,請求服務(wù)的發(fā)送只能是3次。通信階段服務(wù)器錯誤類型處理請求接收網(wǎng)絡(luò)層N_USData。ind指示否定結(jié)果值重啟定時器(由于它在接收到先前首幀指示時停止了),服
務(wù)器應(yīng)當(dāng)忽略該請求。超時N/A應(yīng)答發(fā)送通信階段服務(wù)器錯誤類型處理請求接收網(wǎng)絡(luò)層N_USData。ind指示否定結(jié)果值重啟定時器(由于它在接收到先前首幀指示時停止了),服
務(wù)器應(yīng)當(dāng)忽略該請求。超時N/A應(yīng)答發(fā)送網(wǎng)絡(luò)層N_USData.ind指示否定結(jié)果值重啟定時器(由于它在接收到先前的請求信息時停止了)。
服務(wù)器不應(yīng)當(dāng)重新發(fā)送該應(yīng)答信息。表8——服務(wù)器出錯處理7網(wǎng)絡(luò)層接該部分的ISO15765協(xié)議使用ISO1576502定義的網(wǎng)絡(luò)層服務(wù)進(jìn)行診斷信息的收發(fā)。本節(jié)定義應(yīng)用層協(xié)議數(shù)據(jù)單元(A_PDU)到網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元(N_PDU)的映射。注意:網(wǎng)絡(luò)層的服務(wù)用語應(yīng)用層及診斷會話管理的定時.(見6.3)7.2流控N_PCI參數(shù)定義客戶機(jī)Stmin參數(shù)不應(yīng)該使用0xF1-0xF9的值。這些Stmin參數(shù)值應(yīng)汽車制造商要求服務(wù)器應(yīng)當(dāng)支持。7。3信息發(fā)送的A_PDU到N_PDU的映射應(yīng)用層協(xié)議數(shù)據(jù)單元的參數(shù)按照下表9所示映射到網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元。它用于定義客戶機(jī)/服務(wù)器診斷服務(wù)信息的請求/應(yīng)答。網(wǎng)絡(luò)層向應(yīng)用層的(N_USData.con)成功發(fā)送確認(rèn)服務(wù).應(yīng)用層是需要這項服務(wù),因?yàn)樗枰谡埱?應(yīng)答完成時立即進(jìn)行另外的動作(例如ECU重啟,波特率調(diào)整等)。表9ServiceName。request/ServiceName。responseA_PDU到N_USData.requestN_PDUA_PDU參數(shù)(應(yīng)用層協(xié)議數(shù)據(jù)單元)說明N_PDU參數(shù)(應(yīng)用層協(xié)議數(shù)據(jù)單元)說明A_SA應(yīng)用層源地址N_SA網(wǎng)絡(luò)層源址A_TA應(yīng)用層目標(biāo)地址N_TA網(wǎng)絡(luò)層目標(biāo)地址A_Tatype應(yīng)用層目標(biāo)地址類型N_Tatype網(wǎng)絡(luò)層目標(biāo)地址類型A_RA應(yīng)用層遠(yuǎn)程地址N_AE網(wǎng)絡(luò)層地址擴(kuò)展A_PCI.SI應(yīng)用層協(xié)議控制信息服務(wù)代碼N_Data[0]網(wǎng)絡(luò)層數(shù)據(jù)A_Data[0]—A_Data[n應(yīng)用層數(shù)據(jù)N_Data[1]N_Data[n+1網(wǎng)絡(luò)層數(shù)據(jù)7。4信息接收的N_PDU到A_PDU的映射網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元的參數(shù)按照下表9所示映射到應(yīng)用層協(xié)議數(shù)據(jù)單元。用于定義接收到的診斷請求/應(yīng)答的確認(rèn)/指示。網(wǎng)絡(luò)層對接收到首幀N_PDU(N_USDataFirstFrame.ind)時指示不直接到應(yīng)用層,因?yàn)樗鼉H僅用于應(yīng)用層定時(見6.3)。因此沒有N_USDataFirstFrame。inN_PDU到A_PDU的映射的定義.N_PDU參數(shù)(應(yīng)用層協(xié)
N_PDU參數(shù)(應(yīng)用層協(xié)
議數(shù)據(jù)單元)說明A-PDU參數(shù)(應(yīng)用層協(xié)議數(shù)
據(jù)單元)說明N_SA網(wǎng)絡(luò)層源址A_SA應(yīng)用層源地址N_TA網(wǎng)絡(luò)層目標(biāo)地址A_TA應(yīng)用層目標(biāo)地址N_Tatype網(wǎng)絡(luò)層目標(biāo)地址類型A_Tatype應(yīng)用層目標(biāo)地址類型N_AE網(wǎng)絡(luò)層地址擴(kuò)展A_RA應(yīng)用層遠(yuǎn)程地址N_Data[0]網(wǎng)絡(luò)層數(shù)據(jù)A_PCI.SI應(yīng)用層協(xié)議控制信息服務(wù)
代碼N_Data[1]N_Data[n+1網(wǎng)絡(luò)層數(shù)據(jù)A_Data[0]-A_Data[n應(yīng)用層數(shù)據(jù)表10 N_USData.indN_PDU到ServiceName.conf/ServiceName.indA_PDU的映射8標(biāo)準(zhǔn)的診斷CAN標(biāo)識8。1法規(guī)OBD的11位CAN標(biāo)識法規(guī)OBD的11位CAN標(biāo)識也用于擴(kuò)展的CAN診斷(例如功能請求CAN標(biāo)識能用于功能地址(0x3E)請求信息保持非默認(rèn)會話處于激活狀態(tài).)如果ISO15765—4說明的11位的CAN標(biāo)識在擴(kuò)展的診斷中重新使用,適用如下要求:a)ISO15765-4協(xié)議的網(wǎng)絡(luò)層定時參數(shù)同樣適用于擴(kuò)展的診斷;b)DLC(CAN數(shù)據(jù)長度碼)應(yīng)當(dāng)設(shè)置為8并且CAN幀應(yīng)當(dāng)包含8字節(jié)(未使用的字節(jié)也應(yīng)當(dāng)填充);注意:ISO15765-4允許最大8OBD相關(guān)服務(wù)器,為8個服務(wù)器定義了11位CAN標(biāo)識。8。2法規(guī)29位OBD的CAN標(biāo)識法規(guī)的29位CAN標(biāo)識應(yīng)按照ISO15765-2說明的標(biāo)準(zhǔn)固定的地址格式,同樣能用于擴(kuò)展的診斷。如果ISO15765-4說明的29位的CAN標(biāo)識在擴(kuò)展的診斷中重新使用,適用如下要求:a)ISO15765—4協(xié)議的網(wǎng)絡(luò)層定時參數(shù)同樣適用于擴(kuò)展的診斷;b)DLC(CAN數(shù)據(jù)長度碼)應(yīng)當(dāng)設(shè)置為8并且CAN幀應(yīng)當(dāng)包含8字節(jié)(未使用的字節(jié)也應(yīng)當(dāng)填充);注意:表中給出的CAN標(biāo)識符按照ISO15765—2協(xié)議優(yōu)先級信息使用默認(rèn)的值。8。3擴(kuò)展的診斷29位CAN標(biāo)識8.3。1概述本部分說明使用29位CAN標(biāo)識的標(biāo)準(zhǔn)地址及路由的概念.主要使用了最流行的網(wǎng)絡(luò)協(xié)議(IP)的握手機(jī)制。因此地址及路由的算法可用于不同子網(wǎng)位置的節(jié)點(diǎn)的通信及路由。準(zhǔn)地址及路由的概念遵循如下的特征:——網(wǎng)絡(luò)結(jié)構(gòu)最靈活的設(shè)計操作——完全定制的網(wǎng)絡(luò)及節(jié)點(diǎn)地址——CAN控制器硬件過濾特征通過分配合適的網(wǎng)絡(luò)及節(jié)點(diǎn)地址優(yōu)化?!W(wǎng)關(guān)需要知道與它連接的子網(wǎng)的網(wǎng)絡(luò)地址,而不需要所有子網(wǎng)成員的地址。下面描述了CAN標(biāo)識符結(jié)構(gòu)的技術(shù)細(xì)節(jié),包括地址,子網(wǎng)掩碼。也包括了對路由及廣播的算法的詳細(xì)描述。8。3.229位CAN標(biāo)識符結(jié)構(gòu)本文檔描述的29位CAN標(biāo)識符結(jié)構(gòu)與如下協(xié)議是兼容的。有ISO15765-2,ISO15765—3,ISO15765—4及SAEJ1939-21.因此SAEJ1939—21定義的29位CAN標(biāo)識結(jié)構(gòu)中25位的編碼(保留/擴(kuò)展數(shù)據(jù)頁)和24位編碼(數(shù)據(jù)頁)應(yīng)當(dāng)確定該CAN標(biāo)識或CAN幀是J1939的還是ISO15765的.這對汽車網(wǎng)絡(luò)設(shè)計者根據(jù)他的需求及對SAEJ1939和ISO15765協(xié)議的使用,定制非診斷的信息及相關(guān)CAN標(biāo)識是重要的。8.3。2。1SAEJ1939的29位CAN標(biāo)識符結(jié)構(gòu)關(guān)于SAEJ193929位CAN標(biāo)識符格式見如下表11表11--SAEJ1939的CAN標(biāo)識符結(jié)構(gòu)29位CAN標(biāo)識符28、27、26252423—1615-187—0優(yōu)先級保留/擴(kuò)展數(shù)據(jù)頁數(shù)據(jù)頁P(yáng)DU格式PDU一特定域(目標(biāo)地址或PDU格式擴(kuò)展)源地址(獨(dú)有的源地址)8.3。2.2ISO15765的29位CAN標(biāo)識符結(jié)構(gòu)表12顯示了ISO15765的CAN標(biāo)識符結(jié)構(gòu)與SAEJ1939格式的區(qū)別。25位一一SAEJ1939保留/擴(kuò)展數(shù)據(jù)頁,ISO15765使用擴(kuò)展數(shù)據(jù)頁24位——SAEJ1939數(shù)據(jù)頁,ISO15765數(shù)據(jù)頁因此,ISO15765格式與SAEJ1939格式的29位CAN標(biāo)識能在同一個CAN總線上互不影響的共存。表12-—ISO15765的CAN標(biāo)識符結(jié)構(gòu)29位CAN標(biāo)識28—26252423,2221-1110—0優(yōu)先級擴(kuò)展數(shù)據(jù)頁數(shù)據(jù)頁服務(wù)類型(TOS)源地址目標(biāo)地址編碼見8.3.2。4編碼見8.3。2.5源地址(獨(dú)有的源地址)目標(biāo)地址(獨(dú)有的目標(biāo)地址)8.3.2.3優(yōu)先級域SAEJ1939定義的優(yōu)先級域用于CAN總線的仲裁機(jī)制。由于CAN標(biāo)識符不再能自由分配(源地址和目的地址包含在CAN標(biāo)識符中),CAN信息優(yōu)先級由發(fā)送者分配并間接由接收者分配。存在8種不同的優(yōu)先級。優(yōu)先級6分配至診斷請求信息/幀.8.3。2。4擴(kuò)展的數(shù)據(jù)頁及數(shù)據(jù)頁域擴(kuò)展的數(shù)據(jù)頁及數(shù)據(jù)頁位決定了使用哪一種29位的CAN標(biāo)識.見表13編碼的說明表13——擴(kuò)展數(shù)據(jù)頁及數(shù)據(jù)頁域擴(kuò)展的數(shù)據(jù)頁位25數(shù)據(jù)頁位24說明00SAEJ1939定義或廠家定義的“標(biāo)準(zhǔn)通信信息”01SAEJ1939定義或廠家定義的“標(biāo)準(zhǔn)通信信息”10SAEJ1939定義或廠家定義的“標(biāo)準(zhǔn)通信信息”11ISO15765定義的8。3。2。5服務(wù)類型(TOS)域服務(wù)類型域用于表述一個節(jié)點(diǎn)不需要分配不同地址的情況下,分配不同項服務(wù)。因此,8種不同的服務(wù)類型能同時分配給單個的目標(biāo)地址。不同服務(wù)類型的定義見表14表14——服務(wù)類型的定義(TOS)位23位22服務(wù)類型(TOS)說明00ISO保留該位組合為ISO為將來保留01OEM一定義的信息該位組合指示信息為OEM特定的,ISO15765—3及以前的協(xié)議信息能通過相同的網(wǎng)絡(luò)但不同的協(xié)議信息混合使用在一個服務(wù)器上。10網(wǎng)絡(luò)控制信息協(xié)議/網(wǎng)絡(luò)管理該位組合指示幀包含的網(wǎng)關(guān)收發(fā)數(shù)據(jù)用于支持當(dāng)前子網(wǎng)狀態(tài)的信息(例如,網(wǎng)絡(luò)無法到達(dá)/網(wǎng)絡(luò)超載)和節(jié)點(diǎn)信息(例如,主機(jī)無法到達(dá))11ISO15765—3定義的信息該位組合包含了節(jié)點(diǎn)ISO15765定義的診斷服務(wù)。CAN幀用戶數(shù)據(jù)字節(jié)包括診斷請求(ISO15765-3)使用網(wǎng)絡(luò)層服務(wù)及ISO15765-2定義的傳輸層8。3.2.6源地址源地址包含發(fā)送實(shí)體地址。該信息保證了正確仲裁以及被接收者用于回復(fù)信息。源地址結(jié)構(gòu)見8.3.3描述。8。3.2。7目標(biāo)地址目標(biāo)地址包含接收實(shí)體的地址信息.這應(yīng)是一單獨(dú)節(jié)點(diǎn),廣播地址或通用廣播.網(wǎng)關(guān)使用目標(biāo)地址決定CAN幀是否應(yīng)當(dāng)路由到另外一條CAN總線上。該目標(biāo)地址結(jié)構(gòu)見8。3。3所述。8.3.3地址結(jié)構(gòu)8。3。3.1概述目標(biāo)地址及源地址都編碼在29位CAN標(biāo)識符中,并且每個長度為11位.如下所示,字母“X”和“Y”代表可變參數(shù)。8.3.3。2地址的定義一個地址包含兩個部分a)網(wǎng)絡(luò)地址網(wǎng)絡(luò)地址部分包含第一個連續(xù)的位“X”地址并且決定了一個節(jié)點(diǎn)所在的網(wǎng)絡(luò)。同一物理總線上的節(jié)點(diǎn)應(yīng)當(dāng)分配同一個網(wǎng)絡(luò)地址。網(wǎng)絡(luò)地址部分不應(yīng)當(dāng)將所有的位置為1.因此,最小的網(wǎng)絡(luò)地址長度應(yīng)為2個位.最大長度應(yīng)為9個位因?yàn)橐驗(yàn)橹辽傩枰?個位提供固定節(jié)點(diǎn)地址。最大的子網(wǎng)數(shù)量可根據(jù)如下計算:(X代表使用到網(wǎng)絡(luò)地址的位的個數(shù))b)節(jié)點(diǎn)地址節(jié)點(diǎn)地址部分包含了地址中剩下的連續(xù)的位“Y”(Y=11-X),并決定了子網(wǎng)中具體的節(jié)點(diǎn)。在子網(wǎng)中應(yīng)當(dāng)是獨(dú)有的。所有的位都置位0或1是不允許的。所以最小節(jié)點(diǎn)地址長度為2個位,最大為9個位。子網(wǎng)中最多節(jié)點(diǎn)個數(shù)根據(jù)如下公式計算:(Y代表使用到節(jié)點(diǎn)地址的位的個數(shù))分配給節(jié)點(diǎn)獨(dú)有的地址應(yīng)當(dāng)存儲在節(jié)點(diǎn)的內(nèi)部存儲器中.一個節(jié)點(diǎn)接收目標(biāo)地址域?yàn)樵摴?jié)點(diǎn)地址的的信息。表15展示了源地址和目標(biāo)地址的一個例子.發(fā)送及接收節(jié)點(diǎn)不在同一個子網(wǎng)中。表15--源地址和目標(biāo)地址的一個例子29位CAN標(biāo)識2827262524232221111優(yōu)先級0x6ISO15765格式服務(wù)類型ISO15765信息源地址0x2ED目的地址0x32F110111101011101101011001011118.3。3。3子網(wǎng)掩碼子網(wǎng)掩碼為網(wǎng)絡(luò)地址及節(jié)點(diǎn)地址分配。子網(wǎng)掩碼長度為11位(與地址長度一致)。子網(wǎng)掩碼的值通過設(shè)置開始連續(xù)的位“X”為1分配.將網(wǎng)絡(luò)地址部分設(shè)置為1,將節(jié)點(diǎn)地址的部分設(shè)置為0.(見表16和表17發(fā)送與接收者的子網(wǎng)掩碼的例子)由于固定的子網(wǎng)掩碼長度及一開始的連續(xù)的位“X”設(shè)置為1,只有這些位置位1而不是所有位.因此需要一個短記號定義子網(wǎng)掩碼.表16——發(fā)送端子網(wǎng)掩碼例子子網(wǎng)掩碼1098765432100X7C0(短的記號/5)網(wǎng)絡(luò)地址部分節(jié)點(diǎn)地址部分11111000000表17-接收端子網(wǎng)掩碼例子子網(wǎng)掩碼1098765432100X7C0(短的記號/5)網(wǎng)絡(luò)地址部分節(jié)點(diǎn)地址部分11111100000每一個分配子網(wǎng)掩碼的節(jié)點(diǎn)都應(yīng)當(dāng)存儲在它內(nèi)部存儲器內(nèi)。相同子網(wǎng)的節(jié)點(diǎn)分配相同的子網(wǎng)掩碼.8。3。3.4網(wǎng)絡(luò)地址節(jié)點(diǎn)的網(wǎng)絡(luò)地址現(xiàn)在可以通過分配地址及子網(wǎng)掩碼計算出來。見表18和19發(fā)送者和接收者的例子決定了網(wǎng)絡(luò)地址。表18發(fā)送者網(wǎng)絡(luò)地址^地址位109876543210地址:0x2ED01011101101子網(wǎng)掩碼:/511111000000網(wǎng)絡(luò)地址:0x2C001011000000表19——接收者網(wǎng)絡(luò)地址源地址位源地址位109876543210地址:0x32F01100101111子網(wǎng)掩碼:/611111100000網(wǎng)絡(luò)地址:0x32001100100000<網(wǎng)絡(luò)層地址〉/〈短的子網(wǎng)掩碼記錄〉實(shí)例:發(fā)送端子網(wǎng):0x2C0/5接收端子網(wǎng):0x320/6該信息被網(wǎng)關(guān)用來路由.8。3。3。5廣播地址8。3.3。5.1通用廣播地址(0x7FF)通用廣播地址允許在網(wǎng)絡(luò)上所有節(jié)點(diǎn)廣播信息。為了發(fā)送一個廣播信息到整個網(wǎng)絡(luò),目標(biāo)地址必須為0x7FF(所有的位都設(shè)置為1)。包含該目標(biāo)地址的信息將會被所有網(wǎng)關(guān)路由。所有的網(wǎng)絡(luò)節(jié)點(diǎn)都應(yīng)當(dāng)接收并處理地址為0x7FF的信息.8。3.3.5.2子網(wǎng)廣播地址子網(wǎng)的廣播用于廣播信息到特定子網(wǎng)上的節(jié)點(diǎn)。為了發(fā)送一條廣播信息到某一特定子網(wǎng)上,該子網(wǎng)廣播地址應(yīng)當(dāng)計算出來。通過將目標(biāo)子網(wǎng)信息(網(wǎng)絡(luò)地址及子網(wǎng)掩碼)可實(shí)現(xiàn)。即將所有節(jié)點(diǎn)地址的部分設(shè)置為1.見表20對于接收子網(wǎng)的子網(wǎng)廣播的例子目標(biāo)地址位10目標(biāo)地址位109876543210地址:0x32F01100100000子網(wǎng)掩碼:/611111100000網(wǎng)絡(luò)地址:0x32001100111111表20 接收子網(wǎng)的子網(wǎng)廣播的例子所有的節(jié)點(diǎn)都必須接收網(wǎng)絡(luò)地址與他們自身網(wǎng)絡(luò)地址相同的信息,并且在目標(biāo)地址域節(jié)點(diǎn)地址的部分所有的位都應(yīng)設(shè)置為“1”。8。3。4信息接收每一個子網(wǎng)的節(jié)點(diǎn)都將CAN幀中目標(biāo)地址與它自己的地址相比較。如果匹配的話,包含的信息就傳遞至OSI模型相鄰的上層進(jìn)一步處理。8.3.5路由8.3。5.1概述路由適用于當(dāng)一個節(jié)點(diǎn)與另外一個節(jié)點(diǎn)不再一個子網(wǎng)上,因而CAN幀就需要從一個子網(wǎng)傳遞至另一個子網(wǎng).者通過另外的節(jié)點(diǎn),物理上連接到CAN幀接收子網(wǎng)及發(fā)送子網(wǎng)。因此,一個CAN幀從源子網(wǎng)到目的子網(wǎng),可能通過幾個網(wǎng)關(guān)8。3.5.2網(wǎng)絡(luò)及子網(wǎng)結(jié)構(gòu)大體上,網(wǎng)絡(luò)可按需求設(shè)計,需考慮如下幾個條件:一-地址應(yīng)當(dāng)是唯一的?!型蛔泳W(wǎng)的節(jié)點(diǎn)都必須使用相同的子網(wǎng)掩碼?!型蛔泳W(wǎng)的節(jié)點(diǎn)都必須使用相同的網(wǎng)絡(luò)地址?!?dāng)一個網(wǎng)絡(luò)地址分配個一個子網(wǎng)時,在那個地址范圍的網(wǎng)絡(luò)地址都不應(yīng)當(dāng)分配個其它的網(wǎng)絡(luò),因?yàn)檫@會導(dǎo)致路由問題。圖13顯示了連接到網(wǎng)關(guān)的四個子網(wǎng)的配置。3個子網(wǎng)通過一個網(wǎng)關(guān)連接的,第4個子網(wǎng)通過另外的一個網(wǎng)關(guān)連接。圖13—-網(wǎng)絡(luò)配置例子8。3。5。3網(wǎng)關(guān)及路由8。3.5。3.1說明網(wǎng)關(guān)是連接多于一個子網(wǎng)的節(jié)點(diǎn),由此能夠?qū)⒁粋€子網(wǎng)的CAN幀傳遞到另一個子網(wǎng)上。8。3。5。3.2端一個端是網(wǎng)關(guān)連接到物理子網(wǎng)的接.網(wǎng)關(guān)至少有兩個端,每一個端都分配所在子網(wǎng)的網(wǎng)絡(luò)地址及子網(wǎng)掩碼.見圖13的配置有2個網(wǎng)關(guān),網(wǎng)關(guān)1有3個接,網(wǎng)關(guān)2有2個接.8.3。5。3.3路由表為了確定一個CAN幀是否需要被路由,需要生成一張路由表并存儲在網(wǎng)關(guān)的存儲器中。路由條目包含網(wǎng)絡(luò)地址,子網(wǎng)掩碼及能到達(dá)的子網(wǎng)的端。該條目應(yīng)當(dāng)存有通過該網(wǎng)關(guān)每一個連接的子網(wǎng)(直接的或間接的).見表21所示的是圖13的網(wǎng)絡(luò)。通過對網(wǎng)絡(luò)640/6和650/6的分級設(shè)計。路由表條目縮減到一個條目640/5。表21——路由表例子子網(wǎng)(網(wǎng)絡(luò)地址/子網(wǎng)掩碼)端網(wǎng)關(guān)15/51680/52640/53網(wǎng)關(guān)25/51680/61650/61640/628。3。5.3.4路由算法連接到不同的子網(wǎng)的網(wǎng)關(guān)從端接收所有的信息。如果網(wǎng)關(guān)是一有地址的節(jié)點(diǎn),那么直接連接到該網(wǎng)關(guān)端,在所有地址范圍中只有一個地址應(yīng)當(dāng)被分配.在合適的路由算法之前,有另外的對信息接收的檢查。如果目標(biāo)地址為0x7FF,信息除了信息接收端,被復(fù)制到所有端,忽略正常的路由算法.8。3。5。3.5路由例子見圖15從地址0x51A的客戶機(jī)到地址0x642服務(wù)器CAN幀傳輸?shù)穆酚傻睦?,該例子使用?1的路由信息。在接收到該信息時,下一步如下進(jìn)行處理。a)網(wǎng)關(guān)11)CAN-ID分析:DA=0x642,見表22和表23表22-—網(wǎng)關(guān)1路由判定路由描述網(wǎng)絡(luò)端(0x642邏輯且0x7C0)=0x640!=5非本地地址路由5/51表23——網(wǎng)關(guān)1路由分析路由描述網(wǎng)絡(luò)端(0x642邏輯且0x7E0)=0x640!=680下一入680/62(0x642邏輯且0x7C0)=0x640=640正確路徑640/532)查該信息是否是發(fā)送到網(wǎng)關(guān):0x642!=0x6543)將信息送至端3b)網(wǎng)關(guān)21)CAN-ID分析:DA=0x642。見表24和表25表24--網(wǎng)關(guān)2路由判定路由描述網(wǎng)絡(luò)端(0x642和0x7C0)=0x640!=650非本地地址路由650/61表25-—網(wǎng)關(guān)2路由分析路由描述網(wǎng)絡(luò)端(0x642邏輯且0x7E0)=0x640!=640正確路徑640/622)檢查該信息是否發(fā)送到網(wǎng)關(guān):0x642!=0x6413)將信息傳遞至端2步驟:A從端“X”接收到信息1將接收信息的目標(biāo)地址與接收信息端的子網(wǎng)掩碼一位一位進(jìn)行邏輯“且”操作。2將結(jié)果與接收信息的端的網(wǎng)絡(luò)地址進(jìn)行比較。端的網(wǎng)絡(luò)地址要么存儲在節(jié)點(diǎn)存儲器內(nèi),要么通過端的地址及子網(wǎng)掩碼計算出來.如果結(jié)果與網(wǎng)絡(luò)地址相等,接收到的信息是該端子網(wǎng)的本地信息,并且不再做任何路由(B)。如果結(jié)果與端網(wǎng)絡(luò)地址不等,則需要進(jìn)行路由分析.進(jìn)行第3步.3將接收信息的目標(biāo)地址與當(dāng)前路由表入的子網(wǎng)掩碼一位一位進(jìn)行邏輯“且”操作。4將結(jié)果與當(dāng)前路由表入的網(wǎng)絡(luò)地址進(jìn)行比較。如果匹配的話,算法從步驟8繼續(xù),否則算法從步驟5繼續(xù).5如果有另外的路由表入,算法從步驟6繼續(xù),否則,不再做任何路由(B)。6選擇了下一個路由表入,算法跳到步驟3繼續(xù)。7信息的目標(biāo)地址與網(wǎng)關(guān)當(dāng)前端的地址進(jìn)行比較。該步驟只有在網(wǎng)關(guān)是一個有地址的節(jié)點(diǎn)時才需要,否則算法直接跳到步驟8.如果是網(wǎng)關(guān)當(dāng)前端的地址,算法從步驟9繼續(xù),如果目標(biāo)地址與網(wǎng)關(guān)地址不同,算法從步驟8繼續(xù)。8信息發(fā)送到路由表網(wǎng)絡(luò)地址與目標(biāo)地址匹配的入端上.9信息是發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn)上的,并由網(wǎng)關(guān)應(yīng)用層處理。B路由結(jié)束KeyDA目標(biāo)地址GWADport_X的網(wǎng)關(guān)地址NA網(wǎng)絡(luò)地址SM子網(wǎng)掩碼entry_X網(wǎng)關(guān)路由表入#乂prot_X網(wǎng)關(guān)的#X端圖14路由算法順序圖圖15——從客戶機(jī)0x51A到服務(wù)器0x642的路由的例子9診斷服務(wù)實(shí)施9。1統(tǒng)一診斷服務(wù)總覽該部分定義了ISO14229—1定義的診斷服務(wù)是如何適用于CAN的。對于每一個應(yīng)用服務(wù),都定義了可用的子功能及數(shù)據(jù)參數(shù)。注意:子功能參數(shù)的定義考慮了suppressPosRspMsgIndicatonBit參數(shù)的最高有效位。該參數(shù)在ISO14229—1中定義。表26用于提供所有統(tǒng)一診斷服務(wù)的總覽,它們適用于CAN診斷實(shí)施,表包含了可用服務(wù)總數(shù)。使用該部分ISO15765協(xié)議實(shí)施CAN診斷的某些應(yīng)用上可能限制了可使用服務(wù)的數(shù)量,并可將它們按應(yīng)用范圍/診斷會話(默認(rèn)會話,編程會話等)進(jìn)行歸類.表26—-CAN診斷一一統(tǒng)一診斷服務(wù)總覽診斷服務(wù)名稱(ISO14229—1)服務(wù)ID值(16進(jìn)制)子功能支持suppressPosRspMsgIndicatonBit=TRUE(1);(無應(yīng)答)支持(a)子目錄診斷與通信管理功能單元DiagnosticSessionControl10是是9。2.1ECUReset11是是9.2.2SecurityAccess27是是9。2。3CommnicationControl28是是9.2。4TesterPresent3E是是9.2.5SecuredDataTransmission84一N/A9。2。6ControlDTCSetting85是是9.2。7ResponseOnEvent86是是9.2。8LinkControl87是是9。2.9數(shù)據(jù)發(fā)送功能單元ReadDataByIdentifier22一N/A9.3.1ReadMemoryByAddress23一N/A9.3.2ReadScalingDataByIdentifier24—N/A9。3。3ReadDataByPeriodicIdentifier2A一N/A9.3。4DynamicallyDefineDataIdentifier2C是是9.3.5WriteDataByIdentifier2E一N/A9。3。6WriteMemoryByAddress3D—N/A9。3.7存儲數(shù)據(jù)發(fā)送功能單元ReadDTCInformation19是是9。4。1ClearDignositicInformation14一9.4.2輸入/輸出控制功能單元InputOutPutControlByIdentifier2F—N/A9.5。1例行的遠(yuǎn)程激活功能單元RoutineControl31是是9.6。1上載/下載功能單元RequestDownload34—N/A9。7.1RequestUpload35-N/A9。7.2TransferData36—N/A9。7。3RequestTransferExit37一N/A9.7。4a這是指suppressPosRspMsgIndicatonBit=FALSE(0)表示服務(wù)支持使用該子功能參數(shù)。系統(tǒng)設(shè)計者需保證如果客戶機(jī)不需要一個應(yīng)答信息[suppressPosRspMsgIndicatonBit=TRUE(1)]并且服務(wù)器需要超過的時間去處理請求信息時,客戶機(jī)應(yīng)當(dāng)在連續(xù)請求之間插入足夠的時間。有可能的一個情況是當(dāng)服務(wù)器不執(zhí)行請求的動作,也不指示任何原因至客戶機(jī)。9。2診斷與通信控制功能單元9.2.1診斷會話控制(DiagnosticSessionControl)(10hex)服務(wù)表27定義了適用于CAN診斷服務(wù)的子功能參數(shù)表27——子功能參數(shù)定義Hex(位6-0)描述Cvt助記憶法01defaultSessionUDS02ECUProgrammingSessionUECUPS03ECUExtendedDiagnosticSessionUECUEDS表28和29定義了應(yīng)答信息數(shù)據(jù)參數(shù)結(jié)構(gòu),sessionParameterRecord適用于CAN診斷實(shí)施。表28-一會話參數(shù)記錄定義記錄的位位置說明Cvt16進(jìn)制值助記憶法#1SessionParameterRecord[]#1={M-FFSPREC_#2(高字節(jié))M-FFP2CSMH#3(低字節(jié))M—FFP2CSML#4(高字節(jié))M—FFP2ECSMH(低字節(jié))}P2ECSML表29—-會話參數(shù)記錄內(nèi)容定義參數(shù)說明#占用字節(jié)解決最小值最大值服務(wù)器支持默認(rèn)的定時用于激活診斷會話21ms0ms65535ms服務(wù)器支持?jǐn)U展的(NRC78hex)用于激活診斷會話210ms0ms655350ms9.2。2ECU復(fù)位(ECUReset)(11hex)服務(wù)表30定義了該項CAN服務(wù)的子功能參數(shù)表30——子功能參數(shù)定義Hex(位6—0)描述Cvt助記憶法01hardResetUHR02keyOffOnResetUKOPPONR03softResetUSR04enableRapidPowerShutDownUERPSD05disableRapidPowerShutDownUDRPSD9.2。3安全訪問(SecurityAccess)(27hex)服務(wù)表31定義了該項CAN服務(wù)的子功能參數(shù)表31——子功能參數(shù)定義Hex(位6-0)描述Cvt助記憶法01requestSeedURSD02sendKeyUSK03,0507—5FrequestSeedURSD04,0608-60sendKeyUSK9。2.4通信控制服務(wù)(CommunicationControl)(28hex)表32定義了該項CAN服務(wù)的子功能參數(shù)表32——子功能參數(shù)定義Hex(位6-0)描述Cvt助記憶法enableRxAndTxUERXTX01enableRxAndDisableTxUERXDTX02disableRxAndEnableTxUDRXETX03disableRxAndTxUDRXTX表33定義了CAN服務(wù)實(shí)施可用的數(shù)據(jù)參數(shù)表33——數(shù)據(jù)參數(shù)定義-一通信類型Hex(位1-0)描述Cvt助記憶法01bapplicationUAPPL10bnetworkManagementUNWM位10適用任何組合.每一個位代表一種通信類型,可能每次都不止初始化一種通信類型。9.2.5測試儀現(xiàn)場服務(wù)(TesterPresent)(3Ehex)表33定義了該項CAN服務(wù)的子功能參數(shù)表33—-子功能參數(shù)定義Hex(位6—0)描述Cvt助記憶法zeroSubFunctionMZSUBF9。2.6安全數(shù)據(jù)傳輸服務(wù)(SecuredDataTransmission)(84hex)對于該CAN服務(wù)實(shí)施,既沒有額外的需求也沒有限制。9.2.7控制故障嗎信息設(shè)置服務(wù)(ControlDTCSetting)(85hex)表35定義了該項CAN服務(wù)的子功能參數(shù)表33——子功能參數(shù)定義Hex描述Cvt助記憶法(位6—0)01onMON02offMOFF9。2。8基于事件應(yīng)答服務(wù)(ResponseOnEvent)(86hex)CAN實(shí)施須滿足以下相關(guān)條件a)大量的ResponseOnEvent服務(wù)都伴隨著不同的啟動和停止診斷服務(wù)的要求(不同的時間類型EventTypes,應(yīng)答記錄服務(wù)serviceToRespondTo—Records)。b)當(dāng)ResponseOnEvent服務(wù)激活時,服務(wù)器能夠同時處理診斷請求及相應(yīng)的應(yīng)答信息。這應(yīng)當(dāng)完成一組請求/應(yīng)答CAN標(biāo)識。見圖16。如果相同的CAN請求/應(yīng)答標(biāo)識用于診斷通信中以及serviceToRespondToresponses服務(wù)。如下限制需適用:1)在一個事件發(fā)生之后,服務(wù)器應(yīng)當(dāng)忽略即將到來的診斷請求。并且開始運(yùn)行serviceToRespondTo-response服務(wù),直到該服務(wù)完成。2)在客戶機(jī)發(fā)送一個診斷請求后,接收到任何應(yīng)答信息,應(yīng)答信息應(yīng)當(dāng)按照可能的應(yīng)答服務(wù)serviceToRespondTo—responses及期望的診斷應(yīng)答分類.3)如果應(yīng)答是一個serviceToRespondTo—response(由基于事件應(yīng)答服務(wù)的應(yīng)答)??蛻魴C(jī)應(yīng)當(dāng)在serviceToRespondTo—response完全接收到之后,重復(fù)該請求。4)當(dāng)應(yīng)答不確定時(例如,應(yīng)答可能產(chǎn)生于一個事件的應(yīng)答或者一個診斷請求的應(yīng)答),客戶機(jī)應(yīng)當(dāng)將該應(yīng)答同時作為一個serviceToRespondTo—response及診斷請求應(yīng)答.客戶機(jī)不應(yīng)當(dāng)重復(fù)該請求除非NegativeResponseCodebusyRepeatRequest(21hex)(見否定應(yīng)答碼,ISO14229—1的定義。)c)ResponseOnEvent服務(wù)只有在激活的診斷會話中可用的診斷服務(wù)中使用.d)當(dāng)ResponseOnEvent服務(wù)處于激活狀態(tài)時,診斷會話中任何的改變都回中止當(dāng)前的ResponseOnEvent。例如,如果一個ResponseOnEvent服務(wù)在闊真的診斷會話建立起來了,它在服務(wù)器轉(zhuǎn)換到默認(rèn)會話時應(yīng)當(dāng)中止。e)如果ResponseOnEvent(0x86)服務(wù)在默認(rèn)會話時建立了,如下應(yīng)當(dāng)適用:1)事件類型子功能參數(shù)位6設(shè)置為0(不存儲事件),那么該事件應(yīng)當(dāng)在服務(wù)器關(guān)電時中止,并且服務(wù)器不應(yīng)當(dāng)在重啟或開電時繼續(xù)一個ResponseOnEvent診斷服務(wù)。(例如,ResponseOnEvent中止)。2)事件類型子功能參數(shù)位6設(shè)置為1(存儲事件),它會重新發(fā)送serviceToRespondTo-responses按照ResponseOnEvent在重啟電后。圖16發(fā)生時同時存在的請求f)子功能參數(shù)值responseRequired=“no”應(yīng)當(dāng)只用于事件類型eventType=stopResponseOnEvent,startResponseOnEvent或clearResponseOnEvent.當(dāng)檢測到指定事件時,服務(wù)器應(yīng)當(dāng)總是返回一個事件觸發(fā)的應(yīng)答。g)服務(wù)器應(yīng)當(dāng)最后發(fā)送肯定應(yīng)答用于指示ResponseOnEvent(0x86)服務(wù)到達(dá)了限定事件窗,除非出現(xiàn)以下某種情況:1)如果事件類型沒有建立ResponseOnEvent,例如,stopResponseOnEvent,startResponseOnEvent,clearResponseOnEvent或reportActivatedEvents;2)如果事件窗建立起來了-一如果在事件窗關(guān)閉之前,服務(wù)已經(jīng)處于非激活狀態(tài)?!庸δ軈?shù)事件類型位6設(shè)置為0(不存儲),并且系統(tǒng)關(guān)電或重啟h)當(dāng)指定的事件監(jiān)測到時,服務(wù)器應(yīng)當(dāng)以合適的serviceToRespondTo-response立即應(yīng)答。立即應(yīng)答信息應(yīng)當(dāng)不會破壞其它任何診斷請求及已經(jīng)處于發(fā)送狀態(tài)的應(yīng)答(例如,該serviceToRespondTo—response應(yīng)當(dāng)延遲直到當(dāng)前信息發(fā)送完之后。見圖17)。圖17-一在一條信息處理過程中事件發(fā)生i)ResponseOnEvent服務(wù)僅適用于短暫的事件及條件.服務(wù)器應(yīng)當(dāng)在每一事件發(fā)生時,返回一個應(yīng)答。在一個時期內(nèi)持續(xù)的情況,應(yīng)答服務(wù)應(yīng)當(dāng)在啟動發(fā)生的時候執(zhí)行.該事件類型的定義主要是為了避免servi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工職責(zé)課件
- 高考物理之帶電粒子在電場、磁場中的運(yùn)動試題詳解
- 倉庫交接管理培訓(xùn)
- 倉存管理培訓(xùn)
- 員工日常行為培訓(xùn)
- 倉儲現(xiàn)場儲備干部培訓(xùn)
- 員工情緒與壓力管理培訓(xùn)
- 基金行業(yè)培訓(xùn)
- 施工現(xiàn)場質(zhì)量管理各項制度
- 酒店地毯銷售獎勵合作協(xié)議
- (2025)事業(yè)單位考試(面試)試題與答案
- CNAS-GC25-2023 服務(wù)認(rèn)證機(jī)構(gòu)認(rèn)證業(yè)務(wù)范圍及能力管理實(shí)施指南
- 入伍智力測試題及答案
- 竣工驗(yàn)收方案模板
- 企業(yè)安全生產(chǎn)內(nèi)業(yè)資料全套范本
- 安全生產(chǎn)標(biāo)準(zhǔn)化與安全文化建設(shè)的關(guān)系
- DL-T5054-2016火力發(fā)電廠汽水管道設(shè)計規(guī)范
- 耳部刮痧治療
- 神經(jīng)外科介入神經(jīng)放射治療技術(shù)操作規(guī)范2023版
- 多模態(tài)數(shù)據(jù)的聯(lián)合增強(qiáng)技術(shù)
- 濱海事業(yè)單位招聘2023年考試真題及答案解析1
評論
0/150
提交評論