一、汽车电子的软件开发
1.1 汽车电子系统
汽车电子系统在于提高汽车整体性能,汽车电子系统的核心是嵌入式系统。根据电子系统对汽车行驶性能的影响,可将其分为汽车电子控制系统、车载汽车电子系统两类。汽车电子控制系统包括动力传动系统、底盘电子控制系统、车身电子控制系统等。车载汽车电子系统包括汽车信息系统、导航系统、汽车娱乐系统等。
汽车电子系统的工作原理为信号输入装置(传感器和开关信号)、电子控制单元(以单片机为核心的电子控制单元)、执行器(由ECU控制)。
1.2 汽车电子系统的开发
汽车电子系统由两部分组成,一部分为硬件,一部分为软件。其中硬件是由电源、微处理器/控制器、数模转换单元、模数转换单元、通信单元以及一些输入/输出接口组成。软件可分为设备驱动层、嵌入式操作系统、应用程序接口层以及应用程序层。
1.2.1 处理器
由于汽车电子系统的复杂化,故对处理器的处理能力要求越来越高,处理器主频已提高至上百赫兹。单纯提高主频难以满足要求。目前开始采用多核架构来解决性能瓶颈。
处理器性能的高低反应在指令上,则是处理起执行指令的效率。处理器性能 = 主频 * IPC;IPC(instruction per clock)为每个时钟周期执行的指令数。从中可得,提高处理器的性能可提高主频或IPC方式实现。但主频目前已接近极限,而提高IPC可通过提高架构的并行度或采用多核架构。而多核架构的功耗可以更低,处理器的发展趋势为多核架构。
1.2.2 软件的开发方法
在传统的开发方法中,软件开发和硬件高度耦合,93年主要整车厂启用OSEK/VDX操作系统,但仍存在由于硬件平台的多样性导致程序的重新编写以及软件的修改、代码数量的增加以及代码质量问题的凸显从而带来代码测试以及验证的问题、车型的生命周期大于ECU的生命周期,当出现硬件平台的更新换代,则会导致代码的重新开发或修改。
为了解决上述问题,AUTOSAR(Automotive Open Systems Architecture)应运而生,目前有AutoSAR classic platform以及AutoSAR Adaptive Platform。AutoSAR致力于解决硬件平台的不同从而导致的软件开发困难,将应用层软件组件独立于硬件。
而软硬件的分离得益于VFB(Virtual Function Bus),通过虚拟功能总线可以对软件ECU进行连接和测试。AutoSAR通过定义输入输出接口以及信息的格式,在软件组件(SWC:software component)设计中只需将输出连接到VFB。
每个ECU都有运行环境(Run Time Environment RTE),实际的ECU通信可由CAN和FlexRay总线来实现,BSW(Basic software)为RTE提供硬件相关服务,如存储器服务(NVRAM)、网络通信服务、诊断服务和状态管理。当应用层中定义的AutoSAR SWC请求服务时,RTE将其映射到实际的ECU上进行实现。其中arxml文件对连接和接口信息进行了清晰的定义。