• 0
  • 0
分享
  • 一文看懂四大汽车总线:LIN、CAN、FlexRay、MOST
  • 大椿 2023-10-23 15:43:31 字数 4990 阅读 1720 收藏 0

  前言

  随着汽车工业的发展,汽车各系统的控制逐步向自动化和智能化转变,汽车电气系统变得日益复杂。传统的电气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然会形成庞大的布线系统。

  据统计,一辆采用传统布线方法的高档汽车中,其导线长度可达2000米,电气节点可达l5 00个,而且该数字大约每10年就将增加1倍。这进一步加剧了粗大的线束与汽车上有限的可用空间之间的矛盾。无论从材料成本还是工作效率看,传统布线方法都不能适应现代汽车的发展。

  另外,为了满足各电子系统的实时性要求,须对汽车公共数据(如发动机转速、车轮转速、节气门踏板位置等信息)实行共享,而每个控制单元对实时性的要求又各不相同。因此,传统的电气网络已无法适应现代汽车电子系统的发展,于是新型汽车总线技术便应运而生。

  目前汽车上普遍采用的汽车总线有局部互联协议LIN和控制器局域网CAN,正在发展中的汽车总线技术还有高速容错网络协议FlexRay、用于汽车多媒体和导航的MOST以及与计算机网络兼容的蓝牙、无线局域网等无线网络技术。

1.png

  本文主要给大家介绍一下LIN总线、CAN总线、FlexRay总线和MOST总线。

  LIN总线

  LIN(Local Interconnect Network)是面向汽车地段分布式应用的低成本的串行通讯网络,用于实现汽车中的分布式电子系统控制。LIN 的目标是为现有汽车网络(例如CAN 总线)提供辅助功能,因此LIN总线是一种辅助的总线网络。在不需要CAN 总线的带宽和多功能的场合,比如智能传感器和制动装置之间的通讯使用LIN 总线可大大节省成本。

  LIN联盟成立于1999年,最初由奥迪、 宝马、克莱斯勒、摩托罗拉、 博世、大众和沃尔沃等整车厂及芯片制造商创立,目的是推动LIN总线的发展,并且发布和管理LIN总线规范,制定一致性测试标准和认证一致性测试机构。该联盟正努力将LIN总线推广为ISO国际标准。

  LIN 技术规范中除定义了基本协议和物理层外还定义了开发工具和应用软件接口。LIN 通讯是基于SCI(UART)数据格式,采用单主控制器/多从设备的模式。仅使用一根12V 信号总线和一个无固定时间基准的节点同步时钟线。

  这种主要面向“传感器/执行器控制"的低速网络,其最高传输速率可达20千比特/秒,主要应用于电动门窗、座椅调节、灯光照明等控制。典型的LIN网络的节点数可以达到12个。以门窗控制为例,在车门上有门锁、车窗玻璃开关、车窗升降电机、操作按钮等,只需要1个LIN网络就可以把它们连为一体。

  这种低成本的串行通讯模式和相应的开发环境已经由LIN协会制定成标准。LIN 的标准化将为汽车制造商以及供应商在研发应用操作系统降低成本。

2.png

  LIN总线结构图

  LIN总线工作原理LIN总线包含一个宿主节点和一个或多个从属节点。所有节点都包含一个被分解为发送和接收任务的从属通讯任务,而宿主节点还包含一个附加的宿主发送任务。在实时LIN中,通讯总是由宿主任务发起。

  除了宿主节点的命名之外,LIN网络中的节点不使用有关系统设置的任何信息。我们可以在不要求其它从属节点改变硬件和软件的情况下向LIN 中增加节点。

  宿主节点发送一个包含同步中断、同步字节和消息识别码的消息报头。从属任务在收到和过滤识别码后被激活并开始消息响应的传输。响应包含两个、 四个或八个数据字节和一个检查和(checksum)字节。报头和响应部分组成一个消息帧。LIN总线上的所有通讯都由主机节点中的主机任务发起,主机任务根据进度表来确定当前的通讯内 容, 发送相应的帧头, 并为报文帧分配帧通道。总线上的从机节点接收帧头之后, 通过解读标识符来确定自己是否应该对当前通讯做出响应、做出何种响应。基于这种报文滤波方式,LIN可实现 多种数据传输模式,且一个报文帧可以同时被多个节点接收利用。LIN总线物理层采用单线连接, 两个电控单元间的最大传输距离为40m。其总线驱动器和接收器的规范遵从改进的ISO 9141 单线标准。基于SCI/UART( 通用异步收发接口的单总线串行通信) 协议;目前几乎所有的微控制器芯片上都有SCI/UART接口。低传输速率、小于20kb/s、采用NRZ编码。

3.png

  奥迪A6L轿车LIN总线内部组成示意图

  CAN总线

  CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低功耗、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。

  为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN通过ISO11898及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。

  CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。

  CAN总线工作原理与其他总线一样,CAN总线的通信也是通过一种类似于“会议”的机制实现的,只不过会议的过程并不是由一方(节点)主导,而是每一个会议参加人员都可以自由的提出会议议题(多主通信模式)。

