搜索
bottom↓
回复: 42

89C2051遇到鬼打墙

[复制链接]

出0入0汤圆

发表于 2012-11-21 09:20:02 | 显示全部楼层 |阅读模式
本帖最后由 zhangsai 于 2012-11-21 09:21 编辑

干单片机也有几年了,不敢说精通,可也见识过一些,做过几个小玩意儿。这两天让一个89C2051的小系统折腾死我了。
具体案例如下:
            89C2051+MAX813+24M有源晶振+78L05+MAX506(D/A),公司成熟产品,上市5年了。
            我就是利用这套成熟电路,应用到其他产品上,前期,相安无事。由于其他事情拖延,导致该项目由夏天拖至现在。基本功能完工后,今日发现奇怪现象,凉机子,上电初期,89C2051启动异常,示波器监视其喂狗波形,出现停顿。明显是单片机出现了停摆。导致D/A输出波形也是混乱的。甚至出现过D/A输出波形正常,频率降低的情况。
            反复开机几次后,故障发生率明显下降。
            关机闲置一段时间,比如半小时,开机后,故障发生率明显提升。
            更换89C2051故障依旧。
            测量复位脚,正常。
            示波器观察89C2051的VCC,D/A的正负电源、2.5V基准等,均无明显的问题。
            故障发生时,示波器观察24MHz有源晶振,频率、幅度正常。
            78L05为12V->5V。


            恳求各位能出奇招,帮我解决该问题。谢了!这问题真的把我弄崩溃了!

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2012-11-21 09:37:29 | 显示全部楼层
大家别绕行呀,呵呵,给出出主意

出0入0汤圆

发表于 2012-11-21 09:40:49 | 显示全部楼层
路过,绕行

出0入0汤圆

发表于 2012-11-21 09:42:13 | 显示全部楼层
用仿真器看一看吧

出0入0汤圆

发表于 2012-11-21 09:42:54 | 显示全部楼层
以前的成熟产品有无这种问题

出0入0汤圆

 楼主| 发表于 2012-11-21 09:51:50 | 显示全部楼层
89c2051,不能JTAG的。呵呵,感觉仿真没意义。以前的产品,没有听过此类故障。我总感觉,怎么这么像人品问题呢!呵呵。

出0入0汤圆

发表于 2012-11-21 09:59:40 | 显示全部楼层
猜想应该是程序问题,多检查一下吧!

出0入34汤圆

发表于 2012-11-21 10:03:14 | 显示全部楼层
有无可能与您所在的室温有关?

出0入4汤圆

发表于 2012-11-21 10:23:11 | 显示全部楼层
示波器持续监测振荡端,出现异常时观察振荡波型。2051跑24M应该是比较极限了,走钢丝状态。
可以人为的用酒精和吹风机,对可疑元件进行冷、热操作,检查是否是温度引起的故障。

出0入0汤圆

 楼主| 发表于 2012-11-21 11:47:49 | 显示全部楼层
程序非常简单,程序分析,就是Timer0,出现停摆。

出0入0汤圆

 楼主| 发表于 2012-11-21 11:49:16 | 显示全部楼层
我也有点儿怀疑,是温度造成的。

出0入0汤圆

发表于 2012-11-21 12:01:14 | 显示全部楼层
由于楼主不许绕过,所以....
我跳过(真的不懂)...

出0入0汤圆

发表于 2012-11-21 12:12:41 | 显示全部楼层
会不会是晶振问题?

出0入50汤圆

发表于 2012-11-21 12:19:41 | 显示全部楼层
会不会是芯片工艺改了?

不过如果芯片是整个渠道进货,那么只能说明这个设计的本身容限留得太小了

出0入4汤圆

发表于 2012-11-21 12:24:39 | 显示全部楼层
换78L05试试

出0入0汤圆

发表于 2012-11-21 12:31:15 | 显示全部楼层
看看晶振上的电容,或是喂狗正常吗,还有就是看看是不是开了什么中断,但没有相应的中断处理程序
没JTAG,用串口

出0入0汤圆

发表于 2012-11-21 12:31:20 | 显示全部楼层
诸如晶振及相关电路拆掉重焊试试。
如原来正常,现在不正常。手工焊的可能很大,当然机焊质里不好时也会有问题。
拍图,大家看看。提供的信息越多越有助于问题解决。

出0入4汤圆

发表于 2012-11-21 12:47:13 | 显示全部楼层
24M,高~~~~~

出0入0汤圆

发表于 2012-11-21 12:52:24 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2012-11-21 13:04:28 | 显示全部楼层
24M有点高,2051能跑那么高主频吗。你降低频率试试

出0入0汤圆

发表于 2012-11-21 13:30:30 | 显示全部楼层
本帖最后由 ksd 于 2012-11-21 13:38 编辑

你检查一下电容和晶体,对温度这么敏感,检查一下电路板的走线是否过长,因温度变化而引起阻值变化的原件。

前期正常工作,拖延了工期后出现问题,大多是虚焊引起的。重新焊接一遍,如果是北方,考虑点解电容被冻坏,我遇到过电解电容被冻坏的故障。

出0入85汤圆

发表于 2012-11-21 13:33:57 | 显示全部楼层
停摆是什么意思?死机?
搞一个定时器出来,在引脚上接一个LED,定时器定时驱动LED,在出现异常的时候观察LED的频率是否正常

出0入0汤圆

