一种基于OSEK/VDX车控电子开发与应用

出处:lyq210000 发布于:2011-07-13 19:14:55

  1 简介

  汽车电子化是现代汽车发展的重要标志之一。目前世界每辆汽车采用电子装置的情况已成为衡量这部汽车水平高低的主要标志。为了加强市场竞争能力,国外广泛采用 16~32位微处理器,以及广泛采用更先进的传感器,使汽车的功能从对汽车自身的控制管理扩大到"汽车-人-环境"这样一个大系统的信息获取、处理和控制。

  2 汽车电子产品的分类及嵌入式技术应用

  按照对汽车行驶性能作用的影响划分,可以把汽车电子产品归纳为两类。一类是车控电子--汽车电子控制装置。汽车电子控制装置要和车上机械系统进行配合使用,即所谓"机电结合"的汽车电子装置。它们包括发动机、底盘、车身电子控制,例如电子燃油喷射系统、制动防抱死控制、防滑控制、牵引力控制、电子控制悬架、电子控制自动变速器、电子动力转向等。另一类是车载电子--车载汽车电子装置。车载汽车电子装置是在汽车环境下能够独立使用的电子装置,与汽车本身的性能并无直接关系。它们包括汽车信息系统(行车电脑)、导航系统、汽车音响及电视娱乐系统、车载通信系统、上网设备等。

  嵌入式技术执行专用功能并被内部计算机控制的设备或者系统。嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,用术语表示就是固件(firmware),终端用户很难或者不可能改变固件。

  尽管绝大多数嵌入式系统是用户针对特定任务而定制的,但它们一般都是由下面几个模块组成的: 一台计算机或者微控制器,字长可能是可怜的4位或者8位、16位、32位甚至是64位。 用以保存固件的ROM(非挥发性只读存储器)。 用以存程序数据的RAM(挥发性的随机访问存储器)。 连接微控制器和开关、按钮、传感器、模数转化器、控制器、LED(发光二极管)和显示器的I/O端口。 一个轻量级的嵌入式操作系统,一般是自行编写的。 专门的单片微控制器是大多数嵌入式系统的。通过把若干个关键的系统组成部分集成到单个芯片上,系统设计者就可以得到小而便宜、可以操作较少外围电子设备的计算机。 嵌入式系统的一般模型并不足以定义嵌入式系统本身。

  车控电子产品是一个个分布在汽车上的电子控制单元(ECU)、智能传感器(Smart Sensor)等功能单元器件。这些器件通过总线连接在一起组成一个子系统。它们可以以适合自己的协议,如Lin、J1939等进行通信。不同的子系统也通过总线组成更大的网络。其中智能传感器(Smart Sensor)是一个以工业现场总线为基础,以CPU为处理,以数字通信为变送方式的传感器和变送器的统一体。与传统的Sensor相比,Smart Sensor增加了数字通信功能,面向网络,具有联网功能。

  3 车控电子产品系统平台--OSEK/VDX

  为了满足日益庞大复杂的汽车电子控制软件的开发需要,实现应用软件的可移植性和不同厂商的控制模块间的可兼容性。1993年,德国汽车工业界联合推出了汽车电子的开放式系统及接口--OSEK/VDX(Open Systems and the Corresponding InteRFaces For AutomoTIve Electronics)规范,旨在为汽车上的分布控制单元提供一个开放结构的工业标准。OSEK/VDX 规范从实时操作系统RTOS(RealTime Operating System)、软件接口、通信和网络管理等方面对汽车的电子控制软件开发平台作了较为全面的定义与规定。

  它所提出的一整套解决方案是未来汽车电子软件开发的发展方向。目前,一些公司推出了符合OSEK/VDX规范的操作系统并得到了OSEK /VDX委员会的,如 OSEK Works、OSEKOS、OSEKTurbo等。采用符合OSEK/VDX标准的嵌入式实时操作系统可以提高产品代码的复用率、降低开发成本、缩短产品开发周期。使用兼容OSEK/VDX标准的嵌入式实时操作系统的应用架构如图1所示。