4.png

  总结下,当一个节点要向其它节点发送数据时,该节点的CPU 将要发送的数据和自己的标识符传送给本节点的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN 芯片将数据根据协议组织成一定的报文格式发出, 这时, 网上的其它节点处于接收状态。每个处于接收状态的节点对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。

5.png

  CAN总线结构图CAN总线的优点很多:

  通信速率最高可达1MB/s(此时距离最长40m)。节点数实际可达110个。

  采用短帧结构,每一帧的有效字节数为8个。

  每帧信息都有CRC校验及其他检错措施,数据出错率极低。

  通信介质可采用双绞线,同轴电缆和光导纤维,一般采用廉价的双绞线即可,无特殊要求。 节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。

  FlexRay总线

  FlexRay总线是由宝马、飞利浦、飞思卡尔和博世等公司共同制定的一种新型通信标准, 专为车内联网而设计, 采用基于时间触发机制, 具有高带宽、容错性能好等特点, 在实时性、可靠性和灵活性方面具有一定的优势。FlexRay支持总线间的多种消息传递架构。随着FlexRay在汽车上的广泛使用以及网络日益统一,这项功能将越发重要。例如,若干家汽车制造商已经实施或提议采用一种网络架构,不管采用何种通信协议,所有通信通过一个网关实现。为了跨越协议边界通信,要求网络支持多个消息传递选项。

  未来 FlexRay作为标准总线将用于所有x-by-wire系统(制动、转向…)、其它安全关键领域(工业、航空…)和用作数据主干网(相比CAN总线有更高的带宽)。

  FlexRay总线工作原理FlexRay总线数据收发采取时间触发和事件触发的方式。利用时间触发通信时, 网络中的各个节点都预先知道彼此将要进行通信的时间, 接收器提前知道报文到达的时间, 报文在总线上的时间可以预测出来。即便行车环境恶劣多变, 干扰了系统传输, FlexRay协议也可以确保将信息延迟和抖动降至最低, 尽可能保持传输的同步与可预测。这对需要持续及高速性能的应用( 如线控刹车、线控转向等)来说,是非常重要的。它采用了周期通信的方式, 一个通信周期可以划分为静态部分、动态部分、特征窗和网络空闲时间4个部分。静态部分和动态部分用来传输总线数据,即FlexRay报文。特征窗用来发送唤醒特征符和媒介访问检测特征符。网络空闲时间用来实现分布式的时钟同步和节点参数的初始化。

  FlexRay具有高速、可靠及安全的特点。FlexRay在物理上通过两条分开的总线通信,每一条的数据速率是10MBit/s。FlexRay还能够提供很多网络所不具有的可靠性特点。尤其是FlexRay具备 的冗余通信能力可实现通过硬件完全复制网络配置, 并进行进度监测。FlexRay同时提供灵活的配置, 可支持各种拓扑, 如总线、星型和混合拓扑。FlexRay本身不能确保系统安全, 但它具备大量功能,可以支持以安全为导向的系统(如线控系统)的设计。

6.png

  FlexRay拓扑图FlexRay拓扑的灵活性及实现事件触发或时间触发的操作模式对收发器意义重大。下面列举其中一部分:

  10Mbps的数据处理速率;

  支持FlexRay节点和有源星型拓扑;

  提供电源管理功能,提高ECU效率;

  为时间驱动和事件驱动模式集成两个专用的控制输入;

  支持本地和远程唤醒功能;

  提供错误检测;

  符合汽车行业的严格规范要求(例如ESD和EMC领域,同时涉及上述各个方面)。

  宝马公司在07款X5系列车型的电子控制减震器系统中首次应用了FlexRay技术。此款车采用基于 飞思卡尔的微控制器和恩智浦的收发器, 可以监视有关车辆速度、纵向和横向加速度、方向盘角度、车身和轮胎加速度及行驶高度的数据, 实现了更好的乘坐舒适性以及驾驶时的安全性和高速响应性,此外还将施加给轮胎的负荷变动以及底盘的振动均减至最小。

  MOST总线

  MOST (Media Oriented System Transport) 面向媒体的系统传输总线,MOST 是汽车业合作的成果,而不具备正式的标准。它是一种专门针对车内使用而开发的、服务于多媒体应用的数据总线技术。MOST 表示“多媒体传输系统”。

  MOST总线是作为宝马公司、前戴姆勒克莱斯勒公司、Harman/Becker公司(音响系统制造商)和 Oasis Silicon Systems公司之间的一项联合。1998 年,参与各方建立了一个自主的实体,即 MOST公司,由它控制总线的定义工作。Oasis公司自己保留对 MOST 命名的权利。由一家独立的测试机构负责产品的认证过程,例如 Ruetz 技术公司。除了顺从性测试以外,Ruetz公司还为 MOST 总线系统开发提供使用的软、硬件分析工具,以及 MOST 系统的培训。

