嵌入式
返回首页

CAN在ECU通讯中的作用是什么?

2016-05-31 来源:elecfans

电子学具有强大的创新潜能,它能使驾驶汽车更安全、更舒适、更经济并且能使汽车对环境更友好;这种潜能已经让汽车经历了一场真正的电子化进程,这个电子化进程开始于20世纪70年代,并于80年代得到了加速发展。这尤其得益于电子设备的网络化,而网络化是获取更多功能、从而得到更好性能的先决条件。在网络化日益发展的同时,为了减少布置线缆的工作,并且降低线缆的成本、重量和所占的空间,汽车制造商们很早就决定使用串行总线进行数据传输了。除了串行总线系统CAN,LIN和MOST(面向媒体的系统传输)总线也在短期内确定了在车上的应用。2006年秋季,BMW将发布其新款X5汽车,该车将成为第一款使用FlexRay总线的量产车,而FlexRay是专门为时间攸关和安全攸关应用而设计的一种总线系统。

控制器局域网(CAN)于1992年就被定为了国际标准。毫无疑问,CAN是目前应用最为广泛的串行总线系统,它甚至可以在一辆车上被多次使用:一个最高传输速率为125kbps的低速CAN总线系统(容错CAN),用于连接舒适系统的ECU;一个最高传输速率可达1Mbps的高速CAN总线系统(高速CAN),用于连接动力系统和底盘系统的ECU。CAN提供了极高的传输安全性。这得益于差分信号传输和5种错误检测机制(比如位监视,形式检查,循环冗余码检查),这些功能是由CAN控制器实现的。

LIN(本地局域互连网)用于传感器/执行器领域进行低成本和便捷的数据传输。LIN的数据传输速率最高只有20kbps,但这足以满足非关键性传感器和执行器信号的传输了。

对实时攸关应用来说,需要总线系统在不依赖总线负载的条件下保证硬(强)实时性。实时攸关系统通常也是安全攸关系统。FlexRay为此提供了解决方案:它具有最高20Mbps的传输速率,并且基于一种可靠的等距数据传输,能够保证确定的时间关系。双通信通道使得总线能够传输冗余数据。如果一个通道的数据受到了干扰,那么仍然可以利用第二个通道的数据。



图2:现代汽车使用串行总线系统进行连网

信息设备(如导航、无线电和电话等)既要传送控制信号也要传送视频和音频信号,因而需要一种相对更宽的带宽。这样,MOST就用在了车内多媒体设备的连网。MOST使得相对较高的带宽成为可能:它具有48kHz的采样速率,用于传输位流的带宽接近23Mbps,而用于控制信号传输的带宽达到768kbps。Vector为汽车制造商和供应商进行CAN、LIN、FlexRay和MOST网络开发提供了强大的工具链和软件组件。CANoe用户能在多方面受益,例如,从实际功能的模型创建、仿真、功能测试、诊断到分析的整个开发过程。 CANoe提供了以下可选模块和协议,而且可以按照要求对其进行组合:CAN,LIN,FlexRay,MOST,CANopen,SAE J1939,SAE J1587,NMEA2000和ISO11783。Vector为汽车ECU的开发、标定和诊断等各个阶段提供了完整而广泛的工具支持。针对电控系统的开发流程,除了咨询服务,Vector还提供了相应的工具环境。

CAN的未来

在汽车上,电子设备正在承担着大量不同的任务。为了结合不同的系统,建立了多种总线系统。CAN具有很高的数据安全性和相对低廉的成本,因此它注定要用在动力和舒适领域。由于更为低廉的成本及易于通信的架构,LIN适宜作为一种低层总线。当考虑快速、确定而安全的数据传输时,FlexRay成为最佳选择。MOST是用于信息设备间的音频/视频数据交换的一种多媒体总线。将来,CAN会继续用于动力系统、底盘和便利应用领域。今天,一些装备优良的汽车已经安装了超过70个不同的ECU。但是,并不是将任何新CAN节点都加到汽车上去,汽车OEM的运作趋势是不断将各种功能绑定到中央ECU上。FlexRay将会显示其重要意义,因为使用它可以实现时间和安全攸关应用以及数据密集型应用。由于智能传感器和执行器数目的增多,LIN也将在未来发挥更加重要的作用。



表1 串行总线系统CAN、LIN和FlexRay总结

不同厂家生产的各种各样的操作系统、嵌入式软件、微处理器和软件组件极大地加重了分布式电子架构的集成工作。为此,许多著名的汽车生产商和供应商制定了一种“汽车开放系统架构”(AUTOSAR)。从开始以来,许多汽车OEM、大型供应商和专业工具提供者都加入了AUTOSAR并不同程度地参与到其活动中。

