FlexRay 介绍

2023-05-16

汽车上的总线技术包括:LIN、CAN、CAN FD、FlexRay、MOST及Ethernet,我们之前已经分享了LIN,CAN、CAN FD总线。在开始阅读之前,如果你对已介绍的总线技术还不了解的话,可以先阅读以下文章快速温习一下~

说一说LIN总线

CAN总线基础(一)

CAN总线基础(下)

CAN FD 介绍

Image

FlexRay背景

随着汽车电子技术的不断发展和系统的集成化,我们可不需要传统的机械传递控制信号而是通过电子手段来驾驶汽车,而这一电子手段即X-By-Wire(X代表汽车中的各个系统,By-Wire可称为电子线控),如线控转向(Steering-By-Wire),线控制动(Brake-By-Wire),线控技术主要应用在主动安全等关键系统中,这些场合都对信息的实时性和安全性有很高的要求。

Image

另一方面随着汽车电子电器架构复杂度的提升尤其当前辅助驾驶系统、无人驾驶技术的快速发展,传统的LIN、CAN总线已不堪重负且无法满足未来高带宽的要求,

上期讲的CAN FD只是对传统CAN总线的一种扩展和过渡,首先其不会对原有的整车网络带来大的变更,具备很好的兼容性又具有不错的传输速率(最高2Mbps),其次LIN CAN总线在汽车上已应用了这么多年,若突然向新的总线技术迁移(如本期讲的FlexRay)会带来开发迁移量、时间成本、硬件成本等方面的同步提升(所有节点必须升级为FlexRay节点),因此CAN FD在当前阶段是很好的过渡方案。但当同时考虑X-By-Wire应用场景和更高的带宽要求时,CAN FD则无法满足,而FlexRay则非常适用,但FlexRay的应用对OEM的能力要求相比CAN会提高很多。

Image

Image

FlexRay联盟

FlexRay的出现和发展离不开2000年由Daimler Crysler 、 BMW 、Motorola 和Philips创建的FlexRay联盟的推动。该联盟的目标是开发一种独立于OEM、确定性和容错的FlexRay通信标准,该联盟的每个成员都可以使用该标准而无需支付许可费。目前FlexRay联盟的核心成员包括:BOSCH 、BMW、Daimler AG、General Motors、Volkswagen AG、NXP Semiconductors。

FlexRay联盟在2010年发布了3.0.1版规范,开始推动作为ISO标准,并在2013年发布了ISO 17458标准规范。

第一款采用FlexRay的量产车于2006年底在BMW X5中推出,应用在电子控制减震系统中,2008年,全新BMW 7系全面采用了FlexRay。另外Audi、Mercedes-Benz以及领克等车型上也逐渐应用。

Image

FlexRay通讯特点及拓扑

FlexRay是专为车内局域网设计的一种具备故障容错的高速可确定性车载总线系统,采用了基于时间触发的机制且具有高带宽、容错性好等特点,在实时性、可靠性及灵活性方面都有很大的优势,非常适用于安全性要求较高的线控场合及带宽要去高的场合。

1、高速率和容错性

FlexRay支持两通道,可通过一个或两个通道进行数据传输,单个通道的数据传输速率可达10Mbps,通过两通道平行传输数据时可达20Mbps。也可通过双通道传输相同的数据(真实情况大多应用的方式),当其中某个通道出现故障或信息有误时,另一通道可继续正常传输,并影响整个网络的数据通讯,通过这种冗余备份实现很好的容错性

2、确定性

FalexRay是一种时间触发式的总线系统,符合TDMA(Time Division Multiple Access)的原则,因此在时间控制区域内,时隙会分配给确定的消息,即会将规定好的时间段分配给特定的消息,时隙是经固定周期重复,也就是说信息在总线上的时间可以被预测出来,因此保证了其确定性。这就意味着控制信号是根据预定义的时间进度传输的,无论系统外部发生什么情况,都不会产生计划外事件。在确定性算法中,始终会预先定义正确的输出结果,这些结果是基于特定输入的。

Image

Image

3、灵活性

FlexRay除了支持时间触发式通讯外,还可通过事件触发来进行数据的传输,例如对于时间要求不高的信息,可配置在事件控制区域内传输,可形成以时间触发为主,兼顾事件触发的灵活特性。

