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.

[参考译文] DP159RSBEVM:当 DP159在 x 模式下使用时、输出时钟频率不正确且始终变化

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/693111/dp159rsbevm-when-dp159-is-used-in-x-mode-mode-the-output-clock-frequency-is-not-correct-and-always-change

器件型号:DP159RSBEVM

您好,

 我在设计中使用 Xilinx Display port (RX) IP v7.0、将 Xilinx K7。DP159用作重定时器。在 TP1中断处理程序中,GTX 无法锁定恢复的 clk。使用示波器,频率测量 AUX_SRCp/n 引脚的频率有时为300MHz、有时约 为50MHz。

下面是我的初始化 Dp159寄存器配置

谢谢!!!

//dp159配置

//初始

 //第0页
instruction_set[0]={write、8'hFF、8'h00};//选择第0页
instruction_set[1]={WRITE、8'h09、8'h36};//启用 X 模式
instruction_set[2]={WRITE、8'h0A、8'h7B};//禁用 HPD_SNK 直通至 HPD_SRC。
instruction_set[3]={WRITE、8'h0D、8'h80};//启用 AUX 上的时钟。 选择1/20模式。
instruction_set[4]={write、8'h0C、8'h6D};//将 TX Swing 设置为最大值
instruction_set[5]={write、8'h10、8'h00};//关闭模式验证器
instruction_set[6]={write、8'h16、8'hF1};//禁用所有通道上的字符对齐。
instruction_set[7]={write、8'hFF、8'h01};//选择第1页
 
//配置 PLL 块
instruction_set[8]={write、8'h00、8'h02};//启用带隙。
指令集[9]={WRITE、8'h04、8'h80};//PLL_FBDIV[7:0]
instruction_set[10]={WRITE、8'h05、8'h00};//PLL_FBDIV[10:8]
instruction_set[11]={WRITE、8'h08、8'h00};
instruction_set[12]={WRITE、8'h0D、8'h02};//选择 LN0作为时钟。
instruction_set[13]={write、8'h0E、8'h03};//CDR_CONFIG[4:0]。 固定、LN0。
instruction_set[14]={write、8'h01、8'h01};//CP_EN 为 PLL 模式
instruction_set[15]={write、8'h02、8'h3F};//cp_current 为 HIGH。
instruction_set[16]={WRITE、8'h0B、8'h33};//循环滤波器到8K。
instruction_set[17]={write、8'hA1、8'h02};//允许覆盖 PLL 设置。
instruction_set[18]={WRITE、8'hA4、8'h02};//允许覆盖 PLL 设置。  
 
//配置 TX 块
instruction_set[19]={WRITE、8'h10、8'hF0};针对所有四个通道的//ENTX (禁用)
instruction_set[20]={WRITE、8'h11、8'h30};//TX_RATE 为全速率,TX_TERM = 75至150,TX_INVPAIR =无
instruction_set[21]={write、8'h14、8'h00};//HDMI_TWPST1为0dB 预加重
instruction_set[22]={WRITE、8'h12、8'h03};//slw_CTRL 为正常、摆幅为600mV。
instruction_set[23]={write、8'h13、8'hFF};//FIR_UPD。 加载 TX 设置
instruction_set[24]={write、8'h13、8'h00};

//配置 RX 块
instruction_set[25]={WRITE、8'h30、8'hE0};//禁用除通道0之外的接收器
instruction_set[26]={write、8'h32、8'h00};//PD_RXINT
instruction_set[27]={write、8'h31、8'h00};//RX_rate 已满
instruction_set[28]={write、8'h4D、8'h08};//EQFTC = 0且 EQLEV = 8
instruction_set[29]={write、8'h4C、8'h01};//启用固定 EQ
instruction_set[30]={write、8'h34、8'h01};//启用偏移校正
instruction_set[31]={WRITE、8'h32、8'hF0};//加载 RX 设置。
instruction_set[32]={write、8'h32、8'h00};//PD_RXINT
instruction_set[33]={WRITE、8'h33、8'hF0};//加载 EQ 设置。
instruction_set[34]={write、8'hFF、8'h00};//选择第0页
instruction_set[35]={WRITE、8'h0A、8'h3B};//启用 HPD_SNK 直通至 HPD_SRC。 重定时器
instruction_set[36]={write、8'hFF、8'h01};//选择第1页  


// TP1中断处理程序

instruction_set[0]={WRITE、8'h10、8'hF0};//禁用 TX 通道
instruction_set[1]={write、8'h00、8'h02};//禁用 PLL 并清除 A_lock_OVR
instruction_set[2]={write、8'h01、8'h01};//CP_EN = PLL (参考)模式
instruction_set[3]={WRITE、8'h0B、8'h33};//设置 PLL 控制
instruction_set[4]={write、8'h02、8'h3f};//设置 CP_current
instruction_set[5]={write、8'h30、8'h0f};//设置 RX 通道数
instruction_set[6]={write、8'h00、8'h03};//启用带隙、启用 PLL、 清除 A_LOCK_OVR
instruction_set[7]={write、8'h4C、8'h01};//启用固定 EQ
instruction_set[8]={write、8'h4D、8'h08};
instruction_set[9]={WRITE、8'h10、8'h0f};//启用 TX 通道
instruction_set[10]={write、8'h00、8'h23};//启用带隙、启用 PLL、 设置 A_LOCK_OVR

寄存器00的读取值为0xe3 .CLK 被锁定。 但 DP159输出时钟是错误的。 频率有时为300MHz、有时约 为50MHz。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    每次时钟锁定时、该值是否一致? 例如、如果时钟应该为150MHz、但它是50MHz。 它是保持在50MHz 还是有所变化?

    此致、
    JMMN