我司产品使用了DS90UB947 DS90UB948芯片,框图如下:
这个项目我们遇到以下问题:
1.我们发现UB947不能使用3.3V,即使I2CSEL悬空,使用3.3V的情况下,只要读0XC7,会导致I2C总线电压被947拉低到1V左右,
后来我们使用1.8V转换3.3V芯片,I2CSEL上拉10K,配置1.8V模式,就正常。
2.读remote MCU现在正常,但写remote不成功,但有ACK信号,请问需要配置什么寄存器才能实现?现在配置是0xC6寄存器写0x21(配置中断) 0x17寄存器写0x9E(透传I2C)
lefei huang:
使用3.3V的情况下,我们保证了,电源上电,复位正常后,才进行I2C通信的,在此前,I2C管脚保持为低的,但3.3V模式仍然不能正常
Maksim Liu:
Hello,
该设备需要正确启动,才能I2C能够正常工作。还需要确认有适当的sda/scl的上拉和IDx地址和I2C配置寄存器被正确设置。
1.8 V和3.3 V的供应是否正常?
在ser这一侧的I2C 读取期间如果电源有所波动的话,会对读取造成影响。所以请确保电源稳定后再切换PDB,然后等待I2C协议的延迟(>1ms 对于本地I2C访问,对于远程I2C来说,除了PDB要求之外,还需要等待锁。)Regards