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:LCD 输出出现问题

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/998758/sn65dsi86-lcd-output-is-issue

器件型号:SN65DSI86

平台:Zhanrui T618-Android11.0

IC 启动初始化安装成功、背光、无图像。打开自检模式也无图像显示。

如下所示的寄存器设置:

  {//FHD 、1920 x 1080 @lupingzhang 修改 20190313

//========= REFCLK 27MHz ===
setRegitsterValue (0x0A、 0x87);/0x87:REFCLK 27MHz、DSIA CLK 为 486MHz  
//========= 单 4  个 DSI 通道===
setRegitsterValue (0x10、 0x26);
//========= DSIA CLK FREQ 0x59:445MHz 0x61:485M 0x60:480M 0x45:345M ===
setRegitsterValue (0x12、 0x61);
//========= DSIB CLK FREQ 0x59:445MHz 0x61:485M 0x60:480M 0x45:345M ===
//setRegitsterValue (0x13、 0x61);
//========= 已禁用 ASSR=====
setRegitsterValue (0xFF、 0x07);
setRegitsterValue (0x16、 0x01);
setRegitsterValue (0xFF、 0x00);
//========= 增强 型组帧 和 ASSR======
setRegitsterValue (0x5A、 0x05);/0x05
//========= 2  条 DP 信道 ,无 SSC====
setRegitsterValue (0x93、 0x20);/0x20
//========= HBR (2.7Gbps)===
setRegitsterValue (0x94、 0x80);
//========= PLL enable====
setRegitsterValue (0x0D、 0x01);
mleep (10);
//========= 验证 PLL  是否已锁定===
//读取 0x0A 两 个字节、 睡眠 10ms  
//getRegitsterValue (0x0A);
//getRegitsterValue (0x0B);
//msleep (10);
//========= 后置电流2 0dB ===
setRegitsterValue (0x95、 0xE1);//0xE9:1.94dB 0xE1:0dB 0xED:3.10dB
//========= 在     Sink 中写入 DPCD 寄存器0x0010A 以 启用 ASSR====
/*
setRegitsterValue (0x64、 0x01);
setRegitsterValue (0x74、 0x00);
setRegitsterValue (0x75、 0x01);
setRegitsterValue (0x76、 0x0A);
setRegitsterValue (0x77、 0x01);
setRegitsterValue (0x78、 0x81);
mbley(10);*/
//========= 0x0A:半自动 培训 0x09:快速 链路 培训===
setRegitsterValue (0x96、 0x09);
mleep (20);
//========= 验证 培训  是否成功===
//getRegitsterValue (0x96);
//msleep (10);
//=== CHA_ACTIVE_LINE_LENGTH 为 1920 ===
setRegitsterValue (0x20、 0x80);
setRegitsterValue (0x21、 0x07);
//=== Cha_vertale_display_size 为 1080 ===
setRegitsterValue (0x24、 0x38);
setRegitsterValue (0x25、 0x04);
//=== CHA_HSYNC_PULSE_WIDTH 为 32 正 ====
setRegitsterValue (0x2C、 0x20);/0x20
setRegitsterValue (0x2D、 0x00);/0x00
//=== CHA_VSYNC_PULSE_WIDTH 为 6 正===
setRegitsterValue (0x30、 0x06);/0x06
setRegitsterValue (0x31、 0x00);/0x00
//=== Cha_Horizontale_BACK_Porch 为 152===
setRegitsterValue (0x34、 0x98);/0x98
//=== Cha_vertale_BACK_Porch 为 50===
setRegitsterValue (0x36、 0x32);/0x32
//=== Cha_Horizontale_front_Porch 为 120===
setRegitsterValue (0x38、 0x78);/0x78
//=== Cha_vertale_front_Porch 为 30===
setRegitsterValue (0x3A、 0x1E);/0x1E
//setRegitsterValue (0x3D、 0x00);
//setRegitsterValue (0x3E、 0x00);

//========= DP 0x00-24bpp 0x01-18bpp====
setRegitsterValue (0x5B、 0x01);
//=== 禁用色 条 ,0x01:测试 模型===
setRegitsterValue (0x3C、 0x00);
//========= 增强 型组帧、 ASSR 和  Vstream 使能===
setRegitsterValue (0x5A、 0x0C);
//========= HPD 禁用:0x01 启用:0x00 ====
setRegitsterValue (0x5C、 0x01);
//========= IRQ_EN 禁用:0x00 启用:0x01=====
setRegitsterValue (0xE0、 0x01);

e2e.ti.com/.../4606.pdf

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

    您好!

    面板是否支持 ASSR? 在代码中、DSI86中禁用了 ASSR、但随后选择通过 DPCD 寄存器写入来启用面板中的 ASSR。  

    如果面板支持 ASSR、您可以将 DSI86 TEST2引脚拉低并删除这段代码

    //========= 已禁用 ASSR=====
    setRegitsterValue (0xFF、 0x07);
    setRegitsterValue (0x16、 0x01);
    setRegitsterValue (0xFF、 0x00);

    需要将寄存器0x5A 设置为0x0D

    如果面板不支持 ASSR、 则需要通过1k 或10k 电阻器将 TEST2引脚上拉至1.8V、请将这段代码保留在下方、但不要在面板中启用 ASSR

    //========= 已禁用 ASSR=====
    setRegitsterValue (0xFF、 0x07);
    setRegitsterValue (0x16、 0x01);
    setRegitsterValue (0xFF、 0x00);

    需要将寄存器0x5A 设置为0x0C

    您能否先启用 DSI86色条模式并查看其是否工作正常?

    谢谢
    David