0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

4 实例

FPGA设计论坛 来源:未知 2023-08-16 14:10 次阅读

1 Overview

与传统的并行实现方法相比,基于串行I/O的设计具有很多优势,包括:器件引脚数较少、降低了板空间要求、印刷电路板(PCB)层数较少、可以轻松实现PCB设计连接器较小、电磁干扰降低并具有较好的抗噪能力。

2 高速串行通信中用到的技术

2.1多重相位

高速的秘密在于多重相位技术。所谓多重相位,就是在一个时钟的不同相位提取数据,例如,由锁相环产生多个不同相位的同源时钟,相位分别为 0°、90°、180°、270°,使用这几个时钟分别对串行数据流进行采样,再经零相位时钟同步,最后转换为并行数据输出,从而实现低速时钟处理高速时钟数据。若输入的串行数据流比特率为x,则并行数据流的比特率变为x/4。

2.2线路编码

2.21 8b/10b编码

  1. 将发送的8bits数据分为两部分:高3位(记为HGF)、低5位(记为EDCBA),记为D.X.Y(X代表EDCBA,Y代表HGF);高3位进行3b/4b编码(记为fghj),低5位进行5b/6b编码(记为abcdei)。

HGFEDCBA => abcdeifghj

  1. 定义一:在abcdeifghj中,1比0多一个记为+2;0比1多一个记为-2;1和0一样多记为0。使用+2、-2、0三个值表示了该数据0和1个数的不均等性(Disparity)。

  2. 定义二:该次传输的1比0多记RD = +1,0比1多记RD = -1;其中,RD为运行不均等性(Running Disparity)。

  3. 初始发送状态的Previous RD定义为-1,那么根据表格1中的规则即可根据前一次的RD从编码表中挑选出当前应该发送数据的Disparity。

  4. 除了需要编码的256个D.X.Y数据外,其余数据中的12个作为K码:K.X.Y,例如:K.28.1, K.28.5, and K.28.7 称为"comma symbols"。

8b/10b(64b/66b、128b / 132b)编码技术保证了发送数据通道中的直流平衡,减小了差分信号中的直流分量,易于接收端恢复时钟。

2.3发送预加重

由于传输线具有低通滤波器的性质,在电路板传输的高速信号会出现明显衰减,特别是趋肤效应和电介质损耗的影响。传输线上的信号边沿斜率变缓,码元变宽,幅度下降,抖动增加,导致眼图闭合,误码率上升。

预加重电路将信号进行一定量的过驱动,增加信号的高频分量,经传输线后仍能保持标准信号的特征,提升眼图质量,降低误码率。

2.4接收均衡

除了在发送端采用预加重或去加重技术外,在接收端一般采用接收均衡技术提高系统性能。

接收均衡器频率特性正好与传输线相反,通过放大信号的高频信号,保持低频信号,来补偿传输线对信号的衰减,改善眼图性能,保证传输质量。

3 XilinxFPGATransceivers

3.1系统架构

The 7 series FPGAs GTX and GTH transceivers are power-efficient transceivers, supporting line rates from 500 Mb/s to 12.5 Gb/s for GTX transceivers and 13.1 Gb/s for GTH transceivers. Four GTXE2_CHANNEL primitives and one GTXE2_COMMON primitive to be a Quad.

GTX收发器的TX RX相互独立,但都是由PMA(Physical Media Attachment,物理媒介适配层)和PCS(Physical Coding Sublayer,物理编码子层)组成。PMA内部集成了高速串并转换(Serdes)、预加重、接收均衡、时钟发生器和时钟恢复等;PCS内部集成了8b/10b编解码、弹性缓冲区、通道绑定和时钟修正等。

3.2 TX

OOB:Out-Of-Band/边带信号;

PISO:Parallel In Serial Out/并进串出;

3.21 8b/10b Encoder/8b/10b编码器

