0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么,以太网能传CAN报文?

经纬恒润 ? 2025-09-09 15:59 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

概述

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): 此类控制报文携带“展示时间戳”信息,适用于需要多执行器协同控制的时间敏感场景(应用示例如下图所示)。

wKgZPGi_3WCAVPriAACl9V8UeG8560.png

ACF TSCF 应用示例图


报文格式

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

wKgZPGi_3ZOAU-WXAABbT9tc7kE666.png


ACF 以太网帧结构示意图


从图中可以看出,对于NTSCF和TSCF这两种报文,是通过不同的ACF AVTPDU Header来区分的,其携带的ACF Msg在报文格式上是没有区别的。接下来分别介绍ACF NTSCF Header、TSCF Header和ACF Message 这三部分的报文格式。

ACF NTSCF Header

wKgZO2i_3cuASrgCAABBquXVDDA030.png

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字段。

wKgZO2i_3euAT3lAAABkWBNKNig779.png

TSCF Header报文结构示意图

? avtp_timestamp
当tv=1时,该字段的值为有效时间戳信息,含义为talker指示listener执行该控制指令的精确时间。

ACF Message
ACF Message是承载具体控制语义的核心内容,紧跟在前面介绍的两种Header后面。一帧AVTP报文中可以携带一个或多个ACF Message。而每一个ACF Message报文也可以拆成ACF Message Header和ACF payload两部分。如图所示。

wKgZO2i_3f6AI-JyAAB70YI7y9E242.png

ACF Message 结构示意图

ACF Message Header包括acf_msg_type和acf_msg_length两个字段:
? acf_msg_type
该字段描述了ACF Message的类型,ACF Message可以封装不同类型的控制报文格式,例如常见的CAN、LIN、MOST等,目前协议支持的类型见下表。

wKgZO2i_3g2AS-f4AAEBn5AfRMQ754.png


? acf_msg_length
因为ACF AVTPDU中可以携带多个ACF Message,通过该字段可以得知当前ACF message的长度,便于listener端解析,需要注意的是,该字段的单位为4bytes。
acf_msg_payload也包含了多个字段,报文格式根据其封装的控制报文类型有所不同,但是和原控制协议基本保持一致。本文则以目前常见的CAN(FD)协议为例,介绍ACF_CAN的payload报文格式。

ACF_CAN message 的payload如下图所示。

wKgZO2i_3ieAE8RgAABgiRK-NLE677.png

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的应用以及报文格式有个基本概念。

经纬恒润作为OPEN联盟会员和AUTOSAR联盟的高级合作伙伴,长期为国内外各大OEM和供应商提供涵盖TCP/IP、SOME/IP、DoIP、AVB、TSN、DDS等技术领域的设计和测试咨询服务,积极研发和探索车载网络前沿技术的工程应用。通过多个项目的实践经验,已建立了高质量、本土化的设计与测试一体化解决方案,为整车网络架构提供可靠支持。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    41

    文章

    5799

    浏览量

    177415
  • CAN
    CAN
    +关注

    关注

    58

    文章

    2949

    浏览量

    469433
  • 音视频
    +关注

    关注

    4

    文章

    542

    浏览量

    30859
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    双通道CAN以太网#CAN以太网#三格电子

    以太网
    三格电子科技
    发布于 :2025年05月12日 13:17:05

    CAN以太网数据交换的研究与分析

    主要介绍将CAN 现场总线以协议中的标准模式接入以太网的方法,实现CAN 网络中的数据和以太网中的数据进行简单交换;给出相应的硬件和软件原理以及重点难点说明。
    发表于 04-07 11:34 ?10次下载

    CAN以太网数据交换的研究与分析

    主要介绍将CAN 现场总线以协议中的标准模式接入以太网的方法, 实现CAN 网络中的数据和以太网中的数据进行简单交换; 给出相应的硬件和软件原理以及重点难点说明。
    发表于 05-15 15:33 ?23次下载

    CAN 以太网接口电路设计图

    CAN 以太网接口电路设计图
    发表于 05-16 16:00 ?4042次阅读
    <b class='flag-5'>CAN</b> <b class='flag-5'>以太网</b>接口电路设计图

    CAN以太网区别

    CAN以太网区别
    发表于 01-21 12:12 ?7次下载

    为什么以太网无法取代CAN

    就人类目前的技术来看,在车辆中以太网只能作为CAN总线的配合,暂时不存在取代CAN总线的可能性。
    的头像 发表于 03-06 16:28 ?1.2w次阅读

    以太网如何转CAN网关

    can转换以太网网关是能够将CAN总线数据转换为以太网数据进行中继的协议网关,说人话就是数据转换器。
    的头像 发表于 12-17 10:32 ?5153次阅读

    车载以太网CAN的区别

    车载以太网CAN的网络扑拓结构不同,车载以太网采用的是点对点的星型拓扑结构,而CAN总线采用的是总线型结构。
    的头像 发表于 02-05 15:41 ?1.1w次阅读

    车载以太网挑战CAN总线

    随着汽车智能化的发展,车载以太网成为先进汽车电子架构必不可缺的一部分,在中心节点,车载以太网已经占据绝对优势地位,但在边缘节点,CANCAN-FD和FlexRay等总线依然占据主要地
    的头像 发表于 03-23 09:09 ?4118次阅读

    CAN以太网中继器的作用是什么

    can以太网中继工具是能够实现CAN总线数据与以太网数据之间相互转换的设备,它的以太网接口多为RJ45类型,
    的头像 发表于 04-19 09:57 ?3879次阅读

    以太网CAN网关应该如何连接使用

    以太网can模块能够让以太网总线上的设备与CAN总线上的设备互发信息,协同使用,是一种常用的CAN数据转换器。那么,它应该如何连接使用呢?
    的头像 发表于 06-20 08:50 ?3123次阅读

    以太网can网关TCP Client模式是怎么工作的呢?

    以太网can网关上集成有以太网接口和CANBUS接口,能够让电脑与CANBUS通讯设备连接
    的头像 发表于 04-28 14:17 ?1633次阅读

    基于以太网的网络管理报文

    公共模块,完成数据链路层以及传输层的报文接收与发送任务。 3)Doip模块基于以太网的通讯协议对UDS数据进行传输,主要实现的基于ISO13400中规定的协议功能。在Doip模块收到Soad模块的诊断
    的头像 发表于 10-04 17:26 ?1940次阅读
    基于<b class='flag-5'>以太网</b>的网络管理<b class='flag-5'>报文</b>

    CAN以太网模块的应用场景

    CAN以太网模块是将CAN总线数据转换为以太网(Ethernet)数据格式的设备,它在许多领域中都有广泛的应用。以下是需要CAN
    的头像 发表于 06-04 09:53 ?1467次阅读

    广成科技CAN以太网模块的作用和应用

    CAN以太网模块是一类能够将CAN总线数据转换为以太网数据的设备,通常用于实现CAN总线与以太网
    的头像 发表于 03-20 13:58 ?728次阅读
    广成科技<b class='flag-5'>CAN</b>转<b class='flag-5'>以太网</b>模块的作用和应用