【国产虚拟仪器】基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(一)总体方案

article/2025/10/17 21:36:19
本章将根据高速数据采集指标要求,分析并确定高速数据采集模块的设计方
案,由此分析数据存储需求及存储速度需求给出高速大容量数据存储方案,完成
双通道高速数据采集模块总体设计方案,并综合采集、存储方案及 AXIe 接口需求
给出逻辑器件选型。
2.1 高速数据采集模块指标及方案分析
2.1.1 高速数据采集指标
本文基于 AXIe 测试总线平台的高速数据采集模块主要技术指标如下:
1 )最大采样率: 6.4GSPS
2 ADC 分辨率: 12bits
3 )通道数: 2
4 )模拟输入带宽: 1GHz
5 )耦合: DC
6 )输入信号幅值: 125mV 250mV 500 mV 1V
7 )信噪比: 54dB@380MHz
8 )存储深度: 2Gpts
9 )传输:支持 AXIe 规范中 PCIe 2.0 版本四通道、 5.0Gbps 的接口协议
10 )触发及同步:支持标准 AXIe 总线的触发、同步功能
2.1.2 高速数据采集方案
数据采集模块首先需实现模拟信号的数字化,其后才能对数字化信号进行缓
存、滤波及传输等处理。 ADC 作为数据采集模块的关键器件,其性能指标影响着
整个采集模块的性能。当 ADC 采样率较低时,可采用等效采样技术与时间交替采
样技术实现高采样率的数据采集 [13] 。等效采样技术主要针对重复性的周期信号,
具有局限性;而时间交替采样技术对信号没有限制,应用更为广泛。时间交替采
样结构如图 2-1 所示,多个 ADC 同时采样同一信号,各 ADC 的采样时钟以固定
相位差驱动对应 ADC ,采样数据在后端接收器件中按时间顺序拼合。通过时间交
替采样,采集系统的采样率将提高至多个 ADC 采样率之和。
根据该采集模块的采样率及分辨率指标,在 TI ADI 公司官网以采样率
3.2GSPS 6.4GSPS 及分辨率 12bits 为关键信息筛选出两款 ADC 芯片,分别为
ADC12D1600 ADC12DJ3200 ADC12D1600 最高采样率为 3.2GSPS ,分辨率为
12bits ADC12DJ3200 最高采样率为 6.4GSPS ,分辨率为 12bits 。其中 ADC12D1600
在时间交替采样的情况下也能达到 6.4GSPS 的采样率,因此 ADC12D1600
ADC12DJ3200 在采样率及分辨率上都能满足采集模块的指标要求。下文将讨论这
两款芯片实现 6.4GSPS 数据采集的方案。
ADC12D1600 内部集成了两个 ADC 内核,有两种工作模式,一个是单沿采样
模式,另一个是双沿采样模式 [14] 。单沿采样模式时,两个 ADC 内核在时钟上升沿
分别采样对应通道输入信号,最高采样率为 1.6GSPS ;双沿采样模式时,两个 ADC
内核分别在时钟上升沿及下降沿采样采样同一通道输入信号,最高采样率为
3.2GSPS ADC12D1600 的数据输出采用 LVDS 并行接口,一位数据位采用一对
LVDS 差分线,则 ADC12D1600 需要 12 对数据线。 LVDS 并行接口还需要同步时
钟信号,即一对时钟差分线用于 FPGA 内部同步接收并处理采样数据。采用
ADC12D1600 实现 6.4GSPS 采样的方案如图 2-2 所示,模拟信号经前端电路一分
为二送入两片 ADC 的输入端, ADC 工作在双沿采样模式,则两块 ADC 的采样时
钟均为 1.6GHz ,且两块 ADC 的时钟相位差为 90 °,然后将采样数据经 LVDS
行接口传输至后端按照采样时钟顺序重组数据,完成 6.4GSPS 12bits 数据采样。
ADC12DJ3200 芯片内部集成了三个 ADC 内核,分别称为 ADC A ADC B
ADC C ADC C 通常用于后端误差校正模式时周期性地代替 ADC A 或者 ADC B
工作以保证正常采集 [15] 。因此,同 ADC12D1600 一样, ADC12DJ3200 也有两种工
作模式,当其工作在双沿采样(单通道)模式的时候便能实现最高 6.4GSPS 的采
样。 ADC12DJ3200 采用 JESD204B 数据输出接口以应对数据速率的提升。
JESD204B 采用 CDR 技术( Clock Data Recovery ,时钟数据恢复)从数据中恢复时
钟,因此没有时钟线,仅有数据线。 ADC12DJ3200 最多有 16 条数据传输通道,
当工作在单通道模式时,可选择 8 通道或者 16 通道。由于没有同步时钟信号,
JESD204B 子类 1 通过系统参考时钟及同步信号实现同步功能。因此,对采用
JESD204B 子类 1 实现采样数据传输的采集模块,其时钟电路不仅需要提供 ADC
FPGA 的工作时钟用于完成数据采样,解串及恢复,而且需要提供系统参考时
钟用于产生衍生时钟,与同步信号一起完成链路建立及同步。图 2-3 为采用
ADC12DJ3200 实现 6.4GSPS 采样的方案。

 

 

