打印

ATMEL的MEGA系列中EEPROM丢数据问题

[复制链接]
8730|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yewuyi|  楼主 | 2009-9-19 16:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
根据近日和ATMEL原厂技术人员的了解,过去AVR中EEPROM的0、1字节和最后一个字节容易丢数据的问题已经解决,但需要更换到后缀为PA或A的版本才可以。

ATMEL原厂的技术人员也等于间接承认了原来的版本确实存在这个问题,根据其所言,造成该问题主要是掉电检测部分的设计缺陷造成的。

恭喜AVR终于解决了一个痼疾,呵呵,但同时也鄙视一下他们,竟然花了这么长时间来解决这个问题,而且竟然把有问题的产品卖了这么长时间。。。

相关帖子

沙发
xymxym| | 2009-9-19 21:19 | 只看该作者
呵呵,这种问题前两年在用PIC的单片机时也出现过,搞了好久,产品在外总是丢码,来来回回好久才解决,也是打开低电检测,打开上电延时,把数据放在地址末端并备份。后来不敢再用片内E2PROM了。

使用特权

评论回复
板凳
McuPlayer| | 2009-9-19 21:37 | 只看该作者
所以很多公司不允许RD工程师直接对外,就是这个道理
只要市场部的人不松口,产品就没问题。
不像工程师,稍微有些技术问题,就感觉到心虚,于是就承认错误。老板最怕这阵势了

使用特权

评论回复
地板
huangqi412| | 2009-9-19 22:17 | 只看该作者
MEGA前面几个字节不能用,是个潜规则。。。

使用特权

评论回复
5
cool_coder| | 2009-9-19 22:22 | 只看该作者
还好,我的EEPROM数据都是双备份带CRC的,而且没用到EEPROM开头和结束部分。想想真是万幸。

使用特权

评论回复
6
arm_fan168| | 2009-9-20 07:11 | 只看该作者
我还真没听说过这个潜规则,总是怀疑产品的抗干扰性能不好。学习了。

使用特权

评论回复
7
chunyang| | 2009-9-20 12:55 | 只看该作者
无论是谁的产品,俺从来不用起始地址位也不用最末地址位,EEPROM用中间地址段,FLASH的话则是中间地址扇区,所以没发现这个问题,本来就不信任,这是可靠性设计的要求。

使用特权

评论回复
8
hsw_21| | 2009-9-20 16:02 | 只看该作者
本帖最后由 hsw_21 于 2009-9-20 16:03 编辑

4楼:
MEGA前面几个字节不能用,是个潜规则。。。



--------------------------------------

晕,“潜规则”都上到纯净的技术层面了,呵呵

使用特权

评论回复
9
古道热肠| | 2009-9-20 16:43 | 只看该作者
俺用24加校验码,还行,没丢过.

使用特权

评论回复
10
Simon21ic| | 2009-9-20 17:16 | 只看该作者
AVR用于产品的话,确实有一些需要注意的
以前都是先检测芯片电源,正常后,再操作EEPROM,量产没问题,否则总是有问题

使用特权

评论回复
11
XZL| | 2009-9-20 19:20 | 只看该作者
呵呵,跟我们写程序一样,总是多少有点BUG

使用特权

评论回复
12
宇容创行| | 2009-9-20 19:41 | 只看该作者
90s时代avr的ee就非常容易丢
等mega出来时,就号称解决了
现在又说带p的才行
看来还是一个大坑啊,带p的市场上都不一定能买到,真正量产验证了吗?

使用特权

评论回复
13
szsfy| | 2009-9-20 19:52 | 只看该作者
NND,以前旧的MEGA芯片还从来没发现丢数据现像,用了新的芯片反倒数据丢失了,具体原因还没有去分析,不排除程序的问题。

使用特权