发表于 2012-11-21 13:50:43 | 显示全部楼层
看看 78l05部分的储能电容是否有问题,78l05更换试试
也很有可能是复位电路的问题

出0入0汤圆

 楼主| 发表于 2012-11-21 17:16:32 | 显示全部楼层
晶振用的是外部有源晶振。不是晶体+电容的结构。程序超级简单,只开了定时器0的中断。每(20ms/150)的时间中断一次,并喂狗一次。我说的“停摆”就是,示波器看,喂狗脉冲,有较长时间停顿,较长,且无明显规律。感觉好像是启动不起来似的。但是电源无明显不稳定。电源电解是47uF。

出0入0汤圆

 楼主| 发表于 2012-11-21 17:19:42 | 显示全部楼层
让我最受不了的是,目前发现的规律,好像是,放一晚上,早晨开机,故障非常明显,但是反复开机几次或十几次以后,现象就很少出现。肯定是有器件有问题。但是,我这脑袋,真有点儿找不到突破口。打算用STC的兼容芯片试试。也考虑更换外部有源晶振和78L05(改成7805)试试。气人的时,还完以后,一定要关一短时间的电源,故障是否解除,才能下定论。

出0入0汤圆

 楼主| 发表于 2012-11-21 17:21:14 | 显示全部楼层
78L05的上级12V电源,是锂电池。应该可以排除78L05以上的问题。

出0入0汤圆

发表于 2012-11-21 17:30:43 | 显示全部楼层
内存,控制寄存器。有哪个什么忘记初始化吧。搞不明白什么原因,怎么不先关掉看门狗看看。

出0入0汤圆

发表于 2012-11-21 20:15:32 | 显示全部楼层
本帖最后由 lryxr2507 于 2012-11-21 20:17 编辑

怀疑晶振旁的电容,换下试试,我遇到这类问题是换C51片试试,一般都是程序问题.对了代码有无超过2K?

出0入0汤圆

发表于 2012-11-21 20:27:57 | 显示全部楼层
用实际工作正常的板子,拆元件来换上,看是否是元件问题,比如晶振什么的。用无水酒精清洗板子。用不同方式重新写同样功能的程序。总之逐步排查呗

出0入0汤圆

发表于 2012-11-21 20:30:57 | 显示全部楼层
另外,虽然看起来可能和温度有关,但是无论如何,单纯的温度这么小点的变化不会导致这样的问题,最终还是器件不正常。就算你测出10度有问题,15度就不发生问题了,那又怎样,你还是得找出哪个元件受温度影响

出0入0汤圆

发表于 2012-11-21 20:50:13 | 显示全部楼层
可以先换其他兼容型CPU测试,看看是否同样故障,再来一步一步排除啊

出0入0汤圆

发表于 2012-11-21 21:07:48 | 显示全部楼层
遇到过有源晶振输出幅度不够,单片机出停摆故障

出0入0汤圆

发表于 2012-11-21 21:15:15 | 显示全部楼层
程序里上电后先延时个0.5S再初始化 ......

出0入0汤圆

发表于 2012-11-21 21:22:05 | 显示全部楼层
排除法 换晶振先 然后电容 受温度影响的器件

出0入0汤圆

发表于 2012-11-21 22:06:20 | 显示全部楼层
个人感觉是软体的问题~~~

出0入0汤圆

发表于 2012-11-21 23:11:18 | 显示全部楼层
没跑过24M,不知道是不是这个问题

出0入0汤圆

发表于 2012-11-21 23:14:28 | 显示全部楼层
如果怀疑是温度的问题,把它包好塞冰箱里冻上一段时间,再拿出来测试,有问题就会显现出来的。我们以前就用这个方法发现过问题,LDO输出电解容量太小所致。

出0入0汤圆

 楼主| 发表于 2012-11-22 08:12:57 | 显示全部楼层
基本可以结贴了。发现是24MHz的有源晶振,坑人呀。经过对比,查原材料采购记录,这两块实验板的24Mhz有源晶振是另一个供应商临时采购。目前更换晶振后,再没出现过该故障。不过,有必要进一步观察。同时,感谢给位好友出主意,89C2051跑24M,确实有些极端,有必要改进设计思路了。

出0入0汤圆

发表于 2012-11-22 08:49:45 | 显示全部楼层
晕,这故障真够坑爹的!

出0入0汤圆

 楼主| 发表于 2012-11-22 10:03:32 | 显示全部楼层
劣质器件,害死人呀。零散采购,唉,如何保障材料的“安全”性。难。

出0入0汤圆

发表于 2012-11-22 13:49:14 来自手机 | 显示全部楼层
实物板图?电路图?程序?果然是鬼打头。

出0入0汤圆

发表于 2012-11-22 14:49:10 | 显示全部楼层
   应该是你购买的芯片有问题!
   购买芯片时,别忘了看最后的编号!
  AT89C2051-24PU  允许最高频率   24MHz  
  AT89C2051-12PU 允许最高频率   12MHz  
  AT89C2051-24SU 允许最高频率   24MHz  
  AT89C2051-12SU 允许最高频率   12MHz  

   如果你的芯片允许最高频率12MHz ,你要它跑24Mhz,当然会有问题哦!

出0入0汤圆

 楼主| 发表于 2012-11-23 08:16:55 | 显示全部楼层
已经确认,我所用的就是AT89C2051-24PU。更换24MHz晶振后,运行两天,一切正常。可以确认,是24Mhz有源晶振的问题。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 15:57

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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