APP下载

静态与动态混合传输模式下FlexRay网络参数设计

2018-10-18李欣颜庞凤颖

车辆与动力技术 2018年3期
关键词:参数设置访问控制静态

李欣颜, 黄 敏, 庞凤颖

(中国北方车辆研究所,北京 100072)

FlexRay网络通信协议设计流程中,首先需要根据整个系统信息传输需求,确定FlexRay的传输媒介访问控制模式以及通信周期划分方案.某车型信息传输需求中既包括对时间确定性要求较强的周期性数据,又包括触发时机不确定的高带宽偶发性数据.因此,需要设计一组FlexRay网络参数,支持静态与动态混合传输的媒介访问控制模式,从而满足上述信息传输需求.

1 FlexRay网络参数概要

1.1 FlexRay媒介访问控制

FlexRay网络采用总线型网络拓扑结构,总线型网络拓扑的本质为多个网络节点复用同一个传输媒介.因此,需要制定相应的传输媒介访问控制机制,合理调度网络上所有节点占用传输媒介的时机.FlexRay规范中,媒介访问控制基于可重复的通信周期(communication cycle),在每一个通信周期内,FlexRay 提供两种媒介访问控制方式.一个是基于时分多路访问(Time Division Multiple Access TDMA)的静态分配方式,一个是基于minislot时间槽的动态分配方式.

通信周期是FlexRay媒介访问控制的基本单元,FlexRay规范将一个通信周期划分为一系列层次化的时间片,从而实现上述静态和动态两种传输媒介访问控制方式.如图1所示,通信周期可划分为4个时间层次.

图1 FlexRay通信周期的时间层次

最高层即为通信周期层,其可划分为静态段、动态段、符号窗口段和网络空闲段,共4个时段.静态段用于实现基于TDMA的静态媒介访问控制方式;动态段用于实现基于minislot时间槽的动态媒介访问控制方式.

第二层为仲裁网格层.仲裁网格层将上一层的时段划分为若干仲裁网格,用于实现FlexRay网络媒介访问控制的仲裁机制.在静态段,仲裁网格由称作static slot的若干连续的时间片构成;在动态段,仲裁网格由称作minislot的若干连续的时间片构成.

第三层为macrotick层.macrotick层将上一层的时间片划分为若干macrotick(MT),并在macro-tick内定义发送动作执行点(action point),作为数据发送的起始点或结束点.在同一个FlexRay网络内,所有节点的macrotick长度应该相同.

第四层为microtick层.microtick层将上一层的macrotick划分为若干microtick( μT ).microtick是FlexRay规范定义的时间片的最小单位,FlexRay上各个节点的microtick长度可以根据需要设置,不需强制保持相同.

1.2 FlexRay网络参数概要

1.2.1 网络参数的类型

如前所述,FlexRay基于层次化的时间片划分,实现其网络传输媒介访问控制功能.由于各个时间片之间存在紧密的依存和制约关系,因此需要设计一组对应的FlexRay网络参数,明确各层级时间片的配置方案,并满足网络上各个节点的媒介访问和信息传输需求.

根据FlexRay网络规范的定义,FlexRay网络参数共分为6种类型[1],见表1.以下将重点讨论与网络媒介访问控制方案设计紧密相关的全局网络参数和节点网络参数.

表1 FlexRay规范包含的网络参数类型

1.2.2 全局网络参数

FlexRay规范要求,以小写字母g开头的全局网络参数,必须在同一网段内的所有节点上设置为相同的值,表2列出了与FlexRay网络传输媒介访问控制相关的全局网络参数,并说明了各参数的单位,设置范围和主要功能,后文将对各参数的设计过程进行说明.

表2 FlexRay全局网络参数

1.2.3 节点网络参数

以小写字母p开头的节点网络参数,可在同一网段内的不同节点上设置为不同的值,表3列出了与FlexRay网络传输媒介访问控制相关的节点网络参数,并说明了各参数的单位.设置范围和主要功能,后文将对各参数的设计过程进行说明.

表3 FlexRay节点网络参数

2 FlexRay网络参数设计

2.1 FlexRay网络参数设计应用需求

