背景

AVB(Audio Video Bridging)音视频桥接,是由IEEE 802.1标准委员会的IEEE AVB任务组制定的一组技术标准,包括精确时钟同步、带宽预留和流量调度等协议规范,用于构建一个低延迟、高可靠的车载以太网网络。

2012年11月,AVB任务组变更为“TSN(Time-Sensitive Networking)——时间敏感网络”任务组。TSN在AVB的基础上进一步延伸,从专业音视频领域扩展到工业自动化、移动通讯、汽车等领域。因此掌握AVB协议,可为理解TSN协议打好基础。图1为TSN对AVB的继承和扩展。

图1 AVB和TSN协议对比

AVB/TSN协议标准

AVB包括多个不同的协议,在具体应用时可根据实际情况进行裁剪和选择,取决于功能场景的需求及开发难度(注:实现整个AVB协议族的开发难度很大)。

图2 IEEE 802.1协议标准

为了便于音视频数据的可互操作性,在AVB核心标准基础上,IEEE定义了1722和1733(时间敏感应用传输协议)用于传输音视频数据,满足Talker和Listener之间实时的、高质量的音视频数据传输要求。为保证AVB节点之间的互操作性,IEEE定义了一个应用层协议1722.1,用于满足1722终端设备之间的发现、枚举、连接管理和控制。

图3 IEEE 1722/1733协议标准

AVnu车载以太网AVB功能和互操作性规范

为将AVB协议应用于车载设备,AVnu联盟发布车载以太网AVB功能性和互操作性基础规范——“AVB汽车配置文件”,定义AVB在汽车信息娱乐系统和前视、后视等辅助摄像系统中的应用场景。

AVnu互操作性规范对车载AVB设备以及汽车特定的应用场景做如下约定:

网络和设备启动

  • 端口自协商应被禁止
  • 为了获取AVB设备的内部状态,定义三种车载AVB设备状态:Ethernet_Ready、AVB_Sync和AVB_Media_Ready。通过状态报文获取每种状态的信息,其中状态报文必须携带进入该状态的时间戳
  • 为了约束车辆启动时设备的启动时间,定义车载以太网网络的最大启动时间,以及进入三种状态的最大时间要求

gPTP

  • 预先配置车载网络中GM(Grandmaster)节点,无需使用BMCA(最佳主时钟算法)
  • GM节点启动后应尽可能快的发送同步报文
  • 固定的时钟生成树,Bridge节点的master端口不需要测量路径对等延时
  • 定义Bridge节点对同步报文丢失、不连续、同步恢复等异常情况的处理

媒体格式

  • 减少需要支持的音视频格式,仅定义AVTP音频格式(AAF)、压缩视频格式(H.264、MJPEG)、非压缩视频格式(MPEG2-TS)和时钟参考格式(CRF)相关需求

流预留类别

  • 静态配置所有AVB流预留
  • 对于汽车特定的应用,除了支持标准的SR A和SR B类流,衍生出两个优化的流类,其发送时间间隔为:1333.33µs(64Sample/Frame,48kHz)和1451.25µs(64Sample/Frame,44.1kHz)

异常处理和诊断

  • 定义需要监控并报告的异常处理:以太网链路状态事件和数据丢失,IEEE 802.1AS异常处理,以及IEEE 1722媒体流异常处理
  • 定义一些主要的诊断事件计数,包括以太网接口、以太网桥接、AVB协议,以及IEEE 1722传输

AVnu车载以太网AVB测试认证

为确保AVB设备之间的互操作性,AVnu联盟为汽车行业制定了车载AVB部件级一致性测试计划,用于验证AVB协议标准以及AVnu车载AVB互操作性规范中定义的特殊要求。

图4 汽车行业车载AVB部件级一致性测试计划与对应的IEEE标准

Automotive gPTP

用于验证IEEE 802.1AS-2011标准实现于车载AVB设备的gPTP协议一致性测试,主要包括以下内容:

  • gPTP参数和配置测试
  • 基于IEEE 802.1AS标准定义的gPTP协议状态机测试
  • gPTP-Bridge特定测试三部分

Automotive EndStation

用于验证IEEE P1722/D16-2015标准实现于车载AVB设备的AVTP协议一致性测试,主要包括以下内容:

  • AVTP通用需求测试
  • MPEG-TS和61883-4视频格式测试
  • AVTP音频格式测试
  • MJPEG和H.264压缩视频格式测试
  • 音频时钟参考格式测试
  • 流预留类测试

Automotive Bridge FQTSS and SR Classes

用于验证IEEE 802.1Qav-2009标准实现于车载AVB Bridge的FQTSS协议一致性测试,主要包括以下内容:

  • 端口数据转发测试
  • 基于信用的整形算法验证测试
  • Bridge端口优先级重映射测试

车载AVB协议一致性测试实践

AVB协议配置测试

