基于 JESD204B 协议ARM+FPGA+AD多板卡多通道同步采集实现方法

news2025/1/15 13:53:12
0 引言
随着数字化信号处理技术的不断进步,对数字信号
的处理已经成为当前大多数工程应用的基本方法。由于
模拟信号才是现实生活中的原始信号,为了工程研究实
现的可能,需将模拟信号转换为数字信号才能在工程中
处理,AD 转换作为模拟信号转换为数字信号的关键环
节也成为工程中的重要研究对象 [1]
数据采样转换器的接口经历了从传统 CMOS 接口
到差分 LVDS 接口的转变,由于 CMOS 接口速率低限制
了初期 AD 采样的速率,差分 LVDS 接口实现了较高数
据速率的 AD 采样,但是随着当今 AD 转换器的快速发
展,更高的采样速率和更高的通道密度已经成为新的需
求,LVDS 接口针对此种情况已经显得有些乏力,为克服
这个挑战,JESD204B 接口应运而生。
当前国际上雷达工作方式多种多样,其中阵列雷达
对多通道间数据采样的同步性要求比较高,导致了多通
道的数据采集成为当前数据采集研究的一条重要分支。
多通道 AD 信号采集板相对单通道 AD 信号转换板来
说,除了要衡量 AD 采样的有效位数、动态范围、最大采
样率以及输入带宽等一些参数以外,还要衡量多通道间
的幅度一致性和相位一致性。
本文描述了一种基于 JESD204B 协议的多板卡的
多通道同步采集技术的设计。
1 设计指标
本文设计了 2 块 4 通道信号采集板来验证多板卡
的数据同步采集技术。
每块 4 通道信号采集板主要由高速 AD 芯片和现
场可编程逻辑器件 FPGA 组成,其中 AD 芯片将外部中
频信号转换成数字信号后供给 FPGA 内进行预处理,
FPGA 再将预处理结果传输给下一级目标单元。所设计
的部分指标为:
(1)信号采集通道数为 4 路;
(2) 信号采集带宽和中心频率分别为 550MHz ~950
MHz 和 750MHz;
(3)有效位不小于 9.5bit;
(4)信号采样率不小于 1000MSPS;
(5)各通道间幅度一致性不大于 0.5dB(R.M.S);
(6)各通道间相位一致性不大于 5 ° (R.M.S)。
2 设计过程
2.1 设计原理
在比较多种 ADC 芯片后,选择了 ADI 公司的
AD9680-1000,该芯片最大分辨率为 14bit,最高采样率
为 1GSPS,无杂散动态范围为 80dBc( f IN =1GHZ),支持高
速 2 通道 JESD204B 串行输出。AD9680-1000 可对高达
第二奈奎斯特区的宽带模拟信号进行采样,满足对
550MHz~950MHz 范围内信号进行无失真采样的需求。
为了实现多板卡间多通道 AD 芯片的同步需求,经
比较选取了 TI 公司的 LMK04828 时钟芯片,该芯片具
有 较 低 的 均 方 根 抖 动 , 支 持 目 前 流 行 的 JEDEC
JESD204B 协议,最高可达 14 对差分 Device Clocks(含 7
对 SYSREF Clocks),可满足实现多板卡间多通道同步采
集的需求。
多板间多通道 AD 芯片的同步实现原理如图 1 所示。
图 1 实现了 2 块 4 通道 AD 板卡的同步数据采集。
采用其中一块 AD 板卡作为主板发出控制信号以及时
钟基准信号到另一块作为从板的 AD 板卡,进而实现了
多板卡间的多通道同步采集。
2.2 时钟信号
对主板而言,板上采集时钟以及处理时钟均是由主
板上 LMK04828 时钟芯片产生,所有时钟都具有固定的
相位关系。对从板而言,板上采集时钟以及处理时钟均
是由从板上 LMK04828 时钟芯片产生,所有时钟都具有
固定的相位关系,同时,从板上 LMK04828 时钟芯片接
收主板上 LMK04828 时钟芯片产生的时钟信号以及触
发信号,进而从板上 LMK04828 时钟芯片和主板上
LMK04828 时钟芯片所产生的时钟也具有固定的相位
关系。最终,两块板卡上的所有时钟均具有固定的相位
关系,为实现多板卡的多通道同步采集提供了可能。
2.3 SYSREF 信号
采用 JESD204B 技术实现多通道 AD 芯片的延迟和
同步采集,SYSREF 信号是非常重要的。SYSREF 信号的
产生需满足两个需求:相对于器件时钟的建立以及保持
时间,并且需要以适当的频率运行。通常对于较低速的
ADC 芯片来说,SYSREF 信号建立及保持时间是比较容
易满足的,对于速度较快的 ADC 芯片而言,较高的器件
时钟速率减小了 SYSREF 信号的建立及保持时间,此时
可能就需要进行必要的动态延迟调节以满足在不同条
件下的定时需求。
SYSREF 既可以为连续信号,也可以为间歇性信号,
其频率必须等于本地多帧时钟频率或者本地多帧时钟
频率的整数分频。
SYSREF 的值可由式(1)确定,式(1)中 f BITRATE 为 JE
SD204B 传输中串化器 / 解串器的位速率,
K 为每个多 帧的帧数,F 为每帧的 8 位字数,n 为任意正整数 [2]
2.4 同步数据接收流程
多板卡的多通道同步采集工作流程如图 2 所示。设
备上电后首先配置两块板卡上的各芯片,如 FPGA 芯片、
LMK04828 芯片以及 AD 芯片等等,两块板卡配置完成
后首先由主板卡发出时钟基准信号和同步触发信号,从
板卡收到同步触发信号和时钟基准信号后完成 2 块板
卡间的同步时序,最终实现多板间的多通道同步采集。
印制板设计
(1) 印制板设计时最好对 AD 工作区域单独划分出
一块干净完整的区域,提供独立的地平面,尽量减少周
围电路干扰,提高 AD 转换性能 [3]
(2)严格避免 AD 采样时钟线过长,以防传输线效应
产生,同时要保证 AD 采样时钟质量;
(3)JESD204B 数据线传输速率可达 10Gbps,需保证
数据线传输线周围相对干净,比如禁止布局晶振或者数
字电源芯片等。
4 设计结果
多通道 AD 数据采集板的转换所得的数据首先会
录取到 FPGA 内进行数字信号处理,基于此,本文所设
计的多通道 AD 数据采集板的各项指标最终是从 FPGA
录取到的采集数据测试计算后所得。
图 3 所示为借助 Xilinx 公司的设计工具 Vivado
2016.4 获得的主板卡的四通道 AD 采集后录取到 FPGA
的部分原始数据,通过对所得原始数据进行分析计算可
以得到主板卡的四通道 AD 数据采集板各种设计指标。
同理可以获得从板卡的四通道 AD 数据采集板各种设
计指标。

