amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 4429|回复: 64

单片机损坏的问题,头疼死我了,大家一起帮我分析下吧

  [复制链接]
发表于 2015-2-5 10:28:47 来自手机 | 显示全部楼层 |阅读模式
我做了一些有源音箱板子,用的是STC12C5412Ad的单片机,但是单片机很多爱损坏,损坏方式多种多样,但都不是过压击穿坏的,我单片机只驱动一个继电器而且经过光耦隔离的,我用示波器看过电源,上电断电时候都没有过冲。所以怀疑是程序的问题,因为要自动关机所以单片机需要一秒钟检测6次AD,并且因为要使用红外遥控需要每100us进一次中断,每次掉电时候要存入EEPROM两个字节的数据。我怀疑是因为进中断太频繁或者是读取AD太频繁把单片机弄坏了,因为我还有一个版本是不带自动关机功能的用的是需要并行编程器的89C2051这个就从来没有出过毛病。
发表于 2015-2-5 10:31:02 | 显示全部楼层
掉电了还怎么写EEPROM?强行写么?电压不够的时候操作了端口的原因“?
发表于 2015-2-5 10:44:48 | 显示全部楼层
没听说“进中断太频繁或者是读取AD太频繁”会把单片机弄坏的!

楼主也大概说说,单片机的损坏后都什么表现?—— 重烧程序是否能回复?
发表于 2015-2-5 10:57:27 | 显示全部楼层
楼主,测试一下是不是单片机复位太频繁
发表于 2015-2-5 11:04:00 | 显示全部楼层
ln08136207 发表于 2015-2-5 10:57
楼主,测试一下是不是单片机复位太频繁

不要乱出主意,也没听说“单片机复位频繁会导致损坏”!
发表于 2015-2-5 11:04:18 | 显示全部楼层
没听说“进中断太频繁或者是读取AD太频繁”会把单片机弄坏的!
============================================
拆下来的单片机还能烧写程序吗?换到别的板子能用吗?
发表于 2015-2-5 11:08:38 | 显示全部楼层
EMC菜鸟 发表于 2015-2-5 11:04
不要乱出主意,也没听说“单片机复位频繁会导致损坏”!

呵呵,写EEPROM时,单片机频繁复位,我遇到过会把里面的程序搞乱掉,我只说我遇到过的,至于是不是乱出主意,恐怕不一定吧?
 楼主| 发表于 2015-2-5 11:13:42 来自手机 | 显示全部楼层
dzymushi 发表于 2015-2-5 10:31
掉电了还怎么写EEPROM?强行写么?电压不够的时候操作了端口的原因“?

有个2200uf的电容足够写进去的
 楼主| 发表于 2015-2-5 11:14:48 来自手机 | 显示全部楼层
EMC菜鸟 发表于 2015-2-5 10:44
没听说“进中断太频繁或者是读取AD太频繁”会把单片机弄坏的!

楼主也大概说说,单片机的损坏后都什么表现 ...

时钟不工作,有的可以重烧程序
发表于 2015-2-5 11:16:11 | 显示全部楼层
本帖最后由 cc2666 于 2015-2-5 11:19 编辑

把低压检测电压抬高点试试看

------------------------------------------------------
编辑原因:
5412ad没有低电压检测功能,不用试了
发表于 2015-2-5 11:17:58 | 显示全部楼层
多半都是静电,或者感性元件的冲击,过压,,之类的,,

什么复位,中断,损坏单片机应该是不可能的,,
发表于 2015-2-5 11:21:19 | 显示全部楼层
你的ad接口有没有什么保护措施,ad超压了弄坏了吧,中断或者读AD太频繁能弄坏cpu那stc死了算了
发表于 2015-2-5 11:29:53 | 显示全部楼层
eeprom是有寿命的
发表于 2015-2-5 11:38:26 | 显示全部楼层
单片机频繁复位过多,程序可能会飞掉。程序内容会修改的
发表于 2015-2-5 11:46:47 | 显示全部楼层
操作再频繁我觉得也不回搞坏,顶多就是运行异常
那个用光耦隔离是真正的隔离吗
发表于 2015-2-5 12:17:10 来自手机 | 显示全部楼层
是不是灌电流损坏的
发表于 2015-2-5 12:33:12 | 显示全部楼层
可能是在低压时强行写EEPROM造成的,先把写EEPROM这段程序屏蔽,再看是否还坏。再一个就是AD口是否会过压。
发表于 2015-2-5 12:40:48 来自手机 | 显示全部楼层
AD电压过冲烧坏了
发表于 2015-2-5 12:41:09 | 显示全部楼层
推测应该是掉电这一块的原因......