评论回复
14
yewuyi|  楼主 | 2009-9-20 19:57 | 只看该作者
呵呵,这种问题前两年在用PIC的单片机时也出现过,搞了好久,产品在外总是丢码,来来回回好久才解决,也是打开低电检测,打开上电延时,把数据放在地址末端并备份。后来不敢再用片内E2PROM了。 ...
xymxym 发表于 2009-9-19 21:19


哥们,你用的PIC的什么型号?嘿嘿,还从来没听说过MCHP的有这个问题呢,你中大奖了!?

建议你联系MCHP,从我接触到得所有的MCHP工程师来说,还从来没有见过MCHP工程师回避问题,隐而不谈的事情发生,AVR的MEGA系列可是整个系列的所有型号都有这个问题存在,搞到最后竟然有知名的C编译器厂家无语之后,C编译器会自动避开这几个地址。

使用特权

评论回复
15
martin| | 2009-9-20 21:40 | 只看该作者
呵呵,这种问题前两年在用PIC的单片机时也出现过,搞了好久,产品在外总是丢码,来来回回好久才解决,也是打开低电检测,打开上电延时,把数据放在地址末端并备份。后来不敢再用片内E2PROM了。 ...
xymxym 发表于 2009-9-19 21:19


哥们属实吗?PIC的BOD使能出现EEPROM误写的例子我还没见过呢。

使用特权

评论回复
16
machunshui| | 2009-9-20 22:47 | 只看该作者
martin都出马了.

可见造谣的杀伤力.

使用特权

评论回复
17
xymxym| | 2009-9-21 08:48 | 只看该作者
我用的是628A。:(可能是我描述有问题,我的意思是说后来打开BOD,打开上电延时,将数据存储在末地址,并做备份才彻底解决了,但我想应该是没有打开BOD造成丢码的可能性最高,当时试过,反复不规则的上断电100次左右就会丢码,更严重的才几次就会丢,怀疑应该是CPU与内部E2PROM的工作电压不一致所造成。

另外也回复一下14楼:谣言止于智者!

使用特权

评论回复
18
程序匠八| | 2009-9-21 09:37 | 只看该作者
为什么你们说的有问题都是"前几个字节"和"后几个字节"?

使用特权

评论回复
19
yewuyi|  楼主 | 2009-9-21 09:54 | 只看该作者
我用的是628A。:(可能是我描述有问题,我的意思是说后来打开BOD,打开上电延时,将数据存储在末地址,并做备份才彻底解决了,但我想应该是没有打开BOD造成丢码的可能性最高,当时试过,反复不规则的上断电100次左右 ...
xymxym 发表于 2009-9-21 08:48


呵呵,情况很明显是你未打开BOD造成的,MCHP内带EEPROM的MCU,只要打开BOD就OK了,如果你没有打开CHIP的BOD(例如设计一些超低功耗产品),则需要自己加低电压检测的芯片实现可靠RST。至于为什么需要BOD,呵呵,所有的MCU厂家都需要BOD 才可以。。。

使用特权

评论回复
20
yewuyi|  楼主 | 2009-9-21 09:57 | 只看该作者
为什么你们说的有问题都是"前几个字节"和"后几个字节"?
程序匠八 发表于 2009-9-21 09:37


只能说这几个字节的概率最高,其实其它字节也有可能,但概率更低罢了,所以,如果你想用在一些关注安全的产品上面,我个人建议你不要使用ATMEL的内置的EEPROM 。

使用特权

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

本版积分规则

个人签名:一:我的回帖多数只是猜测/估计/想象,建立在我现有知识结构的理解和分析上,多数都没有动手实际检验过,请斟酌采纳. 二:若对我的技术类主帖或回帖有异议,欢迎讨论,拒绝过激攻击或辱骂,否则全站追杀屏蔽发帖,后果自负. 三:对本人的其它意见,请直接向站长投诉,勿使用站内短信骚扰/挑衅/辱骂,否则将全站追杀屏蔽发帖,后果自负.

1416

主题

20007

帖子

232

粉丝