5 结束语
本文设计的基于 JESD204B 协议的多板卡的多通
道同步采集已经成功使用,实际所测多板卡间的多通道
的幅度一致性小于 0.5dB(R.M.S),相位一致性小于 5 ° (R.
M.S),两块板卡上的 AD 转换有效位数为 9.4bit,可以满
足设计需求。
本文提供了一种基于 JESD204B 协议实现多板卡
间的多通道同步采集设计的思想,理论上可以方便地实
现更多板卡间的多通道同步采集。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/435743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

独立按键控制LED移位

1.这就是LED移位的原理 2. #include <REGX52.H> void Delay(unsigned int xms);unsigned char LEDNum;//LEDNum为0000 0000void main() {P2~0x01; //上电默认LED1点亮while(1){if(P3_10) //如果K1按键按下&#xff0c;LED灯往右依次亮起{Delay(20);while(P3_10);//消…

Bandizip已管理员身份运行

系列文章目录 文章目录 系列文章目录前言一、Bandzib是什么&#xff1f;二、使用步骤1.引入库 前言 在解压krita源码包时Bandizip报错 一、Bandzib是什么&#xff1f; bandzip官网 Bandizip 是一款压缩软件&#xff0c;它支持Zip、7-Zip 和 RAR 以及其它压缩格式。它拥有非…

【22岁,想转行IT,请问培训出来真的能找到工作吗?】

首先需要肯定的是&#xff0c;22岁是一个转行IT的好时间&#xff0c;大概猜想你是大学应届生吧&#xff0c;学历和年龄都是IT企业们非常喜欢的&#xff0c;这个时候如果你刚好有一身过硬的专业技能&#xff0c;那就非常完美了。那么你现在想转行学习&#xff0c;目前对于IT行业…

SpringBoot 整合 ChatGPT API 项目实战

SpringBoot 整合 ChatGPT API 项目实战 一、准备工作 二、补全接口示例 三、申请API-KEY 四、JavaScript调用API 五、SpringBoot使用ChatGPT API 体验到了ChatGPT的强大之后&#xff0c;那么我们会想&#xff0c;如果我们想基于ChatGPT开发一个自己的聊天机器人&#xff0…

计算机网络复习记录(总结 —— 快速入门和快速复习)

一、计算机网络的定义和分类 定义&#xff1a; 简单定义&#xff1a;一些互连、自治、的计算机集合。 较好定义&#xff1a;计算机网络主要是由一些通用的、可编程的硬件互连而成&#xff0c;而这些硬件并非专门用来实现某一特定目的。 分类 按交换技术分类 按使用者分类 …

【工作思考】如何提升自己的编程能力?

文章目录 前言一、代码评审为什么要进行代码评审&#xff1f; 二、持续学习能力三、良好的编程习惯代码注释避免深度嵌套拒绝长函数重视自测文档编写重构你的代码学会思考 四、多接触开源项目五、总结 前言 在工作中&#xff0c;我们大部分的时间都是在阅读代码&#xff0c;阅…

CF204A-Little Elephant and Interval(数位)

CF204A-Little Elephant and Interval 考虑 [ 1 , a b c d e ‾ ] [1,\overline{abcde}] [1,abcde] 的情况&#xff1a; 位置集合数量个位1 ~ 99十位11 ~ 999百位 { x u x ‾ ∣ x ∈ [ 1 , 9 ] , u ∈ [ 0 , 9 ] } \{\overline{xux} | x\in [1,9],u\in [0,9]\} {xux∣x∈[1…

