学习笔记8--通信总线

本系列博客包括6个专栏,分别为:《自动驾驶技术概览》、《自动驾驶汽车平台技术基础》、《自动驾驶汽车定位技术》、《自动驾驶汽车环境感知》、《自动驾驶汽车决策与控制》、《自动驾驶系统设计及应用》。
此专栏是关于《自动驾驶汽车平台技术基础》书籍的笔记.



6.通信总线

  1. 概述

    • 车用总线技术被美国汽车工程师协会SAE下属的汽车网络委员会按照协议特性分为A、B、C、D4类,如下表所示:

      类别 总线名称 通信速度 应用范围
      A类 LIN 10~125Kb/s(车身) 大灯、灯光、门锁、电动座椅等
      B类 CAN 125Kb/s~1Mb/s 汽车空调、电子指示、故障检测等
      C类 FlexRay 1~10Mb/s 发动机控制、ABS、悬挂控制、线控转向等
      D类 MOST/1394 10Mb/s以上 汽车导航系统、多媒体娱乐等
    • A类总线

      面向传感器或执行器管理的低速网络,位传输速率通常为10~125Kb/s;A类总线以LIN(Local Interconnect Network,本地互联网络)为代表,由摩托罗拉与奥迪等企业联手推出的一种新型低成本的开放式串行通信协议, 主要用于车内分布式电控系统,尤其是面向智能传感器或执行器的数字化通信场合;

    • B类总线

      面向独立控制模块间信息共享的中速网络,速率一般为125Kb/s~1Mb/s;B类总线以CAN(Controller Area Network,控制器局域网络)为代表;

    • C类总线

      面向闭环实时控制的多路传输高速网络,位速率多为1~10Mb/s;C类总线主要用于车上动力系统中对通信的实时性要求比较高的场合,主要服务于动力传递系统;汽车厂商大多使用FlexRay作为C类总线;

    • D类总线

      面向多媒体设备、高速数据流传输的高性能网络,位速率一般在10Mb/s以上,主要用于CD等播放机和液晶显示设备,D类总线带宽范畴相当大,用到的传输介质也有多种,被分为低速、高速和无线3大范畴;

  2. 本地互联网络

    • 本地互联网络(LIN)是面向汽车低端分布式应用的具有低成本、低速串行等特点的总线形式;

    • LIN总线的工作原理:采用单个主控制器多个从设备的模式,在主从设备间只需要一根电压为12V的信号线;

    • 这种主要面向"传感器/执行器控制"的低速网络,最高传输速率可达20Kb/s,应用于电动门窗、座椅调节、灯光照明等控制系统;

    • LIN相对于CAN的成本节省来自于:采用单线传输、硅片中硬件或软件的低成本实现及无须在从属节点中使用石英或陶瓷谐振器;

    • 通过CAN网关,LIN网络可以和汽车的其他系统进行信息交换,实现更丰富的功能,如下图所示:
      1

      • LIN包含一个宿主节点(Master)和一个或多个从属节点(Slave);
      • 所有节点都包含一个被分解为发送和接收任务的从属通信任务,而宿主节点还包含一个附加的宿主发送任务,在实时LIN中,通信总是由宿主任务发起的;
      • 除了宿主节点的命名外,LIN网络中的节点不使用有关系统设置的任何信息,可以在不要求其他从属节点改变硬件和软件的情况下向LIN中增加节点;
      • 宿主节点发送一个包含同步中断、同步字节和消息识别码的消息报头,从属任务在收到和过滤识别码后被激活并开始消息响应的传输;响应包括2个、4个或8个数据字节和一个检查和(checksum)字节;报头和响应部分组成一个消息帧;
      • LIN总线上的所有通信都由主机节点中的主机任务发起,主机任务根据进度表确定当前的通信内容,发送相应的帧头,并为报文帧分配帧通道;总线上的从机节点接收帧头后,通过解读标识符确定自己是否应该对当前通信做出响应、做出何种响应;
  3. 控制器局域网络

    • CAN总线简介

      • 控制器局域网总线(Controller Area Network,CAN)是一种用于实时应用的串行通信协议总线,可以使用双绞线来传输信号;
      • CAN协议由德国的Robert Bosch公司于1986年推出,用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束;
      • CAN总线是一种多主方式的串行通信总线,基本设计规范要求有高的位速率,高抗电子干扰性,且能检测出产生的任何错误;
      • CAN总线可以应用于汽车电控制系统、电梯控制系统、安全监测系统、医疗仪器、纺织机械、船舶运输等领域;
    • CAN总线的特点

      • 具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;
      • 采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;
      • 具有优先权和仲裁功能,多个控制模块通过CAN控制器挂到CAN-bus上,形成多主机局部网络;
      • 可根据报文的ID决定接收或屏蔽该报文;
      • 可靠的错误处理和检错机制;
      • 发送的信息遭到破坏后,可自动重发;
      • 节点在错误严重的情况下具有自动退出总线的功能;
      • 报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息;
    • CAN总线通信介质访问控制方式

      • CAN采用了3层模型:物理层、数据链路层和应用层;
      • 支持的拓扑结构为总线型,传输介质为双绞线、同轴电缆和光纤;采用双绞线通信时,速率可达1Mb/s,节点数可达110个;
      • CAN通信采用多主竞争方式结构:网络上任意节点均可以在任意时刻主动地向网络上其他节点发送信息,而不分主从,即当发现总线空闲时,各个节点都有权使用网络;在发生冲突时,采用非破坏性总线优先仲裁技术:当几个节点同时向网络发送消息时,运用逐位仲裁原则,借助帧中开始部分的表示符,优先级低的节点主动停止发送数据,优先级高的节点不受影响地继续发送信息,从而有效避免总线冲突,使信息和时间均无损失;
      • CAN通信协议主要有CAN总线控制器完成,CAN控制器主要由实现CAN总线协议部分和微控制器接口部分电路组成;通过简单的连接即可完成CAN协议的物理层和数据链路层的所有功能,应用层功能由微控制器完成;
      • CAN总线上的节点既可以是基于微控制器的智能节点,也可以是具有CAN接口的I/O器件;
    • 应用技术

      • 系统组成

        • CAN总线属于现场总线的范畴,CAN总线系统的一般组成模式如下图所示:
          2

        • 网络拓扑结构采用总线式结构;这种网络结构简单、成本低,且采用无源抽头连接,系统可靠性高;

        • 通过CAN总线连接各个网络节点,形成多主机控制器局域网;

        • 信息传输采用CAN通信协议,通过CAN控制器来完成;

        • 各网络节点一般为带有微控制器的智能节点完成现场的数据采集和基于CAN协议的数据传输,节点可以使用带有CAN控制器的微控制器,或选用一般的微控制器加上独立的CAN控制器来完成节点功能;

        • 传输介质可采用双绞线、同轴电缆或光纤;

      • CAN总线的物理层设计

        • CAN总线物理层设计原则:对于两种输出状态显性、隐性,总线应具有两种不同的电平,接收端呈现显性、隐性两种状态,如下图所示:
          3
        • 下图采用CAN接发器作为CAN控制器和物理总线间的接口,提供向总线的差动发送能力和对CAN控制器的差动接收能力:
          4
  4. 高速容错网络协议

    • 概述

      • 高速容错网络协议(FlexRay)是一种用于汽车的高速、可确定性的,具备故障容错能力的总线技术,将事件触发和时间触发两种方式相结合,具有高效的网络利用率和系统灵活性特点,可以作为新一代汽车内部网络的主干网络;
      • FlexRay总线数据收发采取时间触发和时间触发的方式,利用时间触发通信时,网络中的各个节点预先知道彼此将要进行通信的时间,接收器提前知道报文到达的时间,报文在总线上的时间可以预测出来,FlexRay协议也可以确保将信息延迟和抖动降至最低,尽可能保持传输的同步与可预测;
    • FlexRay通信架构

      • FlexRay总线将车载网络中的独立完成相应功能的控制单元视为节点,主要有电源供给系统(Power Supply)、主处理器(Host)、固化FlexRay通信控制器(Communication Controller)、可选的总线监控器(Bus Guardian)和总线驱动器(Bus Driver)等,如下图所示:
        5

      • 主处理器提供和产生数据,并通过FlexRay通信控制器传送出去;其中BD和BG的个数对应于通道数,与通信控制器和微处理器相连;总线监控逻辑必须独立于其他的通信控制器;总线驱动器连接着通信控制器和总线,或是连接总线监控器和总线;

      • 节点的两个通信过程如下:

        • 发送数据:Host将有效的数据送给CC,在CC中进行编码,形成数据位流,通过BD发送到相应的通道上;
        • 接收数据:在某一时刻,由BD访问栈,将数据位流送到CC进行解码,将数据部分由CC传送给Host;
    • 拓扑结构

      • FlexRay的拓扑主要分为3种,总线状、星状、混合状,如下图所示:
        6

      • 通常,FlexRay节点可以支持两个信道,因而可以分为单通道和双通道两种系统;在双信道系统中,不是所有节点都必须与两个信道连接;

      • 与总线结构相比,星状结构的优势在于:在接收器和发送器之间提供点到点连接,该优势在高传输速率和长传输线路中尤为明显;另一个重要优势是错误分离功能;如:如果信号传输使用的两条线路短路,总线系统在该信道不能进行进一步的通信;如果使用星状结构,则只有连接短路的节点才会受到影响,其他所有节点仍然可以继续与其他节点通信;

      • FlexRay总线用的是TDMA(Time Division Multiple Access,时分多址接入)和FTDMA(Flexible Time Division Multiple Access,柔性时分多址接入)两种周期通信方法;

      • FlexRay将一个通信周期分为静态部分、动态部分和网络空闲时间;静态部分使用TDMA方法,每个节点会均匀分配时间片,每个节点只有在属于自己的时间片才能发送消息,即使某个节点当前无消息可发,该时间片依然会保留(会造成一定的总线资源浪费);

      • 在动态部分使用FTDMA方法会轮流问询每个节点有没有消息要发,有就发,没有就跳过;

      • 静态部分用于发送需要经常性发送的重要性高的数据,动态部分用于发送使用频率不确定、相对不重要的数据;

      • 当FlexRay总线通信过程中出现数据错误时,该周期里接收到的所有数据都会被丢弃掉,但没有重发机制,所有节点会继续进行下一个周期的通信,FlexRay同样也有错误计数器,当一个节点发送接收错误过多时会被踢出总线;

      • FlexRay具有高速、可靠及安全的特点;FlexRay在物理上通过两条分开的总线通信,每一条的数据速率是1Mb/s;FlexRay还能提供很多网络所不具备的可靠性特点,尤其是FlexRay具备的冗余通信能力可实现通过硬件完全复制网络配置,并进行进度监测;

      • FlexRay同时提供灵活的配置,可支持各种拓扑,如:总线状、星状和混合拓扑;FlexRay本身不能确保系统安全,但它具备大量功能,可以支持以安全为导向的系统的设计;

  5. 车载以太网

    • 车载以太网是用于连接汽车内各种电气设备的一种物理网络;

    • 车载以太网是在民用以太网协议的基础上,改变了物理接口的电气特性,并结合车载网络需求专门定制新标准的以太网络;

    • CAN总线和车载以太网性能对比如下表所示:

      总线类型 CAN总线 以太网
      传输速率 5Kb/s~1Mb/s 10Mb/s、100Mb/s等
      容错机制 信号分优先级、采取非破坏仲裁技术、实时性好、稳定性高 带有冲突检测的载波侦听多路访问协议,实时性差,超时重发机制,故障易扩散
      成本核算 仅需两根线材即可完成挂接 需经过交换机,增加物料
      网络安全 专用现场总线,较为安全 开放式网络,易被攻击
    • 车载以太网的设计是为了满足车载环境中的一些特殊需求,如:满足车载设备对于电气特性的要求;满足车载设备对高速带宽、低延迟及音视频同步等应用的要求;满足车载系统对网络管理的需求等;

    • 车载以太网为主干,CAN作为子系统的通信方式既保留了CAN实时、安全的特性,又能提升通信速度与传输距离,同时还保证了成本的控制;

猜你喜欢

转载自blog.csdn.net/qq_39032096/article/details/127175342