Image

此外,FlexRay的拓扑是多样的,有线型、星型和混合型三大类,再结合单通道和双通道的使用(FlexRay的两个通道可相互独立实现,所以两个通道可采用不同的拓扑结构,如一个通道为主动星型拓扑,另一个为总线拓扑结构),所以最终组合的结果可形成很多种。再例如既有点对点的线性结构和多节点的线性结构,还有增加冗余性的双通道星型拓扑结构等等。

Image

Image

FlexRay数据传输

FlexRay规范定义了OSI参考模型中的物理层和数据链路层每个FlexRay节点通过一个FlexRay Controller和两个FlexRay Transceivers(用于通道冗余)与总线相连,FlexRay Controller负责Flexray协议中的数据链路层,FlexRay Transceivers则负责总线物理信号接收发送。

Image

FlexRay可采用屏蔽或不屏蔽的双绞线,每个通道有两根导线,即总线正(Bus-Plus,BP)和总线负(Bus-Minus,BM)组成。采用不归零法(NRZ,Non-Return to Zero)进行编码。

可通过测量BP和BM之间的电压差识别总线状态,这样可减少外部干扰对总线信息的影响,因这些干扰同时作用在两根导线上可相互抵消

每一通道需使用80~110欧的终端电阻。将不同的电压加载在一个通道的两根导线上,可使总线有四种状态:Idle_Lp(Low power)、Idle、Data_0和Data_1

显性:差分电压不为0V(Data_0和Data_1)

隐性:差分电压为0V(Idle_Lp、Idle)

Image

FlexRay帧格式

FlexRay帧由起始段、有效负载段和结束段三大部分构成。

Image

1、起始段:由40个bits构成(5 bytes),包括

-Status Bits-5bits

-Frame ID-11bits

-Payload Length-7 bits

-Hedaer CRC-11bits

-Cycle count -6 bits

其中5bits的Status Bits包含四类指示符:

  1. 净荷指示位(Payload Preamble Indicator)
  2. 空帧指示位(Null Frame Indicator-指明该帧是否为无效帧)
  3. 同步帧指示位(Sync Frame Indicator-指明该帧是否为一个同步帧)
  4. 起始帧指示位(Startup Frame Indicator-指明该帧是否为起始帧)。

Frame ID:数据标志符,定义了在时间窗口(Slot)中发送的号码,每个通道数据标志符需唯一。

Payload Length:工作区长度,指示该帧含有的有效数据长度,在每个Cycle下的静态区中,每帧的数据长度是相同的,在动态区的长度则是不同的。

Hedaer CRC:用于起始段冗余校验,检查传输中的错误。

Cycle count:循环计数器。

2、有效负载段

包含要传输的有效数据,有效数据长度最大254个Bytes(0~127个Words),

3、结束段

包含24  Bits的检验域,由起始段和有效负载段计算得出的CRC校验码,计算CRC时,根据网络传输顺序从保留位到有效负载段的最后一位放到CRC生成器中进行计算。

FlexRay编码

编码的过程实际就是对要发送的数据进行一定的打包处理,即在节点可传输带有主计算机数据的数据前需将其转换为“比特流(Bitstream)”。

Image

Image

RxD为接收信号,TxD为发送信号,TxEN为通讯控制器请求数据,对于静态帧和动态帧分别按照如下方式进行编码。

Image

其中TSS(传输启动序列):用于初始化节点和网络通讯的对接(5~15位的低电平);FSS(帧启动序列):用于补偿TSS后第一个字节可能出现的量化误差(一位高电平);BSS(字节启动序列):给接收节点提供数据定时信息(一位高电平并紧随一位低电平);FES(帧结束序列):用于标识数据帧最后一个字节序列结束(一位低电平紧随一位高电平)。

对于动态区数据还额外需要DST(动态段尾部序列):仅用于动态帧传输,用于表明动态段中传输时动作点的精确时间防止接收段过早检测到网络空闲状态(一位长度可变的低电平和高电平)。

将这些序列和有效位(MSB到LSB)组装起来完成了编码过程,最终构成在网络传播的比特流。

FlexRay通讯

