一文读懂什么是FlexRay?(三)
其中TSS(传输启动序列):用于初始化节点和网络通讯的对接(5~15位的低电平);FSS(帧启动序列):用于补偿TSS后第一个字节可能出现的量化误差(一位高电平);BSS(字节启动序列):给接收节点提供数据定时信息(一位高电平并紧随一位低电平);FES(帧结束序列):用于标识数据帧最后一个字节序列结束(一位低电平紧随一位高电平)。
对于动态区数据还额外需要DST(动态段尾部序列):仅用于动态帧传输,用于表明动态段中传输时动作点的精确时间防止接收段过早检测到网络空闲状态(一位长度可变的低电平和高电平)。
将这些序列和有效位(MSB到LSB)组装起来完成了编码过程,最终构成在网络传播的比特流。
FlexRay通讯
FlexRay总线的通讯由通讯周期(Communication Cycle)构成,从总线启动到停止都在不断重复该通讯周期。每个通讯周期具有相同的可配置时间间隔,且每个通讯周期由静态段(Static Segment)、动态段(Dynamic Segment)、特征窗(Symblo Window)和网络空闲时间(Network Idle Time)四部分构成。
1、静态段(Static Segment)
静态段采用TDMA(Time Division Multiple Access)方式由固定的时隙(Slot)组成,不可更改且所有时隙大小一致。
因此每个节点可拥有一个或多个Slots,这样每个节点在每个通讯周期内都可在其所占有的Slot内发送,两个节点也可在不同的通道上共享同一Slot,单个Slot也可为空(即不被任何节点占用),所有的帧和Slots在静态段都具有相同的长度。单个Slot的长度由总线中最长的FlexRay Message决定,其包括四部分:Action Point Offset、FlexRay Frame、Channel Idle Delimiter(11个隐性位)和Channel Idle。
2、动态段(Dynamic Segment)
动态段采用FTDMA(Flexible Time Division Multiple Access)方式,由较小的时隙(Minislot)组成,可根据需要拓展变动,一般用于传输事件控制型消息。
在动态段每帧可能有不同的长度,动态时隙(Dynamic Slot)的长度依赖于帧的长度,只有空的Slot才是实际的一个Minislot的大小。
3、特征窗(Symblo Window)
用于传输特征符号,FlexRay的符号有三种:
-冲突避免符号:用于冷启动节点的通讯启动
-测试符号:用于总线的测试
-唤醒符号:用于唤醒过程的初始化
4、网络空闲时间(NIT-Network Idle Time)
用于时钟同步处理
如下是一个通讯示例:
FlexRay总结
从上面可看出,FlexRay相比传统LIN、 CAN和CAN FD要更复杂一些,因此不管对OEM还是供应商的能力要求势必提高不少,其次从传统总线技术向FlexRay迁移在成本及Effort上都要增加很多,普遍应用仍需要时间。
参考文献:
1、FlexRay introduction(EB、Vector、BOSCH等资料)