1.网络层概述
1.1综述
这部分描述了网络层的整体功能。TP协议规定了用于网络节点之间交换数据的网络层通信协议,例如ECU与ECU之间,或测试设备与ECU之间。如果要传输的数据不能使用单个的CAN帧传输,则提供一种分包传输的方法。
传输通道是通信链路的物理组成部分,包含接收/传输机制。每个通道都可以在一个时间点处理一个连接。在通信矩阵中,这些数据交换的ECU之间是一个固定分配的(例如测试人员与ECU之间的诊断请求和响应消息)。一个连接包含其寻址模式所需要的所有通信参数(例如CAN-channel、CAN-ID、源地址和目标地址、基础地址等)。
1.2网络层内部操作
网络层的内部操作提供了分割、传输和流控及重组的方法。网络层的主要目的是传输数据,这些数据可能适合或者不适合一个CAN帧。不能放入一个CAN帧的消息会被分割成多个部分,每个部分可以在一个CAN帧中传输。
下图1是一个未分隔的消息发送示例。
下图2是一个分段消息发送示例。
流控帧用于调整发送方以适应接收方的网络能力。这种流控方案允许使用诊断网关和子网络。
2.网络协议层
2.1协议的功能
网络层的协议完成以下两个功能:
a)发送和接收最大4095个字节的消息。
b)报告发送和接收的完成状态。
2.2单帧传输
通过发送一个唯一的 N_PDU 来发送最大7个字节的消息,单帧被调用,如图3所示。
通过来一个唯一的接收N_PDU最大字节是7的消息。
2.3多帧的传输
发送长数据需要通过分成多个N_PDU来传输。接收长数据需要通过接收多个N_PDU并进行组包。多个N_PDU由首帧和连续帧组成。
通过使用流控协议数据单元(PC N_PDU)的流控机制,多个N_PDU的接收方才能适配发送方的传输速度。
数据的字节长度大于7时数据被分成:首帧协议数据单元,在扩展或者混合地址情况下包含头部5个字节,在正常地址情况下头部是6个字节;一个或者多个连续帧的协议数据单元,其中包含7字节的数据。由于连续帧(CF N_PDF )包含剩余的数据字节,所以可能小于7个字节。
图4在发送节点分包和在接收节点组包。图中没有显示接收节点在接收到首帧(FF)后发出的流控(FC)。
整个消息的长度是定义在首帧(FF)N_