某车型FlexRay网络信息传输主要系统需求(System Requirements ,以下简称SR)如下:

SR1)FlexRay网络包含总节点数30个.

SR2)FlexRay网络应支持周期触发强实时信息传输.

SR3)周期触发信息最小传输周期5 ms.

SR4)FlexRay网络周期触发信息传输总有效数据带宽不小于1.6 Mbps.

SR5)FlexRay网络应支持事件触发的偶发性高带宽信息传输.

SR6)事件触发信息最大数据包长度5 KByte,总传输时间小于500 ms.

SR7)FlexRay网络事件触发信息传输总有效数据带宽不小于0.4 Mbps.

SR8)FlexRay单个数据帧负载数据长度不小于20 Byte.

2.2 FlexRay网络参数设计流程

根据以上列出的某车型FlexRay网络传输的主要技术需求,以及FlexRay规范规定的约束条件和计算方法,逐一确定FlexRay的各项网络参数,明确FlexRay的传输媒介访问控制模式以及通信周期划分方案.

2.2.1 位时间参数(gdBit)设置

gdBit参数定义了FlexRay网络上一个数据位的长度,此参数与FlexRay网络有效数据带宽直接相关.根据FlexRay网络规范,gdBit参数单位为μs,可设置值为0.1、0.2、0.4,分别对应的网络波特率为10 Mbps、5 Mbps、2.5 Mbps.根据应用需求SR4)和SR7),系统总有效数据带宽应不小于2 Mbps.考虑系统升级预留,估算系统总有效数据带宽约需要4 Mbps.按总线协议带宽开销与有效数据带宽开销1∶1估算,则总线实际带宽应大于8 MBps.因此,将参数gdBit设置为0.1 μs,对应网络波特率为10 Mbps.

2.2.2 通信周期长度参数(gdCycle)设置

gdCycle参数定义了FlexRay网络上一个cycle的长度,其单位为μs.根据应用需求SR3),周期触发信息最小传输周期为5 ms.因此,将此参数设置为5 000 μs.

2.2.3 MT长度(gdMacrotick)参数设置

gdMacrotick参数定义了一个macrotick(MT)的长度.根据FlexRay规范要求,gdMacrotick参数的设置范围为1~6 μs,为便于测量和计算,将gdMacrotick参数设置为1 μs.

2.2.4 通信周期包含MT数量(gMacroPerCycle)参数设置

gMacroPerCycle参数定义了一个cycle包含MT的数量.此参数与gdCycle、gdMacrotick两个参数关系式如下:

gdMacrotick[μs]=gdCycle[μs]/
gMacroPerCycle.

(1)

根据式(1),代入已设置参数gdCycle、gdMacrotick的值,可计算出gMacroPerCycle参数值应设置为5 000.

如前所述,一个cycle可划分为静态段、动态段等4个时段.根据应用需求SR4)和SR7),周期触发信息与事件触发信息总有效数据带宽之比约为4∶1,两种类型数据信息应分别在一个cycle内的静态段与动态段传输.因此,初步将一个cycle包含的5 000 MT划分为静态段4 000 MT、动态段900 MT.

2.2.5 静态slot数量(gNumberOfStaticSlots)参数设置

如前所述,一个cycle内的静态段由若干static slot构成,gNumberOfStaticSlots参数定义了构成静态段的static slot的数量.FlexRay规范规定,在一个cycle内,一个网络节点可分配一个或多个static slot,用于static Frame传输.某一特定的static slot仅可被分配给网络上的一个节点,即某一特定static slot被某一特定节点独占.根据应用需求SR1),按照每个节点平均分配两个static slot计算,共需static slot数量为60个.考虑节点数增加预留,将gNumberOfSta ticSlots 参数值设置为80.

2.2.6 静态slot长度(gdStaticSlot)参数设置

gdStaticSlot参数定义了静态段内单个静态slot的长度,其时间单位为MT.静态段内所有静态slot的长度应保持相同.根据前节计算结果,将cycle内静态段总长度设置为4 000 MT,静态slot数量设置为80,因此,可计算出单个静态slot长度gdStaticSlot参数值应设置为50.

2.2.7 静态slot内发送动作执行点(gdActionPoin tOffset)参数设置

