汽車UDS診斷教程 ISO15765(三)

ISO15765-2是什麼?包含哪些內容? 接上一節

   

網絡層服務項

所有的網絡層服務項有統一的結構。爲了定義這些服務項,三類主要的服務項說明如下:

  • 請求服務,被更高的通信層或應用層使用,用於向網絡層傳遞控制信息及要發送的數據;
  • 指示服務,被網絡層使用,用於向更高通信層或應用層傳遞狀態信息及接收到的數據;
  • 確認服務,被網絡層使用,用於向更高通信層或應用層傳遞狀態信息。

這些服務說明沒有指定具體的應用程序接口,而只是一些獨立於具體實施的主要服務項。

所有的網絡層服務項有統一的結構形式,服務項寫成如下的形式:

        service_name.type (

        parameter A,

        parameter B,

        parameter C,

        …

                            )

這裏,“service_name”是指服務項名稱,例如,N_SDU,“type”指示了服務項的類型,“parameter A,parameterB,parameter C,…”則是N_SDU服務項傳遞的值。

服務項定義瞭如何使服務的使用者(例如,診斷應用層)如何與服務的提供者(例如,網絡層)協同運行。以下服務項已在國際標準中說明,請求,指示和確認。

  • 使用請求服務項(service_name.request),服務使用者向服務提供者請求一項服務。
  • 使用指示服務項(service_name.indication),服務提供者通知服務使用者網絡層的一個內部事件或者一個對等實體的服務使用者的服務請求。
  • 通過確認服務項(service_name.confirm),服務提供者通知服務的使用者,之前服務使用者請求服務的結果。

網絡層服務說明

  •  N_USData.request

該請求服務項是請求傳遞<MessageData>數據及<Length>字節數,從發送者到到對等實體接收者,通過在N_SA,N_TA,N_TAtype及N_AE中的地址信息確認。(參看5.3對參數的定義)。

N_USData.request服務項每次被啓動,網絡層應當通過一條N_USData.confirm服務通知服務使用者信息傳遞的完成情況。(成功或失敗)

            N_USData.request (

            Mtype

                               N_SA

                               N_TA

            N_TAtype

                               N_AE(可選的)

            <MessageData>

            <Length>

                                )

 

  •  N_USData.confirm

N_USData.confirm服務項由網絡層發送,該服務項用於確定N_USData.request服務的完成情況,通過在N_SA,N_TA,N_TAtype及N_AE中的地址信息確認。參數<N_Result>提供請求服務項的狀態。(參看5.3對參數的定義)

        N_USData.confirm(

        Mtype

                           N_SA

                           N_TA

        N_TAtype

                           N_AE(可選的)

        <N_Result>

                            )

 

  • N_USData_FF.indication

N_USData_FF.indication服務項由網絡層發送。該服務項用於通知相鄰上層接收到對等實體首幀數據已經到了。通過在N_SA,N_TA,N_TAtype及N_AE中的地址信息確認。(參看5.3對參數的定義)這個指示項發生在接收到拆分數據首幀的時刻。

        N_USData_FF.indication (

        Mtype

                                N_SA

                                N_TA

        N_TAtype

                                N_AE(可選的)

        <Length>

                                )  

N_USData_FF.indication指示服務項發送完,網絡層應當總是緊跟着發送一個N_UDSData.indication服務項,指示信息接收的完成情況。(成功或失敗)

N_USData_FF.indication指示服務項應當至友網絡層發送指示信息段的首幀是否被正確接收。

如果網絡層監測到首幀中任何類型的錯誤,該信息應當被網絡層忽略,並且N_USData_FF.indication指示服務項不應當被髮送至相鄰的上層。

    如果網絡層接收到首幀中數據長度項的值(FF_DL)大於接收者緩衝區的數據,這應當被認爲是一個錯誤的條件並且N_USData_FF.indication指示服務項不應當被髮送至相鄰的上層。

 

  • N_USData.indication

N_USData.indication服務項由網絡層發送。該服務項指示<N_Result>事件並傳遞<Length>字節數的<MessageData>至相鄰的上層。這些信息通過同等實體間通過存放於N_SA,N_TA,N_TAtype及N_AE中標識的地址信息接收過來的。

