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**** 2473270 points
Other Parts Discussed in Thread: SN65DSI86

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1542342/sn65dsi86-the-screen-suddenly-went-black-during-use-but-there-was-still-backlight

器件型号:SN65DSI86


工具/软件:

我们使用 SN65DSI86 产品、它在通电时能正常显示、并且屏幕长时间保持打开状态。 使用一段时间后(可能 30 分钟、可能 3 小时或更长时间)、屏幕突然变黑、背光正常。 我是否可以询问如何解决这种情况、需要读取哪些寄存器来找到问题、或者需要测量哪些信号?

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

    嗨、Haibin、

    对于这种情况、我建议执行以下过程:

    • 正常运行期间的寄存器转储(所有寄存器回读值)  
    • 带有背光的黑屏期间的寄存器转储仍然正常

    器件中有多个可用的诊断寄存器、可帮助确定运行时哪个功能(输入/输出协议)出现问题。

    通过对这两个日志进行直接比较、可以了解哪些配置可以轻松更改、以及需要重点关注哪些配置。

    下面是一个示例脚本:

    e2e.ti.com/.../RegisterDumpExample.py

    您是否还能在测试期间提供任何其他条件(如果有)?

    谢谢、

    Miguel

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

    e2e.ti.com/.../Black.csve2e.ti.com/.../OK.csv

    附件 OK.csv 在正常显示时显示转储信息、而 black.csv 在屏幕黑屏时显示转储信息。

    sn65dsi86 初始代码:

    int sn65dsi86_init(void)
    {
    	sn65dsi86_write(0x09, 0x00); // SW Reset
    	sn65dsi86_write(0x0A, 0x09); // DACP/N CLOCK FREQ 460.8MHz
    	sn65dsi86_write(0x0D, 0x00); // PLL DISABLE
    	sn65dsi86_write(0x10, 0x26); // Single channel DSI receiver A, DSIA 4Lanes
    	sn65dsi86_write(0x11, 0x00); // CHA/B DSI DATA/CLK EQ
    	sn65dsi86_write(0x12, 0x59); // DSIA CLK FREQ 445~450MHz
    
    	sn65dsi86_write(0x5A, 0x05); // enhanced framing and ASSR
    	sn65dsi86_write(0x93, 0x20); // 2 DP lanes no SSC
    	sn65dsi86_write(0x94, 0x80); // HBR (2.7Gbps)
    	sn65dsi86_write(0x5C, 0x01); // HPD DISABLE
    
    	sn65dsi86_write(0x0D, 0x01); // PLL ENABLE
        mdelay(15);
    
    	sn65dsi86_write(0x95, 0x00);
        /* Write DPCD Register 0x0010A in Sink to Enable ASSR */
    	sn65dsi86_write(0x64, 0x01);
    	sn65dsi86_write(0x74, 0x00, 0x01, 0x0A); // AUX_ADDR: 0x00010A
    	sn65dsi86_write(0x77, 0x01); // AUX_LENGTH: 1
    	sn65dsi86_write(0x78, 0x81); // AUX_CMD: 0x8(Native Aux Write), SEND:0x1
    	mdelay(10);
    
        sn65dsi86_write(0x96, 0x0A); // 0x01: Normal TRAIN, 0x0A: Semi-Auto TRAIN
    	mdelay(20);
    
        /* W = 1920(0x0780) */
    	sn65dsi86_write(0x20, 0x80, 0x07);
        /* H = 1080(0x0438) */
    	sn65dsi86_write(0x24, 0x38, 0x04);
        /* HS = 44(0x002C) */
    	sn65dsi86_write(0x2C, 0x2C, 0x00);
        /* VS = 5 , CHA_VSYNC_POLARITY active low Pulse */
    	sn65dsi86_write(0x30, 0x05, 0x00);
        /* HBP = 148 */
    	sn65dsi86_write(0x34, 0x94);
        /* VBP = 36 */
    	sn65dsi86_write(0x36, 0x24);
        /* HFP = 88 */
    	sn65dsi86_write(0x38, 0x58);
        /* VFP = 4 */
    	sn65dsi86_write(0x3A, 0x04);
        sn65dsi86_write(0x5A, 0x0D); // enhanced framing, ASSR, and Vstream enable
    
        mdelay(10);
        return 0;
    }

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

    Haibin、

    感谢您提供这些详细信息。

    从寄存器日志中、我只能看到这些 DP 寄存器之间的一个区别、MDIV 对于 CSR 不同:

    0x40 = 0xCD (205d)-> 0x40 = 0xD2 (210)

    这可以从 DisplayPort 的角度看到。

    我只能想象、由于 MDIV 值发生变化、这个运行时问题会在时钟延迟或频移后发生、源端或接收端显示是否有任何诊断表明时序发生了变化?

    您是否可以尝试将该 MDIV 设置为正常日志值 (0xCD)、并查看屏幕在给定持续时间后是否为空白?

    此致、

    Miguel

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

    感谢您的回复!

    我向屏幕工厂报告了这种现象、他们测量到 eDP 主链路频率为 2.62G、这不符合 VESA 规范。 然后、我调整了 MIPI 时钟(HS/HBP/HFP/VS/VBP/VFP 等)、并将 0x12 寄存器从 0x59 更改为 0x5A。 测得的 eDP 主链路频率为 2.64G、黑屏现象未再次出现、但仍不符合 VESA 规范 2.7G、这可能仍会带来风险。 sn65dsi86 的 0x94 寄存器已确认设置为 2.7G(对应于寄存器值 0x80)。 如何确保 sn65dsi86 的输出主链路频率为 2.7G?

    修改后的初始化代码如下所示:

    int sn65dsi86_init(void)
    {
    	sn65dsi86_write(0x09, 0x00); // SW Reset
    	sn65dsi86_write(0x0A, 0x09); // DACP/N CLOCK FREQ 460.8MHz
    	sn65dsi86_write(0x0D, 0x00); // PLL DISABLE
    	sn65dsi86_write(0x10, 0x26); // Single channel DSI receiver A, DSIA 4Lanes
    	sn65dsi86_write(0x11, 0x00); // CHA/B DSI DATA/CLK EQ
    	sn65dsi86_write(0x12, 0x5A); // DSIA CLK FREQ 450~455MHz
    
    	sn65dsi86_write(0x5A, 0x05); // enhanced framing and ASSR
    	sn65dsi86_write(0x93, 0x20); // 2 DP lanes no SSC
    	sn65dsi86_write(0x94, 0x80); // HBR (2.7Gbps)
    	sn65dsi86_write(0x5C, 0x01); // HPD DISABLE
    
        /* W = 1920(0x0780) */
    	sn65dsi86_write(0x20, 0x80, 0x07);
        /* H = 1080(0x0438) */
    	sn65dsi86_write(0x24, 0x38, 0x04);
        /* HS = 44(0x002C) */
    	sn65dsi86_write(0x2C, 0x2C, 0x00);
        /* VS = 8 , CHA_VSYNC_POLARITY active low Pulse */
    	sn65dsi86_write(0x30, 0x08, 0x00);
        /* HBP = 148 */
    	sn65dsi86_write(0x34, 0x94);
        /* VBP = 27 */
    	sn65dsi86_write(0x36, 0x1b);
        /* HFP = 88 */
    	sn65dsi86_write(0x38, 0x58);
        /* VFP = 20 */
    	sn65dsi86_write(0x3A, 0x14);
    
    	sn65dsi86_write(0x0D, 0x01); // PLL ENABLE
        sunxi_lcd_delay_ms(20);
    
    	sn65dsi86_write(0x95, 0x00);
        /* Write DPCD Register 0x0010A in Sink to Enable ASSR */
    	sn65dsi86_write(0x64, 0x01);
    	sn65dsi86_write(0x74, 0x00, 0x01, 0x0A); // AUX_ADDR: 0x00010A
    	sn65dsi86_write(0x77, 0x01); // AUX_LENGTH: 1
    	sn65dsi86_write(0x78, 0x81); // AUX_CMD: 0x8(Native Aux Write), SEND:0x1
    	sunxi_lcd_delay_ms(40);
    
        sn65dsi86_write(0x96, 0x0A); // 0x01: Normal TRAIN, 0x0A: Semi-Auto TRAIN
    	sunxi_lcd_delay_ms(20);
    
        sn65dsi86_write(0x5A, 0x0D); // enhanced framing, ASSR, and Vstream enable
    
        return 0;
    }

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

    Haibin、

    测得 eDP 主链路频率为 2.62G、这不符合 VESA 规范。

    这是一个很好的发现。 我同意速率不匹配仍可能构成风险、因此让我们来看看所做的配置更改;

    、将 0x12 寄存器从 0x59 更改为 0x5A

    这会将传入 DSI 时钟频率的估算范围从 445 –450MHz 更改为 450 –455MHz、但寄存器 0x0A = 0x09 指示时钟应设置为 460.8MHz

    也许将传入 DSI 时钟频率设置为 0x5C (460 –465MHz) 将进一步提高此输出数据速率。 匹配较近的速率可让屏幕根据传入的时钟通过恢复是有意义的。

    如何确保 sn65dsi86 的输出主链接频率为 2.7G?

    我没有看到诊断寄存器在内部捕获 DP 数据速率、但 DP_DATARATE 配置为 2.7Gbps(HBR 模式)、一个选项是测量波形并确保 DP 布线上的眼图、以确保其符合 eDP 1.4 规格。

    如果您有任何其他问题、敬请告知。

    此致、

    Miguel