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.

[参考译文] SN65DSI83ZXHR:无法通过软件复位 LVDS 桥、显示屏上无输出

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

https://e2e.ti.com/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/1095881/sn65dsi83zxhr-unable-to-reset-the-lvds-bridge-through-software-and-no-output-on-display

主题中讨论的其他器件:SN65DSI83

大家好、

我们通过 MIPI-LVDS 桥接器将10.1英寸显示屏与 IMX8MM 定制板集成在一起、如下所示。

LVDS 显示集成:

 

  1. 原理图

 

 

 

Dtsi 更改

 

i2c4{(&I)

       时钟频率=<300000>;

       pinctrl-names ="default";

       pinctrl-0 =<&pinctrl_i2c4>;

       状态="正常";

               (笑声)

               (笑声)

       LVDS_BRIDGE:sn65dsi83@2c{

               兼容="ti、sn65dsi83";

               reg =<0x2C>;

               TI、DSI 通道=<4>;

               TI、LVDS-FORMAT =<2>;

               TI、LVDS-bpp =<24>;

               TI、LVDS 通道=<1>;

               ti、width-mm =<149>;

               ti、身高-mm =<93>;

               ENABLE-GPIO =<&GPIO2 9 GPIO_ACTIVE_HIGH_>;

               interrupt-parent =<&GPIO2>;

               中断=<8 IRQ_TYPE_LEVEL_HIGH_>;

               pinctrl-names ="default";

               pinctrl-0 =<&pinctrl_DSI_LVDS_Bridge>;

               状态="正常";

 

       显示时序{

               LVDS{

                       时钟频率=<725000>;

                       hactive =<1280>;

                       Vactive =<800>;

                       后沿=<88>;

                       前沿=<72>;

                       后沿=<23>;

                       垂直前沿=<15>;

                       HSYNC-LEN =<80>;

                       vsync-len =<10>;

               };

       };

 

       端口{

               sn65dsi83_in:端点{

               远程端点=<&dsim_TO_sn65dsi8>;

     };

   };

 };

};

 

lcdif{(&L)

      /*trusty;*/

      状态="正常";

};

 

mipi_DSI{.mipi_DSI}

      状态="正常";

      端口@2{

              dsim_TO_sn65dsi8:端点{

                      远程端点=<&sn65dsi83_in>;

                      连接桥;

             };

      };

};

 

