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.

[参考译文] SN65DSI86:即使启用了色条模式、也不输出信号

Guru**** 2767775 points

Other Parts Discussed in Thread: SN65DSI86

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/952664/sn65dsi86-no-signal-output-even-when-color-bar-mode-is-enabled

器件型号:SN65DSI86

您好!

当我们启用颜色模式时、没有信号输出。

在我们的设计中、CPU 的4个 mipi DSI 通道连接到 sn65dsi86、sn65dsi86的2个 DP 通道连接到 TUSB546。

起初、我在 Linux 中使用了 ti-sn65dsi86驱动程序、但它不起作用。 然后、我使用了 SN65DSI86_Panel_VIDEOREGISTER_CALC.xlsm 生成的代码。 但即使这样、sn65dsi86也没有信号输出。 我还将 ML_TX_MODE 更改为1 (正常模式)、而不是半训练模式。 这也不起作用。 我还禁用了增强型组帧和 ASSR。

状态寄存器0xF0=3、其它为0。

我的代码基于 SN65DSI86_Panel_VIDEOREGISTER_CALC.xlsm。

   regmap_write (pdata->regmap、0xff、0x7);
   regmap_write (pdata->regmap、0x16、0x1);
   regmap_write (pdata->regmap、0xff、0x0);

   regmap_write (pdata->regmap、0x11、0x00);

   regmap_write (pdata->regmap、0x5c、0x01);

   regmap_write (pdata->regmap、0x0a、0x6);

   regmap_write (pdata->regmap、0x10、0x26);

   regmap_write (pdata->regmap、0x12、0x59);
   regmap_write (pdata->regmap、0x13、0x59);

   regmap_write (pdata->regmap、0x94、0x80);

   regmap_write (pdata->regmap、0x0d、0x1);
   usleep_range (10000、15000);

   regmap_write (pdata->regmap、0x5a、0x00);

   regmap_write (pdata->regmap、0x93、0x20);

   regmap_write (pdata->regmap、0x96、0x1);

   usleep_range (20000、25000);

   regmap_write (pdata->regmap、0x20、0x80);
   regmap_write (pdata->regmap、0x21、0x07);

   regmap_write (pdata->regmap、0x22、0);
   regmap_write (pdata->regmap、0x23、0);

   regmap_write (pdata->regmap、0x24、0x38);
   regmap_write (pdata->regmap、0x25、0x04);

   regmap_write (pdata->regmap、0x2C、0x94);
   regmap_write (pdata->regmap、0x2D、0x0);

   regmap_write (pdata->regmap、0x30、0x24);
   regmap_write (pdata->regmap、0x31、0x00);

   regmap_write (pdata->regmap、0x34、0x58);
   regmap_write (pdata->regmap、0x36、0x4);

   regmap_write (pdata->regmap、0x38、0x2C);

   regmap_write (pdata->regmap、0x3a、0x5);

   regmap_write (pdata->regmap、0x5b、0);

   regmap_write (pdata->regmap、0x3c、0x17);

   regmap_write (pdata->regmap、0x5a、0x08);

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

    您好!  

    我可以看一下您的原理图吗?  

    您实际上是在探测 DSI86输出还是 TUSB546输出?  

    谢谢

    David

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

    我正在探测 DSI86输出。 目前、只要 IC 通电、EN 引脚就会处于高电平、并且始终保持高电平。 Test2引脚是上拉电阻。 我们现在不将电路板连接到面板。

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

    您好!  

    我看不到原理图本身的问题。 是否可以转储整个 DSI86寄存器?

    谢谢

    David

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

    尊敬的 David:

    我更改了代码、使其类似于 SN65DSI86_PANE_VIDEOREGISTER_CALC 的输出。 我还使用半自动链路训练和正常模式进行了测试。 之后、我转储了 IC 的寄存器内容。 您可以在附件中找到内容。 我还附加了我的视频寄存器设置。

    以下是我的新代码:

       //========= ASSR RW 控制 ====
       RET &= regmap_write (pdata->regmap、0xFF、0x7);
       RET &= regmap_write (pdata->regmap、0x16、0x1);
       RET &= regmap_write (pdata->regmap、0xFF、0x0);

       //========= REFCLK 频率 ===
       RET &= regmap_write (pdata->regmap、0x0A、0x6);

       //========= DSI 模式 ====
       RET &= regmap_write (pdata->regmap、0x10、0x26);

       //========= DSIA 时钟 ===
       RET &= regmap_write (pdata->regmap、0x12、0x59);

       //========= DSIB 时钟 ====
       RET &= regmap_write (pdata->regmap、0x13、0x59);

       //========= DP 数据速率 ===
       RET &= regmap_write (pdata->regmap、0x94、0x80);

       //========= 启用 PLL ===
       RET &= regmap_write (pdata->regmap、0x0D、0x1);

       //========= 在 DSI86 ===中启用增强型帧
       RET &= regmap_write (pdata->regmap、0x5A、0x4);

       //========= DP 信道数 ===
       RET &= regmap_write (pdata->regmap、0x93、0x20);

       //========= 开始半自动链路训练 ===
       RET &= regmap_write (pdata->regmap、0x96、0x01);

       //========= CHA 活动行长度 ===
       RET &= regmap_write (pdata->regmap、0x20、0x80);
       RET &= regmap_write (pdata->regmap、0x21、0x07);

       //========= CHB 活动线长度 ===
       RET &= regmap_write (pdata->regmap、0x22、0x0);
       RET &= regmap_write (pdata->regmap、0x23、0x0);

       //========= 垂直活动大小  ====
       RET &= regmap_write (pdata->regmap、0x24、0x38);
       RET &= regmap_write (pdata->regmap、0x25、0x04);

       //========= 水平脉冲宽度  ====
       RET &= regmap_write (pdata->regmap、0x2C、0x2C);
       RET &= regmap_write (pdata->regmap、0x2D、0x00);

       //========= 垂直脉冲宽度  ===
       RET &= regmap_write (pdata->regmap、0x30、0x05);
       RET &= regmap_write (pdata->regmap、0x31、0x00);

       //========= HBP  ====
       RET &= regmap_write (pdata->regmap、0x34、0x94);

       //========= VBP  ====
       RET &= regmap_write (pdata->regmap、0x36、0x24);

       //=== HFP ====
       RET &= regmap_write (pdata->regmap、0x38、0x58);

       //=== VFP ====
       RET &= regmap_write (pdata->regmap、0x3A、0x04);

       //=== DP-18BPP 禁用 ===
       RET &= regmap_write (pdata->regmap、0x5B、0x0);

       //=== 启用色条 ====
       RET &= regmap_write (pdata->regmap、0x3C、0x17);

       //=== 增强型帧和 Vstream 使能 ===
       RET &= regmap_write (pdata->regmap、0x5A、0x0C);

    e2e.ti.com/.../semi_5F00_training.txt

    e2e.ti.com/.../no-training.txt

    e2e.ti.com/.../4380.SN65DSI86_5F00_PANEL_5F00_VIDEOREGISTER_5F00_CALC.zip

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

    您好!

    是否可以连接面板? 寄存器转储显示链路训练故障。 如果训练不成功、DSIx6会将 ML_TX_MODE 转换为主链路关闭。

    谢谢

    David

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

    尊敬的 David:

    我们断开了 sn65dsi86与 tusb546的连接、并通过 DP 端口将其连接到监视器。 我们将2条 DP 信道和辅助信道连接到了监视器。 这也不起作用。 链路训练仍然失败。 我将寄存器从0xB0调整为0xBF、并从0xC0调整为0xC3。 这也没有什么帮助。 状态寄存器表示 DSI-A 通道存在一些问题;但我认为链接故障问题不是由 DSI 问题引起的。

    你有其他建议吗? 以下是我的寄存器转储:

    [34.803375]  ti_sn65:F0:00
    [34.806690]  ti_sn65:f1:2B
    [34.810030]  ti_sn65:F2:00
    [34.814161]  ti_sn65:F3:00
    [34.817497]  ti_sn65:F4:00
    [34.820823]  ti_sn65:F5:02
    [34.824116]  ti_sn65:F6:00
    [34.827421]  ti_sn65:F7:00
    [34.830747]  ti_sn65:F8:12.

    感谢你的帮助。

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

    您好!

    如果启用了色条、我们现在可以忽略 DSI 错误、因为 DSI86在内部生成色条。 但寄存器0xf8显示了链路协商失败、故障与链路协商的 EQ 训练阶段相关。 如果您提高每个级别的预加重程度、我希望您能够通过链路训练。 您是否有办法监控和捕获 DSI86和监视器之间的链路训练?

    谢谢

    David

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

    尊敬的 David:

    我尝试捕获链路训练数据;但在链路训练期间、DP 信道上没有输出。 不过、我们可以在辅助通道上看到数据。 我不知道为什么链路训练期间 DP 信道上没有数据。 我希望如果辅助通道上有数据、DP 通道上也应该有数据。

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

    尊敬的 David:

    我还尝试了80位自定义模式测试。 我想、仅将0x08设置到寄存器0x96足以在调整通道数和数据速率后激活此测试。 但是、即使在这种情况下、我也看不到 DP 通道上的任何数据。

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

    您好!

    面板支持2通道或4通道 DP 模式吗? 我附加了两个脚本文件、一个是2 DP 信道颜色栏、另一个是4 DP 信道颜色栏、您能否查看其中的任何一个在将面板直接连接到 DSI86输出时是否工作?

    e2e.ti.com/.../2DP_5F00_4DSI_5F00_RBR_5F00_800x600_5F00_Color_5F00_Bar.7z

    e2e.ti.com/.../4DP_5F00_4DSI_5F00_RBR_5F00_800x600_5F00_Color_5F00_Bar.xml

    谢谢

    David  

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

    尊敬的 David:

    面板支持2个通道。 我们的面板具有 NXP 的 ptn3460 IC。 我们将 sn65dsi86的引脚直接连接到其引脚。 如果我尝试过80位自定义模式测试、即使没有面板连接、我也不应该在通道上看到任何内容? 我想当激活80位自定义模式测试时、通道上应该有一些信号模式。

    我尝试了您发送的2DP 颜色模式脚本、在面板或通道上看不到任何内容。 以下是寄存器转储:

    [20.297185]  ti_sn65 0x16:00
    [20.325172]  ti_sn65 0x16:01
    [20.365578]  ti_sn65 0x12:55 00
    [20.393622]  ti_sn65:0x93:04 04 00 C8 00
    [20.461259]  ti_sn65 0x0A:84 04
    [20.501172]  ti_sn65 0x96:00
    [20.923938]  ti_sn65 20:00
    [20.926749]  ti_sn65 21:58
    [20.929570]  ti_sn65 22:00
    [20.932363]  ti_sn65 23:80
    [20.940760]  ti_sn65 24:04
    [20.943553]  ti_sn65 25:28
    [20.946389]  ti_sn65 26:28
    [20.949212]  ti_sn65 27:10.
    [20.952007]  ti_sn65 28:40
    [20.954834]  ti_sn65 29:00
    [20.957654]  ti_sn65 2a:40
    [20.960450]  ti_sn65 2b:00
    [20.968761]  ti_sn65 2c:00
    [20.971553]  ti_sn65 2D:00
    [20.974370]  ti_sn65 2e:C8
    [20.977192]  ti_sn65 2f:00
    [20.979910]  ti_sn65 30:00
    [20.982801]  ti_sn65 31:fc
    [20.985629]  ti_sn65 32:90
    [20.988426]  ti_sn65 33:00
    [20.996760]  ti_sn65 34:2D
    [20.999554]  ti_sn65 35:00
    [21.002403]  ti_sn65 36:00
    [21.005235]  ti_sn65 37:00
    [21.008031]  ti_sn65 38:60
    [21.010844]  ti_sn65 39:00
    [21.013664]  ti_sn65 3a:00
    [21.016458]  ti_sn65 3b:00
    [21.024760]  ti_sn65 3c:01
    [21.027552]  ti_sn65 3D:00
    [21.030373]  ti_sn65 3e:02
    [21.033199]  ti_sn65 3f:00

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

    您好!

    DSI86寄存器似乎未正确设置或被覆盖。

    例如、在我发送的脚本示例中

    === Cha_vertal_BACK_Porch ===
    36 09.

    === Cha_Horizontale_front_Porch ===
    38 28.

    === Cha_vertale_front_Porch ===
    3A 01

    === DP_18BPP_EN ===
    5B 01

    === 色条====
    3c 10.

    正在启用色条并将其设置为垂直颜色。

    但寄存器转储将寄存器0x3C 显示为0x01、这意味着禁用色条。 您能否仔细检查 I2C 接口?

    谢谢

    David