如何用单个 Xilinx FPGA 芯片数字化数百个信号?

 

如何用单个XilinxFPGA芯片数字化数百个信号?...







作者:William D. Richard,华盛顿大学圣路易斯分校副教授

现如今,赛灵思 FPGA 上采用低电压差分信令 (LVDS) 输入,仅需一个电阻器和一个电容器就能实现模拟输入信号的数字化。由于数百组 LVDS 输入驻留在生成电流的赛灵思器件上,因此理论上可通过单个 FPGA 芯片实现数百模拟信号地数字化。

我们的团队近期在为数字化 128 元件线性超声波阵列换能器信号研究选项时,发现了一个极具潜力的设计领域——可用 3.75MHz 中央频率配合 5 位分辨率对限带输入信号进行数字化。下面我们来看看该演示项目的详细情况。

2009 年,赛灵思推出了一款 LogiCORE 软 IP 核,其外加一个外部比较器、一个电阻器和一个电容器即可实现能对频率高达 1.205 kHz 的输入进行数字化的模数转换器 (ADC)。若让 FPGA 的 LVDS 输入(而不是外部比较器)结合增量调制器 ADC 架构,仅需一个电阻器和一个电容器,就能对频率高得多的模拟输入信号进行数字化。

1、ADC 拓扑与试验平台



图 1 是采用 LVDS 输入且在赛灵思 FPGA 上实现的单通道增量调制器 ADC 的框图。在这里,模拟输入驱动非反相 LVDS_33 缓冲器输入,而输入信号范围则基本为 0 至 3.3 伏特。LDVS_33 缓冲器的输出在远远高于输入模拟信号频率的时钟频率下采样,并通过 LVCMOS33 输出缓冲器和外部一阶 RC 滤波器反馈给反相 LVDS_33 缓冲器输入。就适当选择的时钟频率 (F)、电阻 (R) 和电容 (C) 而言,只需采用该电路,反馈信号就可跟踪输入模拟信号。
例如,图 2 在 F = 240MHz、R = 2K、C = 47 pF 时分别以黄色和蓝色显示了输入信号(通道 1)和反馈信号(通道 2)。所显示的输入信号由 Agilent 33250A 函数信号生成器采用其 200MHz 12 位任意输出函数信号功能生成。我们用 Tektronix DPO 3054 示波器计算得出的输入信号的傅立叶转换则显示为红色(通道 M)。在这些频率下,示波器探针的输入电容(以及接地问题)确实会弱化示波器中显示的反馈信号,但图 2 同时也展示了该电路的工作情况。



我们通过对 1Vpp3.75MHz 正弦波应用 Blackman-Nuttall 窗,定义了图 2 所示的带限输入信号。虽然与理论视窗信号相关的噪声底限几乎比与中央频率相关的量级低 100 dB,但 Agilent 33250A 函数信号生成器的 200MHz 采样频率及 12 位分辨率会导致远远低于理想水平的演示信号。许多中央频率接近 3.75MHz 的超声波换能器产生的输出信号自然会受到频带限制,这是因为换能器机械属性的缘故,因此该输出信号是使用这种方法的理想信号源。

我们使用 DigilentCmod S6 开发模块得到了图 2 所示的图形,该开发模块在支持 8 个 R/C 网络和各种输入接插件的小型定制化印刷电路板上安装了赛灵思 Spartan-6XC6SLX4 FPGA,允许原型系统同时对多达 8 个信号进行数字化。

每个通道都以 50 欧姆接地电阻并行端接,从而可使同轴线缆与信号生成器正确端接。必须注意的是,为了实现这一性能,我们将 LVCMOS33 缓冲器的驱动电流值设置为 24 mA,将压摆率设置为 FAST,如图 5 示例 VHDL 源代码中所述。

此外,该定制化原型电路板还支持使用 FTDIFT2232H USB 2.0 迷你模块,我们用其将封包的串行比特流传输给主机 PC 进行分析。图 3 是输入图 2 模拟信号后原型电路板所生成的比特流的傅立叶转换强度。与 240MHz 采样频率的次谐波相关的峰值清晰可见,与输入信号相关的峰值频率为 3.75MHz。



2、大量的抽头



为比特流应用带通有限脉冲响应 (FIR) 滤波器,可生成模拟输入信号(ADC 输出)的 N 位二进制表示法。但由于数字比特流的频率远远高于模拟输入信号,因此您需要使用有大量抽头的 FIR 滤波器。但是,被过滤的数据只有 0 和 1 两个值,因此无需乘法器,只需加法器将 FIR 滤波器系数相加。