8B/10B is an industry standard encoding scheme that trades two bits overhead per byte for achieved DC-balance and bounded disparity to allow reasonable clock recovery. 高速收发器的发送端一般都带有8b/10b编码器。目的是保证数据有足够的切换提供给时钟恢复电路,编码器还提供一种将数据对齐到字的方法,同时线路可以保持良好的直流平衡。在GTX应用中,如果发送的是D码,则需要将TXCHARISK拉低,如果是K码,则将相应的TXCHARISK拉高。

3.22 Pattem Generator/ PRBS产生器

Pseudo-random bit sequences (PRBS) are commonly used to test the signal integrity of high-speed links.GTX拥有伪随机数列产生电路,伪随机数列是之中看似随机,但是是有规律的周期性二进制数列,有良好的随机性和接近白噪声的相关函数,所以伪随机数列可以用来做误码率测量、时延测量、噪声发生器、通信加密和扩频通信等等领域,在GTX中可以用来测试高速串行通道传输的误码率。

3.23 TX Phase Adjust FIFO/相位调整FIFO

我们都知道FIFO具有隔离时钟域的功能,在这里也不例外,我们从图中可以知道,TX Buffer连接着两个不同的时钟域XCLK和TXUSRCLK,在发送端的PCS子层内部包含两个时钟域,XCLK(PMA并行时钟域)TXUSRCLK时钟域,为了数据发送的稳定,XCLK和TXUSRCLK必须是速率匹配,相位差可以消除的,TX Buffer主要用于匹配两时钟域的速率和消除两时钟域之间的相位差。

3.24 TX Polarity Control/发送极性控制

TX发送端支持对TX发送的数据进行极性控制,从PCS子层输出的编码数据在进入PISO串行化之前进行极性翻转,这部分功能主要是用来弥补PCB的设计错误,如果PCB设计时不慎将TXP和TXN交叉连接的话,可以通过设置TXPOLARITY为“1”来翻转信号的极性。

3.3 RX

EQ:Equalizer/均衡器;

OOB:Out-Of-Band/边带信号;

CDR:Clock and Data Recovery/时钟恢复;

SIPO:Serial In Parallel Out/串进并出;

3.31 RX Equalizer (DFE and LPM)/均衡器

RX信号从模拟前端进来之后,首先经过RX均衡器,均衡器的主要作用是用于补偿信号在信道传输过程中的高频损失,因为信道是带宽受限的,所以信号经过它必将造成衰减甚至遭到破坏。RX接收端的均衡器有两种,分别是LPM和DFE,两者功耗和性能有所不同,其中LPM功耗较低,DFE能提供更精确的滤波器参数,从而可以更好的补偿传输信道损失,因此性能更好。

3.32 RX CDR/时钟恢复

因为GTX传输不带随路时钟,因此在接收端必须自己做时钟恢复和数据恢复,首先外部数据进来之后经过均衡器,紧接着均衡器出来的数据就进入时钟数据恢复电路。GTX使用相位旋转CDR结构,从DFE进来的数据分别被边缘采样器和数据采样器捕获,然后CDR状态机根据两者决定数据流的相位并反馈控制相位内插器(PI),当数据采样器的位置位于眼图中央的时候边缘采样器锁定到数据流的传输域。其中CPLL或者QPLL为相位内插器提供基础时钟,使CDR状态机能很好进行相位控制。

3.33 RX Polarity Control/接收极性控制

和TX发送端一样,RX接收端也拥有极性控制功能,可用于实现数据翻转,在PCB设计时RXP和RXN接反时使用这个功能。

3.34 RX Comma Detect and Align/K码检测与对齐

串行数据在被并行化之前,需要找到一个合适的特征边界,这个特征边界或者字符边界是由TX发送端发送的一个可识别序列,通常称为标识符(comma)或者K码,接收端在到来的数据中搜索这个标识符,当找到这个标识符之后,后面接收的数据都已这个标识符为边界进行并行化,其工作原理如图所示。

3.35 RX PRBS Checker/PRBS检查器

GTX包含一个内嵌的PRBS检查器,如图4所示,有四种不同的伪随机序列生成器可以选择,检查器是自同步的,且工作在边界对齐和解码之前,这个功能可以用来测试信号的完整性。

