求指教:TPS23851芯片的三线I2C通信方式是怎么进行通信的?
TPS23851芯片的I2C有SCK、SDAI、SDAO三根信号线,信号线用光电隔离后SCL接MCU的SCL,SDAI和SDAO合并接MCU的SDA,然后用MCU与其通信:启动信号 应答信号和停止信号和普通I2C都一样、SCL为低时允许SDA变化 高时SDA保持并采样 ,且通信时序也和普通I2C一样;但我测试怎么不能正常进行通信?
对TPS23851的寄存器不能读也不能写,咨询一下是接法错误,还是我的通信时序错误?
下图是我们EVM板上I2C通信的电路,可参考下。不知你们是如何设计的?建议使用示波器来读取这三条信号,由单片机连续发一个信号,对照示波器上的信号,看是否一致。
你好!谢谢您的帮助! 我现在用的就是你们的EVM板子进行测试的, 我看了一下I2C的时序啥的也都没错,是和AT24C02等能通信的,但不能和你们的TPS23851通信,有点苦恼,实在找不出错误来,烦请帮忙指教一下!RESET我没用,这个也不需要用吧!
直接接上单片机用I2C和TPS23851通信,TPS23851的通信地址为0x40(写)、0x41(读),对寄存器地址0x12、0x14写入0xff配置为自动模式,就可以工作了,但没成功,对0x12等寄存器进行读然后用串口传回来发现根本读成功(I2C不是正常通信),求指教!
可将AUTO引脚接高,使用自动模式,不需要软件进行控制。
或者使用与EVM板相配套的软件进行调试。
http://www.ti.com/tool/tps23851evm-001 TPS23851 GUI Software
谢谢您的回答!我找到问题在哪儿了,,原来是咱们TPS23851的引脚在上电后是低电平,所以RESET引脚一直处在低电平,从而使芯片处在复位状态,在接上3.3V后就好了,可以通信了,谢谢啦!