LMH5401 是一款可使用外部电阻设置增益的全差分放大器 [16] ,在增益为 4V/V
12dB )时,可实现 6GHz 的最大信号带宽。本文采用 LMH5401 实现直流耦合的单
端信号转差分信号,电路如图 2-4 所示,接地端经与输入源电阻同阻值的电阻接地,
以使输入阻抗与给定源阻抗匹配。

LMH5401 输出和 LMH6401 输入之间的接口具有 1.61dB 的电压损耗,则在 LMH6401
内部 10 电阻之前输出的电压增益范围为 -1.61dB 30.39dB 。由于输入端损耗为
6dB ,则输入端电压增益范围为 -7.61dB 24.39dB ,满足 0dB 18dB 增益要求。

 由上述分析可得本文不同量程对应的 LMH6401 增益设置值,如表 2-1 所示。

2.3 高速采样时钟方案
2.3.1 JESD204B 时钟
数据采集模块的性能受 ADC 芯片性能影响,而 ADC 芯片性能又受时钟信号
质量影响,因此提高时钟信号质量至关重要。上文 ADC 芯片选型部分已在采集方
案实现上体现出两种数据接口的主要不同之处——时钟。采用 LVDS 并行传输方
式的采集系统,其高频采样时钟不仅会送入采集内部电路用于驱动 ADC 进行数据
采集,而且会经过 ADC 内部电路产生与采集数据同步的时钟信号一并送入 FPGA
FPGA 内部的数据接收、处理采用的主时钟正是该同步时钟。不同于 LVDS 并行传
输方式的采集系统,采用 JESD204B 串行传输方式的采集系统要求既有送入 ADC

端的设备时钟还有送入 FPGA 端的设备时钟,这两个时钟频率可以不同但需要保
证同源。除了上述两种设备时钟, JESD204B 标准还需要用于同步的时钟等信号。
JESD204B 子类 1 要求 ADC FPGA 两端都要有系统参考 SYSREF ,以及一个
SYNC 信号用于 ADC 端与 FPGA 端的链路同步。一般 JESD204B 子类 1 的时钟仅
需设备时钟及系统参考,但是受 FPGA 型号及 JESD204B 链路的速度影响, FPGA
端有时还需要使用全局时钟。
ADC12DJ3200 的数据传输接口采用的是 JESD204B 子类 1 ,图 2-6 给出了典
型的 JESD204B 子类 1 时钟系统,其中包括设备时钟( DCLK ),系统参考(
SYSREF
帧时钟 FC Frame Clock FC ),本地多帧时钟 LMFC Local Multi-Frame Clock
LMFC )以及全局时钟 glbclk

送入 ADC 端的设备时钟( DCLK A )又称为采样时钟,用于 ADC 采样;送入
FPGA 端的设备时钟( DCLK B )又称为参考时钟( refclk ),用作 JESD204B 协议
的物理层—— GTP/GTX/GTH 串行高速收发器正常工作的参考时钟,该参考时钟频
率由串行线速率( Serial Line Rate )确定,同一串行线速率下有多个值可供选择。
串行线速率指的是 JESD204B 各通道的数据传输速率,公式(
2-5 )是计算该值的 通用方法。

