摘要:本文介绍汽车控制器上常用的3种LIMPHOME电路设计方法,用于在单片机复位重启期间仍能保证外部输出正确性,确保行车安全。
在电子电气领域,单片机使用非常广泛,单片机的复位重启是设计时必须面对的一个问题,要求有些功能在单片机复位重启期间不能有任何异常,否则会影响到驾驶员的安全。比如行驶期间发动机不能突然熄火,夜晚行驶期间前照灯不能突然熄灭等。这些输出状态的保持,都需要有独立于单片机之外的电路来保证,即LIMPHOME电路。
常用的LIMPHOME电路有几类:一是用触发器锁存器等组成的门电路;二是用带有LIMPHOME功能的芯片;三是用串行通信锁存芯片。
1 门电路
图1是由RS触发器和或门组成的电路,其中RS触发器的S端和R端都由单片机控制。当需要输出高电平时,单片机控制S端为高电平,R端为低电平。反之当需要输出低电平时,单片机控制S端为低电平,R端为高电平。一旦单片机发生复位,所有IO口都恢复成默认状态,比如低电平,RS触发器的输出会自动保持之前的状态,从而达到档位锁存的目的,实现了LIMPHOME功能,如表左边所示。
不同单片机的复位特性有所不同,如果单片机复位时,IO口的初始状态为高电平,则需要选择特性相反的RS触发器,如表右边所示。
奔腾B90、X80、B70等车型无钥匙起动控制器的供电档位保持功能就是采用的这种电路,保证了车辆行驶期间供电的可靠性。
2 带有LIMPHOME功能的芯片
在汽车控制器领域,越来越多地使用SBC(系统基础芯片),比如NXP公司的UJA 1079,它除了集成电源转换、 CAN收发器、LIN收发器、看门狗等模块之外,还带有一路LIMP输出,见图2。平时UJA 1079通过SPI接口与单片机维持通信,LIMP管脚会输出高电平。在单片机复位重启期间,LIMP管脚会输出低电平。
这个低电平经过一个PNP管转换为高电平,再与单片机的输出管脚通过2个二极管所搭建的“或门”共同控制外部输出,只要有其中一个是高电平,则输出信号就有效,如图3所示。
通过解读电路可以发现,这种方式实现的LIMPHOME功能有一个缺点,即无论MCU在复位前输出的是什么状态,UJA 1079和或门都会使输出处于有效状态,这点在使用的时候需要注意。目前奔腾B90、X80、B70等车型车身控制器的近光灯控制就是采用的这种电路,在夜晚行车期间,保证了近光灯不会异常熄灭。
3 串行通信锁存芯片
如图4所示,采用串行通信锁存芯片也可以实现LIMPHOME功能,比如INFINEON公司的TLE7240系列芯片。单片机通过SPI串行接口向TLE7240芯片发送控制命令,然后TLE7240的8路输出就可以控制外部的继电器、负载等执行动作,同时TLE7240还可以通过SPI串行接口将内部的诊断信息传送给单片机。当单片机复位重启时,无法通过SPI通信控制TLE7240, TLE7240自然就锁存之前的状态,从而实现了LIMPHOME功能。
上述LIMPHOME电路需要配合单片机软件来共同使用,即当单片机控制某路输出状态发生变化时,软件需要将变化后的状态存储在EEPROM中。一旦单片机发生复位重启,软件需要首先执行一段初始化程序,在此期间由LIMPHOME电路来进行输出状态的保持,而初始化完成后,单片机应首先读取EEPROM中的状态量,并将其恢复到输出控制,从而完成软件对LIMPHOME电路的接管。奔腾B90、X80、B70等车型发动机控制单元的起动使能继电器的控制就是采用的这种电路。
4 总结
本文介绍了3种汽车控制器上常用的LIMPHOME电路设计方法,第1种需增加一个RS触发器芯片即可,对控制器无其他需求,方案灵活,成本最低;第2种需要控制器内具有SBC芯片;第3种需要采用串行通信锁存芯片,对于成本要求不高,且单片机IO口资源紧张的控制器适合采用此方案。
原文地址:https://www.cnblogs.com/isAndyWu/p/9577651.html