EEPROM什么时候写入?在那个每秒6次的AD检测的时候?如果是这样的话,估计写EEPROM的时间不够的......

我用AVR,检测到掉电后关掉其它外设开始写EEPROM,用的大电容,一般最多写到8个8位数据,再多了就不保险了......
 楼主| 发表于 2015-2-5 14:50:33 来自手机 | 显示全部楼层
jiaowoxiaolu 发表于 2015-2-5 11:21
你的ad接口有没有什么保护措施,ad超压了弄坏了吧,中断或者读AD太频繁能弄坏cpu那stc死了算了 ...

我的AD输入口用了个5V稳压管钳位保护的
发表于 2015-2-5 14:59:11 | 显示全部楼层
不明觉厉.
不过好像STC写EEPROM时不能开中断.
写EEPROM要先做页擦除.
所以我觉得STC的MCU不应该叫带EEPROM,应该叫DATA FLASH.
发表于 2015-2-5 15:11:23 | 显示全部楼层
继电器吸合断开会有高频群脉冲,所以电源上的滤波要做好。
你如果不驱动继电器,还会有问题吗?
发表于 2015-2-5 15:26:57 | 显示全部楼层
驱动继电器经过光耦隔离就不会过压击穿?我读书少。
发表于 2015-2-5 19:31:51 来自手机 | 显示全部楼层
掉电时写data flash易冲掉程序
发表于 2015-2-5 19:53:12 | 显示全部楼层
操作eeprom容易出问题,另外是不是楼主的电路有问题,发个截图让大家看看。
发表于 2015-2-5 20:14:58 | 显示全部楼层
mkliop 发表于 2015-2-5 14:50
我的AD输入口用了个5V稳压管钳位保护的

对地一个5V稳压管,还不如上拉一个二极管管用。
发表于 2015-2-5 23:16:52 | 显示全部楼层
天气比较干燥,要考虑静电
发表于 2015-2-6 01:35:57 | 显示全部楼层
想想我才发现,我居然从来没弄坏过单片机。
发表于 2015-2-6 06:29:56 | 显示全部楼层
查看下各个引脚的波形?
发表于 2015-2-6 08:13:41 | 显示全部楼层
看了前面那么多个缘由,苦逼的排除法吧。。。
发表于 2015-2-6 08:29:23 | 显示全部楼层
用STC15F的片子驱动24V的继电器,什么隔离都没加,运行了3个月了,也没出问题。估计是掉电操作EEPROM的问题
发表于 2015-2-6 08:30:02 | 显示全部楼层
mkliop 发表于 2015-2-5 14:50
我的AD输入口用了个5V稳压管钳位保护的

前两天 刚咨询过STC技术支持, 大概的意思是,操作EEPROM的时候掉电导致的(我现在还是没想明白这里面的原因)。 我也有这种现象发生概率大概在10/1W 程序重新烧录又能正常使用
发表于 2015-2-6 09:46:52 | 显示全部楼层
保持继电器功能的代码  把其他你怀疑的代码屏蔽掉 再看看损坏概率
发表于 2015-2-6 09:57:01 | 显示全部楼层
继电器上并联个二极管
发表于 2015-2-6 10:18:22 | 显示全部楼层
ln08136207 发表于 2015-2-5 11:08
呵呵,写EEPROM时,单片机频繁复位,我遇到过会把里面的程序搞乱掉,我只说我遇到过的,至于是不是乱出主 ...

