发布日期:2022-04-18 点击率:66
关键词: ECU 发动机ECU
摘要:讨论发动机ECU的硬件测试,重点探讨实现硬件测试的一种方法与检测系统的组成,以及微处理器在发动机ECU检测控制系统中的应用研究。
1引言
随着我国在近几年汽车工业的飞速发展,各种级别的乘用车走进了千家万户,当今的消费者也对车辆的主动安全和被动安全都比以往更加重视。人们对轿车上的每个零件可靠性都要有更高的要求,作为发动机类似于轿车心脏,ECU做为控制发动机运转的核心,它的可靠非常重要,下面将介绍一种检测ECU硬件是否的可靠的一种方法。
2系统的构成及功能
2.1系统的构成
此ECU下线检测设备是对各种发动机ECU进行硬件测试,此设备主要包括各类被测ECU夹具、数字量输入测试、模拟量输入测试、转速电路测试、CAN通讯测试、脉冲输入量测试、低边驱动输出测试、1个带人机界面的监控台。
2.2功能描述
2.2.1一般描述
本发动机ECU下线硬件检测设备是对东风汽车等现有各种LNG/CNG发动机ECU做硬件检测,模拟数字/模拟量输入、ECU带真/假负载进行检测,上位机将每次测试的数据同参考值做比较,从而来判断ECU的硬件是否正常。
2.2.2详细描述
第一步:将被测ECU一起烧写专用测试软件;
第二步:进入测试监控界面,界面见下图:
图一:监控界面
第三步:观察监控界面右上角系统通讯提示,如果显示绿色“通讯正常”即可进入下一步操作,如果显示红色“PC-通讯盒未连接”,此时要检查测试台里的通讯盒是否连接好;
第四步:点击监控界面下的“点火使能”,此时观察左上角被测ECU版本号,只有在版本号与被测ECU版本一致的条件下才可以进入下一步步测试;否则要点击点火禁止按钮,退出检测并拆下ECU,进入第一步;
第五步:在上述步骤均正常的前提下进入硬件测试,点击“检测开始”按钮,中途也可以检测停止,点击检测停止即可,在没有意外的情况下建议不要检测停止,该设备在完成一个检测循环后停下来最安全;第六步:观察测试界面,测试合格的项目在界面上均有提示“合格”字样,如果有“不合格”字样,再观察错误报告窗口,将错误报告上的值与检测参考值对比,如果偏差很大,证明该项检测的硬件有问题,将有问题的故障做记录后送维修人员维修;同时也可以点击“保存错误报告”,将错误信息保存为TXT文件格式供相关技术人员参考;
第七步:检测完成后,在监控左下角会有提示,检测完毕,可拆卸ECU;
3控制硬件设计接口描述
3.1控制设备硬件结构如图图二,为了简化接线,设备之间采用总线连接。监控计算机是中文界面,界面直观.操作者可根据相应的提示直接进行相应的操作。
图二:硬件系统图
3.2接口描述
3.2.1接口列表
1)TEST的6块电路板之间采用26P的排线连接,对外输出/输入采用24P的接插件连接;
2)TEST(测试台)、被测ECU、监控计算机之间通过CAN通讯连接(CCP协议)。
3.2.2信息交换处理
1)测试台与监控计算机部分信号交换有:
定义名 | 地址 | 长度 | 描述 |
DigitalValueSelect | 0x3C08 | 1bit | 选择数字量输出值 |
DigtalChAlloff | 0x3C09 | 1bit | 数字量输出全关 |
DigtalChAllon | 0x3C0A | 1bit | 数字量输出全开 |
DigitalChEnable[23] | 0x3C0B | 23bit | 23个数字量输出使能 |
AnalogOutValueSelect | 0x3C22 | 1bit | 模拟量输出电压选择 |
AnalogOutChAlloff | 0x3C23 | 1bit | 模拟量输出全关 |
AnalogOutChAllon | 0x3C24 | 1bit | 模拟量输出全开 |
AD_vRaw[24] | 0x3C67 | 24bit | 检测到电压值(预留) |
CR0_ID | 0x100 | CCP接收地址 | |
DT0_ID | 0x200 | CCP发送地址 |
2)被测ECU(V1.4喷射ECU)与监控计算机的数据交换有:
被测定义名 | 长度 | 地址 | 描述 |
Analog_Input[0] | 16bit | 3030 | CNGP |
Analog_Input[1] | MAP | ||
Analog_Input[2] | TURBO-P | ||
Analog_Input[3] | 电子节气门TPS1 | ||
Analog_Input[4] | PEDALP2 | ||
Analog_Input[5] | 电子节气门TPS2,不可测 | ||
Analog_Input[6] | PEDALP1 | ||
Analog_Input[7] | CNGTemp | ||
Analog_Input[8] | OilP-In | ||
Analog_Input[9] | OilTemp-In | ||
Analog_Input[10] | ExhaustTemp2-In | ||
Analog_Input[11] | ExhaustTemp1-In | ||
Analog_Input[12] | VehBatt | ||
Analog_Input[13] | O2-F-In | ||
Analog_Input[14] | MAT | ||
Analog_Input[15] | CTS | ||
RPM_Time | 16bit | 3082 | 转速(周期,精度=1uS) |
RPM_SMOT_Value | 8bit | 3084 | 转速信号灵敏度【0=高灵敏度(低电压,),1=低灵敏度(高电压,)】 |
IGN_Diagnostic_TriggerTime | 16bit | 3085 | 点火高压反馈触发信号——脉宽(精度=1uS) |
IGN_DiagTrig_Cnt | 16bit | 3087 | 点火高压反馈触发信号——触发次数 |
IGN_DwellTime | 16bit | 3089 | 点火充电时间(精度=1.6uS) |
IGN_DwellPeriod | 16bit | 308B | 点火周期(精度=1mS) |
INJ_Diagnostic_TriggerTime | 16bit | 308D | 喷嘴高压反馈触发信号——脉宽(精度=1uS) |
INJ_DiagTrig_Cnt | 16bit | 308F | 喷嘴高压反馈触发信号——触发次数 |
Throttle_En | 8bit | 3091 | 电子节气门控制使能(0=禁止,其他=使能) |
Throttle_Tgt_r | 8bit | 3092 | 电子节气门控制目标开度(精度=1/256%) |
TPS_r | 8bit | 3093 | 电子节气门控制实际开度(精度=1/256%) |
TPS1_AD | 16bit | 3094 | 电子节气门TPS1AD值 |
TPS2_AD | 16bit | 3096 | 电子节气门TPS2AD值 |
O2_HeatEn | 8bit | 3098 | 氧传感器加热控制使能(0=禁止,其他=使能) |
CJ125_REG | 32bit | 3099 | CJ125寄存器SPI读取返回值(正确值=0x63ff8900) |
CJ125_State_OK | 8bit | 309D | CJ125芯片SPI通讯判断状态(0=Error,1=Ok) |
CJ125_Ur_AD | 16bit | 309E | CJ125_Ur电压AD值 |
CJ125_Ua_AD | 16bit | 30A0 | CJ125_Ua电压AD值 |
CJ125_IDENT_REG | 8bit | 30A2 | CJ125_IDENT寄存器返回值 |
CJ125_DIAG_REG | 8bit | 30A3 | CJ125_DIAG寄存器返回值 |
CJ125_INIT1_REG | 8bit | 30A4 | CJ125_INIT1寄存器返回值 |
CJ125_INIT2_REG | 8bit | 30A5 | CJ125_INIT2寄存器返回值 |
MC33814_SPIChckRsp | 16bit | 30A6 | MC33814芯片SPI通讯检查(正确值=0x7123) |
IGN_Value | 8bit | 30A8 | 点火负载状态(=0,点火真负载;=1,点火假负载) |
SW_Version | 16bit | 30A9 | 软件版本号 |
4主板原理图
该系统采用的是飞思卡尔MC9S12XEP100MAC的微处理器,该芯片硬件资源丰富,是一款16位的单片机、一共144个管脚、RAM有64KB、D_Flash有32KB等,CAN原理图如图三;CAN收发电路主要用于数据通讯,实现多ECU之间的通讯,以及实现与上位机通讯。
图三:CAN收发电路
部分主板ECU原理图如图四,主ECU实现模拟数据采集、模拟脉冲信号、以及低边驱动等功能。
图四:ECU主控电路
5程序组织结构
5.1测试台程序说明:
该系统采用的是飞思卡尔MC9S12XEP100MAC的微处理器研制出的主控模块,该模块程序编写所用的应用软件为freescaleCodeWarriorV5.1软件,该系统采用结构化的编程方式进行编写,可读性强,将程序分成几块来管理,数字量输出函数、模拟上输出函数、转速输出函数、频率输出函数、CAN初始化函数、CCP函数等,这样分类后,便于维护人员在设备出现故障时联机快速查找故障。编程软件是飞思卡尔公司设计面向本公司16位微处理器编程的通用软件,限于论文篇幅,下面只节选主函数做简要说明。
voidmain(void)
{
PE_low_level_init();//PE初始化
ErrorSta=AD16CH_Start();
ErrorSta=AD24CH_Start();
ccpBootInit(0x100,0x200);//CCP协议通讯地址
ccpInit();//CCP初始化
CAN3Init();//CAN初始化
GenFreqInit();//频率输出初始化
GenRPMInit();//转速输出初始化
AD_vRaw[0]=0;//AD量初始化
for(;;)
{
ErrorSta=ccpBackground();
if(ccpBootTransmitCrmPossible()){
ErrorSta=ccpSendCallBack();
}
if(ccpBootReceiveCro(CAN0RxBuf)){
ccpCommand(CAN0RxBuf);
}
if(Task2msFlag)
{
Task2msFlag=0;
ccpDaq(1);
}
if(Task10msFlag)
{
Task10msFlag=0;
TesterAPP_FrequencySignal();//频率输出函数
Calc_RPMSignal();//模拟转速输出函数
IOCFG_GenFreqOutput();
IOCFG_DigitalSelect();//数字量输出函数
IOCFG_DigitalChOutput();
IOCFG_AnalogSelect();//模拟量输出函数
IOCFG_AnalogChOutput();
IOCFG_LoadSelect();//负载切换函数
IOCFG_IGNControl();//点火使能函数
IOCFG_GenRPMAmpSelect();//转速幅值调整函数
ECUCANTest();//CAN测试
ccpDaq(2);
}
if(Task100msFlag)
{
Task100msFlag=0;
ccpDaq(3);
}
}
}
5.2监控计算机程序结构描述
监控软件使用的是C++Bulider6.0的编辑环境编写的,该程序设计软件相对比较容易,编译生成监控界面如图一:监控界面。
5.3被测ECU程序说明:
由于测试台属于通用测试台,被测ECU可以是不同种类,目前我们对3款ECU进行了测试,被测ECU根据自身的需要编写测试程序,程序与测试台软件有些类似,在此就不做详细介绍了。
6结束语
本控制系统调试成功后,基本未做改动即投入运行,目前运行很稳定,至今的运行实践表明:
(1)、系统设计构思严谨,功能稳定可靠,基本不需要维护。实现了集中操作,分散管理,且操作简单、直观。
(2)、调试和故障诊断方便、快速,故障诊断功能使操作员能及时发现生产的故障并确定其位置,缩短了排除故障的时间。
(3)、系统的性能好,能够满足多种发动机机ECU的硬件测试需求。
(4)、系统采用CAN总线控制,可扩展性好,便于未来的扩容。
下一篇: PLC、DCS、FCS三大控
上一篇: 索尔维全系列Solef?PV