FlexRay传输过程
FlexRay网络按周期循环组织信息的传送。在传送信息时,一个通信周期有静态的和动态的两个部分。动态段和静态段又由一些时间片构成,每个时间片传输一个FlexRay帧。FlexRay帧是一个有格式的位流。
由于一个FlexRay通信周期的动态部分和符号窗口可以是空的,所以,一个通信周期可以有4种形式如图,其中静态段和网络空闲段必选,动态段和符号窗口是可选的。当前通信周期由通信周期计数器的值标识,这是一个只增计数器,对通信周期进行计数。通信控制器配置数据决定了通信周期的长度,可以由应用程序设置。只有总线处于允许状态下,通信控制器才可以启动一个通信周期。一个结点的信息内容可以在不同的通信周期的特定时间片上多重发送。静态部分和动态部分信息的传送方式是不同的。
![](https://i-blog.csdnimg.cn/blog_migrate/fe0f5edc4ac883dc60f221cd1d046667.jpeg)
FlexRay通信周期的组合形式
FlexRay静态部分具有以下特性:
🔵一个通信周期的静态部分可以由程序设定它的时间片数;
🔵在一个通信周期内,一个结点可以由程序设定它可以使用的时间片;
🔵静态部分在每一个时间片内,最多只允许有一个结点向通道上发送一个帧信息,通信周期的静态部 分按TDMA方式访问媒体;
🔵所有静态部分时间片的长度相同,可以由程序设定;
🔵在一个通信周期第一个时间片之前是通信起始符。
FlexRay动态部分具有以下特性:
🔵在一个通信周期内可以没有或有几个动态时间片;
🔵在一个通信周期内静态部分具有优先访问总线权;
🔵在通信周期的动态部分,采用最小时间片(Mini-Slotting Scheme)和标识符优先的仲裁策略,发 送的信息标识符优先级高的结点获得仲裁;
🔵动态部分的信息长度在网络运行时是可变的。
1、 FlexRay通信周期
FlexRay的一个通信周期包含静态段(Static Segment)、动态段(Dynamic Segment)、符号窗(Symbol Window)和网络空闲向量(Network Idle Time)。
下图所示是FlexRay一个通信周期的时间分层结构。
![](https://i-blog.csdnimg.cn/blog_migrate/67b401eff8d512d86faf41887d9719fc.jpeg)
FlexRay通信周期时间层次
下图所示是只包含静态段和动态段的通信周期示例。
![](https://i-blog.csdnimg.cn/blog_migrate/0137f6efc6260d1838035ff3f8fd0e16.jpeg)
只包含静态段和动态段的通信周期
(1)通信周期的基本执行过程
除了启动阶段,FlexRay通信周期以一个固定的宏时钟数周期性地循环执行。通信周期依次从0到一个可设置的最大值依次计数。总线仲裁基于在静态段和动态段的帧标识符。帧标识符决定了其在通信周期的哪个段和这个段的哪个时间片发送。
![](https://i-blog.csdnimg.cn/blog_migrate/6fb01715cebf30667a350bb48a11ac84.jpeg)
一个FlexRay通信周期的执行过程
(2)静态段
一个FlexRay通信周期的静态段,按照配置值设置其时间片数。所有静态段中的时间片大小相同,由一个以宏时钟为单位的数给出。每个时间片有一个序号,在静态段中将固定的时间片分配给各个结点,在一个通信周期的静态段中,每个结点在一个通道上只能在分配给它的时间片内发送数据帧,而在自己时间片之外的时间只能接收数据。在FlexRay网络运行的时候,这个时间片的分配情况是不允许动态发生改变的。