车载诊断 - UDS网络层/TP层

ISO-15765 网络层


ISO15765诞生背景


TP层存在意义

  • UDS网络层,又称为TP层(Transport Protocol Layer)。

  • 其存在的目的是为了解决ISO 11898协议中定义的经典CAN数据链路层与ISO 14229协议中定义的应用层,彼此之间数据长度不统一的问题。

    • 经典CAN数据链路层最大能够支持8个字节,但ISO 14229并不仅仅是为了CAN总线设计的,最大容量达到4095个字节。
    • 比如VIN码是17个字节,CAN总线必然需要传递3帧才能传完VIN码,
    • 那么如何科学、快捷、安全地将多个字节通过经典CAN来进行传输,就成了一个需要解决的问题。ISO 15765-2 协议由此诞生。
    • ISO 15765-2作为车辆诊断通信的一个组成部分,规范了“传输协议和网络层服务”。

网络层协议数据单元 N_PDU


网络层协议数据单元(N_PDU,Network_Protocol Data Unit)包含N_AI,N_PCI,N_Data,即地址信息,协议控制信息和数据

参数名称缩写描述
            寻址信息                                      N_AI                            隐含源地址、目标地址和寻址方式信息                                           
协议控制信息N_PCI 标识网络层帧类型
数据N_Data 包含应用层协议控制信息和数据



网络层协议控制信息N_PCI


N_PCI全称为Protocol Control Information

N_PDU名N_PCI(Network_ProtocalControlinformation)数据区域
Byte 0123-7
bit 7654321076543210
单帧(SF)
SingleFrame
N_PCItype=0DataLength(SF_DL)N/AN/AN/A
首帧(FF)
FirstFrame
N_PCItype=1DataLength(FF_DL)
12位,最大发送4096个字节
DATA
流控制帧(FC)
FlowControl
N_PCItype=3Flow State(FS)
0:继续发送 1:等待 2:溢出
BlockSize(BS)
*BlockSize=0再无流控制帧
STmin[ms]N/A
连续帧(FC)
ConsecutiveFrame
N_PCItype=2SN
0x01-0x0F->0x00-0x0F
N/AN/AN/A



网络层时间控制分析


网络层定时参数定义了N_As N_Ar N_Bs N_Br N_Cs N_Cr六个参数。

网络层定制参数值及它们相应的给予数据链路服务的开始结束时间

Network layer custom parameter values and the beginning and end time and their corresponding to data link services

定时参数描述数据链路服务超时
(ms)
运行需求
(ms)
开始结束
N_As发送方CAN帧发送时间(任何N_PDU)L_Data.requestL_Data.confirm1000N/A
N_Ar接收方CAN帧发送时间(任何N_PDU)L_Data.requestL.Data.confirm1000N/A
N_Bs直到下一个流控制帧(FC)接收的时间L_Data.confirm(FF)
L_Data.confirm(FC)
L_Data.indicate(FC)
L.Data.indicate(FC)1000N/A
N_Br直到下一个流控制帧发送的时间L_Data.indicate(FF)
L_Data.confirm(FC)
L_Data.request(FC)N/A
N_Cs直到下一个连续帧(CF)发送的时间L_Data.confirm(FC)
L_Data.indication(CF)
L_Data.request(CF)N/A
N_Cr直到下一个连续帧接收的时间L_Data.confirm(FC)
L_Data.indication(CF)
L.Data.indicate(CF)1000/
S 发送者   R 接收者

网络层在检测到错误的时候应传递何时的服务项至服务的使用者

  1. N_As超时时,即发送方没有及时发送N_PDU,系统将放弃信息的接收并传递<N_Result>=N_TIMEOUT_AN_USData.confirm指示
  2. N_Ar超时时,即接收方没有及时发送N_PDU,放弃信息的接收并传递<N_Result>=N_TIMEOUT_AN_USData.confirm指示
  3. N_Bs超时时,即发送方没有接收到流控制帧或在首帧前收到,或连续帧没有被接收方收到,放弃信息的接收并传递<N_Result>=N_TIMEOUT_BsN_USData.confirm指示
  4. N_Cr超时时,即接收方没有收到连续帧或之前流控制帧未被发送方收到,放弃信息的接收并传递<N_Result>=N_TIMEOUT_CrN_USData.confirm指示

在网络层传输的过程中,涉及到的具体时间超时参数见上表,以保证系统工作,定义超时的值应比运行要求的值大。

对上述信息总结归纳

N_As 超时:发送方没有及时发送N_PDU


N_Ar 超时:接收方没有及时发送N_PDU


N_Bs 超时:发送方没有收到流控制帧


N_Br 超时:接收方没有发出流控制帧


N_Cs 超时:即STmin,发送两个连续帧需要等待的最短时间


N_Cr 超时:接收方没有收到连续帧

定时参数方向解释
N_As发送方→接收方首帧和连续帧在数据链路层传播的时间
N_Ar接收方→发送方流控制帧在数据链路层传播的时间
N_Bs发送方→接收方接收方收到首帧时发出的ACK响应,与自己(发送方)收到流控制帧的间隔时间
N_Br接收方→发送方自己(接收方)收到首帧,与自己开始发出流控制帧的间隔时间
N_Cs发送方→接收方自己(发送方)收到流控制帧,或是连续帧送达时产生的ACK响应,与自己开始发出新连续帧的间隔时间
N_Cr接收方→发送方自己(接收方)收到连续帧,到下一次自己收到连续帧的间隔时间
s 代表发送者的定时参数,r 代表接收者的定时参数
  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值