打印
[AVR单片机]

【 【 关于MEGA8 的 死机 探讨 】 】

[复制链接]
楼主: sparkstar
手机看帖
扫描二维码
随时随地手机跟帖
21
sparkstar|  楼主 | 2007-4-7 08:46 | 只看该作者 回帖奖励 |倒序浏览

AD测试

今天作AD测试,采用NTC传感器,将3根传感器接1.6米长线(也就是6根线),同样打辐射干扰,仍发现有死机现象,出现的概率较低(15分钟出现一次),同样死机后即使去除干扰也无法自愈,用了三个AD口做测试(AD1、AD2、AD3),平时去除传感器后测得电压为0V(因为有下拉电阻),死机后测得VAD1=4V,VAD2=2V,VAD3=4V。原本编程输出方波的几个IO口的全部输出高电平。

使用特权

评论回复
22
ayb_ice| | 2007-4-7 08:49 | 只看该作者

该考虑换了。。。

该考虑换了。。。

使用特权

评论回复
23
lixun00| | 2007-4-7 09:28 | 只看该作者

m8死机还会出现熔丝位被修改的情况,

使用特权

评论回复
24
双龙| | 2007-4-7 09:45 | 只看该作者

楼主何不把你的原理图或PCB图择选出来让大家分析看看

使用特权

评论回复
25
yewuyi| | 2007-4-7 16:32 | 只看该作者

加的辐射干扰?

是辐射干扰还是EFT?


如果是辐射干扰那俺就不知道了,一般MCU都没有如此相关的参数指标的。

估计你加的EFT。

AVR的WATCHDOG好象是可以软关断的,如果是这样,程序应该检验是否发生关断,如果关断了则再次打开它,否则就是PC乱飞了,你也没办法抓回来。(俺不用AVR,只是以前看了看)

你建议加上RAM校验,如果如你所说,RAM读、写、控制单元失效的话,你的校验一样是无效的,呵呵,因为读不出来了你还校验过P,所以你说用上这校验就没问题,俺是表示怀疑的……

很多小家电板确实经常需要连接一些长长的排线,俺一般在连接出去的IO口上加一个102电容,如果打EFT的话,只要你PCB整体OK,一般4KV/5KHZ是没问题的,即使是RST都很难发生(呵呵,俺是要求加EFT的20分钟内不准复位的)。

使用特权

评论回复
26
xuhuadong| | 2007-4-9 09:51 | 只看该作者

在c程序上头没有意义


你应该贴汇编程序来分析,现象分析应该是每死记,程序还运行,只是运行到你想不到的地方,不能用片内rc,c 代码看不出来

使用特权

评论回复
27
jasonell| | 2007-4-11 14:33 | 只看该作者

这个不是跑飞,是ram 的数据锁死。

使用特权

评论回复
28
airwill| | 2007-4-11 20:21 | 只看该作者

关注中, 希望看到楼主的最终结果

个人认为, 硬件设计得有点脆弱了.

使用特权

评论回复
29
平常人| | 2007-4-11 20:49 | 只看该作者

死机只是通俗的说法;死机的内涵不是说系统锁住不动了,

死机只是通俗的说法;死机的内涵不是说系统锁住不动了,而是内部某些信号应该是高电平时变成了低电平,或应该是低电平时变成了高电平,造成系统功能紊乱;现象可以是程序跑飞,程序跑飞也有多种可能;1)PC中某位或某几位改变,2)内部总线上某位或某几位改变,3)程序存储区的某些单元内容改变,4)RAM的某些单元内容改变,等等等等。

所有这些现象的根源是“内部某些信号在干扰下发生了意外变化”,所有这些变化因为是意外的、不受控的、不确定的,必须经复位才能恢复到原始状态;如果看门狗也受到影响不能正常发挥作用,就会发生系统不能自行恢复的现象;如果复位电路也受到影响,就会发生系统不能复位的现象,这时只能做断电处理了。

总之,这一切的一切与器件的抗干扰能力分不开,Motorola(即现在的Freescale)的器件抗干扰能力是相当不错的,AVR的器件与他相比结果如何就不得而知了。


此帖的讨论很有代表性,建议版主置顶,让更多的人了解这个问题。

使用特权

评论回复
30
wolver| | 2007-4-12 11:40 | 只看该作者

测试大忌你全占完了。。。。

你先排除程序问题...知道怎么做吗?把你2米连线砍成2mmmmmmmm.....

使用特权

评论回复
31
hq_y| | 2007-4-12 12:04 | 只看该作者

2米连线有点太长了吧

使用特权

评论回复
32
dcp| | 2007-4-12 12:59 | 只看该作者

PB4、PB5、PC0、PC4 各反接一个1N4148到地试试

PB4 -|<|---GND
PB5 -|<|---GND
PC0 -|<|---GND
PC4 -|<|---GND

使用特权

评论回复
33
smxdss| | 2007-4-14 00:48 | 只看该作者

同感!

2005下半年到06上半年,

我们公司的一个项目,
累计用了有500多片MEGA128;

有一小部分出现莫名的死机问题。
死机的出现并不规律;

全都是一样的硬件和程序,就有那么一小部分不定时的会死机。
一直没有搞明白。

使用特权

评论回复
34
zhiwei| | 2007-4-14 10:23 | 只看该作者

我也用了几百片了

做的是电源监控方面,和高压输出共地进行测量等操作,到现在也没有发现有单片机不正常的。多查一下软件bug吧。

使用特权

评论回复
35
cq.zhq| | 2007-4-14 20:13 | 只看该作者

把++sec改为sec+=1看看

使用特权

评论回复
36
hongkai375| | 2007-4-30 09:09 | 只看该作者

回复M8死机!

我用了一年多的M8都没有出现过死机!

使用特权

评论回复
37
51avr| | 2007-4-30 10:10 | 只看该作者

楼主不厚道,自己做的产品不稳定,拿到这里让人给你找bug,

满口叫嚣avr单片机“死机”。出现bug要考虑的因素太多,你首先应该证明你的编译器和程序没有问题,所以你分析的程序应该是汇编代码,而且不应该使用中断,看门狗,而是仅仅在主循环中使用最简单的口线操作驱动你的LED。其次你说线太长,容易串入干扰,那么你请把你用示波器测出的波形贴上来。如果波形确实不漂亮,你就把LED管脚直接焊在cpu IO口上好了。还有复位引脚的波形,电源波形,如果使用外部晶振,振荡波形你也要观察。还有什么?如果你按照这样作还找不到问题,那你就别用avr了,因为avr内部很多模块包括eeprom也好难好难用。

使用特权

评论回复
38
dai_weis| | 2007-4-30 11:19 | 只看该作者

晕,建议更换MCU吧,你这个用法只能是哪个不出问题用哪个

使用特权

评论回复
39
cds_666| | 2007-5-4 19:28 | 只看该作者

不同场合用不同产品,别人能用不代表你能用。

使用特权

评论回复
40
smihtctecg| | 2007-5-5 10:36 | 只看该作者

楼主在长线的MCU端加了ESD类保护器件了吗?

使用特权

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

本版积分规则