支援汽车设计的数位讯号控制器
扫描二维码
随时随地手机看文章
多数汽车控制与监控的作业都需要进行为数可观的数学运算。理想的单晶片架构平台能执行各式各样的汽车功能,DSC是一套创新的混合式系统单晶片(SoC)架构,结合16位元MCU的各种控制功能以及众多的DSP功能。
汽车设计已有相当长远的歷史,从过去纯粹的机械系统演变至现今的汽车,其内部经常搭配数以百计的微处理控制器。在各国政府开始执行汽车性能的管制法律,以控制像是排气量与省油效率等汽车规格后,业界才开始注重汽车的电子控制功能。以往这些功能都是由独立的硬体元件或数位逻辑元件负责。像在微处理控制器(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的业者提供更多的功能。
图二 显示由CAN匯流排串连的汽车系统元件
一些典型应用
以下是数位讯号控制器在汽车方面的一些典型应用,虽然没有完整列出,但可以说明DSC所支援的多元化汽车功能。
●电子动力方向盘;
●电子离合器与变速箱控制;
●晃动与稳定控制;
●座舱噪音消除;
●先进电池监控系统;
●安全气囊控制;
●点火控制;
●乘客感测器;
●燃油压力感测器;
●空调控制;
●引擎敲击侦测;
●引擎熄火(misfire)侦测;
●调适性导航控制;
●燃料电池;
●车内娱乐;
●免持听筒套件;
●免钥匙生物辨识车锁;
结论
汽车系统的需求日趋严苛,就功能、连结以及数学运算的需求而言,16位元数位讯号控制器在许多汽车子系统方面已成为理想的处理器架构。愈来愈多创新且强大的功能,包括新型的汽电混合与燃料电池技术,迅速引进至汽车设计领域。这促使业者需要DSC的性能以及多元化的特性。包括像OSEK、CAN-based通讯协定堆叠、TCP/IP以及预先封装的DSP演算法,将进一步提昇这类架构在各种汽车应用中的适用性。