图 4 所示的 ADC 输出在主机 PC 上采用有 801 个抽头的带通滤波器生成,其中央频率为 3.75MHz,是我们使用免费在线 TFilter FIR 滤波器设计工具设计而成的。该滤波器除了 2.5MHz 至 5MHz 带通之外,还有 36dB 或更大衰减,在 3 和 4.5MHz 之间有 0.58dB 的波纹。



图 4 所示的 ADC 输出信号分辨率约为 5 位,这基本上由过采样速率决定,您可使用针对较低输入频率优化的设计实现更高的分辨率。

此外,图 4 所示的 ADC 输出信号在 240MHz 频率下不仅严重过采样,而且还大幅减少了,能进一步减少 ADC 输出带宽。在带通滤波器和抽取块的硬件实现过程中,如果按 16 分之一抽取,每 16 个滤波器输出值就只需计算一次,其可让有效采样率降至 15MHz(比带限输入信号的最高频率快 3 倍),进而可降低硬件要求。

图 5 是 DigilentCmod S6 开发模块用于生成如图 2 所示反馈信号的 VHDL 源代码以及与图 3 傅立叶转换相关的比特流数据。LVDS_33 输入缓冲器可直接实例化,然后分别连接至模拟输入信号和反馈信号 sigin_p 和 sigin_n。内部信号 sig 由 LVDS_33 缓冲器的输出驱动,并由隐含的触发器采样以生成 sigout。信号 sigout 是串行比特流,其经过过滤,可生成 N 位 ADC 输出。我们使用免费的赛灵思 ISE Webpack 工具实现了该项目。图 5 是 VHDL 代码以及一部分与图 1 电路系统有关的 UCF 文件。

3、组件数量少



近期一些文章将我们描述的 ADC 架构误称为 ∆∑ 架构。尽管真正的 ∆∑ ADC 极富优势,但这种方法简单,而且组件数量少,对某些应用极具诱惑力。LVDS_33 输入缓冲器具有较高的输入阻抗,因此在许多应用中,传感器输出可直接连接至 FPGA 输入,无需前置放大器或缓冲器。这在许多系统中都很有优势。

我们的方法还有一个优势,那就是通过叠加来实现“混合”多个串行比特流以及应用单个滤波器来恢复输出信号的应用。例如,在基于阵列的超声波系统中,串行比特流可延时实现聚焦算法,随后以矢量的方式添加,而单个滤波器则用于恢复数字化聚焦的超声波矢量。

采用 FIR 滤波器生成 ADC 输出是一个简单笨拙的方法,这里使用这种方法主要是为了说明起见。在大多数实现方案中,ADC 输出将用传统积分/低通滤波器解调器拓扑生成。

参考文档

  1. XPS Delta-Sigma Analog to Digital Converter (ADC) V1.01A, DS587, Dec. 2, 2009
  2. R. Steele, Delta Modulation Systems,Pentech Press (London), 1975
  3. DigilentCmod S6 Reference Manual, DigilentInc., Sept. 4, 2014
  4. FT2232H Mini-Module Datasheet, V1.7,Future Technology Devices InternationalLtd., 2012
  5. TFilter, the Free Online FIR Filter Design Tool
  6. ISE In-Depth Tutorial UG695 (V13.1), Xilinx, Inc., 2011
  7. M. Bolatkale and L.J. Breems, High-Speed and Wide-Bandwidth Delta-SigmaADCs, Springer, May 2014 Edition
关注微信号eetop-1,回复以下红色关键词,阅读推荐文章fpga01 - 数字前端及FPGA设计相关书目泛读及点评

Zynq片内XADC应用笔记

Zynq器件时钟子系统介绍

建立及保持时间、建立及保持余量的理解

软核MicroBlaze的C编程经验及技巧

Tcl在Vivado中的应用

Vivado的使用介绍:使用IP核

大话setup time与hold time

Vivado使用详细介绍1:创建工程,编写代码,行为仿真,Testbench

fpga02 - 防止毛刺的时钟切换电路的设计思想

函数发生器实现方法简述

Vivado使用详细介绍2综合实现管脚分配时钟设置烧写

基于FPGA的DDR3多端口读写存储管理设计

在低成本FPGA开发板上实现Oberon系统

全可编程抽象化:你的编程你做主

XILINX FPGA FIFO使用技巧

智能视觉系统中如何处理多图像传感器?

FPGA时钟和复位电路设计

同步器的设计

fpga03 - 数字IC工程师的技能树

FPGA设计,视时序为一切

