1.3 车用控制器软件标准(从OSEK到AUTOSAR)
为了迎合汽车高精度、高实时性、高可靠性控制的需要,嵌入式实时操作系统(Real Time Operating System,RTOS)逐渐在ECU中使用。与此同时,由于不同实时操作系统间应用程序接口(Application Programming Interface,API)的各不相同,出现应用程序的移植性差等问题。于是,在1993年德国汽车工业界提出了OSEK(Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug),其英语全称为Open Systems and the Corresponding Interfaces for Automotive Electronics,中文名称为汽车电子开放式系统及其接口标准。该体系最初得到了宝马、博世、戴姆勒-克莱斯勒、西门子、大众等公司的支持。1994年,随着标致和雷诺加入该体系,他们将法国汽车工业使用的汽车分布式执行标准(Vehicle Distributed eXecutive,VDX)也纳入该体系,并在1995年的研讨会上得到共识,从而产生了OSEK/VDX标准。
OSEK/VDX标准包括以下七个部分。
①OSEK/VDX操作系统规范(OSEK Operating System,OSEK OS)。
②OSEK/VDX通信规范(OSEK Communication,OSEK COM)。
③OSEK/VDX网络管理规范(OSEK Network Management,OSEK NM)。
④OSEK/VDX实现语言规范(OSEK Implementation Language,OSEK IL)。
⑤OSEK/ORTI运行时接口规范(OSEK Run Time Interface)。
⑥OSEK-Time时间触发操作系统规范(OSEK Time-Triggered Operating System)。
⑦OSEK FTCom容错通信规范(OSEK Fault-Tolerant Communication)。
OSEK/VDX标准在一定程度上使得应用层软件与底层软件分离,提升了应用软件的可移植性;其次,使用符合OSEK/VDX标准的嵌入式操作系统可以提高代码的复用率,提升开发效率、降低开发成本。但由于不同整车企业和零部件供应商缺乏兼容性工具,使得开发者需要花费大量的时间在基础软件的实现和优化上,并且对于新的需求,需要花费大量的精力调整软件的接口。总之,OSEK/VDX标准还是没能解决跨平台化高效地进行嵌入式系统软件的移植。
在之后的一段时间里,随着汽车分布式嵌入式系统软件复杂度的迅速增长,汽车工业界开始逐步探索从原有的以硬件设计和组件驱动为主的设计方式向以需求设计和功能驱动为主的系统开发方法转变。在该进程中,比较有代表性的是EAST-EEA项目,它是ITEA(International Test and Evaluation Association)资助的面向汽车领域嵌入式系统架构的研究项目,其目标是通过建立面向汽车工业的通用嵌入式系统架构,实现接口的标准化并提升复杂系统开发的质量与效率。最终,EAST-EEA项目定义了一个分层的软件架构,并提出了一个“中间件”的层次来提供支持嵌入式系统模块在不同平台之间移植的接口和服务;并且,EAST-EEA项目还定义了公共的架构描述语言(Architecture Description Language,ADL)。EAST-EEA项目的研究成果可谓是AUTOSAR规范的雏形。