工控网首页
>

应用设计

>

ECU硬件丨微处理器在发动机ECU的应用

ECU硬件丨微处理器在发动机ECU的应用

2016/8/5 13:47:38

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总线控制,可扩展性好,便于未来的扩容。

投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机