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:LVDS 信号发生器输出正常-未显示 MIPI 数据

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1176820/sn65dsi84-lvds-pattern-generator-output-ok---no-mipi-data-displayed

器件型号:SN65DSI84

您好!

我们使用 SN65DSI84将 MIPI 转换为 LVDS。 我们有一个使用单通道 LVDS 的10.1"显示屏的工作设置。

现在、我们使用双通道 LVDS 连接了21.5英寸1080p 面板。

对于配置、我们使用 https://www.ti.com/tool/DSI-TUNER (此链接指向旧版本2.0、但我们使用2.1、可在本论坛中找到。 安装程序尝试从 www.sun.com 下载 JRE ,但失败了,因此请先安装最近的 JRE)。

MIPI 为4通道、非突发视频模式、事件同步、格式 RGB888。

面板时序(双通道 LVDS):

时钟= 148500、/* kHz */
hdisplay = 1920、
HSYNC_START = 1920 + 2 *(60)、
HSYNC_END = 1920 + 2 *(60 + 32)、
htotal = 1920 + 2 *(60 + 32 + 48)、/* 2200 */
vdisplay = 1080、
VSYNC_START = 1080 + 33、
VSYNC_END = 1080 + 33 + 4、
Vtotal = 1080 + 33 + 4 + 8、// 1125 *

数据表:

通过 I2C 进行初始化后、我们可以通过将0x3c 设置为0x10来启用内置图形发生器。 LVDS 显示条形图、LVDS 数据和时钟正确。 数据表上的注释显示"仅 DE 模式"、 很明显 DE 脉冲是正确生成的。 因此、我假设路径 SN65DSI84 -> LVDS 面板正常。

由于我们没有外部晶振、LVDS 时钟(74.25MHz)源自 MIPI 时钟(445.5MHz)、这似乎也起作用。

此外、寄存器0x5e 保持0x00、我假设:

-PLL 已正确锁定

-没有 MIPI 协议错误(CRC、ECC、协议相关位为0)

-没有同步错误,即正确检测到 H-SYNC 和 V-SYNC

是这样吗?

下面是注释初始化:

#复位寄存器
i2cset -y 1 0x2C 0x09 0x01
睡眠0.05

#禁用 PLL
i2cset -y 1 0x2C 0x0d 0x00
睡眠0.05

# LVDS 范围74.25MHz -来自 mipi A 的 LVDS 像素时钟
i2cset -y 1 0x2C 0x0a 0x05
# div REFCLK 乘以6
i2cset -y 1 0x2C 0x0B 0x28
# mipi = 4通道
i2cset -y 1 0x2C 0x10 0x26
#无均衡
i2cset -y 1 0x2C 0x11 0x0C
# DSI 时钟范围(445.5MHz)
i2cset -y 1 0x2C 0x12 0x59
i2cset -y 1 0x2C 0x13 0x00

# LVDS -双通道- 24bbp - format1
i2cset -y 1 0x2C 0x18 0x6c
i2cset -y 1 0x2C 0x19 0x00
i2cset -y 1 0x2C 0x1a 0x03
i2cset -y 1 0x2C 0x1b 0x00