其中, M 表示链路上转换器的数量, N’ 表示单个样本内信息位的数量,包括样本
分辨率、控制位和结束位, Fclk 表示器件或采样时钟, L 表示通道数, 10/8 表示
8b/10b 编码的链路开销。对于本文采用的 ADC12DJ3200 器件,其串行线速率既可
以采用上式,也可以采用公式(2-6),因为 ADC12DJ3200 根据其操作模式定义
18 JESD204B 链路工作模式,简称为 JMODE ,并罗列了相关参数。式(2-6)
中的 DCLK Frequency ADC 采样时钟, R 为每个采样周期每个通道传输的比特
数。本文的采样率为 6.4GSPS ADC 采用 JMOD1 模式时,采样时钟为采样率的
一半,即 3.2GHz R 2 ,则串行线速率为 6.4Gbps
2.3.2 时钟参数计算
JESD204B 时钟系统可见帧时钟、多帧时钟等为设备时钟的衍生时钟,帧
时钟、多帧时钟等与设备时钟之间存在着一定的数值关系,图 2-7 描述了这些时钟
之间的关系。
由图 2-7 可知,在 JESD204B 时钟系统中,串行线速率是一个重要的参数,各
个时钟的频率都与该参数有关。下面介绍各时钟的作用及计算方法,首先是 ADC
FPGA 两端都有的时钟信号,再是 FPGA 端特有的时钟信号。
字节时钟( Byte Clock )是数据传输通道的字节速率。为了直流均衡,
JESD204B
的数据链路层设置了 8b/10b 编解码,数据传输通道的串行数据是 8 位传输数据经
过编码后的 10 位数据,由此可以通过串行线速率计算字节时钟频率,计算公式如
(2-7)所示。本文的 Byte Clock 为 640MHz。

