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:如何通过 DSI 接口访问寄存器

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/983507/sn65dsi86-how-to-access-register-through-dsi-interface

器件型号:SN65DSI86

通过 I2C 进行的寄存器(CSR)访问成功。

但我想通过 DSI 接口(MIPI-DSI)进行访问


我该怎么做?

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

    您好!  

    请参阅第8.4.4.3节。  通用请求数据类型用于读取和写入 DSIx6 CFR 空间以及提供 DisplayPort 辅助数据包。

    谢谢

    David

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

    我读取"8.4.3.2通用短写2个参数请求"并写入 CFR 寄存器、但不起作用。

    SOT

    ID = 0x23

    ADDR = 0xA

    数据= 0x5

    ECC

    EOT

    但无法写入0xA 寄存器。

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

    您好!

    您是否将通道 A 通道0用于 DSI86寄存器的读/写操作?  

    您使用的是哪种 DSI 源? 我将参考 DSI 源用户指南以了解 DSI 操作。

    而是写入操作、您能否对 DSI86寄存器0x00执行通用读取请求2参数请求、并查看是否能够读回正确的数据?

    谢谢

    David

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

    我使用的是"通道 A 通道0"。

    读操作也不起作用(超时)

    我不使用 REFCLK。

    这是否是问题的原因?

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

    您好!

    您无需 REFCLK 即可通过 DSI 接口访问 DSI86寄存器。 由于 REFCLK 未被使用、您使用的 DSI 时钟频率是多少?   可以使用以下 DSI A 时钟频率之一:384MHz、416MHz、460.8MHz、468MHz 或486MHz (当 REFCLK 不存在时)。

    谢谢

    David

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

    我使用416MHz DSI 时钟。

    当我在不使用 refclock (使用416MHz DSI 时钟)的情况下将寄存器设置为 i2c 时、LCD 屏幕会正常显示。

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

    您好!

     您是否正确设置了 DSII2CSLaveAddressList?

    谢谢

    David

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

    什么是"DSII2CSLaveAddressList"

    您是指"数据类型"?(如下所示)

    读取:0x24 (通用读取请求2参数)

    写入:0x23 (通用短 写请求2参数)

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

    您好!

    不可以、我会参考您的 DSI 用户指南、但您需要指定 DSI 从器件地址和 DSI 总线上的从器件数量。

    谢谢

    David

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

    您是说"DSI 从器件地址"是"MIPI 虚拟通道"吗? 我将通道0用于 DSI 接口。

    您能否提供示例代码?

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

    您好!

    我在这里以 Qualcomm 为例。 命令结构可能会有所不同、具体取决于您使用的 MIPI 源。

    0x39 0x3C
    0x2.

    0x190
    0x4.
    0x3.
    0x2D0

    39 41 10.
    FF 05
    39d6 48.
    FF 05
    3c 03 89
    39 16 20.
    39 9a e0
    39 BA 70
    39 de 82.
    39 E4 c0
    39 E5 80
    3c 15 d0
    3c 17 d0
    3c 24 20.
    3c 57 11.
    39 af 06
    39 40 80
    39 4 c 04
    39 49 02
    39 0d 40.
    3c 1c 30.
    39 17 02
    3c 16 00
    3c 27 CB
    3c 2867
    3c 29 20.
    3c 2a 02
    3c 2b 80
    3c 2c 06
    3c 2D e0
    3c 2e 0d
    3c 2f c0
    3c 30 2 e
    3c 31 e0
    3c 32 00
    3c 33 50.
    3c 34 00
    3c 35 50.
    3c 36 01
    3c 37 40.
    3c 27 CB
    3c 27 8B
    FF 05

    谢谢

    David

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

    您能否简单地解释值的含义?

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

    您好!

    第一列是 DSI 命令、第二列是器件寄存器地址、第三列是读取/写入数据。  

    这只是一个示例、而不是实际的 DSI86编程值。  

    请参阅您的 DSI 源数据表、了解如何指定 DSI86 I2C 地址。

    谢谢

    David