时序
i2cset -y 1 0x2C 0x20 0xc0
i2cset -y 1 0x2C 0x21 0x03
i2cset -y 1 0x2C 0x22 0x00
i2cset -y 1 0x2C 0x23 0x00
i2cset -y 1 0x2C 0x24 0x38
i2cset -y 1 0x2C 0x25 0x04
i2cset -y 1 0x2C 0x26 0x00
i2cset -y 1 0x2C 0x27 0x00
i2cset -y 1 0x2C 0x28 0x21
i2cset -y 1 0x2C 0x29 0x00
i2cset -y 1 0x2C 0x2a 0x00
i2cset -y 1 0x2C 0x2b 0x00
i2cset -y 1 0x2C 0x2C 0x20
i2cset -y 1 0x2C 0x2D 0x00
i2cset -y 1 0x2C 0x2e 0x00
i2cset -y 1 0x2C 0x2F 0x00
i2cset -y 1 0x2C 0x30 0x04
i2cset -y 1 0x2C 0x31 0x00
i2cset -y 1 0x2C 0x32 0x00
i2cset -y 1 0x2C 0x33 0x00
i2cset -y 1 0x2C 0x34 0x30
i2cset -y 1 0x2C 0x35 0x00
i2cset -y 1 0x2C 0x36 0x08
i2cset -y 1 0x2C 0x37 0x00
i2cset -y 1 0x2C 0x38 0x3c
i2cset -y 1 0x2C 0x39 0x00
i2cset -y 1 0x2C 0x3a 0x21
i2cset -y 1 0x2C 0x3b 0x00
i2cset -y 1 0x2C 0x3c 0x00
i2cset -y 1 0x2C 0x3D 0x00
i2cset -y 1 0x2C 0x3E 0x00

#清除错误
i2cset -y 1 0x2C 0xe5 0xff
睡眠0.05

#启用 PLL
i2cset -y 1 0x2C 0x0d 0x01
睡眠0.05

#重置
i2cset -y 1 0x2C 0x09 0x00
睡眠0.05

#清除错误
i2cset -y 1 0x2C 0xe5 0xff

初始化是否有任何错误?

SN65DSI84是否根据 H/V 同步 MIPI 信息生成 DE 脉冲?

如何进一步调试?

BR、