把程序搞乱是单片机损坏?
发表于 2015-2-6 10:31:09 | 显示全部楼层
stc的eeprom好像是用flash模拟的,自己外接一个eeprom试试
发表于 2015-2-6 10:41:14 | 显示全部楼层
应该是写EEPROM造成的。如果EEPROM是flash模拟,那寿命一般也就10万次以内。
发表于 2015-2-6 10:51:42 | 显示全部楼层
先查血,看电源
 楼主| 发表于 2015-2-6 11:57:29 来自手机 | 显示全部楼层
继电器的电源是接在12V输入电源上的,继电器由uln2003驱动,另外我的单片机是外挂的24c02存储器掉电检测是用光耦实现的,我现在还怀疑音箱里面的吸音棉是不是会产生静电损坏单片机
发表于 2015-2-6 12:31:27 来自手机 | 显示全部楼层
本帖最后由 xpxp 于 2015-2-6 12:36 编辑

到底是物理损坏还是程序/ISP引导被冲掉,都没搞清楚,分析来分析去有什么用。有些电路设计没注意IO口的参数限制,没有采取保护措施。例如,IO口直接外接电容或MOS管。
 楼主| 发表于 2015-2-6 12:59:52 来自手机 | 显示全部楼层
xpxp 发表于 2015-2-6 12:31
到底是物理损坏还是程序/ISP引导被冲掉,都没搞清楚,分析来分析去有什么用。有些电路设计没注意IO口的参数 ...

就是物理损坏!损坏后芯片晶振不工作,下载不进去程序
发表于 2015-2-6 13:05:00 | 显示全部楼层
检查电路设计,特别是IO口,是否存在IO直接短路的可能,剩下的就是电源了
发表于 2015-2-6 13:36:18 | 显示全部楼层
上图纸看看吧,上面有人问了是不是真的隔离了
发表于 2015-2-6 14:11:53 | 显示全部楼层
根据我以前在IC公司找BUG 和 FAE的经验
芯片不工作了,肯定是内部的管子烧了。静电是有可能的,但是应该会有一大堆个别IO失效的出现,伴随一两个彻底烧的。如果多数都是烧的,肯定是整体电路的问题。
具体原因要考虑IC结构,这种情况基本可能导致那些关键部位的管子过流了,然后就烧了。

我没用过STC12C5412Ad,你有说明书的内部结构框图,可以贴上来,看看内部哪里的模块最有可能烧了,看看怎么避免。

我初步认为有两个原因:
一,AD的时候引入的电流太大,要看IO的保护是怎么设计的,还有你的保护是怎么设计的?
二,掉电烧写,缺电压,导致电流增大。你是用IO模拟烧写的,还是内部模块烧写的?        

对于一就是 把这个AD前端的光耦 拿掉 等效一下不影响正常工作  其他一样 看看能不能复现问题
对于二就是 把24c02先拿掉 等效一下不影响正常工作  看看能不能复现问题
这种随机出现的问题,基本只能大量实验,逼近了找到100%复现的情况才能解决的。               
发表于 2015-2-7 16:06:51 | 显示全部楼层
也碰到过STC单片机的问题,用在产品上半年后出问题。没找到原因。
具体问题是:芯片STC15F1K16S2,有些参数是放在内部EEPROM中,用了两个扇区,开机读出来设置,操作有改动参数的话再存回去。用半年后发现机器出问题了,检查是EEPROM读不出了。
重新用stcisp下载程序和eeprom参数,程序代码可以下载,eeprom读不出来。
试着写第3个扇区,还是不能读出,但是可以用movc方式读,第一、二扇区不能用movc方式读。
发表于 2015-2-7 16:49:26 | 显示全部楼层
我觉得原因有两个
1.在掉电的时候,把数据写入STC的EEPROM中时,影响了程序区域,造成程序错误,STC的所谓EEPROM其实就是FLASH,和程序区共用的一块FLASH,在特殊情况下,比如低电压时可能会误擦出,楼上有网友咨询过STC提出了10/10000的出错率。
2.楼主用的晶振质量差,将晶振放在音响内,在特定频点和幅度上可能振坏了,建议楼主输入不同的音频再试试看,估计用RC振荡器可以解决问题。
发表于 2015-2-7 18:14:47 | 显示全部楼层
我曾碰到的问题比你还怪异,我使用的是IAP系列,也需要直接修改部分FLASH, 平素正常的程序,突然有一次一颗IC发生异常,死活不能通过程序擦出和写入,开始以为是FLASH物理坏,  但通过官方的ISP工具下载烧写,一切正常,可我的程序却还是不行;我怀疑原因是,某次异常操作导致其内部隐藏扇区的数据被部分修改了,而STC是通过这些隐藏数据配置对同一IC进行兼容型号分配的吧, 要是这样, 这种问题视乎不可避免,虽然概率很低;
发表于 2015-2-7 19:42:02 来自手机 | 显示全部楼层
先判断是否有物理损坏,不能下载程序的芯用并型烧写器试试看吧,有可能是吧bootload 冲掉了
发表于 2015-2-7 19:46:42 | 显示全部楼层
是不是买到水货了, 什么 批次 ?
发表于 2015-2-7 23:16:30 | 显示全部楼层
楼主,上图看看掉电检测是怎么做的,你检测5V还是12V电压,我检测掉电电压一般用光耦加稳压管检测高压部分,比如24V检测用18V稳压管这样电源还有在低于19V左右的时候就可以检测到掉电,此时电容的电压电量还比较多,给后面写数据流出较多的时间
发表于 2015-2-7 23:33:04 | 显示全部楼层
擦写EEPROM的时候受到干扰,如果地址意外变化,天知道会把哪个扇区干掉
 楼主| 发表于 2015-2-8 00:18:21 来自手机 | 显示全部楼层