3.36 RX Elastic Buffer/接收弹性缓冲

RX接收端弹性缓冲器是一个重要的功能,和TX接收端缓冲相比,RX多出了一个“弹性”属性,意味着和TX发送端相比,RX弹性缓冲器有更多的功能(RX时钟纠正和RX通道绑定)。

3.37 RX Clock Correction/时钟校正

RX弹性缓冲器的“弹性”反映在可以通过时钟纠正来调整XCLK和RXUSRCLK的频率差。对于RX接收端来说,即便XCLK和RXUSRCLK运行在同一个时钟频率,但往往存在一定的差异,这种差异很容易导致RX弹性缓冲器写满或者读空,时钟纠正功能应运而生。

通俗的讲,在TX发送端的时候,我们会定期的发送K码用于保证接收端边界对齐,在RX弹性缓冲器里面数据不足的时候,接收到的K码数据将被复制写入RX弹性缓冲器,以保持RX弹性缓冲器处于半满。当RX弹性缓冲器数据过多的时候,接收到的K码数据将被舍弃不写入RX弹性缓冲器,以保持RX弹性缓冲器处于半满。

3.38 RX Channel Bonding/通道绑定

通道绑定功能同样体现RX弹性缓冲器的“弹性”之处,对于像PCIE和SRIO等协议,可以支持多lane传输来提高传输总带宽。因为传输信道的原因,TX发送端同一时刻发送的数据在RX接收端不能被所有的lane同一时刻接收,每一个lane接收存在时间差,那么在恢复数据的时候就要重新对齐,因此需要在RX接收端执行通道绑定功能。

为了实现这个功能,TX发送端在发送的数据流中加入一个同样的通道绑定序列,RX接收端根据每一个lane检测到的通道绑定序列在各自的RX弹性缓冲器做相应的调整和延迟,最终使得各个lane的数据不存在偏移,在FPGA RX Interface的输出能和TX发送端发送的数据一样,功能如图所示,左边是未对齐数据,右边是对齐的数据。

4 实例

4.1 GT的类型

4.1 GTX配置(Xilinx ZC706)

The ZC706 board provides access to 16 GTX transceivers:

• Four of the GTX transceivers are wired to the PCI Express x4 endpoint edge connector (P4) fingers

• Eight of the GTX transceivers are wired to the FMC HPC connector (J37)

• One GTX transceiver is wired to the FMC LPC connector (J5)

• One GTX transceiver is wired to SMA connectors (RX: J32, J33 TX: J35, J34)

• One GTX transceiver is wired to the SFP/SFP+ Module connector (P2)

• One GTX transceiver is unused and is wired in a capacitively coupled TX-to-RX loopback configuration

4.2 IBERT眼图

使用Xilinx IBERT(Integrated Bit Error Ratio Tester) IP测试GTX传输信道质量。

图 1 引脚直连

图 2 SMA引脚回环(未拧紧)

图 3 SMA引脚回环(拧紧)






扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看






原文标题:4 实例

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1628

    文章

    21722

    浏览量

    602885

