背景介绍

汽车电子已经发展了将尽30年,车辆上的电控单元的数量呈指数集的增长,电控单元数量的增长带来车上通讯数据量的爆炸性增长,对车辆的通讯带来了新的需求和挑战。
之前我们车辆使用CAN,CAN有着自身传输的瓶颈,高速CAN通过一根总线传输,最高可以达到1M的速率,实际使用中大部分只用到500K,1帧CAN报文携带的有效字节数量很少,最多是8个字节,为了解决CAN通讯数据传输的瓶颈,之后提出了CANFD,CANFD最多可以扩充到64个字节,但真正有效负载率是非常低的,为了应对接下来几年或者几十年车内数据量增长的需求,所以我们需要一种更高速率的总线。
基于这些背景,我们希望有一种传输速率更高,携带更多的有效字节的总线,所以后面提出了FlexRay,Flexray在底盘安全领域应用较多,因为在这一块车上传输数据量很大。

FlexRay特点:

  1. 传输速率,可以达到10MBit/s,一路FlexRay下面分了两路子通道,Channel A和Channel B,10M指的是每个子通道的通讯速率,大部分只用到了Channel A,Channel B空置不用,当然Channel B有三种用法,1.空置不用;2.Channel B传输和Channel A相同的数据,作为数据的冗余,相对提高系统稳定性,一旦某一路出现通讯故障,另外一路可以作为备份使用;3.传输不同的数据,变相地扩充了通讯速率,Channel A和Channel B加起来可以达到20M通讯速率;
  2. 物理层,FlexRay物理层和CAN的物理层很像,FlexRay每一路子通道都是用了两根双绞线去传输,和CAN是一样的,CAN两根线称为CAN高和CAN低,在FlexRay里面这两根线叫BP和BM,所以在物理层方面以单通道来看,CAN和FlexRay是很类似的;
  3. 可扩展性,原来CAN的扩展性就很好,在CAN的网络基础上去加一些结点或者减少结点,不需要对原有网络的硬件和软件做过多的修改,在设计FlexRay总线的时候,也希望它有这种特性,便于我们做网络的扩展。FlexRay在前期定好之后,可以做一些扩展,加一些新的结点,可扩展性跟CAN很一样,比较友好;
  4. 传输可靠性,FlexRay使用领域主要跟安全相关,主动安全被动安全。1.数据在传输过程中有保护机制,及时监测到数据发生错误;2.数据传输的可预测性,每个结点可以知道在接下来的某一时刻可以接受到什么样的数据,而且一定能接收到这个数据。而CAN具有不可预测性,CAN是典型的event-triggered事件触发机制,CAN报文受到某事件触发后发出或者周期性的发出,FlexRay是time-triggered,按照时间触发,报文的发送严格的按照调度表(关于调度表后面会讲到),调度表里面划分了时间窗口,特定的时间窗口有特定的报文发送。

CAN和FlexRay区别
CAN是事件触发类型,只要总线空闲,有需求要发送数据,可以马上发出,即时性,但是可能造成总线资源利用的不平均,例如有时候在某一时刻总线上有很多结点同时想发出数据,这时候CAN有仲裁机制,可以避免这种冲突,按照优先级进行排序,所以对优先级低的报文会有发送的延迟的情况,没法具体计算延迟的时间,可能要考虑总线的负载率;
FlexRay是时间触发类型,例如某一结点现在需要发送出去,但是要等到轮到这个结点发送窗口才能发送出去,不存在冲突的情况,在调度表上杜绝了有两个结点同时想访问总线的情况,在FlexRay里面没有冲突的概念,所有时间所有结点所有报文都有特定的时间窗口去发送。
CSMA CAN也叫载波帧听多路访问的方式

TDMA FlexRay时分多路的访问方式,把大周期划分为小的时间片段,在每个时间片段里面都定义了发出来的数据。

