发现在941上电完成后,主机IIC就能够读写948了,但是此时主机的DSI CLOCK还没有开启,REFCLK上也没有外部参考时钟,此时应该没有PCLK啊,FPD-LINK是如何建立连接的呢?
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.
发现在941上电完成后,主机IIC就能够读写948了,但是此时主机的DSI CLOCK还没有开启,REFCLK上也没有外部参考时钟,此时应该没有PCLK啊,FPD-LINK是如何建立连接的呢?
主机接在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的clock电路断开,941的clock输入引脚保持悬空是吗?
那很奇怪,就是内部Always on clock也是需要配置的,我再看下资料。
您好。麻烦读取下941的寄存器0x5A ,看下是否能检测到DSI clock。
您好,我这边已经确认,内部AON产生的clock可以给I2C提供时钟,所以即使没有DSI input,主机也能和remote SER/DES 通信。
您好,抱歉回复晚了,DSI_CONTINUOUS_CLK 是在DSI reference clock 模式下需要的,如果没有DSI clock,并且外部不接REFCLK的话,这里的配置是没有影响的。
我们暂时按照这样一个原则:在未提供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的寄存器配置附上看下。