7.png

  基于MOST总线的典型车载高端娱乐系统

  MOST总线工作原理

  MOST 总线利用光脉冲传输数据,采用环形结构,在环形总线内只能朝着一个方向传输数据。MOST 总线的传输技术近似于公众交换式电话网络( Public Switched Telephone Network;PSTN),有着数据信道(Data Channel)与控制信道(Control Channel)的设计定义,控制信道即用来设定如何使用与收发数据信道。一旦设定完成, 资料就会持续地从发送处流向接收处, 过程中不用再有进一步的封包处理程序, 将运作机制如此设计, 最适合用于实时性音讯、视讯串流传输。MOST在制订上完全合乎ISO/OSI的7层数据通讯协议参考模型,而在网线连接上MOST采用环状 拓朴, 不过在更具严苛要求的传控应用上, MOST也允许改采星状( 亦称放射状) 或双环状的连接组态,此外每套MOST传控网络允许最多达64个的装置(节点)连接。

8.png

  基于MOST总线的车载音频娱乐系统原理图MOST总线专门用于满足要求严格的车载环境。这种新的基于光纤的网络能够支持24.8Mbps的数据速率,与以前的铜缆相比具有减轻重量和减小电磁干扰(EMI)的优势。同时,MOST也支持随插随用机制。

9.png

CAN、LIN及FlexRay在车上分布

  结语

  CAN总线是中坚

  LIN总线是CAN总线的副手

  FlexRay总线是未来的希望

  MOST总线则负责车载多媒体业务

  随着汽车电动化、智能化及网联化的推进,这四种总线将在未来继续大放异彩。


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •        在当今移动互联网盛行的时代,网络的形态除了有线连接,还有2G/3G/4G/5G/WiFi等多种手机网络连接方式。不同的协议、不同的制式、不同的速率,使移动应用运行的场景更加丰富。目前移动端产品的使用用户所处的网络并非完全流畅的网络环境,因移动端产品使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。毕竟考虑到各种场景的客户端展示及容错,能极大提升产品印象和用户体验。本文就和大家分享一下如何上手弱网测试,弱网测试工具的使用。1. 什么是弱网测试?       弱网测试作为健壮性测试的重要...
            12 12 3043
            分享
          • 在《漫谈软件缺陷管理》一文中,笔者通过梳理缺陷状态和协作过程简述了软件缺陷管理。那么,软件缺陷管理的价值有哪些?又有哪些实践可以发挥这些价值?1. 价值类型在分享软件缺陷管理的价值前,我们先考虑下:我们日常中是怎么样去思考做一件事的价值呢?如图1-1所示,大致可以分为两类,一种称之为过程价值,也就是通常说的“参与就是收获”,做了一件事,可能并没达到目标,但是做事的过程让我们也有目标之外的收获。另一种就是结果价值,也就是目标导向,做了一件事,顺利达到了预定的目标。图1-1 价值分类2. 缺陷管理的价值回到缺陷管理价值的思考上,我们做软件缺陷管理的初衷是什么?引用网上的定义:“软件缺陷管理(Def...
            0 0 1613
            分享
          •   没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力+幸运,但如果你不够幸运,那就只能拉高努力的占比。  2023年7月,我有幸成为了百度的一名测试工程师,从外包辞职了历经10000小时后,拿下了offer。相信同行都清楚,从外包进大厂有多难,运气之余,也离不开我自己的脚踏实地,所幸每踏出的一步都留下了厚厚的脚印。  下面是我面试百度软件测试工程师的面试经验总结,希望能帮助到你们!!  面试一  1、简单做一下自我介绍  2、简要介绍一下项目/你负责的模块/选一个模块说一下你设计的用例  3、软件生存周期及其模型是什么?  4、什么是软件质量?  5、说一下X...
            0 0 719
            分享
          • 常见的功能测试的流程是:需求分析,用例编写,用例评审,提测验证,Bug 回归验证,上线与线上回归。但是做起来就是:写不完的用例,跑不完的case,天天都要加班。我以功能测试的工作流程,结合实际的工作内容,来具体细说一下做好功能测试的建议:一、需求分析首先一般大家接触到的都是产品主导型的开发模式,其中需求和项目,作为测试是没办法去主导的。这个时候就需要开展需求会议,来让团队中的各个成员来充分理解需求。注意,需求会上没有澄清的一个小点,都会成为日后你工作中一个巨大的坑。在需求评审中,你需要做的是提前阅读需求文档,把问题点都记录下来,然后在会上对描述不清晰、不便于设计用例、测试点不明确的地方都要抛出...
            2 1 1822
            分享
          •   一、配置架构  在微服务的代码工程中,配置管理是一项复杂的事情,即需要做好各个环境的配置隔离措施,还需要确保生产环境的配置安全;如果划分的微服务足够的多,还要考虑配置更新时的效率;  常规情况下,在配置管理的体系中,分为四个主要的环境:开发、测试、灰度、生产;通常来说除了运维团队之外,其他人员没有查看灰度和生产配置的权限,以此来保证配置的安全性;配置中心的服务也会搭建两套:研发与生产各自独立部署。  二、配置方式  在项目中涉及到的配置非常多,类型也很多,但是从大的结构上可以分为:工程级、应用级、组件级三大块;实际上这里只是单纯的从代码工程来看配置,如果把持续集成、自动化相关模块也考虑进来...
            0 0 775
            分享
      • 51testing软件测试圈微信