FlexRay学习笔记_1相关推荐

  1. 12864液晶深入学习笔记_1——基于msp430g2553

    12864液晶学习笔记 Created on: 2012-8-30 Author: zhang bin 这是我对12864的学习笔记,12864液晶功能很全面,使用起来也很方便,能够满足一般的研究和工 ...

  2. cublas 的学习笔记_1

    最近开始接触cublas,为了监督自己的学习,并希望得到其他朋友的指点,特地将自己的学习笔记写出来 1. 参考文档 CUBLAS_Library_2.1.pdf > 2.  环境配置 1)添加头 ...

  3. 带时滞的病毒模型计算模板【基于matlab的动力学模型学习笔记_1】

    /*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/ 摘 要:无论是生物病毒还是网络病毒,其内核的传播机理都有很多的相似之处.因此,本文在经典的SIR病毒模型基础上改造出 ...

  4. 尚学堂JAVA高级学习笔记_1/2

    尚学堂JAVA高级学习笔记 文章目录 尚学堂JAVA高级学习笔记 写在前面 第1章 手写webserver 1. 灵魂反射 2. 高效解析xml 3. 解析webxml 4. 反射webxml 5. ...

  5. 逆向破解_iOS_学习笔记_1

    监测工具 Reveal.snoop-it.introspy 反汇编工具IDA.Hopper 开发工具iOSOpenDev.Theos  OSX工具class-dump 然而出现了权限问题: cp: / ...

  6. FlexRay学习笔记_2

    Segments in the Flexray cycle Flexray按照时间可以按照下图来划分 一个大cycle下面分成了64个小cycle,64个小cycle里面分了四个段,静态段,动态段,符 ...

  7. 20220\8\20 C语言入门学习笔记_1 【试写未成年防沉迷系统模型】 (使用软件vs2022)

    ​#include<stdio.h>int main(void)/*Fish_GD*/ {int age;int English_score;int IQ;printf("输入你 ...

  8. HMM学习笔记_1(从一个实例中学习DTW算法)

    DTW为(Dynamic Time Warping,动态时间归准)的简称.应用很广,主要是在模板匹配中,比如说用在孤立词语音识别,计算机视觉中的行为识别,信息检索等中.可能大家学过这些类似的课程都看到 ...

  9. 爬虫实战学习笔记_1 爬虫基础+HTTP原理

    1 爬虫简介 网络爬虫(又被称作网络蜘蛛.网络机器人,在某些社区中也经常被称为网页追逐者)可以按照指定的规则(网络爬虫的算法)自动浏览或抓取网络中的信息. 1.1 Web网页存在方式 表层网页指的是不 ...

最新文章

  1. pip:成功解决pip下载时速度超慢(pip下载慢)的几种方法
  2. activemq控制面板里的NumberOfPendingMessages、MessagesEnqueued、MessagesDequeued含义
  3. 拒绝卡顿,揭秘盒马鲜生 Android 短视频秒播优化方案
  4. mysql 主键 下一个值_INNODB自增主键的一些问题 vs mysql获得自增字段下一个值
  5. html把div分成两栏,div+css制作上中下,中间两列的全屏自适应布局
  6. python文件可以包括任何数据内容_python 文件数据合并(数据行不对应)?
  7. TTL and CMOS 的几个基本功能模块
  8. java语句类型_01-java数据类型与语句
  9. mysql--MySQL数据库的简单认识
  10. 算法复习周------“贪心问题之‘单源最短路径’”
  11. 用mysql web建立论坛_在web1上搭建Discuz论坛
  12. SIP信令跟踪工具HOMER
  13. 商务统计分析(第3章 数据描述)
  14. 解决七彩虹断剑C.A320M-K PRO V14在Win11下前置面板音频接口无法使用的问题
  15. 传销式招聘!被骗到东南亚的程序员到底有多惨?
  16. Linux中Docker入门知识
  17. 借助libbpf/libxdp使用AF_XDP,我们都需要做什么——以一个简单程序为例
  18. 方向导数与梯度(衡量空间向量变化趋势)
  19. oracle连接打印机,使用 CUPS 命令设置网络打印机
  20. 利用JS实现短信验证码倒计时案例

热门文章

  1. 腾讯云-即时通信 IM uni-app 和 java 整合过程
  2. maya2018的uv导入和导出
  3. ASP.NET.3.5揭秘
  4. 钉钉与wcp集成通知【原创】
  5. 京东2018校园招聘一面、二面
  6. 企业家论坛谋定转型 商协社团·万祥军:全国工商联促广东发展
  7. All the Vowels Please
  8. oracle保留六位小数,oracle 小数保留位数
  9. ERP系统的数据安全
  10. 51nod 1299 监狱逃离 树形dp/最小割