Active High 是开关本身接电源线,从开关电流流入模块。一般来说Active High 用在钥匙插入,点火,启动等等重要的信号上面,开关本身就近接地,做线束时非常方便。但是不能用的太多,如果有太多的Active High 信号,如果引起短路到地,这是非常危险的。相对来说 Acitve Low要来的安全一些。对于模块来说,检测电路可以大致结构为一分压器,因为实际开关非常多,所以不可能在每个MCU检测口上安稳压管,随着SPI接口电路的兴起,越来越多的采用接口芯片来取代开关检测的功能,检测结束后通过SPI传输给单片机。以下为两种电路:
对于检测电路本身我们需要考虑两个问题:
第一个是MCU接收电平(Voltage Compbility),基本的要求是,低信号和高信号要能被单片机完全的区分出来,在电源波动的时候,考虑基本的9~16V变化的过程中,能够保证电路能正确识别。一般的单片机的识别如图:
高电平的最小电压一定要高于单片机识别高电平的最小电压,低电平的最高电压一定要小于单片机识别低电平的最高电压。
第二个是湿电流(Wet Current),是指能够通过维持一定的小电流清理开关触头表面的尘垢和腐蚀以保持触头状态良好的最小电流值称为润电流(对金属表面的氧化起阻止作用)。为了能够让开关能够在很长时间内正常工作,一定要注意保证这个电流,否则容易让开关接触不良。
一般我们设计的通常采用1~10mA.这是由功耗决定的,太大引起模块工作电流过大,太小起不了作用。因此这里需要验证这个重要的参量 。
注意几个问题:
1.开关的导通电阻和断开电阻是需要控制的,国内的开关普遍在使用过程中会出现导通电阻越来越大的情况,这对于电路来说是非常致命的,而且国内这方面几乎没有质量控制的观念,只能在设计的中尽力去规定这个范围,设计是有边界的,导通电阻越大要达到相同的电流上拉或者下拉电阻要越小,这对于短路实验(ISO1675中电器部分)来说是致命的。
2.单片机是有Clamp电路保护的,这个电路用于保护IO口过压或者负压时,能够不轻易损坏。但是对于常态的过压或者负压,clamp电路是会发热损坏的,仔细阅读单片机的要求,或者自己估算二极管的功耗。这都需要注意环境温度,测试如果在常温下进行,需要降额计算。这同时对Rvd1和Rvd2的取值有了一定的限制。
3.电路短接,因为国外拆车很容易,很多人都会DIY自己装自己买配件自己修,因此每个模块设计都要考虑防止短路,因此短路时上拉电阻和下拉电阻功耗就非常重要了。极端情况下,在美国沙漠里面开车,车坏了,下去换个模块,气温45度,车身里面超过60度的时候,短路不能稍微,考虑一下以下电阻散热曲线,需要详细计算电阻的发热情况。
说了这么多开始计算过程,我还是倾向于用节点电压法用矩阵运算,不过都可以选择,哪个容易用哪个。
这里不考虑开关导通电阻,不考虑电缆对地和对电源的漏电。
电阻的热分析如下:
结语:硬件设计永远不是单独存在的,只有用户需求通过分析,给系统工程师设计成实际策略,然后分为硬件解决方案和软件解决方案,加入实际的一些经验才存在硬件设计的经验。最后,做硬件设计的目的,是让设计出来的产品能够更好的适应使用环境,适应用户的需求才是最重要的。技术的更替说到底还是用户的需求在前进在变化。