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.

[参考译文] SN65DSI84:无显示问题

Guru**** 2537330 points
Other Parts Discussed in Thread: SN65DSI84, SN65DSI83

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1039102/sn65dsi84-no-display-issue

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

您好!

我的客户遇到 了一个问题、即没有显示 SN65DSI84、但背光打开。

读取寄存器0xE5的值 为 0x3D。

根据 SN65dSI84的初始化序列规范、寄存器0xE5数据应该为0x00。 是这样吗?

您能否分享可帮助我们解决问题的经验?

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

    您好!

    我将向您介绍此 e2e 常见问题解答、作为调试空白屏幕问题的第一步、 https://e2e.ti.com/support/interface-group/interface/f/interface-forum/852871/faq-sn65dsi84-no-display-output-with-sn65dsi83-sn65dsi84-sn65dsi85

    谢谢

    David

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

    尊敬的 David:

    该缺陷是随机重现的、故障率较低。

     根据 SN65dSI84的初始化序列规范、当值寄存器0xE5 不 等于0x00时、我们需要复位 Init 序列2。

    是否有任何参考源代码,或者您是否可以分享经验来分享我们重置初始化序列2?

    此致

    Jarvis.chen

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

    Jarvis

    您是否参阅 第7.4.3节"初始化序列"? 您可以将0xFF 写入寄存器0xE5以将其清除。

    谢谢

    David  

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

    尊敬的 David:

    是的、我已经修改了代码、将 0xFF 写入寄存器0xE5以将其清除、当正常显示时、它将显示寄存器0xE5至0x00。

    我们还可以  使用低故障率随机重现缺陷, 并且寄存器0xE5 显示为0x70。

    ========================================================================================================================================================

    静态 int sn65dsi83_BRG_start_stream (struct sn65dsi83_BRG * BRG)

    int regval;

    INT PLL_EN;
    int SOFT_RESET;

    struct i2c_client * client = I2C_CLIENT (BRG);

    dev_info (&client->dev、"\n"、__func__);
    /*设置 PLL_EN 位(CSR 0x0D.0)*/
    SN65DSI83_WRITE (SN65DSI83_PLL_EN、0x1);
    /*等待 PLL_LOCK 位被置位(CSR 0x0A.7)*/
    mdelay (200);

    /*执行软件复位以应用更改*/
    SN65DSI83_WRITE (SN65DSI83_SOFT_RESET、0x01);

    /*读取 CHA 错误寄存器*/
    regval = SN65DSI83_Read (SN65DSI83_CHA_ERR);

    DEV_INFO (&CLIENT_>DEV、" Cha (0x%02x)= 0x%02x"、
    SN65DSI83_CHA_ERR、regval);

    /*将0xff 设置为寄存器0xE5*/
    SN65DSI83_WRITE (SN65DSI83_CHA_ERR、0xff);
    regval = SN65DSI83_Read (SN65DSI83_CHA_ERR);
    DEV_INFO (&CLIENT_>DEV、"SetFF:Cha (0x%02x)= 0x%02x"、
    SN65DSI83_CHA_ERR、regval);
    mleep (10);

    /*在设置0xff 后读取以清除寄存器0xE5*/
    regval = SN65DSI83_Read (SN65DSI83_CHA_ERR);
    dev_info (&client->dev、"ReadAfterFF:Cha (0x%02x)= 0x%02x"、
    SN65DSI83_CHA_ERR、regval);

    mdelay (1000);

    返回0;

    ===========================================================================================================================================

    此致

    Jarvis.chen

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

    Jarvis

    他们是否曾尝试启用测试模式、看看它是否起作用? 这将有助于隔离 DSI 侧和 LVDS 侧之间的问题。  

    您是否有机会浏览我之前的回复中的调试常见问题解答?

    谢谢
    David

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

    尊敬的 David:

    1.您是要使用 EVM 板运行 DSI 调谐器并启用测试模式吗?

    2.根据   SN65dSI84的初始化序列、该序列描述了重新运行  序列2 (加电并稳定之后、DSI CLK 通道必须处于 HS 状态、并且必须驱动 DSI 数据通道
    寄存器0xE5不等于0x00时进入 LP11状态。

    您是否有重新运行序列2的经验或参考源代码?

    此致

    Jarvis.chen

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

    Jarvis

    1.您是要使用 EVM 板运行 DSI 调谐器并启用测试模式吗?  

    您可以使用 DSI 调谐 器生成寄存器编程值以启用测试模式或设置地址0x3C 处的 CHA_TEST_pattern 位。

    2.根据   SN65dSI84的初始化序列、该序列描述了重新运行  序列2 (加电并稳定之后、DSI CLK 通道必须处于 HS 状态、并且必须驱动 DSI 数据通道
    寄存器0xE5不等于0x00时进入 LP11状态。

    这取决于 MIPI 源、我没有用于此的代码。 但是、如果您看到寄存器0xE5返回0x70

    1.尝试更改寄存器0x11处的 EQ 并查看它是否起作用

    2.仔细检查 DSI 接口上的时序、以确保在发生错误时没有违反设置/保持时序。

    谢谢

    David