Part Number:DS90UH941AS-Q1
Hi,TI
目前项目想用941的Replicate Mode托两个948的屏幕。
每个948后级都有4个slave设备,附件为大概框图。
以下问题还请帮忙确认
1. 两个948的地址相同是可以的吧。寄存器(Address = 0x1E)的bit2的含义是什么?DeviceID + 1 (7-bit format),这个device指的什么,解串器吗?
2. 如果想通过slave ID控制948侧从设备,是需要在寄存器(Address = 0x17)的bit7设置为0吗?
3. 手册中寄存器(Address = 0x7)介绍,Slave ID0选择port0和port1都可以,其它的slave ID可以吗?在port1的链路上也想要设置slave ID控制
Replicate Mode.pdf
Kailyn Chen:
您好,您的这个问题我现在看下,稍后回复给您。
,
Kailyn Chen:
1.两个948的地址是否想同问题,如果两个948地址相同,那么通过 PORT0_SEL 或PORT1_SEL 来选择port 0 还是port1 来和941 进行通信。但如果PORT1_I2C_EN 使能的话,即I2C port1 也使能的话,便可以使用两个不同的948地址,这样主机就可以同时和两个948进行通信。PORT1_I2C_EN 使能的话,就不必考虑 PORT0_SEL 或PORT1_SEL 的配置了。
是的,device ID指的是搭配使用的解串器。bit 2的指的是941使用dual link的时候,规定channel 0 为Primary channel, channel 1为secondary channel。
2. 是的。
3. 这个问题我觉得同第一问,就是您想同时和两个948通讯,那就将I2C的port 1利用起来,即使能PORT1_I2C_EN. 这样就可以使用两个不同的948地址,否则相同的948地址,同一时刻只能对其中一个948 通信,datasheet中也有介绍:Setting the PORT0_SEL or PORT1_SEL bit will allow a read of the register for the selected port. If both bits are set, port1 registers will be returned. Writes to ports will occur on a port where the select bit is set, allowing simultaneous writes to both ports if both select bits are set.
,
zhijian Mao:
您好
抱歉,问题3再确认一下,我们的框图,941 port1通过slave ID控制948侧的4个slave设备吗?datasheet中slaveID 0和slaveID1~7的寄存器描述不一致
DS90UH941 datasheet:
DS90UB941和UH的slave ID寄存器功能是一致的吗?
两个IC关于slaveID1~7的 Field 项 描述也不一致。是我datasheet版本不对吗?
DS90UB941 datasheet:
期待回复,多谢!
,
Kailyn Chen:
您好, 最新的版本就是直接官网下载的,都是最新的版本,我看了和您的附图都是一致的。
另外,UH941和UB941的slave ID1~7的描述都是一致的,就是您附的右上图和下面这个UB941的SLaveID1的描述是一致的。 我没看出差异。
但是,Slave ID的地址就是指的7-bit Remote Slave Device ID,也就是和remote Ser/Des 接的比如camera,Display或者sensor这些的地址,这个定义是不变的。
您的问题是为什么Slave ID0的定义前提是If PORT1_SEL is set, this register controls Port1 SLAVE_ID0. 有port1_SEL 这bit 置位的前提。
这句话的意思是,假如941的TX Port1 被置位(就像您的这种replicated mode,只使用I2C port 0)的话,两个948的地址是相同的,那么slave ID0 是指的和哪个948 连接的LCD的地址呢?因此这里解释到,是指的和941 port1 连接的这个948,然后再和948连接的LCD的 地址,即slave ID_0.
datasheet中也有给出:Setting the PORT0_SEL or PORT1_SEL bit will allow a read of the register for the selected port. If both bits are set, port1 registers will be returned. Writes to ports will occur on a port where the select bit is set, allowing simultaneous writes to both ports if both select bits are set.
假设我们只使用I2C Port0,通过PORT0_SEL or PORT1_SEL 来选择主机要和哪个Des通信(您的附图中的948)。但是如果PORT0_SEL or PORT1_SEL两位都被置位,返回值是port 1的。
,
zhijian Mao:
您好
我换一种问法,比如我使用了slaveID0和1
slaveID0是BL地址,slaveID1是LCD地址
复制模式控制的软件code流程不应该是下面这样么
port0链路
1.配PORT0_SEL
2.写slaveID0
3.写slaveID1
port1链路
1.配PORT1_SEL
2.写slaveID0
3.写slaveID1
无论是port0的948还是port1的948,它们的远端从设备,我都想通过slaveID和slave别名实现控制。
如果这个流程是对的,我纠结的是slaveID1-7是否能配PORT1_SEL
,
Kailyn Chen:
zhijian Mao 说:无论是port0的948还是port1的948,它们的远端从设备,我都想通过slaveID和slave别名实现控制。
这个是对的。
zhijian Mao 说:slaveID1-7是否能配PORT1_SEL
slave ID1-7 我理解的是既能配置port0 ,也能配置port1,就和您上面写port 0 和port1 链路的过程是一样的,但是如果同时配置port 0 和port1的前提是,使用948的I2C 两个port,即I2C port 0 和I2C port1 都使用。
如果只使用一个I2C 接口,那只能通过port 口选择是port 0还是port1的948 和主机通信,如果两个port都被置位,同时对两个948进行配置,那么返回的只是port1的数据。
,
zhijian Mao:
您好,
重新梳理了您之前的答复,
抱歉还是有不明确的地方。
从式样书(Address = 0x1E)可知,replicated mode 时必须Enables secondary I2C address
PORT1_I2C_EN=1时,以下问题还请帮忙答复
1. 根据您之前答复,同时控制两个948的话,948的地址必须是不同的?
2. I2C_DEVICE_ID Register (Address = 0x0)这个寄存器表明的是941的地址,
PORT1_I2C_EN=1时,应该是941的第二路I2C地址在原有的地址上+1吗?
3. 还请提供replicated mode下PORT1_I2C_EN=1简单的code流程,这时配置941,948及远端slave设备的流程应该是什么样的?
抱歉,实在是了解的不多,麻烦了!
,
Kailyn Chen:
您好,1)同时控制两个的话,需要enable I2C port1.
2)是的。0x00的地址指的是serializer 即941的地址,如果enable I2C port 1的话,即为原有地址加1。
3)我找了下没有replication mode下的参考流程呢。
但是配置流程和一路的配置流程都是一样的,可先配置I2C port 0的,再配置I2C port1的。948的地址只有一个,但是948 和remote slave的寄存器都是映射到941这边的,所以941有两个不同的I2C 地址。 您可以参考这篇应用手册,虽然不是针对replication mode的配置,但是可以参考下如何和remote Des/Ser 以及remote slave进行通信:
https://www.ti.com.cn/cn/lit/an/snla222/snla222.pdf