我们用PIC单片机去进行项目开拓时,最不想碰着的问题便是PIC单片机常常是碰着扰后硬件就会进入到去世锁状态,很多人以为是由于“CMOS的可控硅效应” 的缘故原由才导致了去世锁征象,常规操作都因此为“去世锁后硬件复位都是无效的,只有断电”。如果家里利用的电器常常收到滋扰, CPU 受滋扰因而‘硬件去世锁’,去世机在那儿,须要你去拔掉电源插头,隔几秒再插回去,你一天韶光光光呼唤家里那些电器就花费完了。我想你会把这些家电都扔掉,谁都忍受不了这种垃圾家电。
我们要去办理这个问题就要理解为什么会硬件去世锁,常日的情形下PIC单片机在受到某些滋扰后就会涌现硬件去世锁,那么PIC中‘看门狗’有何用,有没有人深入去磋商其缘故原由,在各单片机论坛的不雅观点也是各有不同,但是大部分人还是以为“CMOS的可控硅效应”而产生去世锁征象, 我个人的猜想不雅观点,有可能与 “CMOS的可控硅效应”无关,但太多的专业人士认为是“CMOS的可控硅效应”所引起的,带着我的猜想去探寻PIC ‘去世锁征象’的经由供应大家参考。
很多年前PIC16C5x刚出产一两年,(PICxxxx 原来只有165x,属于NMOS构造,大量用于通用-GI的选台器、有线电视解锁器,后来改为CMOS构造,更名为16C5x),当时只有 16C54、55、56、57 四个型号,仿真器只有顶尖公司制造的 16C5x DOS版仿真器(第一代),它也是 Microchip 第一个OEM仿真器厂。16C5x 当年为最省电的OTP、QTP 单片机,价格又比其它的单片机便宜,但是由于它受到滋扰随意马虎去世机,导致很多公司对他敬而远之。
我记得以前我们公司设计汽车防盗系统,当时市情上大多数的汽车防盗器都还用CD40xx的逻辑电路去实现的,每个时控须要配置一组RC电路,电路板上十几个芯片,最少都有7~8个VR,调度时非常繁芜,当时我就以一个16C55+一个ULN2003+一个解码IC (当时技能未成熟,还没用PIC程序解码,后期的已将解码IC省略),一共三个IC就办理,至于电路方面有些部分是参考书上的的电路移植过来,样品出来后,当时互助方就提出了很多疑问,电路居然如此大略,同韶光内有4、5个‘计时器’在计时,又要做那么多的I/O侦测事情,时控、 性能、稳定性全都打上了问号。总而言之, CPU所设计的电路,对付功能-绝对是比逻辑电路所设计的好太多了,时控的准确性-我为它担保所有的时控偏差在1%之内, 至于稳定性----当时的样品时常当机、去世机,CPU 发烫,那就有些抠脚了。
我当时也是非常想解决死锁这个问题,可以说是找遍能找资料,但是还是没有什么收成,在PIC的书上都没有看到类似讯息,只好自己多去实验看看能不能总结一下,我花了几天的韶光,仿照了各种状况,做了各式各样的实验,制造各种滋扰,用示波器丈量各点所发生的非常波形。
个中一个大略的实验,(/MCLR 的接脚上,接一个提升电阻至 V+,接一个 0.1uf至地,接一个按键开关至地),让我得到一个我所须要的答案,实验时我多次的按按键开关,该当只是重置而已,但很随意马虎进入所谓的‘硬件去世锁’,连续测试,都会重覆发生,机率非常高,末了得到一个答案,PIC晶片的MCLR硬件设计有问题,与其他I/O脚无关联,不是 I/O 脚受滋扰, 而是/MCLR 在重置或受滋扰时,/MCLR 脚会产生一个振荡旗子暗记,当/MCLR 脚的外部接有电容时,它就永在发振,而PIC晶片内部某种硬件缘故原由,导致于VDD与VSS之间产生很大的电流,以是VDD与VSS像短路一样,CPU因而发烫,当把电容移开后, CPU就重新事情,耗电流也就规复正常了。
本期先分享到这里,想要学习单片机编程的同学可以持续关注小火,回答“小火”,与我们一起发展,喜好的可以点个赞关注我们!