當<N_Result>值爲N_OK時,<MessageDate>及<Length>參數信息纔有效。

N_USData.indication (

Mtype

                        N_SA

                        N_TA

N_TAtype

                        N_AE(可選的)

<MessageData>

<Length>

<N_Result>

                        )

N_USData.indication服務項是在接收到單幀(SF)信息或是指示拆分信息接收的完成時發送。

    如果網絡層檢查到單幀中任何類型的錯誤,該條單幀信息應當被忽略並且N_USData_FF.indication指示服務項不應當被髮送至相鄰的上層。

 

  •  N_ChangeParameters.request

該服務項用於請求本地實體內部參數的修改。<Parameter_Value>參數值分配給<Parameter>參數(參看5.3對參數的定義)。

對參數總是可以修改的。特殊情況是在應用層接收到首幀的指示服務項(N_USData_FF.indication)到接收(N_USData.indication)服務項之間的時刻。

N_ChangeParameters.request (

Mtype

                            N_SA

                            N_TA

N_TAtype

                            N_AE(可選的)

<Parameter>

<Parameter_Value>

                        )

這是一個可選服務項,可被固定的參數值實施代替。

 

  •  N_ChangeParameters.confirm

該服務項用於確認N_ChangeParameter.Confirmation運用信息的完成情況,這信息通過在N_SA,N_TA,N_TAtype及N_AE中的地址信息標識。

        N_ChangeParameter.confirm  (

        Mtype

                                    N_SA

                                    N_TA

        N_TAtype

                                    N_AE(可選的)

        <Parameter>

        <Result_ChangeParameter>

                                )

        

服務項數據單元說明

 

 Mtype, Message type

 

類型:枚舉類型

範圍:診斷,遠程診斷

描述:參數Mtype用於確定服務相中信息參數的類型及範圍。該部分的ISO 15765協議指定了兩個值標識這個參數。文檔使用者可通過指定其它的類型,也可通過文檔中網絡層使用的其它地址信息參數的組合來擴展這些值的範圍。每新定義的一套地址信息,Mtype應當賦予新值,標識新的地址信息。

  • 如果Mtype = 診斷,N_AI地址信息應當包含參數N_SA,N_TA,和N_TAtype。

  • 如果Mtype = 遠程診斷,N_AI地址信息應當包含參數N_SA,N_TA,和N_TAtype,和N_AE。

     

N_AI,地址信息

 

該參數指的是地址信息。總的來說,N_AI參數用於確定信息發送者和接收者的源地址(N_SA),目標地址(N_TA),也包含確定(N_TAtype)和可選擇地址擴展(N_AE)的通信模式。

 

N_SA網絡源地址

 

類型:1字節的無符號整數

範圍:00-FF 16進制

描述:N_SA參數代表發送者網絡層實體

 

 N_TA,網絡目標地址

 

類型:1字節的無符號整數

範圍:00-FF 16進制

描述:N_SA參數代表接收者網絡層實體

 

N_TAtype,網絡目標地址類型

 

類型:枚舉類型

範圍:物理的,功能的

描述:N_TAtype參數是對N_TA參數的擴展。它被網絡層對等實體使用,代表通信模式。兩種通信模式說明如下:1對1的通信,稱爲物理地址,1對多的通信稱爲功能地址。

——物理地址(1對1通信)網絡層所有類型的信息都支持。

——功能地址(1對多通信)僅僅對單幀的通信支持。

 

N_AE,網絡地址擴展

 

類型:1字節的無符號整數

範圍:00-FF 16進制

描述:N_AE參數用於在大的網絡上擴展現行的地址範圍,用於子網中發送與接收網絡層實體而不是本地網的通信。若Mtype設置爲遠程診斷時,N_AE僅僅是地址信息的一部分。

 

<Length>

 

類型:12個bit位

範圍:1-4095

描述:該參數包含要發送或接收的數據長度。

 

<MessageData>

 

類型:字符串

範圍:不固定

