CAN网络通信

这篇博客详细介绍了CAN网络通信的网络层功能,包括分包传输、网络层内部操作、网络协议层的功能,如单帧和多帧传输。网络层通过流控机制确保数据传输的顺利进行,同时解释了不同类型的协议数据单元格式及其参数定义,如SF_N_PDU、FF_N_PDU、CF_N_PDU和FC_N_PDU。
摘要由CSDN通过智能技术生成

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_

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值