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中关于MIPI DSI时序配置问题

Other Parts Discussed in Thread: DS90UB941AS-Q1, ALP, DS90UB936-Q1, DS90UB940N-Q1

我最近使用贵公司的DS90UB941AS-Q1,我这边的话是使用LCDIFV2转MIPI DSI 然后接的你们的这款芯片。我反复看了DS90UB941AS-Q1的datasheet,但是还是有不清楚的地方。

1. 我只需要用DSI0的LAN0和LAN1作为输入,输出只有一路为DOUT0,采用的是Single-Link mode。我看芯片的内部框图中有一个PAT GEN模块,看起来这是一个内部的测试模块,所以我好像不需要用到它。因此对我的场景来说应该用不到这个模块对吧。

2. 我LCDIF这边的时序中,配置了VSW,HSW,VFP,HFP,VBP,HBP这些参数,但是看到DS90UB941AS的DSI Port0的寄存器配置中只有DSI_VSW、DSI_HSW、DSI_SYNC_DLY_CFG,感觉时序参数不全啊,所以这个时序究竟怎么转换,能够给一些建议,谢谢。

我看了一些相关的文档,只有描述Pattern Generator的文档,Pattern Generator中的寄存器有PGHBP,PGVBP等参数,看起来好像时序更全。如果能够针对我的场景提供简单的配置例程或者步骤的话,不胜感激!