明天我回家后上电路图
发表于 2015-3-21 19:13:40 来自手机 | 显示全部楼层
哈哈,昨天也碰到奇怪问题,在某个输入信号消失时,会死掉,做了很多,目前只发现这一个
发表于 2015-3-21 22:49:30 来自手机 | 显示全部楼层
听说死太惨单片机是有引导程序的,不会是写eerom时出错把引导擦了,就像avr熔丝问题。你大电容是不是对外面其它负载放电了,这样电力不够了。如果是静电损坏的话引脚的反向pn接会变化的
发表于 2015-3-21 23:07:28 | 显示全部楼层
不了解STC的E2PROM,如果是拿FLASH当E2P用,要小心啊。#在这里快速回复#
发表于 2015-3-21 23:11:03 | 显示全部楼层
感觉是写EEROM(实际是FLASH)时电压不稳造成的,以前碰到过一次类似的情况,电压不稳导致写Flash错误,不过也不敢确定楼主的问题是不是这个原因。
发表于 2015-6-14 22:53:11 | 显示全部楼层
应该是掉电把引导或者程序给刷乱了,STC的文档中也有警告的“低压禁止操作EEPROM
发表于 2015-6-15 22:53:22 | 显示全部楼层
这个问题有点奇葩
发表于 2015-6-16 00:13:09 | 显示全部楼层
jackiezeng 发表于 2015-2-5 11:17
多半都是静电,或者感性元件的冲击,过压,,之类的,,

什么复位,中断,损坏单片机应该是不可能的,, ...

多半是这理了
发表于 2015-6-16 07:37:57 来自手机 | 显示全部楼层
没有听讲过进中断太频繁或者是读取AD太频繁”会把单片机弄坏的
发表于 2015-6-16 11:07:50 | 显示全部楼层
写入EEPROM数据时 意外操作内部的BOOTLOAD程序区了吧。 可以找STC的技术人员帮你找找原因。
发表于 2015-6-16 11:32:30 | 显示全部楼层
中断太频繁把单片机弄坏,没有遇到过阿.
发表于 2015-11-12 21:21:03 | 显示全部楼层
没有听讲过进中断太频繁或者是读取AD太频繁”会把单片机弄坏的
发表于 2015-11-22 00:09:14 | 显示全部楼层
掉电时候操作EEPROM。。。好屌 FLASH不坏掉?不如放个超级电容还差不多,EEPROM要页擦除,再页写入 时间很宝贵啊。。。
发表于 2015-11-22 14:10:25 | 显示全部楼层
是不是写EEPROM问题
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-9-20 22:57

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表