AT24C02丢数据的问题,请教
公司一款数码音频产品,经常有发现因预置有参数的24C02的数据丢失或错乱造成返修,重新刷写一次有正常了.<br />请教是因为24C02的可靠性很差还是易受干扰的缘故,或是货品问题,<br />线路用的是5V供电,芯片型号分别有用过尾缀是27,25,18的,有关系吗?AT24C02丢数据的问题
我们用过很多,都不会。<br />你可以先把有问题的数据读出来,看是数据出错了,还是其他什么原因在做分析。查看一下iic的时序
你的MCU的IIC是硬件的还是软件模拟的啊,如果是软件模拟的话,建议用示波器抓一下波形,重点看一下高低电平的建立时间是否合适。很多产品用24C02都会有这个问题.
首先把硬件复位,电源做好.<br />软件也要整好.<br />大部份是上下电的时候数据丢失的,单片机坛子曾辩过这个问题同感
我现在也同样碰到了这样的问题。不知该怎样决?电源问题.
写允许脚处理
如果写允许脚直接连接到电源(处于允许写状态),多次上电数据有的会更改,<br />我公司产品在现场出现过,为此专门做过试验,大约10次重新上电会有一次出问题,分析原因是电源模块上下电过程中电平不稳造成的。系统复位设计不当
上拉电阻问题
scl 和sda引脚的上拉电阻太小会导致在上下电时数据丢失受教了
遇到过类似问题
也有软件的问题
在读写的底层加一些检验标志,标志不正确的话就退出来,这样可以防止mcu跑错时乱改数据。大部分情况出现在WP引脚控制上
一种是WP引脚没有通过MCU的IO控制,直接接地了,这样芯片一直处于写允许<br />上下电时候的IIC线上的抖动会引起误写,把WP交给MCU控制,不写的时候处于禁用,上下电时候保证WP处于禁止就可以<br />另一种是需要下电保护现场数据,结果数据没有完全写完就没有电了或者电压低落引起乱写,这个需要重新设计下电顺序和时间同意楼上
解决了回一声,要不以为掉水里沉底了
如果少量数据可写多个地方
如果数据少,可把数据分别写3个不同地址,每次操作时读出3个地址数据进行比较,如果其中有一个有错误取另外相同的数据。这样做只能尽量减少数据出错后的错误操作。根本还是从电源和硬件上处理。 上拉电阻用4.7K的 不用説,基本上是软件问题,你想啊需要接收的启动,地址,数据才会执行操作,这需要多巧合,所以根本不可能是硬件,上电的问题,只有软件会去做这些, 应该还是你的程序不严密。
写完之后要读回来,确认已经正确写入了! 目前我也遇到过24lc32的问题,头二十次烧写读取不正常,只要过了二十次之后基本上不会出现什么问题了,一开始增加了写后的延时时间,好点了,可是后期还是存在有烧写不上的问题,不知道什么地方出问题了?
页:
[1]