您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页基于嵌入式操作系统的新能源汽车整车控制器软件集成

基于嵌入式操作系统的新能源汽车整车控制器软件集成

来源:筏尚旅游网
基于嵌入式操作系统的新能源汽车 整车控制器软件集成 俞开元 张君鸿 张剑锋 严洪江 冷宏祥 (上海捷能汽车技术有限公司,上海201804) 【摘要】 描述了一种基于嵌人式操作系统的新能源汽车整车控制器软件集成方法。通过使用实时嵌入 操作系统将软件各模块进行任务划分和调度的方式进行软件集成,从而在实现软件功能的同时保证软件运行的 实时性和可靠性。 【Abstract】 An approach of software integration for Vehicle Control Unit of New energy vehicle is described.Based on real—time embedded operation system,task partitioning and scheduling,the various modules of the software are integrated.Thus software functions can be realized,while real— time and reliability of software implementation can be ensured. 【关键词】 整车控制器嵌入式操作系统软件集成 doi:10.3969/j.issn.1007-4554.2011.O1.12 的底层驱动软件、系统内核、设备驱动接口、通信 0 引言 协议、图形界面、标准化浏览器等。嵌入式操作系 统具有通用操作系统的基本特点,如能够有效管 在新能源汽车中,整车控制器(VMS)是进行 理越来越复杂的系统资源;能够把硬件虚拟化,使 动力分配的核心控制单元,如果软件集成后实时 得开发人员从繁忙的驱动程序移植和维护中解脱 性不好、可靠性不高将使系统可靠性和安全性降 出来;能够提供库函数、驱动程序、工具集以及应 低。因此为了提高整车控制器的实时性和可靠 用程序。 性,本文采用实时嵌入式操作系统将软件各模块 嵌入式操作系统中重要的概念: 进行任务划分和调度的方式进行软件集成,从而 任务:也称作一个线程,是一个简单的程序, 在实现软件功能的同时保证了软件运行的实时性 该程序可以认为CPU完全只属该程序自己。 和可靠性 资源:任何为任务所占用的实体都可称为资 源。 调度:决定CPU的使用权分配给哪个任务。 1 嵌入式操作系统简介 多数实时内核是基于优先级调度法的。每个任务 根据其重要程度的不同被赋予一定的优先级。 嵌入式操作系统是一种支持嵌入式系统应用 内核:负责为每个任务分配CPU时间,并且负 的操作系统软件,它是嵌入式系统(包括硬、软件 责任务之间的通讯。可以分为可抢占式、不可抢 系统)极为重要的组成部分,通常包括与硬件相关 占式和混合式。 收稿日期:2010—11—15 上海汽车2011.Ol ・49・ 任务的状态:挂起、就绪、运行、等待。 死锁:指两个任务无限期地互相等待对方控 制着的资源。 对底层驱动程序的封装和简单的数据处理。软件 通讯协议及功能应用主要包括CAN、CCP、诊断等 功能,这些功能可以使用专用的开发工具进行开 发。操作系统的使用主要涉及任务划分、调度机 制以及内存管理、网络管理等功能的实现。应用 2 汽车行业嵌入式操作系统标 准——0SEK/VDX 随着汽车工业的飞速发展,电子技术在汽车 上的应用比重不断增加。为了满足日益复杂的汽 车电子控制软件的开发需要,实现应用软件的可 移植性和不同厂商的控制模块间的可兼容性, 1993年德国汽车工业界联合推出了“汽车电子的 开放式系统及接口软件规范”(OSEK)。1994年 法国汽车工业界的相似规范VDX和OSEK规范合 并,从而形成OSEK/VDX规范体系。 此规范主要由4部分组成:操作系统规范 (OSEKOS)、通信规范(OSEKCOM)、网络管理规范 (OSEKNM)和OSEK实现语言(OSEKOIL)。其中 OSEKOS是针对汽车应用特点而专门制定的一个 小型RTOS规范,着重以下几个方面:可移植性,所 有API都是标准化的并且在功能上都有明确的定 义;可扩展性,OSEKOS旨在通用于任何类型的 ECU,因此一方面系统要高度的模块化,另外又要 能进行灵活的配置;汽车应用的特定需求,诸如可 靠性、实用性和代价敏感性等。相应的,OSEKOS 静态配置可以通过OS2EKOIL语言实现,用户在 系统生成时静态制定任务的个数、需要的资源和 系统服务。OSEKCOM为通信网络中的数据交换 提供了标准的接口和协议。OSEKNM为监视网络 的流量提供了一组标准的功能函数,以保证网络 的安全性和可靠性。 3 软件集成实践 3.1软件基本架构 图1展示了新能源汽车整车控制器软件的构 架。其中硬件驱动程序是直接对AD转换、PWM、 定时器等硬件资源的使用进行配置的程序。硬件 抽象层(HAL层)为对硬件驱动程序的封装以实现 ・50・ 层软件主要是整车控制策略的实现,因此比较复 杂。包括车辆运行时扭矩管理、高压电管理等,需 要根据条件判断进行状态切换控制。 应用层软件 (整车控制策略:驾驶员模型、电池模型等) (C通讯协议及功能应用fAN ̄ia,X、CCP)l  I ADC,DI硬件抽象层H数据处理等)AL.  广一统■ 一≮麓攀i I §l囊 整 鹬 霹 荸 |l ・警甏羲l t豢罄一 《 露0 嚼 鬣 懿§ 餮 强 醛 谗 EE ̄ROM蠢 鬣i 图1软件体系架构实例 同时从构架划分可以看到运行于操作系统上 的应用层软件仅与通讯模块和HAL层发生信号 交互,而与硬件驱动程序相隔离。这样做能最大 限度的保证模块的独立性,也就提高了软件的移 植性和可维护性。 3.2嵌入式操作系统应用 3.2.1 任务划分 根据各模块时间响应性及功能初步的对任务 进行划分(见图2)。如果系统资源不能满足则需 要进一步细分。 J功能应用模型 『] : ll优先级:最三高 I 图2操作系统任务划分 3.2.2任务配置 (1)任务管理 基本任务——运行状态、就绪状态和挂起状态 上海汽车2011.01 扩展任务——除上述3种外多了一个等待状 报警器是OSEK为处理循环事件提供的服务 态,并具有事件机制在本应用的软件集成中各项 机制,警报或者基于系统时钟,或者基于其他的某 任务均配置为基本任务。 种计数器。当计数器到达警报设置值时被触发, (2)调度方式 此时可以激活进程也可以为某进程设置事件,或 完全抢占式调度:该策略用于保存现场的内 者执行一个警报回调程序。 存开销较大,理论上可以在任务的任何位置重调 在本软件集成处理中,采用基于系统时钟的 度,因此任务必须同步访问共享资源,增加了系统 警报器循环激活相关任务 的复杂性。 (5)错误处理 非抢占调度:通过调用某些服务例程实现任 OSEKOS提供了系统专用的钩子程序,以便在 务切换,即用户设置重调度点。通过定义任务组, 操作系统内部操作时执行用户定义的函数。钩子 使多个任务同时具有抢占或非抢占调度的特征。 程序可用于:系统启动,相应钩子程序在操作系统 混合抢占调度:抢占任务和非抢占任务共存 启动后,进入调度程序之前执行;系统关闭,相应 于一个系统时,使用“混合抢占”调度策略。在这 钩子程序在应用或操作系统(此时发生严重错误) 种情况下,调度策略依赖于正在运行任务的抢占 请求系统停止运行时执行;跟踪、调试应用以及现 特性,开发者通过配置任务优先级和抢占属性来 场切换时调用用户定义的扩展程序;错误处理。 定义任务执行顺序。 由于抢占式调度时序逻辑较复杂,因此在本 4 结语 应用的软件集成中配置为非抢占式调度。 (3)中断处理 本文介绍了新能源汽车整车控制器基于实时 ISR1:此类中断程序不使用操作系统的资源, 操作系统的软件集成方法。根据汽车行业,嵌入 中断结束后,处理程序从产生中断的地方继续执 式操作系统在汽车发动机控制管理方面应用的特 行。其对任务的管理没有影响,不要求调用操作 点,以任务响应的时序要求来初步划分各模块,同 系统的API。 时充分考虑系统资源,兼顾时间和功能的要求进 ISR2:此类中断程序是系统生成时,通过用户 行软件的集成。从而保障了软件的实时性和可靠 子程序配置而成,它可以调用操作系统的API。中 性 断的优先级高于任务,因此可以抢占任何任务。 在本应用中多采用ISR1类中断,ISR2类中断 参考文献 使用时通知操作系统,因此用于硬件中断。本应 用中用于CANA和CANB中断处理。 1嵌入式实时操作系统及应用开发(第2版)[M].北京:航 (4)报警器 空航天大学出版社,2007. 上海汽车2011.01 ・51・ 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务