当前位置: 首页 > ops >正文

高速串行通信解惑说明

什么是逗号检测?

逗号检测,就是gt在发送数据的时候,一直在发送。这个时候使用一个标识符将数据隔开,用来对齐数据。(类似人说明的停顿或者写文章中的标点符号)逗号的两个作用,一个是将数据包隔开,另外一个作用用于对齐。接收端接收从检测到逗号码开始,从而能正确解析到完整的一包数据。

GT收发器内部结构

每个GT bank都有四个CPLL是一个QPLL

每个bank有两个参考时钟

普通的IO时钟是不能给GT的,GT的时钟和其他bank的时钟是物理隔断的,所以不能从普通的时钟IO路由时钟给GT的。

QPLL & CPLL

Cpll用于低速,QPLL用于高速

数据传输

SOF_ D0 _D1_ D2 D3_D4_D5_D6

或者

XX_XX_SOF_D0 D1 _D2 _D3

Phy层进行数据对齐和掩码处理

  1. 可以不使用buffer,自己手动设计对齐电路;
  2. 推荐使用buffer,来实现对齐电路

COMMAN逗号

接收串行数据,什么时候开始进行串并转换,起始点什么时候开始?接收机不知道,这个时候逗号码就是这个作用。接收器在串行数据中搜索逗号码进行的寻找。找到逗号码后,开始进行串并转换。

逗号搜索标准,可以任意字节的逗号对齐,可以2byte或者4byte

Commobine plus/minus commas(double-length comma)这个是进行双逗号检测,4byte的标识码中有两个k28.5的逗号字节,这个需要特别注意,如果你这个勾选了,但是你代码中没有两个k28.5在一起,你的接收端是收不到数据的,这个一定要注意。

关于GT中的rxslide的作用是用于手动对齐的功能,类似serdes的selectio的bitslip的窗口滑动,手动对齐。我们一般不用这个,直接使用K码自动对齐,不使用手动对齐。

RXBYTEREALIGN拉高标识着数据已经完成对齐,否则标识没有对齐

Trim Value是用于设置接收端电平的判别门限的

Clock corrections时钟纠正

发送端发送数据给接收端,接收端的恢复的时钟和发送端真正嵌入数据的时钟不可能是完全一摸一样的,还是有细微差别的,随着时间的累计,这个误差会有累计,随着时间积累,误差越来越大,所以每一个数据包用一个标识码,或者同步码,或者前导码,或者K码,进行一个包的开始,作为时钟纠正的基准,重新的开始进行接收,这样在误差累计采偏之前又重新进行计算,这样保证了数据的正确性。这个和uart串口通信很像,波特率设置以及串口一帧不能太长也是这个原因,因为有误差累计。

gt的例化有两种方式

1.直接例化多个通道

2.例化x1的通道,然后将公共部分抽出来,然后使用generate来实现x1,x2,x3,x4个通道

关于内部数据位宽,可以选择20或者40,选择20需要的内部时钟频率会高一些,使用40,内部时钟会低一些,时钟频率低一些,会更加稳定。

GT常见的帧格式

1.发送端和接收端之间如果长时间不通信,就会失锁,接收机需要利用同步码进行重新对齐

2.通信空闲的时候惯性思维如果给0,那么EMI问题就比较严重,因为这个时候频谱尖峰比较严重,造成电磁辐射比较大,这个

时候发送伪随机码LFSR,这样接近高斯白噪声,频谱比较均衡,EMI问题就好一些。

http://www.xdnf.cn/news/10393.html

相关文章:

  • 数据结构-排序-排序的七种算法(2)
  • Java流【全】
  • vscode + cmake + ninja+ gcc 搭建MCU开发环境
  • 6v6-导航收录:2025年网站自动引流终极方案 - 提升SEO排名新策略
  • PCIe—TS1/TS2 之Polling.Active(一)
  • Java异步编程:CompletionStage接口详解
  • rv1126b sdk移植
  • QT中更新或添加组件时出现“”qt操作至少需要一个处于启用状态的有效资料档案库“解决方法”
  • 深入理解设计模式之观察者模式
  • 59、干系人概述
  • Windows系统时间怎么设置
  • Centos7 中Gunicorn的安装配置
  • Docker 在云环境中的部署:AWS/ECS 与 Azure/AKS 的实践对比
  • 自动驾驶系统研发系列—激光雷达感知延迟:自动驾驶安全的隐形隐患?
  • opencv使用经典bug
  • OD 算法题 B卷【文件目录大小】
  • 基于ssm+mysql的大创项目申报管理系统(含LW+PPT+源码+系统演示视频+安装说明)
  • 历年中山大学计算机保研上机真题
  • java swing 晃动鼠标改变背景颜色
  • PySide6 GUI 学习笔记——常用类及控件使用方法(标签控件QLabel)
  • Git初识Git安装
  • Spring Boot,两种配置文件
  • LeetCode 39.组合总和:回溯法与剪枝优化的完美结合
  • CCPC dongbei 2025 F
  • 组件化:软件工程化的基础
  • 接口安全SOAPOpenAPIRESTful分类特征导入项目联动检测
  • 树莓派3B小练习
  • IT技术文章汇总
  • 美业+智能体,解锁行业转化新密码(2/6)
  • 大白话 Seata 分布式事务浅析,详解TCC模式