测试现象:(单板A板载7A series,单板B板载7K series)

1. 单板A板载2个type C接口,通过线缆自环,GTP near-end loopback, OK.

2. 2块单板A,使用线缆通过type C接口互联,GTP far-end loopback, OK.

3. 单板B板载2个type C接口,通过线缆自环,GTX near-end loopback, OK.

4. 2块单板B,使用线缆通过type C接口互联,GTX far-end loopback, OK.

5. 单板A和单板B,使用线缆通过type C接口互联,SerDes far-end loopback, NO link,无法正常通信测试.

现象分析:

1. 通过现象5,怀疑是插损过大导致信号无法识别。但是现象2/4又排除了插损的猜测。

2. 相同的单板能互通,不同的单板则无法互通,怀疑板间差异导致的。而理论上,7A series与7K series确定可以SerDes互通,与竞争对手的SerDes都能互通,所以不存在不同系列的SerDes互通上的疑问。

3. 重点排查SerDes与type C的PN线序是否颠倒,时钟是否正常等等硬件参数连接是否正常。

ROOT CAUSE:

单板A GTP的refclk与单板B GTX的refclk有差异,不是预期的相同时钟,从而导致了实际SerDes LineRate不一致,无法正常通信。

预期refclk为125Mhz,时钟源由时钟芯片输出,该时钟芯片由板上ARM芯片配置(RK3566)。实际发现单板A的refclk与预期的频偏相差较大,最大相差5M,即恶劣时,refclk=120M。具体原因时ARM配置的问题,ARM操作系统的负载差异,会导致配置程序的结果与预期不符,细节未知。

(频偏:是指实际时钟频率相差较大,target frequence = 125M, 实际输出120M 或者 130M;

抖动: jitter,是指实际时钟频率以中心频点来回抖动,正态分布)

改进措施:

如下截图,IBERT设置时,System Clock不建议选择与SerDes REFCLK相同的时钟源

原因:

1. 假设target refclk = 125Mhz, LineRate = 5Gbps。如果实际输入的refclk频偏大,130Mhz,实际的LineRate就超过5Gpbs。

2. 如果System Clock选择与SerDes REFCLK相同的时钟源,则相当于自己测试自己。IBERT GUI界面虽然仍然显示5Gpbs速率,但是实际不准确,调试时无法及时发现。

3. 如果System Clock选择独立的External时钟源,则使用另外一个晶振时钟来监测SerDes功能。IBERT GUI界面显示数据为独立晶振时钟的检测结果,若因为SerDes时钟不准确导致的问题,方便及时发现问题。

Accurate SerDes LineRate的更多相关文章

  1. myeclipse中导入js报如下错误Syntax error on token "Invalid Regular Expression Options", no accurate correc

    今天在使用bootstrap的时候引入的js文件出现错误Syntax error on token "Invalid Regular Expression Options", no ...

  2. 12 Tips for Accurate Project Estimating

    Projects typically involve many dynamic aspects, yet they're often constrained by finite conditions. ...

  3. 目标检测--Rich feature hierarchies for accurate object detection and semantic segmentation(CVPR 2014)

    Rich feature hierarchies for accurate object detection and semantic segmentation 作者: Ross Girshick J ...

  4. 什么是SerDes,serializer/deserializer?

    序列化器与反序列化器(SerDes,serializer/deserializer)是一种进行串行数据和并行数据相互转换的收发集成电路(IC).发送器部分是一个串行到并行的转换器,接收器部分是一个并行 ...

  5. 【转载】xilinx 高速收发器Serdes深入研究

    此篇文章深入浅出介绍了关于高速串行收发器的几个重要概念和注意事项,为方便知识点复习总结和后续查阅特此转载,原文标题及链接为:xilinx 高速收发器Serdes深入研究 - CSDN博客   http ...

  6. 论文阅读(Weilin Huang——【arXiv2016】Accurate Text Localization in Natural Image with Cascaded Convolutional Text Network)

    Weilin Huang——[arXiv2016]Accurate Text Localization in Natural Image with Cascaded Convolutional Tex ...

  7. 论文笔记:ATOM: Accurate Tracking by Overlap Maximization

    ATOM: Accurate Tracking by Overlap Maximization  2019-03-12 23:48:42  Paper:https://arxiv.org/pdf/18 ...

  8. 【设计经验】4、SERDES关键技术总结

    一.SERDES介绍 随着大数据的兴起以及信息技术的快速发展,数据传输对总线带宽的要求越来越高,并行传输技术的发展受到了时序同步困难.信号偏移严重,抗干扰能力弱以及设计复杂度高等一系列问题的阻碍.与并 ...

  9. 论文笔记:Rich feature hierarchies for accurate object detection and semantic segmentation

    在上计算机视觉这门课的时候,老师曾经留过一个作业:识别一张 A4 纸上的手写数字.按照传统的做法,这种手写体或者验证码识别的项目,都是按照定位+分割+识别的套路.但凡上网搜一下,就能找到一堆识别的教程 ...

  10. SERDES关键技术总结

    转自https://www.cnblogs.com/liujinggang/p/10125727.html 一.SERDES介绍 随着大数据的兴起以及信息技术的快速发展,数据传输对总线带宽的要求越来越 ...