gdActionPointOffset参数定义了静态Slot内数据帧发送动作执行点相对于Slot起始点的位置,其时间单位为MT.根据FlexRay规范规定,gdAction PointOffset参数设置的约束条件如下:

gdActionPointOffset[MT]≥ceil
((gAssumedPrecision[μs]-
gdMinPropagationDelay[μs]) /

(gdMacrotick[μs/MT]×

(1-cClockDeviationMax))).

(2)

根据FlexRay规范定义,同步精度参数gAssumedPrecision受节点时钟漂移率、最大传输延迟等参数影响.经估算,取此值为4.25 μs.FlexRay规范推荐最小传输延时参数gdMinPropaga-tionDelay一般取值为0.前节已确定MT长度参数gdMacrotick等于1.FlexRay规范定义,节点时钟频率误差最大值常数cClockDeviationMax取值为0.001 5.将以上各参数值代入式(2),可得gdAc-tionPointOffset参数值应设置为5.

2.2.8 静态帧负载数据长(gPayloadLengthStatic)参数设置

gPayloadLengthStatic参数定义了在静态slot内发送的静态Frame的负载数据长度,其单位为Word(2 Byte).根据应用需求SR8),因此将gPayloadLengthStatic参数值设置为12,则负载数据长度等于24,满足应用需求SR8.

2.2.9 动态段minislot数量(gNumberOfMinislots)参数设置

如前所述,一个cycle内的动态段由若干minislot构成,gNumberOfMinislots参数定义了构成动态段的minislot的数量.FlexRay动态帧在动态slot内发送,一个动态slot由若干个minislot构成.根据应用需求SR1),假设每个节点分配一个动态slot,每个动态slot平均包含2个minislot,则gNumberOfMinislots参数应大于60,考虑节点数增加预留,将gNumberOfSt-aticSlots 参数值设置为90.

2.2.10 minislot长度(gdMinislot)参数设置

gdMinislot参数定义了动态段内单个minislot的长度,其时间单位为MT.动态段内所有minislot的长度应保持相同.根据前节计算结果,将cycle内动态段总长度设置为900 MT,minislot数量设置为90,因此,可计算出单个minislot长度gdMinislot参数值应设置为10.

2.2.11 minislot内发送动作执行点(gdMinislotAct-ionPointOffset)参数设置

gdMinislotActionPointOffset参数定义了minislot内数据帧发送动作执行点相对于minislot起始点的位置,其时间单位为MT.有别于静态段,在动态段内,数据帧发送应起始于动态slot内的首个minislot的ActionPoint,且结束于动态slot内的最后一个minislot的ActionPoint.

gdMinislotActionPointOffset参数设置约束条件与式(2)相同,因此,此值也设置为5.

2.2.12 符号窗口段长度(gdSymbolWindow)参数设置

gdSymbolWindow参数定义了一个cycle内符号窗口段的长度,其单位为MT.由于符号窗口功能暂不使用,故此参数设置为0.

2.2.13 网络空闲段长度(gdNIT)参数设置

gdNIT参数定义了一个cycle内网络空闲段的长度,其单位为MT.每个cycle内都包含一个网络空闲段.在此段之内,不进行任何数据发送.FlexRay网络各节点的同步相位校正或同步频率校正在此时段内完成.gdNIT参数值设置应满足式(3).

gdNIT= gdCycle-

gNumberOfStaticSlots×gdStaticSlot-

gNumberOfMinislots×gdMinislot.

(3)

将已确定的各参数代入式(3),可得到gdNIT参数应设置为100.

2.2.14 μT长度(pdMicrotick)参数设置

pdMicrotick参数定义了FlexRay节点的microtick(μT)长度,其单位为μs.FlexRay网络规范规定,pdMicrotick可取值分别为0.012 5、0.025、0.05、0.1.此项参数由节点的采样周期gdSampleClockPeriod和采样点数量pSamplesPer-Microtick决定,其关系见式(4).

pdMicrotick=gdSampleClockPeriod×
pSamplesPerMicrotick.

(4)

采样周期gdSampleClockPeriod设置为0.012 5 μs,采样点数量pSamplesPerMicrotick设置为2,可计算得出采样周期参数值为0.025.

