打印

51单片机程序走飞,产品一直很稳定,突然事件,求解?

[复制链接]
楼主: dosculler
手机看帖
扫描二维码
随时随地手机跟帖
61
dosculler|  楼主 | 2012-1-13 17:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
注意现象是:部分功能可以用,部分功能不能用,但重新烧写一次后又全部功能可以用了。
这个现象也太奇怪了吧,而且固定在那部分,就跑飞那部分,抓狂

使用特权

评论回复
62
z.c.xu| | 2012-1-13 18:23 | 只看该作者
我也做了款类似的产品,STC,485通信,小功能产品,
期待看到,问题所在!

使用特权

评论回复
63
cjseng| | 2012-1-13 22:04 | 只看该作者
我的教训是:高温会导致STC单片机内部的程序损坏,重烧后恢复正常;潮湿导致内部断腿。
我买的是工业级的STC单片机,除了烧写程序时用到串口,程序本身未用到串口。
我只是说我遇到的情况、

使用特权

评论回复
64
dosculler|  楼主 | 2012-1-14 11:41 | 只看该作者
我的教训是:高温会导致STC单片机内部的程序损坏,重烧后恢复正常;潮湿导致内部断腿。
我买的是工业级的STC单片机,除了烧写程序时用到串口,程序本身未用到串口。
我只是说我遇到的情况、 ...
cjseng 发表于 2012-1-13 22:04

:funk:

使用特权

评论回复
65
cjseng| | 2012-1-14 13:08 | 只看该作者
还有一个教训就是:STC的同型号产品,批次不同,质量千差万别。

使用特权

评论回复
66
dosculler|  楼主 | 2012-1-14 14:46 | 只看该作者
本帖最后由 dosculler 于 2012-1-14 14:54 编辑

最近客户返回多台机,
经测试
一、分析:
    1、晶振看上去跟焊盘有裂开的明显痕迹
    2、用万用表测试,是通路
    3、有时起振——正常工作,有时不起振——不正常工作
二、结论:
    晶振虚焊,应该是氧化了。
三、推测:由于晶振有时起振有时不起振,结果导致单片机内部程序跑飞。
四、遗留问题:
    if(晶振 == 虚焊)
            单片机=程序跑飞;??????
这个得问做单片机的公司是不是确实有这回事

感谢各位童鞋的热心和技术支持。
技术问题共享才有进度。

使用特权

评论回复
67
cjseng| | 2012-1-14 15:49 | 只看该作者
本帖最后由 cjseng 于 2012-1-14 15:51 编辑

if((晶振 == 虚焊)&&(单片机==程序跑飞))
{
  重烧后也解决不了问题
}

我发现批次不同质量不同的测试方法是:
1.给单片机焊一个IC座,换不同批次的单片机上去,正常5V供电,测量晶振波形,幅度明显不一样;
2.单片机电源用外部可调电源供电,将电压从低往高调,不同批次的单片机晶振起振的电压明显不一样;
3.单片机电源用外部可调电源供电,将电压从5V往下调,单片机进入复位状态的阈值电压明显不一样;
4.用打火机做干扰源,不同批次的单片机的噪声容限完全不一样。

同一批次的STC单片机,批量烧写程序的时候,总有几个死活烧不进去。

使用特权

评论回复
68
yzhj| | 2012-1-14 20:12 | 只看该作者
STC确实存在新片无法烧录的情况,批次不同概率不同。宏晶至今未能给出合理的解释。

关于晶振建议只使用一个匹配电容,虚焊属于工艺问题不在此讨论范围之内。

建议楼主在现有的控制板上更换别的厂家的试试,不要被这个误导了,而放过真正的问题。现在首要任务是分析出问题的根源所在,毕竟MCU的选型范围还是很宽的。

使用特权

评论回复
69
oldda| | 2012-1-15 08:58 | 只看该作者
关注中!

使用特权

评论回复
70
lirunze| | 2012-1-15 09:42 | 只看该作者
stc单片机就是这个样子的饿啊,习惯就好了啊,我现在都不用了啊

使用特权

评论回复
71
hyhmh| | 2012-1-15 09:57 | 只看该作者
请教cjseng:高温 —— 是温度具体多少?经历多长时间?
还有 大家 具体讨论时 注意 描述一下 MCU的型号。
用过STC12C5412AD这一款MCU,在 温度85℃ (从室温经2小时升至目标温度),反复约20次, 未发现异常。

1.JPG (20.22 KB )

1.JPG

使用特权

评论回复
72
cjseng| | 2012-1-15 10:44 | 只看该作者
71# hyhmh

我用的是12C5204AD,最终产品是电饭锅,用了几个月出现问题(不是所有的都出问题)。

使用特权

评论回复
73
bingbo1970| | 2012-1-15 14:18 | 只看该作者
学习

使用特权

评论回复
74
sedatefire| | 2012-1-16 00:13 | 只看该作者
曾经有飞过,但那是AVR电源BOD没开启,系统里面有引导程序,上电一瞬间指针乱发导致引导程序修改了
应用程序所致。
只要电源稳定,就不应该存在乱飞的问题,把程序代码,和存储参数从问题IC读出来,和原档比较看看被改动了什么
不要动不动就重烧,每一个出现问题的机器,都是熊猫宝贝机,应严令禁止改动“犯罪现场”才对
重烧程序,更好外设来解决问题,可不是研发的态度

使用特权

评论回复
75
sedatefire| | 2012-1-16 00:14 | 只看该作者
曾经有飞过,但那是AVR电源BOD没开启,系统里面有引导程序,上电一瞬间指针乱发导致引导程序修改了
应用程序所致。
只要电源稳定,就不应该存在乱飞的问题,把程序代码,和存储参数从问题IC读出来,和原档比较看看被改动了什么
不要动不动就重烧,每一个出现问题的机器,都是熊猫宝贝机,应严令禁止改动“犯罪现场”才对
重烧程序,更换外设来解决问题,可不是研发的态度

使用特权

评论回复
76
sjl19781201| | 2012-1-16 09:25 | 只看该作者
1# dosculler 是你设计时时把RS485输出的阻抗电阻搞错了,不是你程序问题,在这里它是要求并联的,不是串联的,而且是120-360R的电阻。还有在485的RXD和TXD上应该是上拉不是什么限流的

使用特权

评论回复
77
sjl19781201| | 2012-1-16 09:31 | 只看该作者
是你的485设计不好,485有输出阻抗问题,设计要求是并联电阻,120-360R的电阻;还有你的RXD和TXD上是要求上拉电阻吧,你图片里是限流电阻,来的,这个你还是要改呀,你要到网上找下485的规格书那里面有说明。

使用特权

评论回复
78
z.c.xu| | 2012-2-3 15:34 | 只看该作者
再顶下,别就这么沉了!

使用特权

评论回复
79
zouxp| | 2012-2-3 17:59 | 只看该作者
485怎么不搞电源隔离呢?

使用特权

评论回复
80
sinanjj| | 2012-2-3 20:05 | 只看该作者
lz,你都485总线了,还用stc的。。。。。。。

您老咋想的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则