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.

[参考译文] SN65DP159:FPGA Kintex-7上的 Xilinx IP 内核 DisplayPort RX 子系统 v2.1存在 SN65DP159问题

Guru**** 2524550 points
Other Parts Discussed in Thread: SN65DP159, TMDS181

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/789004/sn65dp159-sn65dp159-issue-with-xilinx-ip-core-displayport-rx-subsystem-v2-1-on-fpga-kintex-7

器件型号:SN65DP159
主题中讨论的其他器件: TMDS181

您好!

我们尝试在 FPGA kintex-7 XC7K70T-1中集成 Xilinx DisplayPort RX 子系统 v2.1、以接收 DP1.2流程。 (我们的应用需要将流程发送到两个 MiniDissays)。

我们需要使用4个通道、每个通道@5.4Gbps。

我们从头开始设计电路板,并按照 SLLA358应用手册安装了所需的 SN65DP159。

但我们面临着许多问题:

1)对于一个板(在下面的 SN02board 中)、我们能够协商 DP 链路、但有一些限制:

a)从不达到所需的最大值5.4Gbps

b)大部分时间设置为2.7Gbps、连接到在扩展坞上具有 DisplayPort 的 Windows 7戴尔笔记本电脑;当正确协商链路时、它工作良好、非常稳定。

c)切勿连接至具有 NVIDIA GPU 和本机 DisplayPort 输出的测试 PC

2)与第二个板(在 SN04板的后面)

a)切勿在5.4Gbps 或2.7Gbps 或更低的速率下运行

b)连接到笔记本电脑或测试 PC 的情况相同。

 对于 SN02/SN04板、当链路不起作用时、我们使用 Xilinx 驱动程序中的诊断命令 XDpRxSs_ReportDp159BitErrCount (它读取重定时器寄存器)

我们已经看到重定时器输入端存在错误(建立链路时不会跟踪错误、实际上墨水非常稳定)。 请检查附加的日志,获取的设置为2.7Gbps,以使其也处于 工作状态(两个日志都与 SN02相关,SN04不正常与 SN02 1相同)。

有人能支持我们吗?

某些重定时器配置值是否不正确? 我们遵循了 Xilinx 参考设计中建议的配置

我们可以调查什么?

我们怀疑重定时器复位有问题:实际上、当 SN02正常工作时、如果我们对 FPGA 进行重新编程、即使我们多次执行此操作、链路也会正常工作。 相反、如果我们对电路板进行下电上电、有时链路正常、有时不正常。

非常感谢您的参与。 由于日程紧迫、我们非常着急

再见

Giovanna

登录韩语