随机推荐

  1. 痞子衡嵌入式:RISC-V指令集架构MCU开发那些事 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是RISC-V指令集架构微控制器相关知识. RISC-V指令集最早要追溯到2010年,是加州大学伯克利分校的一个研究团队的项目,目标是设 ...

  2. Android笔记--常用布局

    线性布局--LinearLayout 线性布局的方向 orientation属性值:若为horizontal,内部视图在水平方向从左往右排列 若为vertical,内部视图在垂直方向从上往下排列 如果 ...

  3. GCC编译器编译过程

    GCC编译器编译过程 #生成test可执行文件 g++ test.cpp -o test 其实,上述命令可以分解为以下几个步骤 1. 预处理-Pre-Processing # -E 选择指示编译器仅对 ...

  4. 一文学会Flex布局

    参考: <CSS权威指南>(第四版) flex布局教程-语法篇-阮一峰 1.Flex布局是什么 FlexBox,弹性盒布局,顾名思义,就是元素具有弹性,能根据可用空间大小增减尺寸. 2.基 ...

  5. 大数据面试——Flink

    一.公司怎么提交的实时任务,有多少 Job Manager.TaskManager 是多少 我们使用 yarn session 模式提交任务:另一种方式是每次提交都会创建一个新的 Flink集群,为每 ...

  6. Teamcenter_NX集成开发:使用NX、SOA连接Teamcenter

    最近工作中经常使用Teamcenter.NX集成开发的情况,因此在这里记录使用NX.SOA连接到Teamcenter的连接方式. 主要操作: 1-初始化UGMGR环境成功后就可以连接到Teamcent ...

  7. 总结workerman启动与停止相关命令

    手册:https://www.workerman.net/doc/workerman/install/start-and-stop.html 本篇文章给大家介绍一下workerman启动与停止相关命令 ...

  8. 解决 ssh 找不到对应主机密钥类型

    解决办法 如果最近升级到了 openssh 8.8 版,你会发现连接某些之前连接得好好的服务器突然无法连接: Unable to negotiate with x.x.x.x port 2222: n ...

  9. 建木在 Rainbond 上使用实践

    建木 是一个面向 DevOps 领域的极易扩展的开源无代码(图形化)/低代码(GitOps)工具,可以帮助用户轻松编排各种DevOps流程并分发到不同平台执行. 建木的图形化编排提供了多个节点,节点可 ...

  10. day120:MoFang:修复宠物喂食饱食度不增加的BUG&修复宠物死亡导致数据错乱的BUG

    目录 BUG1:修复宠物喂食饱食度未增加的BUG BUG2:修复当用户拥有2个宠物时,如果第1个宠物挂了,会出现第二个宠物变成第1个宠物的情况,会导致数据发生混乱出现bug BUG1:修复宠物喂食饱食 ...