This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS90UB941AS-Q1: 在没有外部参考时钟和DSI时钟的时候,941和948直接能够建立控制通道(IIC/SPI)的通信?

Part Number: DS90UB941AS-Q1

发现在941上电完成后,主机IIC就能够读写948了,但是此时主机的DSI CLOCK还没有开启,REFCLK上也没有外部参考时钟,此时应该没有PCLK啊,FPD-LINK是如何建立连接的呢?

  • 您好,您的意思是只上电,上电完成后主机可以读写948了,是这样吗?

  • 上电、PDB使能后,就可以访问948了,不知道是不是内部时钟的原因。但能确定此时一定是没有DSI CLOCK和外部REFCLK的,我们把硬件通路都断开了。

  • 主机接在941这端对吧?您说的可以访问948了,是不是通过941的寄存器0x6 就能读取到948的物理地址了?还是其他方式访问?

    我理解的是您通过0x6读取到了948的地址,如果这样的话,那是正常的,FPD link建立之后,948的物理地址会自动加载到941的寄存器0x6中。

  • 941是接在主机端的。不是通过941的0x06寄存器读到了948的地址,而是可以读写948自己的寄存器。下面是我操作的过程:

    1. 断开主机与941之间的DSI CLOCK硬件电路,给941、948上电;

    2. 使能941的PDB;——此时可以读写941的寄存器,06寄存器中能看到948的地址,但是无法读写948自己的寄存器;

    3. 941的0x03寄存器写入0x9A,即使能I2C_PASS_THROUGH;——此时便能够读写948自己的寄存器了;

    问题是:此时主机没有给941输入DSI CLOCK,且941外部也没接REFCLK,但是主机却能够读写948自身的寄存器,这说明FPD-LINK中的双向控制通道是正常的,那么FPD-LINK的时钟是来自哪里呢?

  • 好的,收到您的问题,我现在马上看下您的问题。

  • 您好,FPD link的时钟来源于三个方面,可以是DSI clock,可以是REFCLK,另外还可以是内部的Always-On clock。

    您看下寄存器0x56的bit1-0这里是否有配置?这里默认是DSI clock作为参考。

  • 941上电之后没有去配置0x56寄存器,所以是保持默认值即DSI clock作为参考。不理解的是,此时主机和941之间的DSI硬件连接是断开的,941是没有DSI CLOCK输入的。

  • 主机只是和941的clock电路断开,941的clock输入引脚保持悬空是吗?

    那很奇怪,就是内部Always on clock也是需要配置的,我再看下资料。

  • 是悬空的。

    还有个现象补充一下:我们发现手里所有的941在硬件断开DSI CLOCK、不接外部REFCLK的情况下都是能读写948的。

    但是当再设置DSI_CONTINUOUS_CLK为“1: Continuous DSI clock mode”后,出现了差异:

    大多数941依然能够读写948,少数941无法读写948。

  • 您好,我需要再确认下这个问题。给您带来不便非常抱歉。

  • 您好。麻烦读取下941的寄存器0x5A ,看下是否能检测到DSI clock。

  • 0x5A寄存器的值为:0x92

    也就是没有检测到DSI clock的,但是bit7=1,说明FPD-Link III Link is Ready的。

  • 您好,抱歉回复晚了,我需要进一步去确认这个问题。

  • 你好,有进展吗?

  • 您好,还在进一步确认中,我这边如果收到答复,会第一时间通知给您。

  • 您好,我这边已经确认,内部AON产生的clock可以给I2C提供时钟,所以即使没有DSI  input,主机也能和remote SER/DES 通信。

  • 了解了,也就是说在还没有DSI input的时候,Host就可以通过I2C初始化948了,此时FPD-Link的时钟是由AON提供。—— 这种方式稳定吗?会不会有负面影响?因为在941的手册的10.2节 Power-Up and Initialization 中提到两种初始化时序,但“ Apply DSI inputs” 都是先于 “ Initialize the device”。

  • 另外,我们这所有的941在硬件断开DSI CLOCK、不接外部REFCLK的情况下都是能读写948的,这个问题已经搞清楚了是因为AON clock。但是当再设置DSI_CONTINUOUS_CLK为“1:Continuous DSI clock mode”后,出现了差异:大多数941依然能够读写948,少数941无法读写948。—— 为什么会有差异?这个现象再帮忙确认下。

  • 好的,我这边再去确认下。

  • 您好,抱歉回复晚了,DSI_CONTINUOUS_CLK 是在DSI reference clock 模式下需要的,如果没有DSI clock,并且外部不接REFCLK的话,这里的配置是没有影响的。

  • 了解了。那还是不太明白为什么会出现差异,设置了DSI_CONTINUOUS_CLK ,但是不提供DSI CLOCK,有的941依然可以通过I2C读写948,而有的不可以。
    在弄清楚这个差异之前,我们暂时按照这样一个原则:在未提供DSI CLOCK的情况下需要初始化Ser/Des,就是用默认的AON CLOCK;如果要设置DSI_CONTINUOUS_CLK,则需要确保有DSI input。

  • 我们暂时按照这样一个原则:在未提供DSI CLOCK的情况下需要初始化Ser/Des,就是用默认的AON CLOCK;如果要设置DSI_CONTINUOUS_CLK,则需要确保有DSI input。

    是的,如果有DSI input, 需要配置DSI_CONTINUOUS_CLK 。

    那还是不太明白为什么会出现差异,设置了DSI_CONTINUOUS_CLK ,但是不提供DSI CLOCK,有的941依然可以通过I2C读写948,而有的不可以。

    还在进一步确认中,会尽快给您答复。

  • 设置了DSI_CONTINUOUS_CLK ,但是不提供DSI CLOCK,有的941依然可以通过I2C读写948,而有的不可以。

    您好,这个问题我们分析和FPD link的稳定性有关,因为DSI clock不会影响I2C的传输。所以建议是可以使用MAP tool对完整性或者裕度进行分析,从而确定FPD link的稳定性。 不可以I2C读写的器件link会lost 吗?

    或者您可以将941和948的寄存器配置附上看下。

x 出现错误。请重试或与管理员联系。