“主题“中讨论的其他器件: AFE7900EVM、 AFE7900
工具/软件:
您好、
我们最近设计了一个使用 AFE7903 的自有电路板。 我们目前正在尝试验证 SERDES 线路是否正常工作。 为此、我们决定通过启用 SERDES 环回来对其进行测试。 在论坛搜索时、我遇到了有关此主题的类似主题、并发现以下寄存器写入:
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.
工具/软件:
您好、
我们最近设计了一个使用 AFE7903 的自有电路板。 我们目前正在尝试验证 SERDES 线路是否正常工作。 为此、我们决定通过启用 SERDES 环回来对其进行测试。 在论坛搜索时、我遇到了有关此主题的类似主题、并发现以下寄存器写入:
我在 Latte 转储中检查了这些寄存器、并如上所示对其进行了修改、以启用 SERDES 环回。 首先、我在 AFE7900EVM 上测试了此序列,以确保其正常工作,并获得了成功 — 我们能够使用 ILA 观察到接收通道上的传输值。
然而,当尝试在电路板上使用类似的 LatteGUI 输出执行相同的过程时,我注意到我无法写入寄存器地址0x7007和0x7006。 每次从这些寄存器读取都会返回0、无论我尝试写入什么内容。 我知道 PLL 页面需要页面访问、但我没有看到与 SERDES 页面类似的任何内容。 AFE7900 和 AFE7903 的地址空间之间是否存在差异? 如果不是、导致此问题的原因可能是什么?
我们使用 Vitis 通过 SPI 对电路板进行编程。 SPI 读写工作正常(使用示波器进行验证)。 根据 LatteGUI 输出对该板进行编程、所有读取检查和轮询均成功完成。 配置结束时、我们确实会看到一些警报、但我假设它们不会影响此问题。
我们非常感谢你对这一问题的澄清。
尊敬的 Ekin:
读取串行器/解串器页面中寄存器的正确程序是每读取一个两次、并且仅使用第二次读回的值。
例如、请参阅下面的。
SPI_Write 0x0016 0x60
SPI_READ 0x7007 #忽略此读取
SPI_READ 0x7007
SPI_READ 0x7006 #忽略此读取
SPI_READ 0x7006
SPI_Write 0x0016 0x00
关于串行器/解串器环回可能无法正常工作的问题、在某些情况下、我发现在重新同步发生之前寄存器写入不会产生影响。 您是否可以尝试执行 adcDacSync(1) 并查看它是否有帮助?
此致、
David Chaparro