在汽车电子的各个系统当中,往往需要采用车用MCU(车用微控制器)做为运作控制的核心,而汽车对电子系统的倚重,也刺激车用微控制器市场的快速成长。电子系统在汽车中的应用越来越复杂,车用MCU也发挥越来越重要的作用。
汽车作为一部大型的机电一体化设备,汽车电子在汽车整体成本中的比例越来越大。目前欧美发达国家汽车电子的平均成本达350美元以上,其涵盖了从车身控制、动力传动、车身安全,到车内娱乐的各个方面。
微控制器(MCU)作为汽车电子系统内部运算和处理的核心,也遍布悬挂、气囊、门控和音响等几十种次系统(Sub-System)中。由于汽车作为高速交通工具承载了对用户生命安全的保障,同时汽车经常工作在十分恶劣的环境中,其对内部电子设备的可靠性要求要远高于一般性电子产品。因此汽车电子所用的MCU与一般性产品的结构差异虽然并不很大,而一般的MCU产品由于可靠性不能符合厂商的要求而并不能被选用,这也是汽车电子产品同一般性电子产品市场的区别之一。
MCU在汽车电子中的原理
技术特性需求:
随着今日汽车对应用功能的要求愈来愈高,需整合的系统也愈来愈复杂,使得汽车电子系统对于高阶32位 MCU的需求不断提升。这类车用MCU往往被置放在高热、多尘、剧震、电子干扰严重的运作环境,因此对耐受性的要求远高于一般用途的MCU。此外,在汽车的应用环境中,车用MCU必须与多个车用电子控制装置(ECU)相连结,其中最常见的传输接口为CAN和LIN。
CAN和LIN是最常见的车身系统总线接口,因此汽车电子类MCU除了在可靠性和抵抗恶劣环境等方面有较高要求外,还要能实现对上述总线接口的支持。
CAN:CAN又分为高速CAN和低速CAN,高速CAN的传输率可以达到1 Mbps,适用于ABS、EMS等强调实时反应的应用;低速CAN则可达到125 Kbps,适合较低速的车体零件控制。此外,CAN控制器的型式可分为旧型的1.x、标准型的2.0A和延伸型的2.0B,愈新的规格效能自然愈好,其中 2.0B又可分为被动(passive)型式和主动(acTIve)型式。
LIN:LIN则是较CAN更为低速且低成本的通讯方案,采用一个主节点、多个从节点的概念(最多支持16个节点),可达 20 kbps数据传输率,总线电缆的长度最多可以扩展到40公尺。它很适合做为空调控制(Climate Control)、后照镜(Mirrors)、车门模块(Door Modules)、座椅(Seats)、智能性交换器(Smart Switches)、低成本传感器(Low-cost Sensors)等较单纯系统的分布式通讯解决方案。
CAN总线即控制器局域网 (Controller Area Net),是一种现场总线,最初由德国BOSCH公司为汽车监测和控制而设计,主要用于各种过程检测及控制。CAN总线分为高速CAN和低速CAN,前者主要用于动力和安全等关键性的应用,如发动机控制单元、自动变速器控制、ABS控制、安全气囊控制等;后者则通常针对一般性车身应用,如集控锁、行李箱锁、车窗,及车内灯光等。CAN总线的协议也在不断演进发展,从最早期的1.x版本已发展到目前的CAN2.0A及其扩展版CAN2.0B,其中CAN2.0B又分为主动(AcTIve)式和被动(Passive)式。
由于CAN总线协议的版本和分类不同,对车用MCU的要求也有差异。除了提到的协议版本,CAN总线控制器缓存和接收过滤器的数量也影响了MCU的选用。如图所示,ST的CAN控制器针对不同的应用场景,有pCAN、beCAN、bxCAN、FullCAN 和 cCAN五款不同类型。其中如beCAN、bxCAN两款适合中高端车身功能控制及低端网关;FullCAN适合引擎管理系统;cCAN则适合高端的网关和动力传动控制。
ST不同的CAN控制器的缓存及接收过滤器数量
LIN(Local Interconnect Network)总线是一种结构简单、配置灵活、成本低廉的新型低速串行总线,主要用作CAN等高速总线的辅助网络或子网络。在带宽要求不高、功能简单、实时性要求低的场合,如车身电器的控制等方面,使用LIN总线可有效的简化网络线束、降低成本、提高网络通讯效率和可靠性。如图所示,LIN主要适合于车内空调控制(Air-CondiTIoning Control)、车门控制模块(Door Modules)、座椅控制、智能性交换器(Smart Switches)、低成本传感器(Low-Cost Sensors)等分布式通讯应用。
LIN的应用领域
网关控制器
车内网关控制器(Gateway)的作用是车内电子系统中不同网络的通讯枢纽,使分布在车身内的各个单元可实现沟通。网关一般包括总线收发器、稳压器(Regulator),以及支持多种网络协议的低成本、高效能微控制器;并广泛支持低速及高速CAN、LIN、ISO-9141和J1850等车用电子通讯接口。网关控制器设计上比较灵活,一般厂家会依据自己的需求而定制。针对不同的应用,其可以集成在车身控制单元或仪表组件等设备当中,也可以作为一个独立的模块出现。
嵌入式闪存的作用
MCU嵌入式内存可为满足工控机系统的需求提供保障,稳定性可得到提升,也有助于实现更低的成本和增大工作处理的弹性。因此在MCU上提供嵌入式内存,甚至整合DSP的单元,已成为目前的设计趋势。
车用MCU嵌入式内存包含ROM、EEPROM、RAM和Flash,其中NOR Flash作为微控制器程序及数据储存的内存可使MCU具有更高的弹性,已逐渐成为目前设计的主流。由于嵌入内存而使MCU无需与外部组件进行高速串连,因此不易产生信号干扰的问题,降低了接线的复杂度,提高了稳定性。此外,嵌入式内存省去了外接元件,也可有效减少PCB尺寸,给产品设计更大的灵活性。在数据安全性方面,MCU嵌入式内存的数据保护机制可实现较高的可靠性,保证其中的数据免遭盗取。
DSP提升设计弹性
数字信号处理(DSP)技术是当今高科技数码产业的技术基础。从MP3随身听到航空航天等的高技术应用,DSP技术无所处不在并增长迅速。在汽车电子系统设计中,除在上文提到的在MCU嵌入内存外,为MCU加入DSP的MAC功能也可有效提升数据处理的弹性。DSP属于系统的软件功能范畴,因此可灵活地根据厂商或客户的需求进行功能改进和升级。此外,DSP与处理器(ARM、PowerPC等)相结合可实现多任务分工处理,例如可把关键的控制功能交由处理器完成,而让DSP专职进行运算方面的工作,这样可降低系统功耗并提高处理效率。
DSP一般用于处理大量的数字信号、编解码,及通信数据分析。在汽车电子系统中,例如车载辅助路况警示安全系统,DSP可用于处理和识别复杂的路况信息并及时为司机提供实时建议和警告。
具备MAC单元的16位MCU(以ST10为例)
16位车用MCU的应用场景
车用MCU的特点:
1、高处理性能
MCU要提升处理性能,必须从其核心及软、硬件系统架构下手以富士通新一代MCU的FR81S CPU核心为例,它的工作性能达到1.3MIPS/MHz,比上一代FR60核心高出30%的处理效能;因具有内置式单精度浮点运算单元(FPU),能够满足图像处理系统和那些需要浮点操作功能的系统(如制动器控制)要求。此外,透过硬件式的FPU支持,能够简化软件程序并提升运算性能。
2、大量网络节点处理能力
今日汽车中的CAN网络内存在着大量的内置式ECU,它们的规模随着节点数量的增加而不断扩大,因此车用MCU必须支持更多的讯息缓冲器(message buffer)。上一代的32位CAN微控制器能提供达32个内置式讯息缓冲器,但现在已显得不敷使用,以新一代富士通MCU来说,已能支持达64个内置式讯息缓冲器,而且支持CAN 2.0A/B规格及提供1Mbps的高传输率。
3、广泛接口支持能力
车用MCU连接的外围相当多样,而连接的接口可能是UART、频率同步串行、LIN-UART 和 I2C,因此必须具备弹性的接口连接能力。为了满足此需求,富士通将内置式多功能串行接口用作串行通信接口,并透过软件方式来切换上述各种接口,以灵活支持外部组件的通信规范,并提高系统设计的自由度。新系列MCU还提供LIN-UART 的6条通道,从而能够与更多控制单元进行通信;其中MB91725系列因具有定时器功能的多条信道和 A/D 转换器,更容易达成各种功能的整合。
选择汽车MCU需要考虑哪些因素?
在汽车应用中,微控制器(MCU)提供着至关重要的性能。随着价格的降低及整固的增加等原因,MCU也逐渐走向商品化。但是对于不同的MCU来说,仍存在很大的差异,因此如何选择合适的汽车MCU以降低成本而不影响所需的性能也变得尤为重要。
微控制器(MCU)在从电机控制,到信息娱乐系统和车身控制等越来越宽泛的汽车应用中提供至关重要的性能。随着价格的下降和整固的增加,微控制器正变得越来越普及,这意味着MCU被越来越多地视为商品。尽管存在这种商品化趋势,汽车系统设计工程师仍然认为不同的控制器会有很大的差异,包括各种级别的集成度和功率要求。选择MCU通常可以缩减材料成本(BOM),从而有效地降低电子控制单元(ECU)本身的价格。
选择汽车MCU时,设计工程师可以考虑以下重要因素,实现成本压力与应用所需的特定性能特色之间的平衡。
1. 低压检测
MCU工作时的故障风险之一是在临界点时电源电压或MCU内部电压可能降至所需电平以下。显然,如果工作电压无法保证,而超出了推荐电源电压之外的话,这就会引发故障。
传统系统采用外部电压监测IC来检查电压。不过,这个功能可以通过一个既监测MCU内部电压,又监测外部电源电压电平的内部区块整合到MCU中。如图1所示,当电压降至预设的阈值以下时,MCU会自动重置。阈值电平可以从一组预先设定值(7个)中进行选择。这种方法可以从BOM中去掉外部元器件,从而降低成本。
2. 看门狗计时器
要考虑的另一个重要功能是看门狗计时器(WDT),这种计时器有助于从“失控的微处理器”或“杂乱状况下的处理器”等故障情况中恢复。该模块一旦检测到MCU处于无响应状态就会重置MCU。过去,嵌入式系统采用外部IC来执行此功能,不过,可以在MCU中整合多个看门狗计时器。例如,一个计时器可以作为CPU操作系统时钟外部的独立时钟工作。此计时器将基于较慢的CR时钟,适合作为MCU的硬件看门狗使用,或者用于较长的软件循环从而防止出现失控状况。另一个计时器可以基于较快的外围时钟。理论上,当计时器可能由于某些错误状况而反馈过快时,看门狗计时器会支持窗口功能,此时也会重置MCU。
3. 专用NV存储器
与看门狗计时器一样,EEPROM历来都是MCU的外部器件。不过,也有可能通过采用专用ROM将这类存储装置变成内部器件。提高稳定性和采用纠错机制可以进一步增强内置EEPROM。
将EEPROM整合到内部的高级方法是采用具有双重操作功能的闪存。闪存存储库的一部分可以进行读取,而另一部分库则可以进行编程,通过单个闪存模块来实现EEPROM。另一种方法是实现两个闪存模块,不过这种方法的开销会比双重操作闪存的开销大。
4. 汽车接地
由于电子控制单元定位方式的原因,汽车环境中的电气连接确实很长。汽车系统包含许多ECU和汲取相对较大电流的其他装置。因此,除ECU本身产生的寄生噪声之外,电气接地电平往往不理想,可能会在一定范围内漂移。
根据这样的接地情况进行MCU设计会提高鲁棒性和故障安全等级。高级MCU往往是根据汽车情况针对标准化VIL进行设计的。由于“浮地”有助于防止出错,从而提高了ECU品质。
5. Vbat电平直接输入
汽车系统中的某些ECU可以处理电池电平电压周围的I/O信号。对于基于CMOS设计的半导体,I/O信号是VCC电平的最大值,一般在3V至5V范围内。因此,需要转换器器进行电压电平转换。某些情况下,可以实现电压保护,从而允许高压信号通过限流电阻直接相连。
6. 终端功能重定位
在对引脚数相当大的IC进行PCB布局时尽可能保持最小的层数往往很有挑战。PCB上的外围元器件无法总是根据MCU的引脚分布进行理想的定位。有时,如果MCU具有将其内部模块重定位至另外一组引脚的内置灵活性的话就会很有用。这可以通过软件设置来实现。这种能力可以提高PCB布局过程中的灵活性。
7. ADC辅助功能
模数转换器(ADC)一直以来都是嵌入式系统的一个基本功能块。ADC可将信号从模拟域转换至数字域,从而使得能够访问来自模拟域的信息。
可以根据具体的应用修改ADC功能块基于ADC功能块对MCU进行区分。这种增强可以区分整个MCU封装。比如,ADC模块可以在硬件中支持范围比较器和脉冲检测功能。这些功能对于仪表板中的步进电机控制等应用、电源监测和传感器应用非常有用。ADC可以处理来自步进电机线圈的输入信号,以执行零点检测(ZPD)。在硬件中完成处理任务时,CPU可以在其它地方使用其MIPS。
8. LIN硬件辅助功能
本地互连网络(LIN)是一种成本低廉的低速通信技术,该技术在车身应用中得到了广泛的应用。通过LIN总线可实现自动帧头的传输和检测、通信测试功能、变量中断长度生成、以及硬件中的校验和生成和验证等功能。因此,使用LIN总线有助于增强MCU性能。此方法用于其他地方时有助于节省CPU的MIPS。
9. ZPD增强
对于仪表板应用而言,ECU采用零点检测(ZPD)来确定指针何时到达终点以便停止步进电机。此功能要求步进电机控制器(SMC)读取和评估电机线圈中的电压信号(也称为“反电动势”),从而进行检测。增加硬件支持可以增强SMC,从而进行电压评估,这样,实现ZPD就无需任何外部元器件。此外,大多数反电动势评估也可以采用硬件机制来进行。(在这方面,上文中提到的ADC范围比较器和脉冲检测功能比较有用。)此外,此方法只需要最小的CPU使用率
10. 位置和转数计
以硬件区块的形式提供四位置和转数计(QPRC)功能十分有利。这样,用户就可以在音频和导航应用中实现飞梭(jog-dial)功能。此模块可以控制旋转程度和方向,确定旋转速度。从理论上讲,这可以通过在MCU中采用标准输入捕获单元来实现。不过,实现专门用于这些任务的专用硬件模块可使CPU节约资源,从而实现系统内更好的任务分配和简化的软件包。
车用MCU的应用:
车载MCU的市场主要集中在8、16和32位的微控器,可按汽车电子产品的不同需求用于不同性能的场景。
8位MCU由于处理能力的限制主要应用于风扇、空调、雨刷、车窗、集线盒、座椅控制、门控等比较简单的系统。16位MCU则属一般用于中端设备,主要应用场合为引擎控制动、离合器控制、底盘机构和悬挂、电子剎车、电子式动力方向盘,和电子式涡轮系统等动力和传动系统。32位MCU在汽车电子领域主要用于预碰撞(Pre-crash)模块、自适应巡航控制(ACC)、驾驶辅助系统、电子稳定程序等安全功能、复杂的X-by-wire等传动功能,以及多媒体信息系统(TelemaTIcs)、安全系统和引擎控制方面等需要较高智能性、运算性能、实时性能的模块。
目前,16位MCU的生存空间似乎受到8位和32位MCU的不断挤压。8位微控制器的处理器核心功率不断提升,随着嵌入式内存容量的增加,以及接脚数更具弹性,再加上成熟的技术促使成本进一步降低,让8位微控制器的适用市场空间变得更大,能向上涵盖一些16位MCU的应用,也能向下取代多数4位MCU。32位MCU在越来越强调智能性、实时性和多样化的今天十分具有市场潜力,除了处理复杂的运算及控制功能,32位MCU产品也将扮演车用电子系统中的主控处理中心角色,也就是将分散各处的中低阶电子控制单元(ECU)集中管理。而这些能力都不是16位MCU所具备的。
16位MCU似乎处境十分尴尬,但在加入更高容量内存及上文提到的具备DSP-MAC的条件下,16位产品仍然能满足特殊应用功能的需求。而且在组件的质量、性能,和成本上其已获得市场认可,仍然存在其适当的市场空间。另一方面,虽然32位MCU产品在一般市场上已被广泛应用,但目前一般出现在高端汽车产品中。而在大多数的传动及安全系统等关键性应用上仍以16位MCU为主。主要的原因是32位MCU大多仍处于汽车电子零件规格的验证阶段,之后还需要通过车厂本身的各种环境测试,所以成为市场主流还需要等待一段时间。
8位MCU:主要应用于车体的各个次系统,包括风扇控制、空调控制、雨刷、天窗、车窗升降、低阶仪表板、集线盒、座椅控制、门控模块等较低阶的控制功能。
16位MCU:主要应用为动力传动系统,如引擎控制、齿轮与离合器控制,和电子式涡轮系统等;也适合用于底盘机构上,如悬吊系统、电子式动力方向盘、扭力分散控制,和电子帮浦、电子刹车等。
32位MCU:主要应用包括仪表板控制、车身控制、多媒体信息系统(TelemaTIcs)、引擎控制,以及新兴的智能性和实时性的安全系统及动力系统,如预碰撞(Pre- crash)、自适应巡航控制(ACC)、驾驶辅助系统、电子稳定程序等安全功能,以及复杂的X-by-wire等传动功能。