(三
已成功运行 SPI 轮询示例
XCLR 变为低电平
===初始化===
XCLR 变为高电平
=== PS0 ===

(三
           DisplayPort 直通演示
                  (C) 2015年由 Xilinx 提供

                  系统配置:

(三
= XDpRxSs_ReportCoreInfo =

DisplayPort RX 子系统信息:
DisplayPort 接收器(DPRX):是
IIC:是
已启用音频:否
支持的最大音频通道数:2.
每种颜色支持的最大位数:8.
支持的颜色格式:0
启用 HDCP:否
支持的最大通道数:4
支持的最大链接速率:20
多流传输模式:否(SST)
支持的最大流数:1.
DP RX 子系统在以下模式下运行:具有流1的 SST

系统功能设置为:LineRate A、LaneCount 4

秘书长的报告 R *********
在此配置中、RX 充当使用 TX 的主设备
显示在 RX 上接收到的视频。 该模式在上运行
DP159转发的时钟。 CPLL 用于 RX 和 TX
(三
VPHY PLS 0
VPHY PLS 0
RX 链路和信道功能设置为 A、4

------------------------------------
--          DisplayPort RX-TX 演示菜单          --
------------------------------------

 选择选项
 1 =更改通道和链路功能
 2 =链路、MSA 和错误状态
 3 =切换 HPD 以要求重新培训
 4 =重新启动 TX 路径
 5 =将 TX 数据切换到内部图形发生器
 6 =将 TX 切换回 RX 视频数据
 W =灌电流寄存器写入
 R =读取接收寄存器
 Z =再次显示此菜单
 x =返回主菜单

------------------------------------
请插入 RX 线缆以开始培训...
VPHY PLS 0
Dprx_InterruptHandlerPwr
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :0
BERT counter0[11:8]:0
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0xA、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0x6、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0xA、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0x6、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0xA、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0x6、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0xA、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0x6、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0xA、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0x6、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
链路速率:0xA、通道数:4
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :255
BERT counter0[11:8]:15.
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT c

----------

日志确定

--------

(三
已成功运行 SPI 轮询示例
XCLR 变为低电平
===初始化===
XCLR 变为高电平
=== PS0 ===

(三
           DisplayPort 直通演示
                  (C) 2015年由 Xilinx 提供

                  系统配置:

(三
= XDpRxSs_ReportCoreInfo =

DisplayPort RX 子系统信息:
DisplayPort 接收器(DPRX):是
IIC:是
已启用音频:否
支持的最大音频通道数:2.
每种颜色支持的最大位数:8.
支持的颜色格式:0
启用 HDCP:否
支持的最大通道数:4
支持的最大链接速率:20
多流传输模式:否(SST)
支持的最大流数:1.
DP RX 子系统在以下模式下运行:具有流1的 SST

系统功能设置为:LineRate A、LaneCount 4

秘书长的报告 R *********
在此配置中、RX 充当使用 TX 的主设备
显示在 RX 上接收到的视频。 该模式在上运行
DP159转发的时钟。 CPLL 用于 RX 和 TX
(三
VPHY PLS 0
VPHY PLS 0
RX 链路和信道功能设置为 A、4

------------------------------------
--          DisplayPort RX-TX 演示菜单          --
------------------------------------

 选择选项
 1 =更改通道和链路功能
 2 =链路、MSA 和错误状态
 3 =切换 HPD 以要求重新培训
 4 =重新启动 TX 路径
 5 =将 TX 数据切换到内部图形发生器
 6 =将 TX 切换回 RX 视频数据
 W =灌电流寄存器写入
 R =读取接收寄存器
 Z =再次显示此菜单
 x =返回主菜单

------------------------------------
请插入 RX 线缆以开始培训...
VPHY PLS 0
Dprx_InterruptHandlerPwr
Dprx_InterruptHandlerLinkBW
= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :16
BERT counter0[7:0] :0
BERT counter0[11:8]:0
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
Dprx_InterruptHandlerPllReset
0 0 0
Dprx_InterruptHandlerTrainingDone
>中断:训练完成!!!(BW:0xA、通道:0x4、状态:0x77;0x77)。
Dprx_InterruptHandlerNoVideo
Dprx_InterruptHandlerVideo
20个空白
200个空白
= XDpRxSs_ReportLinkInfo =

DPCD = 0xA 中的 LINK_BW_SET (0x400)状态
DPCD = 0x4中的通道数设置(0x404)状态

DPCD = 0x77中的 LANE0_1_STATUS (0x043C)
DPCD = 0x77中的 Lane2_3_status (0x440)

SYM_ERR_CNT01 (0x448)= 0x80008000
SYM_ERR_CNT23 (0x44C)= 0xFFFFFFFF

PHY_STATUS (0x208)= 0xF000FF

= XDpRxSs_ReportMsaInfo =
RX MSA 寄存器:
       时钟,H 总计               (0x510):1800
       时钟,V 总计               (0x524):1375
       HSyncPolarity                 (0x504):0
       VSyncPolarity                 (0x518):0
       HSYNC 宽度                   (0x508):16
       Vsync 宽度                   (0x51C):5.
       霍尔兹分辨率               (0x500):1600
       垂直分辨率               (0x514):1200
       Horz Start                    (0x50C):48
       垂直开始                    (0x520):119
       Misc0                         (0x528):0x00000021
       Misc1                         (0x52C):0x00000000
       用户像素宽度              (0x010):4.
       M VID                         (0x530):288358
       N VID                         (0x534):524288
       M AUD                    (0x324):0
       N AUD                    (0x328):0
       VB-ID                         (0x538):16.

= XDpRxSs_ReportDp159BitErrCount =
LOCK_STATUS        :64
TST_INT/Q          :0
BERT counter0[7:0] :0
BERT counter0[11:8]:0
BERT counter1[7:0] :0
BERT counter1[11:8]:0
BERT counter2[7:0] :0
BERT counter2[11:8]:0
BERT counter3[7:0] :0
BERT counter3[11:8]:0
***检测到的分辨率:1600 x 1200***
周期0
Dprx_InterruptHandlerVideo
Dprx_InterruptHandlerVideo
Dprx_InterruptHandlerVideo
***检测分辨率:1600 x 1200 @ 60Hz,BPC = 8,颜色= 0***
选择 Format 1     4:3    24位 RGB      60.00P
型号1600 1200 1800 1375 152 134 16 5 32 36 48 0.323 60.00 12.121 148.500 4车道 x 2.
SPI_CHECK 失败偏移量0x07、预期为0x10、读取为0x00
SPI_CHECK 失败偏移量0x33、预期为0x67、读取为0x74
SPI_CHECK 失败偏移量0x80、预期为0x00、读取为0x01
SPI_CHECK 失败偏移量0x81、预期为0x00、读取为0x81
SPI_CHECK 失败偏移量0x9A、预期为0x0F、读取为0x00
等待大约1000 us
=== PS1 ===
=== PS2 ===
=== PS cancel ===


e2e.ti.com/.../log_5F00_pn2_5F00_dell_5F00_ko.txt

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

    Xilinx IP 内核 DisplayPort RX 子系统 v2.1处理 DP159的链路训练。 它不是一个协议感知器件。 与 Xilinx 团队联系以获得支持可能会更有效。

    话虽如此、根据我在整个 Xilinx 代码中添加 LOG 语句的经验、可以影响链路协商。 我建议使用没有添加日志记录的全新 IP 内核 DisplayPort RX 子系统 v2.1。 此外、通过在位于 TP1中断处理程序中的 PLL 锁定环路中设置最小迭代计数来增加 DP159 PLL 锁定时间。 尝试最小回路计数8、16和32、查看系统性能是否得到改善。



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

    您好 Nicholaus、

    首先、非常感谢您的回复。

    实际上、我们在遇到一些问题时就立即联系了 Xilinx、但幸运的是、获得的支持没有帮助。

    很遗憾,今天我们不能检查您的建议,但昨天下午,我们重点讨论了重定时器的加电顺序,我们发现了这种行为:

    蓝色表示3V3

    黄色为1V1

    绿色表示 OE

    我们发现 重定时器的 OE 信号上缺少一个电阻器。

    焊接电阻器后、情况发生了变化、如下图所示。

    您认为它现在应该起作用(更好)吗?

    谢谢

    Giovanna

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

    Giovanna、您好!

    OE 的低电压阈值为0.8V、高电压阈值约为2.6V;根据您的测量结果、OE 信号位于这两种运行条件的边缘、这可能会阻止 DP159复位。  DP159在从高电平到低电平的转换期间复位。  此外、OE 信号的建议上拉电阻为150k-250k。

    我无法告诉您这是如何影响 Xilinx 软件中链路训练的、但如果脉冲是要进行复位、则不符合上述条件。  您能否发布您的原理图?  或者接受我的朋友的请求、以便我们可以离线讨论这个问题?

    此致、

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

    OE 的高电平输入电压最小值为2.6V。 您是否正在驱动 OE 引脚? 为什么它仅约为0.8V?

    谢谢
    David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Nicholaus、
    第一张照片与不正确的情况有关、没有下拉电阻器(设计人员忘记了它)。
    在第二张照片(带电阻器)中、您在 OE 中看到的转换不是一个复位。 这是一种尖峰、一种有害的干扰、其来源对我们不清楚。
    BTW 由于未达到0.8V、我们预计这不会干扰。 我们是对的吗?

    稍后、当配置 FPGA 时、我们会为重定时器提供(所需)复位周期(OE 上的高-低-高转换)。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、David、请查看我对 Nicholaus 的最后评论。

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

    您好 Nicholaus (和 David、还有任何想要帮助的人)。

    我想扼要重述一下目前的情况。

    1) 1) SN04现在作为 SN02运行(即、有时正常、有时不正常)。 为了实现这一改进、我们"在硬件上发挥了作用"以修改3V3和1V1之间的关系

    2) 2)如您所知、我们在一个板(尤其是 SN04)上添加 了一个用于下拉 OE 的电阻器。 不幸的是,这种修改 并没有改善这种情况。 我们还强制执行了通过 FPGA 提供的复位周期(请查看下图)、以便在按照数据表中的说明进行操作之前使 OE 降低100 μ s、 但没有任何改进。

    老实说、我们希望下拉电阻器也应根据数据表有所帮助、我们在该数据表中可以找到:

    从这一段中我们了解到、如果 OE 在 Vdd 和 Vcc 稳定前为低电平、则不再 需要图22中描述的特殊时序关系。  这种理解是否正确?

    如果是、电阻器应解决 OE 问题... 我对吗?

    3)我们注意到、在大多数情况下、如果在上电后 DP 链路正常工作、即使我们对 FPGA 进行重新编程、DP 链路也会继续工作。  如果不起作用,我们需要重启电源,使其再次工作(即没有 DP159复位或 FPGA 复位恢复)。

    4)尝试按照您的建议删除调试代码,但情况不变(有时还可以,有时是 ko)。

    我们正在尝试遵循有关 PLL 的建议、但我们不确定应该修改什么:

    我们有这段代码:

    xphy.c (第648-行)

    /********* /
    /**
    *此函数将等待指定通道或时间上的 PLL 锁定
    *输出。
    *
    *@param   InstancePtr 是指向 XVphy 内核实例的指针。
    *@param   QuadId 是要运行的 GT 四路 ID。
    *@param   Chid 是要运行的通道 ID。
    *
    *@返回
    *      -如果 PLL 已锁定、则为 XST_SUCCESS。
    *      - XST_FAILURE 否则;等待锁定超时。
    *
    *@注意      无。
    *
    秘书长的报告 /
    u32 xphy_WaitForPllLock (xphy * InstancePtr、u8 QuadId、Xphy_ChannelId Chid)

       u32状态= XST_FAILURE;
       U8重试= 0;

       执行{
          Xphy_WaitU (InstancePtr、1000);
          状态= XVphy_IsPllLocked (InstancePtr、QuadId、Chid);
          重试++;
       } while ((Status!= XST_Success)&&(Retry < 15));

       退货状态;

    #endif

    我们是否应根据您的建议修改(重试<15)说明?

    BTW 始终有 XST_SUCCESS、因此始终有 PLL 锁定。  您希望改进 PLL 的使用情况是什么?

    5) 5)除了上述不稳定性问题外、我们始终存在真正感兴趣的 NVIDIA 显卡 Quadro P2000问题。 我们从未与该卡建立起工作联系,这似乎是一个完全不同的谈判问题。 (我们再次要求 Xilinx 支持,但完全没有建议)。

    非常感谢

    Giovanna

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

    VCC 可以在 VDD 或 VDD 可以在 VCC 之前加电、重要的是 OE 保持低电平、直到 VCC 和 VDD 都稳定、然后将 OE 驱动为高电平。

    您可以使用外部电路驱动 OE 引脚、或在 OE 引脚上使用外部电容器(内部上拉和外部电容器产生 RC 时间恒定延迟)。 您能否进行另一次示波器捕获、以显示通过和失败情况之间的 VCC、VDD 和 OE 上电序列?

    您还可以向我发送 DP159寄存器转储、包括通过和失败案例之间的第1页吗?

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

    Giovanna、您好!

    我正与 David 合作解决这一问题。  您建议的代码不是我所想到的代码。  我没有 Xilinx 参考设计、但我相信文件名中包含文本"DP150"。  它 具有 DP159的初始配置、TP1和 TP23处理程序。  Xilinx DisplayPort RX 子系统 v2.1产品指南第54页对此进行了介绍。 搜索项目中的文本"TP1"、您应该能够找到它。

    "确定 DP159的 PLL 锁定。 如果已实现、则根据通道速率更改 PLL 模式。 DP159 PLL 锁定后、继续编程。"

    如果您需要更多的方向、请告诉我。

    在这里、您还可以添加寄存器转储、如 David 所建议的那样、以报告 TP3阶段中 DP159寄存器的所有值。  

    此致、

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

    感谢您的支持。

    您要修改以下代码的一部分吗?

    函数 XDpRxSS_Dp159源 文件 xdprxss_dp159、.c 的配置:
    /*等待 PLL 锁定*/
    while ((ReadBuf = 0)&&(计数器<
    XDPRXSS_DP159_LOCK_WAIT)){
    XDpRxSs_Dp159Read (InstancePtr、
    XDPRXSS_DP159_IIC_SLAVE、0x00、&ReadBuf);
    ReadBuf &= 0x40;/*锁定状态。 *
    COUNTER++;



    我们发现 PLL 锁定环路、并且 XDPRXSS_DP159_LOCK_WAIT 设置为512。 我们是否应该根据您的建议更改此值、尝试更低的值? (8-16-32??)
    不管怎样,基于代码,即使没有达到 PLL 锁定,当计数器达到循环中所需的值时,代码执行会继续。。
    不幸的是、Xilinx 调试函数不起作用、我们无法在退出循环时检查计数器值(BTW 我们知道必须根据您的建议删除调试函数)



    请参阅以下 TP1的完整配置:
    案例 XDPRXSS_DP159_CT_TP1:
    /*启用带隙、禁用 PLL、清除 A_LOCK_OVR */
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x00、0x02);

    /* CP_EN = PLL (基准)模式*/
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x01、0x01);

    /*设置 PLL 控制*/
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x0B、0x33);

    /*设置 CP_CURRENT */
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x02、0x3F);


    LCount =(LaneCount = XDPRXSS_DP159_lane 计数_1)?
    0xE1:(LaneCount == XDPRXSS_DP159_lan_count_2)?
    0xC3:0x0F;
    LRate =(LinkRate == XDPRXSS_DP159_HBR2)? 0x0:
    (LinkRate =XDPRXSS_DP159_HBR)? 0x1:0x2;

    /*启用 RX 通道*/
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x30、LCount);

    /*启用带隙、启用 PLL、清除 A_LOCK_OVR */
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x00、0x03);

    /*启用固定 EQ (重置自适应 EQ 逻辑)*/
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x4C、0x01);

    /*设置 EQFTC 和 EQLEV (固定 EQ)*/
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x4D、(LRATE << 4)|
    (XDPRXSS_DP159_EQ_LEV 和0x0F));

    if (LinkRate = XDPRXSS_DP159_HBR2){
    CPI = XDPRXSS_DP159_CPI_PD_HBR2;
    PllCtrl = XDPRXSS_DP159_PLL_CTRL_PD_HBR2;

    否则、如果(LinkRate = XDPRXSS_DP159_HBR){
    CPI = XDPRXSS_DP159_CPI_PD_HBR;
    PllCtrl = XDPRXSS_DP159_PLL_CTRL_PD_HBR;

    否则{
    CPI = XDPRXSS_DP159_CPI_PD_RBR;
    PllCtrl = XDPRXSS_DP159_PLL_CTRL_PD_RBR;


    /*启用 TX 通道*/
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x10、LCount);

    /*启用 PLL 和带隙、设置 A_LOCK_OVR 和设置
    *展开 LPRES
    *
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x00、0x23);

    /*等待 PLL 锁定*/
    while ((ReadBuf = 0)&&(计数器<
    XDPRXSS_DP159_LOCK_WAIT)){
    XDpRxSs_Dp159Read (InstancePtr、
    XDPRXSS_DP159_IIC_SLAVE、0x00、&ReadBuf);
    ReadBuf &= 0x40;/*锁定状态。 *
    COUNTER++;


    /* CP_CURRENT */
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x02、CPI);

    /*设置 PLL 控制*/
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x0B、PllCtrl);

    /* CP_EN 为 PD 模式*/
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x01、0x02);

    /*选择第0*/页
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0xFF、0x00);

    /*根据#Lanes 设置 DP_TST_EN、锁存 FIFO 错误*/
    LCount =(LaneCount = XDPRXSS_DP159_lane 计数_1)?
    0x11:(LaneCount =
    XDPRXSS_DP159_lane 计数2)?
    0x31:0xF1;
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x16、LCount);

    //禁用 PV,允许字符对齐和8b10解码到
    *运行
    *
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0x10、0x00);

    /*选择第1页*/
    XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、
    0xFF、0x01);
    中断;


    我们将提供完整的寄存器转储。

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

    Giovanna、您好!

    是的! 这是一个。

    我不建议减少 PLL 锁定的最大迭代计数;我建议您在该循环继续之前强制执行最小迭代量。  例如、

    /*等待 PLL 锁定*/
    while (((ReadBuf = 0)&&(计数器< XDPRXSS_DP159_LOCK_WAIT))||计数器< DP159_MIN_ITER){
    XDpRxSs_Dp159Read (InstancePtr、
    XDPRXSS_DP159_IIC_SLAVE、0x00、&ReadBuf);
    ReadBuf &= 0x40;/*锁定状态。 *
    COUNTER++;

    我尚未测试此代码、但我认为只要计数器< DP159_min_itER、即使 ReadBuf!= 0、也应强制循环继续。

    寄存器数据。

    谢谢、

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

    尊敬的 David:

    首先、我们有一个关于问题5 (P2000 Quadro Invivic 显卡不工作)的新闻:Linux 操作系统和驱动程序 DP 链接工作正常。 它可以与其他图形卡上注意到的不稳定性配合使用、但...嗯...至少它可以正常工作。

    关于不稳定性:

    根据您的回复、我们知道如果我们通过下拉电阻器将 OE 保持在低电平、我们将满足这一点上的设计要求、对吗?

    无论如何,电阻器没有解决不稳定性问题...

    请在加电时检查以下所需信号:

    第一张图片位于工作案例中。

    蓝色表示3V3

    黄色为1V1

    紫色表示 OE

    第二张图片是 不起作用的情况。

    蓝色表示3V3

    黄色为1V1

    绿色表示 OE

    (请注意、第一幅图像中也存在不需要的 OE 信号转换、即使看起来不是这样)

    无论如何,在进行这些试验时,我们注意到电源芯片没有受到限制(错误地)。 它可以固定为提供2/4/8毫秒斜坡信号。 但令人惊讶的是、通过修复这些值中的任何一个、DP 链路根本不起作用! 相反、我们希望通过修复8msec 值来实现良好的行为。

    我们正在尝试提供寄存器转储...我们面临另一个问题,不幸的是,我仍然没有这些问题。

    BTW 如果您对以下描述行为有任何意见或建议、我们将不胜感激。

    谢谢

    Giovanna

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

    e2e.ti.com/.../log_5F00_pn2_5F00_dp159dump_5F00_ok.txte2e.ti.com/.../log_5F00_pn2_5F00_dp159dump_5F00_ok.txtPlease请参阅修改后的代码(添加了 DP159_MIN_ITER = 32和寄存器转储)

    ```μ A

    /*等待 PLL 锁定*/

               while (((ReadBuf = 0)&&(计数器< XDPRXSS_DP159_LOCK_WAIT))||计数器< 32){

                   XDpRxSS_Dp159Read (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、0x00、&ReadBuf);

                   ReadBuf &= 0x40;/*锁定状态。 *

                   COUNTER++;

               }

               xIL_printf ("选择映射0\r\n");

               XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、0x01、0x00);

               for (unsigned char offset=0;offset<=0xBF;offset++){

               如果(偏移% 16 = 0)

               xIL_printf ("\r\n%04x -"、offset);

               XDpRxSS_Dp159Read (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、OFFSET、&ReadBuf);

               xIL_printf ("%02x "、ReadBuf);

               }

               xIL_printf ("\r\n");

               xIL_printf ("选择映射1\r\n);

               XDpRxSS_Dp159Write (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、0x01、0x01);

               for (unsigned char offset=0;offset<=0xBF;offset++){

               如果(偏移% 16 = 0)

               xIL_printf ("\r\n%04x -"、offset);

               XDpRxSS_Dp159Read (InstancePtr、XDPRXSS_DP159_IIC_SLAVE、OFFSET、&ReadBuf);

               xIL_printf ("%02x "、ReadBuf);

               }

               xIL_printf ("\r\n");

    ```μ A

    "DP159_MIN_ITER = 32"不会阻止非工作条件

    不幸的是、寄存器转储似乎会损坏训练模式程序、因此您会发现两个运行在同一个日志中、第一个运行在启用转储的情况下、第二个运行在没有显示"工作/不工作"状态的情况下

    1) 1)"log_pn2_dp159dump_ok.txt"包含转储寄存器、此时重新启动 FPGA 禁用 DP159寄存器转储将进入完全工作状态

    2)"log_pn2_dp159dump_ko.txt"包含转储寄存器、此时重新启动 FPGA 禁用 DP159寄存器转储将进入不工作状态

    请参阅随附的带有 dp159寄存器转储的日志。

    如前所述、工作条件似乎与"热"上电(在断电后加电)相关、而非工作条件似乎与"冷"上电相关(长时间未加电后加电)

    谢谢

    Giovanna

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

    很抱歉、我两次附加了同一个文件。

    e2e.ti.com/.../5460.log_5F00_pn2_5F00_dp159dump_5F00_ok.txt

    e2e.ti.com/.../log_5F00_pn2_5F00_dp159dump_5F00_ko.txt

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

    有关上电时序、请参阅 DP159数据表第9.3.2节的表1。

    我看到的问题是1.1V 上升时间。 3.3V 斜升和1.1V 斜升之间的最大增量为200uS。 如示波器捕获中所示、8ms 太长。

    在3.3V 和1.1V 稳定后、OE 需要为高电平(驱动或内部上拉为高电平)最小值100us。

    谢谢
    David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    David、
    我们了解到、这句话"在 VDD 和 VCC 稳定之前保持 OE 为低电平可避免任何时序要求、如图22所示。" 避免任何与 TD1相关的问题。 关于 td2、我们等待了超过100us 的大量时间、这是因为 OE 通过4k7电阻器处于下拉状态、并且在启动后由 FPGA 驱动为高电平。

    您是否仍建议更正 TD1关系? 我们是否误解了"保持 OE 低电平"这一句。 我们希望确保此操作确实有用、因为应该应用硬件补丁来管理此操作。

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

    为了避免任何时序要求、意味着 VCC 可以在 VDD 或 VDD 可以在 VCC 之前加电、但 VCC/VDD 和 VDD/VCC 仍需要在电源之间满足200us 的要求。

    寄存器转储看起来不正确。 寄存器00 - 08是 Device_ID 和 Rev_ID。 这些是只读的、应读回44、50、31、35、39、 20、20、20、01。

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

    尊敬的 David:

    非常感谢您澄清了有关200us 要求的要点! 我们(4个人)未正确理解这一点:因此、我们强烈建议 TI 更好地阐明这一含义、因为这似乎是一个关键点。
    我们将实施硬件补丁以满足 Vcc/Vdd 要求。

    BTW 我们仍然对 OE 有疑问:在之前的评论中、您写道"OE 需要在3.3V 和1.1V 稳定后保持高电平(驱动或内部上拉高电平)最小值100us。" 您确定它必须是高电平而不是低电平吗?
    实际上、我们在数据表中找到

    第25页
    "以确保 SNx5DP159器件是
    μs 复位后、OE 引脚必须在置为有效前至少取消置位100 μ s。 当 OE 被切换为输入时
    这样器件就会复位。"

    此外、在第6页上、我们发现:
    '操作使能/复位引脚
    OE = L:断电模式
    OE = H:正常运行
    内部弱上拉:当从 H 转换到 L"时复位器件
    在这里、似乎需要重置 H->L 转换、因此从下拉电阻开始似乎不够。

    数据表不是很清楚。 BTW 我们从 OE 低电平开始、这要归功于下拉、在 OE 变为高电平之前、请注意 T2、然后从 FPGA 提供另一个复位周期(检查波形)。
    这是否足以正确管理 OE (一旦硬件补丁修复了时序请求问题)?

    寄存器转储值、我们也感到惊讶。 我们还在看到工作显示后将它们转储到代码的另一个点、但第一个地址与请求的值不匹配。

    我们已使用示波器检查了 I2C 命令、它看起来是正确的(在地址0处读取)。 请检查波形。

    另 一个奇怪的事实是、即使上述寄存器是只读的、它们似乎也不是固定的:在日志中、我们看到它们在转储命令的不同调用中采用不同的值。

    错误转储的问题应该是什么? 考虑到建立链路时,它运行良好...因此重定时器应该已正确配置。

    请告诉我们!

    非常感谢

    Giovanna

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

    有关 I2C 器件地址说明、请参阅 DP159的表4。 假设您正在执行100kbit/s I2C、即每位10uS。 当寻址 DP159时、至少应该有2个连续1 (如果 A1和 A0都为11)、因此这是20us 的高电平。 当您的范围设为20us/分部时、我预计地址阶段至少有一个分部处于高位、我现在看不到这一点。

    在 OE 引脚上、我对示波器捕获的响应显示1.1V 和3.V 均在上升、但 OE 仍然为低电平。

    重要的是确保设计符合图22所示的加电时序。 DP159上电后、您可以取消 OE 引脚的置位。 OE 引脚必须在置位前至少取消置位100us。 这将被视为复位。 如果要驱动 OE 引脚、您实际上不需要在 OE 引脚上进行下拉。 请参阅图20和21以了解 OE 引脚的实现。

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

    David、
    示波器上显示的 I2C 访问频率为400kHz。 我们手动解码 i2c 命令、看起来正确、但偏移量0x00的回读值为0x02、而预期值为0x44。

    谢谢

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

    您能否将速率更改为100kbit/s、并查看我们是否可以实现正确的寄存器转储?

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

    谢谢 David。 我们将尝试。

    同时、我们已根据所附图片修改了1.1V 和3.3V、但绝不修改! DP 链路在此配置中不起作用。

    现在、我们应该遵守要求、对吧? 我们希望链路正常工作... 问题是否应该由其他问题引起?

    我们可以调查什么?

    谢谢

    Giovanna

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

    OE 在此捕捉中的哪个位置、您能否显示 OE 引脚行为以及 VDD 和 VCC?

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

    尊敬的 David:

    不幸的是、很难在电路板上通过 Vcc 和 Vdd 一起跟踪 OE。

    BTW 是 OE 上的下拉电阻、经过一段时间后、复位周期会提供 FPGA 数据表所需的正确时序、如之前的图片所示。

    然而,我们仍然有问题。

    此致

    Giovanna

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

    Giovanna

    由于 OE 已经有一个内部上拉电阻器、因此您无需从外部驱动 OE。 然后、您可以将下拉电阻器替换为电容器。 然后可以调节电容、使 OE/VDD/VDD 斜坡时间满足数据表要求、这是一个选项吗?

    谢谢
    David

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

    尊敬的 David:

    我们还没有解决这个问题,但我们还有一些更紧迫的问题,目前我们无法尝试电容建议。

    顺便说一下、我们有点困惑:现在信号尊重数据表要求、因此我们不理解为什么需要电容。 时序要求或 PAR 9.3.2是否可能 是严格的、而不是最小值或最大值?

    谢谢

    Giovanna

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

    我对您之前的消息做出了回应、"不幸的是、很难在电路板上通过 Vcc 和 Vdd 一起跟踪 OE "、因此我的建议不是主动驱动 OE 引脚、而是仅使用外部电容器、并更改电容、以便您获得更好的 OE 控制。

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

    您有更新吗?我们现在可以关闭此主题吗?

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

    你好!

    请勿关闭。

    我将尽快更新

    谢谢

    谢谢

    Giovanna

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

    现在、我将继续并关闭此主题。 您可以在再次回复时打开此主题。

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

    尊敬的 David:

    不幸的是、我们完全参与了另一个始终与同一电路板相关的问题。 BTW 我想预测重定时器的当前情况、因为这真的很令人担忧。

    我们生产了一组新的电路板(新布局、新 PCB)、以解决主要问题和一些小的其他问题。 当我们尝试为新板加电时、它们根本不起作用、但我们提供了

    1.8V 而不是1.1V、 并且电路板开始工作。 他们在没有第一组董事会报告的情况下,随时都在工作。

    您对此行为有何看法? 在允许的范围之外使用重定时器有哪些风险? 我们真的很担心。

    谢谢

    谢谢

    Giovanna

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

    Giovanna

    VDD 的绝对最大额定值为1.4V、使用超出最大额定值范围的1.8V 可能会导致 DP159特性恶化甚至损坏器件。

    我认为1.8V 只是掩盖了电路板上的问题。 我们有多个客户使用具有1.1V VDD 的 DP159、没有人报告此类问题。 我认为我们需要检查电源、接地连接、电源斜升时序、并确保它们遵循数据表中的建议。

    您能否直接探测 VDD 引脚并查看实际电压是多少?

    谢谢
    David

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

    尊敬的 David:

    我们还会再来的……

    我扼要重述一下目前的情况。  上次我写信给您时、我们不得不生产一些其他电路板、但这些电路板有一些细微但不可避免的修改、这些修改具有(并且具有)  奇怪的行为:它们(总共5个) 正在工作、但 Vdd 上的电压为1.8V、而不是1.1V、因此超出了您确认的规格。

    我们已被要求生产新的8  个完全相同的电路板 、但其中没有一个电路板在1.1V 或1.8V 电压下工作。

    现在、我们准备好认真调试这个重定时器问题、我们需要您的帮助。

    我开始共享两个板的寄存器转储、一个是 工作集的171902_ok.txt (VDD 上为1.8V)、另一个是不工作集的192115_ko.txt (VDD 上为1.1、但在 Vdd 上也不工作1.8)。

    您能帮我们检查一下吗?

    我们知道通道0上存在中断、并且未正常工作的通道0中存在相关的 BERT 错误。 但我们没有从寄存器转储中得到其他结果、也没有找到 MAP 1寄存器的文档。

    e2e.ti.com/.../171902_5F00_ok.txt

    e2e.ti.com/.../192115_5F00_ko.txt

    您能否再次告诉我、您希望我们检查电源等哪些内容?

    非常感谢!

    Giovanna

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

    大家好、

    我们捕获了如下所示的电源序列波形:

    深绿色(C1):1V1

    粉色(C2):OE

    绿色(C4) 3V3

    e2e.ti.com/.../Startup_5F00_1V1_5F00_OE_5F00_3V3.pdf

    我们认为我们符合 wrt 规范、但重定时器未按预期工作。

    它有时会以最低速度协商链路、一个通道、有时根本不协商。

    请为我们提供支持、 并检查上周提供的寄存器转储。

    谢谢

    Giovanna

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

    附加信息:当链路建立但只有一条低速信道时、我们还会附加日志、因此对我们不有用:

    e2e.ti.com/.../192115_5F00_ok_5F00_1x1.62Gbps.txt

    谢谢

    Giovanna

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

    寄存器转储显示的值与 DP159应用手册中建议的编程值不匹配、您为什么要从建议的编程值中更改这些值?

    此外、在示波器捕获中、OE 信号何时变为高电平?

    谢谢
    David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:
    您能否突出显示哪些寄存器值尤其错误? 非常感谢!
    OE 在捕获后很长时间升高(太多了,无法显示...)

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

    Giovanna

    我在下面以红色突出显示了差异、但请查看应用手册、因为我可能会错过其中的一些应用手册。

    谢谢

    David

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

    尊敬的 David:

    感谢您的回复。

    请注意、我们目前正在使用 Xilinx BSP、无需任何修改。 我们已检查 Xilinx 驱动程序文件"xdprxss_dp159.c 中的"XDpRxSS_Dp159Initialize"函数、该函数与 SLLA358的"初始加电配置"相同。 因此、它们在初始步骤中对齐。

     由于初始化后我们的值不会立即转储、因此可能有些不同的值是正确 的:在日志文件中可以看到、在发生某些操作后、转储会在日志中多次进行。 这个事实可以解释一些与初始值相关的不同值。 无论如何、我们还想强调、我们不会在我们定制的代码部分直接重新写入寄存器值:因此、寄存器值的任何修改都没有由我们"自觉地"完成。

    由于转储与初始化状态无关、因此不应将您突出显示为"不同"的值与 SLLA358中存在的初始化值进行比较、 我们不知道它们是否正确,因为我们不知道在转储寄存器的特定时刻,哪些是预期值。 您可以帮助进行此分析吗?

    在任何情况下、我们都尝试根据其含义来查看以红色突出显示的值、在下面您可以找到我们的注释。需要注意的是:在我们的原理图中、我们使用 HPD 直通、 即、HPD_SRC 连接到 DisplayPort 连接器、而 HPD_SNK 连接到进入 FPGA 的 DP 宏的 HPD 引脚。 我们在 SLLA358的原理图(第6页)中看到这不是建议的配置。 是问题还是正常?

    转储值与 slla378中的值:

    1. {0x0A、0x1B}与 {0x0A、0x7B}间的关系  
    1. 根据"初始上电配置"、初始化结束时 B6应为0
    2. 当训练失败时 B5为0、但正如您在 192115_ok_1x1.62Gbps.txt (第281行)中看到的、它在 Dprx_InterruptHandlerTrainingDone 之后变为1
    • {0x0C、0x6C}与{0x0C、0x6D}间的关系
    1. B1-0很奇怪、因为我们无法在 Xilinx 代码上找到从初始值0b01修改的指令
    • {0x16、0x31}与{0x16、0xF1}比较、我们无法理解寄存器功能、因为 SLLA358和重定时器数据表不匹配
    • 第1页的另一个寄存器未记录、您能否提供 文档? 是否可以使用此 DP159 X 模式寄存器(SLLA359)?

    提前感谢您的支持!

    此致

    Giovanna

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

    HPD 可绕 DP159布线或通过 DP159布线、这两种选项都可以正常工作。

    假设 HPD 未通过 DP159路由、则第0页寄存器0x0Ah 的位6置位。 在本例中、您可以将其保留为0。

    在通道均衡训练阶段、第0页寄存器0x0Ah 的位5需要从固定均衡器更改为自适应均衡器。

    PAGE 0寄存器0x0Ch 值0x6C 与0x6D 间的关系与 DP159 TX 端的信号均衡有关。

    请将0xF1设置为第0页寄存器0x16h 以禁用字符对齐。

    对于 SLLA359、请联系您当地的 FAE。 我需要 TI FAE 来申请文档 SLLA359和 provinde 商业案例。

    谢谢
    David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:
    谢谢。
    很抱歉,您在我们的转储中发现了什么奇怪的东西吗? 是否有任何提示我们还可以检查什么?

    我们将尝试联系当地的 Fae。
    谢谢
    谢谢 Giovanna
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Giovanna

    我看到的一个问题是、您在链路训练的均衡训练阶段不启用自适应 EQ。

    请在第1页向以下寄存器写入数据
    WRITE_CSR (0x4C、0x03);//启用自适应 EQ

    在发生故障的192115电路板上、让我们逐步提高数据速率和行号、看看何时会损坏。 您还可以将电路板#171902上的同一实验作为基线。

    数据速率:1.62G、通道数#1
    数据速率:1.62G、通道数#2
    数据速率:1.62G、通道数#4

    数据速率:2.7G、通道数#1
    数据速率:2.7G、通道数#2
    数据速率:2.7G、通道数#4

    数据速率:5.4G、通道数#1
    数据速率:5.4G、通道数#2
    数据速率:5.4G、通道数#4

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

    尊敬的 David:

    正如您所知,我们正在按原样使用 Xilinx 代码。 它在 TP2和 TP3中启用 EQ 自适应写入(0x4C、0x03)。

    请检查以下 TP3、TP2与此寄存器具有相同的 wrt:

    正如您在 ok 日志中看到的、寄存器具有正确的值(我们多次转储寄存器:首次转储值为0x01、但在链接后转储值为0x03)

    您是否建议我们修改 Xilinx 库并设置已在 TP1中的值?

    日志中还有其他内容吗?

    顺便说一下、我们想尝试从您那里了解重定时器为什么在1.1V 电压下不工作、而是在1.8V 电压下工作。 为了使芯片正常工作、更高的功率会影响什么? 了解这一点 可以帮助我们了解我们应该重点分析的内容。

    非常感谢!

    再见

    Giovanna

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    除了我的最后一条消息、我们还想强调一点:
    由于电路板尺寸较小、我们在电路板上使用 miniDP 连接器。
    您对此连接器的布局有什么建议吗?
    我们尚未找到任何 TI 建议、但这可能是一个关键点。

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

    Giovanna

    您在何处测量功率? 您是否直接在 TMDS181的输入电源引脚处进行测量? VDD 是 TMDS181的内部数字控制电路。 如果在 TMDS181的电源输入引脚直接提供1.1V 电压、那么我很惊讶 TMDS181在1.1V 电压下不能工作、而是在1.8V 电压下工作。

    我假设功率稳定、并从信号完整性的角度来看待这个问题。 您不想在 TP1启用自适应 EQ、但要在 TP2或3启用自适应 EQ、但我看到的故障寄存器转储显示 PLL 已锁定(用红色圆圈标出)、这意味着链路训练(TP1)的时钟恢复阶段已完成、 然后进入均衡器训练(TP2或3)、但寄存器0x4Ch 仍显示蓝色圆圈中的值0x01、因此我的问题是 EQ 是否设置为自适应。

    如果您可以共享您的布局、我可以查看它并为您提供有关 miniDP 连接器的评论。

    谢谢
    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:
    很抱歉、为什么您提到 TMDS181?

    我们为 sn65dp159的引脚提供1V1或1v8目录。

    关于转储、我们应该何时将您认为提到的 reg 设置为0x3?

    我已经向 Nicholaus 提供了部分原理图:他能与您私下分享吗? BTW 如果您需要整个原理图、请告诉我是否可以通过私人邮件与您分享?

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

    TMDS181是我器件上的一个拼写错误、应为 DP159。

    您是否会直接在 DP159引脚处测量以查看电压是多少? 您可能还需要检查的另一件事是 DP159散热焊盘的焊接、以确保散热焊盘至少具有70%的焊接覆盖范围。 这可以通过对电路板进行 X 射线检查来完成。

    5.在链路协商的时钟恢复阶段
    (a)将均衡器设置为固定 EQ。 自适应均衡器不会自适应时钟模式
    (b)在 DP159的 PLL 锁定时进行监视。
    (C) PLL 锁定后、将 PLL 工作模式转换为 PD 模式

    6.链路协商的通道均衡阶段
    (A)从固定 EQ 切换到自适应 EQ。

    在链路训练的均衡阶段、EQ 需要是自适应的。

    我从 Nicholaus 获得了原理图、有机会我还可以查看布局吗?

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

    尊敬的 David:

    我们已经用 X 射线检查了重定时器,它还可以。

    我尝试通过私人邮件与 Nicholaus 共享 Gerber 文件、但它不会成功、我无法将它们附加到邮件中(我收到错误)、即使它们不大。 我们该怎么做?

    谢谢

    Giovanna

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

    Giovanna

    请您发送您的电子邮件地址、然后我将设置文件共享服务、以便您上传 Gerber 文件?

    谢谢

    David

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

    Giovanna.ferrara@sanitaseg.it

    谢谢