FlexRay学习笔记_1

背景介绍

汽车电子已经发展了将尽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)