DSP在新型无分电器点火装置的应用
随着电子技术的迅猛发展和绿色环保的要求,人们对汽车发动机点火系统性能的求越来越高,不仅要求实时性强、点火正时特性好、抗干扰能力强,而且要求集成较高、减少故障点、具有自诊断和备用点火功能,同时还要求与PC机通讯并能进行系统软件升级、重要数据更新和在线系统仿真。下面介绍一种基于DSP的新型汽车无分电器点火装置。
1 系统构成
系统中央处理单元ECU由一片DSP和一片通用单片机组成。DSP主要用于对信号的采集、处理,控制算法实现,与辅助单元和PC机进行通讯;单片机主要用于系统监测和备用点火等。系统结构框图如图1所示。
系统采用了集成点火组件。点火组件用于完成闭合角控制、恒电流控制、过电压保护、停车断电保护等功能,并能通过缸序判别信号IGda、IGdb把点水信号Igt关入相应的点火驱动电路,产生点火确认信号IGf。
1.1 主CPU单元
系统主CPU采用DSP TMS320F240。它具有以下特点:32位中央算术逻辑单元CALU;16位×16位并行硬件乘法器;内置544字×16位双端口数据/程序RAM, 16K字×16位FLASH E2PROM;软件等待发生器的外部存储器接口模块,支持硬件等待状态;双10位高速A/D转换器;28个独立可编程的多路复用I/O引脚;基于锁相环的时钟模块;带实时中断的看门狗定时器模块;串行通讯接口;4级管道操作;8级硬件堆栈;6个外部中断;静态CMOS技术;4种低电源模式;最高频率为 40MHz;多数指令周期为单周期;完成一次点火提前角的计算时间限于1ms,比通用微处理机快10~100倍,大大地提高了点火系统的实时性。
主CPU 单元主要完成两大任务:一是确定当前工况下的最佳点火提前角,产生点火控制信号IGt和汽缸判定信号IGda与IGdb;二是通过RS-232接口与PC 机进行串行通信,主CPU可把采集的各种传感器的信号、发动机转速信号、故障代码等送到PC机中进行仿真与分析;PC机也可以把二进制程序代码及一些重要数据(如不同工况下的修正值等)送到主CPU的FLASH E2PROM单元。
TMS320F240扩展了四片CY7C169-25和一片8253,并采用74F148扩展外部中断源输入端。
1.2 监测和点火备用模块
监测和点火备用模块所使用的CPU是8751。该模块通过对各传感器信号、IGf信号等进行分析、诊断,对主CPU单元实施监测。当主CPU单元出现故障时,监测和点火备用模块立即接过点火控制权,并放弃监测工作。
8751单元扩展了2732、6264和8253各一片。采用一片AD574A和CD4051进行A/D转换,并用74LS148扩展了8个外部中断源输入端。
1.3 DSP数字控制器与PC机的串行通讯
TMS320F240 SCI模块支持CPU与使用标准NRZ格式的其它异步外设之间进行数字通信。SCI接收器和发送器是双缓冲的,具有独立的使能和中断时。SCI对接收的数据进行间断、奇偶性、超时、帧出错等检测。系统采用了RS-232异步串行通讯标准总线。
1.4 系统接口资源的分配
TMS320F240 DSP数字控制器与8751单片机提供的I/O接口与中断输入接口是有限的,为避免资源冲突,将外部的输入信号按表1进行优化分配。
表1 外部输入信号优化分配
2 系统软件
2.1 点火提前角
点火提前角对发动机的工作性能影响较大,ECU按下式计算点火提前角:
实际点火提前角=初始点火提前角+基本点火提前角+修正点提前角
基本点火提前角数据以表格的形式存储在DSP的FLASH E2PROM中。实际上,基本点火提前角数据远不止256个。如果发动机转速与负荷不在基本点火提前角对应的点上,则采用多元线性回归法进行拟合:
式中,θ――基本点火提前角
n――发动机转速
l――发动机负荷
将离线生成的线性回归方程系数存储在ECU中。ECU根据转速和负荷信息,查阅基本点火提前角数据表,或查阅线性回归方程系数表计算基本点火提前角,并根据影响点火提前角其它因素(冷却水温信号、空调开关信号、怠速开关信号等)进行必要的修正后输出点火控制信号IGt。
不同型号的发动机,其点火提前角与线性回归方程式系数不同。系统ECU与PC机的通信功能提供了随时新这些数据的方便。
2.2 系统软件模块
软件系统由主程序模块、控制算法模块、发动机转速测量及处理模块、A/D转换模块、G1和G2信号中断模块、DSP数字控制器与微机的通讯模块、DSP数字控制器在线程序更新模块、系统监测模块、备用点火模块、FLASH EEROM擦除模块等组成。
主程序模块主要包括初始化程序、起动程序、发动机工况测量程序、处理程序、判别程序等。程序的初始化包括RAM区、各特殊功能寄存器、I/O、堆栈等的初始化。主程序模块根据发动机转速、负荷等信号确定发动机的运行工况,并由此转入相应的处理程序当中。
发动机转速测量及处理模块主要完成发动机工况判定、查点火提前角数据表等;A/D转换模块处理冷却水湿和负荷传感器等模拟信号的转换;控制算法模块根据存储的不同燃油标号的点火提前数据、多元线性回归系统等表格,确定基本点火提前数据以及发动机爆震控制等;G1和G2信号中断子程序主要控制IGt、 IGda、IGdb信号的产生,检测点火确认信号IGf;DSP数字控制器与微机的通讯模块完成DSP数字控制器与单片机的信息交换;系统检测、备用模块主要完成对一些传感器的检测、ECU单元的监控、备用状态下的点火控制;系统监测和备用点火模块对G1、G2、Ne、IGf、负荷、水温等信号进行监控,当出现故障时,置标志位、报警。当主CPU出现故障时,除了报警之外,该模块立即接过点火控制权。
系统的操作流程图如图2所示。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)