环路2.

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

    您好、Lo2、

    通过阅读您的帖子、我看到您的色条图案工作正常。 正常工作的色条图形表明链路的器件 LVDS 侧工作正常。 这指向需要检查的链路的 MIPI DSI 侧。

    您能否使用范围来验证初始化序列是否正常? 我想了解 EN、DSI_DATA、DSI_CLK 和 I2C 引脚在初始化序列期间的外观。

    此处显示了一个示例: https://e2e.ti.com/support/interface-group/interface/f/interface-forum/852871/faq-sn65dsi84-no-display-output-with-sn65dsi83-sn65dsi84-sn65dsi85。  

    谢谢、
    扎赫

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

    你好、Zach、

    这很困难、因为两个芯片都是 BGA 版本、所以我无法直接访问所有引脚。 SDA/SCL 是否足够? 我可以将导线焊接到 I2C 上拉电阻器。 EN 是直接连接。

    这是整个初始化(包括控制使能引脚的 GPIO)。 我强调了延迟:

    echo  0 >/sys/class/gpio/gpio478/value
    睡眠0.05
    Echo  1 >/sys/class/gpio/gpio478/value
    睡眠0.05

    #复位寄存器
    i2cset -y 1 0x2C 0x09 0x01
    睡眠0.05

    #禁用 PLL
    i2cset -y 1 0x2C 0x0d 0x00
    睡眠0.05

    # LVDS 范围74.25MHz -来自 mipi A 的 LVDS 像素时钟
    i2cset -y 1 0x2C 0x0a 0x05
    # div REFCLK 乘以6
    i2cset -y 1 0x2C 0x0B 0x28
    # mipi = 4通道
    i2cset -y 1 0x2C 0x10 0x26
    #无均衡
    i2cset -y 1 0x2C 0x11 0x0C
    # DSI 时钟范围(445.5MHz)
    i2cset -y 1 0x2C 0x12 0x59
    i2cset -y 1 0x2C 0x13 0x00

    # LVDS -双通道- 24bbp - format1
    i2cset -y 1 0x2C 0x18 0x6c
    i2cset -y 1 0x2C 0x19 0x00
    i2cset -y 1 0x2C 0x1a 0x03
    i2cset -y 1 0x2C 0x1b 0x00

    时序
    i2cset -y 1 0x2C 0x20 0xc0
    i2cset -y 1 0x2C 0x21 0x03
    i2cset -y 1 0x2C 0x22 0x00
    i2cset -y 1 0x2C 0x23 0x00
    i2cset -y 1 0x2C 0x24 0x38
    i2cset -y 1 0x2C 0x25 0x04
    i2cset -y 1 0x2C 0x26 0x00
    i2cset -y 1 0x2C 0x27 0x00
    i2cset -y 1 0x2C 0x28 0x21
    i2cset -y 1 0x2C 0x29 0x00
    i2cset -y 1 0x2C 0x2a 0x00
    i2cset -y 1 0x2C 0x2b 0x00
    i2cset -y 1 0x2C 0x2C 0x20
    i2cset -y 1 0x2C 0x2D 0x00
    i2cset -y 1 0x2C 0x2e 0x00
    i2cset -y 1 0x2C 0x2F 0x00
    i2cset -y 1 0x2C 0x30 0x04
    i2cset -y 1 0x2C 0x31 0x00
    i2cset -y 1 0x2C 0x32 0x00
    i2cset -y 1 0x2C 0x33 0x00
    i2cset -y 1 0x2C 0x34 0x30
    i2cset -y 1 0x2C 0x35 0x00
    i2cset -y 1 0x2C 0x36 0x08
    i2cset -y 1 0x2C 0x37 0x00
    i2cset -y 1 0x2C 0x38 0x3c
    i2cset -y 1 0x2C 0x39 0x00
    i2cset -y 1 0x2C 0x3a 0x21
    i2cset -y 1 0x2C 0x3b 0x00
    i2cset -y 1 0x2C 0x3c 0x00
    i2cset -y 1 0x2C 0x3D 0x00
    i2cset -y 1 0x2C 0x3E 0x00

    #清除错误
    i2cset -y 1 0x2C 0xe5 0xff
    睡眠0.05

    #启用 PLL
    i2cset -y 1 0x2C 0x0d 0x01
    睡眠0.05

    #重置
    i2cset -y 1 0x2C 0x09 0x00
    睡眠0.05

    #清除错误
    i2cset -y 1 0x2C 0xe5 0xff

    BR、

    环路2.

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

    您好、Lo2、

    我不在查找 I2C 总线命令之间的时序延迟。

    我想根据数据表中的初始化序列帮助验证您何时启用器件(请参阅第7.4.3节"初始化序列")、您的时钟和数据通道是否处于正确的状态。 您在上面显示的睡眠命令不能明显看出这一点。

    谢谢、

    扎赫

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

    你好、Zach、

    我们现在有视频输出、我们发现寄存器0x20/0x21必须设置为1920才能正常运行、而当发生器处于活动状态时必须设置为960。 设置为1920时、输出显示在面板上。

    运行 fb-test 表明我们确实有12条直线的垂直偏移、因此显然、垂直同步需要进行一些调整。

    首选哪种模式? 我们应该使用 MIPI 同步脉冲模式还是 MIPI 事件模式?

    BR、

    环路2.

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

    环路2.

    SN65DSI84支持具有同步事件或同步脉冲数据包传输的突发视频模式和非突发视频模式。

    谢谢

    David

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

    尊敬的 David:

    感谢您的回答。

    那么、我假设 v-sync 问题与输出(LVDS 设置)相关、那么?

    以下是一些图片:

    左上角:

    这些前导空行(大约12行)不应出现在此处。 H-SYNC 看起来不错、无撕裂/抖动。

    左下角:

    这里缺少一些线、对角线应到达角。

    此致、

    环路2.

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

    您好、Lo2

    请参阅此 e2e 常见问题解答链接 https://e2e.ti.com/support/interface-group/interface/f/interface-forum/918890/faq-sn65dsi84-how-to-configure-the-sn65dsi84-and-sn65dsi85-for-single-channel-dsi-to-dual-channel-lvds。 它看起来像素频率计算、并且水平消隐值未正确编程。

    谢谢

    David

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

    尊敬的 David:

    你好、Zach、

    感谢您的支持。 我们发现了以下问题:内核中 Vsync/Hsync 集的 MIPI 时序未被驱动程序应用、MIPI 接口忽略了同步设置。 因此、MIPI 时序错误(Vsync 方式太短)。

    现在工作正常、谢谢!

    BR、

    环路2.