1.车控电子产品的系统平台-OSEK/VDX
OSEK/VDX 规范从实时操作系统(Real-Time Operating System, RTOS)、软件接口、通讯和网络管理等方面对汽车的电子控制软件开发平台作了较为全面的定义与规定。将Open Systems and the Corresponding Interfaces For Automotive Electronics规范简称为OSEK规范。
兼容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 OIL)。采用符合OSEK/VDX标准的嵌入式实时操作系
统可以提高产品代码的复用率、降低开发成本、缩短产品开发周期。使用兼容OSEK/VDX标准的嵌入式实时操作系统的应用架构如下图所示。
2.OSEK/VDX任务管理
OSEK/VDX将任务分为基本任务和扩展任务。基本任务具有3种状态:运行状态、就绪状态、挂起状态;扩展任务比基本任务增加一个等待状态。基本任务只在开始和结束时才有同步点。扩展任务运行时可能进入等待状态,因此不仅在开始和结束有同步点,而且运行过程中可能有多个同步点。下图所示的是扩展任务与基本任务的状态转化图。
OSEK OS规范规定的任务类型
3。OSEK实现语言规范
为了达到软件可移植的目标,OSEK OIL规范(OSEK Implementation Language Specification)定义了一种配置和使用OSEK应用的方法。下图表示了一个遵守OSEK规范的应用开发过程。OIL文件可以是手写的或者是系统配置工具产生。
基于OSEK规范的应用开发过程
OIL提供一种在特定CPU中配置OSEK应用的机制。每个CPU对应一个OIL描述。所有的OSEK系统对象用OIL对象来描述。OSEK应用的OIL描述是一组OIL对象的组合。CPU是这些OIL对象的容器。OIL明确地为每个OIL对象定义了所有标准属性。每个OSEK应用可以定义附加地特殊执行属性和引用。每个OSEK应用可以限制每个属性的取值范围。
4.车控电子产品的开发流程
车控电子产品是软硬件结合的嵌入式系统。为了节约资源,缩短产品开发周期,一般应采取软硬件同步开发的方案。车控电子产品的开发工具对软硬件的同步开发、调试提供了很好的支持。车控电子产品的软件开发分为功能描述、软件设计、代码生成、操作系统环境下高级调试等步骤。车控电子产品的硬件开发分为硬件描述、硬件设计、硬件调试等步骤。当软件设计完成后,通过使用相应的工具,完成在虚拟ECU平台上的验证。当硬件设计完成后,与硬件一起进行软硬件集成调试。通过这种开发方式,缩短了产品上市的时间。
软硬件并行的开发方案
5.车控电子产品软件开发流程
汽车车控电子产品软件开发流程是“V”形开发流程。“V”形开发流程分为五个阶段,即功能设计、原型仿真、代码生成、硬件在回路仿真-HIL、标定。
在功能设计阶段使用的主要工具是MATLAB。通过使用MATLAB提供的Simulink、Stateflow等工具,完成控制方案的设计、功能模块的设计、控制算法的设计等任务,并进行初步的仿真模拟工作。在原型仿真阶段使用的主要工具是dSPACE。使用dSPACE提供的快速控制原型-RCP工具完成离线的仿真工作。在开始该阶段之前,需要使用Real Time Workshop、Targetlink等工具完成由Simulink、Stateflow等产生的代码向标准 C代码的转换工作。
6.车控电子产品代码生成过程
在进行向标准 C代码的转换的过程中,可以根据需要加入符合OSEK规范的嵌入式实时操作系统。在代码生产阶段使用的主要工具是CodeWarrior。通过使用CodeWarrior提供的编译器、调试器等工具,完成从标准C代码向目标硬件平台上的产品代码的转换工作。下图表示了车控电子产品的代码生成过程。
7.汽车电子系统划分
汽车电子产品可分为两大类:1. 汽车电子控制装置,包括动力总成控制、底盘和车身电子控制、舒适和防盗系统。2. 车载汽车电子装置,包括汽车信息系统(车载电脑)、导航系统、汽车视听娱乐系统、车载通信系统、车载网络等。
下图所示为汽车电子系统的划分示意图。