flexray 订阅
FlexRay车载网络标准已经成为同类产品的基准,将在未来很多年内,引导整个汽车电子产品控制结构的发展方向。FlexRay是继CAN 和LIN之后的最新研发成果,可以有效管理多重安全和舒适功能:譬如,FlexRay适用于线控操作(X-by-Wire)。 展开全文
FlexRay车载网络标准已经成为同类产品的基准,将在未来很多年内,引导整个汽车电子产品控制结构的发展方向。FlexRay是继CAN 和LIN之后的最新研发成果,可以有效管理多重安全和舒适功能:譬如,FlexRay适用于线控操作(X-by-Wire)。
信息
关    注
当今汽车行业的一些核心需求
引    导
汽车电子产品控制结构的发展方向
中文名
FlexRay
全    称
FlexRay Consortium
FlexRay简介
FlexRay是戴姆勒克莱斯勒公司的注册商标。FlexRay联盟 (FlexRay Consortium)推进了FlexRay的标准化,使之成为了新一代汽车内部网络通讯协议。FlexRay关注的是当今汽车行业的一些核心需求,包括更快的数据速率,更灵活的数据通信,更全面的拓扑选择和容错运算。因此,FlexRay可以为下一代的车内控制系统提供所需的速度和可靠性。CAN网络最高性能极限为1Mbps。LIN和K-LINE分枝网络最高性能极限为20Kbit/s。而FlexRay两个信道上的数据速率最大可达到10Mbps,总数据速率可达到20Mbit/秒,因此,应用在车载网络,FlexRay 的网络带宽可能是CAN的20倍之多。FlexRay还能够提供很多CAN网络所不具有的可靠性特点。尤其是FlexRay具备的冗余通信能力可实现通过硬件完全复制网络配置,并进行进度监测。FlexRay同时提供灵活的配置,可支持各种拓扑,如总线、星型和混合拓扑。设计人员可以通过结合两种或两种以上的该类型拓扑来配置分布式系统。另外,FlexRay可以进行同步(实时)和异步的数据传输,来满足车辆中各种系统的需求。譬如说,分布式控制系统通常要求同步数据传输。为了满足不同的通信需求,FlexRay在每个通信周期内都提供静态和动态通信段。静态通信段可以提供有界延迟,而动态通信段则有助于满足在系统运行时间内出现的不同带宽需求。FlexRay 帧的固定长度静态段用固定时间触发(fixed-time-trigger)的方法来传输信息,而动态段则使用灵活时间触发的方法来传输信息。FlexRay不仅可以像CAN和LIN网络这样的单信道系统一般运行,而且还可以作为一个双信道系统运行。双信道系统可以通过冗余网络传输数据——这也是高可靠系统的一项重要性能。FlexRay的各种特点均适合实时控制的功能。FlexRay的应用FlexRay 面向的是众多的车内线控操作(X-by-Wire)。FlexRay 导线控制应用的例子包括:线控操作转向-典型的是使用电子控制单元防抱死制动系统(ABS)-包括车辆稳定控制(VSC)和车辆稳定助手(VSA)FlexRay 节点运算每个FlexRay节点都包括一个控制器和一个驱动器部件。控制器部件包括一个主机处理器和一个通信控制器。驱动器部件通常包括总线驱动器和总线监控器(可选择)。总线驱动器将通信控制器与总线相连接,总线监控器监视接入总线的连接。主机通知总线监控器通信控制器分配了那些时槽。接下来,总线监控器只允许通信控制器在这些时槽中传输数据,并激活总线驱动器。若总线监控器发现时间时序有间隔,则断开通信信道的连接。FlexRay的节点有几个基本的运行状态:配置状态(默认配置/配置)-用于各种初始化设置,包括通信周期和数据速率就绪状态-用于进行内部的通信设置唤醒状态-用于唤醒没有在通信的节点。在该状态下,节点向另一节点发送唤醒信号,唤醒并激活总线驱动器、通信控制器、和总线监控器。启动状态-用于启动时钟同步,并为通信做准备。正常状态(主动/被动)-可以进行通信的状态中断状态-表明通信中断FlexRay节点还有与错误处理相关的状态转移。这些转移是在时钟同步和时钟校正错误的错误计数器的数值基础上加以管理的。当个别节点的时钟与FlexRay同步节点时钟有所出入时,就会出现时钟校正错误。FlexRay 网络有一个或一个以上传输同步信息的同步节点。在收到任意一条同步信息后,节点会将其时钟与同步节点的时钟相比较,并根据同步需要做出必要的变化。每个节点都要进行错误计数,其中包括时钟同步中连续发生错误的次数。同时,节点还要监测和帧转移/接受状态相关的错误,其中包括语法错误、内容错误、总线干扰错误以及转移冲突所导致的错误。一旦某节点发现该类错误,就会通知主机处理器。错误计数器的使用取决于应用用途和系统设计。FlexRay帧和信号FlexRay使用的通信帧有三个帧段。和CAN网络的事件触发协议不同的是,FlexRay使用时间触发协议来转移帧。FlexRay的时间触发模式可以确保数据按照事先确定的时间表进行传输。此外,双冗余通信信道Ach和Bch都能传输数据。头段包括以下几位:保留位-为日后的扩展做准备负载段前言指示-指明帧的负载段的向量信息。在静态帧中,该位指明的是NWVector;在动态帧中,该位指明的是消息ID零帧指示-指明负载段的数据帧是否为零同步帧指示-指明这是一个同步帧起始帧指示-指明发送帧的节点是否为起始帧帧ID-指明在系统设计过程中分配到每个节点的ID(有效范围:1至2047)长度-说明负载段的数据长度头部CRC- 表明同步帧指示器和起始帧指示器的CRC计算值,以及由主机计算的帧ID和帧长度周期-指明在帧传输时间内传输帧的节点的周期计数帧的负载段包括三个部分:数据-可以是0至254字节消息ID-任意。 该消息ID 使用负载段的前两个字节进行定义,可以在接收方作为可过滤数据使用。网络管理向量——任意。该向量长度必须为0至10个字节,并和所有节点相同。该帧的尾段包括硬件规定的CRC值。这些CRC值会在连接的信道上面改变种子值,以防不正确的校正。FlexRay 在时槽中传输帧。图8展示了与FlexRay周期有关的时槽的组成结构。在物理层,FlexRay根据uBP和uBM的不同电压,使用不同的信号BP和BM进行通信。四个信号(见图9)代表了FlexRay总线的各种状态:Idle_LP: 低功率状态Idle: 无通信状态Data_1: 逻辑高Data_0:逻辑低
收起全文
精华内容
下载资源
问答
  • FlexRay

    千次阅读 2018-02-27 23:11:33
    FLexRay硬件 用的的发送接收芯片为TJA1080 FlexRay参数介绍 传播延迟 BSS(字节起始序,byte start sequence)的下降沿在发送和接受模块之间的延时 cPropagationDelayMax 最大延时; 非对称延时 TSS...

    FLexRay硬件

    用的的发送接收芯片为TJA1080

    FlexRay参数介绍

    传播延迟

    BSS(字节起始序,byte start sequence)的下降沿在发送和接受模块之间的延时
    cPropagationDelayMax 最大延时;

    非对称延时

    TSS(传输起始序列Transmission Start Sequence)
    特定位的理想位边界与实际位边界之间的偏差;
    采样计数器等于常数(cStrobeOffset = 5,page 44)的值为bit value;
    超前状态最多容忍到达的边沿早与预期边沿3个采样时间(10M-12.5ns)
    滞后状态最坏情况是晚4个采样时间

    截断

    通道会截断TSS
    dFrameTSSTruncation

    冲突

    冲突时出现噪声?

    唤醒

    电气信号

    page 27
    Idle_LP Idle Data_1 Data_0
    BP—Transimitter –>Transimitter
    BM —-Receiver –>Receiver
    UBus=uBP-uBM
    唤醒时序
    Idle(1) ->Data_0(1)->Idle(2)->Data_0->(2)->Idle(3)
    dWU01 –>Data_0(1)的持续时间
    dWU01>4us;dWU02>4;dWU03>4;*dWU04>4
    dWU=dWU01+dWU02+dWU03+dWU04<48us
    接收端检测到的要求
    dWU0detect>1 <4us
    dWUidledetect>1 <4
    dWUtimeout 超时时间>48 <140
    BD总线驱动器
    CC通信控制器
    nStartPath 从ECUM到ECUN之间的有源星型的数量(0~2)
    ###通信控制要求
    建立在最坏情况下的位时间和位选通偏移与采用正常位时间的关系:
    dCCRxBit<=(1-nStrobeOffset/nSamplesPerBit)*gdBit(位时间)
    nStrobeOffset 为定值5;

    SDL规则

    FlexRay协议中的时间表示法:
    最小时间节拍(Microtick)、最大时间节拍(Macrotick)
    uT计时器
    MT计时器
    一个Macrotick计时器采用MTG产生校正的Macrotick
    ST计时器定义了一个以位采样时钟节拍(即采样节拍)为单位进行计数的计时器
    在Microtick时基的时间节拍和位采样节拍之间存在一个确定关系。具体地讲:一个Microtick=pSamplesPerMicrotick(整数)个采样节拍组成
    某个时间发生时盖上时间戳时间戳的基本时间间隔为一个Microtick;

    FlexRay协议运行原理

    核心机制

    编码和解码(机制的主要进程为CODEC)
    媒体接入控制(机制的主要进程为MAC)
    帧和特征符处理(机制的主要进程为FSP)
    时钟同步(机制的主要进程为MTG和CSP)
    CHI—–控制器主机接口
    POC—-协议运行控制
    CC电源模式变化阀值

    名称 描述
    PowerOnPowerThreshold 从poweroff转换到poweron状态的电压阀值
    powerOffPowerThreshold 从poweron状态转换到poweroff状态的电压阀值
    POCOperationalTimeThreshold 必须保持该电压阀值,才能从reset状态转换到POCoperation状态
    POCOperationalTimeThreshold 时间必须达到,才能进入POCoperation状态
    ResetPowerThreshold 如果保持该电压,从POCoperational转换到reset状态

    ###编码与解码<68>
    TSS由连续的低电平组成,低电平持续的时间有参数gdTSS Transmitter指定
    FSS(帧起始序列,Frame Start Sequence)补偿TSS后第一个字节的量化误差,FSS由一个位时间gdBit的高电平组成
    BSS(字节起始序列)有一个gdBit的高电平和一个gdBit的低电平组成。帧数据的每个字节都是以一个扩展字节序列(extended byte sequence)的形式发送到通道上的,即每8个数据位前就有一个BSS
    FES(帧结束序列,Frame End Sequence)有一个gdBit的低电平紧跟一个gdBit的高电平组成。
    对于静态断中发送的数据帧,FES的第2位为传输位流的最后一位?
    DTS(动态尾部序列,Dynamic Trailing Sequence),动态段发送数据帧时才使用,用于指示发送器的最小时隙动作点(minislot action point)的精确时间点;组成:一段可变长度的低电平(最少一个gdBit,在这个最小时间后,节点一直输出低电平到下一个最小时隙动作点)和一段时间长度固定的高电平,可将其设为一下范围中的任意值:>2gbBit 小于gdMinislot+2gbBit ????
    ### 特征符编码
    定义了3中类型的特征符,分别有两种不同的特征符位模式予以表述:
    模式一:CAS(冲突避免特征符)和MTS(媒体接入测试特征符)
    模式二:WUS(唤醒特征符)
    CASMTS的时序
    先发送TSS,随后发送持续cdCAS的低电平,通过prepCASstream函数实现
    WUS时序
    gdWakeupSymbolTxLow 长的低电平和gdWakeupSymbolTxIdle 长的’空闲’组成。并且重复发送pWakeupPatternWUS 生成一个唤醒模式。时序中不需要TSS 节点必须在WUPgdWakeupSymbolTxIdle 时间内检测出通道活动
    ###采样与多数表决
    在每个采样周期中,节点将最近cVotingSamples 个采样点存储,高低电平的数量决定了采样的数据是高电平还是低电平
    ###时钟校验与位选通
    位同步沿,每次选通一个高电平位,节点就会使能位同步沿检测
    当zVotedVal从高电平转变为低电平时,节点就位同步使能,重新计入采样计数,从下一个为2;

    通道空闲检测

    非空闲状态检测到cChannelIdleDelimiter 个选通高电平位被解码,则认为通道变为空闲。节点正在进行通信元解码时,不会进行通信空闲检测

    动作点和时间参照点

    AP(Action Point)是节点根据校准的本地时基执行指定动作的时间点
    pMicroPerCycleTRP 次级TRP(时间参照点)的时间戳
    zPrimaryTRPTRP
    zPrimaryTRP =pMicroPerCycleTRP -pDecodingCorrection (固定偏移量,节点参数)-pDelayCompensation(延迟补偿项)

    帧与特征符解码

    gdSampleClockPeriod (channel sample clock period,通道采样时钟周期)
    gdBit 可配置的位时间长度。
    cSamplesPerBit 每位采样次数
    gdBit = gdSampleClockPeriod * cSamplesPerBit
    Microtick时间=pSamplesPerMicrotick * gdSampleClockPeriod

    帧解码

    通道空闲分割符是指先于CHIRP(通道空闲识别点)的cChannelIdleDelimiter (定值为11)个连续的高电平位时间

    特征符解码

    CASMTS解码
    TSS+介于cdCASRxLowMingdCASRxLowMax的低电平

    WUS解码

    两个WUS才有效

    第一个WUS有至少gdWakeupSymbolRxLow 长的低电平
    gdWakeupSymbolRxIdle 长的空闲组成
    第二个WUS至少有gdWakeupSymbolRxLow 长的低电平
    总时间不超过gdWakeupSymbolRxWindow

    数据帧帧格式

    数据由帧头、有效负载数据段和帧尾组成

    帧头

    保留位—-低电平(0)(1位)
    有效负载预先指示位(1位)
    静态段—数据段开始是否为网络管理向量
    动态段—数据段开始为消息ID(0不包含)
    空帧指示位(1位)0表示数据段不包含数据
    同步帧指示位(1进行时钟同步)
    启动帧指示位(startup frame),只有冷启动节点(codestart node)允许发送启动帧,并且冷启动节点只能将同步帧设置为启动帧
    帧ID(11位)
    有效负载数据长度(7位)以字为单位,长度值为0~*cPayloadLengthMax*,一个通信周期中所有的静态帧的有效数据长度都应该固定且相同;被设置为gPayloadLengthStatic个字
    帧头是CRC11(11位)
    周期计数vCycleCounter

    有效负载数据段

    帧CRC的海明距离为6?????
    静态帧:0~12可以作为NMVector(网络管理向量),长度有gNetwordManagementVectorLength决定
    动态帧:0~15可以配置成消息ID字段
    NMVector同一节点簇都必须配置成一样,
    帧尾—24位的帧CRC

    符号窗

    符号窗包含gbSymbolWindow 个Macrotick
    gbSymbolWindow =gdActionPointOffset(距离时隙起始点的偏移长度)+特征符+cChannelIdleDelimiter +channel idle delimiter+channel idle

    参数说明

    gPayloadLengthStatic(静态帧中有效数据长度<85>)
    gdStaticSlot(静态时隙均包含相同的Macrotick的数量)
    gNumberOfStaticSlots(静态段内静态时隙的数量)
    adActionPointDifference()
    gdMinislot(动态段中每个时隙包含的Macrotick数量)
    gNumberOfMinislots(动态段中最小时隙数量)
    gdSymbolWindow(符号窗中包含的macrotick数量)
    gdNIT
    vSlotCounter(时隙计数器的状态变量)
    gNumberOfStaticSlots(静态段内的静态时隙的数量)
    gStaticSlot(静态时隙包含的Macrotick数量)
    gMaxWithoutClockCorrectionFatal(每个
    gMaxWithoutClockCorrectionPassive
    vVotingDelay(表决延迟,协议层相互传输产生)
    cPayloadLengthMax(动态帧的最大长度以字为单位)
    cClockDeviationMax (最大的时钟偏差,等于1500/1000000=0.0015)
    gListenNoise
    vClockCorrectionFailed

    公式说明

    gMacroPerCycle(5000)[MT] = gdStaticSlot(120)[MT] * gNumberOfStaticSlots(20) + adActionPointDifference(0)[MT] + gdMinislot(40)[MT] * gNumberOfMinislots(40) + gdSymbolWindow(59)[MT] + gdNIT(805)[MT]

    展开全文
  • flexray

    2011-12-19 10:59:03
    FlexRayFlexRay联盟开发的一种汽车网络通信协议。其用来提供一种比CAN和TTP更为快速和可靠的协议,不过更为昂贵。 Contents 1 特性2联盟3应用范围  3.1 汽车 4 详细说明
     
    
    来自Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/FlexRa

    FlexRayFlexRay联盟开发的一种汽车网络通信协议。其用来提供一种比CANTTP更为快速和可靠的协议,不过更为昂贵。

    特性

    FlexRay有以下显著特性:

    • 高速率(高达20Mbit/s)
    • 时间和时间触发行为
    • 冗余
    • 容错
    • 确定性

    联盟

    FlexRay联盟有以下成员组成:

    此外,还有FlexRay高级会员和普通会员。截止到2009年,有28个高级会员,以及60多个普通会员。在2009年底时,该联盟解散了。

    应用范围

    2006年底,BMW X5是第一系列采用了FlexRay的汽车,实现了新的、高速适应的组你系统。在2008年,BMW 7 Series (F01)完全使用了FlexRay,也是全球第一个完全使用FlexRay系统的产品。

    汽车

    详细说明

    时钟

    FlexRay是有一个总线和处理器(电子控制单元,ECUs)组成。每隔ECU有一个独立的时钟,与参考时钟相比,该时钟的飘逸程度不能超过0.15%,因此,系统中最慢的时钟和最快的时钟偏差不能超过30%。

    这就意味着,如果ECU-s是发送者、ECU-r是接收者,发送者的300个周期对于接收者来说是299~301个周期之间。因此,会进经常进行时钟同步,来保证不会发生这样的问题。

    总线上的位

    在某个时间点,进能有一个ECU向总线写数据。要发送的每个位在总线上为8个采样时钟周期。接收方有个缓冲区,来存放最后5次采样,并使用最后5次采样中的多数结果作为输入信号。

    单周期传输错误可能对位的边界附近产生影响,但不会影响8个周期的中间区域。

    0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0
    0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0

    在没有错误时. 信号进延迟了两个周期。

    0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0
    0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0

    在8周期区域的中间区域发生了错误被取消了。

    0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0
    0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0

    在8周期区域的边界区域发生了错误,可能会影响到边界位。

    采样位

    对于每一位,在8位区域的中间区域进行蔡妍,因此错误便转移到了极端周期[译者注:只有周期漂移到一定程度,那么会出现解析位的时候不是解析的中间区域,那么时钟漂移所造成的何时、在哪个周期发生这种情况,就为极端周期],这时就需要经常进行时钟同步来保证时钟漂移足够小。(每300个周期时钟漂移要小于1个周期,在传输过程中,至少每300个周期要进行一次时钟同步。

    所有的通信以帧的形式发送。由字节组成的消息以下面的方式进行打包:

    • 传输开始信号(TSS)-位0
    • 帧开始信号(FSS) - 位1
    • m:
      • 字节开始信号0(BSS0) - 位1
      • 字节结束信号1(BSS1) - 位0
      • 字节中的第0位
      • 字节中的第1位
      • ...
      • 字节中的第7位
    • 帧结束信号(FES) - 位0
    • 传输结束信号(TES) - 位1

    如果没有通信,总线章台为1(高电平),因此接收者根据电平掉到了0来知道通信开始了。

    接收者通过检查是否收到了BSS0 (1)或FES (0)来判断是否完成接收。

    需要注意的是,每个位需要8个周期同字节没有关系。每个字节的传输需要80个周期,BSS0和BSS1需要16个周期,其他位需要64个周期[译者注:假设传输一个字节0x5A,即8位,二进制为:01011010,传输的帧格式为: 0 1 1 0 0 1 0 1 1 0 1 0 0 1,其中每一位分别为TSS、FSS、BSS0、BSS1、8位要传输的数据、FES、TES。每个位的传输时间是8个周期,呢么一个字节的传输周期是8 *(1位TSS + 1位FSS + 1位BSS0 + 1位BSS1 + 8位数据 + 1位FES + 1位TES)=80个周期,其中BSS0和BSS1总共需要16个周期,其他的位需要64个周期]。此外,还需要注意的是BSS0为1,BSS1为0。

    时钟同步

    Clocks are resynchronized when the voted signal changes from 1 to 0, if the receiver was in either idle state or expecting BSS1.

    So the clock is synchronized when the transmission starts and between BSS0 and BSS1. As synchronization is done on the voted signal, small transmission errors during synchronization that affect the boundary bits may skew the synchronization no more than 1 cycle. As there are at most 88 cycles between synchronization (BSS1, 8 bits of the last byte, FES and TES - 11 bits of 8 cycles each), and the clock drift is no larger than 1 per 300 cycles, the drift may skew the clock no more than 1 cycle. Small transmission errors during the receiving may affect only the boundary bits. So in the worst case the two middle bits are correct, and thus the sampled value is correct.

    Here's an example of a particularly bad case - error during synchronization, a lost cycle due to clock drift and error in transmission.

    Errors that happened in the example

    • Because of a single-bit error during synchronization, the synchronization was delayed by 1 cycle
    • Receiver clock was slower than sender clock, so receiver missed one cycle (marked X). This will not happen again before the next synchronization due to limits on maximum allowable clock drift.
    • Because of a single-bit error during transmission, a bit was voted wrongly near the result.

    尽管有这么多错误,通信接收仍然是正确的。

    All except the first are synchronized by the 1->0 edge in the transmission fragment shown.

    要发送的信号 1 0 1 0 1
    发送的信号 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1
    总线上的信号 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1
    接收到得信号 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 X 1 0 0 0 0 0 0 1 0 1 1
    5个大多数表决     1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 X 1 1 1 0 0 0 0 0 0 0 1


    开发工具

    在开发FlexRay总想和/或解决FlexRay总线问题时,检查硬件的信号非常重要。逻辑分析仪总线分析仪可以收集、分析、解码、存储信号,可以查看高速波形。

    参考文献

    其他资源

    外部链接

    【原文出处】http://write.blog.csdn.net/postedit/6725706

    展开全文
  • FlexRay通信协议

    2019-03-04 10:29:24
    FlexRay通信协议的详细介绍,帮助了解汽车FlexRay总线协议的相关理论知识
  • 包含FlexRay最新通信协议、FlexRay总线网络在导弹发射控制系统中的设计与应用资料以及基于FlexRay总线的机载通用串行总线通信模块的设计资料。
  • FlexRay 协议

    2014-05-17 03:07:48
    很好的 FlexRay 的网络技术入门教材
  • flexray资料

    2014-01-23 22:53:43
    flexray资料 As Philips’ first silicon solution for the FlexRay electrical physical layer, the TJA1080 high-speed time-triggered communication system transceiver chip highlights FlexRay’s power and ...
  • flexRay3.0协议

    2018-07-16 14:59:33
    flexray 3.0标准协议。。。
  • FlexRay介绍

    万次阅读 2018-06-02 20:54:15
    FlexRay介绍 本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦: FlexRay背景 FlexRay联盟成立于2000年,于2009年年底解散,核心成员为: BMW ,Volkswagen,Daimler AG ,...

    FlexRay介绍


    FlexRay背景

    FlexRay联盟成立于2000年,于2009年年底解散,核心成员为:

    BMW ,Volkswagen,Daimler AG ,General Motors,
    Robert Bosch GmbH,NXP Semiconductors,Freescale

    FlexRay是由该联盟专为车内局域网设计的一种具备故障容错的高速车载总线系统。
    FlexRay为:

    Flex Flaxibility 意为灵活的;Ray FlexRay联盟的标志-鳐鱼

    由于该总线系统设计时采用了基于时间触发的机制,且具有高带宽、容错性能好等特点,在实时性、可靠性以及灵活性等方面越来越凸显其优势。

    FlexRay主要特点

    高数据速率

    传统CAN线分高低速两种,高速CAN最高速率为1Mbps,低速CAN为250kbps,比较之下,FlexRay有两个信道,其最高速率都可达到10Mbps,总的数据速率可达20Mbps。而正也是因为是两条线路,能更好地实现冗余,使得消息具有容错能力。但当这两条信道传递不同的信息时,使得数据吞吐量加倍。

    确定性

    由于FalexRay是一种时间触发式的总线系统,符合TDMA(Time Division Multiple Access)的原则,因此在时间控制区域内,时隙会分配给确定的消息,即会将规定好的时间段分配给特定的消息,时隙是经固定周期重复,也就是说信息在总线上的时间可以被预测出来,因此保证了其确定性。
    这里写图片描述

    灵活性

    FlexRay是时间触发的总线系统,也可通过事件触发方式来进行部分的数据传输,尤其对于时间要求不高的其他消息,就可以在事件控制区域内传输。因此形成了以时间触发为主,兼顾事件触发的灵活特性。

    其次FlexRay的拓扑结构多样,既能像CAN线一样使用线型结构,也可使用星型结构,并且由中心节点来负责消息的转发,当除中心节点外的节点出现故障时,由中心节点断开与该损坏节点的通信,但若中心节点损坏了,整个总线系统就无法工作。
    这里写图片描述

    容错性

    FlexRay是双信道的系统,在真实的传输环境中,两个信道传输的信息是相同的,称之为通过冗余备份来实现容错。简单理解就是当其中某一条信道出现故障或者信息出现损坏时,另一条信道仍可以继续正常传输,并不会互相影响对方的数据传输。

    另外,在灵活性中提到的星型结构也通用具有故障隔离功能,当某控制器出现故障时,主节点可以自动断开故障节点,以防止对其他正常节点功能的影响。

    FlexRay的应用

    FlexRay最常见的应用场景是汽车的车内线控操作(X-by-wire),这个概念引申自飞机控制系统,飞机上所说的Fly-By-Wire指的是用电线代替机械的控制系统。

    X-by-wire引入到其他行业中后特指去掉机械以及液力后备系统并与安全相关的、具有容错能力的线控系统。

    其中X对应车内可以包括Brake,Steer,Shitt,Accelerate,Suspension等,如在刹车控制系统中,在取消掉原本的机械传动结构基础上,集成为制动-转向-悬架的电控结构,但正因为取消了传统的液压结构,就会要求现有电子控制线路有足够强的可靠性,能满足严格容错以及确定性的操作。

    X-by-wire若使用传统CAN总线,就会出现

    • 事件触发——报文不确定
    • 总线负载率——接近极限
    • 没有带宽储备及对应容错设计

    显然,FlexRay总线系统能满足这样条件。宝马5系07款SUV的电子控制减震系统首次搭载了15个FlexRay节点,当时采用的策略是单通道,10Mbps,星型及总线拓扑结构,由此成为了首款FlexRay通信系统车型。

    后来宝马新七系上,使用了跨系统方式实现行驶动态管理系统和发动机管理系统的联网,其中用了一个网关来实现CAN/FLEXRAY/MOST/LIN等总线之间的通信。

    另一个应用就是由于FlexRay的高速率性,可以利用其成为车载通信骨架,FlexRay的两条信道最高都能达到10Mbps的速率,可以用于连接动力总成、底盘、车身、安全以及多媒体系统等独立系统。
    本文大部分转载于FlexRay的特点详解及其应用

    这里写图片描述

    展开全文
  • FlexRay标准协议

    2018-11-14 09:11:08
    FlexRay标准协议(英文版),帮助初学者学习FlexRay标准协议
  • FlexRay简介.pdf

    2019-12-01 16:33:55
    Flexray协议简介(中文版本),帮助了解Flexray基本原理。适合初学者入门参考设计。
  • FlexRay协议.pdf

    2019-09-21 03:22:31
    FlexRay协议pdf,FlexRay协议
  •  FlexRay总线协议是FlexRay联盟(FlexRay Consortium)制定的适用于汽车高速网络的新一代车载总线,具备高传输速率、硬实时、安全性和灵活性的特点。FlexRay联盟目前只规定了物理层协议和数据链路层协议,没有制定...
  • FlexRay

    on frFrame *

    拓展形式:

    • on frFrame name
    • on frFrame (slot ID, base cycle,cycle repetition)
    • 这个事件只能接收有效的Frames,如果需要接受空帧或者错误帧,用 frNullFrame 和on frFrameError
      若果选择的是PDU,则用下面的方:
    • on frPDU name
      在这里插入图片描述
      同message一样,Frame 也有很多他自己的属性。如下列图。
      在这里插入图片描述

    在这里插入图片描述在这里插入图片描述

    在这里插入图片描述CAPL脚本演示:

    on frFrame As******Fr01
    {
    	write("************************************");
    	write(",this.msgChannel:%d",this.msgChannel);
    	write(",this.FR_ChannelMask:%d",this.fr_channelMask);
    	write(",this.FR_SlotID:%d",this.fr_slotID);
    	write(",this.FR_Cycle:%d",this.fr_cycle);
    	write(",this.fr_cycleOffset:%d",this.fr_cycleOffset);
    	write(",this.fr_cycleRepetition:%d",this.fr_cycleRepetition);
    	write(",this.FR_PayloadLength:%d",this.FR_PayloadLength);
    	write(",this.signal:%x",this.isAD******1Qf);
    	write(",this.word():%x",this.word(0));
    	write(",this.fr_flags:%x",this.fr_flags);
    	 write(",this.fr_segment:%d",this.fr_segment);
    	write(",this.fr_status:%x",this.fr_status);
    	write(",this.dir:%d",this.dir);
    	write(",this.simulated:%x",this.simulated);
    	{
    		int i;
    		for(i=0;i< this.FR_PayloadLength;i++)
    		{
    		 write(",this.fr_Payload[%d]:%x",i,this.fr_Payload[i]);
    		} 
    	}
    }
    

    Trace 中的数据:
    在这里插入图片描述
    Canoe中Write的数据:

    
    > ,this.msgChannel:1                     //第几路flexray 通道,因为只有一路所以是1
    ,this.FR_ChannelMask:1                   // flexray的A通道    
    ,this.FR_SlotID:2                       //  
    ,this.FR_Cycle:5                        //在cycle5的时候收到的这真数据,一般一个flexray循环周期是64,周而复始的从0-63
    ,this.fr_cycleOffset:0                  //根据Trace,这个值应该 是1 ,不知为何打印的是0
    ,this.fr_cycleRepetition:0              //根据Trace,这个值应该 是1 ,不知为何打印的是4
    ,this.FR_PayloadLength:32               //报文长度是32字节
    ,this.signal:3                          //选中信号的值
    ,this.word():3                          //第一个双字节的值
    ,this.fr_flags:84802                    //对照上面贴图中
    ,this.fr_segment:0                      //0 说明这个frame来自于调度表的静态段,如果为1,则是动态段
    ,this.fr_status:20                      //对着上面的截图,看出         0x0020 是有效帧的表示
     ,this.dir:0                            // 0 说明这个frame是TX
    ,this.simulated:1                       //1 说明这个Frame是 模拟节点发出的,不是真实节点
    ,this.fr_Payload[0]:237                    //后面的数据和Trace中是一致的
    ,this.fr_Payload[1]:63
    ,this.fr_Payload[2]:0
    ,this.fr_Payload[3]:1
    ,this.fr_Payload[4]:128
    ,this.fr_Payload[5]:0
    ,this.fr_Payload[6]:0
    ,this.fr_Payload[7]:1
    ,this.fr_Payload[8]:0
    ,this.fr_Payload[9]:0
    ,this.fr_Payload[10]:0
    ,this.fr_Payload[11]:0
    ,this.fr_Payload[12]:233
    ,this.fr_Payload[13]:63
    ,this.fr_Payload[14]:128
    ,this.fr_Payload[15]:0
    ,this.fr_Payload[16]:0
    ,this.fr_Payload[17]:146
    ,this.fr_Payload[18]:0
    ,this.fr_Payload[19]:3
    ,this.fr_Payload[20]:63
    ,this.fr_Payload[21]:0
    ,this.fr_Payload[22]:1
    ,this.fr_Payload[23]:0
    ,this.fr_Payload[24]:128
    ,this.fr_Payload[25]:0
    ,this.fr_Payload[26]:192
    ,this.fr_Payload[27]:0
    ,this.fr_Payload[28]:186
    ,this.fr_Payload[29]:48
    ,this.fr_Payload[30]:156
    ,this.fr_Payload[31]:166
    
    
    
    展开全文
  • FlexRay笔记

    千次阅读 2018-06-25 18:11:00
    1.FlexRay具有高速、可靠及安全的特点。FlexRay在物理上通过两条分开的总线通信,每一条的数据速率是10MBit/s。CAN网络最高性能极限为1Mbps,而FlexRay总数据速率可达到20Mbit/秒。FlexRay支持各种拓扑,如总线、...
  • 微信原文:... 时间同步是FlexRay系统的核心。 本文向大家介绍如何通过FlexRay - FlexRay网关实现两条FlexRay总线的同步。 微信原文:https://mp.weixin.qq.com/s/l7Sj4FBRDwgVk18gPIriJw ...
  • FlexRay物理层规定

    2018-11-22 20:09:00
    FlexRay物理层协议,2.1版本,网上下载太慢,就给大家共享出来了
  • WCRT_FlexRay

    2017-05-21 10:29:50
    计算FlexRay动态帧的最坏时间相应的matlab程序
  • FlexRay总线
  • FlexRay技术综述

    2014-07-11 20:57:48
    FlexRay 是一种用于汽车的高速可确定性的,具备故障容错的总线系统。
  • Flexray是由flexray联盟开发的汽车通信协议,flexray联盟主要由一些汽车开发商组成,Flexray采用双冗余的数据传输方式,单个通道的数据传输速率为10Mbps,相比于CAN总线而言,Flexray总线具有更高的安全性和数据传输...
  • 富士通FlexRay

    2010-03-15 19:41:31
    富士通FlexRay AUTOSAR(汽车开放系统架构),汽车开放系统架构联盟是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。
  • FlexRay配置文档

    2013-09-13 19:51:07
    详细描述了安全控制器内FlexRay总线配置资料
  • flexray开发时,为了计算frame headerCRC方便而做了一个简单的图形界面的计算器,该计算器是针对flexray 的crc11 使用的,请适需而下载。(仅供开发学习,勿用于商用,责任自负)
  • TJA1080 FlexRay transceiver

    2018-09-30 11:43:50
    The TJA1080 is a FlexRay transceiver, which is compatible with the FlexRay electrical physical layer specification V2.1 Rev. A (see Ref. 1). It is primarily intended for communication systems from 1 M...
  • Autosar FlexRay网络管理规范4.3版本,此规范定义了使用FlexRay通讯总线时的网络管理规则
  • 针对传统飞行控制计算机不易升级、扩展困难等不足,本文引入了FlexRay总线技术,采用模块化的设计思想,将飞行控制计算机内部各模块通过FlexRay总线连接,提供多机通信的总线接口,完成了飞行控制计算机的硬件设计...
  • XF512 FlexRay接收

    2018-08-14 09:11:37
    使用飞思卡尔XF512 单片机实现FlexRay发送,须配合发送程序
  • 针对FlexRay系统的嵌入式软件、电子技术,开发板制作交流

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,024
精华内容 409
关键字:

flexray