JSED204B
简介
JESD204是一种连接数据转换器(ADC和DAC)和逻辑器件的高速串行接口,该标准的 B 修订版支持高达 12.5 Gbps串行数据速率,并可确保 JESD204 链路具有可重复的确定性延迟。随着转换器的速度和分辨率不断提升,JESD204B接口在ADI高速转换器和集成RF收发器中也变得更为常见。此外,FPGA和ASIC中灵活的串行器/解串器(SERDES)设计正逐步取代连接转换器的传统并行LVDS/CMOS接口,并用来实现 JESD204B物理层。本文介绍如何快速在Xilinx? FPGA上实现JESD204B接口,并为FPGA设计人员提供部分应用和调试建议。
JESD204B 协议实现概述
JESD204B规范定义了实现该协议数据流的四个关键层,如图1所示。传输层完成样本和未加扰的帧数据之间的映射和解映射。可选的加扰层可用来加扰/解扰8 位字,以扩散频谱尖峰来降低EMI。数据链路层处理链路的同步、建立与保持,并对加扰后的数据进行8B10B编码或译码。物理层负责以比特速率发送和接收编码后的字符。

图1. JESD204B标准的关键层级
不同的JESD204B IP供应商可能以不同的方式实现这些层级。图 2和图3显示ADI如何实现JESD204B的发送和接收协议。

图2. JESD204B发送器实现

图3. JESD204B接收器实现
传输层实现和特定的转换器配置及其样本与帧之间的映射方式强相关,因此大部分FPGA供应商将其排除在各自的JESD204 IP之外。此外,FPGA集成了高度可配置、高集成度的SERDES收发器,这些SERDES收发器可用来支持所有类型的串行协议,包括PCIe、SATA、SRIO、CPRI和JESD204B。因此,一个实现链路层的逻辑核和实现物理层的可配置SERDES 便构成了JESD204B 链路的基础。图4 和图5 显示Xilinx FPGA上的JESD204B发送器和接收器框图。发送器/接收器通道实现加扰和链路层;8B/10B编码器/解码器和物理层在GTP/GTX/GTHGbit 收发器中实现。

图4. 使用Xilinx FPGA实现JESD204B发送器

图5. 使用Xilinx FPGA实现JESD204B接收器
采用Xilinx FPGA的JESD204B设计示例
最新的Xilinx JESD204 IP核通过Vivado?设计套件以黑盒子加密交付。Xilinx还提供使用高级 eXtensible接口(AXI)的Verilog设计示例,但该示例项目对大部分应用而言是过设计的, 因为用户通常采用自己的配置接口,无需针对JESD204B 逻辑集成一个额外的AXI。图6 显示的是一个JESD204简化设计,旨在帮助FPGA用户理解JESD204结构,并让他们快速着手设计自己的JESD204 FPGA项目。

图6. JESD204B设计示例
Vivado产生的JESD204逻辑IP核,即经过加密的RTL摸块相当于图4和图5中的发送和接收模块,其加密接口定义可在Xilinx示例设计文件中找到。然后,可将经过加密的RTL 模块嵌套入JESD204B用户顶层。来自加密RTL 模块的控制、配置、状态和JESD 数据接口直接通过嵌套层连接到用户逻辑和GTX/GTH收发器。GTX/GTH符号对齐配置经优化和更新,使收发器工作更为稳定。
给SERDES收发器的GTX/GTH参考时钟应采用专用引脚,对用于FPGA逻辑的全局时钟设计必须仔细的考虑,包括内部PLL、并行接口时钟、JESD204逻辑核以及用户逻辑时钟。此外,必须 确保给JESD204B逻辑核(子类1)的SYSREF输入被准确采到,以确保JESD204链路的确定性延迟。
若要获得可靠的JESD链路初始化性能,GTX/GTH收发器和JESD204核的复位序列十分关键;因此,JESD204核应处于复位状态,直到GTX/GTH收发器的内部PLL 锁定,且GTX/GTH复位完成。
JSED204B的更多相关文章
随机推荐
- 论文笔记(一)---翻译 Rich feature hierarchies for accurate object detection and semantic segmentation
论文网址: https://arxiv.org/abs/1311.2524 RCNN利用深度学习进行目标检测. 摘要 可以将ImageNet上的进全图像分类而训练好的大型卷积神经网络用到PASCAL的 ...
- RPC通信原理(未完,先睡觉)
一 背景 OpenStack 各组件之间是通过 REST 接口进行相互通信,比如Nova.Cinder.Neutron.Glance直间的通信都是通过keystone获取目标的endpoint,即ap ...
- Objective-C Programming The Big Nerd Ranch Guide 笔记 19-37
Properties are either atomic or nonatomic, The difference has to do with multithreading. atomic is t ...
- UVA12253 简单加密法 Simple Encryption
这题到现在还是只有我一个人过?太冷门了吧,毕竟你谷上很少有人会去做往年ACM比赛的题 题面意思很简单,每次给出\(K_1\),让你求一个\(K_2\)满足\(K_1^{K_2}\equiv K_2(\ ...
- JavaScript原生秒表、计时器
可以开始.暂停.清除. 效果图: 下面贴代码: <!DOCTYPE html> <html lang="en"> <head> <meta ...
- .NetCore实践爬虫系统(一)解析网页内容
爬虫系统的意义 爬虫的意义在于采集大批量数据,然后基于此进行加工/分析,做更有意义的事情.谷歌,百度,今日头条,天眼查都离不开爬虫. 今日目标 今天我们来实践一个最简单的爬虫系统.根据Url来识别网页 ...
- 苹果 icloud 把我 ipad min 所有照片丢失
苹果 icloud 把我 ipad min 所有照片丢失,大概发生在 '云上贵州' 之后! 发帖纪念--- 求个说法---
- Jmeter性能与接口自动化实战
本书可以作为工具书,也可以作为jmeter疑难杂症的良方!各位同学在jmeter学习中遇到的常见难题,在本文中都可以检索到答案. 大纲如下: ☞点击这里,获取本书
- shell 小工具
1.打印进度条(待完善) #!/bin/sh printf -- 'Performing asynchronous action..'; DONE=; printf -- '............. ...
- yosay
$ npm install yosay const yosay = require('yosay'); console.log(yosay('Hello, and welcome to my fant ...