基于Yolov5的二维码QR码识别

1.QR code介绍 一个 QR 码可以分为两个部分&#xff1a;功能图形和编码区域。 数据集 大小10,85张 1.1 通过split_train_val.py得到trainval.txt、val.txt、test.txt # coding:utf-8import os import random import argparseparser argparse.ArgumentParser() #xml文件的地…

设计模式-结构型模式之代理模式

6. 代理模式 6.1. 模式动机 在某些情况下&#xff0c;一个客户不想或者不能直接引用一个对 象&#xff0c;此时可以通过一个称之为“代理”的第三者来实现 间接引用。代理对象可以在客户端和目标对象之间起到 中介的作用&#xff0c;并且可以通过代理对象去掉客户不能看到 的内…

江苏专转本盐城工学院管理学章节习题

江苏专转本盐城工学院管理学章节习题第一章 管理活动与管理理论 一、单项选择题 1.企业在销售产品时,需要预估货款回收的可能性。为此&#xff0c;信用审核部门力图以一种低成本的方式处理有关客户资信的材料,但因为过程速度太慢,使许多客户另求他处购货。该项信用审核工作可…

Power Automate实现自动填充Word

创建Word模板 1、创建一个Word&#xff0c;按需求写好内容 2、在需要填充的地方插入开发工具-纯文本内容控件 3、编辑控件属性&#xff0c;用于Power Automate中区分字段 4、模板完成后上传至Sharepoint站点中 创建Forms 也可使用Sharepoint列表作申请单&#xff0c;这步就…

实战:快速实现iOS应用中集成即时通讯IM和UI

准备 熟练objective-c语言 有一台mac电脑,并安装了xcode 和 cocoapods 目标 手把手教大家在iOS应用中集成即时通讯IM 功能 内容篇幅较长,需要内心平和耐心看下去,务必戒躁.阅读本文并按照本文进行对接预计时长2小时 注册Appkey和username 本教程以集成环信IM为例 注册环信…

SpringBoot 整合 ES (四十二)

我看到希望&#xff0c;哪怕只有微小的一束光&#xff0c;我也会拼尽全力去寻找 上一章简单介绍了 SpringBoot 整合 RabbitMQ (四十一), 如果没有看过,请观看上一章 ES 相应的教程&#xff0c;可以看老蝴蝶之前写的文章: https://blog.csdn.net/yjltx1234csdn/category_122775…

Java 基础常识

一、Java运行机制 1.Java运行原理 编译&#xff1a;.java(源代码) ---> .class(字节码) 解释&#xff1a;.class(字节码) ---> 加载并启动JVM(类加载) ---> .class(机器指令) 执行&#xff1a;通过JVM来完成运行输出 2.Java运行过程 利用 javac 编译 .java 文件 利…

欧姆龙CP1H系列PLC通讯扩展与数据采集

一、应用场景 纺织厂的粗纱机&#xff0c;控制系统由1台欧姆龙CP1H的PLC和1台昆仑通泰MCGS的触摸屏组成&#xff0c;触摸屏连接到PLC通讯扩展的接口CP1W-CIF01&#xff08;RS232串行通讯&#xff09;。现在MES管理系统&#xff0c;需要采集设备的数据&#xff0c;要求不改变原来…

【详解C++中的引用】

文章目录 一、什么是引用二、引用规则三、引用特性四、使用场景1.做函数参数2.做返回值五、常引用 ps&#xff1a;为什么类型转换会产生临时变量&#xff1f; 六、引用和指针的区别总结 一、什么是引用 引用就是给一个变量取别名。 注意&#xff1a;这个引用不会新开辟一块空…

微信小程序自定义组件:组件间通讯

前言 略 组件间通信 组件间的基本通信方式有以下几种&#xff1a; WXML 数据绑定&#xff1a;用于父组件向子组件的指定属性设置数据&#xff0c;仅能设置 JSON 兼容数据&#xff08;自基础库版本 2.0.9 开始&#xff0c;还可以在数据中包含函数&#xff09;。具体在 组件模…

Mybatis-plus 两种分页方法(分单表和联表)

mybatis-plus分别使用 一、PageHelper插件分页使用 准备1&#xff1a;引入PageHelper依赖 <!-- pagehelper 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId>…

面试高频代码题

文章目录 链表1.删除有序链表中的重复链表2.删除有序链表的重复数组并只保留只出现过一次的结点3. 无序单链表升序排列 数组1. 冒泡排序2. 折半查找3. 快排4.给1001个数&#xff0c;有一个是重复的&#xff0c;如何不使用额外空间找出来这个数&#xff1f;&#xff08;微软&…

智能文案改写工具-智能改写工具免费

智能写作机器人 智能写作机器人&#xff0c;这是一种让人类写作变得更加简单的创新技术。它的出现&#xff0c;为内容生产领域带来了巨大的进步&#xff0c;不仅提高了人们的写作效率&#xff0c;还让优质的内容更容易被产生和共享。现在&#xff0c;让我们来了解一下智能写作…