AUTOSAR的目标是为所有六个功能域(动力传动系统,底盘,安全,信息通讯,人机接口和车身/便利系统)建立一个事实标准。为此目的而开发的软件架构和硬件组件将是统一的,而(不同厂家的)竞争主要基于功能的不同实现(机制)。与互换性一起,产生了许多自由。例如,用于不同汽车和平台的软件具有简单的可裁减性,在网络中可对功能分配进行自由配置,和毫无障碍地组合不同厂商的模块。硬件也是高度兼容的,并且具有成为“现货供应”产品的特征。其它需要考虑的重要方面是,未来电子系统的安全需求、整个产品生命周期内的修缮和汽车生命周期内软件的更新及升级能力。

在运行时环境下,AUTOSAR依靠应用程序与硬件的解耦和基础软件来使能特定库函数。这是由指定接口及其通信机制而实现的。2006年5月,AUTOSAR发展合作组织将其在第一个发展阶段的主要成果出版发行。AUTOSAR规范是该合作组织前三年工作的成果。2005年5月,制定并发布了31个基础软件(BSW)模块的1.0规范。后续的实现阶段和确认阶段(Validator 1)证实了这些模块的功能性和此概念。截止2006年5月,已经出版了46个BSW规范中的42个,RTE(运行时环境)也在此列。到此为止,已完成了99个文档、格式和模型,其中已出版了94个。目前,规范正在经历另外一个测试阶段(Validator 2),该阶段将于今年秋天完成。第一个完全版本(2.1版)计划于2006年底发布,它也会包括方法规范[1]。

在AUTOSAR中集成CAN

CAN通信服务是用于汽车CAN网络通信的一组模块。它们提供了CAN网络的统一接口,对应用程序隐藏协议和消息属性。AUTOSAR COM和诊断通信管理器为应用程序提供统一的通信机制,两者都独立于总线技术。PDU路由器允许过程数据单元跨过一种总线直接进入到另一种总线。另外,在AUTOSAR COM内包含了一种基于信号的网关,用于将单个信号从一个通信系统发送到另一个通信系统。



图3:AUTOSAR的目标――使用标准化架构和接口使复杂的电子/电控系统变得易于管理

网络管理分为总线相关和总线无关两部分。如果CAN被FlexRay取代,那么普通NM会保持不变。通过引入一种CAN接口,PDU路由器并不关心到底CAN控制器是嵌入式控制器的一部分还是其外部设备。当用LIN或FlexRay模块代替CAN相关模块时,CAN通信栈能够转换为LIN或FlexRay通信栈。

内存服务以NVRAM管理器的方式给出,它提供了一个应用程序访问非易失数据的统一接口。内存服务从位置(地址)和特性上对内存进行了抽象,进而提供了非易失数据的管理机制,比如存储、下载、校验保护和验证或可靠存储。内存硬件抽象(在内存服务下面)来自对外围内存设备(片上或板上)和ECU硬件的抽象。比如,EEPROM接口和Flash硬件应能使用相同的机制进行访问。内存驱动程序由特定内存抽象/仿真模块(如EEPROM抽象)进行访问。通过模拟EEPROM接口和Flash硬件单元,允许由内存硬件抽象对两类硬件进行普通访问。在两个例子中,CAN通信栈和内存栈呈现了高度的模块化,这样可以实现对模块的优化和在十分不同的使用条件下对基础软件的重用[2]。



图4:CAN通信栈的AUTOSAR架构

AUTOSAR的开发平台

针对开发符合AUTOSAR标准的软件所需要的所有设计步骤,Vector提供了一种解决方案:从结构化概念设计阶段设计AUTOSAR软件组件及其在ECU间的分配,到定义通信和ECU配置。除了网络通信的基础软件组件和基于OSEK标准的操作系统,Vector还提供全部核心和一个运行时环境,这些都是基于AUTOSAR标准的,适用于非常多的不同种类的微处理器及其独立设备。除了支持特定目标硬件平台,CANoe网络开发工具还支持作为一个PC实验平台。联合Vector的Davinci工具套件,用户将获得一个能可靠地开发符合AUTOSAR标准的ECU的平台。

进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

最新器件
精选电路图
  • 光控音效发生器电路

  • 非常简单的150W功放电路图

  • 一个简单的警笛电路图

  • 基于IC555的可变PWM振荡器电路

  • 分享一个电网倾角计电路

  • 电谐波图形均衡器示意图

    相关电子头条文章