采用149设计的最小系统,复位电压开始正常,芯片正常工作,一段时间后,复位电压逐渐下降,最后不再工作,断电后隔一段时间或者用烙铁烫烫管腿,再上电又恢复正常。一共焊接了2个样本,另外一个复位电压正常的时间较长,但是P4.7输出驱动LED,过段时间LED就不再亮了,测量发现驱动电压不够了。复位电路为阻容10k,0.1uF电容,后来又加二极管测试,问题依然存在。供电为1117输出的3.3V电压,采用内部晶振,电源处接0.1uF电容,P4.7接三极管驱动leD灯闪烁。
Yanru Li:
灰小子:
回复 Yanru Li:
楼主你好,1117输出的电压有没有变化?
Yanru Li:
回复 灰小子:
几块板子都这样,用电池还是1117也都是同样的现象
Jacky Xu:
回复 Yanru Li:
将MCU的FLASH全部擦除,上电前连接好示波器观察VCC和RESET引脚。看这两个电压是否有异常
如无异常电压和电流出现,重新将MCU烧入程序,重复同样的实验。
如果这次出现异常:第一,麻烦你把示波器截屏发上来。第二,烧录最简单的代码,进入main后直接关闭看门狗,然后while(1). 再观察什么情况。
Yanru Li:
回复 Jacky Xu:
按您的方法,重新焊接了一块板子,擦除一遍flash,然后烧写只有while(1){ }的程序,正常运行,一个多小时。然后烧写带LED驱动的程序,LED闪烁,正常运行1个小时左右外部晶振不再起作用,重新擦除烧写外部晶振依然不起作用,放弃,改用内部晶振,正常运行2个多小时,复位电压下降,如图所示。又进行擦除,不烧写程序的情况下通电,复位电压不稳,外部LED忽明忽暗,然后烧写只有while(1){ }的程序,复位电压正常,led一会闪一会儿亮,不稳定。LED为P5.4驱动三极管8050控制。之前做的板子,在刚焊好2,3个小时内都运行正常。电池供电,没发现电压波动情况。红色为复位电压,蓝色为电池电压
Yanru Li:
回复 Jacky Xu:
高人帮忙,这个要小批量制作了,公司催的急,咨询了几个用过149的工程师,都没遇到过这种情况。擦除和烧写程序都是用的仿真器,在IAR环境下。
Jacky Xu:
回复 Yanru Li:
你的复位电压和供电电压是不一样的?
Yanru Li:
回复 Jacky Xu:
板子到底什么毛病我也没查出来,重新做了板子就好了,复位端怎么都正常了。但是以前的板子做的也没找出有什么问题。
20pF的电容确实大了,现在用的是2pF,晶振正常。总之谢谢,给我提供了一些思路。
灰小子:
回复 Yanru Li:
也不能完全排除pcb的问题。有些低劣的pcb厂家做出来的可能有缺陷