@,@,我看了一些和这个芯片相关的问题好像你们有回复过,能不能给我一些建议,谢谢!

  • 您好,Pattern Generator是FPD link自检的一个测试方法,在没有输入信号,serializer这边会产生内部的一个pattern 经过FDP link传输到deserializer端,pattern类型有很多,一般会配置为color bar的模式,能够在显示屏上显示,说明FPD link没有问题。
    实际应用时,用不到这个功能,只是在实际应用时,遇到问题,比如屏幕不显示,或者deserializer 端没有输出,我们可以通过BIST测试来验证bug的一个测试方法。

    以为这类器件,没有例程可以参考,所以只能借助于datasheet中寄存器描述,以及ALP software来帮助进行寄存器的配置。

    另外,您和UB941AS搭配使用的deserializer是哪个型号? 关于LCDIF的时序,您能否把您的应用架构附上看下。
    因为UB941AS是serializer,输入的是DSI信号,输出FPD linkIII,所以想先和您确认下应用。
  • 您好@Kailyn Chen,谢谢你的答复,我先把我的应用架构说下。

    我这边的话用到了DS90UB941AS-Q1和DS90UB936-Q1这两块芯片,也就是说MCU的MIPI DSI接口接DS90UB941AS,其DOUT0接DS90UB936的RIN0输入,在通过DS90UB936将差分信号转CSI回给MCU。相当于是做一个简单的loopback。

    针对DS90UB941AS我现在明白了,用不到Pattern Generator的相关功能。

    我把我DS90UB941AS这边的配置大概罗列下:
    1. DS90UB941AS上电去读MODE pin的状态,目前我设置引脚状态决定的配置的是:
    DSI LANES 为2lanes
    SPLITTER MODE为NOrmal operation
    DSI disable
    COAX Mode为Enable FPD-Link III for twisted pair cabling
    CLOCK mode为FPD-Link III is generated from DSI clock. The DSI clock has to be continuous.

    2. 我将BRIDGE_CFG写0x20配置为 2 bytes/pixel (RGB565)模式,
    将FDP-link模式通过DUAL_CTL1写0x01配置为 Forced Single FPD-Link III Transmitter mode (Port 1 disabled)
    配置DSI_EN_HSRX 从而enable HSRX CLK0,Enable HSRX D1,Enable HSRX D0

    3. 剩下的没有确定的就是如何配置DSI_HSW_CFG_HI、DSI_HSW_CFG_LO、DSI_VSW_CFG_HI、DSI_VSW_CFG_LO、DSI_SYNC_DLY_CFG_HI、DSI_SYNC_DLY_CFG_LO这几个寄存器的值。

    我LCDIF这边的时序参数改起来很方便,大概有这几个宏决定的,改起来很方便。
    #define HEIGHT 1280
    #define WIDTH 720
    #define HSW 8
    #define HFP 32
    #define HBP 32
    #define VSW 2
    #define VFP 16
    #define VBP 14

    上述参数配置的LCDIF转MIPI DSI输出我找了一个MIPI的屏验证过能成功刷屏了。

    上面这三点你看看我这边有没有理解错的地方,还有第三点这边我应该怎么配置,谢谢
  • 您好Kailyn,我的这边遇到的问题你有什么建议吗,谢谢
  • 您好kailyn,我这边关于MIPI DSI转LVDS的时序还有一个疑问有什么更新吗,谢谢
  • 您好,很抱歉给您回复晚了,这几个间接寄存器DSI_HSW_CFG_HI、DSI_HSW_CFG_LO、DSI_VSW_CFG_HI、DSI_VSW_CFG_LO、DSI_SYNC_DLY_CFG_HI、DSI_SYNC_DLY_CFG_LO 应该是不需要进行配置的,我再确认下。

    您的应用,目前是遇到了什么问题吗?DS90UB941AS-Q1+DS90UB936-Q1+LCD,LCD显示正常吗?
    然后您的意思是loopback,UB936的CSI输出再进入UB941AS的DSI输入是吗?
  • 您好 Kailyn

    1. 我目前没有接LCD,目前的loopback的方案是,LCDIF 刷一个固定大小的图像,通过MIPI DSI发送到DS90UB941AS-Q1, 从其FPD-link输出。接着DS90UB936AS-Q1的FPD-link接收到数据将其转换成CSI-2的数据输出,并接到MCU的CSI-2输入端。

    架构就是MCU->LCDIF->MIPI-DSI->DS90UB941AS->DS90UB936AS->CSI-2->MCU,最终MCU的CSI2接收到的数据与LCDIF刷的数据一致,那么这条路就通了。

    1. 这几个间接寄存器DSI_HSW_CFG_HI、DSI_HSW_CFG_LO、DSI_VSW_CFG_HI、DSI_VSW_CFG_LO、DSI_SYNC_DLY_CFG_HI、DSI_SYNC_DLY_CFG_LO 如果不需要配置,那DS90UB941AS的如何确定我刷的图像大小,或者说这个是芯片内部自动判断的吗?

    2. 像我这样的应用,DS90UB936AS这边接收到DS90UB941AS的数据,是否需要根据DS90UB941AS这边设置的一些数据格式来调整?

    谢谢!

  • Hello Kailyn, 您那边有什么更新吗
  • 您好 Kailyn,问题确认完了吗,谢谢
  • 您好,不好意思,回复晚了。
    关于第一问的这几个寄存器,我这边再确认下。
    第二个问题,DS90UB941AS 输出的就是FPD linkIII的数据,UB936接收的也是FPD linkIII的输入格式,所以不需要设置。
  • 您好,我这边帮美国工程师确认了下,
    DS90UB941AS 和UB936 是不兼容的,如果需要实现DSI 转CSI-2的话,建议搭配使用DS90UB940N-Q1 。
    关于这几个间接寄存器的配置,只有当DSI source 使用event mode或者Burst mode的时候,才需要配置,如果DSI source工作在non-burst sync mode的话,不需要配置。
  • 您好 Kailyn

    您的解答对我非常有用,非常感谢!。基于您的答复,我可以得出DS90UB941AS和DS90UB936-Q1是不兼容的。但是我在目前的板子上他们所有的接口都有被引出来,可以接到板子外面。您是否可以推荐两款适合于这两个芯片的屏和camera,我这边购买回来单独测试这两款芯片。

    1. 是否可以推荐一款适合于接DS90UB941AS芯片的屏,我把屏接DS90UB941AS的FDP-link输出用于验证。MCU->LCDIF->MIPI-DSI->DS90UB941AS->屏 这个架构我先验证。


    2. 是否可以推荐一款适合于DS90UB936AS的camera或者其他设备,我想验证这条通路:Camera(或者其他传感器)->DS90UB936AS->MIPI CSI-2->MCU。
  • 我再补充下关于第二条,可能我理解错了,如果使用的DS90UB936AS的话,那就是:
    Camera(或者其他传感器)->DS90UB936AS->CSI-2->MCU

    如果使用ds90ub940n-q1的话才是:
    传感器->ds90ub940n->MIPI CSI-2->MCU

    这么理解对吗
  • 您好 Kailyn,您这边有推荐吗

  • 您好,
    1. 这个架构中,MCU->LCDIF->MIPI-DSI->DS90UB941AS->屏
    DS90UB941AS 是serializer,DSI 输入,输出的是FPD linkIII的。 后面不接deserilizer,直接接显示屏吗?’
    2. 对于DS90UB940n的话,可以和DS90UB941AS搭配使用,应用架构可以是:
    MCU--DS90UB941AS----DS90UB940----LCD display.

    对于DS90UB936来说,搭配使用的serializer 比如是DS90UB935.
    应用架构可以是camera--DS90UB935----DS90UB936---processor。

    camera或LCD的型号,我这边暂时没有呢。 比如接UB935的话,那么输出是MIPI CSI-2的camera。
    和UB940 搭配使用的LCD, 输入是LVDS 的LCD。
  • 您好,

    关于第一点:
    “1. 这个架构中,MCU->LCDIF->MIPI-DSI->DS90UB941AS->屏
    DS90UB941AS 是serializer,DSI 输入,输出的是FPD linkIII的。 后面不接deserilizer,直接接显示屏吗?”

    我看论坛里有其他人也问过LVDS的屏幕的问题,我的想法是MCU->LCDIF->MIPI-DSI->DS90UB941AS->屏,FPD linkIII直接接屏幕,有这样子应用的吗?
  • 您好 Kailyn

    目前我已经确认完毕,应用架构重新进行了调整,您看下对不对:

    1. MCU->LCDIF->MIPIDSI->DS90UB941AS->DS90UB940N->-LVDS LCD

    2. Camera(OV5640)->DS90UB935->DS90UB936->-MIPI CSI-2->MCU