摘要:本文介绍汽车控制器上常用的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口资源紧张的控制器适合采用此方案。

汽车控制器LIMPHOME电路设计的更多相关文章

  1. CAN总线简介:如何以编程方式控制汽车

    最近,我正与Voyage公司的朋友合作研究,以实现福特Fusion空调系统(A/C)的编程控制.目前,Voyage公司正努力打造自动驾驶的终极目标:能够以低廉的价格成本和广泛的投放范围,把世界任何地方 ...

  2. 【2018.05.11 智能驾驶/汽车电子】非技术向:关于Simulink和AutoSar的几种观点

    最近看到几篇关于Simulink及AutoSar的Blog和Paper,感觉比较有意思,转载备忘之. 1. 看衰Simulink及AutoSar From:Tumiz的技术天地 https://blo ...

  3. 浅谈 SSD,eMMC,UFS(转自知乎)

    但作为一个计算机体系结构的研究生,在这些名词满天飞的时候,我的好奇心是抑制不住的,想一探这几样技术的究竟.本文不对某一特定事件进行点评,仅从技术角度分析对比一下这三种技术.就算是当做自己的技术储备+科 ...

  4. MVC模式的介绍(C#)

    MVC模式的介绍(C#)   Benefits在开发项目中使用“模型-视图-控制器(MVC)”模式的好处在于可以完全消除商业流程和应用表达层之间的相互影响.此外,还可以获得一个完全独立的对象来控制表达 ...

  5. 第四代自动泊车从APA到AVP技术

    第四代自动泊车从APA到AVP技术 前言 自动泊车是指汽车自动泊车入位不需要人工控制,系统能够自动帮你将车辆停入车位,在倒车入库中可谓是驾驶者的一项利器.当我们找到一个理想的停车地点,只需轻轻启动按钮 ...

  6. 微型计算机系统实验总结(学习性实验:IO地址译码,可编程并行接口8255,交通灯控制实验 + 自主设计实验:汽车信号灯控制系统,电风扇控制器,洗衣机控制系统,霓虹灯,电梯控制系统)

    实验配套软件: https://download.csdn.net/download/qq_39932172/11221584 实验指导用书: 教师版: https://download.csdn.n ...

  7. [硬件项目] 1、汽车倒车雷达设计——基于API8108A芯片简易智能语音模块的设计与实现

    前言 汽车倒车防碰撞系统是一种辅助汽车泊车装置.低配的由超声波收发电路.回波放大电路.语音提示电路.数码显示.报警及温度补偿电路组成,高配的有时会带有后视视频系统.[1]      一.工作原理 如下 ...

  8. 【转】汽车CAN总线

    概述 CAN(Controller Area Network)总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线,它起初用于实现汽车内ECU之间可靠的通信,后因其简单实用可靠等特点,而 ...

  9. 汽车ABS系统-第一周作业

    ABS系统也成防抱死系统(Anti-lock Braking System),由罗伯特·博世有限公司所开发的一种在摩托车和汽车中使用,它会根据各车轮角速度信号,计算得到车速.车轮角减速度.车轮滑移率: ...

随机推荐

  1. Linux (Redhat / Fedora / CentOS) 更改 hostname 的方式

    Linux (Redhat / Fedora / CentOS) 更改 hostname 的方式 [蔡宗融個人網站]https://www.ichiayi.com/wiki/tech/linux_ho ...

  2. Mysql占用CPU过高如何优化?(转)

    原文:http://bbs.landingbj.com/t-0-241441-1.html MySQL处在高负载环境下,磁盘IO读写过多,肯定会占用很多资源,必然CP会U占用过高. 占用CPU过高,可 ...

  3. 六、es6 map

    一.map的特点 JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键.这给它的使用带来了很大的限制. 为了解决这个问题,ES6 提供了 ...

  4. Day3-2 函数之递归

    递归 定义:一个函数在 内部调用自己,就称为递归. # 如何让10不停的除以2,直到不能除为止. n = 10 while True: n = int(n /2) print(n) if n == 0 ...

  5. pring @Configuration 和 @Component 区别

    一句话概括就是 @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例. 从定义来看, @Configuration 注解本质上还是 @Com ...

  6. hive聚合函数和表生成函数

    explode生成单独的一行

  7. django学习自修第一天【简介】

    1. MVC框架 MVC框架的核心思想是解耦,降低各功能之间的耦合性,方便重构代码 (1)低耦合,高内聚 (2)高可扩展性 (3)向后兼容 2. MVT框架 V(视图):核心处理,接受请求,调用模型获 ...

  8. 开发中遇到的css兼容问题

    1. overflow: scroll(平台兼容) 在Mac中的Chrome浏览器中,内容不超过容器时不会出现滚动条: 在Wins中的Chorme浏览器中,内容不超过容器时也会出现滚动条. 解决方法: ...

  9. vue起步和模板語法

    vue構造器里有哪些內容: var a=new Vue({}) 模板語法: 文本插值: html: html的屬性里的值應該使用v-bind: 表達式: 指令; 參數:v-bind,v-on 雙向用戶 ...

  10. LODOP设置判断后执行哪个

    LODOP的语句是普通的语句,可以通过JS判断确定要执行哪个,或通过循环循环执行一些语句.如果需要执行某些打印项在哪些条件下不打印,不需要通过代码删除打印项,类似LODOP.SET_PRINT_STY ...