LATTCE ECP3 FPGA serdes调试出错,数据乱码怎么解决?

19 篇文章 9 订阅

完整版请点击https://hifpga.com/问题/36956

向博主本人提问FPGA相关问题

大家好。我们在跑两片 FPGA 之间使用Serdes通信的时候,发现 RX 出现错误。TX 端发送的数据是从0一直累加1,但是接收端RX收到的数据是杂乱无章,没有规律的,同时有一堆的 Error 状态出现。

Catch(04-19-10-2(04-19-09-34-20).jpg

硬件同事测量眼图说信号质量是符合要求的(见下图)。
Catch57C6(04-19-(04-19-09-34-20).jpg
我这个工程很简单,就是将IP调用,给通道3灌数据,也不知道是哪里出问题了。

rx_count:是用rx时钟产生的一个加1技术器,且 rx_cdr_lol_ch3 指示一直为低,表明 rx时钟是稳定的。
rxdata_ch3_reg 是 rx端收到的数据,是杂乱无章的,非预期数据。
rx_disp_err_ch3, rx_cv_err_ch3 错误标识有拉高,表明传输过程中有错误出现。另外,没有错误标识的接收数据看起来也不太正常。

 

----------------------------------------------------------------------

 

  1. 做单纯的8b/10b,有时候高低位是会错位的,因为PCS模块是在8B/10B情况下是不做对齐的,只有选SDI、HDMI这种协议时是有对齐的。你可以参考这个贴子来获取对齐方https://hifpga.com/%E9%97%AE%E9%A2%98/36913/lattice%E5%8E%9F%E5%8E%82%E5%9F%B9%E8%AE%AD%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E7%AC%AC%E4%B8%80%E8%AF%BEecp5-serdes%E8%B0%83%E8%AF%95/

    在纯8B/10B或自由协议时需要自己做对齐处理,依据rx_k_ch3的信号来处理,这个信号的计数器表示了K码的高低位,如下图2和1中的K码都是对齐的,而3中的高字节出现在了前面,低字节出现在后面。
    ....

  2. 如果两片之间不能成功通讯,先做一下内部的回环测试看看。

 

完整版请点击https://hifpga.com/问题/36956

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值