由于车内采用静态网络拓扑,所有AVB流预留采用静态配置,因此AVnu并未针对汽车AVB设备发布SRP协议一致性测试规范。所以针对OEM/Tier1自定义需求,需对基本的配置和协议参数进行测试验证。

我们通过德国Vector公司的VN5640硬件与被测对象相连接,利用CANoe 12.0+Option Ethernet软件对AVB数据进行实时采集和监控。CANoe可解析gPTP和AVTP的报文头格式,以检测被测对象发送的报文是否符合需求定义。

  • 测试结果分析

如图5所示,选中Trace窗口中的Follow_up帧,左侧窗口会显示该报文数据的解析内容:

  • 目标MAC地址为01:80:C2:00:00:0E,符合802.1AS需求定义
  • Log Message Interval的值为-3,表示Sync和Follow_Up报文的发送周期为2-3=125ms,符合此次需求定义
  • Precise Origin Timestamp为Sync报文离开以太网收发器的时间戳,可解析为UTC时间格式显示

图5 gPTP报文解析图

如图6所示,选中Trace窗口中的AVTP帧,左侧窗口显示该报文数据的解析内容:

  • 目标MAC地址为91:E0:F0:00:FE:01,符合MAAP需求定义
  • Stream ID为MAC ID + Unique ID,符合此次需求定义
  • 该音频数据的信息为:44.1kHz采样率,双声道,16位深度,每帧采样样本为64个样本(AVTP的报文周期为1,451µs)

图6 AVTP报文解析图

AVnu AVB节点的协议一致性测试

在一个gPTP域里,存在End Station和Bridge两种节点类型,同时End Station又分为GM节点和非GM节点。我们采用思博伦的车载AVB一致性测试套件进行测试验证,确保测试活动完全符合AVnu测试计划的要求。

以某非GM节点的gPTP协议一致性测试举例说明。

  • 测试环境

End Station节点的测试环境如图7所示。

图7 AVB部件级测试环境示意图

  • 测试结果分析

部分测试用例的测试报告如图8所示。

图8 End Station(非GM节点)测试报告

对非GM节点进行测试时,需要Tester仿真GM节点发送同步报文,同时还需正确应答非GM节点发送的请求报文。从图8中可以看到此次测试执行中有25条失败条目,其中一半是在测试被测节点的PdelayReq状态机时失败,测试失败项包括wrong sequence ID in Pdelay Response、Lost and late Pdelay Response以及Invalid Pdelay Response等。通过数据分析及确认发现,由于此被测节点的异常处理记录功能存在未实现和实现有误的情况,因此导致对应的测试项失败。

AVnu AVB节点级性能测试和系统级测试

如图9所示,车内不同应用场景对延时有不同的要求。所以除上述的配置测试和一致性测试,还需对AVB节点进行性能测试,包括节点的时间稳定性等。

图9 不同应用场景对时延的要求

对于系统级测试,时间和同步特性同样是测试的重点,包括系统的启动时间、时间同步、时间抖动和延迟等测试场景,这对测试通信硬件接口设备的性能指标(例如被测设备接入后所产生的额外时延等)提出非常高的要求。

我们采用德国TSN Systems公司的TSN Tools软件和TSN Box硬件,实现AVB数据的采集以及时延分析等功能。系统级测试连接示意图如图10所示。
点击下图10可了解如何通过TSN Systems系统平台构建IEEE1733协议的演示和验证系统。

图10 AVB系统级测试接线示意图

小结

当前AVB在汽车行业尚未广泛应用,一方面是从技术必要性的角度考虑,更大的障碍是开发难度的问题。随着基于域控(Domain)/区控(Zone)的网络架构和更高等级自动驾驶对通信的实时性、鲁棒性和安全性提出的更高需求,AVB的升级版TSN将逐渐成为趋势。笔者通过多份技术文档的相互佐证,深信某Global OEM基于新一代E/E架构开发的车型(近期已上市),应用了AVB/TSN部分标准(比如gPTP等),对于AVB/TSN的应用和测试也是为未来进行技术和经验储备。

本文所使用的方案和工具链同步支持AVB/TSN部件、系统和实车级的测试需求,与君共勉,期待进一步交流和合作。