描述:該參數包含與上層實體所有交互的數據

 

<Parameter>

 

類型:枚舉類型

範圍:STmin, BS

描述:該參數確定網絡層的參數

 

<Parameter_Value>

 

類型:1字節無符號整數

範圍:0-255

描述:該參數分配給協議參數<Parameter>作爲指示服務。

 

 

<N_Result>

 

類型:枚舉類型

範圍:N_OK, N_TIMEOUT_A, N_TIMEOUT_Bs, N_TIMEOUT_Cr, N_WRONG_SN,N_INVALID_FS, N_UNEXP_PDU, N_WFT_OVRN, N_BUFFER_OVFLW, N_ERROR

描述:該參數包含服務項執行的結果狀態。如果同時產生了兩個或以上的錯誤,網絡層應該使用下列錯誤指示中首先找到的參數值,發送給高層。

 

  • N_OK

該值表示服務執行完全正確;它可同時由發送者和接收者發送至服務的使用者。

 

  • N_TIMEOUT_A

    該值在定時器N_Ar/N_As超過了定時值N_Asmax/N_Armax,發送給服務的使用者;它可同時由發送者和接收者發送至服務的使用者。

 

  • N_TIMEOUT_Bs

    該值在定時器N_Bs超過了定時值N_Bsmax,發送給服務的使用者;它僅能由發送者發送至服務的使用者。

 

  • N_TIMEOUT_Cr

    該值在定時器N_Bs超過了定時值N_Crmax,發送給服務的使用者;它僅能由接收者發送至服務的使用者。

 

  • N_WRONG_SN

該值在接收到意外的連續的數值(PCI.SN)時被髮送至服務使用者;它僅能由接收者發送至服務的使用者。

 

  • N_INVALID_FS

該值在從流控(FC)N_PDU接收到無效的或未知的流狀態值時發送至服務的使用者;它僅能由發送者發送至服務的使用者。

 

  • N_UNEXP_PDU

該值在接收到未知協議數據單元時發送給服務使用者,它僅能由接收者發送至服務的使用者。

 

  • N_WFT_OVRN

該值在接收到流控WAIT幀超過最大計數N_WFTmax時發送至服務使用者。

 

  • N_BUFFER_OVFLW

該值在接收到流控(FC)N_PDU狀態Flow = OVFLW時發送給服務的使用者。它用於指示接收者緩衝區無法存儲首幀中數據長度(FF_DL),因此,該拆分數據的傳遞被丟棄。它僅能由發送者發送至服務的使用者。

 

  • N_ERROR

    這是一個默認的錯誤值。它是當檢測到網絡層錯誤並且沒有其它更好的參數描述該項錯誤時使用發送到服務使用者。它可同時由發送者和接收者發送至服務的使用者。

 

 

 

<Result_ChangeParameter>

 

類型:枚舉類型

範圍:N_OK, N_RX_ON, N_WRONG_PARAMETER, N_WRONG_VALUE

描述:該參數包含服務執行的結果狀態信息

 

  • N_OK

    該值表示服務執行完全正確;它可同時由發送者和接收者發送至服務的使用者。

 

  • N_RX_ON

該值發送給服務使用者指示雖然<AI>標識的信息接收到了,但服務沒有執行。它僅能由接收者發送至服務的使用者。

 

  • N_WRONG_PARAMETER

該值發送給服務的使用者表示由於未定義的<Parameter>,服務沒有執行;它可同時由發送者和接收者發送至服務的使用者。

 

  • N_WRONG_VALUE

    改制發送給服務的使用者表示由於<Parameter_Value>超出範圍,服務沒有執行,它可同時由發送者和接收者發送至服務的使用者。

 

汽車UDS診斷教程 ISO15765(一)

 

汽車UDS診斷教程 ISO15765(二)

 

 

如需獲取更多資料可以關注公衆號“Auto筆記”,其分享汽車電子行業的最新資訊,及開發筆記、學習筆記等相關經驗。關注公衆號,回覆“iso15765”,獲取相應文檔。

發佈了31 篇原創文章 · 獲贊 29 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章