FlexRay总线的通讯由通讯周期(Communication Cycle)构成,从总线启动到停止都在不断重复该通讯周期。每个通讯周期具有相同的可配置时间间隔,且每个通讯周期由下面四部分构成:

  1. 静态段(Static Segment)
  2. 动态段(Dynamic Segment)
  3. 特征窗(Symblo Window)
  4. 网络空闲时间(Network Idle Time)

Image

1、静态段(Static Segment)

静态段采用TDMA(Time Division Multiple Access)方式由固定的时隙(Slot)组成,不可更改且所有时隙大小一致。

Image

Image

Image

Image

因此每个节点可拥有一个或多个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)组成,可根据需要拓展变动,一般用于传输事件控制型消息。

Image

Image

Image

Image

在动态段每帧可能有不同的长度,动态时隙(Dynamic Slot)的长度依赖于帧的长度,只有空的Slot才是实际的一个Minislot的大小。

3、特征窗(Symblo Window)

用于传输特征符号,FlexRay的符号有三种:

  1. 冲突避免符号:用于冷启动节点的通讯启动
  2. 测试符号:用于总线的测试
  3. 唤醒符号:用于唤醒过程的初始化

Image

4、网络空闲时间(NIT-Network Idle Time)

用于时钟同步处理

如下是一个通讯示例:

Image

FlexRay总结

从上面可看出,FlexRay相比传统LIN、 CAN和CAN FD要更复杂一些,因此不管对OEM还是供应商的能力要求势必提高不少,其次从传统总线技术向FlexRay迁移在成本及Effort上都要增加很多,普遍应用仍需要时间。

Image

参考文献:

1、FlexRay introduction(EB、Vector、BOSCH等资料)

 FlexRay 介绍 (qq.com)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FlexRay 介绍 的相关文章

  • 如何从普通员工成为一个领导者

    how to become a company leader from one employee 要想成为一个领导或者领导 xff08 影响别人 xff09 首先需要基本的领导基本功 这里分享一些我的心得体会 自我反省 xff1a 要不断自
  • 读书笔记1

    第七期主题词 xff1a 告别 1 我们最终都要远行 xff0c 最终都要与稚嫩的自己告别 xff0c 告别是通向成长的苦行之路 海子 2 我和谁都不争 xff0c 和谁争我都不屑 xff0c 我的双手烤着生命之火取暖 xff0c 火萎了
  • 武志红《为何爱会伤人》

    最近读武志红 为何爱会伤人 xff0c 让我们从另一个角度去理解爱情 xff0c 本书从全新的视角解读爱情 xff0c 提出从 认识自己内心 的角度来看待爱情 xff0c 什么是迷恋 xff1f 什么是一见钟情 xff1f 如何获得真爱等问
  • 关于如何去寻找自己的另一半和我的爱情观

    用这个题目 xff0c 我自己都没想到 xff0c 因为目前我还是单身 xff0c 虽然谈过几次恋爱 xff0c 但最后都成了白月光 下面我给出了自己的反思 xff0c 也找了我的领导谈心 xff0c 也看了一些书 xff0c 想找到为什么
  • 一篇文章完全讲解C语言指针

    指针对于C来说太重要 然而 xff0c 想要全面理解指针 xff0c 除了要对C语言有熟练的掌握外 xff0c 还要有计算机硬件以及操作系统等方方面面的基本知识 所以本文尽可能的通过一篇文章完全讲解指针 为什么需要指针 xff1f 指针解决
  • MySQL定时备份

    MySQL定时备份实例 xff1a 每周一晚上3 00 xff0c 备份数据库服务器上webdb库的所有数据到系统的 mysqlbak目录中 xff0c 使用系统日期做备份文件名 xff01 span class token operato
  • 一篇文章完全讲解C语言指针

    https mp weixin qq com s biz 61 MzU3NDU5NDczMw 61 61 amp mid 61 2247504309 amp idx 61 5 amp sn 61 5421ee86fb1be92b43d99f
  • 读懂Adaptive Autosar架构-基础应用篇

    对于Adaptive AUTOSAR xff0c 咱们经常会看到这句话 xff1a Write once Adopt everywhere 但实际上理想很丰满 xff0c 现实很骨感 毕竟Classic Platform xff08 后面简
  • 软件架构的定义

    一 软件架构的定义 我们先讨论一下什么是软件架构 xff1f 对于软件架构并没有一个标准的定义 xff0c 但是你和软件工程师谈到架构的时候 xff0c 他们会知道这些都会是架构的内容 是不是要分层 xff0c 如何处理事件 xff0c 如
  • 一文了解V2X技术栈及其产业链

    C V2X会给未来出行交通带来怎样的改变 xff1f 会在哪些场景下发挥作用 xff1f 这条产业链里面的公司又是哪些 xff1f 大厂们在V2X上的投入又是如何呢 xff1f 本文可以给你一个答案 1 为什么需要V2X 随着C V2X及5
  • 精力管理分享

    你是否长时间工作却没有时间休息 是否总是感到压力很大 xff0c 时间不够用 xff1f 是否经常觉得很疲惫 xff0c 怎么调整都找不到状态 xff1f 然而 xff0c 不论是工作还是生活 xff0c 我们每个人都需要进行自我能量的调节
  • 目标管理

    业务能力很突出 xff0c 管理能力跟不上 xff0c 怎么办 xff1f 这节课帮你补全管理必修模块 xff0c 掌握全面的管理视角 学了很多管理手段 xff0c 总是用不上怎么办 xff1f 用工具统一管理语言 xff0c 拿来就能用
  • 深入浅出理解SOME/IP

    详解SOME IP协议文档 1 知乎 知乎 xff0c 中文互联网高质量的问答社区和创作者聚集的原创内容平台 xff0c 于 2011 年 1 月正式上线 xff0c 以 让人们更好地分享知识 经验和见解 xff0c 找到自己的解答 为品牌
  • SOME/IP-SD 深入浅出

    文章中 xff0c 我们了解了一条完整的SOME IP报文应该长什么样子 xff0c 但这显然是不够的 xff0c 至少还有以下这几个问题并没有得到明确的解决 xff1a Client如何发现服务 当服务不可用时 xff0c 如何通知Cli
  • Segmentation Fault错误原因总结

    一 什么是 Segmentation fault in Linux 所谓的段错误就是指访问的内存超过了系统所给这个程序的内存空间 xff0c 通常这个值是由gdtr来保存的 xff0c 他是一个48位的寄存器 xff0c 其中的32位是保存
  • 漫谈QNX(架构/进程,线程,同步,进程间通信IPC)

    1 架构 说起Blackberry的QNX操作系统 想必大家都听说过 xff0c 但到底为什么QNX能如此有名 xff1f 难道微软的Windows和Linux都不能与之抗衡 xff1f 美国NASA的太空接驳飞船也使用QNX操作系统 QN

