打印

PIC单片机内置E2PROM很容易丢码,怎么回事?

[复制链接]
楼主: ftpeople
手机看帖
扫描二维码
随时随地手机跟帖
21
zhaoyu2005| | 2007-9-27 09:43 | 只看该作者 回帖奖励 |倒序浏览

俺个人的感觉不是得从自身找问题

其实就是程序设计、硬件设计两大方面,我才用过628A,控制电机,比报警器的环境差吧,没发现问题,把电源反复开关都没事

使用特权

评论回复
22
ftpeople|  楼主 | 2007-9-27 22:55 | 只看该作者

我以前也是很多产品都用628A,没有问题

只是用内置的E2PROM时出现了我前面所说的问题了,且其它功能还是正常的.不知道楼上zhaoyu2005在控制电机方面时是否使用了内置E2PROM?采取何种措施了?

这次经过程序重新修改(打开BOD,PWRT,WDT,备份数据处理)后,在现场同时选取20台设备换上新程序的芯片,选几台仍然使用老芯片,设备集中供电(18V),不规则的,瞬时的通断电1000多次,老芯片100次左右就出现丢码了,而新芯片一切正常,所以基本可以肯定老芯片是没有打开BOD,PWRT造成电压不稳时,程序跳飞修改了E2PROM.现在新芯片将会在现场正常的使用一段时间,看是否出现老问题,以示确认!

谢谢三位版主和各位网友的帮助了! :)

使用特权

评论回复
23
chj76| | 2007-10-27 16:01 | 只看该作者

首地址

在使用内置EEROM时尽量不要0x00地址对应的EEROM,因为开机初始化时会对准x00地址,有被意外读写的可能。其次是写入之后加读校验。

使用特权

评论回复
24
zhaoyu2005| | 2007-10-29 09:20 | 只看该作者

俺当然是用内部E2PROM的了

要不然也不会发言的,俺用628A就是看中代E2PROM的,因为给熟人的厂子里的小机器用的(三个220V的电机,主电机680W,另外两个才几W本来有控制电路,因为是进口的,用74C的片子,不好买),没几块,就不在乎用内置E2PROM贵几个钱了,还方便
俺也没有进行数据备份,但是习惯性的把BOD什么的都开了

使用特权

评论回复
25
foxmax| | 2007-10-31 11:12 | 只看该作者

怪了

我用630和690写编解码的方案给客户,都用了几年了,怎么都没有收到过丢码的反馈呢。看来我要好好向楼上各位学习一下,以防以后遇到这样的问题。

使用特权

评论回复
26
l0p0c| | 2007-11-7 15:46 | 只看该作者

加验证!

使用特权

评论回复
27
杲冬| | 2007-11-8 15:27 | 只看该作者

内置EEPROM

应该不是片子的问题,我一直在用PIC的片内EEPROM,而且基本用完了空间,没有出现楼主说的问题。
上面几位大虾的建议都很有道理,另外还可以在程序中加上软件写保护。 

使用特权

评论回复
28
hong qiang| | 2007-11-8 16:44 | 只看该作者

我也遇到,EEPROM数据偶然丢失的问题。

 PIC的MCU,EEPROM数据丢失问题在低速MCU中丢码的问题有,但很少,在高速MCU中,丢码的几率大一点。我最近在用dsPIC系列的片子,也偶然遇到丢码,大家遇到过吗?

使用特权

评论回复
29
甄蔡组合| | 2007-11-8 17:28 | 只看该作者

学习中

使用特权

评论回复
30
autuy123| | 2007-11-9 16:19 | 只看该作者

关注中

我也在用 

使用特权

评论回复
31
yang010121| | 2010-5-20 22:34 | 只看该作者
用的是PIC16F628A单片机,由于PCB空间不够,无法外置E2PROM,只能使用单片机内置的E2PROM,也是第一次使用,程序完全按照文档上的范例.但是往往在现场使用一段时间就会有50%左右的产品出现丢码,以前用外置E2PROM几乎不出 ...
ftpeople 发表于 2007-9-18 10:09


我用的16F630,程序跑3天左右就开始有丢码的现象了。找不到能解释通的原因。

使用特权

评论回复
32
gghhz| | 2010-6-2 16:58 | 只看该作者
刚准备用呢,就有巨人指路了, 太感谢了

使用特权

评论回复
33
kfawj| | 2010-6-3 15:53 | 只看该作者
问题不大!
楼上几位说的没有错。
应该打开bod,而且设置电压略低于你的工作电压就可以了。
这样做比较安全,一般不会出题的。而且在16f690周围别忘了加去耦电容。

使用特权

评论回复
34
杜专| | 2010-6-26 22:39 | 只看该作者
学习

使用特权

评论回复
35
amwc156| | 2010-10-19 04:37 | 只看该作者
学习

使用特权

评论回复
36
machunshui| | 2010-10-19 09:58 | 只看该作者
PIC还是很不错的。

我专门实验过,

PIC16f883,

不打开BOD情况下,

连续反复快速上电上百次,

也没发生数据丢失,

何况打开BOD的情况下!

要说问题,倒是听说avr的EEPROM问题一堆。

使用特权

评论回复
37
zdhlixiang2006| | 2010-10-24 10:06 | 只看该作者
:LPIC有自己做好的读写EEPROM函数,你们不掉用,自己写,好牛X啊

使用特权

评论回复
38
sjdcz| | 2012-2-1 13:22 | 只看该作者
这给人吓得,用起心惊胆战

使用特权

评论回复
39
xaq79| | 2012-2-1 13:26 | 只看该作者
用了很多款,从来没有掉码现象

使用特权

评论回复
40
alont| | 2012-2-24 00:19 | 只看该作者
手册上说“while(WR);”是放在最前面的,为何要调到中间?

使用特权

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

本版积分规则