FPGA之JESD204B接口——总体概要 尾片
在上一篇博客中《JESD204B(1)——总体概要》,我们框架性的介绍了JESD204B,这篇博客介绍协议所需要关注的一些参数,这些参数基本就是决定了连接特性。理解这些参数,有助于理解连接中的转换特性、路径数(lane count)、速率以及接收能力。
本篇博客主要是翻译自文献《Understanding JESD204B Link Parameters》,在加上一些自己的总结和补充。
1. 参数
首先,有关连接的主要参数如下表所示:
参数 | 含义 |
---|---|
M | 每个器件的转换数(理解为每个AD或者DA的转换通道数) |
N | 转换分辨率(即AD采样位数) |
N' | 所需半字节总的位数,即所需nibble数乘以4,也可称为协议的字长(word size) |
S | 每一帧所传输的采样数 |
L | 数据传输的通道(lane)数量 |
F | 每一帧的字节数(octets) |
K | 多帧情况下的帧数 |
举一个简单的例子,假设一个4通道的AD芯片,分辨率是14位,则M=4,N=14。在JESD204B的标准中要求,采样的一个数据必须要分解成半字节(nibble,4bit),那么14位的AD数据,能分解成3个nibble,还余下2位。那么余下的这2位,要与控制位(CS)或尾位(T)组成一个新的nibble。所以14位采样率的AD,需要4个nibble,那么N'=16,组帧结构如下图所示,发送时先发送高位,再发送低位。同理,如果12位的AD,只需要3个nibble,不需要控制位或尾位在补充,则N'=12。所以可以得知$N'=N+CS+T$。
以nibble为基本传输单元的设计有什么好处呢?如果将发送和接收端的N'均设置为16,那么可以实现8bit到16bit之间的转换器的通信。另外,这允许同一个发送和接收端实现多个转换器,简化了系统设计。(这一点没有很好理解)
S表示每一帧传输的采样数,S必须是整数,以防止数据的串扰。一般而言S=1,即每一帧传输1个采样数据,这样设计还有一个好书就是使得帧时钟(frame clock,FC)与采样时钟(sample clock)同频。
L表示数据传输的通道数量,要想知道传输所需的通道数量,必须先还要知道通信速率。通信速率由收发两端各自接收/发送数据的驱动能力有关。通道速率的计算公式如下式所示:
$$Lane Rate = (M × S × N' × 10/8 × FC)/L$$
其中10/8是一个系数,表示数据8B/10B编码之后会增加2位。以一个4通道,500MSPS采样率,14位的AD为例,可以知道N’=16,S=1。假设器件支持的JESD204B协议的速率为12.5Gb/s,那么可以求得L=4的时候,速率为10Gb/s,这样才不会超过速率的最大限制。
F表示每一帧的字节数(octets),计算公式如下:
$$F=(M×S×N')/(8×L)$$
同样以上面AD为例,可以计算得出F=2,即每一帧传输中有2个字节的数据。
2. 组帧传输
上面介绍了连接所需参数,这节说明参数是如何体现在组帧和传输上面的。
通过上面的例子知道,此时JESD204B协议的一个字长是16,即4个nibble或2个通信字节。那么这2个字节是如何进行组帧并传输的呢?首先一帧数据在发送之前,先要经过8B/10B编码,一个字节的数据经过一定的编码规则转换成10位的数据,如下图所示。
例子中的AD有4个采样通道,每一个通道的数据经过上图编码之后进入各自的传输通道,即4条通道(lanes),并且数据经过转换后都是对齐出现在各自的通道上。如下图所示显示了4个转换器器在4个传输通道上的映射关系。每一个采样经过8B/10B编码之后形成wor0和word1组成一帧数据在线路上进行串行传输。
同理,如果上述AD的其他参数不变,唯独传输通道增加1倍,即8条lanes,意味着同一时刻可以传输2个采样数据(word0和word1、word2和word3),如下图所示。因为总的数据吞吐量不变,则意味着通信速率降低了一倍,从10Gb/s降为5Gb/s。在JESD204A协议中并不支持一个转换器通过两路通道传输数据的方式,直到204B才增加了这种方式的支持。总的来说速率和传输通道数的关系是,要保持低速率,则需增加通道数。
结合组帧的情况,再补充一个参数K,表示多帧模式下,一包数据中有多少帧,取值范围是1-32。
3. 举例
为了更加形象的说明组帧和传输形式,TI有一份文档中给出了一些非常好的示意图。
如图所示,为一个8通道采样,11位的AD,拥有4条传输通道,即M=8,N=11,L=4。根据上面的说明,N'=13(此处TI的定义和ADI的略有不同,ADI的定义下N'=16,但不影响理解),补充了2个控制位和3个尾位。要是同一帧的传输下,4条通道装下8个转换器的一个数据,需要设置F=4,即4个字节,每2个转换器共用一个传输通道,各自传输2个字节的数据。这张图一目了然的展示了连接参数对组帧方式的作用。
同一种AD芯片可能因为不同的参数设置而组成不同形式的传输帧。下图TI给出芯片ADS42JB49的不同参数设置。
参考文献
- 《Understanding JESD204B Link Parameter》
- 《JESD204B Overview》_TI
FPGA之JESD204B接口——总体概要 尾片相关推荐
- JESD204B接口调试记录2 - 资料
LMK04828 芯片手册相关资料,在TI官网下载:LMK04828 数据表.产品信息和支持 | 德州仪器 TI.com.cn 除了手册,还需要下载和使用TICSPRO-SW,产生所需要的时钟芯片配置 ...
- python fpga chips_基于FPGA实现JESD204B高速接口设计
曹鹏飞 摘 要:JESD204B接口是高速ADC和DAC芯片采用的数据通信接口之一,具有传输速率高,抗干扰能力强,芯片间同步方便等优点.目前国内JESD204B 接口应用多由国外集成芯片提供,缺乏自主 ...
- FPGA高速数据采集设计JESD204B接口
FPGA高速数据采集设计JESD204B接口的应用场景 作者:陈刀刀 本文为明德扬原创文章,转载请注明出处! 一,JESD204B应用的优缺点 接触过FPGA高速数据采集设计的朋友,应该会听过新术语& ...
- AD9680+JESD204B接口+FPGA FMC高速率数据采集板卡
板卡概述: [FMC_XM155] FMC_XM155 是一款基于 VITA57.1 标准的,实现 2 路 14-bit.500MSPS/1GSPS/1.25GSPS 直流耦合 ADC 同步采集 FM ...
- JESD204B接口调试【开篇】
本系列文章主要研究JESD使用的相关问题,首先对JESD204B协议的基础知识进行简要介绍,并通过AD9625和Xilinx 609T FPGA硬件平台,介绍一种典型的JESD204B使用场景:并在此 ...
- 基于FPGA的USB接口控制器设计(VHDL)(中)
今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇.今天带来第二篇,中篇,USB通信原理.USB 系统开发以及设计实例.话不多说,上货. 之前有关于 Veril ...
- AD9680之JESD204B接口2路、4路、8路的14bit 500MSPS/1GSPS/1.25GSPS采样率子卡的中文版本设计及调试经验资料分享
板卡概述: [FMC155] FMC155 是一款基于 VITA57.1 标准的,实现 2 路 14-bit.500MSPS/1GSPS/1.25GSPS 直流耦合 ADC 同步采集 FMC 子卡模 ...
- CPLD/FPGA的UART接口设计之系统时钟(晶振)和波特率关系
UART(UniversalAsynchronous ReceiverTransmitter,通用异步收发器)是一种广泛使用的异步串行数据通信协议.目前大多数MCU.串口通信IC等芯片或模块均支持UA ...
- Linux下rgmii接口与fpga相连,FPGA控制RGMII接口PHY芯片88E1512网络通信
一.前言 网络通信中的PHY芯片接口种类有很多,之前接触过GMII接口的PHY芯片RTL8211EG.但GMII接口数量较多,本文使用RGMII接口的88E1512搭建网络通信系统.这类接口总线位宽小 ...
- 基于Xilinx Spartan-7 FPGA实现SMC接口
1 引言 Static Memory Controller(SMC)静态存储控制器,SMC接口应用场景之一就是ARM和FPGA通信.FPGA作为从设备,ARM作为主设备.具体实现的逻辑功能也是通过地址 ...
最新文章
- 指针的本质--u_char*指针在Nginx源码中的应用及原因
- 使用VS2003创建WEB程序的时候出现AutoMation服务器不能创建对象错误
- 2021亚太内容分发大会 阿里云荣获三项大奖
- 产品经理,如何建立自己独特的产品观?(转)
- 每日一笑 | 在地铁上被老奶奶让座是一种什么样的体验?
- day 02 python 基础
- 按条件增加列_12个公式解决Excel按条件多列求和,掌握两、三个就够用了
- 29日直播丨 Oracle RMAN 单实例异机迁移恢复(版本:11GR2)
- 如何判断脚本执行成功
- 路由器和iP地址的那些事
- 对冲基金很需要:K、Q在哪里?
- 英语阅读计算机病毒是指,阅读计算机病毒大战的答案
- python 画风场_Python人工智能的味道 - 图像风格迁移
- 你知道大量群发邮件用什么邮箱好吗?
- 宏正自动科技发表新款8/16端口双滑轨LCD KVM多电脑切换器
- 雷军《小米创业思考》读书笔记
- C语言——| 和 ||—— 和 的区别用法
- 利用微信小程序API获取所在位置周围的WIFI信息
- 和Xiong的一段对话
- 华为中央软件院编译器与编程语言实验室人才招募