车载以太网第二弹|测试之实锤-AVB测试实践的更多相关文章

  1. 车载以太网第二弹 | 测试之实锤-IOP测试实践

    前言 上一期"物理层PMA测试实践",咱们从环境设备组成.被测对象组成再到测试过程和测试结果,将完整的PMA测试过程做了一个经验分享. 由下层开始逐层"披沙沥金" ...

  2. 车载以太网第二弹|测试之实锤 -DoIP测试开发实践

    前言 车载以太网测试之实锤系列,之前我们已经从环境设备组成.被测对象组成再到测试过程和测试结果分析,分享了完整的PMA测试 .IOP测试 .TC8中的TCP/IP协议一致性测试 .也分享了1000BA ...

  3. 车载以太网第二弹|测试之实锤-TC8 TCP/IP协议一致性测试实践

    前言 车载以太网测试实践系列,我们还分享了PMA测试实践.IOP测试实践 .本期给大家介绍的是TC8中的TCP/IP协议一致性测试(以下简称TCP/IP测试). TCP/IP测试-设备环境组成 TTw ...

  4. 车载以太网第二弹|测试之实锤-1000BASE-T1物理层PMA测试实践

    背景 100BASE-T1方兴未艾,国内外OEM量产车型纷至沓来:为了满足高带宽的应用场景需求(如图像.雷达等数据传输),1000BASE-T1将至已至,如大众MEB平台采用1000BASE-T1总线 ...

  5. 车载以太网第二弹|测试之实锤-1000BASE-T1 IOP测试实践

    背景 车载以太网通信技术在汽车行业的应用速度远超预期,去年本土OEM已经上市了应用100BASE -T1的车型.今年,应用1000BASE -T1的车型预计也将会量产上市.针对测试而言,带来另外一个难 ...

  6. 车载以太网第二弹 | 测试之实锤-物理层PMA测试实践

    前言 本期先从物理层"PMA测试"开始,下图1为"PMA测试"的测试结果汇总图.其中,为了验证以太网通信对线缆的敏感度,特选取两组不同特性线缆进行测试对比,果然 ...

  7. SOA=SOME/IP?你低估了这件事 | 第二弹

    ​        哈喽,大家好,第二弹的时间到~上文书说到v-SOA可以通过SOC.SORS和SOS来分解落地,第一弹中已经聊了SOC的实现,这部分也是国内各大OEM正在经历的阶段,第二弹,我们继续聊 ...

  8. 关于『HTML5』:第二弹

    关于『HTML5』:第二弹 建议缩放90%食用 咕咕咕咕咕咕咕!!1 (蒟蒻大鸽子终于更新啦) 自开学以来,经过了「一脸蒙圈的 半期考试」.「二脸蒙圈的 体测」的双重洗礼,我终于有空肝 HTML5 辣 ...

  9. LCA问题第二弹

    LCA问题第二弹 上次用二分的方法给大家分享了对 LCA 问题的处理,各位应该还能回忆起来上次的方法是由子节点向根节点(自下而上)的处理,平时我们遇到的很多问题都是正向思维处理困难而逆向思维处理比较容 ...

随机推荐

  1. N体模拟数据可视化 LightningChart®

    N体模拟数据可视化 LightningChart ​ N体模拟也许是目前最先进的数据可视化类型之一.事实上,我们现在谈论的不再是以商业为中心的传统数据的可视化,现在它甚至超越了比如振动分析等先进数据源 ...

  2. [cf587D]Duff in Mafia

    二分最大边权,即有些边强制不能被选 接下来,即任意一点上某两边不能同时被选,以及任意一点上颜色相同的两边必须被选择一条 这些限制都可以用2-sat的形式来描述(强制不能选即连边"选-> ...

  3. 使用apt安装docker

    使用apt安装docker # 更新数据源 apt-get update # 安装所需依赖 apt-get -y install apt-transport-https ca-certificates ...

  4. Redis、Zookeeper实现分布式锁——原理与实践

    Redis与分布式锁的问题已经是老生常谈了,本文尝试总结一些Redis.Zookeeper实现分布式锁的常用方案,并提供一些比较好的实践思路(基于Java).不足之处,欢迎探讨. Redis分布式锁 ...

  5. P5509 派遣

    题面传送门. 数论小杂烩( 由题意,对于每个士兵 \(i\),要么选,对答案产生 \(a_i(\frac{x}{i-x})\) 倍的贡献,要么不选,对答案产生 \(1\) 倍的贡献. 由此可知每个士兵 ...

  6. Secant 方法求方程多个根

    Secant 方法介绍 Secant Method 函数 Secant_Methods 简介 1.函数定义 [c, errColumn] = Secant_Method(f, a, b, N, con ...

  7. GWAS初探

    原理 GWAS 的主要方法学依据是归纳法中的共变法,是探究复杂因果关系最主要的科学思维和方法.所谓共变法,是通过考察被研究现象发生变化的若干场合中,确定是否只有一个情况发生相应变化,如果是,那么这个发 ...

  8. NFS FTP SAMBA的区别

    Samba服务 samba是一个网络服务器,用于Linux和Windows之间共享文件. samba端口号 samba (启动时会预设多个端口) 数据传输的TCP端口 139.445 进行NetBIO ...

  9. Java 好用的东西

    Java自带的一些好用的东西: 求一个数的每一位:(toCharArray) int i = 10;char[] s = String.valueOf(i).toCharArray(); 十进制转二进 ...

  10. arm三大编译器的不同选择编译

    ARM 系列目前支持三大主流的工具链,即ARM RealView (armcc), IAR EWARM (iccarm), and GNU Compiler Collection (gcc).     ...