打印
[AVR单片机]

ATMEGA162质量不行

[复制链接]
4006|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
commp|  楼主 | 2009-12-12 00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上半年做的产品,单片机是M162,当时发现EEPROM的数据老是丢,后来外挂个24C02就好了。
现在用户打电话说仪器经常死机,拿回来检查发现有时就是启动不了,当时没怀疑芯片的问题,把复位电路元件换了(就1个电阻和1个电容),晶振换成有源的,当时好了。
第二天开机又不行了,后来拿电烙铁靠近M162加温,单片机就运行起来了,原来是冬天温度变低的关系?后来反复试验,只要上电运行不了,什么都不变,电源还是通着,用烙铁或吹风机给M162加加温,单片机就活了。整了我几天,真气人。

我们公司在江苏,现在温度大概有10度的呀,怎么M162就这么不耐温呢,AVR的其它型号我用过很多,都挺好的,ATMEL这么出了这样的产品,真不感相信。

相关帖子

沙发
lhj200304| | 2009-12-12 08:50 | 只看该作者
给详细点的信息,先看看晶振有没有问题?

使用特权

评论回复
板凳
commp|  楼主 | 2009-12-12 21:04 | 只看该作者
没问题,用有源晶振,示波器测到6M频率很稳定。

现在已经解决了,换了STC的单片机,硬件没变。

使用特权

评论回复
地板
lovelyegle| | 2009-12-12 22:15 | 只看该作者
只要上电运行不了,什么都不变
怎么讲不通啊,不是只要是只有吧?

使用特权

评论回复
5
suoma| | 2009-12-12 22:50 | 只看该作者
难道单片机也怕冷?;P

使用特权

评论回复
6
求知的电工| | 2009-12-12 23:10 | 只看该作者
我下次也先试哈。。学一下。。不行就换个对温度不敏感的

使用特权

评论回复
7
laslison| | 2009-12-13 22:25 | 只看该作者
STC的单片机这么好用

使用特权

评论回复
8
neeme| | 2009-12-14 14:23 | 只看该作者
0度--70度, 应该没有问题的,  我用m162很多年了!

有个产品在东北沈阳!!!

使用特权

评论回复
9
huamunv| | 2009-12-14 20:46 | 只看该作者
也有可能是个别问题

使用特权

评论回复
10
commp|  楼主 | 2009-12-15 22:09 | 只看该作者
我手上还有几片,谁想测试一下,可以寄给你们。我邮箱commp_mem@163.com

使用特权

评论回复
11
不亦心| | 2009-12-15 22:19 | 只看该作者
还不够邮费的吧

使用特权

评论回复
12
commp|  楼主 | 2009-12-15 23:43 | 只看该作者
快递费到付

使用特权

评论回复
13
双龙| | 2009-12-16 16:22 | 只看该作者
丢EEPROM,是使用技巧的问题

使用特权

评论回复
14
andy2003hu| | 2009-12-16 17:48 | 只看该作者
STC比AVR还要好啊?

使用特权

评论回复
15
commp|  楼主 | 2009-12-16 20:25 | 只看该作者
问一下13楼,是不是要加很多措施,才能保证EEPROM数据不丢,怎么个使用技巧?
我用M8,M16,M128都挺好的,就M162发现丢EEPROM数据,是我的使用方法不当吗?

这个项目主要为了双串口,才用M162,刚好STC新出的12C5A32S2是双串口,DIP封装直接拔插替换,REST设置为IO,避免与原来低电压复位的不匹配。

使用特权

评论回复
16
天地有源| | 2009-12-17 10:53 | 只看该作者
M162不会这么菜吧,应该有其他原因!

使用特权

评论回复
17
gmgmgm| | 2009-12-17 13:33 | 只看该作者
AVR确实不行,我用过A16的,经常出去的产品会丢程序,重新写一下就OK了。确实怕了

使用特权

评论回复
18
双龙| | 2009-12-18 10:06 | 只看该作者
本帖最后由 双龙 于 2009-12-18 10:08 编辑

AVR那么多年了,已经很成熟了。
关于EEPROM问题,不单是AVR,就是独立EEPROM,或者其他内置EEPROM的单片机,都会有丢EEPROM的现象。

以下为以前从网上积累的一些关于EEPROM问题的解答:

EEPROM数据被破坏的主要原因有:
1、电源异常使EEPROM的数据彻底丢失;
2、复位不好和软件跑飞可能会使EEPROM的数据被改写。

要防止EEPROM数据被破坏,主要在以下几方面做工作:
1、选用比MCU的电源范围宽并有WP引脚的EEPROM芯片;
2、做好电源滤波,而且要等电源开机稳定后才去读写EEPROM(上电加延时);
3、做好复位电路;
4、做好软件跑飞的处理;
5、SDA和SCK的上拉最好用I/O口控制,既可省电,也可在一定情况下保护EEPROM;
6、WP接MCU的RESET;如WP做软件保护,将写不进数据;接I/O,上电时WP的状态可能不稳定。
7、EEPROM空间富余时考虑双备份或多备份数据,每份数据都有校验和。


选用比MCU的电源范围宽并有WP引脚的EEPROM芯片的原因:
1、EEPROM的芯片本身有一定的保护时序;
2、电源低于MCU工作电源高于EEPROM芯片的最低工作电源时,EEPROM芯片会处于稳定状态,不会丢失数据。
3、当电源较长时间低于EEPROM芯片的最低工作电压时非常容易丢失全部数据。否则MCU还能工作,
   但EEPROM芯片已不能工作时,EEPROM中的数据会全部丢失。
4、用I/O口线给EEPROM供电,只在读写EEPROM时才给器件供电,不仅能提高可靠性,而且能省电。
   但有两点要注意:一是一些单片机复位时所有I/O都是高电平,会使EEPROM芯片进入工作;
                   二是EEPROM芯片给电后需要有大于写周期的延时才能读写。

-----------
问:某仪表一参数每一秒种要保存到EEPROM一次,这样的话,我怕EEPROM很快应失效!如果保存到RAM中,再定期保存到EEPROM, 但中途断电怎能么办?

答:VCC加电容,中断脚加断电检测。
在MCU的VCC上加个电解存电(别忘了加个二极管),电容量要**到程序将数据全部保存到EEPROM中之后;中断脚加个电源电压检测电路,也可直接接到电源上(要在二极管前);程序中使用下降沿中断触发中断服务程序将数据保存到EEPROM中。

使用特权

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

本版积分规则

8

主题

40

帖子

1

粉丝