基于RX850实时操作系统的柴油机高压共轨电控系统软件开发

2010-08-29 13:27苏洪良刘瑞祥
关键词:喷油量共轨喷油

苏洪良,刘瑞祥

(山东理工大学交通与车辆工程学院,山东 淄博 255049)

柴油机高压共轨电控燃油喷射系统具有喷油压力高、喷射特性好、喷油量和喷油定时控制精确、灵活等优点,已经成为柴油机电控技术发展的重要趋势.电控系统控制软件设计方法的选择对整个控制系统性能的优劣有着重要影响.随着电控系统控制功能和结构复杂性的提高,控制软件的开发也日益复杂.传统的柴油机电控系统软件设计方法为单线程控制环式,存在着控制精度低、实时性差等缺点,已不能满足现代控制系统要求[1-2].为此,本文将RX850实时操作系统引入到高压共轨电控系统的软件开发中,以期为充分利用软硬件资源、提高软件开发效率和控制系统性能提供一个有效的实时操作系统平台.

1 软件开发环境

本研究选用NEC公司的μ PD70F3239微控制器,μ PD70F3239具有一系列相配套的系统开发工具,如项目管理器(PM+)、编译/汇编器(CA850)、集成调试器(ID850)、任务调试器RD850、仿真器(SM+for V850、SM850)、实时操作系统(RX850、RX850 Pro)、分析器(AZ850)、性能分析工具(TW850)、堆栈计算器(STK850)等,本研究中使用的工具及版本如图1所示.其中AZ850和RD850需单独启动,使用的版本分别为V3.30和V3.20.

图1 软件开发工具及版本

项目管理器PM+是用于开发用户程序的集成开发环境,具备软件开发过程中的编辑、构建、调试和修改等一系列操作功能,可以方便地完成从代码生成到软件功能调试的整个过程[3].为了便于统一管理和研究,本文创建唯一的工程文件HPCR.Prj,在PM+中,将工程中所使用到的源文件信息、设备文件信息、编译器、文本编辑器、调试器和仿真器等基本信息都存储到HPCR.Prj内,以方便系统参考和加载.创建HPCR.Prj后,使用设备文件(Device File)加载μ PD70F3239的基本信息,如外围 I/O寄存器名称定义、中断请求名称、内部存储器大小及其他信息.PM+允许采用C语言与汇编语言相结合的编程方式,大大提高了编程的灵活性和软件开发效率.

2 RX850系统构建流程

RX850实时多任务操作系统可以在目标系统的ROM中存储和执行.系统内核由管理模块和调度器组成.管理模块具有以下功能:任务管理功能、同步通信功能、中断管理功能、内存池管理功能和时间管理功能;调度器用于管理任务处理器的执行权和确定任务的执行顺序.

系统构建流程是将媒介文件在用户系统上编译、链接生成加载模块文件并下载至目标系统中的过程,整个构建流程如图2所示.在编译器中生成的目标文件(.o文件)由系统信息文件(.cf文件)、用户程序(.c文件)以及系统初始化模块组成.系统信息文件由系统配置文件通过配置器CF850生成;用户程序单独编译;系统初始化模块以初始代码的形式存在.目标文件与链接指令文件(.dir文件)链接后生成可执行模块(.out文件),可执行模块加入ROM信息,并转换成十六进制文件形成加载模块,最后嵌入目标系统.

图2 RX850系统构建流程图

3 控制软件设计

3.1 任务划分

任务划分是系统软件设计的重点.任务的划分情况和调度策略的选择,决定着电控系统性能的优劣[4-5].本研究中,任务主要依据其功能、执行频率、实时性和优先级进行划分.

本研究根据柴油机实际工作状况,采用模块化设计原则,将ECU软件系统分为转速计算模块、工况判断模块、喷油控制模块、共轨压力控制模块、信号采集模块和故障诊断模块,并根据喷油系统的控制要求,设置了如下11个任务:转速计算任务1;工况判断任务2;喷油量计算任务3;喷油定时任务4;预喷射任务5;主喷射任务6;PVC阀控制任务7;油门负荷和共轨压力信号采集任务8;其余模拟信号采集任务9;离散量扫描任务10;故障判断任务11.图3为系统软件模块与任务间的对应关系.

