主题中讨论的其他部件: TSW14J10EVM
大家好,
我正在尝试使用Xilinx JESD204B发射器IP内核将数据发送到我们电路板上的DAC39J82。 我在建立正常链路时遇到问题。 我将首先尝试描述我的问题,然后介绍我如何尝试设置JESD链接。
打开链接时,我认为我的系统无法实现ILA。 我已初始化JESD FPGA内核和DAC,并将SYSYREF信号设置为连续的周期性脉冲。 来自DAC的SYNC~变为低电平,表明我们正在尝试重新同步。 然后,它会变高,我认为只有在实现代码组同步后才会发生这种情况。 ~,内核尝试输出一些数据,DAC几乎立即再次将SYNC降低,并尝试重新同步。 这将在一个循环中继续进行,并且我在本帖子底部的FPGA中从逻辑分析仪内核捕获了该过程的波形。 DAC信道报警寄存器(config100-107)指示我使用的4个信道都设置了“代码同步错误”和“8b/10b差异错误”位。 在实际的JESD JEDEC标准SEC 7.6 1表18中,这些代码被定义为“代码组同步的状态机已返回至CS_INIT状态”和“接收的代码组存在于8B/10B解码表中, 但根据当前的跑步差异,在正确的列中找不到。"
如果您查看随附的截屏图,您会发现我的JESD发射器核心正确发出K 28.5 逗号(txdata行上为0xBC) 当SYNC~变为低电平时...如果我收到差异错误,我认为这意味着数据可能在发送至DAC或DAC本身的过程中损坏。 我正在寻求有关尝试解决我的国际法协会问题的后续步骤的建议。 我觉得使用各种测试序列可能是答案,我已经尝试过,但我认为我在设置中遗漏了一些东西,因为TESTFIL针脚始终只读0 (通过测试),即使我故意输入错误的顺序。 我曾尝试使用PRBS 7序列和连续K 28.5 字符序列。
我的JESD设置如下所示:LMK设置为421,每多帧32帧,HD = 1,S = 1,弹性缓冲区= 31,SerDes线速率为6.25 Gbps总吞吐量,因此1.5625 GHz通道速率。 我的时钟在DACCLKp/n处使用1.25 GHz输入,我绕过DAC PLL并将之前的数字除以4,以便SerDes PLL参考时钟为312.5 MHz。 然后,内部将该值乘以5,我的SerDes PLL输出则为1.5625 GHz。 寄存器config108读数为0x07,表示SerDes块0 PLL正在锁定,块1已超出锁定(预期,因为我仅使用块0的4个通道),DAC PLL已超出锁定(预期,因为我正在绕过它)。 我的JESD时钟设置为DACCLK除以8,因此156.25 MHz。 我的SerDes配置有ENOC =1,全自适应EQ,CDR =0,全速率,交流耦合端接, 20位总线宽度,增益增强= 0,LOS已禁用并保持EQ关闭。 我会将所有寄存器设置的打印件附加为从SPI读取(即不确定警报是否正确,因为我只是在循环中读取所有寄存器。)
很抱歉,这篇文章变成了一个知识垃圾场,但我不知道您需要知道哪些详细信息才能帮助我。 有什么建议? 我可以尝试提供哪些其他信息以供澄清? 我还通过电子邮件与Xilinx技术支持部门进行了交谈,但与TI为DAC提供的文档相比,由于移动部件更少(悬挂自己的绳索更少),并且该IP内核的文档更清晰,因此我对发射器更有信心。

