文献标识码:A
文章编号: 0258-7998(2014)12-0027-03
0 引言
工程机械ECU(Electronic Control Unit)是工程机械的核心控制部件之一,它通过各种安装在动力系统、执行机构上的传感器,感知系统的运行状态,以用户的预期运动为目标,由其内部的控制算法实现工程机械的状态控制[1]。目前国内ECU厂商较少,且产品性能偏低,国内ECU市场基本被国外产品所垄断。
基于英飞凌公司新一代C166v2架构微控制器XC2287M[2]设计了一款智能ECU,拥有高度复用的输入输出模块和丰富的I/O资源,软件上采用工程机械控制领域广泛应用的CODESYS软PLC平台,支持IEC 61131-3定义的5种标准PLC语言进行编程[3-4]。
1 硬件设计
设计的ECU采用XC2287M作为处理核心,通过XC2287M的外设资源扩展PWM、DO、DI、AI和PI等工程机械常用输入输出接口。硬件部分包括主处理电路和外围电路,外围电路由电源电路、存储器电路、安全监控电路、输入输出电路和通信接口电路等组成。
1.1 主处理电路
主处理电路选用英飞凌公司具有32位性能的16/32位微控制器XC2287M作为控制核心,外围电路基于XC2287M的外设资源进行扩展。XC2287M将高性能CPU和一组功能强大的外设单元以高效的方式互连,并集成到一颗芯片中,其原理框图如图1所示。
XC2287M的最高工作频率为80 MHz,拥有16位外部数据总线,具有两个可同步ADC、一个16通道捕获/比较单元CC2、最多4个可产生灵活PWM信号的捕获/比较单元CCU6、两个多功能通用定时器单元GPT、最多8个通用串行通道USIC、最多6个CAN节点的MultiCAN和最多119个GPIO等丰富的外设资源,完全能够满足工程机械智能ECU的硬件需求。
1.2 电源电路
工程机械ECU由主机的蓄电池供电,电源电路将电池电压转换为ECU所需的3.3 V、5 V等内部电压,并对电源反接、过压和过流等进行保护。电源电路如图2所示,其允许的输入电压范围为9~36 V。
电源电路选用英飞凌公司的TLE6368多电压处理器供电芯片[5],它具有高效调压系统、5.5 V~60 V宽输入电压、待机功耗低、可通过SPI进行控制和诊断,非常适合于车载12 V/24 V蓄电池供电系统。TLE6368的输入级使用肖特基二级管和瞬态抑制二级管实现电源反接和过压保护;SPI接口与XC2287M的USIC相连,控制TRACK LDO输出,并可关断所有电源供电,使系统进入待机状态;WAKE引脚与整车的点火线开关相连,控制系统的上电,MCU监测WAKE引脚的状态,当检测到点火线开关关闭时,通过SPI关闭所有供电输出。TLE6368为数字和模拟外设提供1路高达800 mA的5 V输出,主处理器和与主处理器相连的数字电路使用3.3 V输出,6路TRACK LDO输出并联起来提供高达100 mA的5 V传感器供电输出。
1.3 功率级输出电路
功率级输出用于控制外部电磁阀、电机等执行器,实现对整车动作的控制。图3为2.5 A功率级输出电路的原理图。BTS5125L为2路智能高边开关,导通电阻90 mΩ,负载电流可达3.7 A,提供短路保护、过压保护、ESD保护和过热关断等功能,可通过状态反馈引脚监测输出状态,支持阻性、容性和感性负载。
BTS5215L的输入引脚与XC2287M的CCU63的输出引脚相连,实现PWM输出和DO输出的复用,可满足不同负载需求。XC2287M的I/O端口在上电复位时为弱上拉,而BTS5215L的输入为高有效,需要在输入引脚连接10 kΩ下拉电阻以确保功率级在上电时处于关断状态。BTS5215L的GND引脚连接100 Ω电阻实现反向电池电压保护,输出引脚连接的续流二级管可支持感性负载。为了增加ECU的灵活性,BTS5215L的输出引脚通过分压电阻网络与MCU的输入引脚相连,通过软件可以将输出端口复用为输入。
1.4 安全监控电路
安全监控电路选用英飞凌公司高性能8051微控制器XC866。XC2287M通过USIC与XC866的SSC相连,XC866工作在SPI从模式,用于监控系统的工作状态,控制安全继电器,并与工作在SPI主模式的XC2287M共同控制所有功率级输出的使能。
XC2287M和XC866各有一个GPIO用作功率级使能信号(PWREN#),所有的功率级输出(PWM和DO)都受MCU_PWREN#和DOG_PWREN#的共同控制,只有两者都有效时,功率级输出才被使能。
1.5 通信接口电路
ECU通过CAN总线连接支持CAN总线的传感器,CAN总线还作为ECU与CODESYS编程环境的通信通道。通信接口电路由XC2287M的MultiCAN外接CAN总线收发器构成[6],其电路原理图如图4所示。
设计中XC2287M的工作电压为3.3 V,CAN总线收发器选用NXP公司的TJA1042T/3,它兼容3 V~5 V微处理器接口,由VIO(I/O电平适配)引脚决定接口电平。为了提高兼容性,图4中芯片的第5引脚连接了2个可选电阻,RXD引脚连接了2.2 kΩ限流电阻,该电路可兼容3 V~5 V系统,应用时可根据需要选择CAN总线收发器。设计中使用了分裂终端电阻形式,可以有效减少电磁发射并具有更高的抗干扰性。
2 软件设计
2.1 软件总体框架
设计的ECU运行CODESYS软PLC运行时,构建了适合IEC 61131-3标准的开放式、可扩展ECU平台。ECU软件由Bootloader、BSP和C语言算法库、安全监控服务和CODESYS运行时、IEC接口层、IEC应用层等构成,其软件架构框图如图5所示。
Bootloader用于系统程序下载和升级维护;BSP包含硬件驱动程序,为上层提供平台无关的接口;C语言算法库实现复杂的控制算法,为应用程序提供算法加速;安全监控服务对系统运行状态进行监测;CODESYS运行时为用户IEC程序提供运行环境,并通过Debug接口实现程序的断点调试;IEC程序通过外部库接口和I/O映像与运行时和外部硬件进行数据交互。
2.2 Bootloader设计
工程机械ECU通常工作在较为恶劣的现场环境中,为了达到特定的防护等级,一般采用密封的外壳结构。为了方便后续的升级与维护,需要在ECU中实现Bootloader,其工作流程如图6所示。
Bootloader是系统上电之后运行的第一段程序,它首先执行基本的系统初始化和通信接口初始化,然后一直轮询以检查是否有上位机更新请求。当接收到更新请求时,进入更新服务流程,若100 ms内无更新请求,检查Flash中指定位置的应用程序是否有效,有效时执行相应的程序,无效时则进入更新服务流程。
2.3 CODESYS运行时移植
使用基于IEC 61131-3标准的CODESYS编程环境对硬件设备进行编程之前,在设备中必须安装部署CODESYS运行时。基于XC2287M的运行时移植主要包括对Main.c、RtsCst.c、RtsCst.h、RtsInc.h、RtsUsr.h、RtsUtil.c和RtsCan.c等文件的修改与适配。
RtsCst.c是移植工作的重点和难点,它主要为运行时提供I/O配置解析、I/O映像读写、外部库函数接口的实现,以及IEC程序的保存与加载等功能。在移植中需要根据ECU的外设实现CstIOConfigChanged、CstReadInputs、CstWriteOutputs、CstGetExtRefTable、CstFlashProgram和CstLoadProgram等函数接口。
运行时通过外部库函数表为IEC程序提供外部库函数接口。函数CstGetExtRefTable返回用户外部库函数表s_ExtRefTable的指针。s_ExtRefTable是以NULL结尾的结构体ExtRef的数组,其成员结构为:
typedef struct tagExtRef {
char szName[32];//外部库函数名称,通常为大写
void(*pFunction)(void);//外部库函数的函数指针
} ExtRef;
其中,szName为在CODESYS编程环境中调用此外部库函数时使用的桩函数名称,pFunction为指向运行时中相应函数的函数指针。任何需要由运行时导出给IEC程序使用的用户函数都需要包含在s_ExtRefTable中,C语言算法库也由它提供给IEC程序调用。
2.4 安全监控软件设计
为了满足工程机械的安全性要求,设计的ECU采用了双CPU架构。XC2287M为主CPU,负责执行主要功能;XC866为看门狗CPU,负责对整个ECU进行安全监控,并在异常时关断安全关键的外部输出,确保系统安全。ECU的安全状态转换如图7所示。
系统上电后,整个系统处于初始状态,所有功率级输出被关闭。主CPU尝试与看门狗CPU建立通信,并下载安全关键的外设配置到看门狗CPU。成功建立通信后,看门狗CPU开始监测安全关键外设和主CPU的状态,整个系统进入正常工作状态。随后主CPU与看门狗CPU周期性的交换状态数据,当通信中断或外设异常时,主CPU和看门狗CPU都将进入安全状态,并关闭所有安全关键的功率输出。
3 结束语
设计的ECU具有丰富的I/O资源和完善的安全保护机制,支持在系统失效时切换到预定义的安全输出状态,保证异常条件下ECU及外围设备的安全。ECU软件遵循IEC 61131-3标准,可以通过CODESYS进行用户编程,支持5种标准PLC编程语言,提供丰富的外部库函数接口。本设计具有编程灵活、性能稳定、安全可靠、易于扩展等诸多优点,可以广泛应用于各种工程机械控制系统。设计的ECU目前已经成功应用于包括挖掘机、推土机、高空作业车、大吨位平板车等在内的多种工程机械车型,取得了良好的经济效益。
参考文献
[1] 王国庆,刘洁,张宗涛,等.工程机械智能化控制器研究[J].筑路机械与施工机械化,2008,25(3):73-75.
[2] Infineon Technologies AG.XC2200M Derivatives user′s manual V2.0[D/OL].(2009-03)[2014-09].http://www.infi- neon.com.
[3] 3S-Smart Software Solutions GmbH.The CoDeSys runtime system For C16x Infineon processors V2.2[D/OL].(2001-03)[2014-09].http://www.codesys.com.
[4] 王丽丽,康存锋,马春敏,等.基于CoDeSys的嵌入式软PLC系统的设计与实现[J].现代制造工程,2007(3):54-56.
[5] Infineon Technologies AG.TLE6368/SONIC data sheet V2.1[D/OL].(2006-12)[2014-09].http://www.infineon.com.
[6] 张素伟,王志刚,王红,等.基于Infineon单片机的CAN网关研究[J].电子技术应用,2009(12):125-127.
基金项目:国家自然科学基金项目(61303045);江苏省自然科学基金项目(BK2012237)