i2c 电压不匹配造成的读写问题

今天开始测试V2芯片的I2C控制器,代码还是以前的测试V1的代码,因为I2C控制器本身没有什么变化,所以就直接用以前的代码开始测试。

测试方式依然是使用24C02B  EEPROM作为从设备进行读写。

连接好管脚后发现无法读取数据,总是提示从设备不响应。用示波器测量SCL和SDA发现有信号发出。说明I2C控制器是能够发送数据的。

I2C控制器的IO电压为1.8V,而此次连接中将EEPROM的供电连接到了5V电压上,这样是否会导致EEPROM采样的参考电压识别不到总线上的1.8v电压?怀疑下。

所以将EEPROM的供电改为1.8V,以便和总线上的电压匹配。反正EEPROM的工作电压可以是1.8V~6V。

果然,现在可以读到EEPROM中的数据了!

但是却发现向EEPROM中写入的时候依然会有问题,当第一个page完成后写第二个page时一定会出现从设备无响应的状态。为什么只能写一个呢?我猜可能是一个page的数据发送过去后,EEPROM的内部逻辑就开始进行实际的写入动作,在此期间就可能无法响应外界新的寻址动作,也就是延时的问题。这么推测下,没有时间去试了。因为我想也可能是因为EEPROM的工作电压太低了,写入动作就变慢了而导致了问题,所以我可以试试稍微提高了EEPROM的工作电压试试看。

这次使用2.8V给EEPROM供电。

读写都正常了!

这里只是测试,在实际的的产品中我们真的这种总线上的电瓶不匹配的问题都应该采用电瓶转换器件来作为桥梁,如果像我这样直接相连的话可能会有潜在隐患。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YasinLeeX

再来一杯西湖龙井。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值