随机推荐

  • Linux系统安装后需要做什么?

    安装完linux系统之后需要做的事情 以centos7为例 xff1a 1 用root用户登录 2 tab键补全安装包 yum span class token operator span y install bash span class
  • ETAS Adaptive AUTOSAR 自适应平台示例视频教程

    ETAS AP AUTOSAR自适应平台示例视频教程 本系列文章旨在提供一个详细的操作指南 xff0c 以构建ETAS AP AUTOSAR自适应平台的示例 实践练习的目标是加强AUTOSAR自适应平台中的理论概念 xff0c 并更好地理解
  • 什么是微内核,看这一篇就够了

    微内核是将服务转移到进程上的一种内核模式 宏内核是一种传统的内核结构 xff0c 它将进程管理 xff0c 内存管理等各项服务功能都放到内核中去 xff0c 通常用在通用式的内核上 xff0c 如unix xff0c linux等 两个系统
  • AUTOSAR的E2E通信安全

    AUTOSAR标准的安全通信为支持功能安全 xff0c AUTOSAR标准结合ISO 26262功能安全标准 xff0c 在基础软件层从安全执行 安全通信以及安全内建测试三个方面做出了规范 xff0c 并规范 AUTOSAR标准的安全通信
  • bridged networking(桥接模式)和network address translation(NAT模式)

    在NAT模式下 xff1a 王五的主机里面的虚拟机有一个虚拟的网卡有一个IP地址192 168 100 88 xff0c 可以在内部生成一个虚拟的地址192 168 100 xff19 xff19 与之通信 xff0c 然后通过代理利用主机
  • Linux 目录结构

  • Adaptive AUTOSAR 简介 (2021版)

    目录 1 Adaptive AUTOSAR 简介 Adaptive平台 一种新的 AUTOSAR 1 1 Adaptive的案例 1 2 经典平台与适应性平台的比较 1 3 单一系统 1 4 架构 逻辑架构 1 5 软件架构 本文图片来源
  • 从Adaptive AUTOSAR的角度看SOA

    前言 身处汽车行业的我们深知 xff0c 新技术的应用或者新概念的提出 xff0c 一定是事出有因的 通常是为了抢夺新技术高地 xff0c 让汽车更好地满足未来的需求 那么 xff0c 汽车电子电气架构领域掀起的这股SOA热潮是由什么导致的
  • 什么是BSP?理解LINUX BSP

    BSP 可支持操作系统更好地运行于硬件主板 BSP xff08 Board Support Package xff09 指板级支持包 对于一般的嵌入式系统 xff0c 硬件部分需要嵌入式硬件工程师设计硬件电路 xff0c 而新出厂的电路板需
  • c++11 std::move() 的使用

    std move函数可以以非常简单的方式将左值引用转换为右值引用 xff08 左值 左值引用 右值 右值引用 参见 xff1a http www cnblogs com SZxiaochun p 8017475 html xff09 通过s
  • Adaptive AUTOSAR 学习笔记 3 - AP 背景、技术及特征

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20 11 版本 本文从AUTOSAR EXP PlatformDesign pdf开始 xff0c 一边学习 xff0c 一边顺带着翻译一下 尽力而为 x
  • MySQL导入数据(命令行、脚本方式)

    docker安装MySQL并导入数据 安装步骤省略 xff0c 详细可参考百度上文档 一 命令方式 1 把数据传进服务器中 dfc span class token annotation punctuation 64 BBC span sp
  • Linux 终端快捷键

    Linux 终端快捷键 你可能会有这样的疑问 xff1a 对于有些快捷键 xff0c 明明有等效的 一个按键就能搞定的操作 xff0c 为什么非要舍近求远 用两个组合键来实现 xff1f 当对键盘 终端命令熟练到一定程度之后 xff0c 你
  • Adaptive AUTOSAR----Adaptive studio

    Adaptive studio Adaptive Studio 是包含在 RTA VRTE SK 中的 AUTOSAR 编辑器 Adaptive studio 通过高级抽象支持所有 adaptives autosar arxml 元素的配置
  • Linux tcpdump命令详解

    简介 用简单的话来定义tcpdump xff0c 就是 xff1a dump the traffic on a network xff0c 根据使用者的定义对网络上的数据包进行截获的包分析工具 tcpdump可以将网络中传送的数据包的 头
  • 什么是 E2E 保护 ?

    安全在每个领域都是一个永恒的话题 xff0c 汽车也不例外 xff0c 而随着最近几年汽车电动化 智能化和网联化的发展 xff0c 汽车安全也越来越受到用户及开发人员的重视 xff0c 安全的要素也是多方面的 xff0c 例如用户可能关心在
  • CAN总线基础

    概述 汽车电子设备的不断增多 xff0c 对汽车上的线束分布以及信息共享与交流提出了更高的要求 传统的电气系统往往采用单一连接的方式通信 xff0c 这必将带来线束的冗余以及维修的成本的提高 单一布线连接 传统的单一通信的对接方式 xff0
  • 说一说LIN总线

    前几天小编画点时间看了一些关于LIN总线基础的内容 xff0c 把其中的关键点提取了出来 xff0c 在这里分享给大家 在这里你可能要问 不都有CAN总线了吗 xff1f 这个LIN总线又是从哪里来的 xff1f 其实理由很简单 xff0c
  • CAN FD 介绍

    随着电动汽车 xff0c 无人驾驶汽车技术的快速发展 xff0c 以及对汽车高级驾驶辅助系统和人机交互HMI需求的增加 xff0c 传统的CAN总线在传输速率和带宽等方面越来越显得力不从心 xff0c 其主要原因如下 xff1a 1 通常整
  • FlexRay 介绍

    汽车上的总线技术包括 xff1a LIN CAN CAN FD FlexRay MOST及Ethernet xff0c 我们之前已经分享了LIN xff0c CAN CAN FD总线 在开始阅读之前 xff0c 如果你对已介绍的总线技术还不