汽车级MCU" title="汽车级MCU">汽车级MCU市场总览
从2007年到2011年,消费者对汽车电子市场产品(包括 MCU、传感器及车身集成电路)的需求量不断上涨(图1),其中MCU所占的市场份额最大。但在巨大的市场机遇面前,汽车电子厂商也面临着挑战。随着消费者对于汽车舒适性、安全性、驾驶性要求的不断提高,汽车厂商在汽车电子产品性能改善、功能增加和整体成本降低等方面提出了更高的要求,使得IC供应厂商必须提高系统的集成度,以便减少整个系统的成本,简化设计流程。
MCU在汽车电子方面的主要应用涵盖五大领域,分别是:1、汽车动力系统控制,主要应用为发动机控制、方向转向以及动力转向;2、汽车控制系统,即车身的控制,主要包括防盗控制、开关控制、电动车窗控制、车门控制、车灯控制等;3、安全控制系统,包括安全气囊、ABS、SAFF等;4、行驶系统控制,包括仪表盘、空调、底盘控制等;5、汽车信息系统,包括娱乐、服务、移动通信、信息处理和GPS导航等。除了汽车动力系统控制和汽车信息系统控制这两项应用需要高性能的32位MCU外,其余三项都可以采用汽车级MCU。
图1 MCU、传感器和车身集成电路的市场需求
Silicon Labs公司的汽车级MCUC8051F5XX" title="C8051F5XX">C8051F5XX系列产品是能够为车身电子和点控装置提供高集成度、使用简单并具有高效费比的混合信号MCU系统。它主要应用于自动车窗、车门、自动座椅、反光镜、电动机、制动器等控制系统中。C8051F50X系列产品提供了小体积的CAN" title="CAN">CAN/LIN网络解决方案,在5mm×5mm的封装内集成了64K Flash、CAN 2.0B 和 LIN 2.0。同时,产品内部集成了误差只有±0.5%的高精度振荡器,不需要外部的晶体或振荡器就可以实现CPU的运行。C8051F5XX系列产品拥有较宽的工作温度范围(-40℃到+125℃ ),超过了汽车电子对于IC的运行环境温度的要求(-40℃到+120℃),可提供1.8至5.25V的宽电压范围,为客户在产品设计方面提供了很大的选择余地。
图2为F500的结构框图,从图中可以看到,在5mm×5mm的封装里面,集成了较为完整的数字和模拟外设。在数字外设方面,包括64K Flash、PWM产生器、定时器、I2C、SPI接口以及CAN 2.0B和LIN 2.0的控制器等。模拟外设包括12位的ADC、误差为±0.5%的高精度内部振荡器、温度传感器和比较器等,同时,既可以使用内部参考电压,也可以使用外部参考电压。
图2 F500的结构框图
LIN在汽车电子中的应用
在现代汽车电子中,LIN和CAN总线缺一不可。LIN总线又称本地互联网络(Local Interconnect Network),是一种异步、单线串行通信总线,也是汽车电子网络中常用的一种低成本解决方案。LIN总线包括一个主节点和多个从节点(图3),通过一根线来进行通信,结构非常简单。
图3 LIN总线结构示意图
LIN总线在汽车中的应用主要有四个方面:车门/车窗/车顶的控制、转向装置控制、座椅控制和汽车环境控制。
LIN 总线的特点是:单主从结构,每一个网络都包含一个主节点和多个从节点,由主节点来控制总线的访问;基于常用的USART/SCI接口硬件;从属控制器节点无需石英或者陶瓷振荡器就可以实现自同步,因而减少了从节点的硬件成本;信号传输延时得到保证,确保了在最差状况下信号传输的等待时间以避免总线访问冲突;低成本的单线12V数据传输,线的驱动和接收特性符合改进的ISO9141单线要求;传输速度可以达到20 kbps。
Silicon Labs公司C8051F50x/51x的LIN总线硬件接口与LIN2.0协议兼容,其高精度的内部振荡器使主控制器和从控制器不需要外接晶体就可以工作。在从模式下可以自动检测波特率,硬件结构带中断的错误检测功能和休眠功能,可以实现低功耗。
CAN在汽车电子中的应用
CAN (控制器局域网) 是一种异步、差分串行总线通信标准,通常用于连接电子控制单元(ECU)。在现代汽车电子中,由于LIN比CAN的成本低,因此CAN通常用来连接ECU 和汽车电子中各个功能模块之间的通信,而LIN主要用于功能模块和其下各个节点之间的通信,从而降低成本。CAN的原始协议是由罗伯特-博世有限公司创立的,之后被汽车工程师学会采纳为通用标准。
CAN在汽车电子中应用非常广泛,它不但可以应用于LIN应用的一些领域,如车门/车窗/车顶的控制、方向控制、座椅控制、环境控制等,还可以应用于更多的零界系统中,如传动系统、防抱死制动系统、转向装置控制、燃油喷射系统等。
图4 CAN总线的结构示意图
CAN总线具有以下特性:
灵活性——在一个CAN网络中的所有节点都能够接收和发送数据。
延迟保证——计算传输时间和响应时间是CAN网络设计的一部分。
数据一致性——在一个CAN网络中的所有节点都可以接收或拒绝一个报文。
强大的错误检测功能——通过位监控、循环冗余检查、位填充、报文格式检查等多种手段来确保数据的完整性。
故障界定——有故障的节点将会被切断以防止更深的网络被影响。
容错性——CAN收发器支持将其中的一个引脚短路或接地而不影响报文。
高吞吐量——达到1Mbps的数据传输速率。
Silicon Labs公司C8051F50x/51x系列产品的CAN接口硬件中,所有的CAN控制寄存器都可以直接存储;具有专用的CAN中断;内置高精度的振荡器,无需外部晶振;同时,使用官方的Bosch 模块,方便客户使用。
采用F500和F30的汽车电子解决方案
方案1——主窗口升降控制器
在图5中可以看到,该系统中有一个主节点,由F500 MCU做主控制器,同时包含3个从节点,使用性能更低一些的F30来实现。该方案所要实现的功能是,通过驾驶员侧窗控制器来控制所有的汽车窗户,同时在每个从节点上面都分布了一个防夹算法,在每个车门上都有一个阻力传感器和车窗的位置传感器,电动车窗的模块通过接收这两个传感器的信号来判断是否有物体阻碍了车窗的上升,如果判断结果是“有”,那么电动车窗控制模块就会反转驱动电机使车窗下降以防止夹伤。
图5 主窗口升降控制器
方案2——自动座椅的调整
该方案(图6)通过由F500做主节点、5个F30做从节点来实现,在每个从节点上都分布有判断功能、保护功能和智能算法,以实现各个模块的正常工作。
图6 自动座椅调整方案
问答选编
问:CAN和LIN总线有哪些相同和不同点?
答:LIN是CAN的一种低成本的辅助总线,CAN的速度可以达到1M而LIN只能达到20K。所以,CAN可以用于高速系统,LIN只能用于低速。而且一般在汽车电子中,CAN用于连接ECU和控制模块,而LIN则用来连接模块与功能节点之间的通讯。
问:请问LIN外设与UART0的主要差别在哪里?
答:LIN总线的串行传输是在单线上完成,UART0则是通过双线TX/RX进行通讯。
问:系统时钟切换到外部时钟后,内部的时钟是否应关闭?
答:主时钟需要关闭。
问:LIN总线的串行传输是在单线上完成,那么进行数据传输时效率如何?
答:全部由主控制器来决定,用户可以在程序中设定优先级。
问:能谈谈CAN总线与MIC总线性能对比吗?
答:MIC总线是一种时间分割多路传输总线,以双冗余串行通信的方式传输数据,比较适合尖峰脉冲干扰频繁的场合。CAN可以简单的理解为差分信号,对浪涌等共模干扰抑制能力很强。
问:LIN总线的从节点如何实现同步?
答:所有的节点都是由主节点来控制的,同步由F500的LIN控制器自动完成。
问:能介绍一下目前单片机的主要加密方式吗?
答:在MCU的Flash中有一个加密字节,这个字节的每一位对应一页的加密。没有加密时,这个字节默认是"FFH",当要对某页进行加密时,只需要将相应的位写:"0"。一旦写"0"后,相应的空间就不能通过一些工具从外部进行读写了。另外,利用MCU自己的FIRMWARE也可以对FLASH进行加密,而不影响对加密空间的访问。
问:用户最大的程序代码可以多大?
答:最大4K字节。
问:切换外部晶振时应注意哪些问题?
答:切换外部晶振时,需要注意的是:一要判断晶振的稳定状态,二要判断晶振之间的切换步骤。
问:系统时钟可不可以在程序中随时切换?
答:系统时钟可以在程序中实时切换。这种功能对低功耗设计很有帮助。当需要高速运行时,使用内部高速时钟;当需要低速运行时,切换到外部时钟,以节省功耗(外部时钟使用低速时钟)。
问:MCU在射频控制时,MCU的时钟(晶振)、数据线会辐射基频或基频的倍频,被低噪放LNA放大后进入混频,出现带内的Spur,无法滤除。请问有没有好的解决方法?
答:PCB设计的时候把数据线和射频线用地隔开,尽量放的远一些。另外,不要平行布线。
问:汽车点火对MCU有影响吗?如何消除这种影响?
答:汽车点火会产生比较大的干扰,会影响MCU的工作。要降低这种影响,需从硬件和软件方面进行处理。在硬件方面,在设计的时候要充分估计这种影响,并采取适当的方式降低这种影响;在软件方面,可以做一些抗干扰处理。C8051F MCU在片上集成两个保护功能:低电压侦测和系统时钟丢失侦测。当MCU的供电电压和系统时钟出现异常时,会强行让MCU处在复位状态,从而起到保护作用。强烈建议在使用C8051F MCU进行设计时,将这两个功能使能。