文件概况
FIBEX文件是flexray的数据库文件,相当于CAN的DBC。
首先得了解这种文件的架构,就像下图那样,所以本文也是按照这个架构来进行展开讲解。project和PROCESSING-INFORMATION都是次要的,最重要的是ELEMENTS里面的5个元素。每个集群里面可以包含很多通道,通道里面又有节点,节点下有报文、报文下有信号,所以这个集群是最大的,一般只需要一个。
vector提供了一些Demo给我们参考,譬如这个FIBEX_example.xml其实就是一个xml格式的文件
文件打开
vector有个标准的FIBEXExplorer软件可以打开这一类文件,默认路径在C:\Program Files (x86)\Vector FIBEX Explorer\Exec32。打开之后大致内容如下图。
文件解析
文件头部
这种都是xml文件比较常规的写法,就不再赘述了。
<?xml version="1.0" encoding="UTF-8"?>
<!--DaVinci Network Designer document-->
FIBEX外围
其实就是标注一些可以帮助理解这些数据库文件的网址,这些网址要Ubuntu才能打开,里面包括CAN、LIN、FlexRay等。
<fx:FIBEX xmlns:fx="http://www.asam.net/xml/fbx" xmlns:ho="http://www.asam.net/xml" xmlns:can="http://www.asam.net/xml/fbx/can" xmlns:lin="http://www.asam.net/xml/fbx/lin" xmlns:flexray="http://www.asam.net/xml/fbx/flexray" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vi="http://www.vector-informatik.com/xml/fbx/vector-flexray" xmlns:all="http://www.asam.net/xml/fbx/all" xsi:schemaLocation="http://www.asam.net/xml/fbx/all http://www.asam.net/xml/fbx/2_0_0d/xsd/fibex4multiplatform.xsd" VERSION="2.0.0d">
……
</fx:FIBEX>
PROJECT
PROJECT标注了个ID是Project_1,一般就一个工程,什么名字不重要,自动生成的就是这名字。
里面有两个东西SHORT-NAME就是个别名,导入到工具里面才会显示的,DESC是内容描述,写一些标注给自己看。
<fx:PROJECT ID="Project_1"><ho:SHORT-NAME>FlexRay_InCycleMux_Demo</ho:SHORT-NAME><ho:DESC>FIBEX example V1.0 that models a demonstration of the in-cycle multiplexing of frames. (C) 2007 Vector Informatik GmbH, Stuttgart, Germany</ho:DESC>
</fx:PROJECT>
ELEMENTS
来到我们的重头戏,里面有CLUSTERS、CHANNELS、ECUS、FRAMES和SIGNALS。
CLUSTERS
里面有很多个CLUSTER,我们这里只有一个,标注了ID和类型。
<fx:CLUSTER ID="Cluster_1" xsi:type="flexray:CLUSTER-TYPE">
……
</fx:CLUSTER>
下面用原代码给大家讲解下具体内容意思
<fx:CLUSTER ID="Cluster_1" xsi:type="flexray:CLUSTER-TYPE"><ho:SHORT-NAME>FlexRay_Cluster</ho:SHORT-NAME>别称<fx:SPEED>10000000</fx:SPEED>通信速度<fx:IS-HIGH-LOW-BIT-ORDER>true</fx:IS-HIGH-LOW-BIT-ORDER>数据传输时采用高位在前(MSB)的字节序<fx:BIT-COUNTING-POLICY>SAWTOOTH</fx:BIT-COUNTING-POLICY>位计数策略为锯齿波模式<fx:PROTOCOL xsi:type="flexray:PROTOCOL-TYPE">FlexRay</fx:PROTOCOL>协议类型为FlexRay<fx:PROTOCOL-VERSION>2.1</fx:PROTOCOL-VERSION>协议版本<fx:CHANNEL-REFS><fx:CHANNEL-REF ID-REF="Channel_1"/>Cluster_1通道Channel_1</fx:CHANNEL-REFS><fx:MEDIUM>ELECTRICAL</fx:MEDIUM>电气线路作为FlexRay通信的基础物理媒介<flexray:COLD-START-ATTEMPTS>8</flexray:COLD-START-ATTEMPTS>冷启动尝试次数设置为8次,在系统初始化期间,如果未能成功启动通信,将最多尝试8次来建立同步和确定时钟参数。<flexray:ACTION-POINT-OFFSET>2</flexray:ACTION-POINT-OFFSET>动作点偏移量设置为2,动作点是指在一个时隙内发送数据的实际起点,这个值决定了相对于时隙起始边界的延迟。<flexray:DYNAMIC-SLOT-IDLE-PHASE>1</flexray:DYNAMIC-SLOT-IDLE-PHASE>动态插槽的空闲阶段设置为1。动态插槽的一部分时间可以用来做为空闲状态,此设置决定动态时隙开始时的空闲周期数。<flexray:MINISLOT>5</flexray:MINISLOT>最小插槽(Minislot)长度设置为5单位时间。在FlexRay通信中,最小插槽用于非常短的、实时性要求高的消息传递,比如网络管理指令等。<flexray:MINISLOT-ACTION-POINT-OFFSET>2</flexray:MINISLOT-ACTION-POINT-OFFSET>最小插槽(minislot)的动作点偏移量为2。这意味着在最小插槽内,数据实际传输开始的位置会有一个2单位时间的延迟。<flexray:N-I-T>7</flexray:N-I-T>Network Initialization Time设置为7,初始化的时间参数,在网络启动时用于同步节点间的时间,并确定全局时钟。<flexray:SAMPLE-CLOCK-PERIOD>0.012500</flexray:SAMPLE-CLOCK-PERIOD>采样时钟周期<flexray:STATIC-SLOT>24</flexray:STATIC-SLOT>静态插槽,是预先分配给固定消息传输的时隙,它们在每个通信周期中的位置是固定的。<flexray:SYMBOL-WINDOW>0</flexray:SYMBOL-WINDOW>符号窗口是一个接收器解码信号时的容错区间,0代表没有额外的容错时间。<flexray:T-S-S-TRANSMITTER>9</flexray:T-S-S-TRANSMITTER>Transmitter Start of Symbol表示从帧开始到第一个符号实际发送出去的时间间隔,它是衡量FlexRay通信中发送器侧精确度的一个关键参数。<flexray:WAKE-UP>开启了对FlexRay唤醒信号的配置区域<flexray:WAKE-UP-SYMBOL-RX-IDLE>59</flexray:WAKE-UP-SYMBOL-RX-IDLE>接收端(RX)在接收到唤醒信号之前可以处于空闲状态的最长时间,这里的值是59个符号周期。当节点处于休眠状态时,必须在这个时间内检测到有效的唤醒信号才能成功唤醒。<flexray:WAKE-UP-SYMBOL-RX-LOW>50</flexray:WAKE-UP-SYMBOL-RX-LOW>醒信号在接收端(RX)上识别有效唤醒序列所需要的最低持续低电平符号数,这里是50个符号周期。<flexray:WAKE-UP-SYMBOL-RX-WINDOW>301</flexray:WAKE-UP-SYMBOL-RX-WINDOW>接收端(RX)检测唤醒信号的有效窗口大小,也就是在接收到唤醒序列后,还会等待多少个符号周期以确认是否还有更多的唤醒信号。这里的值是301个符号周期。<flexray:WAKE-UP-SYMBOL-TX-IDLE>180</flexray:WAKE-UP-SYMBOL-TX-IDLE>发送端(TX)在发送唤醒信号前可以保持空闲状态的最长时间,此处为180个符号周期。<flexray:WAKE-UP-SYMBOL-TX-LOW>60</flexray:WAKE-UP-SYMBOL-TX-LOW>发送端(TX)在发送唤醒信号时,连续低电平符号的最少持续时间,这里是60个符号周期。</flexray:WAKE-UP><flexray:LISTEN-NOISE>2</flexray:LISTEN-NOISE>设置的是FlexRay网络中的噪声容忍等级,,“Listen Noise”表示节点在监听信道时可接受的噪声水平,影响着节点能否准确判断出是否有信号正在传输。<flexray:MACRO-PER-CYCLE>3636</flexray:MACRO-PER-CYCLE>每个通信周期内的宏数量,一个“Macro”是一个基本的时间单位,由多个“Microslots”组成,用于组织和规划整个通信周期内的资源分配。<flexray:MACROTICK>1.375000</flexray:MACROTICK>Macrotick的时长,Macrotick是FlexRay协议中更高级别的时间单位,用来描述宏周期内的时隙划分。<flexray:MAX-INITIALIZATION-ERROR>2.648000</flexray:MAX-INITIALIZATION-ERROR>最大初始化误差网络启动时,所有节点需要同步至同一个全局时钟,该参数规定了节点间时钟同步允许的最大偏差。<flexray:MAX-WITHOUT-CLOCK-CORRECTION-FATAL>2</flexray:MAX-WITHOUT-CLOCK-CORRECTION-FATAL>在没有进行时钟校正的情况下,允许的最大致命错误次数。超过这个阈值可能会导致节点退出网络或者进入故障模式。<flexray:MAX-WITHOUT-CLOCK-CORRECTION-PASSIVE>2</flexray:MAX-WITHOUT-CLOCK-CORRECTION-PASSIVE>类似上一个设置,但针对的是非致命错误,即在此参数范围内,即使未进行时钟校正,节点仍能以被动模式继续参与网络通信,但可能会影响数据传输质量。<flexray:NETWORK-MANAGEMENT-VECTOR-LENGTH>0</flexray:NETWORK-MANAGEMENT-VECTOR-LENGTH>网络管理向量长度设置为0,网络管理向量用于存储和传输网络管理信息,如节点状态和配置信息。这里的值为0表示当前集群在初始化时不包含任何网络管理向量信息。<flexray:NUMBER-OF-MINISLOTS>289</flexray:NUMBER-OF-MINISLOTS>集群中的最小插槽数量为289个。最小插槽(Minislots)是FlexRay通信中的一种短时间片断,主要用于网络管理和其他简短的数据传输需求。<flexray:NUMBER-OF-STATIC-SLOTS>91</flexray:NUMBER-OF-STATIC-SLOTS>静态插槽(Static Slots)在每个通信周期中具有固定位置和持续时间,主要用于传输定期且固定周期的高优先级数据。<flexray:OFFSET-CORRECTION-START>3632</flexray:OFFSET-CORRECTION-START>偏移校正开始位置为第3632个Macrotick(宏观时隙),偏移校正是为了使网络中的各个节点时间同步而进行的一种机制。<flexray:PAYLOAD-LENGTH-STATIC>8</flexray:PAYLOAD-LENGTH-STATIC>静态插槽中数据载荷(Payload)的标准长度为8个字节。这表示在静态时隙中传输的消息默认最大数据包大小。<flexray:SYNC-NODE-MAX>15</flexray:SYNC-NODE-MAX>同步节点在FlexRay网络中负责维持网络时间同步及调度任务。<flexray:CAS-RX-LOW-MAX>87</flexray:CAS-RX-LOW-MAX>接收端(Rx)在Collision Avoidance Slot(CAS,碰撞避免时隙)中允许的最大低电平持续时间<flexray:CAS-RX-LOW-MIN>29</flexray:CAS-RX-LOW-MIN>接收端(Rx)在CAS中允许的最小低电平持续时间<flexray:BIT>0.100000</flexray:BIT>单个比特(bit)的传输时间<flexray:CYCLE>5000</flexray:CYCLE>FlexRay通信的主循环周期(Cycle),即每个通信周期的总时长<flexray:CLUSTER-DRIFT-DAMPING>2</flexray:CLUSTER-DRIFT-DAMPING>集群漂移阻尼系数,这是一种调节算法参数,用于控制FlexRay网络中各个节点时钟漂移的影响。<flexray:OFFSET-CORRECTION-MAX>3.150000</flexray:OFFSET-CORRECTION-MAX>最大偏移校正值
</fx:CLUSTER>
CHANNELS
也就是这个
我们上源代码分析,没有注释的部分都是重复的。
<fx:CHANNEL ID="Channel_1" xsi:type="flexray:CHANNEL-TYPE">定义了一个类型为flexray:CHANNEL-TYPE的FlexRay通信通道,其ID为Channel_1。这个通道将在FlexRay通信网络中承载并传输数据。<ho:SHORT-NAME>Channel_A</ho:SHORT-NAME>给通道赋予一个简短的名称,便于理解和标识,此处命名为“Channel_A”。<fx:FRAME-TRIGGERINGS>定义了通道上的帧触发规则集合,帧触发规则用于指示何时应该在该通道上传输数据帧。<fx:FRAME-TRIGGERING ID="FrameTriggering_1">创建了一个名为“FrameTriggering_1”的帧触发实例,用于定义一个特定的触发条件。<fx:TIMINGS>描述了帧触发条件下的具体时间安排和定时参数。<fx:ABSOLUTELY-SCHEDULED-TIMING>定义了一个绝对定时规则,即按照预定的时隙和周期执行帧传输。<fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">2</fx:SLOT-ID>指定了帧应在通信周期内的哪一个时隙(slot)进行传输,这里设置为第二个时隙。<fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE>表明帧传输从哪个基础通信周期开始,这里的值为0,意味着从第一个通信周期就开始传输。<fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION>当前配置的帧将在每个通信周期重复一次</fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING>标签开始定义一个绝对定时规则<fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">31</fx:SLOT-ID>帧将在每个通信周期的第31个时隙(Slot)被发送。<fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE>帧的发送从第0个通信周期开始。<fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION>帧将在每个通信周期都会被发送一次,即周期重复次数为1。</fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">61</fx:SLOT-ID>该帧将在每个通信周期的第61个时隙被发送。<fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION>参数的值与第一个定时规则相同,意味着这个帧也会从第0个通信周期开始,并且在每个通信周期重复发送一次。</fx:ABSOLUTELY-SCHEDULED-TIMING> <fx:ABSOLUTELY-SCHEDULED-TIMING>绝对定时规则的定义<fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">91</fx:SLOT-ID>帧将会在每个通信周期的第91个时隙(Slot)被发送。<fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE>帧的发送从第0个通信周期开始。<fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION>帧在每个通信周期都会被发送一次,即周期重复次数为1。</fx:ABSOLUTELY-SCHEDULED-TIMING> <fx:CYCLIC-TIMING><fx:REPEATING-TIME-RANGE>循环定时规则的定义<fx:VALUE>PT0.001250S</fx:VALUE>在这个重复时间范围内,帧将以0.001250秒(即1.25毫秒)为周期进行发送。这里的值采用了ISO 8601 Duration格式,"PT"表示时间段,后面的数字表示秒数。</fx:REPEATING-TIME-RANGE></fx:CYCLIC-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_1"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_2"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">3</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">88</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:CYCLIC-TIMING><fx:REPEATING-TIME-RANGE><fx:VALUE>PT0.002500S</fx:VALUE></fx:REPEATING-TIME-RANGE></fx:CYCLIC-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_2"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_3"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">20</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_3"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_4"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">1</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">30</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">60</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING> <fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">90</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING> <fx:CYCLIC-TIMING><fx:REPEATING-TIME-RANGE><fx:VALUE>PT0.001250S</fx:VALUE></fx:REPEATING-TIME-RANGE></fx:CYCLIC-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_4"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_5"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">4</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">89</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING> <fx:CYCLIC-TIMING><fx:REPEATING-TIME-RANGE><fx:VALUE>PT0.002500S</fx:VALUE></fx:REPEATING-TIME-RANGE></fx:CYCLIC-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_5"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_6"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">40</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_6"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_7"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">5</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_7"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_8"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">50</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_8"/></fx:FRAME-TRIGGERING></fx:FRAME-TRIGGERINGS><flexray:FLEXRAY-CHANNEL-NAME>A</flexray:FLEXRAY-CHANNEL-NAME>
</fx:CHANNEL>
ECUS
就是节点的定义
直接上原文解析。
<fx:ECU ID="ECU_1"><ho:SHORT-NAME>Node_A</ho:SHORT-NAME>别称<fx:CONTROLLERS><fx:CONTROLLER ID="Controller_1" xsi:type="flexray:CONTROLLER-TYPE">定义了一个类型为“flexray:CONTROLLER-TYPE”的控制器,其ID为“Controller_1”。<ho:SHORT-NAME>Node_A_FlexRay_Cluster</ho:SHORT-NAME>别称<flexray:KEY-SLOT-USAGE><flexray:STARTUP-SYNC>5</flexray:STARTUP-SYNC>在FlexRay网络启动时,控制器在第五个关键时隙(Key Slot)进行同步操作,这对于FlexRay网络的初始化和同步过程非常重要。在关键时隙进行同步有助于确保网络中的所有节点能够同步他们的时钟和通信周期</flexray:KEY-SLOT-USAGE><flexray:MAX-DYNAMIC-PAYLOAD-LENGTH>127</flexray:MAX-DYNAMIC-PAYLOAD-LENGTH>定义了控制器支持的最大动态载荷长度为127个字节。动态载荷是指在FlexRay通信中那些非预定义且可以在运行时动态分配时隙的报文数据部分。<flexray:CLUSTER-DRIFT-DAMPING>2</flexray:CLUSTER-DRIFT-DAMPING>集群内节点时钟漂移的阻尼系数,值为2,用于描述网络中时钟同步的稳定性和收敛速度。<flexray:DECODING-CORRECTION>48</flexray:DECODING-CORRECTION>在接收信号时允许的最大解码修正次数或程度<flexray:LISTEN-TIMEOUT>401202</flexray:LISTEN-TIMEOUT>节点监听超时值,当节点处于监听状态时,若经过401202个指定时间单位仍未检测到有效的通信信号,则会退出监听状态。<flexray:MAX-DRIFT>601</flexray:MAX-DRIFT>最大漂移值,表示网络中节点时钟的最大允许偏差<flexray:EXTERN-OFFSET-CORRECTION>0</flexray:EXTERN-OFFSET-CORRECTION>外部偏移校正值,表示外部源提供的偏移校正量,这里设置为0,表示不使用外部源来进行偏移校正<flexray:EXTERN-RATE-CORRECTION>0</flexray:EXTERN-RATE-CORRECTION>外部速率校正值,表示外部源提供的速率校正量,这里设置为0,表示不使用外部源来进行速率校正<flexray:LATEST-TX>249</flexray:LATEST-TX>最晚发送时间,表示在每个通信周期内,控制器最迟可以发送数据的时隙索引,这里设置为249,意味着在接近当前通信周期结束时还可以发送数据。<flexray:MICRO-PER-CYCLE>200000</flexray:MICRO-PER-CYCLE>每个通信周期内包含的微时隙(Microslots)数量为200000个。微时隙是FlexRay通信中最基本的时间单位。<flexray:OFFSET-CORRECTION-OUT>127</flexray:OFFSET-CORRECTION-OUT>控制器输出的最大偏移校正值为127个微时隙。偏移校正用于同步网络中各节点的本地时钟。<flexray:RATE-CORRECTION-OUT>601</flexray:RATE-CORRECTION-OUT>控制器输出的最大速率校正值为601。速率校正用于调整节点时钟速率,使其尽可能与网络参考时钟一致。<flexray:SAMPLES-PER-MICROTICK>2</flexray:SAMPLES-PER-MICROTICK>每个微时隙(Microtick)内进行采样的次数为2次。增加采样次数有助于提高信号质量和抗干扰能力。<flexray:DELAY-COMPENSATION-A>1</flexray:DELAY-COMPENSATION-A>A类延迟补偿值为1。延迟补偿是为了抵消通信链路中的信号传播延迟,确保数据在正确的时间到达目标节点。<flexray:DELAY-COMPENSATION-B>1</flexray:DELAY-COMPENSATION-B>B类延迟补偿值为1,同样是针对链路延迟的补偿设置。<flexray:WAKE-UP-PATTERN>33</flexray:WAKE-UP-PATTERN>唤醒信号模式为33。在FlexRay网络中,唤醒信号用于通知节点从休眠状态恢复到活动状态,这个值描述了唤醒信号的具体编码或特征。<flexray:ALLOW-HALT-DUE-TO-CLOCK>true</flexray:ALLOW-HALT-DUE-TO-CLOCK>允许控制器因时钟问题而停止运行。如果网络中的时钟同步出现问题,控制器可以暂停运行以防止进一步的通信错误。<flexray:ALLOW-PASSIVE-TO-ACTIVE>0</flexray:ALLOW-PASSIVE-TO-ACTIVE>允许从被动模式转换到主动模式的次数,值为0表示不允许自动转换。在FlexRay网络中,被动模式通常指节点仅监听网络而不参与数据传输。<flexray:ACCEPTED-STARTUP-RANGE>220</flexray:ACCEPTED-STARTUP-RANGE>在启动过程中,节点接受的同步范围为220个时隙宽度。这意味着节点在启动时,其时钟必须在这个范围内与其他节点同步。<flexray:MACRO-INITIAL-OFFSET-A>3</flexray:MACRO-INITIAL-OFFSET-A>节点A在启动时的第一个宏时隙(Macroslot)相对于网络初始时刻的偏移量为3个宏时隙。<flexray:MACRO-INITIAL-OFFSET-B>3</flexray:MACRO-INITIAL-OFFSET-B>节点B在启动时的第一个宏时隙相对于网络初始时刻的偏移量也为3个宏时隙。<flexray:MICRO-INITIAL-OFFSET-A>6</flexray:MICRO-INITIAL-OFFSET-A>节点A在启动时第一个微时隙(Microslot)相对于网络初始时刻的偏移量为6个微时隙。<flexray:MICRO-INITIAL-OFFSET-B>6</flexray:MICRO-INITIAL-OFFSET-B>节点B在启动时第一个微时隙相对于网络初始时刻的偏移量也为6个微时隙。<flexray:SINGLE-SLOT-ENABLED>false</flexray:SINGLE-SLOT-ENABLED>是否启用单个时隙模式,这里的false表示禁用。在FlexRay网络中,单个时隙模式允许节点在需要时请求单独的时隙进行数据传输。<flexray:MICROTICK>0.025000</flexray:MICROTICK>一个微时隙(Microtick)的时间长度为0.025秒。微时隙是FlexRay通信中更细粒度的时间单位,用于精确调度和同步网络中的通信活动。</fx:CONTROLLER></fx:CONTROLLERS><fx:CONNECTORS><fx:CONNECTOR ID="Connector_1" xsi:type="flexray:CONNECTOR-TYPE">定义了一个FlexRay连接器,其ID为"Connector_1",类型为"flexray:CONNECTOR-TYPE"。<fx:CHANNEL-REF ID-REF="Channel_1"/>引用了ID为"Channel_1"的FlexRay通道<fx:CONTROLLER-REF ID-REF="Controller_1"/>引用了ID为"Controller_1"的FlexRay控制器<fx:INPUTS><fx:INPUT-PORT ID="InputPortId_4">一个输入端口,ID为"InputPortId_4",用于接收数据<fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_4"/>引用了ID为"FrameTriggering_4"的帧触发规则,该规则用于定义何时应当通过输入端口接收数据。这意味着当满足"FrameTriggering_4"所描述的触发条件时,输入端口"InputPortId_4"将接收来自"Channel_1"的数据,并由"Controller_1"进行处理。</fx:INPUT-PORT><fx:INPUT-PORT ID="InputPortId_5"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_5"/></fx:INPUT-PORT><fx:INPUT-PORT ID="InputPortId_6"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_6"/></fx:INPUT-PORT><fx:INPUT-PORT ID="InputPortId_8"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_8"/></fx:INPUT-PORT></fx:INPUTS><fx:OUTPUTS><fx:OUTPUT-PORT ID="OutputPortId_1"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_1"/></fx:OUTPUT-PORT><fx:OUTPUT-PORT ID="OutputPortId_2"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_2"/></fx:OUTPUT-PORT><fx:OUTPUT-PORT ID="OutputPortId_3"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_3"/></fx:OUTPUT-PORT><fx:OUTPUT-PORT ID="OutputPortId_7"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_7"/></fx:OUTPUT-PORT></fx:OUTPUTS><flexray:WAKE-UP-CHANNEL>true</flexray:WAKE-UP-CHANNEL></fx:CONNECTOR></fx:CONNECTORS>
</fx:ECU>
FRAMES
就是节点里面的报文的定义
直接上原文解析。
<fx:FRAME ID="Frame_1"><ho:SHORT-NAME>Frame_AB_1_25_ms</ho:SHORT-NAME>别名<fx:BYTE-LENGTH>16</fx:BYTE-LENGTH>字节长度<fx:FRAME-TYPE>APPLICATION</fx:FRAME-TYPE>帧类型<fx:SIGNAL-INSTANCES><fx:SIGNAL-INSTANCE ID="SignalInstance_1"><fx:BIT-POSITION>0</fx:BIT-POSITION>信号位置<fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER>MSB字节序<fx:SIGNAL-REF ID-REF="Signal_1"/>信号ID</fx:SIGNAL-INSTANCE><fx:SIGNAL-INSTANCE ID="SignalInstance_2"><fx:BIT-POSITION>8</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_2"/></fx:SIGNAL-INSTANCE></fx:SIGNAL-INSTANCES>
</fx:FRAME>
SIGNALS
就是报文里面的信号的定义
直接上原文解析。
<fx:SIGNAL ID="Signal_11">定义信号<ho:SHORT-NAME>Counter_BA_5_0_ms</ho:SHORT-NAME>别名<fx:CODING-REF ID-REF="Coding_1"/>标签引用了一个已定义的编码方案(Coding),其ID为"Coding_1"
</fx:SIGNAL>
PROCESSING-INFORMATION
里面就是CODINGS
<fx:CODING ID="Coding_1">定义一个编码对象<ho:SHORT-NAME>Counter_8_Bit_unsigned</ho:SHORT-NAME>给编码命名<ho:CODED-TYPE CATEGORY="STANDARD-LENGTH-TYPE" ho:BASE-DATA-TYPE="A_UINT8">编码的数据类型类别为标准长度类型<ho:BIT-LENGTH>8</ho:BIT-LENGTH>编码的位长度</ho:CODED-TYPE><ho:COMPU-METHODS>定义计算方法<ho:COMPU-METHOD><ho:SHORT-NAME>Counter_8_Bit_unsigned</ho:SHORT-NAME>计算方法同名,表示与编码类型相匹配<ho:CATEGORY>IDENTICAL</ho:CATEGORY>分类为“IDENTICAL”,通常表示编码值直接对应物理值,无需转换<ho:PHYS-CONSTRS>物理约束条件,用于限定编码值对应的物理范围<ho:SCALE-CONSTR VALIDITY="VALID">有效的比例约束条件<ho:LOWER-LIMIT INTERVAL-TYPE="CLOSED">0.000000</ho:LOWER-LIMIT>表示物理值的下限为0<ho:UPPER-LIMIT INTERVAL-TYPE="CLOSED">255.000000</ho:UPPER-LIMIT>表示物理值的上限为255</ho:SCALE-CONSTR></ho:PHYS-CONSTRS></ho:COMPU-METHOD></ho:COMPU-METHODS>
</fx:CODING>
文件全貌
最后我们来看看整份demo的全貌
<?xml version="1.0" encoding="UTF-8"?>
<!--DaVinci Network Designer document-->
<fx:FIBEX xmlns:fx="http://www.asam.net/xml/fbx" xmlns:ho="http://www.asam.net/xml" xmlns:can="http://www.asam.net/xml/fbx/can" xmlns:lin="http://www.asam.net/xml/fbx/lin" xmlns:flexray="http://www.asam.net/xml/fbx/flexray" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vi="http://www.vector-informatik.com/xml/fbx/vector-flexray" xmlns:all="http://www.asam.net/xml/fbx/all" xsi:schemaLocation="http://www.asam.net/xml/fbx/all http://www.asam.net/xml/fbx/2_0_0d/xsd/fibex4multiplatform.xsd" VERSION="2.0.0d"><fx:PROJECT ID="Project_1"><ho:SHORT-NAME>FlexRay_InCycleMux_Demo</ho:SHORT-NAME><ho:DESC>FIBEX example V1.0 that models a demonstration of the in-cycle multiplexing of frames. (C) 2007 Vector Informatik GmbH, Stuttgart, Germany</ho:DESC></fx:PROJECT><fx:ELEMENTS><fx:CLUSTERS><fx:CLUSTER ID="Cluster_1" xsi:type="flexray:CLUSTER-TYPE"><ho:SHORT-NAME>FlexRay_Cluster</ho:SHORT-NAME><fx:SPEED>10000000</fx:SPEED><fx:IS-HIGH-LOW-BIT-ORDER>true</fx:IS-HIGH-LOW-BIT-ORDER><fx:BIT-COUNTING-POLICY>SAWTOOTH</fx:BIT-COUNTING-POLICY><fx:PROTOCOL xsi:type="flexray:PROTOCOL-TYPE">FlexRay</fx:PROTOCOL><fx:PROTOCOL-VERSION>2.1</fx:PROTOCOL-VERSION><fx:CHANNEL-REFS><fx:CHANNEL-REF ID-REF="Channel_1"/></fx:CHANNEL-REFS><fx:MEDIUM>ELECTRICAL</fx:MEDIUM><flexray:COLD-START-ATTEMPTS>8</flexray:COLD-START-ATTEMPTS><flexray:ACTION-POINT-OFFSET>2</flexray:ACTION-POINT-OFFSET><flexray:DYNAMIC-SLOT-IDLE-PHASE>1</flexray:DYNAMIC-SLOT-IDLE-PHASE><flexray:MINISLOT>5</flexray:MINISLOT><flexray:MINISLOT-ACTION-POINT-OFFSET>2</flexray:MINISLOT-ACTION-POINT-OFFSET><flexray:N-I-T>7</flexray:N-I-T><flexray:SAMPLE-CLOCK-PERIOD>0.012500</flexray:SAMPLE-CLOCK-PERIOD><flexray:STATIC-SLOT>24</flexray:STATIC-SLOT><flexray:SYMBOL-WINDOW>0</flexray:SYMBOL-WINDOW><flexray:T-S-S-TRANSMITTER>9</flexray:T-S-S-TRANSMITTER><flexray:WAKE-UP><flexray:WAKE-UP-SYMBOL-RX-IDLE>59</flexray:WAKE-UP-SYMBOL-RX-IDLE><flexray:WAKE-UP-SYMBOL-RX-LOW>50</flexray:WAKE-UP-SYMBOL-RX-LOW><flexray:WAKE-UP-SYMBOL-RX-WINDOW>301</flexray:WAKE-UP-SYMBOL-RX-WINDOW><flexray:WAKE-UP-SYMBOL-TX-IDLE>180</flexray:WAKE-UP-SYMBOL-TX-IDLE><flexray:WAKE-UP-SYMBOL-TX-LOW>60</flexray:WAKE-UP-SYMBOL-TX-LOW></flexray:WAKE-UP><flexray:LISTEN-NOISE>2</flexray:LISTEN-NOISE><flexray:MACRO-PER-CYCLE>3636</flexray:MACRO-PER-CYCLE><flexray:MACROTICK>1.375000</flexray:MACROTICK><flexray:MAX-INITIALIZATION-ERROR>2.648000</flexray:MAX-INITIALIZATION-ERROR><flexray:MAX-WITHOUT-CLOCK-CORRECTION-FATAL>2</flexray:MAX-WITHOUT-CLOCK-CORRECTION-FATAL><flexray:MAX-WITHOUT-CLOCK-CORRECTION-PASSIVE>2</flexray:MAX-WITHOUT-CLOCK-CORRECTION-PASSIVE><flexray:NETWORK-MANAGEMENT-VECTOR-LENGTH>0</flexray:NETWORK-MANAGEMENT-VECTOR-LENGTH><flexray:NUMBER-OF-MINISLOTS>289</flexray:NUMBER-OF-MINISLOTS><flexray:NUMBER-OF-STATIC-SLOTS>91</flexray:NUMBER-OF-STATIC-SLOTS><flexray:OFFSET-CORRECTION-START>3632</flexray:OFFSET-CORRECTION-START><flexray:PAYLOAD-LENGTH-STATIC>8</flexray:PAYLOAD-LENGTH-STATIC><flexray:SYNC-NODE-MAX>15</flexray:SYNC-NODE-MAX><flexray:CAS-RX-LOW-MAX>87</flexray:CAS-RX-LOW-MAX><flexray:CAS-RX-LOW-MIN>29</flexray:CAS-RX-LOW-MIN><flexray:BIT>0.100000</flexray:BIT><flexray:CYCLE>5000</flexray:CYCLE><flexray:CLUSTER-DRIFT-DAMPING>2</flexray:CLUSTER-DRIFT-DAMPING><flexray:OFFSET-CORRECTION-MAX>3.150000</flexray:OFFSET-CORRECTION-MAX></fx:CLUSTER></fx:CLUSTERS><fx:CHANNELS><fx:CHANNEL ID="Channel_1" xsi:type="flexray:CHANNEL-TYPE"><ho:SHORT-NAME>Channel_A</ho:SHORT-NAME><fx:FRAME-TRIGGERINGS><fx:FRAME-TRIGGERING ID="FrameTriggering_1"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">2</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">31</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">61</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING> <fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">91</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING> <fx:CYCLIC-TIMING><fx:REPEATING-TIME-RANGE><fx:VALUE>PT0.001250S</fx:VALUE></fx:REPEATING-TIME-RANGE></fx:CYCLIC-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_1"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_2"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">3</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">88</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:CYCLIC-TIMING><fx:REPEATING-TIME-RANGE><fx:VALUE>PT0.002500S</fx:VALUE></fx:REPEATING-TIME-RANGE></fx:CYCLIC-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_2"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_3"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">20</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_3"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_4"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">1</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">30</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">60</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING> <fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">90</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING> <fx:CYCLIC-TIMING><fx:REPEATING-TIME-RANGE><fx:VALUE>PT0.001250S</fx:VALUE></fx:REPEATING-TIME-RANGE></fx:CYCLIC-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_4"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_5"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">4</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">89</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING> <fx:CYCLIC-TIMING><fx:REPEATING-TIME-RANGE><fx:VALUE>PT0.002500S</fx:VALUE></fx:REPEATING-TIME-RANGE></fx:CYCLIC-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_5"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_6"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">40</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_6"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_7"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">5</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_7"/></fx:FRAME-TRIGGERING><fx:FRAME-TRIGGERING ID="FrameTriggering_8"><fx:TIMINGS><fx:ABSOLUTELY-SCHEDULED-TIMING><fx:SLOT-ID xsi:type="flexray:SLOT-ID-TYPE">50</fx:SLOT-ID><fx:BASE-CYCLE xsi:type="flexray:CYCLE-COUNTER-TYPE">0</fx:BASE-CYCLE><fx:CYCLE-REPETITION xsi:type="flexray:CYCLE-REPETITION-TYPE">1</fx:CYCLE-REPETITION></fx:ABSOLUTELY-SCHEDULED-TIMING></fx:TIMINGS><fx:FRAME-REF ID-REF="Frame_8"/></fx:FRAME-TRIGGERING></fx:FRAME-TRIGGERINGS><flexray:FLEXRAY-CHANNEL-NAME>A</flexray:FLEXRAY-CHANNEL-NAME></fx:CHANNEL></fx:CHANNELS><fx:ECUS><fx:ECU ID="ECU_1"><ho:SHORT-NAME>Node_A</ho:SHORT-NAME><fx:CONTROLLERS><fx:CONTROLLER ID="Controller_1" xsi:type="flexray:CONTROLLER-TYPE"><ho:SHORT-NAME>Node_A_FlexRay_Cluster</ho:SHORT-NAME><flexray:KEY-SLOT-USAGE><flexray:STARTUP-SYNC>5</flexray:STARTUP-SYNC></flexray:KEY-SLOT-USAGE><flexray:MAX-DYNAMIC-PAYLOAD-LENGTH>127</flexray:MAX-DYNAMIC-PAYLOAD-LENGTH><flexray:CLUSTER-DRIFT-DAMPING>2</flexray:CLUSTER-DRIFT-DAMPING><flexray:DECODING-CORRECTION>48</flexray:DECODING-CORRECTION><flexray:LISTEN-TIMEOUT>401202</flexray:LISTEN-TIMEOUT><flexray:MAX-DRIFT>601</flexray:MAX-DRIFT><flexray:EXTERN-OFFSET-CORRECTION>0</flexray:EXTERN-OFFSET-CORRECTION><flexray:EXTERN-RATE-CORRECTION>0</flexray:EXTERN-RATE-CORRECTION><flexray:LATEST-TX>249</flexray:LATEST-TX><flexray:MICRO-PER-CYCLE>200000</flexray:MICRO-PER-CYCLE><flexray:OFFSET-CORRECTION-OUT>127</flexray:OFFSET-CORRECTION-OUT><flexray:RATE-CORRECTION-OUT>601</flexray:RATE-CORRECTION-OUT><flexray:SAMPLES-PER-MICROTICK>2</flexray:SAMPLES-PER-MICROTICK><flexray:DELAY-COMPENSATION-A>1</flexray:DELAY-COMPENSATION-A><flexray:DELAY-COMPENSATION-B>1</flexray:DELAY-COMPENSATION-B><flexray:WAKE-UP-PATTERN>33</flexray:WAKE-UP-PATTERN><flexray:ALLOW-HALT-DUE-TO-CLOCK>true</flexray:ALLOW-HALT-DUE-TO-CLOCK><flexray:ALLOW-PASSIVE-TO-ACTIVE>0</flexray:ALLOW-PASSIVE-TO-ACTIVE><flexray:ACCEPTED-STARTUP-RANGE>220</flexray:ACCEPTED-STARTUP-RANGE><flexray:MACRO-INITIAL-OFFSET-A>3</flexray:MACRO-INITIAL-OFFSET-A><flexray:MACRO-INITIAL-OFFSET-B>3</flexray:MACRO-INITIAL-OFFSET-B><flexray:MICRO-INITIAL-OFFSET-A>6</flexray:MICRO-INITIAL-OFFSET-A><flexray:MICRO-INITIAL-OFFSET-B>6</flexray:MICRO-INITIAL-OFFSET-B><flexray:SINGLE-SLOT-ENABLED>false</flexray:SINGLE-SLOT-ENABLED><flexray:MICROTICK>0.025000</flexray:MICROTICK></fx:CONTROLLER></fx:CONTROLLERS><fx:CONNECTORS><fx:CONNECTOR ID="Connector_1" xsi:type="flexray:CONNECTOR-TYPE"><fx:CHANNEL-REF ID-REF="Channel_1"/><fx:CONTROLLER-REF ID-REF="Controller_1"/><fx:INPUTS><fx:INPUT-PORT ID="InputPortId_4"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_4"/></fx:INPUT-PORT><fx:INPUT-PORT ID="InputPortId_5"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_5"/></fx:INPUT-PORT><fx:INPUT-PORT ID="InputPortId_6"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_6"/></fx:INPUT-PORT><fx:INPUT-PORT ID="InputPortId_8"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_8"/></fx:INPUT-PORT></fx:INPUTS><fx:OUTPUTS><fx:OUTPUT-PORT ID="OutputPortId_1"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_1"/></fx:OUTPUT-PORT><fx:OUTPUT-PORT ID="OutputPortId_2"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_2"/></fx:OUTPUT-PORT><fx:OUTPUT-PORT ID="OutputPortId_3"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_3"/></fx:OUTPUT-PORT><fx:OUTPUT-PORT ID="OutputPortId_7"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_7"/></fx:OUTPUT-PORT></fx:OUTPUTS><flexray:WAKE-UP-CHANNEL>true</flexray:WAKE-UP-CHANNEL></fx:CONNECTOR></fx:CONNECTORS></fx:ECU><fx:ECU ID="ECU_2"><ho:SHORT-NAME>Node_B</ho:SHORT-NAME><fx:CONTROLLERS><fx:CONTROLLER ID="Controller_2" xsi:type="flexray:CONTROLLER-TYPE"><ho:SHORT-NAME>Node_B_FlexRay_Cluster</ho:SHORT-NAME><flexray:KEY-SLOT-USAGE><flexray:STARTUP-SYNC>50</flexray:STARTUP-SYNC></flexray:KEY-SLOT-USAGE><flexray:MAX-DYNAMIC-PAYLOAD-LENGTH>127</flexray:MAX-DYNAMIC-PAYLOAD-LENGTH><flexray:CLUSTER-DRIFT-DAMPING>2</flexray:CLUSTER-DRIFT-DAMPING><flexray:DECODING-CORRECTION>48</flexray:DECODING-CORRECTION><flexray:LISTEN-TIMEOUT>401202</flexray:LISTEN-TIMEOUT><flexray:MAX-DRIFT>601</flexray:MAX-DRIFT><flexray:EXTERN-OFFSET-CORRECTION>0</flexray:EXTERN-OFFSET-CORRECTION><flexray:EXTERN-RATE-CORRECTION>0</flexray:EXTERN-RATE-CORRECTION><flexray:LATEST-TX>249</flexray:LATEST-TX><flexray:MICRO-PER-CYCLE>200000</flexray:MICRO-PER-CYCLE><flexray:OFFSET-CORRECTION-OUT>127</flexray:OFFSET-CORRECTION-OUT><flexray:RATE-CORRECTION-OUT>601</flexray:RATE-CORRECTION-OUT><flexray:SAMPLES-PER-MICROTICK>2</flexray:SAMPLES-PER-MICROTICK><flexray:DELAY-COMPENSATION-A>1</flexray:DELAY-COMPENSATION-A><flexray:DELAY-COMPENSATION-B>1</flexray:DELAY-COMPENSATION-B><flexray:WAKE-UP-PATTERN>33</flexray:WAKE-UP-PATTERN><flexray:ALLOW-HALT-DUE-TO-CLOCK>true</flexray:ALLOW-HALT-DUE-TO-CLOCK><flexray:ALLOW-PASSIVE-TO-ACTIVE>0</flexray:ALLOW-PASSIVE-TO-ACTIVE><flexray:ACCEPTED-STARTUP-RANGE>220</flexray:ACCEPTED-STARTUP-RANGE><flexray:MACRO-INITIAL-OFFSET-A>3</flexray:MACRO-INITIAL-OFFSET-A><flexray:MACRO-INITIAL-OFFSET-B>3</flexray:MACRO-INITIAL-OFFSET-B><flexray:MICRO-INITIAL-OFFSET-A>6</flexray:MICRO-INITIAL-OFFSET-A><flexray:MICRO-INITIAL-OFFSET-B>6</flexray:MICRO-INITIAL-OFFSET-B><flexray:SINGLE-SLOT-ENABLED>false</flexray:SINGLE-SLOT-ENABLED><flexray:MICROTICK>0.025000</flexray:MICROTICK></fx:CONTROLLER></fx:CONTROLLERS><fx:CONNECTORS><fx:CONNECTOR ID="Connector_2" xsi:type="flexray:CONNECTOR-TYPE"><fx:CHANNEL-REF ID-REF="Channel_1"/><fx:CONTROLLER-REF ID-REF="Controller_2"/><fx:INPUTS><fx:INPUT-PORT ID="InputPortId_1"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_1"/></fx:INPUT-PORT><fx:INPUT-PORT ID="InputPortId_2"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_2"/></fx:INPUT-PORT><fx:INPUT-PORT ID="InputPortId_3"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_3"/></fx:INPUT-PORT><fx:INPUT-PORT ID="InputPortId_7"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_7"/></fx:INPUT-PORT></fx:INPUTS><fx:OUTPUTS><fx:OUTPUT-PORT ID="OutputPortId_4"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_4"/></fx:OUTPUT-PORT><fx:OUTPUT-PORT ID="OutputPortId_5"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_5"/></fx:OUTPUT-PORT><fx:OUTPUT-PORT ID="OutputPortId_6"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_6"/></fx:OUTPUT-PORT><fx:OUTPUT-PORT ID="OutputPortId_8"><fx:FRAME-TRIGGERING-REF ID-REF="FrameTriggering_8"/></fx:OUTPUT-PORT></fx:OUTPUTS><flexray:WAKE-UP-CHANNEL>true</flexray:WAKE-UP-CHANNEL></fx:CONNECTOR></fx:CONNECTORS></fx:ECU></fx:ECUS><fx:FRAMES><fx:FRAME ID="Frame_1"><ho:SHORT-NAME>Frame_AB_1_25_ms</ho:SHORT-NAME><fx:BYTE-LENGTH>16</fx:BYTE-LENGTH><fx:FRAME-TYPE>APPLICATION</fx:FRAME-TYPE><fx:SIGNAL-INSTANCES><fx:SIGNAL-INSTANCE ID="SignalInstance_1"><fx:BIT-POSITION>0</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_1"/></fx:SIGNAL-INSTANCE><fx:SIGNAL-INSTANCE ID="SignalInstance_2"><fx:BIT-POSITION>8</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_2"/></fx:SIGNAL-INSTANCE></fx:SIGNAL-INSTANCES></fx:FRAME><fx:FRAME ID="Frame_2"><ho:SHORT-NAME>Frame_AB_2_5_ms</ho:SHORT-NAME><fx:BYTE-LENGTH>16</fx:BYTE-LENGTH><fx:FRAME-TYPE>APPLICATION</fx:FRAME-TYPE><fx:SIGNAL-INSTANCES><fx:SIGNAL-INSTANCE ID="SignalInstance_3"><fx:BIT-POSITION>0</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_3"/></fx:SIGNAL-INSTANCE><fx:SIGNAL-INSTANCE ID="SignalInstance_4"><fx:BIT-POSITION>8</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_4"/></fx:SIGNAL-INSTANCE></fx:SIGNAL-INSTANCES></fx:FRAME><fx:FRAME ID="Frame_3"><ho:SHORT-NAME>Frame_AB_5_0_ms</ho:SHORT-NAME><fx:BYTE-LENGTH>16</fx:BYTE-LENGTH><fx:FRAME-TYPE>APPLICATION</fx:FRAME-TYPE><fx:SIGNAL-INSTANCES><fx:SIGNAL-INSTANCE ID="SignalInstance_5"><fx:BIT-POSITION>0</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_5"/></fx:SIGNAL-INSTANCE><fx:SIGNAL-INSTANCE ID="SignalInstance_6"><fx:BIT-POSITION>8</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_6"/></fx:SIGNAL-INSTANCE></fx:SIGNAL-INSTANCES></fx:FRAME><fx:FRAME ID="Frame_4"><ho:SHORT-NAME>Frame_BA_1_25_ms</ho:SHORT-NAME><fx:BYTE-LENGTH>16</fx:BYTE-LENGTH><fx:FRAME-TYPE>APPLICATION</fx:FRAME-TYPE><fx:SIGNAL-INSTANCES><fx:SIGNAL-INSTANCE ID="SignalInstance_7"><fx:BIT-POSITION>8</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_7"/></fx:SIGNAL-INSTANCE><fx:SIGNAL-INSTANCE ID="SignalInstance_8"><fx:BIT-POSITION>0</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_8"/></fx:SIGNAL-INSTANCE></fx:SIGNAL-INSTANCES></fx:FRAME><fx:FRAME ID="Frame_5"><ho:SHORT-NAME>Frame_BA_2_5_ms</ho:SHORT-NAME><fx:BYTE-LENGTH>16</fx:BYTE-LENGTH><fx:FRAME-TYPE>APPLICATION</fx:FRAME-TYPE><fx:SIGNAL-INSTANCES><fx:SIGNAL-INSTANCE ID="SignalInstance_9"><fx:BIT-POSITION>0</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_9"/></fx:SIGNAL-INSTANCE><fx:SIGNAL-INSTANCE ID="SignalInstance_10"><fx:BIT-POSITION>8</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_10"/></fx:SIGNAL-INSTANCE></fx:SIGNAL-INSTANCES></fx:FRAME><fx:FRAME ID="Frame_6"><ho:SHORT-NAME>Frame_BA_5_0_ms</ho:SHORT-NAME><fx:BYTE-LENGTH>16</fx:BYTE-LENGTH><fx:FRAME-TYPE>APPLICATION</fx:FRAME-TYPE><fx:SIGNAL-INSTANCES><fx:SIGNAL-INSTANCE ID="SignalInstance_11"><fx:BIT-POSITION>0</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_11"/></fx:SIGNAL-INSTANCE><fx:SIGNAL-INSTANCE ID="SignalInstance_12"><fx:BIT-POSITION>8</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_12"/></fx:SIGNAL-INSTANCE></fx:SIGNAL-INSTANCES></fx:FRAME><fx:FRAME ID="Frame_7"><ho:SHORT-NAME>SyncFrame_A</ho:SHORT-NAME><fx:BYTE-LENGTH>16</fx:BYTE-LENGTH><fx:FRAME-TYPE>APPLICATION</fx:FRAME-TYPE><fx:SIGNAL-INSTANCES><fx:SIGNAL-INSTANCE ID="SignalInstance_13"><fx:BIT-POSITION>0</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_13"/></fx:SIGNAL-INSTANCE></fx:SIGNAL-INSTANCES></fx:FRAME><fx:FRAME ID="Frame_8"><ho:SHORT-NAME>SyncFrame_B</ho:SHORT-NAME><fx:BYTE-LENGTH>16</fx:BYTE-LENGTH><fx:FRAME-TYPE>APPLICATION</fx:FRAME-TYPE><fx:SIGNAL-INSTANCES><fx:SIGNAL-INSTANCE ID="SignalInstance_14"><fx:BIT-POSITION>0</fx:BIT-POSITION><fx:IS-HIGH-LOW-BYTE-ORDER>false</fx:IS-HIGH-LOW-BYTE-ORDER><fx:SIGNAL-REF ID-REF="Signal_14"/></fx:SIGNAL-INSTANCE></fx:SIGNAL-INSTANCES></fx:FRAME></fx:FRAMES><fx:SIGNALS><fx:SIGNAL ID="Signal_11"><ho:SHORT-NAME>Counter_BA_5_0_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_1"/></fx:SIGNAL><fx:SIGNAL ID="Signal_4"><ho:SHORT-NAME>Switch_AB_2_5_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_2"/></fx:SIGNAL><fx:SIGNAL ID="Signal_13"><ho:SHORT-NAME>Counter_A</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_3"/></fx:SIGNAL><fx:SIGNAL ID="Signal_9"><ho:SHORT-NAME>Counter_BA_2_5_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_1"/></fx:SIGNAL><fx:SIGNAL ID="Signal_12"><ho:SHORT-NAME>Switch_BA_5_0_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_2"/></fx:SIGNAL><fx:SIGNAL ID="Signal_14"><ho:SHORT-NAME>Counter_B</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_3"/></fx:SIGNAL><fx:SIGNAL ID="Signal_8"><ho:SHORT-NAME>Counter_BA_1_25_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_1"/></fx:SIGNAL><fx:SIGNAL ID="Signal_2"><ho:SHORT-NAME>Switch_AB_1_25_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_2"/></fx:SIGNAL><fx:SIGNAL ID="Signal_6"><ho:SHORT-NAME>Switch_AB_5_0_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_2"/></fx:SIGNAL><fx:SIGNAL ID="Signal_3"><ho:SHORT-NAME>Counter_AB_2_5_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_1"/></fx:SIGNAL><fx:SIGNAL ID="Signal_7"><ho:SHORT-NAME>Switch_BA_1_25_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_2"/></fx:SIGNAL><fx:SIGNAL ID="Signal_5"><ho:SHORT-NAME>Counter_AB_5_0_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_1"/></fx:SIGNAL><fx:SIGNAL ID="Signal_1"><ho:SHORT-NAME>Counter_AB_1_25_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_1"/></fx:SIGNAL><fx:SIGNAL ID="Signal_10"><ho:SHORT-NAME>Switch_BA_2_5_ms</ho:SHORT-NAME><fx:CODING-REF ID-REF="Coding_2"/></fx:SIGNAL></fx:SIGNALS></fx:ELEMENTS><fx:PROCESSING-INFORMATION><fx:CODINGS><fx:CODING ID="Coding_1"><ho:SHORT-NAME>Counter_8_Bit_unsigned</ho:SHORT-NAME><ho:CODED-TYPE CATEGORY="STANDARD-LENGTH-TYPE" ho:BASE-DATA-TYPE="A_UINT8"><ho:BIT-LENGTH>8</ho:BIT-LENGTH></ho:CODED-TYPE><ho:COMPU-METHODS><ho:COMPU-METHOD><ho:SHORT-NAME>Counter_8_Bit_unsigned</ho:SHORT-NAME><ho:CATEGORY>IDENTICAL</ho:CATEGORY><ho:PHYS-CONSTRS><ho:SCALE-CONSTR VALIDITY="VALID"><ho:LOWER-LIMIT INTERVAL-TYPE="CLOSED">0.000000</ho:LOWER-LIMIT><ho:UPPER-LIMIT INTERVAL-TYPE="CLOSED">255.000000</ho:UPPER-LIMIT></ho:SCALE-CONSTR></ho:PHYS-CONSTRS></ho:COMPU-METHOD></ho:COMPU-METHODS></fx:CODING><fx:CODING ID="Coding_2"><ho:SHORT-NAME>Switch</ho:SHORT-NAME><ho:CODED-TYPE CATEGORY="STANDARD-LENGTH-TYPE" ho:BASE-DATA-TYPE="A_UINT8"><ho:BIT-LENGTH>1</ho:BIT-LENGTH></ho:CODED-TYPE><ho:COMPU-METHODS><ho:COMPU-METHOD><ho:SHORT-NAME>Switch</ho:SHORT-NAME><ho:CATEGORY>IDENTICAL</ho:CATEGORY><ho:PHYS-CONSTRS><ho:SCALE-CONSTR VALIDITY="VALID"><ho:LOWER-LIMIT INTERVAL-TYPE="CLOSED">0.000000</ho:LOWER-LIMIT><ho:UPPER-LIMIT INTERVAL-TYPE="CLOSED">1.000000</ho:UPPER-LIMIT></ho:SCALE-CONSTR></ho:PHYS-CONSTRS></ho:COMPU-METHOD></ho:COMPU-METHODS></fx:CODING><fx:CODING ID="Coding_3"><ho:SHORT-NAME>Counter_16_Bit_unsigned</ho:SHORT-NAME><ho:CODED-TYPE CATEGORY="STANDARD-LENGTH-TYPE" ho:BASE-DATA-TYPE="A_UINT16"><ho:BIT-LENGTH>16</ho:BIT-LENGTH></ho:CODED-TYPE></fx:CODING></fx:CODINGS></fx:PROCESSING-INFORMATION>
</fx:FIBEX>