测试现象:(单板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. What is UDS Service 0x10 - Diagnostic Session Control ?

    Why need the UDS Service 0x10? ECU在正常工作时会处于某一个会话模式下,上电后会自动进入默认会话模式,所以ECU启动后我们不需要输入0x10 01来进入该会话模式.EC ...

  2. Java - JDBC批量插入原理

    一.说明 在JDBC中,executeBatch这个方法可以将多条dml语句批量执行,效率比单条执行executeUpdate高很多,这是什么原理呢?在mysql和oracle中又是如何实现批量执行的 ...

  3. Android studio 安装过程中SDK的环境配置问题

    SDK的环境配置问题 在之前的某一篇中,我也提到过在Ecplise里面的SDK的环境配置,二者确实不太一样! 一.系统环境变量新增一个 变量名为:ANDROID_HOME 变量值为:浏览到下载SDK的 ...

  4. GCC编译器编译过程

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

  5. Go 语言:通过TDD驱动开发创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏。

    你被要求创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏.  GET /players/{name} 应该返回一个表示获胜总数的数字  POST /players/{name} 应该为玩 ...

  6. Spring(Bean详解)

    GoF之工厂模式 GoF是指二十三种设计模式 GoF23种设计模式可分为三大类: 创建型(5个):解决对象创建问题. 单例模式 工厂方法模式 抽象工厂模式 建造者模式 原型模式 结构型(7个):一些类 ...

  7. 为什么我推荐你使用 systemd timer 替代 cronjob?

    概述 前几天在使用 Terraform + cloud-init 批量初始化我的实验室 Linux 机器.正好发现有一些定时场景需要使用到 cronjob, 进一步了解到 systemd timer ...

  8. 建木在 Rainbond 上使用实践

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

  9. docker安装python+nginx

    一个容器安装python和nginx dockerfile FROM centos:7.9.2009 USER root RUN yum install gcc openssl-devel bzip2 ...

  10. SLBR通过自校准的定位和背景细化来去除可见的水印

    一.简要介绍   本文简要介绍了论文"Visible Watermark Removal via Self-calibrated Localization and Background Re ...