tag 标签: AVB

相关帖子
相关博文
  • 热度 7
    2022-10-31 10:24
    2378 次阅读|
    0 个评论
    背景介绍 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部件、系统和实车级的测试需求,与君共勉,期待进一步交流和合作。
  • 热度 12
    2022-10-12 10:04
    1701 次阅读|
    0 个评论
    一、 前言 之前的主题 TSN 的发展历史和协议族现状( TSN 时间敏感网络:缘起-面包板社区 (eet-china.com) ) 介绍了 TSN 技术的缘起,最近一期的主题 TSN 协议导读( TSN(Time-Sensitive Networking)协议导读-面包板社区 (eet-china.com) ) 从定时与同步、延时、可靠性、资源管理四个方面,帮助大家了解 TSN 协议族包含哪些子协议,以及这些子协议的作用及功能。相信大家对 TSN 技术已经有了整体的概念。 时间同步作为诸多 TSN 协议的基础,无疑是十分重要的。今天就带大家深入了解 TSN 协议族中 802.1AS 是如何实现时间同步的。 二、 协议基本介绍 802.1AS 通用精确时间协议( Generalized Precision Time Protocol ),将为汽车、工业自动化控制等领域实现精确时间的测量。本章将从基本概念、测量方式入手,再介绍时间同步过程,最后介绍 802.1AS 的新特性及汽车领域 profile 。 1. 802.1AS 概念 1 )基本构成 在 802.1AS 中,时间同步是按照“域”( domain )划分的,包含多个 PTP 节点。在这些 PTP 节点中,有且仅有一个全局主节点( GrandMaster PTP Instance ),其负责提供时钟信息给所有其他从节点。 PTP 节点又分为两类: PTP End Instance ( PTP 端节点)和 PTP Relay Instance ( PTP 交换节点)。其中: l PTP End Instance 或者作为 GrandMaster ,或者接收来自 GrandMaster 的时间同步信息; l PTP Relay Instance 从某一接口接收时间同步信息,修正时间同步信息后,转发到其他接口。 2 ) GrandMaster 的选取 GrandMaster 的选取除了手动设置以外,可以通过比较每个 PTP 节点的属性,自动选出 GrandMaster ,这一策略就是 BMCA ( Best Master Clock Algorithm )。 在 BMCA 建立的过程中,首先各个 PTP 节点将自身时钟属性(比如时钟源)、接口信息放入 Announce 报文中,并发送给 gPTP 域内所有节点,之后 PTP 节点比较自身与接收到的时钟属性,优先级高的 PTP 节点自动成为 GrandMaster 。 3)报文类型 802.1AS 包括两种类型( Message class ) General message 和 Event message ,二者的区别在于,发送或接收 Event message 时,相应的时间戳会被记录,而 General message 则不会。 General message 包括 Announce 、 Signaling 、 Follow_Up 、 Pdelay_Resp_Follow_Up , Event message 包括 Sync 、 Pdelay_Req 、 Pdelay_Resp 。 Announce 报文包含时钟相关信息,并且传输中,会记录途径的各 PTP 节点的 Id 添加到 path trace TLV 中; Signaling 报文包含该 PTP 节点支持的信息,比如是否支持“一步法”、允许的 Announce Interval 等; Sync 报文由 GrandMaster 发送,包含主时钟信息,其他节点计算本地时钟与主时钟的差值,实现同步; Follow_Up 以及 Pdelay_Resp_Follow_Up 则是“两步法”中提供补充时间戳的报文,前者与 Sync 连用,后者与 Pdelay_Resp 连用;最后 Pdelay_Req 与 Pdelay_Resp 一起构成 P2P 测量机制的基础,将在后续章节中详细讲解。 2. 802.1AS 测量过程 为了实现从节点本地时钟与 GrandMaster 时钟同步,需要考虑三个因素: l 时钟频率误差; l 链路延迟; l 驻留时间。 时钟频率误差是指 PTP 从节点的本地时钟频率与 GrandMaster 的主时钟频率很有可能是不同的,而且各 PTP 从节点之间也存在误差,这就造成时间测量基准不同,从而引入误差。 链路延迟( MeanLinkDelay )是指两两 PTP 节点之间通信的链路,在单方向上传播所需要的时间,也称为链路平均传播时间( Mean Propagation Delay )。 驻留时间( residence time )是指 PTP Relay Instance 将接收到的报文转发出去所用的时间,也就是报文停留在 Relay 中的时间。 1) 时钟频率误差测量 802.1AS 为了消除这种误差,采用累积计算相邻节点时钟频率的比值( NeighborRateRatio )的方式,实现将本地时基( Local Clock Timebase )换算成( GrandMaster Timebase )。 举例来说, GrandMaster 的时钟频率为 1MHz ,而与之相邻的 PTP 从节点( A )时钟频率有偏差为 1.3MHz ,对于 A 节点来说 NeighborRateRatio 等于 1.3 。当 A 节点本地时钟度过 2.6s 时,使用 NeighborRateRatio 换算为 GrandMaster 时基,则得到主时钟度过 2s 。对于与 A 相邻的 B 节点,假设其时钟频率为 0.9MHz ,经过累积的 NeighborRateRatio 等于 0.9 ,当 B 节点本地时钟度过 3s 时,主时钟度过 2.7s 。 2) 链路延迟测量 802.1AS 中测量链路延迟采用 P2P 测量机制( Peer-to-Peer delay Mechanism ),假设链路往返延迟一致(链路具有对称性),通过测定四个精确时间戳,计算得出一段链路上的链路延迟( MeanLinkDelay )。 l 对于一段链路,存在两个 PTP 节点,其中 Peer delay initiator (发起者)会主动发出 Pdelay_Req 报文,接收 Pdelay_Req 报文的节点称为 Peer delay responder (响应者); l 在 initiator 端会记录 Pdelay_Req 报文实际的发出时间戳 t1 ,在 responder 端会记录报文实际的接收时间戳 t2 ; l responder 在接收到 Pdelay_Req 后会回复 Pdelay_Resp 报文给 initiator ,这个报文会包含 t2 这一信息; l 在 responder 端会记录 Pdelay_Resp 发送时间戳 t3 ,在 initiator 端会记录接收时间戳 t4 ; l responder 端会在 Pdelay_Resp 之后在发送一个 Pdelay_Resp_Follow_Up 报文给 initiator ,以包含信息 t3 ; l 至此,在 initiator 端有 t1 、 t2 、 t3 、 t4 四个精确时间戳,通过计算 t2-t1 和 t4-t3 就能得到这一链路两个方向( r 、 i )传播的用时( tir 、 tri ),再对其求均值,就能得到这一链路延迟( MeanLinkDelay ); l 对于进行 P2P 测量的双方节点会交替作为 initiator ,从而都能获得该链路延迟( MeanLinkDelay )。 使用 P2P 测量机制,就能得到 gPTP 域中每一段链路延迟,在实际进行同步过程中, PTP Relay Instance 会将从 GrandMaster 开始的链路延迟累积记录在 Follow_Up 报文中的 correctionField 中,再转发出去;同时,对非对称误差的修正(通过测定后,手动设置参数修正),也放在 correctionField 中。 3) 驻留时间测量 驻留时间由 PTP Relay Instance 引入,指的是报文停留在 Relay 中的时间。想要消除其带来的影响相对简单,就是在转发出的 Follow_Up 报文中的 correctionField 中记录这一驻留时间,其他 PTP 节点收到该报文,就能计算得出正确的时间偏移。 3. 时间同步实现过程 802.1AS 中通过手动配置或者 BMCA 确立 GrandMaster 后, GrandMaster 周期发送 Sync 和 Follow_Up 报文提供主时钟基准;在实现节点同步之前,各个 PTP 节点通过 Signaling 报文协商计算 NeighborRateRatio 的间隔、计算 MeanLinkDelay 的间隔等信息;最后,各 PTP 从节点利用已有的 NeighborRateRatio 、 MeanLinkDelay 以及接受到的 Sync 及 Follow_Up 报文,利用 Follow_Up 报文中的 correctionField 信息修正后,就能得出主时钟现在的时刻,从而完成时间同步。 4. 2020 版新特性 在新版的 802.1AS-2020 中,添加了几个重要的新特性,如:多域冗余、支持“一步法”等。下面就来简单了解一下这些特性。 1) 多域冗余 这张图很好地展现了多域冗余特性,主要分为两种方式: l 同一 GM (全局主节点)划分多个域,对每个域生成同步树(即同步路径)实现冗余; l 多个 GM ,每个 GM 维护一个域生成同步树,多个 GM 有主次之分,次要 GM 跟主要 GM 同步,这种方式也称为 hot-standby 。 在图中,左上角的 end station 作为主要 GM ,它划分两个域,为每个域生成一个同步树(即同步路径,分别为蓝色和淡蓝色),右下角的 end station 作为次要 GM 跟主要 GM 同步,此外也划分两个域,为每个域生成同步树(红色和浅红色),这样一共有四个域、四个同步树,确保了冗余。 2) “一步法” 所谓“一步法”(也称为“ on-the-fly ”)是指在发送报文的同时,将在接近物理层的发送时间戳添加到报文中直接发送出去,这样将所需要的信息放在一帧报文中,更加高效,但是需要额外的硬件支持。对于接收节点,同样需要对“一步法”报文解析的能力。 “两步法” Sync 报文 “一步法 ”Sync 报文 与之相对的是“两步法”,这种方法仅在 Sync 或 Pdelay_Resp 报文发送时记录发送时间戳,再把这一信息封装在 Follow_Up 或 Pdelay_Resp_Follow_Up 报文中发送,从而在不需要额外的硬件支持下获得精确的时间戳。 5. 汽车领域 profile 802.1AS 能为汽车领域、工业自动化控制等领域实现精确时间的测量。而针对汽车领域的 profile 目前还未正式发布,这一内容将在 802.1dg 中体现,届时,我们将带来对其的深入解读。 三、结语 以上就是本次对 802.1AS 协议介绍的全部内容了,后续会带来更多 TSN 协议的解读,敬请期待。 北汇信息作为早期探索 TSN 领域的专业团队,能够针对 AVB/TSN 网络架构提供解决方案,包括应用场景设计、需求规范开发、通信系统设计以及演示验证系统开发;针对 AVB/TSN 网络提供系统级测试解决方案,包括系统测试规范开发、系统测试执行与演示;针对 AVB/TSN 节点提供协议族。 最后,北汇信息还提供 AVB/TSN 网络课程,课程介绍了汽车网络架构的发展带来了各种各样的挑战和问题,如何从通讯角度来应对这些挑战,以及当前 TSN 协议的发展现状;对 TSN 各个协议标准进行了剖析,以期听众可以了解 TSN 各个协议的运作机理,为其配置和使用 TSN 网络提供基础。