随着汽车电子向着智能化、标准化、网络化的方向发展,软件开发在产品开发中所占的比重不断增加,采用平台化的设计方法降低成本、缩短开发时间、充分利用已有资源成为一种必然趋势。
目前,主要的汽车电子软件的开发标准有AUTOSAR、MISRA和OSEK。浙江大学CCNT实验室根据已有的标准和平台,开发出了SMARTCAR汽车电子软件平台,包括了智能汽车平台和汽车电子软件开发平台。
浙江大学副校长吴朝晖老师同时也是CCNT的学术带头人,他介绍说,包括面向智能汽车的自适应中间件平台ScudWare和在此基础上开发的一个智能汽车空间原型系统,是由车载处理中心、各种上下文采集设备、以及一系列远程Web服务器组成的一个计算环境,主要目的是根据用户设定或者当前环境特性自动提供适当的服务,减少用户主动发出服务请求的次数,在车内形成自发的、定制的服务空间,为用户提供安全、舒适的行车环境。汽车电子软件开发平台SmartOSEK主要包括高可靠强实时的嵌入式操作系统内核SmartOSEK OS、支持服务的板级支持体系结构SmartOSEK BSS以及支持基于模型设计的图形化开发环境SmartOSEK IDE几大部分。重点解决复杂汽车电子应用对操作系统的需求问题,面向汽车领域的建模描述问题,车控软件的有效性验证问题,开发过程中的文档和代码的自动生成问题,通过基于模型的软件开发思想改变嵌入式系统的传统开发方法,最终提高汽车电子控制系统产品开发的效率和产品质量,降低开发成本。
SmartOSEK的组成结构
SmartOSEK标准重点借鉴OSEK OS、OSEK OIL、OSEK COM、OSEK NM标准。AUTOSAR标准,目前来说,主要借鉴了其Architecture的Communication Stack、RTE、System Services、Peripherals标准以及MethodologyAndTools、Application InteRFaces中相关的部分。MISRA标准主要是借鉴其针对汽车电子安全代码的127条规则。
嵌入式实时操作系统SmartOSEK OS
SmartOSEK由操作系统、板级支持、开发工具三大部分组成,其操作系统部分SmartOSEK OS是严格按照OSEK/VDX规范实现的,而且是国内第一个通过OSEK官方组织认证的符合OSEK规范的嵌入式实时操作系统。
SmartOSEK OS严格实现了OSEK标准所规定的内核模块,具体包括任务管理模块、资源管理模块、事件机制模块、定时器模块、中断处理模块、错误处理模块、内部通信模块等。
SmartOSEK内核模块需要底层模块的支撑,包括体系相关模块、开发调试模块、硬件驱动模块。体系相关模块实现体系密切相关部分,如上下文切换等;开发调试模块针对特定的平台实现对应用的监控跟踪调试;硬件驱动模块包括各研究外设的驱动。SmartOSEK OS的应用开发主要面向汽车电子控制系统,包括发动机控制、变速箱控制、通信系统控制等。图1是SmartOSEK OS的架构图。
SmartOSEK OS可满足严格的片内存储器要求,内核在4KB~12KB之间(32位PowerPC平台);主频为40M的MPC555上的SmartOSEK OS的上下文切换时间为微秒级;最大中断屏蔽时间为21.72μs;最高可承受运行40kHz的中断。