【AUTOSAR CANTP】深入理解CAN传输层:N-SDU数据接收与缓冲处理

本文介绍了AUTOSAR CANTP中CAN传输层的N-SDU数据接收和缓冲处理,包括单帧N-SDU在无可用缓冲区时的情况,成功接收SP N-SDU的流程,以及大型N-SDU的发送和接收过程。通过详细解释各个模块的作用和交互,帮助读者理解CAN总线通信中的数据处理细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前言

CanTp是PDU路由器和CAN接口模块之间的那个模块。它的主要作用就是对超过8字节或者CAN FD情况下超过64字节的CAN I-PDU进行分段和重组啦。PDU路由器会把AUTOSAR COM和DCM I-PDU放到不同的通信协议上去,具体是用哪个网络系统类型(比如CAN、LIN和FlexRay)来路由,就看I-PDU标识符了。而且PDU路由器还会判断是否需要用到传输协议。最后,如果不需要进行速率转换的话,这个模块还可以充当网关的功能。

CAN接口(CanIf)也提供了类似的机制,用来访问CAN总线通道,不管它是在微控制器内部还是外部。根据CAN控制器的位置(是芯片内还是板载),它会了解ECU的硬件布局和CAN驱动程序的数量。因为CanTp只处理传输协议帧(也就是SF、FF、CF和FC PDU),所以根据N-PDU ID,CAN接口必须把I-PDU转发给CanTp或者PduR。

缩写

SDU: 在分层系统中,此术语指由给定层的服务使用者发送的一组数据,并传输到对等服务使用者,同时保持语义不变。我们可以将其想象成一个快递包裹。在分层系统中,每一层就像是一个快递站点,而SDU就像是从一个站点发送到另一个站点的包裹。而且,这个包裹在从一个站点传送到另一个站点的过程中,它的内容(即数据)是不会改变的,就像我们寄快递时,快递的内容在整个运输过程中都不会改变一样。所以,“在我们的快递系统中,一个快递站点(给定层的服务使用者)会发送一个包裹(一组数据),这个包裹会被送到另一个快递站点(对等服务使用者),并且在整个运输过程中,包裹的内容(语义)都不会发生改变。”

N-PDU: 这是CAN传输层的PDU。它包含唯一标识符、数据长度和数据(协议控制信息加上整个N-SDU或其部分)。

N-SDU: </

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大表哥汽车人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值