RX850提供了任务切换机制,每个任务都有自己的堆栈用于存储任务信息.任务在内核运行期间有以下6种状态:就绪状态、运行状态、等待状态、等待挂起状态、挂起状态和睡眠状态,系统内核提供系统服务函数用于转换任务状态.任务状态转换关系如图4所示.

3.2 任务管理

RX850有两种调度方式:基于优先级的占先式和同优先级 FCFS(先到先得(first-come,firstserved))方式.调度器运行时会检查每个可执行任务(run或ready状态)的优先级,然后选择最合适的任务并为其分配处理时间.

图3 系统软件模块与任务间的对应关系

图4 任务状态转换关系图

本研究采用占先式调度方式,每个任务都设置一个优先级,但所有的任务都是可以被占先的.优先级最高的任务为系统的基本控制任务,依次为预喷射控制任务(任务5)、主喷射控制任务(任务6);其次为转速计算任务(任务1)、喷油量计算任务(任务3)、喷油定时计算任务(任务4),这些任务保证ECU所需的控制数据能得到及时更新;然后是PVC阀控制任务(任务7).其它任务依据实时性和重要性确定优先级,依次为任务10>任务8>任务9>任务2>任务11.这种调度策略不仅可以提高CPU的利用率,而且能满足控制系统的实时性要求.

4 同步与通信

多任务处理时,下一个被执行的任务、或者任务的处理内容,可能依靠前一个任务的处理结果输出,因此要求使用同步函数在每个任务间提供联系.在RX850中有两个同步函数:高级控制函数和等待函数.RX850为高级控制函数提供标志信号量(semaphores),为等待函数提供事件标志(Event)和1位(1-bit)事件标志.在本系统中任务与任务之间的同步主要依靠事件标志和1位事件标志来实现.

在RX850中,使用通信函数将一个任务的处理结果传递给其它任务.RX850为通信函数提供信箱(mailboxes).通过在信箱之间交换消息(message)来完成任务之间及任务与中断之间的通信.本研究中用了5个消息来实现关键的通信,其余通信由全局变量完成.

5 实验结果与结论

为了验证电控系统性能,本研究进行了初步的调试实验.实验显示:在发动机最高转速(n=2400r/min)工况下,能够实时完成喷油量及喷油定时计算任务、共轨压力控制任务、诊断及通讯任务,整个系统任务执行时间不超过16ms,满足了发动机的实时控制要求.通过研究,可得出以下结论:

(1)将RX850实时操作系统引入到柴油机电控喷油系统的研究中是合理有效的.所开发的电控系统实现了喷油量、喷油定时和喷油压力的精确控制,提高了发动机的动态响应能力.

(2)在项目管理器PM+中进行软件主程序编写,缩短了软件开发周期、提高了软件开发效率,且软件的读写、维护都非常方便.

(3)软件采用模块化设计方法,不仅可以充分利用硬件资源,同时也保证了电控系统的实时性和可靠性.

[1]刘成伟,王尚勇,杨青.基于OSEKworks开发平台的高压共轨喷油控制系统的研究[J].内燃机工程,2004,25(4):28-31.

[2]文武红,杨世文,王孝.基于OSEKturbo实时操作系统的柴油机电控系统的研究[J].机械管理开发,2005(3):77-78.

[3]NEC Electronics Co rporation.RX850 pro real-time operating system user's manual[M].Japan:NEC Electronics Corporation,1999:29-30.

[4]王尚勇,杨青.柴油机电子控制技术[M].北京:机械工业出版社,2005:283.

[5]王忠凯,赵磊.UC/OS-Ⅱ任务调度研究[J].山东理工大学学报(自然科学版),2009,23(2):30-35.

猜你喜欢
喷油量共轨喷油
高压共轨燃油系统喷油量的预测模型
生物柴油及其混合燃料的喷油特性研究
高压共轨发动机控制器硬件平台自动化测试设备设计
多缸柴油机工作均匀性控制方法研究
基于DOE方法优化轻型柴油机多点喷射策略的燃烧参数
高压共轨喷油系统多次喷射喷油量的波动
后喷射对电控共轨柴油机排放性能的仿真研究
采用共轨喷油系统和可变截面涡轮增压器的3.0L-V6型柴油机
采用新型喷油系统的柴油机开发及应用
Volvo公司新开发的喷油控制系统