TI 工程师
你好,关于[AN-2173 I2C Communication Over FPD-Link III with Bidirectional Control Channel]有个问题,
第4页的Figure 5. Write Format To Remote I 2 C Slave,关于这个图看不明白,REMOTE I2C的数据是谁发的,关于这个图,能否举例说明一下。
或者有什么资料,我可以先看一下。
Wenbin Yang:
回复 Vio Liu:
第一行“HOST I2C”这个图的流程我能理解,不理解的是第二行“REMOTE I2C”的这个流程
你的意思是说,HOST给从机发送数据的时候,远程设备也能收到HOST发送的数据?是这个意思吗
Vio Liu:
回复 Wenbin Yang:
第二行只是表示了Remote端的数据状态。有没有发现其实第二行跟第一行的内容基本上都是一致的?在理解这幅图的时候,只需要看第一行,HOST,就够了。第二行只是表示Remote端将会收到HOST端的什么数据,并且标注出来Remote端的反应
Kailyn Chen:
回复 Wenbin Yang:
是的,你说的AN-2173文档中,I2C通信有三种:
1. HOST I2C和local I2C之间的通信。
2. HOST I2C和Remote I2C之间的通信。
3. HOST I2C和Remote Slave I2C之间的通信。
Wenbin Yang:
回复 Kailyn Chen:
恩。这3种通信,我看data sheet有写。
我现在的现际情况是这样的,
TOUCH + MCU + 928 + 927 + XXXX
现在的应用是TOUCH 的数据通过I2C给MCU。
MCU在把数据通过BACK CHANNEL(928+927)发送到XXXX。
看了928和927的芯片手册,是有BACK CHANNEL这个功能。
如果MCU 要设置928的寄存器, 这个通信是你上面说的1的方式?
如果MCU要设置927的寄存器,这个通信是你上面说的2的方式?
如果MCU发把数据发送到XXXX,这个通信是你上面说的3的方式?
Kailyn Chen:
回复 Wenbin Yang:
是的,MCU和928就是属于local I2C的通信方式。
Kailyn Chen:
回复 Kailyn Chen:
MCU和927就属于remote I2C的通信方式,和xxx就属于remote Slave I2C的通信方式。
Wenbin Yang:
回复 Kailyn Chen:
那通过我们这边的理解,下面这样的理解对不对?
利用928的Remote功能,把927的7bit的 Remote地址写在 928的 Remote ID 寄存器(0x07)上,再利用 Slave Device 功能,把 xxxx的 地址写到928的 Slave ID 寄存器上,并且给xxxx起一个别名(Alias),这样我们就可以认为928和927 成为了一个通路,数据可以通过928和927直接发给XXXX.
这样如果HOST I2C想要给xxxx发送数据的时候,是不是就跟2楼的I2C发送数据格式图中,第一行"HOST I2C"的一样,只不过把 “SLAVE ADDRESS”改成xxxx的别名地址?后面"OFFSET"寄存器就是xxxx上的寄存器?
jie liu13:
回复 Wenbin Yang:
我按照此方法,未成功。我的意图是:利用主机的IIC , 将0x06通过UB949写UB948的0x43寄存器内
我的步骤:
1、UB949的0x03写入DA
2、UB949的0x07写入0A
3 、UB949的0x08写入0A
4、UB949的0x0a写入43
5、UB949的0x0a写入06
请TI工程师回答