什么,,,,,,以太网能传CAN报文?????
宣布时间:
2025-09-08 11:56
概述
IEEE 1722(AVB/TSN协议族中的焦点协议)不但界说了基于以太网的音视频撒播输名堂(AVTP-AAF),,,,,,还包括了一套要害的控制协议—AVTP Control Format(后文简称ACF),,,,,,为控制指令在车内网络差别控制节点间的传输提供了新的选择。。。。。。
通俗来讲,,,,,,ACF就是将现在较为成熟的控制协议(如CAN、LIN、FlexRay甚至是RS232串口指令等)举行封装,,,,,,使这些控制指令能基于以太网举行传输。。。。。。这样部分控制器既能保存原有协议实现,,,,,,又能使用以太网TSN 时间同步、流预留等实现,,,,,,包管控制指令准确执行。。。。。。
ACF报文按“时效性”分为两类,,,,,,报文名堂有所区别,,,,,,划分顺应差别控制场景需求。。。。。。详细为:
- NTSCF(Non-Time-Synchronous Control Format):此类控制报文无时间戳字段,,,,,,不携带时间戳信息,,,,,,适用于对时间要求不敏感、轻量化的控制指令。。。。。。
- TSCF(Time-Synchronous Control Format): 此类控制报文携带“展示时间戳”信息,,,,,,适用于需要多执行器协同控制的时间敏感场景(应用示例如下图所示)。。。。。。

ACF TSCF 应用示例图
报文名堂
ACF 报文和AVTP音视频报文一样,,,,,,基于以太网二层举行传输,,,,,,其报文在整个以太网帧中的结构如下图所示。。。。。。

ACF 以太网帧结构示意图
从图中可以看出,,,,,,关于NTSCF和TSCF这两种报文,,,,,,是通过差别的ACF AVTPDU Header来区分的,,,,,,其携带的ACF Msg在报文名堂上是没有区别的。。。。。。接下来划分先容ACF NTSCF Header、TSCF Header和ACF Message 这三部分的报文名堂。。。。。。
ACF NTSCF Header

NTSCF Header报文结构示意图
- subtype
表征目今AVTP报文的类型。。。。。。在NTSCF Header中,,,,,,该字段牢靠为0x82;;;;;;在TSCF Header中,,,,,,该字段牢靠为0x05。。。。。。
- sv (stream_id valid)
该字段用来表征目今报文的stream_id是否为有用流预留id。。。。。。当sv=1时,,,,,,即说明该stream_id对应的数据流已通过TSN的流预留协议分派了网络带宽资源。。。。。。
- version
版本号,,,,,,和其他所有AVTP报文一致,,,,,,牢靠为0。。。。。。
- r (reserved)
预留字段。。。。。。
- ntscf_data_length
表征目今报文携带的所有acf_payload的总字节数,,,,,,该字段的取值规模取决于目今网络的MTU(最大传输单位,,,,,,Maximum Transmission Unit)。。。。。。
- sequence_num
表征目今ACF 报文在统一个stream中的序列号,,,,,,listener端可以通过该字段检测丢帧和乱序。。。。。。
- stream_id
用来做流识别的报文流ID,,,,,,统一个流的ACF报文stream id需坚持一致。。。。。。
ACF TSCF Header
ACF TSFC Header中携带时间戳信息,,,,,,报头名堂为通用流报头(common stream header),,,,,,各字段寄义已经在上一篇AAF先容的文章中举行先容。。。。。。我们这次只关注和时间相关的avtp_timestamp字段。。。。。。

TSCF Header报文结构示意图
- avtp_timestamp
当tv=1时,,,,,,该字段的值为有用时间戳信息,,,,,,寄义为talker指示listener执行该控制指令的准确时间。。。。。。
ACF Message
ACF Message是承载详细控制语义的焦点内容,,,,,,紧跟在前面先容的两种Header后面。。。。。。一帧AVTP报文中可以携带一个或多个ACF Message。。。。。。而每一个ACF Message报文也可以拆成ACF Message Header和ACF payload两部分。。。。。。如图所示。。。。。。

ACF Message 结构示意图
ACF Message Header包括acf_msg_type和acf_msg_length两个字段:
- acf_msg_type
该字段形貌了ACF Message的类型,,,,,,ACF Message可以封装差别类型的控制报文名堂,,,,,,例如常见的CAN、LIN、MOST等,,,,,,现在协议支持的类型见下表。。。。。。

- acf_msg_length
由于ACF AVTPDU中可以携带多个ACF Message,,,,,,通过该字段可以得知目今ACF message的长度,,,,,,便于listener端剖析,,,,,,需要注重的是,,,,,,该字段的单位为4bytes。。。。。。
acf_msg_payload也包括了多个字段,,,,,,报文名堂凭证其封装的控制报文类型有所差别,,,,,,可是和原控制协议基本坚持一致。。。。。。本文则以现在常见的CAN(FD)协议为例,,,,,,先容ACF_CAN的payload报文名堂。。。。。。
ACF_CAN message 的payload如下图所示。。。。。。

ACF_CAN message payload结构示意图
- pad
体现填充长度,,,,,,单位bytes,,,,,,目的是包管整个ACF_CAN Message的整体长度 为4字节对齐。。。。。。
- mtv
message_timestamp_valid,,,,,,表征目今报文是否携带有用报文时间戳。。。。。。
- rtr
remote_transmission_request,,,,,,表征目今报文是否为远程帧。。。。。。
- eff
extended_frame_format,,,,,,表征目今报文是否为扩展帧。。。。。。
- brs
bit_rate_switch,,,,,,比特率开关。。。。。。
- fdf
CAN flexible data-rate format,,,,,,表征目今报文是否为CANFD报文。。。。。。
- esi
error_state_indicator,,,,,,表征目今是否保存过失帧。。。。。。
- can_bus_id
网段ID,,,,,,由OEM指定,,,,,,若不指定,,,,,,默以为0。。。。。。
- message_timestamp
报文时间戳,,,,,,当mtv=1时,,,,,,该时间戳有用,,,,,,为目今控制指令被吸收/天生的时间,,,,,,需要和TSCF Header中的avtp_timestamp区分。。。。。。
- can_identifier
can报文id,,,,,,11bit标准帧或者29位扩展帧。。。。。。
- can_msg_payload
携带详细的控制信号(CAN协议:0~8字节;;;;;;CANFD协议:0~64字节,,,,,,均需要4字节对齐)。。。。。。
总结
本文主要先容了IEEE 1722协议中的ACF部分,,,,,,划分先容了时间不敏感的NTSCF和时间敏感的TSCF两类报文,,,,,,并讲述了怎样在以太网报文中传输古板控制指令,,,,,,希望读者能对ACF的应用以及报文名堂有个基本看法。。。。。。
ca88官方唯一网站作为OPEN同盟会员和AUTOSAR同盟的高级合作伙伴,,,,,,恒久为海内外各大OEM和供应商提供涵盖TCP/IP、SOME/IP、DoIP、AVB、TSN、DDS等手艺领域的设计和测试咨询服务,,,,,,起劲研发和探索车载网络前沿手艺的工程应用。。。。。。通过多个项目的实践履历,,,,,,已建设了高质量、本土化的设计与测试一体化解决计划,,,,,,为整车网络架构提供可靠支持。。。。。。
联系ca88官方唯一网站
采购部
关注我们
? 2025 ca88官方唯一网站 All Rights Reserved.| 营业执照
京公网安备11010502056670号
在线留言