兼容OSEK/VDX规范的操作系统应用架构 www.elecfans.com

  图1 兼容OSEK/VDX规范的操作系统应用架构

  下面分别对OSEK规范的操作系统部分(OS)、通信部分(COM)、网络管理部分(NM)、实现语言部分(OIL)、运行调试接口部分(ORTI)等进行介绍。

  3.1 OSEK OS规范

  OSEK/VDX是应用在模块和静态实时操作系统上的标准,由主要的汽车制造商和供应商,研究机构以及软件开发商发起。OSEK,是指德国的汽车电子类开放系统和对应接口标准(open systems and the corresponding interfaces for automotive electronics),而VDX则是汽车分布式执行标准(vehicle distributed executive),后者初是由法国独自发起的,后来加入了OSEK团体。两者的名字都反映出OSEK/VDX的目的是为汽车电子制定标准化接口。该标准完全独立,对目标系统只限制了少量的条件。这样,就可以应用一些简单的处理器替代那些昂贵的解决方案,来控制任务执行,并不需要任何附加条件。事实上,在此基础上,也可以合理使用一些更复杂的CPU,于是该标准便对任何可能的目标平台都没有了限制。

  OSEK OS规范定义操作系统内核的实现机制和应用编程接口(API),包括任务管理机制、中断处理机制、事件机制、资源管理机制、报警器管理机制等及相关标准的应用编程接口。

  3.2 OSEK COM规范

  OSEK COM规范(OSEK Communication Specification)为汽车ECU应用软件提供了统一的通信环境。通过定义应用软件通信接口以及ECU内部通信和ECU外部通信,OSEK COM规范提高了应用软件模块的可移植性。OSEK COM 提供了多种服务,以方便在任务与任务之间、中断服务程序与中断服务程序之间以及任务与中断服务程序之间发送数据。

  OSEK COM 规范的目的是支持应用软件的移植性、重用性和相互合作性。应用程序接口隐藏了内部和外部通信的区别,同样也隐藏了不同的通信协议、总线系统和网络。

  OSEK-OS中重要的资源包括任务、时间和中断。为此,提供了一个轻量级的API库。版本2.2对应的API提出了26个用户功能接口。轻量级的API使得开发者可以轻松上手,并灵活使用。

  OSEK-OS中提供了两类任务:基本任务(basic task)和扩展任务(extended task)。基本任务只有自己终止时才释放处理器,它也不接收更高的事件信号(event)。因此,常常用来完成那些激活后就必须完整执行的工作。扩展任务可以接收事件信号,它们只需要启动,并接收相关事件的控制。每个任务会被赋予一个固定的优先级,运行期间不允许更改。

  OSEK COM中的通信是基于消息的。消息包括了特定应用的数据。在外部通信情况下,IL将1个或多个消息压缩成指定的交互层协议数据单元(IPDU),并把它们传递到下层处理,如图2所示。 内部通信的功能性是外部通信功能性的子集。交互层里的消息管理者是基于消息对象的。消息对象存在于发送端的是"发送消息对象",存在于接收端的是"接收消息对象".

OSEK COM中消息发送和接收的简单模型

  图2 OSEK COM中消息发送和接收的简单模型

  交互层和下层通信的数据被组织称IPDUs,包括一个或多个消息。一个消息必须占据在IPDU中连续的位而且不能被分离,在IPDUs中交叉。在IPDUs中消息被位排列。消息的大小在位中说明。交互层提供了应用程序接口(API)来处理消息,API包括初始化、数据传送和通信管理的服务。在网络上传送消息的服务是非阻塞的,一个发送消息的服务可能不能返回一个终的发送状态,因为网络中的传送仍在进行之中。OSEK COM为应用程序提供了通知机制来决定传送或接收的状态。

  3.3 OSEK NM规范

  对于由不同生产商生产的汽车ECU产品,它们有通过串行数据交换连接成网络的趋势。因此,为了避免重复劳动和缩短开发时间,需要有一个基础性的标准。OSEK NM规范为提高ECU产品的网络互连能力提供了一个网络连接标准。OSEK NM任务的目的是提高ECU产品网络通信的安全性和可靠性。OSEK NM规范规定了网络管理的机制和应用编程接口(API)。采用OSEK NM规范的ECU产品具有以下功能:

  ◆ 经过授权后,每一个节点必须是可以访问的;

  ◆ 在允许访问失败的情况下,具有容忍限度;

  ◆ 支持网络诊断。

  作为一个基础的配置,遵守OSEK规范的网络管理实现必须应用在网络的所有节点。每一个节点都能在规定的间隔内获得整个网络的状态信息。 OSEK NM为网络监控提供了两种机制:一种是通过监控应用的消息进行间接监控;另一种是对于特定的网络管理利用标记机制进行直接监控。OSEK NM包括以下部分:

   OSEK NM与应用程序的接口(API);

   节点监控的算法;

   OSEK NM与OSEK COM的接口;

   转换到睡眠状态的算法;

   OSEK NM协议数据单元(NMPDU)。

  图3说明了OSEK NM在整个系统中的位置及其与其他部分的关系。

