CMOS器件输入管脚不能悬空?硬件调试踩坑记录
前言
最近在调试一块板卡时,发现了一个奇怪的问题,一款反相器——CD4049出现异常发热现象。虽然板卡已经做过温箱老化试验了,即在60度恒温条件下最大功率运行24小时,运行还算正常。但是一次偶然的机会,使用热成像仪测量板卡上的发热点时,发现这颗CD4049芯片温度会达到60度,虽然也在工作温度范围,但是还是感觉不太正常。一顿操作猛如虎,抄起烙铁就是干,把芯片拆下来,只连接电源和地引脚,输入输出悬空,再测温度,还是60度。这是为何?
问题现象
CD4049仅仅连接电源和地管脚,或部分未使用到的输入管脚悬空,上电,会出现温度过高现象,但如果使用手指或者示波器探头碰一下某一个输入管脚,芯片的温度又会很快掉下来。
问题分析
实际上很多问题,都是没有仔细阅读DataSheet造成的,我们来看一下CD4049的Datasheet,由于这款芯片非常常用,所以各个半导体厂家都有这款产品,我使用的是TI公司的。CD4049是一片CMOS 6输入反向缓冲器芯片,单路电源供电,供电范围-0.5~20v,工作温度范围-55~125。
Datasheet下载:
https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/200823/CD4049.pdf
管脚定义,芯片内部有6个反相器,单电源供电,13和16脚没有连接。
内部原理图,可以看到是由两个MOS管构成的反向器,输入端的两个箝位二极管可以把过高的输入电压箝位二极管在CMOS的输入电压值,输入端还加了限流电阻:
典型应用电路,重点!可以看到,所有未使用到的输入管脚都直接连接到了地上,而我们实际应用电路中输入管脚是悬空状态,我好像已经找到了问题所在。
问题解决
根据官方典型应用电路,把其他未使用到的输入管脚飞线连接到地上,上电,再使用测温仪观察工作温度,一点也不热,问题解决!好了,不说了,又要重新打样!
知识拓展
从这次问题排查来看,其实就是两个原因造成的:
没有仔细阅读芯片的DataSheet
不知道CMOS器件输入管脚不能悬空的电路知识
查阅了一些资料,了解到以下几点知识:
CMOS器件是电压控制器件,输入阻抗很大,对干扰信号的捕捉能力很强,所以,不用的管脚不能悬空,要接上拉或下拉电阻,给它一个恒定的电平。悬空时输入阻抗高,易受外界噪声干扰,使电路产生误动作,而且也极易造成栅极感应静电而击穿。
在电路设计中,使CMOS器件的输入端悬空是一种不良的设计习惯,因为CMOS器件是电压控制,而未被连接的输入端有靠近CMOS门槛电压输入的趋势,使得芯片内部的三极管作不必要的开关动作,这既增加了噪声干扰,又耗费了系统的功率。
CMOS器件内部的2个二极管可以把电压钳位在CMOS器件输入电压值,这2个二极管是高速CMOS器件(74HC系列)静电保护措施的一部分。
CMOS器件输入电流非常小,一般是uA级别。
所以,在电路设计时,器件未使用到的管脚处于悬空状态是一种非常不当的做法。既然知道了CMOS器件输入管脚不能悬空,那么TTL器件呢?
TTL电路是电流控制器件,CMOS是电压控制器件。
TTL器件速度快、功耗大,CMOS器件速度慢、功耗低。
TTL门电路输入端悬空相当于输入高电平,可以看做是接了一个无穷大的电阻。
TTL电路有集电极开路OC门,MOS管也有和集电极对应的漏极开路的OD门,它的输出就叫做开漏输出。
总结
由于日常工作比较杂,偶尔也会和硬件工程师讨论硬件电路原理(chui chui niu bi),深知模拟电路的高深莫测。所谓只有0和1的数字器件,在某种意义上也可以认为是模拟器件的两个极端。所以对于我遇到的这个电路问题的分析和解决,可能没有代表性,但是如果你遇到了和我类似的问题,不妨试试这种方法吧!
投票
我在疫情期间做的基于STM32MP1和Qt的新冠肺炎疫情监控平台,这个小项目报名参加了意法半导体首届创客大赛——STM32创客秀,最近在投票阶段,如果有幸能入围决赛,ST官方会奖励开发板礼包,届时我会把开发板以抽奖的方式回馈给大家。
大家可以长按下面的二维码查看项目详情:
如果你觉得我做得不错,可以点3下文末的投票按钮,投我3票,或者直接跳转到文末点击 阅读原文 进入到投票页面,投票结果只是最终结果的一部分。当然,如果你觉得其他创客项目做的不错,也欢迎多多投票支持。
参考资料
https://moore.live/news/119045/detail/
http://huangbing775.blog.sohu.com/165789317.html