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:询问如何使用 DS90UB941AS-Q1 输出模拟 LaunchPad 脚本。

Guru**** 2923960 points

Other Parts Discussed in Thread: DS90UB941AS-Q1

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1619418/ds90ub941as-q1evm-inquiry-on-how-to-output-analog-launchpad-script-using-ds90ub941as-q1evm

器件型号: DS90UB941AS-Q1
Thread 中讨论的其他器件: DS90UB941AS-Q1

尊敬的 TI 串行器/解串器 FAE

我是负责开发 AVN 产品的硬件工程师。

 

DS90UB941AS-Q1:我想通过将 DS90UB941AS-Q1 连接到应用 DS90UB948TNKDRQ1 的显示器来运行彩色条图形发生器。 -接口论坛 — 接口- TI E2E 支持论坛

 

我在大约两个月前通过上述链接获得支持。  

由于内部开发延迟、进度有所延迟、但我们现在尝试​​使用 Analog LaunchPAD 的图形发生器根据 DS90UB941AS-Q1 中设置的值输出脚本。

但我不知道如何使用该函数根据​​在图形生成器中设置的项值来提取脚本。

请告诉我如何输出​​在图形发生器中设置了值的脚本。

1.png

2.png

请回复。  

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    感谢您联系我们。 是的、我可以根据您提供的分辨率为您创建脚本。 使用的是单路还是双路 FPD-Link? 您打算同时使用传入的超级帧还是单图像?

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Aaron Heng

    感谢您的快速答复。
    首先、我想知道如何将在 DS90UB941AS-Q1 环境中设置的值输出为脚本、所以很感激您说过您会编写这个脚本。
    我们开发的电路板的连接概念将包含两种情况、如下图所示。
    请参阅它。

    如果我的解释不充分或缺少任何内容、请告诉我。

    谢谢你。

    LCD 用例 1(在某些情况下,仅使用一个 LCD。)

    LCD 用例 2(有时会使用两个 LCD。)

    LCD CASE2

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    感谢您分享这个图。 稍后我将介绍这篇文章、并为您提供初始化脚本。

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    请参阅随附的脚本、并在您的系统上试用案例 1。 请告诉我它是否正常工作。 我从您那里得到了确认。 我将处理案例 2。

    e2e.ti.com/.../941AS_5F00_1920_5F00_720_5F00_Script_5F00_Internal_5F00_Patgen_5F00_89p58Mhz.py

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Aaron Heng
    感谢您为案例 1 编写脚本。
    我会将它转发给我们的软件开发人员、看看它是否正常工作、然后返回给您。
    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    没问题。 在您准备好分享结果时抽出时间。 工作正常后、我将为案例 2 创建另一个脚本。

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Aaron Heng

    将脚本交付给软件开发者后、我收到了以下反馈。
    (目前,我们正在我们正在开发的电路板上测试该脚本,而不是在 EVM 上测试。)
    请查看并查看您是否有任何指导。

    1) 模式生成成功通过做额外的工作

    由于没有使用您提供的代码和 PG 寄存器值输出该模式、因此我做了如下额外的工作。

     

    我使用图形发生器输入 1920x720 60Hz 显示时序信息。 然后、我设置 M=9、N=80 以生成 DSI 90MHz 时钟。

    时序信息

    总面积      2048, 731.

    活动区域      1,920,720

    同步宽度        40, 2.   

    后沿宽度  40、 2

    前沿宽度 48、 7

     

     

    我将​​下面转储的寄存器值与发送它们的脚本代码进行比较、更改了值、并添加了所有未设置的寄存器。

     

    2)   如何将 MIPI 输入配置为通过 SER 输出?

    设置信息如下所示:

    2-1) MIPI 信息

    端口 0 默认值
    MIPI 使用 4 个通道、PHY 数据速率= 540Mbps

    面板 bpp = 24

    DSI 频率= 90MHz

    2-2)  显示时序信息

                             Hor /版本

    总面积      2048, 731.

    活动区域     1,920,720

    同步宽度        40, 2.   

    后沿宽度  40、 2

    前沿宽度 48、 7

     

    您是否需要其他信息?

    ※ 修改后的脚本附件文件丢失、因此我将再次附加它。

    e2e.ti.com/.../PGRegister_5F00_DumpApply_5F00_941AS_5F00_1920_5F00_720_5F00_Internal_5F00_Patgen_5F00_89p58Mhz.zip

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    很高兴您能够启动图形发生器。

    接下来、您需要计算 TSKIP 值。 之后、确保禁用图形发生器、使来自源的传入视频能够传递到 981。

    使用以下公式:

    TSKIP_CNT = Round (65 ×f (DSI)−5)

    请注意、在对寄存器进行编程之前、必须将计算值除以 2、因为寄存器在内部应用左移。

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Aaron Heng

    将您提供的信息传达给软件开发人员后、我们正在进行各种测试、但似乎无法正确输出 DS90UB941AS-Q1 的 MIPI 输入。

    您能否就软件开发人员的以下询问提供一些指导? 请回顾一下。

    为了便于查看、我们将 TCC8070 U-Boot 启动序列转换为 TI 评估板样式 board.WriteI2C () 格式。
    该序列基于我们当前的 DS90UB941AS-Q1 C 实现、使用非分离器/端口 0/4 通道 90MHz 像素时钟。
    我们目前正在使用:
    •串行器地址:0x0C
    •串行器别名:0x58
    •远程解串器实际地址:0x58
    •远程解串器别名:0x5A
    •轻触实际/别名地址:0x34 / 0x34
    请检查:
    1.请检查代码流程、寄存器设置序列、值和寄存器配置顺序。
    2.复位序列(值:0x02 ->寄存器:0x08 与值:0x07 ->寄存器:0x08)正确、
    3.需要 GENERAL_CFG = 0xDA -> GENERAL_CFG = 0x9A;
    4.解串器别名 0x5A 需要在 0x06/0x07/0x08 之外进行额外编程
    TSKIP 值 0x18 适合我们的 DSI 时钟条件。 但 DSI_FREQ (0x5F) 被读取为 91MHz
    6.附加文件中的代码将 TSKIP_CNT 和一些寄存器添加到 TI 提供的序列中。

    - 代码文件没有作为附件添加,所以我将它添加到主要文本。

    导入时间

    #------------------------------------------------------------------------------------
    #设备地址
    #------------------------------------------------------------------------------------
    serAddr = 0x0C # DS90UB941AS-Q1 I2C_ADDR、串行器本地 I2C 地址
    desAddr0 = 0x58 #远程解串器实际地址(8 位格式)
    desAlias = 0x5a #远程解串器别名(8 位格式)
    touchAddr = 0x34 #远程触摸实际地址(8 位格式)
    touchAlias = 0x34 #远程触摸别名地址(8 位格式)

    #------------------------------------------------------------------------------------
    #显示条件
    #------------------------------------------------------------------------------------
    像素时钟= 90MHz
    # DSI clock = PCLK * 24 /(2 * DSI 通道数)
    #= 90 * 24 /(2 * 4)
    #= 270MHz
    # DSI 输入端口 0
    4 通道 DSI
    #非分离器/强制单模式

    #------------------------------------------------------------------------------------
    # 1) 复位/禁用 DSI 输入
    #------------------------------------------------------------------------------------
    board.WriteI2C (serAddr、0x01、0x02)# RESET_CTL = DIGITAL_RESET1 (0x02)
    时间睡眠 (0.01)

    board.WriteI2C (serAddr、0x01、0x08)# RESET_CTL = DISABLE_DSI_INPUT (0x08)、DSI 输入被禁用

    #------------------------------------------------------------------------------------
    2) 一般配置/I2C 直通准备
    #------------------------------------------------------------------------------------
    board.WriteI2C (serAddr、0x03、0xDA)# GENERAL_CFG = 0xDA、初始 I2C 直通相关设置

    #------------------------------------------------------------------------------------
    3) 强制单链路模式(非分离器)
    #------------------------------------------------------------------------------------
    board.WriteI2C (serAddr、0x5B、0x01)# DUAL_CTL1 = FPD3_TX_MODE_FORCED_SINGLE (0x01)

    #------------------------------------------------------------------------------------
    # 4) 选择 Port0 特定的寄存器组
    #------------------------------------------------------------------------------------
    board.WriteI2C (serAddr、0x1E、0x01)# TX_PORT_SEL = 0x01、选择 FPD-Link III 端口 0 专用寄存器

    #------------------------------------------------------------------------------------
    5) 桥接控制:DSI 端口 0/连续时钟/4 通道
    #------------------------------------------------------------------------------------
    board.WriteI2C (serAddr、0x4F、0x8C)# BRIDGE_CTL = 0x8C
    # bit7 DSI_CONTINUOUS_CLK = 1
    #位[3:2] DSI_LANES = 4 个通道
    # DSI_PORT_SEL =端口 0

    #------------------------------------------------------------------------------------
    6) DSI_CONFIG_1 : HSYNC / VSYNC 极性
    #------------------------------------------------------------------------------------
    board.WriteI2C (serAddr、0x40、0x04)# IND_ACC_CTL = INDSEL_DSI_PORT0_DIGITAL (0x04)
    board.WriteI2C (serAddr、0x41、0x21)# IND_ACC_ADDR = DSI_CONFIG_1 (0x21)
    board.WriteI2C (serAddr、0x42、0x60)# IND_ACC_DATA = DSI_POLARY_HS_VS_HIGH (0x60)

    #------------------------------------------------------------------------------------
    #7) DPHY_SKIP_TIMING : THS-SKIP / TSKIP_CNT
    #------------------------------------------------------------------------------------
    # TSKIP_CNT (dec)= round (65 * fDSI (GHz)- 5)
    # fDSI = 0.2688GHz
    # TSKIP_CNT = 12
    # DPHY_SKIP_TIMING_[6:1]= 12 =>寄存器值= 0x18
    board.WriteI2C (serAddr、0x40、0x04)# IND_ACC_CTL = INDSEL_DSI_PORT0_DIGITAL (0x04)
    board.WriteI2C (serAddr、0x41、0x05)# IND_ACC_ADDR = DPHY_SKIP_TIMING (0x05)
    board.WriteI2C (serAddr、0x42、0x18)# IND_ACC_DATA = TSKIP_CNT 值 (0x18)

    #------------------------------------------------------------------------------------
    8) 内部 DSI 时钟设置(数据表上电序列)
    #------------------------------------------------------------------------------------
    board.WriteI2C (serAddr、0x40、0x10)# IND_ACC_CTL = INDSEL_DSI_ANALOG_PLL (0x10)
    board.WriteI2C (serAddr、0x41、0x86)# IND_ACC_ADDR = 0x86
    board.WriteI2C (serAddr、0x42、0x0A)# IND_ACC_DATA = 0x0A
    board.WriteI2C (serAddr、0x41、0x94)# IND_ACC_ADDR = 0x94
    board.WriteI2C (serAddr、0x42、0x0A)# IND_ACC_DATA = 0x0A

    #------------------------------------------------------------------------------------
    #9) 端口 0 的远程 I2C 映射
    #------------------------------------------------------------------------------------
    board.WriteI2C (serAddr、0x1E、0x01)# TX_PORT_SEL = 0x01、特定于端口 0 的寄存器组

    # 0x06 : DES_ID_DES_ID_1
    #位[7:1]=远程解串器实际地址
    #位[0]= FREEZE_DEVICE_ID
    #解串器实际地址= 0x58(8 位格式)、FREEZE_DEVICE_ID = 0
    board.WriteI2C (serAddr、0x06、0x58)# DES_ID_DES_ID_1 = 0x58

    第 0x07 章:我的朋友
    #位[7:1]=远程触摸实际地址
    board.WriteI2C (serAddr、0x07、0x34)# SlaveID_0 = 0x34

    # 0x08 : SlaveAlias_0
    # bits[7:1]=远程触摸别名地址
    board.WriteI2C (serAddr、0x08、0x34)# SlaveAlias_0 = 0x34

    #------------------------------------------------------------------------------------
    #10) 一般配置最终模式
    #------------------------------------------------------------------------------------
    board.WriteI2C (serAddr、0x03、0x9A)# GENERAL_CFG = 0x9A、最终直通/控制模式

    #------------------------------------------------------------------------------------
    11) 启用 DSI 输入
    #------------------------------------------------------------------------------------
    board.WriteI2C (serAddr、0x01、0x00)# RESET_CTL = ENABLE_DSI_INPUT (0x00)、正常操作
    Time.sleep (0.02)

    #------------------------------------------------------------------------------------
    #12) 可选的健全性检查
    #------------------------------------------------------------------------------------
    #可以读回 DSI_FREQ 寄存器 (0x5F) 以指示 DSI 像素频率
    #示例:
    # dsiFreq = board.ReadI2C (serAddr、0x5F)
    #打印(“DSI_FREQ =“、HEX (dsiFreq))
    #
    #为什么 disFreq 读为 91MHz ?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    别担心。 我将查看此脚本、然后由星期一回复您。  

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Aaron Heng:

    对于我们要求审核的软件开发人员的询问、您是否会有任何建议?

    如果您能确认、我将不胜感激。

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    对我的答复延迟表示歉意。

    首先、我建议不要如注释中所述为串行器定义别名。 我还建议、物理地址和别名地址的所有解串器和 I2C 从地址都保持相同。

    我检查了 T_SKIP 值、计算结果为 30。 您能否分享一下您如何得出值为 12 的等式? 您可能还需要应用 2 位移。

    此外、您能否读取主页上的寄存器 0x64 和 0x65 并共享这些值?

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Aaron Heng

    我们将分享软件开发人员对您问题的回答。 请在提供进一步建议时参考。


    1.请求的寄存器值如下。
    [ub941] PGCTL (0x64)= 0x10
    [ub941] PGCFG (0x65)= 0x00

    2. TSKIP_CNT 值 0x18、0x1A 和 0x1E (30) 的推导过程如下。
    具体取决于 PCLK 值的细微差异和 fDSI 定义的解释。
    通过假设 89.6 或 90MHz 的两个值来设置 PCLK、假设 fDSI 为 270MHz、并假设 DPHY 数据速率为 540MHz。 假设每个时钟发送 2 位。

    1) 像素时钟= 89.6MHz 时
    TSKIP_CNT =舍入 (65 ×fDSI (GHz)−5)
    DPHY_SKIP_TIMING 寄存器在位[6:1]中使用 TSKIP_CNT。

    假设:
    像素时钟= 89.6MHz
    - DSI 通道= 4
    - DSI 时钟= PCLK× 12 /信道

    计算方法:
    DSI 时钟= 89.6 μ s(×/ 4)= 268.8MHz
    fDSI = 268.8MHz = 0.2688GHz

    TSKIP_CNT =舍入 (65 × 0.2688−5)
    65 × 0.2688 = 17.472
    17.472−5 = 12.472
    round (12.472)= 12

    TSKIP_CNT = 12

    12(十进制)= 0x0C
    0x0C << 1 = 0x18

    最终结果:
    TSKIP_CNT = 12
    DPHY_SKIP_TIMING = 0x18

    注释:
    此结果遵循 TI 参考脚本假设:
    fDSI = PCLK× 12 /通道。
    根据这种解释、计算出的 DPHY_SKIP_TIMING 值为 0x18。


    2) 像素时钟= 90MHz 时

    TSKIP_CNT =舍入 (65 ×fDSI (GHz)−5)

    假设:
    像素时钟= 90MHz
    - DSI 通道= 4
    - DSI 时钟= PCLK× 12 /信道

    计算方法:
    DSI 时钟= 90 ×(12 / 4)= 270MHz
    fDSI = 270MHz = 0.270GHz

    TSKIP_CNT =舍入 (65 × 0.270−5)
    65 × 0.270 = 17.55
    17.55−5 = 12.55
    round (12.55)= 13

    TSKIP_CNT = 13

    13 (dec)= 0x0D
    0x0D << 1 = 0x1A

    最终结果:
    TSKIP_CNT = 13
    DPHY_SKIP_TIMING = 0x1A

    注释:
    假设使用相同的 TI 参考脚本
    (fDSI = PCLK× 12 /通道)、
    90MHz 的略高像素时钟会得到 TSKIP_CNT = 13、
    因此、DPHY_SKIP_TIMING 变为 0x1A。


    3) 当 fDSI = 540MHz = 0.54GHz 时

    假设:
    像素时钟= 90MHz
    - DSI 通道= 4
    - fDSI 被解释为:
    fDSI = PCLK× 24 /通道

    计算方法:
    fDSI = 90 × 24 / 4 = 540MHz = 0.540GHz

    TSKIP_CNT =舍入 (65 × 0.540−5)
    65 × 0.540 = 35.1
    35.1−5 = 30.1
    round (30.1)= 30

    TSKIP_CNT = 30

    30(十进制)= 0x1E
    0x1E << 1 = 0x3C

    最终结果:
    TSKIP_CNT = 30
    DPHY_SKIP_TIMING = 0x3C

    注释:
    在本例中、fDSI 被解释为每通道比特率
    (fDSI = PCLK× 24 /通道)。
    基于这种解释、计算出的 DPHY_SKIP_TIMING 值变为 0x3C。


    4) 总结:
    0x18、0x1A 和 0x3C 之间的区别在于 fDSI 的定义方式。

    -如果 fDSI = PCLK× 12 /通道:
    - PCLK = 89.6MHz -> DPHY_SKIP_TIMING = 0x18
    - PCLK = 90MHz -> DPHY_SKIP_TIMING = 0x1A

    -如果 fDSI = PCLK× 24 /通道:
    - PCLK = 90MHz -> DPHY_SKIP_TIMING = 0x3C

    我们想确认应将 fDSI 定义用于哪个目的
    我们用例中的 DS90UB941AS-Q1 跳过 (DPHY_SKIP_TIMING) 计算。

     

    5) DSI_FREQ_P1 寄存器(地址= 0x5F)读作 91。
    我们根据 90MHz (13) 计算 TSKIP_CNT、并将 DPHY_SKIP_TIMING 寄存器(偏移= 0x5)的值设置为 0x1A (13<<1 -> 0x1A)、但 DSI_FREQ 读取与 91MHz 相对应的值。 问题是什么?

    6)  在通过 SER 建立(初始化)MIPI_DSI 输入到 DES 的连接时、

    GENERAL_STS 寄存器(地址= 0xC)的 DES_ERROR 字段值为 1。

    当通过 PAT_GEN 输出到显示时、DES_ERROR 字段值也为 1。

    将 DES_ERROR 设置为 1 的含义是什么、原因是什么? 当 DES_ERROR 为 1 时、是否需要复位或检查任何寄存器值或设置?

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    感谢您确认寄存器设置。

    根据我的理解、您首先按如下方式计算像素时钟 (PCLK):
    PCLK = 2048 × 729 × 60。

    然后、若要确定 DSI 频率 (fDSI)、请使用:
    fDSI =(PCLK× 24)/ DSI 通道。

    接下来、应用 T_SKIP 公式:
    T_SKIP = round (65 ×fDSI (GHz))−5。

    之后、您需要应用左移 2 位。

    您还能否确认来自源(在本例中为 SoC)的输入频率?

    此致、
    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Aaron Heng

    请参阅包含软件开发人员确认的与您提及的事项有关的信息的答复。


    1.使用方法、TSKIP_CNT 为
    PCLK = 2048 × 729 × 60 = 89.57MHz((90MHz 约为)
    fDSI =(PCLK× 24)/ DSI 通道=(89.6 x 24)/ 4 = 537.6 -> 0.5376  
    fDSI =(PCLK× 24)/ DSI 通道=(90 x 24)/ 4 = 540 -> 0.54

    T_SKIP 为 30、30 << 1 = 0x3C

    计算出的 fDSI 540 值是否意味着 MIPI DSI CLK 输入值应该是 540MHz?

    目前、我将输入 270MHz、如下面的波形所示。

    2.但是、941AS TI 的《寄存器手册》第 40 页说



    fPCLK = fDSI * N(DSI 通道)/ 12
    fDSI =(fPCLK x 12)/ N(DSI 通道)
    T_SKP 为 18、18 << 1 = 0x1A

    3.两种方法中哪一种是正确的?

    4.测量的 mipi-DSI CLK
    -(正在开发中)Telechips 8070 SOC mipi-DSI CLK 是 270MHz

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    根据您的示波器测量结果、DSI 源似乎当前已编程为 270MHz、这是理论值的一半。 因此、您需要将 DSI 源编程为 540MHz 而不是 270MHz。

    还请确保系统在连续时钟模式下运行。 我建议使用我之前分享的方法来计算 PCLK 和 fDSI。

    希望这有所帮助。 如果您有任何其他问题、敬请告知。

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Aaron Heng

    感谢您发送编修。

    为了反映您刚才提到的情况、我们收到了 AP 公司 (Telechips) 的 FAE 支持、希望将 MIPI DSI CLK 从 270MHz(当前)更改为 540MHz(计划)、我想问几个问题。

    1) 我很好奇为什么 MIPI DSI CLK 需要是 540MHz。

    根据 LGD 面板规范、60Hz 刷新率所需的 PCLK 约为 90MHz、而该 PCLK 时序所需的 MIPI 通道特定数据速率为 540MHz。

    fDSI =(PCLK× 24bpp)/ DSI 通道=(90 x 24)/ 4 = 540MHz

    由于 MIPI D-PHY 标准在每个时钟周期使用 DDR CLK 处理 2 个数据符号、因此每个 PHY 通道的设置为 CLK 270MHz 和数据 540MHz、这满足面板的 60Hz 刷新率要求。

    因此、MIPI CLK 不应该是 270MHz、而数据应该是 540MHz、这样才能符合 D-PHY 规范?

    问题: 您是否提到了连接两个 LCD 的情况(用例 2)、作为 CLK 必须满足 540MHz 的原因?

    (目前,测试是在仅连接一个 LCD 的情况下进行的。)

    如果您能确认、我将不胜感激。

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    如需更多详细信息、可能需要参阅 MIPI DSI 规范。 以下示例展示了如何在主机侧对 MIPI DSI 时钟进行编程、您通常可以根据显示时序反向工作。

    1. 找到像素时钟
      PCLK = H_{total}x V_{total}x FPS
      这与显示时序示例中使用的一般时序方法相同。
    2. 将像素时钟转换为 DSI 通道速率
    3. 将通道速率转换为 DSI 时钟

    所以实际的公式是:

    DSI 时钟=(PCLK x BPP)/(2 x N_{LANES})

    例如 RGB888、4 通道:

    DSI 时钟= PCLK x 24}/(2 x 4}= 3 x PCLK

    这意味着:

    • 如果 PCLK = 89.58MHz、则 DSI 时钟≈268.74MHz
    • 每通道数据速率为每通道 537.48Mbps。

    希望这有所帮助。 如果您有其他问题、请告诉我。

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Aaron Heng

    在与 AP 供应商讨论您提到的问题的过程中存在混淆。
    请交叉检查以下信息。

    根据您这次提供的响应、我上周测量和报告的 MIPI DSI CLK 速度是否正常?

    上周、我询问设置是否正确、因为当前 MIPI DSI 时钟的测量值大约为 270MHz。 但是、由于您建议应将其设置为 540MHz、因此似乎存在一些混淆。

    目前、MIPI DSI 时钟设置为约 270MHz、数据传输速率设置为约每通道 540Mbps。

    我似乎配置正确、所以这很奇怪。
    根据以下两种情况、请仔细检查设置是否没有问题。

    用例 1)
    将一个 MIPI DSI 组(1 个时钟通道+ 4 个数据通道)输入到 DS90UB941AS-Q1 并通过一个 FPD 链路端口将其连接到单个显示器时。

    使用每通道约 270MHz 的时钟频率和约 540Mbps 的数据带宽是否正确?


    用例 2)
    将一个 MIPI DSI 组(1 个时钟通道+ 4 个数据通道)输入到 DS90UB941AS-Q1 并通过两个 FPD 链路端口将其连接到两台显示器时。

    使用每通道约 540MHz 的时钟频率和每通道约 1080Mbps 的数据带宽是否正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    我希望我能读韩语。 请帮助翻译发布的内容。 谢谢你。

    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Aaron Heng

    抱歉。 似乎我犯了错误,复制和粘贴从谷歌翻译.

    我已将原文翻译成英文、更正了文本。

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kisuk,

    是的、您的理解是正确的、在 270MHz 处对 NRZ 的编程对应于 540Mbps。

    请注意、MIPI DSI 配置可能会因使用单端口模式还是双端口模式而异。 单端口模式最高支持 105MHz PCLK、而双端口模式最高支持 210MHz PCLK。 因此、应根据您的目标分辨率和所选端口配置对 MIPI DSI 频率进行编程。

    希望这有所帮助。 如果您有任何问题、敬请告知。

    Aaron