OSEK NM在系统中的位置

  图3 OSEK NM在系统中的位置

  3.4 OSEK实现语言规范

  为了达到软件可移植的目标,OSEK OIL规范(OSEK Implementation Language Specification)定义了一种配置和使用OSEK应用的方法。图4表示了一个遵守OSEK规范的应用开发过程。OIL文件可以是手写的或者是系统配置工具产生的。

基于OSEK规范的应用开发过程

  图4 基于OSEK规范的应用开发过程

  OIL提供一种在特定CPU中配置OSEK应用的机制。每个CPU对应一个OIL描述,所有的OSEK系统对象用OIL对象来描述。OSEK应用的OIL描述是一组OIL对象的组合,CPU是这些OIL对象的容器。OIL明确地为每个OIL对象定义了所有标准属性。每个OSEK应用可以定义附加的特殊执行属性和引用。每个OSEK应用可以限制每个属性的取值范围。

  OIL中的对象包括:CPU(处理器)、OS(操作系统)、Appmode(应用模式)、Isr(中断服务)、Resource(资源)、 Task(任务)、Counter(记数器)、Event(事件)、Alarm(报警器)、Com(通信子系统)、Message(消息)、Ipdu(交互层协议数据单元)、NM(网络管理)。

  3.5 OSEK ORTI规范

  OSEK ORTI规范(OSEK RunTime InteRFace Specification)为OSEK操作系统开发工具提供了统一的接口。通过OSEK ORTI,使调试工具可以获取和显示操作系统的运行状态和性能。ORTI信息是通过ASCII文本文件提供的。由于OSEK/VDX是基于静态配置的,因此,ORTI不支持动态的表示和配置数据。

  OSEK ORTI规范包括Part A和Part B两部分:Part A介绍了ORTI为调试工具定义的操作系统内核对象的语言(Kernel Object Interface Language,KOIL);Part B描述了OSEK/VDX标准对象、属性和它们的含义。

  3.5.1 ORTI文件结构

  ORTI文件包含版本信息部分、声明部分和信息部分。声明部分声明ORTI实现中使用的内核类型,相当于C语言中的结构声明。它描述了访问内核对象所包含数据的方法。该部分详细说明了给定属性的显示名称。信息部分包含了所有给定系统声明部分所声明的方法,描述了计算或引用所需属性的方法。信息部分还提供了所需属性的静态值和表达式。

  3.5.2 标准的ORTI对象及属性

  OS对象,包含正在运行的任务、正在运行的优先级、正在运行的中断处理程序、操作系统服务、近的错误、当前应用的模式等属性。

  任务对象,包含优先级、状态、堆栈、活动状态、上下文等属性。

  上下文对象,包含地址、大小等两个属性。

  堆栈对象,包含大小、基地址、堆栈方向、填充模式等四个属性。

  报警器对象,包含报警时间、周期、状态、动作、记数器等五个属性。

  资源对象,包含状态、资源锁、优先级等三个属性。

  消息容器对象,包含消息名称、类型、队列大小、队列记数器、当前消息地址等五个属性。

  4 车控电子产品的开发流程

  车控电子产品是软硬件结合的嵌入式系统。为了节约资源,缩短产品开发周期,一般应采取软硬件同步开发的方案,如图5所示。车控电子产品的开发工具对软硬件的同步开发、调试提供了很好的支持。车控电子产品的硬件开发分为硬件描述、硬件设计、硬件调试等步骤。通过这种开发方式,缩短了产品上市的时间。

 软硬件并行的开发方案

  图5 软硬件并行的开发方案

  目前,汽车车控电子产品软件开发流程是"V"形开发流程,如图6所示。"V"形开发流程分为五个阶段,即功能设计、原型仿真、代码生成、硬件在回路仿真--HIL、标定。

车控电子产品软件开发流程

  图6 车控电子产品软件开发流程

  在功能设计阶段使用的主要工具是MATLAB.通过使用MATLAB提供的Simulink、Stateflow等工具,完成控制方案的设计、功能模块的设计、控制算法的设计等任务,在代码生产阶段使用的主要工具是CodeWarrior.通过使用 CodeWarrior提供的编译器、调试器等工具,完成从标准C代码向目标硬件平台上的产品代码的转换工作。图7表示了车控电子产品的代码生成过程。

车控电子产品代码生成过程

  图7 车控电子产品代码生成过程

  结语

  我国自主发展汽车车控产品尚处于起步阶段。本文简要介绍了车控产品的系统平台--OSEK/VDX规范,并给出了一个基于OSEK/VDX规范的简单的车控电子开发模型。在这个模型中,要求开发者熟练使用国际上主流的开发工具,以提高开发效率,缩短开发时间。


  
关键词:一种基于OSEK/VDX车控电子开发与应用

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!