原文标题:4 实例

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    hart协议在传感器中的应用实例

    HART协议在传感器中的应用实例主要体现在压力变送器、流量计等现场智能仪表上。以下是一些具体的应用实例: 一、压力变送器的HART通讯协议 工作原理 : 压力变送器通过HART协议,可以在
    的头像 发表于 12-02 09:41 156次阅读

    详解MySQL多实例部署

    详解MySQL多实例部署
    的头像 发表于 11-11 11:10 216次阅读

    Air780E模组的ADC之旅 LuatOS开发实例

    今天学习一个新的示例,关于Air780E模组LuatOS开发的ADC应用实例,希望大家有所收获。
    的头像 发表于 11-11 09:33 191次阅读
    Air780E模组的ADC之旅  LuatOS开发<b class='flag-5'>实例</b>

    ASCII码在编程中的应用实例

    的应用实例: 1. 字符串处理 在编程中,ASCII码常用于字符串的处理。例如,可以使用ASCII码来比较两个字符的大小关系,或者通过将字符的ASCII码加上或减去某个值来实现字符的平移和变换。以下是一些
    的头像 发表于 11-10 09:43 360次阅读

    低功耗模组短信通:短消息发送实例解析

    今天带大家学习的是低功耗4G模组发送SMS短消息的解析,以Air780E为实例,让大家了解更透彻。 SMS(短消息服务,ShortMessageService)功能主要用于在蜂窝网络中传输短消息。 移动,联通卡不需开通VOLTE可以支持短信功能。
    的头像 发表于 10-29 14:43 1119次阅读
    低功耗模组短信通:短消息发送<b class='flag-5'>实例</b>解析

    亚马逊云科技宣布基于自研Amazon Graviton4的Amazon EC2 R8g实例正式可用

    北京2024年7月15日 /美通社/ -- 亚马逊云科技宣布基于自研芯片Amazon Graviton4处理器的Amazon Elastic Compute Cloud (Amazon EC2
    的头像 发表于 07-15 16:09 368次阅读

    腾讯云正式上线第八代云服务器标准型实例S8和内存型实例M8

    4月15日,腾讯云正式上线第八代云服务器标准型实例 S8和内存型实例M8。基于自研服务器的高密设计与硬件升级,搭载第五代英特尔至强可扩展处理器的腾讯云实例S8/M8,计算性能大幅提升,
    的头像 发表于 04-30 17:16 2016次阅读
    腾讯云正式上线第八代云服务器标准型<b class='flag-5'>实例</b>S8和内存型<b class='flag-5'>实例</b>M8

    CKS32F4xx系列FSMC功能简介

    本课讲为大家讲解CKS32F4xx系列产品的FSMC应用实例,FSMC全称是Flexible Static Memory Controller,读作灵活的静态存储控制器,顾名思义,MCU可以通过FSMC扩展静态内存
    的头像 发表于 04-14 15:06 924次阅读
    CKS32F<b class='flag-5'>4</b>xx系列FSMC功能简介

    OpenHarmony实例应用:【常用组件和容器低代码】

    基于ArkTS语言的低代码开发方式实现的一个简单实例
    的头像 发表于 04-14 09:27 794次阅读
    OpenHarmony<b class='flag-5'>实例</b>应用:【常用组件和容器低代码】

    HarmonyOS开发实例:【分布式数据管理】

    eTS中分布式数据管理的使用,包括KVManager对象实例的创建和KVStore数据流转的使用。
    的头像 发表于 04-11 09:57 923次阅读
    HarmonyOS开发<b class='flag-5'>实例</b>:【分布式数据管理】

    verilog的135个经典实例

    verilog的135个经典实例
    发表于 02-02 10:17 14次下载

    请问可以在DAVE4中更改进配置的CCU4_PWM实例吗?

    你好,请问可以在 DAVE4中更改进配置的CCU4_PWM实例吗? 如果需要两个独立的 PWMCONTROLLECTROL 的 IOINGLEFET,一般情况是两个配置 CCU4CHE
    发表于 01-30 07:25

    单片机编程实例总结

    单片机编程实例总结
    的头像 发表于 01-16 09:17 1029次阅读

    西门子博途:创建实例数据块

    有三种方法可以创建实例数据块: 当第一次调用FB时,用户指定应该使用的FB的实例DB。这将打开一个对话框,在该对话框中可以手动指定符号名称,如果需要,还可以指定实例DB的数量。
    的头像 发表于 12-25 11:10 902次阅读
    西门子博途:创建<b class='flag-5'>实例</b>数据块

    西门子博途:调用FB(实例化)

    与功能块(FC)相比,功能块(FB)具有存储器。这意味着功能块被分配了一个本地数据块,即所谓的实例数据块。当调用FB时,还必须指定实例DB的编号,并且此DB会自动打开。
    的头像 发表于 12-25 11:04 3112次阅读
    西门子博途:调用FB(<b class='flag-5'>实例</b>化)