iomuxc{(&I)

      pinctrl_DSI_LVDS_BRIDGE:LVDS_BRIDGE_GPIO{

           FSL、引脚=<

                      MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9                0x16

                      MX8MM_IOMUXC_SD1_DATA6_GPIO2_IO8                0x19

               >;

       };

 

  1. 在源代码中添加了以下驱动程序

drivers/GPU/DRM/BRIDE/sn65dsi83/

  1. 刷写后、我们观察到驱动程序无法重置桥、下面是证据日志

sn65dsi83 3-002c:sn65dsi83_probe
[2.604061]   sn65dsi83 3-002c:无法解析启用面板 GPIO
[2.610051]   sn65dsi83 3-002c:sn65dsi83_BRG_POWER_OFF
[2.634134]   sn65dsi83 3-002c:sn65dsi83_BRG_POWER_ON
[2.650154]   sn65dsi83 3-002c:sn65dsi83_read client 0x (_____ptrval___)
[2.657291]   sn65dsi83 3-002c:(默认)无法在0x3e4c752e 读取
[2.66354]   sn65dsi83 3-002c:sn65dsi83_BRG_RESET RET-=-6
[2.674739]   sn65dsi83 3-002c:无法重置设备
[2.680060]   sn65dsi83 3-002c:sn65dsi83_probe、ret=-19
[2.685729]   sn65dsi83 3-002c:无法重置设备
[2.691167]   i2c i2c-3:已注册 IMX I2C 适配器

 

在 ADB shell 中,使用命令$ i2cdetect -y 3,我看不到 LVDS 显示注册。

请帮我们重置 LVDS 桥。

LVDS 桥接器集成中是否缺少任何配置?

谢谢、

Raghavendra

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

    Raghavendra

    查看原理图、可以看到 EN 是从外部驱动的。 是否已确保您遵循加电时序要求?

    您是否还在尝试设置 DSI83寄存器0x09的 SOFT_RESET 位? DSI83 I2C 引脚好像连接到了测试点、您是否连接到了 I2C 控制器?

    谢谢

    David  

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

    尊敬的 David:

    感谢您的快速响应。

    我知道、使用的 SN65DSI83驱动器基于 I2C、但在当前设计中、我们的硬件团队将 I2C SCL 和 SDA 线路作为浮动和复位引脚、由 IMX8MM 控制。

    现在、如何继续。您能帮助回答以下问题吗?

    1.如何通过 MIPI-DSI => LVDS (桥接)=> LVDS 10.1英寸显示面板(不带 I2C)从 IMX8MM 传递显示数据

    一个观察结果是、如果我将 I2C 复位返回值硬编码为0、它将完成探头函数执行、并且所有 I2C 读取和写入都失败。

    3. TI 是否有驱动程序来实现我们的设计(不将电桥连接到 I2C)? 对显示数据有何影响?

    谢谢、

    Raghavendra

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

    尊敬的 David:

    我们已经解决了重置问题、 而且面板上没有正确的显示输出。无法清楚地看到图像/活动。

    显示的参数如下所示。

    以下是对源代码所做的 dtsi 更改。

    i2c2{(&I)

           时钟频率=<400000>;

           pinctrl-names ="default";

           pinctrl-0 =<&pinctrl_i2c2>;

           状态="正常";

           LVDS_BRIDGE:sn65dsi83@2c{

                   兼容="ti、sn65dsi83";

                   reg =<0x2C>;

                   TI、DSI 通道=<4>;

                   TI、LVDS-FORMAT =<2>;

                   TI、LVDS-bpp =<24>;

                   TI、LVDS 通道=<1>;

                   ti、width-mm =<260>;

                   ti、身高-mm =<183>;

                   ENABLE-GPIO =<&GPIO2 9 GPIO_ACTIVE_HIGH_>;

                   interrupt-parent =<&GPIO2>;

                   中断=<8 IRQ_TYPE_LEVEL_HIGH_>;

                   pinctrl-names ="default";

                   pinctrl-0 =<&pinctrl_DSI_LVDS_Bridge>;

                   状态="正常";

     

                   显示时序{

                           LVDS{

                                   时钟频率=<725000>;

                                   hactive =<1280>;

                                   Vactive =<800>;

                                   后沿=<88>;

                                   前沿=<72>;

                                   后沿=<23>;

                                   垂直前沿=<15>;

                                   HSYNC-LEN =<80>;

                                   vsync-len =<10>;

                           };

                   };

     

                   端口{

                           sn65dsi83_in:端点{

                                   远程端点=<&dsim_TO_sn65dsi8>;

                           };

                   };

           };

     

    面板上显示的图像:

      

    要显示的预期图像:

      

     

    是否缺少更改、请帮助我们进行审核。

    谢谢、

    Raghavendra

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

    Raghavendra

    您现在是否已将 DSI83 I2C 总线连接到 I2C 控制器?  

    SN65DSI83器件的许多功能都由控制和状态寄存器(CSR)控制。 可通过本地 I2C 接口访问所有 CSR 寄存器。 因此、您必须首先通过 I2C 正确地对 DSI83进行编程。  

    随附 DSI 调谐器软件、您可以使用它从 LVDS 面板规格中生成 DSI83寄存器编程值。

    e2e.ti.com/.../DSI-Tuner-2.1.zip

    谢谢

    David

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

    尊敬的 David:

    附上当前的显示视频供您参考。请告诉我您对此有何想法。

    e2e.ti.com/.../VID_2D00_20220428_2D00_WA0000.mp4

    谢谢、

    Raghavendra

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

    Raghavendra

    您现在是否能够对 DSI83进行编程? 如果您看一下 DSI83初始化序列要求、则需要根据实现情况将所有 CSR 寄存器初始化为相应的值(SN65DSI8x 在 CSR 寄存器初始化之前不起作用)

    谢谢

    David

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

    尊敬的 David:

    是的、可以对 DSI83进行编程、但从驱动程序中、我可以看到所有参数(CSR 寄存器)都是通过寄存器移位操作写入的。

    其余的其他寄存器值与预期的 csr.txt 相同。这些值由 DSI 调谐器生成。

    请找到所附的 logcat 和 dmesg 日志。

    e2e.ti.com/.../logcat.txte2e.ti.com/.../kernel_5F00_dmesg.txte2e.ti.com/.../CSR_2D00_bridge.txt

    请告诉我是否要进行任何其他更改。

    谢谢、

    Raghavendra

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

    Raghavendra

    DSI83器件支持 LVDS 通道上的信号生成功能。 此功能可用于测试系统平台中的 LVDS 输出路径和 LVDS 面板。 可通过设置地址0x3C 上的 CHA_TEST_pattern 位来启用图形生成功能。

    如果您启用了测试模式、您是否能够看到测试模式?

    谢谢

    David

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

    尊敬的 David:

    我已通过将0x16写入0x3C 来测试 LVDS 测试模式。 可以在 LVDS 面板上看到以下输出。

    我们探测了 DSI83的 VCC 和 EN 引脚、下面是波形。  

      

    谢谢、

    Raghavendra

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

    Raghavendra

    测试模式应如下所示、

    在这种情况下、未针对显示面板正确配置 LVDS 输出。 您能否检查显示面板是否使用了正确的格式(格式1与格式2),以及 LVDS 时序是否符合规格?

    谢谢

    David

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

    尊敬的 David:

    我已将格式值更改为<1>、并且能够在显示屏上观察到以下图像。

    从上图可以清楚地看出、LVDS Bridge => Panel 之间的通信是正确的、没有发现任何问题。

    我们可能缺少一些软件或硬件配置。 我正在附上 dtsi、驱动程序和错误日志供您参考。请查看并分享您的评论意见。

    e2e.ti.com/.../display_5F00_bringup.zip

    谢谢、

    Raghavendra

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

    Raghavendra

    我同意 LVDS 输出接口现在看起来是正确的。

    您能否检查 DSI 端的线时间?  DSI 输入上的线时间(从 HSYNC 到 HSYNC 的时间)与 LVDS 输出上的线时间相匹配。 LVDS 输出上的线时间是水平像素的总数量除以 LVDS 时钟频率。 您可以通过放大数据通道上的数据流来使用示波器测量 DSI 输入上的线时间、如下所示:

    谢谢

    David

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

    尊敬的 David:

    我已经解决了这个问题、下面是显示面板的最新图像、没有观察到闪烁、但我还是希望能更清晰一些、因为它的1280 x 800显示面板。 下面是我在 dtsi 中更改的参数、这与供应商提供的 HSYNC 和 vsync 时序参数略有不同。

    LVDS_BRIDGE:sn65dsi83@2c{
    兼容="ti、sn65dsi83";
    reg =<0x2C>;
    TI、DSI 通道=<4>;
    TI、LVDS-FORMAT =<2>;
    TI、LVDS-bpp =<16>;
    TI、LVDS 通道=<1>;
    ti、width-mm =<216>;
    ti、身高-mm =<135>;
    TI、突发模式=<1>;
    ENABLE-GPIO =<&GPIO2 9 GPIO_ACTIVE_HIGH_>;
    interrupt-parent =<&GPIO2>;
    中断=<8 IRQ_TYPE_LEVEL_HIGH_>;
    pinctrl-names ="default";
    pinctrl-0 =<&pinctrl_DSI_LVDS_Bridge>;
    状态="正常";

    显示时序{
    LVDS{
    时钟频率=<725000>;
    hactive =<1280>;
    Vactive =<800>;
    后沿=<88>;
    前沿=<72>;
    后沿=<23>;
    垂直前沿=<15>;
    HSYNC-LEN =<660>;
    vsync-len =<20>;
    };
    };

    显示的图像:

    我有一个问题: 为了获得更清晰的图像、需要进一步进行哪些更改?

    谢谢、

    Raghavendra

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

    Raghavendra

    1.您是否有办法提高输出 LVDS 时钟频率?  

    2.您也可以尝试增大 LVDS 输出摆幅、看看这是否有用、寄存器0x19、位[3:2]。

    谢谢

    David

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

    尊敬的 David:

    在继续上述调试过程中、我们可以完成显示启动、但当前配置显示闪烁。


    请帮您回答以下问题

    1.我是从 LVDS 桥接侧进行调试的、我们是否仍然缺少任何配置?

    2. CAN LVDS 桥接器导致面板上出现闪烁。

    目前、根据供应商的配置、HSYNC-len 为40 (提供60Hz 刷新率)、但无法在面板上看到任何内容。如果我们将 HSYNC-len 更改为660 (导致刷新率40Hz)、我们可以在面板上看到输出。经常观察到这种闪烁、 但是、在2-3个功率周期后、似乎是稳定的。

    谢谢

    Raghavendra

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

    Raghavendra

    您能否分享您想要实现的最新分辨率规格?  

    当 HSYNC - len (Hactive)为660时、如果启用测试模式、您是否看到任何闪烁问题?

    如果您将 Hactive 更改为660、您是否也更改了 DSI 输入? DSI 输入的线时间必须与 LVDS 输出的线时间匹配。

    谢谢

    David

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

    尊敬的 David:

    请找到以下答案。

    1.您能否分享您尝试实施的最新分辨率规格?  

    源代码中使用的参数:

    LVDS_BRIDGE:sn65dsi83@2c{
    兼容="ti、sn65dsi83";
    reg =<0x2C>;
    TI、DSI 通道=<4>;
    TI、LVDS-FORMAT =<2>;
    TI、LVDS-bpp =<24>;
    TI、LVDS 通道=<1>;
    ti、width-mm =<216>;
    ti、身高-mm =<135>;
    TI、突发模式=<1>;
    ENABLE-GPIO =<&GPIO2 9 GPIO_ACTIVE_HIGH_>;
    interrupt-parent =<&GPIO2>;
    中断=<8 IRQ_TYPE_LEVEL_HIGH_>;
    pinctrl-names ="default";
    pinctrl-0 =<&pinctrl_DSI_LVDS_Bridge>;
    状态="正常";

    显示时序{
    LVDS{
    时钟频率=<725000>;
    hactive =<1280>;
    Vactive =<800>;
    后沿=<88>;
    前沿=<72>;
    后沿=<23>;
    垂直前沿=<15>;
    HSYNC-LEN =<40>;
    vsync-len =<20>;
    };
    };

    注意:对于上述配置、如果 HSYNC - len = 660、则无法观察显示屏上的输出。

    2. HSYNC-LEN (HACTIVE)为660,如果启用测试模式,是否看到任何闪烁问题?

    我们可以生成测试图案 HSYNC-len 660、但在此阶段看不到闪烁。

     

    3.如果您将 Hactive 更改为660,您是否也更改了 DSI 输入? DSI 输入的线时间必须与 LVDS 输出的线时间匹配。

    不能、您可以就此分享更多信息。

    如果 HSYNC-LEN = 660、您能告诉我们可以在哪里更改 DSI 输入吗?

    谢谢、

    Raghavendra

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

    Raghavendra

    请参阅此 e2e 常见问题解答、 https://e2e.ti.com/support/interface-group/interface/f/interface-forum/990480/faq-sn65dsi84-how-to-debug-flickering-video-with-sn65dsi83-sn65dsi84-and-sn65dsi85。 您必须确保 DSI 源的线时间(从 HSYNC 到 HSYNC 的时间)与 LVDS 输出上的线时间相匹配。 LVDS 输出上的线时间是水平像素的总数量除以 LVDS 时钟频率。 您可以使用示波器测量 DSI 输入上的线时间。

    谢谢

    David

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

    尊敬的 David:

    1. 如果测试图案出现闪烁或颜色不正确(例如白色条显示为灰色)、则可能未针对显示面板正确配置 LVDS 输出。 检查显示面板的格式(格式1与格式2)是否正确,并且 LVDS 时序是否符合规格。

    回答: 我们保留了格式2。 如果更改为格式1、则显示屏上的输出失真、并且观察到仍然闪烁的行为。

    1. DSI 输入上的突发/线时间。 确保 DSI 输入上的线时间(从 HSYNC 到 HSYNC 的时间)与 LVDS 输出上的线时间相匹配。 LVDS 输出上的线时间是水平像素的总数量除以 LVDS 时钟频率

    响应:探测时的 DSI 0线路响应与 您提供的 TI 参考图像不同

    DSI 0通道探测图像:已连接

    时钟:

    DSI_0_N:

    DSI_0_P:

    1. 您还可以尝试使用干净的外部 REFCLK 作为 PLL 的时钟源、而不是使用 DSI CLK 作为 PLL 源、因为噪声过大的 DSI CLK 可能会导致不稳定的 LVDS 时钟输出。

    响应:截至目前,DSI 时钟已用作参考时钟,您能否为此提供任何 TI 参考设计?

     

    谢谢、

    Raghavendra

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

    Raghavendra

    DSI 侧的线时间(从 HYSNC 到 HSYNC)必须与 LVDS 侧的线时间匹配。 LVDS 端的线时间= Htotal / LVDS CLK = 1480/74.2 = 20.44us。 但 DSI 侧测量的线时间为28us。 因此、您必须更新 DSI 源以确保线时间匹配、然后查看是否存在闪烁问题。  

    对于时钟、通道1和2是什么? 这两个波形彼此完全不同。 DSI_CLK = LVDS CLK * bpp /(2 * DSI 通道)= 74.2 * 24 /(2 * 4)= 222.6MHz。 但 DSI CLK 与该频率不匹配。

    谢谢

    David

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

    尊敬的 David:


    LVDS 端的线路时间= Htotal / LVDS CLK = 1480/74.2 = 20.44us。 =>同意这一点,这是 HSYNC-len=40的情况,因此 Htotal 将为1480 (1280+88+72+40)。
    但是、DSI 侧测量的线时间为28us => 、因为我们使用了 HSYNC-len=660、导致 Htotal 2100、因此2100/72.4 =~29us。

    因此、您必须更新 DSI 源以确保线时间匹配、然后查看是否存在闪烁问题。
    您是指更新 DSI 时钟或 DSI 数据输入信号? 如果 DSI 数据信号可以、请在此处提供任何参考。

    根据波形、
      >>通道1是 LVDS 时钟的探测结果、波形中可以看到72.5MHz
      >>通道2是 DSI_CLK_P/N 时钟信号、DSI_CLK =(LVDS CLK * bpp)/(2*DSI 通道)=(74.2M*24)/(2*4)= 217.2MHz (波形为 ~211.81MHz)

    谢谢、

    Raghavendra

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

    Raghavendra

    Htotal 2100超出了面板的支持能力。 如果将 HSYNC - len 减小到40、闪烁是否消失?

    谢谢

    David

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

    尊敬的 David:

    当 HSYNC-len=40时,面板上不显示任何内容。 因此、在使用660进行试错时、我们可以在显示面板上进行观察。

    有关闪烁行为的观察结果:

    1.在第一次闪存后为器件加电时、会观察到闪烁行为。

    2.在2-3个电源周期后、闪烁的可能性会非常小。

    谢谢、

    Raghavendra  

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

    Raghavendra  

    查看面 板规格、面板规格定义的 Hsync 后沿值88与脉冲宽度一起。 那么、我们能否检查并查看脉冲宽度为40、Hsync 后沿为48时会发生什么情况?

    我们还需要对 Vsync 后沿进行相同的更改。

    谢谢

    David

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

    尊敬的 David:

    我已经尝试过、HSYNC 反向 proch 值为48、与此类似、也将 vsync 后沿更改为13和3。  

    但无法在显示面板上观察到任何内容。

    谢谢、

    Raghavendra

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

    Raghavendra

    您能否共享您的最新源代码供我查看? 如果启用测试模式、测试模式是否仍然正常工作?

    谢谢

    David

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

    尊敬的 David:

    请找到所附的源代码。 敬请查看并告知我们是否需要任何更改。

    e2e.ti.com/.../source_5F00_code.zip

    2.如果启用测试模式,我们就能看到工作正常。

    谢谢、

    Raghavendra

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

    Raghavendra

    您是否更改了 DSI83寄存器的 HBP 和 VBP 编程值? 这是我从代码中看到的。

    #ifndef __SN65DSI83_TIMing_H__
    #define __SN65DSI83_TIMing_H__

    /*默认视频参数*/
    #define PIXCLK_INIT 7240000

    #define HACTIVE_INIT 1280
    #define HPW_INIT 0
    #define HBP_INIT 88
    #define HFP_init 72

    #define VACTIVE_INIT 800
    #define VPW_INIT 0
    #define VBP_init 23
    #define VFP_init 15

    静态常量结构 display_timing panel_default_timing ={
    像素时钟={PIXCLK_init、PIXCLK_init、PIXCLK_init}、
    .hactive ={HACTIVE_INIT、HACTIVE_INIT、HACTIVE_INIT}、
    .hfront_carch ={HFP_init、HFP_init、HFP_init}、
    .hsysnc_len ={hpw_init、hpw_init、hpw_init}、
    .h后勤 沿={HBP 初始化、HBP 初始化、HBP 初始化}、
    .vactive ={VACTIVE_init、VACTIVE_init、VACTIVE_init}、
    .vfront_carch ={vfp_init、vfp_init、vfp_init}、
    .vsync_len ={VPW_init、VPW_init、VPW_init}、
    .vbback _carch ={vbp_init、vbp_init、vbp_init}、
    flags = display_FLAGS_HSYNC_LOW |
    Display_FLAGS_VSYNC_LOW |
    Display_FLAGS_DE_LOW |
    Display_FLAGS_PIXDATA_NEGEDGE、
    };

    #endif /*__SN65DSI83_TIMing_H__*/

    谢谢

    David

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

    尊敬的 David:

    我们到目前为止观察到的是、从 dtsi 文件中解析时序参数、更改后可能会产生影响。 在本例中为 imx8mm-evk.dtsi。

    2.共享的值来自 sn65dsi83_timing.h 文件, 如果没有设备树节点,这些值将读取默认时序。

    从 sn65dsi83_drv.c 中、请参阅以下代码段。

    /*如果*/没有设备树节点,则读取默认计时
    if ((of _get_videomode (np、&sn65dsi83->BRG->VM、0))< 0)
    videomode_from 计时(&panel_default_timing、&sn65dsi83->BRG->VM);

    谢谢、

    Raghavendra  

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

    Raghavendra

    在当前配置中、DSI 侧的 Hsync 到 Hsync (线路时间)是否与 LVDS 侧的线路时间匹配、即1440/72.4 = 19.89us?

    谢谢

    David

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

    尊敬的 David:

    请找到以下使用时序参数的 dtsi 节点。

    显示时序{
    LVDS{
    时钟频率=<725000>;
    hactive =<1280>;
    Vactive =<800>;
    后沿=<88>;
    前沿=<72>;
    后沿=<3>;
    垂直前沿=<15>;
    HSYNC-LEN =<40>;
    vsync-len =<20>;
    };
    };

    在上述情况下、显示屏上无输出变化、但变化 hysnc-len=660时、能够观察到显示屏闪烁。

    先前聊天中已经附加了为工作条件波形测量的线时间。  

    请告诉我们如何进一步开展工作。

    谢谢、

    Raghavendra

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

    Raghavendra

    如果您更改 Hback 端口= 48、会发生什么情况?

    显示时序{
    LVDS{
    时钟频率=<725000>;
    hactive =<1280>;
    Vactive =<800>;
    后沿=<48>;
    前沿=<72>;
    后沿=<3>;
    垂直前沿=<15>;
    HSYNC-LEN =<40>;
    vsync-len =<20>;
    };
    };

     HSYNC-LEN =<40>时、DSI 侧的线时间是多少?

    谢谢

    David

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

    尊敬的 David:

    使用后沿=<48>; 更改时、我们无法观察面板上的任何输出。请找到以下图像供您参考。

    谢谢、

    Raghavendra

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

    Raghavendra

    您可以测量 DSI 输入吗? 您是否在 DSI 输入上看到了正确的线时间?

    谢谢

    David

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

    尊敬的 David:

    一定会检查并更新。

    谢谢、

    Raghavendra

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

    尊敬的 David:

    我们还有另一个有关闪烁行为的问题。

    我们提供了两个复位信号、一个用于 SN65DSI83、即 EN、另一个用于 LCD 面板。

    1. EN 的加电/复位序列和面板复位是否会导致闪烁?

    我们有探测电桥 VDD、EN、LCD 和背光。 下面的波形显示了随后的电流复位序列。

    2.我们的 LCD 面板供应商建议移除面板复位和测试。我们已经测试、仍然能够观察显示屏上的闪烁。

    3.我们的硬件团队要求我们遵循附加的复位序列? 您想知道、这是否会影响闪烁行为? 请查看这两个波形、并在需要进行任何更改时恢复。

    e2e.ti.com/.../LCD-_2600_-LVDS-Bridge-Initialization-Sequence.pdf

    谢谢、

    Raghavendra

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

    Raghavendra

    我认为 DSI83的复位和 LCD 面板的复位相互独立。 您需要确保 DSI83复位满足 DSI83复位要求、LCD 面板复位满足 LCD 复位要求。 测试图形在没有闪烁的情况下工作的因素也表明 DSI83能够与 LCD 面板正确通信。  

    对我来说、有几个开放式问题、  

    1.当 HSYNC-len=660时,将导致 Htotal 2100超出 LCD 面板规格,面板是否支持此分辨率?

    2.您能否验证测试模式是否适用于以下配置?

    3.您能否使用以下配置测量 DSI 输入上的线时间?

    显示时序{
    LVDS{
    时钟频率=<725000>;
    hactive =<1280>;
    Vactive =<800>;
    后沿=<48>;
    前沿=<72>;
    后沿=<3>;
    垂直前沿=<15>;
    HSYNC-LEN =<40>;
    vsync-len =<20>;
    };
    };

    谢谢

    David

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

    尊敬的 David:

    请查找以下对您的问题的答复。

    1.当 HSYNC-len=660时,将导致 Htotal 2100超出 LCD 面板规格,面板是否支持此分辨率?

    否、也向供应商咨询。

    2.您能否验证测试模式是否适用于以下配置

    通过提供的配置、我们可以生成测试模式。

    3.您能否使用以下配置测量 DSI 输入上的线时间?

    是的、我们已经测量了线时间、发现值为7.52ns、并使用提供的配置、请参阅下图、了解在 MIPI_DSI0_N/P 线路上探测的波形。

    谢谢、

    Raghavendra

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

    Raghavendra

    测量结果看起来不正确、因为我没有像以前那样从波形中看到清晰的 LP 和 HS 数据。

    谢谢
    David