2.2.15 通信周期包含μT数量(pMicroPerCycle)参数设置

pMicroPerCycle参数定义了一个cycle内包含的μT数量.其取决于cycle长度gdCycle和μT长度pdMicrotick两个参数,关系式如式(5)所示.

pMicroPerCycle=gdCycle/pdMicrotick

(5)

gdCycle参数值已设置为5 000,pdMicrotick参数值已设置为0.025,可计算得出pMicroPerCycl参数值为200 000.

2.2.16 动态帧最大负载数据长度(pPayloadLe-ngthDynMax)参数设置

pPayloadLengthDynMax参数定义了在动态段传输的动态数据帧的最大负载数据长度,其单位为Word(2 Byte).有别于静态段传输的静态帧,FlexRay不同节点发送的动态数据帧长度可以不同,同一节点两次发送的动态数据帧长度也可以不同.因此,需要设定节点允许发送数据帧的最大负载长度,从而保证可变长度数据帧在固定长度的动态段内能够发送完成.

根据应用需求SR6),设置动态帧最大负载长度为36 Word(72 Byte),单个节点在一个cycle(5 ms)发送一次动态帧,则在500 ms内共发送100帧,7.2 KByte数据,满足应用需求SR6).

2.2.17 允许发送动态帧的最后一个minislot(pLatestTx)参数设置

pLatestTx参数定义了动态段允许发送动态帧的最后一个minislot位置.如前所述,网络动态段共包含90个minislot,且动态帧负载最大长度为72 Byte.为了保证包含最大负载的动态帧能够在动态段发送完成,需要设定一个节点在动态段允许发送动态帧的最后位置,此位置由pLatestTx定义,其约束条件见式(6).

pLatestTx[Minislot]≤
floor(gNumberOfMinislots[Minislot]-
(((aFrameLengthDynamic[gdBit] +
vDTSLowMin) × gdBitMax〗
[μs/gdBit]) / (gdMacrotick[μs/MT]×
(1-cClockDeviationMax)×gdMinislot

[MT/Minislot]) ) -gdDynamicSlotIdlePhase

[Minislot]).

(6)

将各参数值代入式(6),得出 pLatestTx[Minislot] ≤80.为保险起见,将此参数设置为79.即节点在一个cycle内minislot计数达到80时,便不可再进行动态数据帧发送.

2.3 FlexRay网络参数验证

前节计算过程中,确定了与FlexRay传输媒介访问控制相关的主要网络参数共17个,如表4所示.

表4 FlexRay全局网络参数设置结果

将表4中的FlexRay网络参数设计结果输入FlexRay网络数据库设计工具Vector FIBEX Explorer Pro/FlexRay(Version3.3),利用其提供的一致性检验工具进行校验,校验结果是该组参数满足FlexRay规范规定的所有约束条件.

Vector FIBEX Explorer Pro/FlexRay软件可生成包含该组网络参数的标准接口控制文件——FIBEX(Field Bus Data Exchange Format)文件,将生成的FIBEX文件导入FlexRay网络仿真测试工具Vector CANoe(Version 10.0 SP3)进行网络仿真.仿真结果表明,采用该组参数的FlexRay网络运行正常,能够满足2.1节列出的某车型对FlexRay网络信息传输的各项应用需求.

3 结 论

根据FlexRay规范相关的约束条件和计算方法,设计得出的一组FlexRay网络参数(如表4所示),支持静态和动态两种模式混合传输的FlexRay网络设计方案.该方案满足某车型在同一网段上同时传输周期性、强实时数据与偶发性、高带宽数据的应用需求;网络节点容量可达到30个;网络传输带宽不小于2M bps;支持长数据包传输,长度为5 KByte的数据包总传输时间小于500 ms.

猜你喜欢

参数设置访问控制静态
最新进展!中老铁路开始静态验收
静态随机存储器在轨自检算法
逃生疏散模拟软件应用
ONVIF的全新主张:一致性及最访问控制的Profile A
蚁群算法求解TSP中的参数设置
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
RTK技术在放线测量中的应用
油罐车静态侧倾稳定角的多体仿真计算