汽车设计已有相当长远的历史,从过去纯粹的机械系统演变至现今的汽车,其内部经常搭配数以百计的微处理控制器。在各国政府开始执行汽车性能的管制法律,以控制像是排气量与省油效率等汽车规格后,业界才开始注重汽车的电子控制功能。以往这些功能都是由独立的硬件组件或数字逻辑组件负责。像在微处理控制器(MCU)这类嵌入式处理器解决方案陆续问市后,MCU的优势才逐渐显现(就成本、弹性以及适应法规与标准的能力),促使业者用MCU取代固定功能的硬件组件,因为MCU在经过程控后就能执行模块所要求的特定工作。
汽车设计运用各式各样的MCU,包括从最简单的8位MCU,支持像是控制雨刷与车门的功能;一直到用来控制引擎的32位精密型MCU。中阶产品包括像16位MCU,具备不同的运算性能、内存容量、功耗以及外围组件功能。针对不同汽车子系统选择适合的处理器,并妥善将处理效能分散至各个子系统,这对于汽车产品的效能、可靠度以及功能而言扮演着相当重要的角色。
数字讯号控制器:最佳方案
大多数汽车控制与监控的作业都需要进行为数可观的数学运算。例如在引擎暖机期间,MCU会针对从空气流量(MAF)传感器与引擎每分转数(RPM)计数器所传来的数据进行取样,并根据所量到的数据计算出每个气缸需要注入的油量,其计算公式如下:F=MAF/(K×N×RPM/120)
其中K是特定冷却剂温度所需要(常数)的进气/燃油比值,而N代表气缸的数量。
上述运算不仅包含精准的乘法与除法,且注入燃油的数量亦须不断计算,以配合持续改变的引擎运转状态。因此,当排气含氧(EGO)传感器准备好量测排气的质量时,就必须持续监控EGO传感器传来的数据,以便调整燃油注入的速度,进而获得最佳的引擎效能,减少排气。
其他密集运算的实例包括:
- (1)使用有限脉冲响应(FIR)或无限脉冲响应(IIR)滤波器,针对来自各种传感器传来的数据去除其中的噪声,例如引擎敲击侦测、引擎熄火(misfire)侦测或降低燃油喷溅的效应,持续监控燃油量。
- (2)分析数据时进行的高速傅立叶变换(FFT)运算,在进一步处理的阶段中能使用频谱,例如像主动式震动控制或排气噪音消除等。
- (3)根据幅度对传感器输入数据进行缩放、正规化以及线性化的处理。
- (4)比例积分(PI)或比例积分微分(PID)控制算法,例如像导航控制所需的运算。
《图一 简化的引擎控制系统,这个系统是汽车中各种处理器执行作业的一部份》 |
|
包括座舱噪音消除、引擎敲击侦测以及晃动与稳定控制在内的舒适/侦测/安全功能需要更繁复的讯号处理作业,运用像是调适性过滤在内的密集运算算法。
这类运算会用到处理器执行大量的高速数学计算,可能是8位MCU或一般的16位MCU架构,成本的考虑让昂贵的32位MCU很难被业者采纳。针对重复性数学运算进行优化的16位数字信号处理器(DSP),适合用来执行这类密集运算的作业。
但传统DSP本身(没有相关的MCU处理控制作业)并不适合应用在像汽车系统这类动态环境,主要有四个原因:
- ●DSP没有弹性化的中断架构;
- ●DSP在位数据的处理上效率不是最高,例如像个别I/O针脚的状态;
- ●DSP相当依赖芯片外部内存与外围组件;
- ●DSP很少有低脚数的版本,因此不适合应用在空间有限的模块。
理想的单芯片架构平台能执行各式各样的汽车功能,DSC是一套创新的混合式系统单芯片(SoC)架构,紧密结合16位MCU的各种控制功能以及数量众多的DSP功能。
另一方面,DSC架构特别适合应用在各种典型控制作业,例如:
- ●定期启动的中断,例如像定期撷取车辆速度与方向盘角度的样本数据,为防死锁煞车系统(ABS)计算所需的煞车压力;
- ●计算多个感测与控制输入端的数据,例如像同时量测汽车速度、加速度、相对车体/轮胎动态与转向角度,为主动式气压悬吊控制系统计算出阻尼值;
- ●将数据与控制脉冲传送到制动器,例如像传送可变作业周期PWM讯号,在适当的周期内开启与关闭燃油喷注器或点火电路;
- ●与分布式系统中的其他控制器模块分享数据,例如像各种子系统定期传送状态数据到侦测模块或用户显示面板。
另一方面,DSC的CPU支持一套功能强大的DSP指令与弹性寻址模块,故能进行快速且精准的数据演算与逻辑运算。
DSC的重要功能
典型的DSC架构含有许多CPU与外围组件特性,让它适合应用在许多汽车系统。以下将介绍这些功能的最重要的优点,这些对于任何DSC架构而言都相当重要。
强化型CPU功能
16位DSC最强悍的功能可能就是完备的数学运算功能。真正的DSC内含两个40位累加器,能用来储存两次独立16-bit 乘 16bit的乘法运算结果。
大多数讯号处理算法以及许多通用型数学运算都涉及到「乘积加总」的计算。像是MAC(乘法与累加)在内的特殊指令,能将两个16位数据相乘;将结果累加;从RAM预先撷取一对数据,这些步骤都在一个指令周期内完成。在使用两个累加器时,系统能同时将数据写回其中一个累加器,并在另一个累加器上进行运算。
采用40位累加器取代32位版本,让数据能暂时呈现「溢满」状态(在累加器中对大量数值进行加总时经常出现这种状况)。此外,DSC的CPU能透过一种名为饱和的机制将数值维持在允许的范围,并在写入至RAM时对数据进行四舍五入或进位的运算。DSC(在MCU中通常没有这种组件)的另一种特性是能将数据解译成含有小数点的格式,而不是永远设定数据为整数型态,藉以协助小数数值的运算。
除了上述功能外,还有各种能迅速移动数据的数据寻址模式;支持循环缓冲区与位反转的寻址模式;零负载的循环,很明显可看出DSC提供一套功能完备但简单易用的CPU架构。DSC适合用来处理或分析传感器数据;执行各种制动器控制作业有关的运算以及监控汽车系统的效能。
弹性化的中断架构
DSC架构提供弹性极高的中断架构。DSC通常支持大量可选择且可设定优先权限的中断资源与向量(这对于含有众多传感器与制动启的应用而言相当有利)。中断的延迟都相当确定,鲜少会变化,有助于简化系统研发业者的工作流程。
运行时间的自我刻录(RTSP)
大多数汽车应用系统都需求储存一些常数,利用这些常数并根据环境状况、转换器之间的变化以及预先量测的偏移值,校正从传感器撷取到的数据。后置处理算法也会使用许多常数,例如像滤波器的系数与各种预定系统特性,例如像活塞尺吋、进气/燃油比以及误差门坎等。就数据存储器的使用效率而言,将这类常数储存在RAM是相当浪费的作法。DSC组件通常含有可刻录的闪存以及快闪型数据EEPROM内存,能可靠且有效率的储存或存取这类常数。在快闪型DSC中,用户的程序甚至能根据环境、数据或运转状况,在运行时间修改这些常数。在许多系统中,可以使用像是控制器局域网络(CAN)这类序列信道,协助系统运用Bootloader算法来修改某段程序代码或常数。
在线串行刻录(ICSP)
快闪型DSC让用户能运用一种名为在线串行刻录的技术,在现场升级产品的韧体。这项功能让某些控制器能重复应用在不同的汽车子系统以及不同的运转/环境条件,而且能修正软件错误或校正传感器,或是在最小的成本与最低的延迟下进行功能升级。
高分辨率模拟转数字转换器(ADC)
许多汽车子系统大量运用传感器,促使业者必须利用具备充裕速度与分辨率的芯片内部ADC来量测幅度相当微小且快速变化的流入数据。这对于封闭式回路的运作而言尤其重要,例如像量测进气歧管压力的样本,以分析点火火花的确切时间,藉以输出至最佳的扭力。对于许多汽车功能而言,分辨率低于12位的ADC已不敷需求,若非线性错误率高于1 Least Significant Bit(LSB),这种ADC也不适用。在某些子系统中,采样的速度是主要的考虑因素,尤其是像安全气囊控制这类攸关安全的功能。在其他方面,最重要的考虑因素可能是同时量测不同数据的能力。例如,主动式气压悬吊系统就需要同时撷取汽车速度、加速度、相对车体/轮胎动态与方向盘的转动角度等数据。根据模块所需的ADC功能,可视状况使用适合的DSC组件。
脉冲宽度调变(PWM)
汽车系统中使用许多阀门与制动器都是由可调整的作业周期脉冲所控制。两项PWM控制功能的常见实例包括燃油喷射阀门,会在脉冲期间开启,藉此控制注入气缸的燃油量;另一项则是点火火花产生器,在脉冲下降至低电压阶段就会产生火花。DSC能自动产生特定波长与极性的PWM讯号。像是动力方向盘、自动变速箱以及空调等子系统,都涉及到精密的马达控制算法。某些DSC结合完备的芯片内部外围组件来支持各种先进PWM算法。
相位差编码器接口(QEI)
精准迅速的量测速度与位置(包括车辆与内部各种机械组件),是以电子组件有效控制汽车运转的关键。例如像防撞系统就需要量测速度与加速度。相位差编码器(例如像Optical Encoders)经常是这类功能的理想传感器。有些DSC含有一个内部相位差编码器接口,能在最少的软件资源使用率下针对相位差编码器所产生的讯号快速译码。
控制器局域网络(CAN)
一部汽车中含有大量的处理器执行各式各样的功能,不同的子系统之间必须迅速且可靠的相互通讯,以便分享传感器与控制方面的信息。各模块之间的通讯除了进行系统层级的监控与侦测外,同时也让系统不必配置多个侦测器来量测相同的数据。例如在电池监控的功能中,MCU不仅要时常量测电池电压,亦须传送开启或关闭的控制讯号到其他模块,以达到优化的电池使用效率,让汽车顺利发动。在汽车网络方面,CAN总线标准在各种通讯标准中占有相当重要的地位。许多DSC内含一或多种芯片内建CAN控制器,吸引许多业者将它们应用在汽车的设计。更高阶通讯协议的软件支持(例如像遵循OSEK标准的实时操作系统以及CAN应用层的建置),针对在汽车网络中使用DSC的业者提供更多的功能。
一些典型应用
以下是数字讯号控制器在汽车方面的一些典型应用,虽然没有完整列出,但可以说明DSC所支持的多元化汽车功能。
- ●电子动力方向盘;
- ●电子离合器与变速箱控制;
- ●晃动与稳定控制;
- ●座舱噪音消除;
- ●先进电池监控系统;
- ●安全气囊控制;
- ●点火控制;
- ●乘客传感器;
- ●燃油压力传感器;
- ●空调控制;
- ●引擎敲击侦测;
- ●引擎熄火(misfire)侦测;
- ●调适性导航控制;
- ●燃料电池;
- ●车内娱乐;
- ●免持听筒套件;
- ●免钥匙生物辨识车锁;
结论
●免钥匙生物辨识车锁;汽车系统的需求日趋严苛,就功能、链接以及数学运算的需求而言,16位数字讯号控制器在许多汽车子系统方面已成为理想的处理器架构。愈来愈多创新且强大的功能,包括新型的汽电混合与燃料电池技术,迅速引进至汽车设计领域。这促使业者需要DSC的性能以及多元化的特性。包括像OSEK、CAN-based通讯协议堆栈、TCP/IP以及预先封装的DSP算法,将进一步提升这类架构在各种汽车应用中的适用性。
[2] D.A. Smolyansky, Time Domain Network Analysis:Getting S-parameters from TDR/T Measurements - Infiniband PlugFest, 2004> |
|
|
|