在FPGA设计中,时序就是全部

利用FPGA对大规模MIMO信道进行特性描述

如何将PetaLinux移植到Xilinx FPGA上

关于FPGA设计仿真和硬件实测不一致问题的讨论

FPGA适合用在哪儿?OpenCL,C,和C++语言对FPGA和全SoC有什么用?

fpga04 - 数字IC工程师的技能树

FPGA设计,视时序为一切

在FPGA设计中,时序就是全部

利用FPGA对大规模MIMO信道进行特性描述

如何将PetaLinux移植到Xilinx FPGA上

关于FPGA设计仿真和硬件实测不一致问题的讨论

FPGA适合用在哪儿?OpenCL,C,和C++语言对FPGA和全SoC有什么用?

趣图:

  • 发改委油价调整最新等效电路
  • 惊人动图:仅仅32年 人类把地球折腾得面目全非


  • 一张图表说明三星移动处理器15年进化史
  • 一张图简单介绍ARM成立25周年
  • 一张图告诉你5G是什么 中国将成重要主导者
  • 无通信不人生--原来人生就是一本通信原理!
  • 超直观的全新汽车原理动图大放送
  • 趣味动态图!机械原理与飞机是怎么飞的
  • 三张图深入浅出的讲解:什么是量子纠缠?量子通信如何保密?
趣图02:

  • IC设计与验证工程师友谊的小船说翻就翻
mn01 :  模拟数字产品开发流程

模拟IC正向设计流程总结

mn02 :  好的模拟IC工程师应该具有的素养

mn03 :  模拟IC设计领域的经典之作

mn04 :  极点零点之我见

mn05 :  六本经典模拟IC书籍精彩评论及总结

mn06 :  模拟设计的100条圣经

mn07 :  模拟电路学习入门的建议

mn08 :  模拟IC流片经验分享

mn09 :  模拟IC年薪几十万师兄的模电学习经历

mn10 :  想成为一名模拟ic设计师在本科期间应该做哪些准备?

mn11 :  模拟电路设计的九重进阶

mn12 :  AnalogIC难在哪里,结构?参数?版图?系统?

icsj01 :  IC设计完整流程及工具简述

IC芯片设计及生产流程

射频半导体工艺介绍

IC 芯片的成本从哪里来?

icsj02 :  说说芯片设计这点事

icsj03 :  关于IC设计的想法

icsj04 :  数字IC设计的完整流程(非常详细!)

icsj05 :  数字IC Design技术全局观(110页PPT!)icsj06 :  ASIC设计中各个阶段需要注意的问题

icsj07 :  集成电路反向分析的争议性
人生


  • 无电路不人生-微电子集成电路大牛Willy Sansen自传
  • 无数学不人生--原来数学讲的是满满的人生啊!
  • 无通信不人生--原来人生就是一本通信原理!
  • 无折腾不人生--一个技术牛人的电子人生
  • 开发工程师人生之路
封装

  • 2014年度中国IC封装测试产业调研报告
  • 封装,IC 芯片的最终防护与统整
  • 非常全面的集成电路封装示意图
  • 非常详细的封装流程介绍
  • 稳压器封装概述
最伟大

  • 世界上最伟大的十个公式
  • 统治世界的十大算法
  • 微波射频领域传奇人物
  • 集成电路史上最著名的10个人
  • 电气之王,还原真实的尼古拉·特斯拉
  • 电学实验史话--几个著名的电学实验
  • 六位伟大的“数学学渣”科学家
职业发展01 :

  • 何为技术型复合人才
  • 开发工程师人生之路
  • 数字IC工程师的技能树
  • 好的模拟IC工程师应该具有的素养
  • 3年以上工作经验的工程师中长期职业规划
  • 一位老工程师的心里话
  • 一名工作11年老IC工程师的未来之路的探讨
  • 给去小微初创公司的同学一点建议
  • 电子工程师路线图全剖析


职业发展02 :

  • 我的处理器之路
  • 模拟IC设计-我的成长经历
  • 怎样成为强壮、健康的工程师
  • 与年轻电子工程师谈谈最关心的前途问题
  • 微电子(集成电路)前途怎么样?
  • 如何学习模拟集成电路?
  • 数字IC设计工程师的发展前景如何
  • 为什么在中国电子工程师的发展明显不如软件工程师方向?
  • 对微电子学习的反思及讨论


业务联系请加个人微信号:jack_eetop 或 QQ:228265511

全力打造中国电子工程师微信第一品牌!


点击左下角阅读原文,可查看更多精品文章



    关注 EETOP


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册