本帖最后由 hirain 于 2020-2-25 10:48 编辑

        在过去的几年间,以太网凭借开放的协议、良好的扩展性以及较高的带宽等优势为自己在车载领域赢得了一席之地。随着车载应用范围的扩大,也有越来越多的以太网技术涌现出来。




        今天我们就来聊一聊时间敏感网络(TSN),让大家快速了解这一技术。话不多说,大家坐稳扶好,我们这就开始啦~



TSN是什么?它能给我们提供什么?
        TSN的全称是Time Sensitive Network即:时间敏感网络(TSN)。大家通过这个名字就大致可以看出其和网络上的时间,更准确的说是传输的延时有关。的确,
服务时间敏感应用及系统,保证数据在准确的时间内以最小的时间抖动进行传输,
是TSN的重要目的之一。



        随着EE架构的升级,未来架构会向着Domain和Zonal型架构发展,除了影音娱乐域之外,以太网也会被应用到诸如车身域,底盘域,ADAS以及主干网上。更为复杂的应用场景,更多的数据类型将给我们的车载网络提出了更高的要求。





图1 Zonal架构举例



        以图1的Zonal架构示意为例,系统在处理传感器数据,发布控制指令等过程中,对于网络提出了很多需求,诸如:





低延迟需求:


系统中涉及的一些安全相关类数据,有低延迟和高确定性的需求。





高鲁棒性需求:


安全相关类数据对于丢帧或者误传的容忍度很低。系统中对此类数据,通过复制发送和多通路发送来实现冗余处理,以提高系统的安全等级。





时间同步需求:


流媒体的同步播放,传感器的数据融合,精准控制指令的发布都需要车内节点的时钟同步来保证。





监控及安全需求:


TBOX的外来数据监控过滤,及车内关键节点数据监控过滤。





表1车载通信数据分类



        同时,根据IEEE 的数据,未来车载数据可大致按照表1分类。我们在表中除了可以发现图1提出的需求之外,还可以看到安全相关类数据的延迟需求为小于1ms,而第一代时间敏感网络AVB无法满足这样的延迟需求(目前AVB仅能实现2ms的延时保证,而且AVB并不关注数据的确定性)。




因此为了满足日益增加的网络需求,TSN协议提供了对应的解决办法:




高等级的时钟同步 (Time-Sync)




更低的端对端延迟及确定性(Quality of Service)




高容错性及高系统鲁棒性(Redundancy)




安全机制(Security)



        图2列举了不同功能下的各个TSN协议。其中,
绿色勾选出来的协议是目前在车载方向应用意义较大的协议。
我们会在后面的文章中详细地介绍各个协议的机制。





图2 车载TSN协议族



        以上用一句话总结:
TSN是以太网在车载领域获得更广泛应用的关键。



车载TSN的应用情况
        TSN本身的技术成熟度不低,虽然TSN协议在车载领域是一个新的技术,但在工业自动化领域中TSN已经被广泛的应用。目前欧洲的一些大型OEM已经开始应用TSN技术,
其中以自动驾驶和辅助驾驶及域间通信等功能为主。预计2022-2023年,将会有整车应用TSN的车型量产。



        芯片厂商目前也对TSN协议族有着良好的支持情况,特别是今明两年量产的下一代产品,例如NXP的SJA1110和Marvell的88Q6113等,都将普遍支持TSN协议。



TSN协议介绍
        通过上面的介绍,我们已经对TSN是什么有了一个初步的认识。下面我们更进一步,通过协议的机制介绍来了解一下TSN是如何运作的。



        总体来看,
TSN协议族主体是一个二层的协议
,属于IEEE 802.1 协议体系(这里除了帧抢占的部分协议802.3bu以外)。因此其Payload形式可以更加灵活,不仅仅局限于IP数据帧,还可传输自定义的数据帧。同时
其机制大部分通过硬件来实现,处理的延迟基本可以忽略不计。



IEEE 802.1AS-Rev 时钟同步机制

时钟同步机制通过节点间同步报文的发送,链路延迟的计算,时滞延迟的叠加最终实现各个节点与主时钟(Grandmaster)的时钟同步。
主时钟会通过报文将自己的原始基准时间(now)告知系统中的其它节点。从主时钟发布时间基准到被其他节点收到,会经历一段时间(t)。以图3为例,主时钟与左下角的终端节点进行同步,主时钟从发布基准时间到被终端节点收到所经历的时间t包含:2段链路延迟(d1, d2)以及一个switch的时滞延迟(r1)。当终端节点收到基准时间的时候其实已经是T=now+d1+d2+r1,那么只要终端节点能够清晰的知道d1, d2和r1(通过同步报文交互实现的,这里就不做详细介绍了,大家有兴趣可以阅读IEEE 802.1AS相关章节)并在收到时间基准的时候把自己的时钟设置成T,就完成了与主时钟的同步。同理,其余被同步节点的时钟计算也是一样的,只是同步链路上的时间t会有所不同。





图3 时钟同步应用示意




整个同步的过程基本沿用了IEEE 802.1AS中的机制。但是IEEE 802.1AS-Rev 在原有的同步机制上扩充了冗余机制
。以图4为例冗余包括:





主时钟冗余:


        现行主时钟(左上角)和热备份主时钟(右下角)实时同步,实时运行。一旦主时钟发生问题,控制器可切换到与备份主时钟同步。





时钟通路冗余:


        每个主时钟维护两条时钟通路(深浅颜色区分),一条发生故障后,可切换至另一条通路。



        因此图4中的同步网络总共维护了4个时钟域,相比IEEE 802.1AS车载中中仅维护一个时钟域的设计,Rev极大的提高了系统的可靠性。



        除此之外,相较IEEE802.1AS,Rev还引入了1588中的one-step的同步机制。相较two-step的机制在一定程度上较小了软件的压力。但目前来看,车载中的必要性不是很强,Rev也可继续沿用two-step的同步机制。





图4 IEEE 802.1AS –Rev 冗余时钟机制 (图片来自IEEE 802.1AS-Rev)



        进度条已然撑不住了,关于TSN的介绍今天就先告一段落吧,希望今天的内容能对大家有所帮助。下一期我们将会介绍上面提到的其余TSN协议。欲知TSN如何降低延迟,如何完成冗余处理,我们下回分解~