跨桥接网络实现面向数据分组的通信已成为一项全球标准。如今,它广泛应用于各种不同规模和复杂性各异的系统中,例如服务器和飞机、小型遥控设备、远程传感器以及许多物联网(IoT)应用。
由于以太网与物理层分离,所以可通过不同的物理介质对以太网帧或IP数据包进行透明传输。因此,通过不同网络类型进行连接的设备彼此之间可以无缝通信。例如,使用蜂窝连接的手机和使用INICnet™(ISO21806)网络的车载控制单元(通过汽车远程信息处理单元或网关)进行通信。IP数据包可从发送方路由到接收方。
如此看来暂且还好,但是在传输时间、延迟时间、抖动和丢包方面,情况如何呢?遗憾的是,原始以太网存在不确定性,也就是说,它无法控制允许设备发送数据的时间和数据量,也无法控制数据包的传输路径。两个设备之间的传输时间总是变化,并且在网络拥塞时可能会发生丢包情况。对于必须确保低延迟和信息传递的关键型应用,这样的特性是不匹配的。
专有的总线和网络技术具有低延迟和确定性,但只能成为一种有限的解决方案。所有市场都趋向于不依赖任何特定制造商的标准化开放技术。此外,标准技术既不需要特殊的专业知识,也无需复杂且昂贵的网关。
因此,业界社区多年来一直在研究以太网的弱点。随着时间的推移,市场上出现了各种用来改善以太网实时特性的解决方案,其中包括AVB/TSN。
IEEE工作组于2008年开始制定音视频桥接(AVB)技术。当时的目标是为了改善通过以太网进行时间关键型音频和视频数据传输的特性。术语AVB不仅包含IEEE 802.1BA标准,还包含以下标准:
- IEEE 802.1AS:时间同步
- IEEE 802.1Qav:调节交换机中帧的传输和中间缓冲
- IEEE 802.1Qat:音频流和视频流的动态带宽分配
- IEEE 1722:传输协议
- IEEE 1722.1:支持AVB的网络和设备的动态配置
该标准于2011年完成定稿并发布,最初用于各种多媒体应用,后来用于工业领域,专门用来传输时间关键型命令或传感器数据。随着AVB技术在非多媒体领域的应用逐渐引起更多关注,IEEE成立了一个名为“时间敏感网络”(TSN)的新工作组。TSN工作组采用了AVB工作组的标准,并在专业音频视频、工业、汽车和航空航天等领域解决了更广泛的应用问题。
在汽车领域,至今仍在沿用最初的AVB标准,但在某些情况下已开始使用TSN工作组的修订版。本文主要讨论AVB标准,此标准可视为等同于TSN标准。
图1:AVB系统通常可实现这些要素的不同子集
使用gPTP进行时间同步
通用精密时间协议(gPTP-IEEE 802.1AS)是所有支持AVB的系统的共同基础。其用途类似于计算机领域中广为人知的网络时间协议(NTP)。NTP确保计算机时钟在本地网络中与参考时间同步,在最佳应用条件下可达到毫秒级精度。该精度可以完全满足计算机和服务器的需求,但对于同步或时间关键型应用来说则太不精确。
图2:gPTP基准与gPTP客户端之间的交互
gPTP可确保以太网设备中具有更加精确的时基,通常可达微秒级甚至纳秒级。实质上,gPTP包括两种机制:基准时间分发和传输时间计算。
时间从一个或多个时间基准节点(根据IEEE标准为“gPTP主机”)分发到一个或多个客户端(根据IEEE标准为“gPTP从机”)。类似于IEEE 1588的两步过程,gPTP总是连续发送两个帧:“Sync”和“Sync Follow-Up”。客户端使用其中包含的时间戳将其本地时钟重置为基准时间,从而确保网络中的所有设备都使用完全相同的时基。
但是,只有将整个网络所需的传输时间也考虑在内,才能确保很准确的时基。要实现这一点,应在直接相邻的节点之间始终成对执行对等延迟测量。这样,每个节点所测传输时间的总和会产生对等延迟值,继而可根据该值校正gPTP时间。
传输协议
IEEE 1722-AVTP
音视频传输协议是通过以太网AVB技术传输音频/视频数据以及时间关键型数据的标准传输协议。它是一种用于通过MAC地址访问设备的轻量级ISO/OSI Layer2协议。因此,这种方式无需集成全部的IP协议栈,有助于最大限度地减小项目和设计的规模、成本和复杂性。
IEEE 1733-RTP/RTCP
RTP和RTCP(IETF RFC 3550)均为基于IP的网络协议,适用于通过以太网传输音频和视频数据。这些协议多年来已广泛用于各种工业级和消费类设备,包括视频监控摄像头和对讲设备。IEEE 1733是RTP/RTCP的改编版本,适用于通过AVB进行同步传输,因此可作为基于IP的解决方案替代IEEE 1722。
流量整形
以太网网络通常由大量端点(计算机和电子设备)和网桥(交换机和网关等)组成。无论选择哪种传输协议,数据都会封装成以太网帧,然后从发送方通过多个网桥(跃点)路由到接收方。帧的传输方式和传输时间存在不确定性。传输路径上的网桥将以较快或较慢的速度进行帧转发(存储转发和直通转发)。在网络拥塞的情况下,这些帧有时需要缓冲一段时间,在最糟情况下甚至可能会丢失。
工业和汽车系统应具有较低的确定性延迟,并且最重要的一点,必须确保无丢帧风险的可靠传输。流量整形(“IEEE 802.1Q-服务质量”部分)可解决此需求。流量整形定义了网桥根据帧的优先级对帧进行处理的策略。流量整形有几种标准,例如:
- IEEE 802.1Qav:时间敏感流的转发和排队增强功能(FQTSS),有时称为“基于信用值的整形器”(CBS)。
- IEEE 802.1Qbv:调度流量的增强功能,通常称为“时间感知整形器”(TAS)
- IEEE 802.1Qch:循环排队和转发
- IEEE 802.1Qcr:异步流量整形
汽车行业主要使用CBS和TAS。
CBS-基于信用值的整形器(802.1Qav)
使用基于信用值的整形器时,每个以太网设备都会获得一个用于发送帧的信用值。只要信用值仍为正数,设备就可以继续发送帧。当信用值用完后,设备将无法再发送帧。必须等到补充信用值后才能再次开始发送。
该策略可确保带宽的有效利用。其中没有预定义的时隙。如果端点需要间歇性地发送数据,则可以累积其信用值,然后一次全部用完。使用CBS配置AVB网络比较简单。
TAS-时间感知整形器(802.1Qbv)
与Qav不同,IEEE 802.1Qbv策略依赖于时隙模型。该策略并非基于要发送的数据量,而是侧重于传输的频率。节点不能再进行任意时长的发送,但允许进行很规律地传输。这意味着可以实现更低且更具确定性的延迟。
而Qbv的缺点是,无法确保网络带宽始终得到有效利用。如果端点不使用其时隙,将会丢失这些时隙以及带宽。但这种影响可通过使用帧抢占模式进行抵销(IEEE 802.1Qbu)。
与AVNU的互操作性
系统架构师可以通过各种可用的组件来实现AVB。可以根据系统要求实现不同的AVB子集。虽然这有助于最大限度地减少硬件组件(仅实现实际所需的组件),但也可能会导致一些互操作性问题,因为不同供应商提供的设备不一定支持完全相同的AVB功能。而且,工程师有时会以不同的方式来解释IEEE标准,从而使情况变得更加复杂。
为了确保供应商之间实现互操作性,AVNU联盟为汽车领域制定了“以太网AVB功能和互操作性规范”,其中定义了每个设备中应实现的AVB子集和相关参数的基准。对于支持AVB的设备,可以经由外部测试机构或使用内部专用测试设备测试其AVNU兼容性。
实际实现
图3:典型的以太网AVB评估系统
在实际应用中,支持AVB的网络包括多个组件:交换机、PHY和端点。所有交换机和端点都必须支持AVB才能实现所需的性能。
得益于IEEE标准、AVNU和OpenAlliance(注:检查R/TM标记)规范,不同供应商提供的组件(如PHY和交换机)如今可实现高水平的互操作性。
但是,在端点中实现AVB仍然是一项复杂而繁琐的任务。这些系统通常基于SoC或高端单片机而开发,其中需要集成许多软件:实时操作系统、Autosar架构以及AVB协议栈,这些软件通常需要从第三方获得相应的授权。AVB端点(比如Microchip的LAN9360)是一个令人关注的替代方案。这些端点由一种集成AVB协议的智能以太网控制器组成。因此,AVB可以直接部署为基于硬件的解决方案,而无需进行软件开发。
结论
自IEEE的AVB工作组成立以来,AVB/TSN技术现在已达到很高的成熟度水平。“AVB汽车”已经上路,越来越多的原始设备制造商开始参与其中。得益于其开放式的标准化技术,许多具有互操作性的硬件和软件已作为优化的COTS产品供人们使用。在过去,“全以太网汽车”愿景曾备受质疑,而如今它不再是遥不可及的空想。