在上一篇博客中《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的不同参数设置。

参考文献

  1. 《Understanding JESD204B Link Parameter》
  2. 《JESD204B Overview》_TI

FPGA之JESD204B接口——总体概要 尾片相关推荐

  1. JESD204B接口调试记录2 - 资料

    LMK04828 芯片手册相关资料,在TI官网下载:LMK04828 数据表.产品信息和支持 | 德州仪器 TI.com.cn 除了手册,还需要下载和使用TICSPRO-SW,产生所需要的时钟芯片配置 ...

  2. python fpga chips_基于FPGA实现JESD204B高速接口设计

    曹鹏飞 摘 要:JESD204B接口是高速ADC和DAC芯片采用的数据通信接口之一,具有传输速率高,抗干扰能力强,芯片间同步方便等优点.目前国内JESD204B 接口应用多由国外集成芯片提供,缺乏自主 ...

  3. FPGA高速数据采集设计JESD204B接口

    FPGA高速数据采集设计JESD204B接口的应用场景 作者:陈刀刀 本文为明德扬原创文章,转载请注明出处! 一,JESD204B应用的优缺点 接触过FPGA高速数据采集设计的朋友,应该会听过新术语& ...

  4. AD9680+JESD204B接口+FPGA FMC高速率数据采集板卡

    板卡概述: [FMC_XM155] FMC_XM155 是一款基于 VITA57.1 标准的,实现 2 路 14-bit.500MSPS/1GSPS/1.25GSPS 直流耦合 ADC 同步采集 FM ...

  5. JESD204B接口调试【开篇】

    本系列文章主要研究JESD使用的相关问题,首先对JESD204B协议的基础知识进行简要介绍,并通过AD9625和Xilinx 609T FPGA硬件平台,介绍一种典型的JESD204B使用场景:并在此 ...

  6. 基于FPGA的USB接口控制器设计(VHDL)(中)

    今天给大侠带来基于 FPGA 的 USB 接口控制器设计(VHDL),由于篇幅较长,分三篇.今天带来第二篇,中篇,USB通信原理.USB 系统开发以及设计实例.话不多说,上货. 之前有关于 Veril ...

  7. AD9680之JESD204B接口2路、4路、8路的14bit 500MSPS/1GSPS/1.25GSPS采样率子卡的中文版本设计及调试经验资料分享

    板卡概述: [FMC155] FMC155 是一款基于 VITA57.1 标准的,实现 2 路 14-bit.500MSPS/1GSPS/1.25GSPS 直流耦合 ADC 同步采集 FMC 子卡模 ...

  8. CPLD/FPGA的UART接口设计之系统时钟(晶振)和波特率关系

    UART(UniversalAsynchronous ReceiverTransmitter,通用异步收发器)是一种广泛使用的异步串行数据通信协议.目前大多数MCU.串口通信IC等芯片或模块均支持UA ...

  9. Linux下rgmii接口与fpga相连,FPGA控制RGMII接口PHY芯片88E1512网络通信

    一.前言 网络通信中的PHY芯片接口种类有很多,之前接触过GMII接口的PHY芯片RTL8211EG.但GMII接口数量较多,本文使用RGMII接口的88E1512搭建网络通信系统.这类接口总线位宽小 ...

  10. 基于Xilinx Spartan-7 FPGA实现SMC接口

    1 引言 Static Memory Controller(SMC)静态存储控制器,SMC接口应用场景之一就是ARM和FPGA通信.FPGA作为从设备,ARM作为主设备.具体实现的逻辑功能也是通过地址 ...

最新文章

  1. 指针的本质--u_char*指针在Nginx源码中的应用及原因
  2. 使用VS2003创建WEB程序的时候出现AutoMation服务器不能创建对象错误
  3. 2021亚太内容分发大会 阿里云荣获三项大奖
  4. 产品经理,如何建立自己独特的产品观?(转)
  5. 每日一笑 | 在地铁上被老奶奶让座是一种什么样的体验?
  6. day 02 python 基础
  7. 按条件增加列_12个公式解决Excel按条件多列求和,掌握两、三个就够用了
  8. 29日直播丨 Oracle RMAN 单实例异机迁移恢复(版本:11GR2)
  9. 如何判断脚本执行成功
  10. 路由器和iP地址的那些事
  11. 对冲基金很需要:K、Q在哪里?
  12. 英语阅读计算机病毒是指,阅读计算机病毒大战的答案
  13. python 画风场_Python人工智能的味道 - 图像风格迁移
  14. 你知道大量群发邮件用什么邮箱好吗?
  15. 宏正自动科技发表新款8/16端口双滑轨LCD KVM多电脑切换器
  16. 雷军《小米创业思考》读书笔记
  17. C语言——| 和 ||—— 和 的区别用法
  18. 利用微信小程序API获取所在位置周围的WIFI信息
  19. 和Xiong的一段对话
  20. 华为中央软件院编译器与编程语言实验室人才招募

热门文章

  1. 监控网页内容,发现需要的内容后弹框和声音提醒
  2. ## STAMP使用中数据上传注意事项
  3. 【编译原理】语法分析
  4. Hadoop 版本与 HBase 版本 之间的对应关系整理
  5. 机器学习(2)——监督学习
  6. 手机4g接台式计算机,我用4G手机开热点连接电脑网速很慢怎么回事
  7. Python下载拼接地图
  8. 代理内网穿透-Lcx.exe-venom-proxychains
  9. 二维数组指针,指针数组与数组指针的区别,一看就懂
  10. C++ 二维数组指针遍历