CAN在ECU通讯中的作用是什么?
,在网络中可对功能分配进行自由配置,和毫无障碍地组合不同厂商的模块。硬件也是高度兼容的,并且具有成为“现货供应”产品的特征。其它需要考虑的重要方面是,未来电子系统的安全需求、整个产品生命周期内的修缮和汽车生命周期内软件的更新及升级能力。
在运行时环境下,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的平台。
CANECU通 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)