众所周知,通用以太网是以非同步方式工作的,网络中任何设备都可以随时发送数据,因此在数据的传输时间上既不精准也不确定;同时,广播数据或视频等大规模数据的传输,也会因网络负载的增加而导致通讯的延迟甚至瘫痪。因此,通用以太网技术仅仅是解决了许多设备共享网络基础设施和数据连接的问题,但却并没有很好的实现设备之间实时、确定和可靠的数据传输。
最初,以奔驰为首的德国公司在2000年发明了flexray总线来解决问题,今天tsn标准里最核心的时间触发机制和无缝冗余理念都来自flexray,但flexray传输速率最高仅20mbps,远远不能满足完全无人驾驶的要求,但对于l2级自动驾驶则绰绰有余,这也是奔驰和宝马对tsn不太感冒的原因之一,flexray可以看做轻量级的tsn。
2006年,ieee802.1工作组成立avb音频视频桥接任务组,并在随后的几年里成功解决了音频视频网络中数据实时同步传输的问题。这一点立刻受到来自汽车和工业等领域人士的关注。2012年,avb任务组在其章程中扩大了时间确定性以太网的应用需求和适用范围,并同时将任务组名称改为现在的tsn任务组。
tsn其实指的是在ieee802.1标准框架下,基于特定应用需求制定的一组“子标准”,旨在为以太网协议建立“通用”的时间敏感机制,以确保网络数据传输的时间确定性。同时利用数据整形,确保延迟达到微秒级(一般每桥不超过250微秒),利用framereplication and elimination帧复制和消除,确保无论发生链路故障、电缆断裂以及其他错误,均能强制实现可靠的通讯。此选项确保关键流量的复本在网络中能以不相交集的路径进行传送,只保留首先到达目的地的任何封包,从而实现无缝冗余,达到超高的可靠性,这对无人驾驶尤其重要。
同时还有灵活的资源管理。tsn就仅仅是关于以太网通讯协议模型中的第二层,也就是数据链路层(更确切的说是mac层)的协议标准。请注意,是一套协议标准,而不是一种协议,就是说tsn将会为以太网协议的mac层提供一套通用的时间敏感机制,在确保以太网数据通讯的时间确定性的同时,为不同协议网络之间的互操作提供了可能性。
状态分4种,分别是已公开、工作组(wg)、任务组(tg)和倡议(sponsor)。有关汽车工业的除p802.1dg外,都已公开。不过这并不妨碍tsn在汽车领域的应用。只要有tsn的核心组件即可投入使用,tsn有4个核心组件,分别是时间同步、低延迟、超高可靠性和特定资源管理。
车载tsn的6大核心标准
01
时间同步
所有通信问题均基于时钟,确保时钟同步精度是最为基础的问题,tsn工作组开发基于ieee1588的时钟,并制定新的标准ieee802.1as-rev。它用于实现高精度的时钟同步。对于tsn而言,其最为重要的不是“最快的传输”和“平均延时”,而是“最差状态下的延时”—这如同“木桶理论”,系统的能力取决于最短的那块板,即,对于确定性网络而言,最差的延时才是系统的延时定义。
ieee1588 协议,又称 ptp( precise time protocol,精确时间协议),可以达到亚微秒级别时间同步精度,于 2002 年发布 version 1,2008 年发布 version 2。它的主要原理是通过一个同步信号周期性地对网络中所有节点的时钟进行校正同步,可以使基于以太网的分布式系统达到精确同步,ieee1588ptp时钟同步技术也可以应用于任何组播网络中。
ieee1588 协议的同步原理,所提出的delay request-response mechanism(延时响应机制)如上图,ieee1588 把所涉及到的报文分为 事件报文 和 通用报文,分类依据是:是否在收发报文时需要记录精确时间戳,根据上文中所描述的几种报文,可以进行如下分类:
事件报文(event message) : sync /delay_req/pdelay_req/pdelay_resp。
通用报文(general message) :announce/follow_up/delay_resp /pdelay_resp_follow_up/magnament/siganling。pdelay_req /pdelay_resp/ pdelay_resp_follow_up通过peer延迟机制测量两个时钟端口之间的链接延时,链接延时被用来更正sync和follow_up报文中的时间信息。
ieee802.1as-rev是为以太网第二层所定义的1588规范加以扩展,它的扩展包括了所有域常用peer延迟服务,支持精细时间测量ftm,对链路聚合(802.1ax)的支持,改善的使用范围-包括1步时间戳标准化处理以及针对长链、环的支持,更好的响应能力,这包括了更快的主站交互、降低bmca收敛时间。另外ieee802.1as-rev支持了多域的同步信息传输以及冗余支持能力(可配置冗余路径和冗余主站)。对无线网络采用时间测量提供更好的支持。ieee802.1as-rev的制定得到了avnu联盟的大力支持。
avnu联盟由英特尔、思科和三星哈曼发起,是eavb协议的主要提供者,avnu联盟为ieee802.1as-rev的实施提供协助,能够提供完整的协议栈和测试认证,国内加入avnu的有恒润科技、中国信通院、德赛西威、赫千科技、东信创智、怿星科技。
同时在新出的自适应autosar也对ieee802.1as-rev做了特别支持。也就是说你要用tsn,恐怕是离不开自适应autosar的。
02
低延迟
汽车控制数据可以分为三种,scheduled traffic、reserved traffic、best-effort traffic。
scheduledtraffic如底盘控制数据,没有任何的妥协余地,必须按照严格的时间要求送达,有些是只需要尽力而为的如娱乐系统数据,可以灵活掌握。汽车行业一般要求底盘系统延迟不超过5毫秒,最好是2.5毫秒或1毫秒,这也是车载以太网与通用以太网最大不同之处,要求低延迟。
在tsn标准里,数据则被分为4级,最高的预计延迟时间仅为100微秒。
低延迟的核心标准是ieee802.1qbv时间感知队列。
通过时间感知整形器(time aware shaper,tas)使tsn交换机能够来控制队列流量(queued traffic),以太网帧被标识并指派给基于优先级的vlan tag,每个队列在一个时间表中定义,然后这些数据队列报文在预定时间窗口在出口执行传输。其它队列将被锁定在规定时间窗口里。因此消除了周期性数据被非周期性数据所影响的结果。这意味着每个交换机的延迟是确定的,可知的。而在tsn网络的数据报文延时被得到保障。
tas介绍了一个传输门概念,这个门有“开”、“关”两个状态。传输的选择过程-仅选择那些数据队列的门是“开”状态的信息。而这些门的状态由网络时间进度表network schedule进行定义。对没有进入network schedule的队列流量关闭,这样就能保障那些对传输时间要求严格的队列的带宽和延迟时间。tas保障时间要求严苛的队列免受其它网络信息的干扰,它未必带来最佳的带宽使用和最小通信延迟。当优先级非常高时,抢占机制可以被使用。
在网络进行配置时队列分为scheduled traffic、reserved traffic、best-effort traffic三种,对于schedule traffic而言则直接按照原定的时间规划通过,其它则按优先级,best-effort traffic通常排在最后。qbv主要为那些时间严苛型应用而设计,其必须确保非常低的抖动和延时。qbv确保了实时数据的传输,以及其它非实时数据的交换。
对于特别重要的数据,tsn规定了一个抢占机制,它由802.1qbu/802.3br共同构成。对于ieee802.1qbu的抢占而言,正在进行的传输可以被中断,报文按等级可被分为可被抢占和抢占帧,抢占生成框架,最小以太网帧受到保护的,127字节的数据帧(或剩余帧)不能被抢占。ieee802.1br定义了,设计了快速帧的mac数据通道,可以抢占preemptable mac的数据传输。ieee802.3br也同样可以与ieee802.1qbv配合进行增强型的数据转发。
03
高可靠性
tsn中保证高可靠性主要依靠802.1cb标准。这也是无人驾驶必须用tsn的主要原因,也只有tsn能让整个系统达到功能安全的最高等级asil d级。同样,与自适应autosar的捆绑程度也比较高。
众所周知,l4级无人驾驶需要一个冗余处理器,但是主处理系统和冗余处理系统之间的通讯机制如何建立?这就是802.1cb的用武之地了。802.1cb是两套系统间的冗余,芯片之间的冗余还是多采用pcie交换机的多主机fail-operational机制,两者有相似之处。
对于非常重要的数据,802.1cb会多发送一个数据备份,这个备份会沿着最远离主数据路径交集的路径传输。如果两个数据都接收到,在接收端把冗余帧消除,如果只接受到一帧数据,那么就进入后备模式。在iso/iec 62439-3中已经定义了prp和hsr两种冗余,这种属于全局冗余,成本较高,802.1cb只针对关键帧做冗余,降低了成本。802.1cb标准的制定主要依靠思科和博通。
802.1cb也可以缩写为frer。
frer不仅能提供双失效冗余,也可以提供多失效冗余。
802.1cb也有简单的失效原因分析机制
04
网络资源管理和802.1qci
tsn的网络资源管理主要标准是802.1qcc。这个与车载以太网没有关联,主要用在专业音视频网络领域。802.1qcc用于实现对网络参数的动态配置,以满足设备节点和数据需求的各种变化;
802.1qci保证无人车网络安全的入口管理
802.1qci主要为防止网络攻击和流量过载设计,又称之为ingress policing,它对每个流量都进行过滤和管理,简称psfr,数据流滤波器包括数据id、优先权、滤波值、meter(计量)id、计数器。流程图如下
802.1qci专门对付ddos这样的网络攻击,假如一个数据流流量突然增大,有可能挤压另一个数据流的带宽时,入口管理政策会将数据流整形,强制回到数据流爆发前的状态。
此外,802.1qci还可以对付arp欺骗攻击,arp(address resolution protocol),是根据ip地址获取物理地址的一个tcp/ip协议。主机发送信息时将包含目标ip地址的arp请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该ip地址和物理地址存入本机arp缓存中并保留一定时间,下次请求时直接查询arp缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送arp应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机arp缓存;由此攻击者就可以向某一主机发送伪arp应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个arp欺骗。802.1qci可以识别这种欺骗,并阻止错误信息的发送。
05
车载tsn的具体应用
tsn并未全部完成,由于芯片的开发周期通常都要3-4年,目前只要支持tsn标准中最核心的q802.1as即可算支持tsn标准。
目前主要有三款车载tsn交换机芯片,一片是marvell的88q5050,用在英伟达自动驾驶旗舰pegasus上,另一片是nxp的sja1105tel。88q5050支持802.1qav/qbv,802.1as。sja1105tel还支持802.1qci。还有博通的bcm53162,和sja1105tel一样,除了支持持802.1qav/qbv,802.1as,还支持802.1qci 。支持tsn全部关键协议的芯片预计要等到2022年。
英伟达旗舰自动驾驶平台pegasus
上图为88q5050的内部框架图,88q5050拥有4个固定端口,4个可设置端口,最高支持千兆以太网,尺寸14mm*20mm。
上图为 sja1105tel的内部框架图,只支持5口,价格最低,功耗最低,尺寸最小,只有12mm*12mm。用在自动驾驶领域可能不够,需要使用多片sja1105tel。nxp针对无人驾驶推出的开发平台bluebox就用了3片。
上图为nxp bluebox内部框架图
博通的bcm53162支持的带宽最高,最高可达万比特以太网10gbe。
上图为bcm53162内部框架图,接口最丰富。不过bcm53162的功耗也最高,价格也最高,尺寸也最大,为19mm*19mm,最高运行工作温度上限为85度,nxp和marvell的都可以达105度。
消防余压监控系统中的压差控制器起到什么作用
安信可雷达模组怎么选?看这篇,不踩雷!
骁龙820和天玑800哪个好
食神区块链系统首次在大闸蟹上运用到了区块链RFID技术
matlab7.0是哪一年的_matlab7.0是哪个版本
详细分析车载以太网TSN标准
ARM是什么意思,arm与cpu是什么关系
航空通信平行仿真系统研究
低轨星座通信系统信道分配策略—强占预留信道策略
EDA技术FPGA设计有哪些应用?
华为营收超越中国移动动能转换快
FLOW技术让多平台无缝传输!罗技 MX Anywhere 2S无线鼠标跨越界线的小家碧玉
半导体需求持续强劲,全球晶圆代工展望乐观
极具创意能源屋顶:风能太阳能发电
智慧灯杆招标│大项目!投出个星辰大海!
斥资20亿 ABB厦门工业中心正式启用
小米6配骁龙835首发:性能强,满满黑科技
运放噪声的应用
unity项目优化之资深程序员分享七大方法理顺unity项目
PLC远程监控有什么方式?如何实现?