Atmel EEPROM芯片的Write Cycle参数

最近在使用Atmel EEPROM芯片时遇到一个问题,如果连续2次写入之间的间隔太短,可能会造成第二次写入失败,这个涉及到芯片手册中的Write Cycle参数。

分析

这里以AT24C256举例,其芯片手册上有Write Cycle的范围,如下图红框,

![[Pasted image 20240820211959.png]]

这里给的是最大时间,10ms或者5ms,对应AT24C256中不同型号的芯片。

然后手册中又给出Write Cycle的定义,

![[Pasted image 20240820212220.png]]

简单来说:当一次I2C写入结束(以STOP Condition为标志,其实这只是传输数据完毕),芯片会开始把数据写入到内部的存储电路上,等真正存储完毕才算结束。

Write Cycle就是I2C写入操作结束到芯片真正把数据存储好这段时间。所以,如果第二次的写入操作发生Write Cycle之内,那么就会失败,表现就是芯片会返回NACK,而不是ACK。

解决办法

知道原理就好解决了:如果写操作时芯片返回NACK,那么只需不断重复写操作,直到芯片返回ACK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值