开放式汽车电控单元设计的关键问题
根据IEEE的定义,开放式控制系统必须使相应的执行程序能够运行于来源不同的平台,与其他的系统应用进行无缝的连接和相互操纵,并为用户提供一个具有一致风格的交互接口。这一定义明确的提出了开放式控制系统的特点和设计的关键,即可互操作、可复用、可扩展以及可互换。
另外,由于车辆使用环境变化较大,控制系统要求有较强的适应性,能够根据环境的变化进行系统动态配置,在线切换算法组件和改变组件间的互连等。
在硬件方面,由于硬件结构相对固定,系统升级基本采用部件替换或者增减的方式,更新周期也相对较长。因此,其开放性着重考虑的是硬件系统在汽车控制领域的通用性和适应性,也就是说硬件系统应该适应车载控制系统针对不同控制对象和控制模型的资源需要,同时也应注意系统开放互连的硬件支持。
OpenECU的硬件系统设计
系统硬件架构采用Freescale公司的MPC555作为控制核心,由电源模块、存储系统、复位电路和接口模块几部分组成。由于系统是面向汽车电子应用的,为保证系统的在汽车电子领域的开放性,应对汽车电子领域常用的接口信号进行处理,采用相应的专用接口芯片以满足要求。同时,系统提供丰富的 I/O资源也有利于满足开放性的要求。系统架构如图1所示。
图1 系统架构图
1 系统CPU选择方案
平台选用专为汽车电子等领域开发的处理器MPC555。基于对MPC500系列微控制器功能分析,选用MPC555的原因有如下几点: CPU处理能力可以满足算法对计算任务和浮点运算能力的需求;片上资源丰富,很多功能模块,如TPU、MDA和CAN等,是专门为汽车电子行业量身定制的,片上多种控制功能模块的集成,使得系统无须过多外接功能驱动芯片,且硬件布线减少,成本降低,有助于提高系统的可靠性;有较大的内部存储器容量,用户可以在满足要求的情况下自由选择是否使用外部存储器,这有利于节约成本,提高可靠性。
2 外扩存储器系统的设计
MPC555微控制器片内有448KB Flash,只提供32KB的SRAM,可能在某些复杂的控制场合存储空间是不够用的,为增强适应性,为用户提供足够的资源,本设计还外接SRAM和 Flash存储器芯片。Flash选用AMD公司的AM29LV160DB,共2片。总存储容量为4MB。读写操作供电电压范围2.7~3.6V,访问时间为90ns。SRAM选用ISSI公司的IC61LV5128-10T芯片,共4片,总存储容量为2MB。访问时间为10ns,供电电压3.3V。
MPC555中的存储器控制器提供了对EPROM、静态RAM、Flash、EEPROM和其他外围设备的接口能力,共提供四个存储区段,分别由四根片选信号线CS[0]~CS[3]来进行选择,支持读写操作。CS[0]还作为系统自举时,程序入口地址区段的选择信号线。根据这个特性可以把系统配置成Flash启动方式。CS[1]作为SRAM的外扩片选信号。图2给出MPC555微控制器外扩Flash和SRAM存储器的连接图。其中WE [0:3]/BE[0:3]为写使能/字节使能信号线,其中WE[0]/BE[0]确认数据总线DATA[0:7]上的有效数据,WE[1]/BE[1] 确认数据总线DATA[8:15]上的有效数据,WE[2]/BE[2]确认数据总线DATA[16:23]上的有效数据,WE[3]/BE[3]确认数据总线DATA[24:31]上的有效数据。OE为输出有效信号,CE为片选有效信号。由于MPC555微处理器按字寻址,未使用地址线低两位以避免发生地址冲突。
图2 MPC555微控制器外扩Flash和SRAM存储器的连接图
3 Lamda传感器信号调理
LM9040是由两路独立的Lamda氧气传感器采样输入的差分放大器组成的双通道传感器接口电路。Lamda传感器监视发动机废气,根据空燃比产生测量的电压信号。LM9040可以将±2V的传感器差分测量信号转换为适合5V参考电压的A/D变换的输出电压。电路如图3所示。
图3 Lamda传感器信号调理电路图
4 CAN通信总线设计
为了实现动力总成控制系统中的分布式控制和实时数据交换,必须采用高传输速率、抗干扰能力强以及高可靠性的网络总线方式。CAN总线以其突出的实时性、可靠性和灵活性的特点,在目前存在的多种汽车网络通信标准中最具竞争实力。
MPC555中己经内嵌两个CAN总线控制器模块TouCAN,TouCAN符合CAN2.0B技术规范,兼容标准(11位标志符)和扩展(29位标志符)两种报文格式,所 以本设计采用集成控制器的方式来实现CAN节点。要进行CAN总线通信,还需要连接一个CAN收发器,在本系统中,选用 CAN控制器与物理总线之间的接口芯片PCA82C251。值得注意的是,总线两端需加120Ω的电阻,对于匹配总线阻扰,起着相当重要的作用。忽略掉它们,会使数据通信的抗干扰性及可靠性大大降低,甚至无法通信。通信介质选用双绞线。为了增强抗干扰能力,去除传送信号过程中所产生的噪音,采用TDK公司特别为CAN总线使用而设计的高电感共态滤波器ZJYS81R5。
OpenECU的软件系统设计
OpenECU的软件系统根据开放性的要求,对用户隐藏底层硬件和设备管理的细节,将系统分层封装为硬件抽象层和操作系统层,系统结构如图4所示。
图4 OpenECU软件系统结构
硬件抽象层管理平台的硬件资源包括三个主要的部分:硬件系统的设备驱动、硬中断管理和系统调试与诊断支持。它是系统的硬件中断的管理者,生成和维护中断向量表,提供操作系统中断管理的支持;通过对硬件设备资源的封装,为操作系统提供设备操作的入口;采用中断驱动的方式响应调试系统的服务,进行系统的状态监视。
OSEKIVDX为车用嵌入式操作系统及其相关服务提供了一系列标准,目的是促进不同设备之间的协调工作能力,为软件开发者提供统一的编程接口,以提高软件的复用性和互换性。OpenECU选择TH-OSEK操作系统作为管理软硬件资源的系统平台和用户控制算法的运行平台。主要是因为其实时性较强,具有规范的应用程序接口,为控制模型提供标准的系统服务,可方便模型的实现和移植。另外,为了适用于广泛的目标处理器,支持运行在广泛硬件基础上的实时程序,OSEK操作系统具备高度模块化和可灵活配置的特性。这些特点显然是与OpenECU开放式开发平台所希望达到的开放性相一致的。 OpenECU利用操作系统完成设备的进一步封装,为控制模型提供了规范的服务接口,并满足设备复用和控制实时性的要求,另外TH-OSEK操作系统定义了开放的网络管理和通信系统,可以方便的实现控制节点的动态配置。
对于系统的诊断和测试,本设计侧重于提供一个实现诊断和测试服务的平台和手段,而不关心具体的诊断和测试项目,这部分功能用户可以根据具体情况在系统支持下进行定义。OSEK ORTI实现系统诊断测试应用的基本服务支持,提供对OSEK操作系统进行查询和监控的接口,通过这个接口上层的诊断服务可以获取自己所关心的系统信息,并为诊断服务提供对目标操纵的基本手段。这部分是系统诊断和测试功能的实现基础,与诊断通信服务一起实现对目标的分布式调试与诊断。
结束语
初步的实际使用证明,本平台可以方便用户构建复合汽车控制系统,有效提高系统的可靠性,具有较高的实用价值。