帧时钟是 JESD204B 数据帧的传输速率。 JESD204B 将传输数据按照每帧多少
个字节进行打包,帧时钟大小既可以通过字节时钟计算也可以通过串行线速率计
算得到,计算帧时钟大小的公式如(2-8)所示,其中 F 代表多少个字节为一帧数
据。本文的 F 8 ,则 Frame Clock 80MHz 。帧时钟是设备时钟的分频。
2.4.2 数据存储结构方案
本文采集模块包含两个通道,各通道采样率为 6.4GSPS ,分辨率为 12bits 。将
数据位宽扩展至 16 位,则该模块的波形数据速率为 6.4GHz 16bits 2 ,即 25.6GB/s
因为 FPGA 中单个 DDR 存储器控制接口最多支持 64 位数据位宽,则由波形数据速率
可以计算出使用 64 DDR 实现相同吞吐量时 DDR 数据速率高达 3200MT/s 。随着计
算机技术进步, DDR SDRAM 的数据速率有了大幅提升,早期的 DDR2 最大数据速
率为 800MT/s DDR3 的最大数据速率则为 2133MT/s DDR4 的数据速率可以达到
3200MT/s 。上述计算的 DDR 数据速率恰为 DDR4 可达到的最高数据速率。由于 DDR
需要定期“刷新”,阻碍正常访存,降低工作效率,在计算 DDR 数据速率时需留
有裕量,故采用数据速率为 3200MT/s DDR4 并不能满足需求。当数据速率已超过
DDR 能提供的最高速率时,可通过扩宽 DDR 存储器的数据位宽达到提高数据吞吐
量的目的。将数据位宽从 64 位拓展至 128 位,由采集数据吞吐量可计算出此时 DDR
数据速率已从 3200MT/s 降至 1600MT/s ,即( 25.6GB/s /128bits 。实现时,使用两
个位宽为 64 位的 DDR 进行存储,两通道分别对应一个 DDR 。由单通道采集数据吞
吐量计算每个 DDR 的数据速率,单个 DDR 的数据速率仍为 1600MT/s ,即
6.4GHz 16bits /64bits ,可采用 DDR3 实现数据缓存。同样,考虑 DDR 的“刷新”
时间,以 91.03% 的访问效率计算 [21] ,则 DDR3 的数据速率应为 1757MT/s 。最终,
选择数据速率为 1866MT/s DDR3 作为外部存储设备。
使用 DDR3 实现的具体方案有如下两种:一种是采用 8 片位宽为 16 位,数据率
1866MT/s DDR3 颗粒,每 4片颗粒并联为一组用于一条通道的数据存储;另一
种是采用两片位宽 64 位、数据率 1866MT/s DDR3 内存条,一片内存条对应一条通
道的数据存储。存储容量上, DDR3 颗粒单片最大容量可达 4000Mb ,单通道 4 片并
联存储容量便能达到 2GB DDR3 内存条最大容量可达 8GB 。因此这两种方案都能
满足数据速率及容量要求。采用 DDR 颗粒方式与采用 DDR 内存条的方式区别主要
在电路设计上, DDR 颗粒通过直接焊接颗粒在电路板上实现,而 DDR 内存条采用
插槽实现,插槽方式便于器件更换。最终,选择镁光公司的 DDR3 内存条——
MT8KTF51264HZ-1G9 ,其内存容量为 4GByte ,数据速率为 1866MT/s ,数据位宽
64bits 。存储方案如图 2-8 所示,两路 ADC 采集数据经 JESD204B 链路传输至 FPGA
内部,再经异步 FIFO 跨时钟域和缓存处理后进入存储控制模块,存储控制模块根
据操作命令及起始地址实现连续多段存储、读取。存储控制模块将接收外部触发
信号和 AXIe 机箱提供的双向星型 STRIG 触发信号及 TRIG[0:11] 触发信号。


http://chatgpt.dhexx.cn/article/HMYZE58u.shtml

相关文章

JESD204接口调试总结——Xilinx JESD204B数据手册的理解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 JESD204接口调试总结——Xilinx JESD204B数据手册的理解 时钟架构Subclass 1SYSREF Sampling Clock Edge确定性时延SYSREF Delay 时钟架构 设计中采用如下图所示时钟设计图&…

【国产虚拟仪器】基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程

基于 JESD204B 的采集与数据接收电路设计 本章将围绕基于 JESD204B 高速数据传输接口的双通道高速数据采集实现展 开。首先,简介 JESD204B 协议、接口结构。然后,研究 JESD204B 链路建立与同 步的过程。其次,研究基于 JESD204B …

JESD204接口调试总结——JESD204C协议的介绍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 JESD204接口调试总结——JESD204C协议的介绍 前言JESD204C变化总结新术语传输层数据链路层物理层 第二部分64b/66b和64b/80b链路层多块(MB)和扩展多块(EMB)同步字64b/66b链路…

JESD204B 和 JESD204C 之间的差异

JESD204 标准 JESD204规范定义了实现协议数据流的四个关键层,如图9所示。 传输层映射样本和已帧、已解码的字节之间的转换。可选的扰乱层对八位元进行扰动/解扰动,分散谱峰值以降低电磁干扰(EMI)。数据链路层处理链路同步、设置和维护,并对…

纸上谈兵_JESD204B

文章目录 基本概念优点子类协议结构链路参数传输层映射方式测试模式 数据链路层对齐字符替换与还原数据链路建立与维护 物理层 时钟器件时钟帧时钟/多帧时钟调整时钟各时钟关系图各协议层时钟使用情况 Xilinx IPPortsBasic Generic Clocking SchemesSubclass 1 OperationRx exa…

【JESD204系列】三、JESD204B标准分层

JESD204B 作为一种分层规范,在规范中共定义了四个层,分别为应用层,传输层,数据链路层和物理层。各层分别执行各自的对应的功能,最终通过四个层的联合,将数据高速无误的进行传输。 【JESD204系列】三、JESD2…

【高速总线】JESD204B简介

一、简介 JESD204是一种连接数据转换器(ADC和DAC)和逻辑器件的高速串行接口,支持高达 12.5 Gbps串行数据速率,并可确保 JESD204 链路具有可重复的确定性延迟。随着高速ADC跨入GSPS范围,与FPGA(定制ASIC&am…

JESD204接口调试总结——JESD204B协议的理解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 JESD204接口调试总结——JESD204B协议的理解 JESD204B建链的步骤 本节内容摘抄于网络上,写的比较明了,故转载于此 内容来源:理解JESD204B协…

JESD204B协议基础知识

目录 1.JESD204B优势 2. 关键变量 3.IP核应用 4.同步 4.1 代码组同步 4.2 初始化多帧序列 4.3 数据传输 1.JESD204B优势 JESD204是基于SERDES的串行接口标准,主要用于数模转换器和逻辑器件之间的数据传输,最早版本的是JESD204A,现在是…

JESD204B 协议解析和参数理解

目录 1. 概述 2. 时钟 3. 同步协议 4. 参数理解 1. 概述 在JESD204接口出现以前,数模转换器的数字接口绝大多数是差分LVDS的接口,这就造成了布板的困难,当PCB的密度很大的时候就需要增加板层从而造成制版的成本。但是JESD204需要…

JESD204B简介(一)-------理论概述篇

JESD204B是一种新型的基于高速SERDES的ADC/DAC数据传输接口。JESD204和JESD204B修订版数据转换器串行接口标准由JEDEC委员会制定,旨在标准化并减少高速数据转换器与FPGA(现场可编程门阵列)等其它器件之间的数据输入/输出数目。更少的互连可简…

JESD204B简介

1、SERDES技术 了解JESD204B之前需要先了解SERDES(SERialization/DESerialization)技术,也就是串化和解串,在发送端将多位并行的数据转换为1bit的串行数据,在接收端将串行数据恢复成原始的并行数据。如下图为基于FPGA的…

高速接口----JESD 204B(1)

前言 最近两周在做一些关于高速ADC的东西,也算是接触到了一些新的东西,做技术的,就是要不断地学习新的东西才可以啊。调试的平台是zcu102daq3。daq3是ADI推出的一个高速AD和DA的评估板。上面主要的芯片是ADC芯片AD9680,DAC芯片AD…

gzip chunked

gzip chunked --比天空间-- - mod_gzip和chunked http://www.httpwatch.com/httpgallery/chunked/ When an HTTP client is reading a response message from a server it needs to know when it has reached the end of the message. This is particularly important with per…

http协议里的chunked编码与测试

如果有写过http下载的人,或多或少了解一点chunked编码的传输方式。例如笔者最初不知道这个http传输方式,以前能行的代码有一天就突然不行了,抓包才发现数据异样。 chunked编码 分块传输编码(Chunked transfer encoding&#xff09…

c客户端http post chunked协议上传到服务器demo源码

下面例子中 :c 客户端采用 chunked协议上传到服务器,java 服务器返回的不是chunked 协议 chunked 编码协议格式参考 https://blog.csdn.net/wy5761/article/details/17568851 c 客户端 chunked 完整内容是 Hello, world,how are you 。分了2块上传 Hel…

HTTP CHUNKED

服务端给浏览器发送报文时,必须告诉浏览器报文的大小,这样浏览器可以根据报文大小来判断报文的完整性以及在长连接中确定报文的截尾。但是很多服务器的报文是动态创建的,在发送之前是无法确定其大小的。服务器只有等待内容全部创建后&#xf…

chunked java_HTTP协议的chunked编码

一般情况HTTP的Header包含Content-Length域来指明报文体的长度。如: 有时候服务生成HTTP回应是无法确定消息大小的,比如大文件的下载,或者后台需要复杂的逻辑才能全部处理页面的请求,这时用需要实时生成消息长度,服务器…

HTML中chunked解码和gzip解压

chunked编码 chunked编码的的好处 当访问的时动态页面时,服务器则无法预知内容的大小,因此需要一遍产生数据,一边发送数据,将数据分块发送(服务器通过响应头’Transfer-Encoding: chunked’告诉浏览器它将使用chunked编码传输)。…

Android:rxjava简单实现原理(map/flatmap操作符)

rxjava 装饰者模式1、背景2、定义3、特征4、装饰者模式demo rxjava装饰者模式1、rxjava中转换操作符map的简单实现2、rxjava中转换操作符flatmap的简单实现 装饰者模式 1、背景 假设奶茶店有两种茶,果茶(fruit tea)和奶茶(milky tea)&#…