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:SDP 模式

Guru**** 2535750 points
Other Parts Discussed in Thread: SN65DSI86

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1058332/sn65dsi86-sdp-pattern

器件型号:SN65DSI86

我想问一些有关如何通过 SN65DSI86发送 SDP 模式的问题...

我希望发送 SDP 数据包、其中标头= HB0、HB1、HB2、HB3、数据= DB0  DB1 DB2 DB3 DB4 DB5 DB6 DB7

根据规范、我应该在垂直消隐时间内嵌入此 SDP 数据。

因此、我在 VBP 的第一行中使用以下数据构建 MIPI 通用写入数据包:

0x29 0x12 0x00 ECC 0x00 0x80 HB0 HB1 HB2 HB3 PB1 PB2 PB3 DB0  DB1 DB2 DB3 DB4 DB5 DB6 DB7 PB4 PB5 CRC_L CRC_H

但是、它不起作用。

您能否提供有关 SDP 的一些建议或更详细的余量流程?  

如果 DSI 环境为2端口、我是否应该在左端口或右端口中构建 SDP 模式、还是在两者都构建 SDP 模式?

 

非常感谢

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

    更新我实际发送的字节序列:

    0x29 0x1E 0x00 0x20 0x00 0x80 0x00 0x87 0x4C 0xFF 0xFF  0xFF 0xFF 0xFF 0x55 0xAA 0x66 0x55 0xAA 0x66 0x99 0xFF 0x55 0xAA 0x66 0x99 0x00 0x00 0x00 0x00 0xFF 0x5F 0x06


    哪个数据类型= 0x29、

    WC=0x001E、

    ECC=0x20、

    接头= 0x00 0x87 0x00 0x4C、

    有效载荷= 0x55 0xAA 0x66 0x99 0x55 0xAA 0x66 0x99 0x55 0xAA 0x66 0x99 0x00 0x00 0x00

    CRC = 0x065F

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

    您好!

    对于次级数据包、这些数据包在垂直消隐期间通过 DP 接口传输。 SN65DSI86要求将 SDP 以以下顺序提供给 DSI 接口:

    1、4字节标头(HB0至 HB3)

    2.4字节的标头奇偶校验(PB0至 PB3)

    3. 8字节数据(DB0至 DB7)

    4、2字节数据奇偶校验(PB4和 PB5)

    5. 8字节数据(DB8至 DB15)

    6、2字节数据奇偶校验(PB6和 PB7)

    谢谢

    David

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

    SN65DSI86规范中列出了这些内容、我遵循此规则发送 DSI 数据包(如上一帖子所示)。 但我无法在 RX SDP 接收器日志中获取信息。

    所以...

    1.是否有任何建议或更详细的控制流程?

    2.如何在 DSI 2端口环境中嵌入 DSI 数据包? 左端口? 右端口? 两个端口?

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

    您好!

    由于 SDP 是从 DSI86发送的、因此是否通过 AUX 发送到 eDP 接收器? 您是否已检查并验证 AUX 工作正常?

    您能否使用此软件示例代码读取 eDP EDID?

    此脚本将读取256字节的 EDID。



    ==== 启用 I2C_ADDR_CLAIM1===
    60 A1 />
    ==== 将 EDID 基础写入00 ===
    00 />
    ==== 读取256字节的 EEID====
    00 />

    谢谢

    David  

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

    根据我对 DP 和 DSI86规范的理解、SDP 将由 eDP 主链路而不是 AUX 发送。

    我已经检查了 AUX 工作正常、可以正确点亮 eDP 面板、但在使用 SDP 时遇到问题。

    我在 DSI 流 VBP 区域嵌入了一个通用写入数据包作为预发布、预期的 RX 可以获取 SDP 数据。 但是、它不起作用。

    所以... 是否有关于 DSI86 SDP 的应用手册?

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

    您好!  

    您认为 SDP 通过主链路传输是正确的、这是我本人的错误。  

    如果您将 ADDR 更改为0x00、则 SN65DSI86将解读通用长写以确定其 CFR 空间。 在这种情况下、您是否能够读取和写入 DSI86寄存器?  

    如果对 DSI86寄存器的读取/写入工作正常、您是否能够在 eDP 主链路上对数据进行解码? 我想查看 SDP 是否实际正在传输。

    谢谢

    David

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

    尊敬的 David:

    我已尝试用 CFR 写入数据包替换 SDP 数据包。 我可以在发送 DSI 视频流后看到 CFR 写入结果。
    CFR 写入仅在 WC=3 (ADDR_L、ADDR_H、WrData)时有效、我发现在技术规格第8.4.3.3节的注释中提到了这一点。
    这证明了我的 DSI 图形生成引擎能够很好地工作。

    所以... 让我们回到这个主题。
    我嵌入了一个 MIPI 通用写入、该写入由0x29、0x14、0x00、0x19、0x00、 0x80、0x00、0x87、0x00、0x4C、 0xFF、0xFF、0xFF、0xFF、0x12、 0x34、0x56、0x78、0x00、0x00、 0x00、0x00、0xFF、0xFF、0x88、 0x58写入 DSI 视频流的 VBP 第一行。
    而且、我希望 RX 能够接收到一个 SDP 数据、该数据的标头= 0x00、0x87、0x00、0x4c、数据= 0x12、0x34、 0x56、0x78。

    很抱歉、信息丢失... 我的 RX 只能识别指定的标头、即0x00、0x87、0xxx、0x4C、 并忽略其他标头的任何其他 SDP 数据。
    我还没有有效的方法来解码 eDP 主链路。
    所以... 我无法区分 DSI86是使用意外标头发送 SDP 数据、还是 DSI86未发送 SDP 数据。

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

    您好!

    您是否正在尝试发送 CEA-861-F 非音频 INFINFINFRAME 数据包?  

    对于 INFINFINFORAME SDP v1.2、HBR2必须为0x1Bh、HBR3必须为0x12h。

    谢谢

    David

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

    您好... 已经来过很多次了...

    您能否重点介绍如何通过 SN65DSI86发送 SDP 数据包?

    DSI86规范中提到了此函数、因此我认为 SDP 功能得到了完全支持或部分支持。

    您能否提供一些详细信息、例如

    SDP 数据包应插入 DSI 流、VBP 的何处? VFP? 或其他职位?

    我是否应该保持线路时间、插入哪个 SDP 数据包、与正常水平消隐线相等?

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

    您好!

    SDP 需要在垂直消隐周期 VBP 或 VFP 期间发送。 我不清楚您的第二个问题"等于正常水平消隐线"。

    您需要确保数据包格式和奇偶校验正确无误。 您发送的报头数据包看起来不符合 DP 规范。 DSI86将仅通过 SDP 数据包、但如果标头、数据包格式和奇偶校验不正确、接收端可能会拒绝 SDP。

    谢谢

    David

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

    假设 DSI 流的正常线时间为 x、SDP 数据包所花费的时间为 y。
    插入 SDP 的行应为 x + y 还是仅为 x?

    所以...
    DSI86将仅通过 SDP 数据包直通奇偶校验或标头格式无效。"
    对吧?

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

    您好!

    假设 DSI 流的正常线时间为 x、SDP 数据包所花费的时间为 y。
    插入 SDP 的行应为 x + y 还是仅为 x?

    仅 X

    DSI86将仅通过 SDP 数据包直通奇偶校验或标头格式无效。"
    对吧?

    正确、DSI86不会检查 SDP 数据包的奇偶校验、标头格式或 CRC。

    谢谢

    David

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

    您好!

    最后、我会得到一个用于解码 eDP 主链路的仪器、并检查 SDP 是否存在。
    作为以下 png 文件、我获得预期的解码结果、因为 DSI86正在发送 H 梯度模式。

    对于 SDP 数据、我得到的解码结果意外。
    SDP 有效载荷为0x11、0x22、0x33、0x44、0x55、0x66、0x77、0x88、
    因此、我嵌入的 DSI 数据包是0x29、0x14、0x00、0x19、0x00、0x80、0x00、0x87、0x4C、0xFF、0xFF、0xFF、0x11、0x22、0x33、0x44、0x55、0x66、0x77、0x88、0xFF、0xFF、0x1E、0xEF
    作为以下 png 文件 、它似乎是我的 SDP 标头、有效负载被一些规则拆分。

    所以...
    1、SDP 有效负载是否丢失了一些文档或规范?
    2.我是否应遵循某些规则将 SDP 有效负载构建到 DSI 数据包? 如果是、规则是什么?

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

    您好!

    您是否有 DisplayPort 规格的副本? 请参阅 SDP 格式规格的第2.2.5节。 主链路中的 SDP 数据包格式因数据包类型而异。 例如、下面是 InfoFrame 数据包格式。

     

    在发送 SDP 之前、是否清除0xF0到0xf8状态寄存器?  如果没有、请执行此操作。  通过将0xFF 写入这些寄存器来清除。 发送 SDP 数据包后、您可以读取状态寄存器以查看是否报告了 DSI 错误。 我想确保没有与 DSI 接口相关的时序或信号完整性问题。

    谢谢
    David  

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

    尊敬的 David:

    我无法检查 DSI 错误报告...
    当 DSI86发送正常视频流时、我发现0xF0寄存器为0x02、0xF6寄存器为0x40、
    当 DSI86发送带有 SDP 数据包的视频流时、0xF0寄存器为0x02、0xF1寄存器为0x2D、0xF6寄存器为0x40。

    寄存器0xF0的位1为 CHA_SOT_SYNC_ERR。
    寄存器0xF1的位5为 CHA_INVALID_LENGTH_ERR。
    寄存器0xF1的位3为 CHA_datatype_ERR。
    寄存器0xF1的位2为 CHA_CHECKSUM_ERR
    寄存器0xF1的位0为 CHA_COR_ECC_ERR。
    寄存器0xF6的位6为 LOW_TO_DP_SYNC_LOCK_ERR。

    所以...
    关于 SOT 同步错误、DSI86 DSI 交流时序规格是否在规格中列出?
    也就是说、以下时序参数 DSI86的确切值和单位是多少?
    TclkPrepare、TclkZero、TclkPre、TclkPost、TclkTrail、 ThsPrepare、ThsZero、ThsTrail、ThsExist
    例如、TclkPrepare 通常需要3 UI、或 TclkZero 通常需要100ns。

    关于 CHA_datatype_ERR、当 DSI 使用 SDP 数据包发送 DSI 流时、我将一些消隐时间替换为 SDP 数据包。
    SDP 的 DSI 数据包数据类型为0x29。 我不知道为什么会发生 CHA_datatype_ERR。

    3.关于其他人,我将重新检查我的 DSI 流的构成。

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

    您好!

    您是否在读取状态寄存器之前清除了它们? 我想确保报告的错误是真实的。 如果错误确实存在、则需要按照下面的定义检查 DSI 接口上的设置和保持时序。

    谢谢

    David

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

    您好!

    根据上一帖子的快照、我找到了有关 DSI 数据包和 SDP 有效载荷的规则。

    最后、我重新排列有效载荷并获得所需的解码结果。
    谢谢!