Lattice ecp5 SerDes接收异常怎么解决?

2023-11-24 07:18

本文主要是介绍Lattice ecp5 SerDes接收异常怎么解决?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

 

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

目前有个项目需要Lattice ecp5 (型号:LFE5UM-25-6MG285C)与 Xilinx k7之间通过两路SerDes进行通信,从ecp5发送到k7端是两路1.485G的SerDes信号,从k7端发送至ecp5端是一路SerDes信号(速率为0.7425G和1.485G都可以)。

k7端发送和接收都正常(SerDes自环验证也正常),ecp5端发送正常,但是接收会出现问题,如图1所示,接收通道ch0端数据经常会出现错误,正常情况下如图2所示。k7端SerDes发送代码及Tx波形如图3、图4所示。

01.png
02.png
03.png
04.png
检测了ecp5的SerDes自环(SerDes自发自收),发现也有上述类似问题,更改了pcs配置参数(加大了均衡、预加重、去加重等参数)仍然会收到错误信号,找了一块ecp3的板子,验证ecp3上SerDes自发自收正常,查找了两个工程中SerDes部分的差异,根据正常的ecp3的配置参数修改ecp5的配置,但是ecp5上SerDes接收端一直有上述问题。
后来想想感觉是不是ecp5上SerDes接收端有一路通道(ch1通道)直接悬空导致ch0通道数据会有影响,抓去了一下ch1通道的信号,如图5所示,发现ch1通道的CDR居然能锁住,然后将ecp5 ip核中的pcs配置通道由2通道改为1通道,发现1个通道情况下,SerDes在0.7425G和1.485G的速率下接收正常。
05.png
于是将ecp5上的SerDes拆为2个pcs核(一个pcs配置mode选择Tx and Rx,另一个pcs配置mode选择Tx only),编译时会报DCU数量超出范围的错误,查看了一下手册,ecp5 LFEUM-25只有1个DCU,如图6、图7所示。
06.png
07.png
现在ecp5上SerDes接收端Rx ch1悬空,图8为Reports上SerDes I/O分布,图9为ecp5原理图中SerDes部分。
08.png
09.png
现在感觉问题应该是ecp5 SerDes接收端2个通道都应该接收数据,或则接收端Rx只使用1路通道时,有哪个地方,没有正确的配置,ecp5 SerDes部分I/O好像无法自己约束(系统内部配置)。
目前没有办法解决,跪求各位大神解答

 

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

如果回环都有问题一般是电源有问题。

  1. 在通道悬空状态下如果CDR可以锁住,这种情况下是无效的。
  2. ....
  3. ....

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

您好!谢谢您的解答。
对于第2点,我用的都是ecp5外部环回,包括ecp5自己的Tx与Rx通过外部信号线连接以及ecp5与k7连接,reveal也是代码从底层配置环回,抓取的外部环回的数据;
第3点,diamond用的一直是3.9.1.119版本(3.10没有安装),3.9版本好像不能分两次配置(DCU会报错);
对于第1点,CDR可以锁住,RX端也能用reveal抓取到数据,如上述图5最下面的数据所示,这样还是无效的么?
我现在的回环用1个通道没有问题,能正确接收数据,用两个通道(其中Rx1悬空)才会出现接收不正常的问题(如上面的描述)。
如果是电源有问题,那么只用一路通道时接收也应该会出现问题,但是一路通道接收正常(同一块板子,只是将pcs配置中2路通道改为1路通道即正常)

 

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

不知道能不能和到你,我之前遇到过serders反复复位好多次才能锁住的问题,后来发现....

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

谢谢!我这边也遇见了这样的现象,3.10版本有点问题,我在3.10上面生成的PCS,用reveal抓不到波形,CDR失锁,同样的工程换到3.9上面CDR就正常,但是现象还是和上面的现象一样

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

老铁,我的问题和你相反,我的是lattice发,xilinx收,xilinx总是收到乱码,是什么鬼呀?lattice和xilinx均测试自发自收没问题。。

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

谢谢各位,项目解决了。为了确保项目进行,...

 

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

这篇关于Lattice ecp5 SerDes接收异常怎么解决?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/421508

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.