这几天一直被I2C模块困扰:firmware能访问EEPROM, 但不能访问另一个I2C设备,通过I2C分析仪显示的结果是
主机发送Slave地址后,从机没有应答。从机地址肯定是正确的,从机也支持所用的I2C规范,从设备运行所需的
power与clock均已提供,那么会是哪里出现问题了呢?
连接从设备sda与sclk均用了jump wire: 从EEPROM socket引出了两条线到设备,会不会是跳线的电阻太大了?
希望尽快找出原因!
====================================
update:
终于找出原因了,另外一个I2C设备power on时,reset管脚是active low, 该设备始终处于reset state, 显然不能对
主机的I2C请求发出ACK!
解决办法:在firmware中配置一GPIO,并route至从设备reset管脚。该GPIO配置为output high. 之后,主机就能正
确访问从设备了。
文章评论(0条评论)
登录后参与讨论