基于OSEK/VDX平台的汽车嵌入式系统开发
扫描二维码
随时随地手机看文章
摘要:随着汽车技术的发展及微处理器技术的不断进步,嵌入式系统在汽车电子技术中得到了广泛应用。基于此综述了汽车嵌入式系统的应用发展、开发平台和开发流程,介绍了基于OSEK/VDX平台的汽车嵌入式系统开发的专门技术和实现方法。
关键词:汽车;嵌入式系统;OSEK/VDX
0 引言
嵌入式系统是以应用为中心,以计算机技术为基础,适用于对功能、可靠性、成本、体积、功耗、实时性等有严格要求的场合。众所周知嵌入式系统有体积小、低功耗、集成度高、子系统间能通信融合的优点,这就决定了它非常适合应用于汽车工业领域。当今,随着汽车技术的发展以及微处理器技术的不断进步,嵌入式系统在汽车电子技术中得到了广泛应用,满足了现代汽车电控系统功能不断扩展、逻辑渐趋复杂、子系统间通信频率不断提高的要求,代表着汽车电子技术的发展趋势。
1 汽车嵌入式系统的应用和发展
汽车嵌入式系统近年来发展非常迅速,基于网络通信和实时多任务并行处理的嵌入式高端应用越来越广泛。汽车嵌入式系统在硬件上采用32位或64位高性能处理器,在软件上嵌入了实时操作系统,具有功能多样、集成度高、通信网络化、开发快捷及成本低廉的特点,已在高档轿车的电子控制和车载网络通信系统方面有着一定的应用。
在嵌入式技术的推动下,汽车电子向网络化、智能化、舒适化等高端应用发展日渐成熟,汽车电子控制系统功能持续扩展、逻辑渐趋复杂、子系统间通信日趋频繁、与外界互联互通成为汽车电子技术发展的主流和动力。嵌入式系统在汽车控制系统、通信系统、导航系统、安全系统以及娱乐系统中均得到有效应用,满足了汽车电子强实时性、高可靠性、可维护性等需求,为整车及零部件开发提供统一的架构,充分体现了其构件化、标准化、集成化、可重用的优势。
今后汽车嵌入式系统将重点在以下几个方面发展:
(1)随着汽车局域网技术和智能交通技术的发展,嵌入式系统将会形成以C级或D级网络为基础的整车分布式控制系统和以无线通信为基础的远程高频网络通信系统,其应用范围将逐步从高档车和进口车扩展到低档车和国产车。
(2)汽车嵌入式系统将会向FPGA/CPLD(在线可编程门阵列)方向发展,系统由分布式可编程互连逻辑单元构成。
单元之间可以交换信息,大量运算由硬件直接完成,体系结构更加灵活,集成度更高。
(3)在系统开发上遵循通用的汽车电子系统开发平台和统一的标准。为了提高软硬件通用性,加快开发速度,降低成本,嵌入式系统需要构建统一的标准与开发平台,欧洲已颁布了汽车嵌入式系统开发平台的OSEK/VDX标准和规范。
2 汽车嵌入式系统的开发平台-OSEK/VDX
2.1 OSEK/VDX简介
嵌入式操作系统是支持嵌入式应用的操作系统,它是一种系统软件。OSEK(Open Systems and the Corresponding Interfaces for Au-tomotive Electronics)是针对汽车电子控制的操作系统标准,OSEK是德文缩写词,意思是“汽车电子的开发系统及其接口标准”。OSEK /VDX规范从实时操作系统(Real-Time Operating System,RTOS)、软件接口、通讯和网络管理等方面对汽车的电子控制软件开发平台作了较为全面的定义与规定。OSEK/VDX规范包括以下七部分:OSEK/VDX操作系统规范(OSEK Operating System,OSEK OS),OS-EK/VDX通讯规范(OSEK Communication,OSEK COM),OS-EK/VDX网络管理规范(OSEK Network Management,OSEKNM),OSEK/VDX实现语言规范(OSEK Imple-mentation Language,OSEK OIL),OSEK/ORTI规范(OSEK Run Time Interface),OSEK-Time规范(OSEK/VDX Time-Triggered Operating System),OSEK FTCom规范(OSEK/VDX Fault-Tolerant Communication)规范。使用基于OSEK/VDX规范的嵌入式应用架构如图1所示。
采用符合OSEK/VDX规范的嵌入式实时操作系统可以提高产品代码的复用率、降低开发成本、缩短产品开发周期。[!--empirenews.page--]
2.2 OSEK/VDX的任务管理
OSEK/VDX将任务分为基本任务和扩展任务。基本任务具有3种状态:运行状态、就绪状态、挂起状态;扩展任务比基本任务增加一个等待状态。基本任务只在开始和结束时才有同步点。扩展任务运行时可能进入等待状态,因此不仅在开始和结束有同步点,而且运行过程中可能有多个同步点。图2所示的是扩展任务与基本任务的状态转化图。
2.3 OSEK实现语言规范
为了达到软件可移植的目标,OSEK OIL规范(OSEK Implementation Language Specification)定义了一种配置和使用OSEK应用的方法。图3表示了一个遵守OSEK规范的应用开发过程。OIL文件可以是手写的或者是系统配置工具产生。
OIL提供一种在特定CPU中配置OSEK应用的机制。每个CPU对应一个OIL描述。所有的OSEK系统对象用OIL对象来描述。OSEK应用的OIL描述是一组OIL对象的组合。CPU是这些OIL对象的容器。OIL明确地为每个OIL对象定义了所有标准属性。每个OSEK应用可以定义附加的特殊执行属性和引用。每个OSEK应用可以限制每个属性的取值范围。[!--empirenews.page--]
3 汽车嵌入式系统的开发流程
为了节约资源,缩短产品开发周期,如图4所示,一般应采取软硬件同步开发的方案。汽车嵌入式系统的开发工具对软硬件的同步开发、调试提供了很好的支持。汽车嵌入式系统的软件开发分为功能描述、软件设计、代码生成、操作系统环境下高级调试等步骤。汽车嵌入式系统的硬件开发分为硬件描述、硬件设计、硬件调试等步骤。当软件设计完成后,通过使用相应的工具,完成在虚拟ECU平台上的验证。
当硬件设计完成后,与硬件一起进行软硬件集成调试。通过这种开发方式,缩短了产品上市的时间。
汽车嵌入式系统软件开发流程是“V”形开发流程。“V”形开发流程分为五个阶段,即功能设计、原型仿真、代码生成、硬件在回路仿真-HIL、标定。如图5所示,在功能设计阶段使用的主要工具是MATLAB。通过使用MATLAB提供的Simulink、Stateflow等工具,完成控制方案的设计、功能模块的设计、控制算法的设计等任务,并进行初步的仿真模拟工作。在原型仿真阶段使用的主要工具是dSPACE。使用dSPACE提供的快速控制原型-RCP工具完成离线的仿真工作。在开始该阶段之前,需要使用Real Time Workshop、Targetlink等工具完成由Simulink、Stateflow等产生的代码向标准C代码的转换工作。在进行向标准C代码的转换的过程中,可以根据需要加入符合OSEK规范的嵌入式实时操作系统。在代码生产阶段使用的主要工具是CodeWarrior。通过使用CodeWarrior提供的编译器、调试器等工具,完成从标准C代码向目标硬件平台上的产品代码的转换工作。图6表示了汽车嵌入式系统的代码生成过程。
4 结束语
本文阐述了汽车嵌入式系统的应用发展、系统实现的平台和产品的开发流程等开发技术,指出了汽车嵌入式系统的发展方向,阐述了汽车嵌入式系统的开发平台-OSEK/VDX和汽车嵌入式系统的开发流程,总结了汽车嵌入式系统开发的专门技术和实现方法。