TI中文支持网
TI专业的中文技术问题搜集分享网站

DS90UH941AS-Q1: 关于941的Replicate Mode寄存器问题

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

赞(0)
未经允许不得转载:TI中文支持网 » DS90UH941AS-Q1: 关于941的Replicate Mode寄存器问题
分享到: 更多 (0)