发表于:2005-08-17 10:30:00
楼主
介绍了作为泛计算领域重要组成部分的汽车嵌入式系统由低端到高端的发展历程和各个阶段的主要特点,详细论述了嵌入式SoC系统应用于汽车电子方面的新理论、新方法和关键技术,并对汽车嵌入式SoC系统的发展趋势进行了展望。
嵌入式系统是泛计算领域的重要组成部分,是嵌入到对象宿主体系中完成某种特定功能的专用计算机系统[1]。嵌入式系统有体积小、低功耗、集成度高、子系统间能通信融合的优点。随着汽车技术的发展以及微处理器技术的不断进步,在汽车电子技术中得到了广泛应用。目前,从车身控制、底盘控制、发动机管理、主被动安全系统到车载娱乐、信息系统都离不开嵌入式技术的支持。
一、 汽车嵌入式系统发展历程
嵌入式系统诞生于微型机时代,经历了漫长的独立发展的单片机道路[2]。嵌入式系统的核心是嵌入式微处理器。与嵌入式微处理器的发展类似,汽车嵌入式系统也可以分为三个发展阶段:
第一阶段:SCM(Single Chip Microcomputer)系统。以4位和低档8位微处理器为核心,将CPU和外围电路集成到一个芯片上,配置了外部并行总线、串行通讯接口、SFR模块和布尔指令系统。硬件结构和功能相对单一、处理效率低、存储容量小、软件结构也比较简单,不需要嵌入操作系统。这种底层的汽车SCM系统主要用于任务相对简单、数据处理量小和实时性要求不高的控制场合,如雨刷、车灯系统、仪表盘以及电动门窗等。
第二阶段:MCU(Micro Controller Unit)系统。以高档的8位和16位处理器为核心,集成了较多外部接口功能单元,如A/D转换、PWM、PCA、Watchdog、高速I/O口等,配置了芯片间的串行总线;软件结构比较复杂,程序数据量有明显增加。第二代汽车嵌入式系统能够完成简单的实时任务,目前在汽车电控系统中得到了最广泛的应用,如ABS系统、智能安全气囊、主动悬架以及发动机管理系统等。
第三阶段:SoC(System of Chips)系统。以性能极高的32位甚至64位嵌入式处理器为核心,在对海量离散时间信号要求快速处理的场合使用DSP作为协处理器。为满足汽车系统不断扩展的嵌入式应用需求,不断提高处理速度,增加存储容量与集成度。在嵌入式操作系统的支持下具有实时多任务处理能力,同时与网络的耦合更为紧密[3]。汽车SoC系统是嵌入式技术在汽车电子上的高端应用,满足了现代汽车电控系统功能不断扩展、逻辑渐趋复杂、子系统间通信频率不断提高的要求,代表着汽车电子技术的发展趋势。汽车嵌入式SoC系统主要应用在混合动力总成、底盘综合控制、汽车定位导航、车辆状态记录与监控等领域。
二、汽车嵌入式SoC系统
(一)技术特点
汽车嵌入式SoC系统是嵌入式系统向实时多任务管理、网络耦合与通信的高端应用过渡的产物,大大提高了汽车电子系统的实时性、可靠性和智能化程度。除了具备普通嵌入式系统的共有特性之外,它还具有以下几个优点:
(1)对实时多任务处理有很强的支持能力,中断响应时间1~2μs;
(2)具有很强的存储区保护功能;
(3)在嵌入式实时操作系统的支持下能合理进行任务调度,充分利用系统资源;
(4)硬件结构和软件功能都有很强的扩展能力,系统集成度大大提高,降低了成本;
(5)超低功耗,汽车静态功耗为毫瓦级;
(6)系统硬件抗干扰能力增强,适应高温、潮湿、振动和电磁辐射等各种工作环境;
(7)实时操作系统支持软件多线程结构,增强了系统的软件抗干扰性;
(8)提供强大的网络通信功能,具备IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,支持相应的通信组网协议软件和物理层驱动软件,提供容错数据传输能力和更大通信带宽。
(二)系统结构
汽车嵌入式SoC系统由硬件和软件两大部分组成。硬件包括嵌入式处理器和外围设备,软件包括应用软件和操作系统。软件通过数据结构、算法和通讯协议实现汽车电子控制策略,硬件则为软件提供了运行平台,执行具体控制。
汽车嵌入式SoC硬件系统集成度越来越高,一般为模块化结构,如图1(a)所示。在高性能CPU核心外通过IP总线扩展实时时钟模块、SRAM(静态随机存储器)及大容量FLASH,配置CAN总线与USB通信模块,无缝集成PWM输出、多通道串口、A/D转换接口与统一的高速缓冲存储器,支持RISC技术、多级流水线技术与在片调试技术。系统的实时处理能力、可靠性和网络通信能力大大增强[4]。
现在,汽车电子系统从单一控制逐渐发展到多变量多任务协调控制,软件越来越庞大,越来越复杂,使得汽车嵌入式系统需要寻找新的软件解决方案。图1(b)描述了汽车嵌入式SoC系统软件的典型结构。它采用基于标准化接口和通讯协议的模块化软件设计,系统内部通讯由交互层直接完成,保障应用程序间的信息传送。网络层拥有数据流处理能力,是不同系统层面间信息交换的中间接口,能最大程度地整合系统资源。嵌入式实时操作系统摒弃了传统操作系统的前后台模式,使用总线驱动层和硬件抽象层管理I/O端口,合理分配CPU资源,采用基于优先级的事件管理策略,通过API(应用程序接口)调用应用程序,根据邮箱、消息队列和信号量机制综合管理中断、系统行为和任务。
图1汽车嵌入式SoC系统结构
(三)常用的SoC系统平台
为适应汽车电子系统的发展潮流,各国的半导体和软件制造商纷纷推出相应的嵌入式SoC产品。
著名的SoC硬件平台包括:Intel公司的StrongArm核心处理器,拥有32位RISC数据总线、512KB的FLASH、256KB的SRAM和16位THUMB指令集,支持在片调试、三级流水线技术和LCD控制;Motorola公司的Dragonball核心处理器,它是32位RISC处理器,拥有16.85MHz时钟频率和2.7MIPS的处理速度,无缝集成SRAM、EPROM、FLASH、LCD控制器和PWM输出,支持16位端口DRAM;NEC公司的VR核心处理器,它是64位RISC芯片,拥有300MHz时钟和603MIPS的处理速度,集成统一的L2高速缓冲存储器、DRAM控制器、PCI-X网桥和10/100MAC设备。著名的SoC软件平台即实时操作系统包括:QNX公司的QNX、Wind River公司的VxWorks和Integrated System公司的PSOSystem。它们都是实时、微核、基于优先级、消息传递、抢占式多任务、多用户分布式网络操作系统,拥有模块化结构,内核运行高速稳定,通信能力和扩展裁剪能力很强。
在上述平台中,StrongArm核心处理器和Dragonball核心处理器以及VxWorks操作系统在汽车SoC系统中有着良好的应用前景。
图2 ABS/ASR/ACC集成化系统结构
三、SoC系统的典型应用
汽车嵌入式SoC系统充分适应了汽车的工作环境和技术要求,在汽车电子技术上广泛应用。其中北京理工大学正在研究的汽车ABS/ASR/ACC集成化控制系统具有代表性。
ABS/ASR/ACC集成化系统是综合了制动防抱死功能(ABS)、驱动防滑功能(ASR)和自适应巡航功能(ACC)的汽车新型主动安全系统,系统结构如图2所示。其在硬件上充分利用各个子系统的现有元件,轮速传感器、发动机转速传感器、节气门位置传感器、加速踏板传感器和探测雷达组成传感器网络,共用控制器和执行元件。在软件上应用信息融合、集中控制技术,通过对制动力矩和发动机输出功率的综合调节实现汽车制动防抱死、驱动防滑和自适应巡航功能。控制过程充分考虑三个逻辑模块上的相互关系,实现信息融合共享,例如ABS与ASR的车轮滑动率计算可以统一,ACC探测雷达获取的车速信息可以用来修正ABS参考车速[5]。
系统选用32位SoC硬件平台如Dragon ball核心的MC68EZ328取代原来的16位ABS控制器,提高了硬件处理速度与抗干扰能力,端口资源也更丰富。车载雷达选用法国AutoCruise公司生产的AC10型77GHz毫米波车载雷达,雷达信号的处理采用DSP处理器,并通过CAN总线与ABS/ASR/ACC集成系统控制器进行通信。CAN总线传输具有数据差动收发、容错和非破坏性仲裁的能力,传输速率高达1 Mbps。采用CAN通信提高了控制系统的实时性[6],并为系统功能扩展和整车传感器信息共享提供了方便。CAN通信拓扑结构如图3所示。
汽车ABS/ASR/ACC系统软件集成化的难点是:在保证控制实时性的前提下如何进行中断管理和协调各项任务的优先级,因此在该系统中引入嵌入式实时操作系统十分必要。实时操作系统能合理分配软、硬件资源,实时进行多任务并行处理,为系统进行HAC(坡起辅助系统)与EBD(电子制动力分配系统)等功能扩展提供了条件,同时支持多线程的软件结构,增强了软件抗干扰性。操作系统选用VxWorks,任务调度采用基于优先级的抢占式策略。ABS/ASR/ACC集成系统中的任务优先级分配策略如表1所示。基于操作系统和任务优先级设定,具体的ABS、ASR和ACC控制功能由API调用应用程序实现。集成系统软件结构如图4所示。
中断任务 实时任务
任务代码 功能模块 优先级 任务代码 功能模块 优先级
_ABS ABS决策模块 1 _M_OBD 故障诊断监测模块 6
_ACC ACC决策模块 2 _D_Pro 数据处理模块 7
_ASR ASR决策模块 3 _Ref_v