利用FPGA和CPLD数字逻辑实现模数转换器

news2025/1/9 16:42:14

数字系统的嵌入式工程师熟悉如何通过使用FPGA和CPLD在其印刷电路板上将各种处理器,存储器和标准功能组件粘合在一起来实现其数字设计的“剩余”。除了这些数字功能之外,FPGA和CPLD还可以使用LVDS输入,简单的电阻电容器(RC)电路和某些FPGA或CPLD数字逻辑元件来实现常见的模拟功能,以创建模数转换器(ADC)。

ADC是常见的模拟构建块,当将数字逻辑(例如FPGA或CPLD中的数字逻辑)连接到模拟传感器的“真实世界”时,几乎总是需要ADC。本文将说明如何使用Lattice Semiconductor提供的参考设计和演示板来实现低频(DC至1K Hz)和更高频率(高达50K Hz)ADC。

将检查每种设计的示例应用程序:一个用于网络交换机中的系统监视器,另一个用于音频通信系统中的频率检测。

模数转换器实施概述领取嵌入式物联网学习路线

通过在FPGA或CPLD的LVDS输入上增加一个小型RC电路,可以构建一个简单的模数转换器。如图1左下方所示,RC网络位于LVDS输入的一侧,而感兴趣的模拟输入位于另一侧。

LVDS输入将充当简单的模拟比较器,并且如果模拟输入电压高于RC网络的电压,则将输出数字“ 1”。通过更改RC电路输入上的电压(来自FPGA / CPLD的通用输出),LVDS比较器可用于分析模拟输入电压,以创建准确的数字表示。

根据模拟输入的频率,所需的分辨率和可用的逻辑资源,可以采用多种方式来实现模数控制模块。可以使用一个简单的逐次逼近寄存器来处理低频信号,如图1左上方的选项1所示。

可以使用delta sigma调制器功能实现更高频率的实现,如图1右上方所示,该功能由采样寄存器和级联集成梳状(CIC)滤波器组成。

构建完数字信号后,可以选择对数字输出进行滤波,以消除由系统噪声或反馈抖动(下面将详细介绍)引入的任何不需要的高频分量。

在可选的数字滤波器块之后,可以将可选的存储缓冲区用于调试/测试目的。数字输出可以由存储缓冲器采样,然后通过JTAG端口扫描到运行信号分析软件的个人计算机中。

要查看该图形的放大版本,请单击此处。领取嵌入式物联网学习路线

图1:模数转换器基本框图:低频和高频选项 低频/最小逻辑ADC实现说明

在低频/最小逻辑实现中,采样控制模块控制逐次逼近寄存器,从而改变将通用输出信号施加到RC电路的时间。因此,RC电路电压会根据通用输出的状态(变化量)而上升或下降。

LVDS输入将变化的RC电路电压与模拟输入进行比较。因此,RC电路电压用于“查找”模拟输入电压。图2显示了一个示例,其中静态模拟输入(由橙色虚线表示)设置为略低于整个输入电压范围的一半。垂直的黑色虚线表示SAR采样点之间的时钟数,显示为绿色虚线。

第一次测量需要8个时钟,接下来的4个时钟,依此类推。首先,通过在通用输出上施加逻辑“ 1”,将RC电路设置为上升至模拟输入全电压摆幅的一半。一旦电压达到一半,LVDS输入的输出将指示模拟输入值是高于还是低于RC电路电压。

如果模拟电压较高,则数字输出的最高有效位为逻辑“ 1”。如果模拟电压较低,则数字输出为逻辑“ 0”。SAR移至下一位,采样时间减半(为整个电压摆幅的四分之一)。重复该过程,直到达到所需的A / D转换器精度为止。

在图2的示例中,观察RC电路电压如何逐渐接近模拟输入值。在这个简单的示例中,SAR(0101)的4位数字输出显示在该图的底部。

图2:基于SAR的模数转换器操作示例

低频设计可用于监视代表各种电源电压和环境传感器输出的几个模拟电压电平。CPLD的实现可以监视PCB电源电压(3.3V,2.5V和1.8V)以及温度和湿度传感器以及开柜警报。

为了测量多个模拟输入,每个模拟电压将使用一个LVDS输入以及附加的RC电路。由于模拟电压变化缓慢,因此可以复用LVDS输出,以便可以在每个输入之间共享数字逻辑功能。低频/最小逻辑ADC测试结果

使用评估板在莱迪思MachXO CPLD中实现了不带可选数字滤波器的低频/最小逻辑电路,并使用了0Hz至3.3V摆幅的0.8Hz输入信号。

如图1所示,可选的存储器缓冲器与Lattice ispLever设计软件的Lattice Reveal Logic Analyzer功能结合使用。此功能将缓冲存储器以及控制数字信号捕获,数据缓冲以及通过JTAG电缆将数据导出到计算机所需的逻辑添加到目标设计中。在测试期间,使用凌力尔特公司(Linear Technology)的PScope软件对捕获的数据进行FFT。

电路对0.8Hz模拟输入的响应如下图3的上半部分所示。

要查看该图形的放大版本,请单击此处。

图3:模数转换器的结果:低频和高频选项

接收到的数字信号显示在PScope屏幕截图的顶部窗口中。垂直轴以代码步长(0到255)测量,水平轴以样本(在此示例中为1024个样本)测量。频率在右上侧边栏报告为f1(基本)频率。FFT的结果显示在下部窗口中,谐波频率通过纵轴根据其dB级别显示。

右下侧边栏显示了从FFT导出的关键参数的摘要,包括有效位数(ENOB)和信噪比(SNR)。这些结果表明输入信号已成功转换为具有出色分辨率和SNR的数字信号。

更高频率ADC的实现

图1右上方所示的较高频率ADC选件的前端仍使用RC电路和LVDS输入。过采样触发器从LVDS输入捕获比较器结果。该信号通过驱动RC电路的通用LVCMOS输出反馈。如果比较器输出为逻辑“ 1”,则表示模拟输入高于RC电路的电压。

触发器对逻辑“ 1”进行采样并反馈到RC电路,从而使RC电路电压上升。如果比较器的输出为逻辑“ 0”,则反馈信号将为逻辑“ 0”,并将驱动RC电压降低。通过这种简单的反馈机制,数字值可以“跟踪”模拟输入的频率。

图4右下方的图形以红色显示了采样模拟输入波形,并显示了采样触发器的输出:蓝色列表示逻辑“ 1”,白色列表示逻辑“ 0”。请注意,“ 1”和“ 0”以普通脉冲编码调制(PCM)格式变化的方式。

使用级联积分梳状(CIC)滤波器,可以将PCM输入数据转换为输出流,该输出流镜像模拟输入流的频率。CIC功能基本上对单个PCM信号进行积分(相加或相减),以生成所需位数的连续输出信号。

在图4底部的示例中,将蓝色位视为“ 1”,将白色位视为“ -1”,通过检查可以清楚地看到,求和(积分)操作将生成输入的数字表示波形 (请注意,输出波形将偏移半个周期,因为序列“ 1”将对应于数字值的增加,而在图4的图表中,序列“ 1”在“波形的高''部分,并在``低''部分产生一系列``0''。)

由于反馈环路产生的“跟踪”过程,RC电路的电压可能会在模拟输入电平附近振荡。当过采样触发器在“ 1”和“ 0”结果之间变化时,RC电路电压将从模拟输入电平的正上方移至正下方。这个过程一直持续到模拟输入电平改变为止。高频噪声可以通过使用可选的数字滤波器来消除。

图4:三角积分调制器转换阶段的结果

更高频率的设计可以监视用于传达操作和环境条件的多个音频侧栏信号。例如,可以定期发出5kHz和12kHz信号,以指示远程音频监视系统的状态。这些信号可以指示设备的环境条件(温度和湿度)。领取嵌入式物联网学习路线

与前面的示例一样,只需添加更多LVDS输入,即可支持多个模拟信号。该设计可能是最多8个模拟信号的集线器。通过对输入进行时分复用,只需要使用数字逻辑的一个副本。更高频率的ADC测试结果

较高频率的ADC电路已使用评估板在Lattice XP2-17 FPGA中实现。在测试期间,使用了0kHz至3.3V摆幅的15kHz输入信号。使用数字滤波器选件,使用图1所示的选件2电路处理模拟信号。

结果显示在上方图3的下半部分,顶部窗口显示接收信号,底部显示FFT,f1频率为15.1kHz最显着。下侧边栏中报告的结果显示ENOB为9,SNR为61 dB。这些结果表明输入信号已成功转换为具有出色分辨率和SNR的数字信号。

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

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

相关文章

BricsCAD v24.1.05(CAD建模软件)

BricsCAD是一款强大的CAD软件,可以帮助用户进行二维和三维图形设计和建模。BricsCAD支持多种CAD格式,包括DWG、DXF、DGN和STL等,并且可以与AutoCAD兼容。BricsCAD还提供了多种工具和功能,可以让用户进行快速、精确的设计和建模。 …

理解 Git 的三个工作区:工作区、暂存区和版本库

文章目录 创建 Git 本地仓库配置Git认识⼯作区、暂存区、版本库添加⽂件--场景查看 .git ⽂件添加⽂件--场景⼆ 创建 Git 本地仓库 要提前说的是,仓库是进⾏版本控制的⼀个⽂件⽬录。我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来。创建⼀个 Gi…

VRRP与BFD的联动

今天的你和昨天的你相比是不是又进步了 一,现网中常用的技术(vrrp与bfd) VRRP(Virtual Router Redundancy Protocol)是一种网络协议,用于提高路由器的可靠性和容错性。它允许多个路由器共享一个虚拟 IP 地址…

如何注册微信小程序

如何注册微信小程序 前言 因为最近沉迷和朋友们一起下班去打麻将,他们推荐了一个计分的小程序,就不需要每局都转账或者用扑克牌记录了,但是这个小程序不仅打开有广告,各个页面都植入了广告,用起来十分不适。 于是我…

竞品价格怎么监测

品牌在做产品营销、产品定价时,除了要做好自身产品的研发设计外,需要非常了解市场,了解消费者偏好、了解竞品数据,通过对比分析,从而知道哪些价位的产品更受消费者喜爱,怎样设计产品更符合市场要求等&#…

LORA无纸温控记录仪测温不准

偏差特别很是大 测量不准缘故原由1: 当无纸记录仪采用热电偶温度传感器测温时,假如热电偶的冷端补偿不能真实反映冷端温度会产生偏差。 解决方法: 使冷端补偿传感器环境温度和接线端子环境温度接近,公司生产的无纸记录仪内置冷…

4.05 用户中心-订单状态和订单动向

详细内容: http://www.gxcode.top/code

MATLAB中zp2tf函数用法

目录 语法 说明 示例 质点弹簧系统的传递函数 zp2tf函数的功能是将零极点增益滤波器参数转换为传递函数形式。。 语法 [b,a] zp2tf(z,p,k) 说明 [b, a] zp2tf(z, p, k) 将一个分解的传递函数表示方式转换。 将单输入/多输出(SIMO)系统的多输出…

聚观早报 | 荣耀Magic Vs2首销;iQOO 12系列已入网

【聚观365】10月17日消息 荣耀Magic Vs2首销 iQOO 12系列已入网 三星Galaxy S24 Ultra跑分曝光 北京医保移动支付升级 现代和起亚新能源汽车在美销量超20万辆 荣耀Magic Vs2首销 荣耀推出了全新的Magic Vs2折叠屏机型,这是继最轻薄折叠屏荣耀Magic V2、最时尚…

尚硅谷Flink(四)处理函数

目录 🦍处理函数 🐒基本处理函数 🐒按键分区处理函数(KeyedProcessFunction) 🐵定时器(Timer)和定时服务(TimerService) // 1、事件时间的案例 // 2、处理…

Kali工具介绍(超详细!史上最全!)

前言 如果你读过 Kali Linux 点评,你就知道为什么它被认为是最好的黑客渗透测试的 Linux 发行版之一,而且名副其实。它带有许多工具,使你可以更轻松地测试、破解以及进行与数字取证相关的任何其他工作。 它是道德黑客ethical hacker最推荐的…

【Unity3D编辑器开发】Unity3D中实现Transform组件拓展,快速复制、粘贴、复原【非常实用】

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在开发中,常常会遇到频繁复制粘贴物体的坐标、旋转…

如何在ASO中使用App Store的促销文本

App Store中的促销文字如何使用,需要填写吗?从名称上就可以看出,这是用于推广应用的广告文字,由于其简洁而非常方便,这也是向现有或潜在用户展示将会有某种事件或重要更新的好方法。表明我们积极监控应用,总…

【滑动窗口】“正难则反法” 解决最小操作数的问题

Problem: 1658. 将 x 减到 0 的最小操作数 文章目录 题目解析算法原理分析Code复杂度 题目解析 首先我们来解读一下本题的题目含义 题目会给到我们一个整数数组和一个整数x,我们可以从左侧,也可以从右侧去减,只要让这个x最终减到【0】即可。不…

算法通关村第18关【白银】| 回溯热门问题

1.组合总和问题 思路:回溯模板 (1)确定方法返回值和参数 分析可知遍历数组然后求和值,不需要返回什么值 参数也就是candidates,list,path,target,start (2&#xff…

【2023研电赛】基于三维视觉感知的可重构智能表面通信方案

该作品参与极术社区组织的研电赛作品征集活动,欢迎同学们投稿,获取作品传播推广,并有丰富礼品哦~ 基于三维视觉感知的可重构智能表面通信方案 参赛单位:华北水利水电大学 参赛队伍:智能队 指导老师:邵霞 参…

服务器中了locked勒索病毒怎么办,勒索病毒解密,数据恢复

最近一段时间内,相信很多使用金蝶或用友的办公软件的企业,有很多都经历了locked勒索病毒的攻击,导致企业服务器被加密无法正常使用,严重影响了企业的正常工作。通过云天数据恢复中心的解密恢复发现,在今年locked勒索病…

【LeetCode(数据结构与算法)】:反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 输入:head [1,2] 输出:[2,1] 示例 3: 输入:head [] 输出:[] …

Linux下按键驱动实验

按键驱动和LED驱动原理上来讲基本都是一样的,都是操作GPIO,只不过一个是读取GPIO的高低电平,一个是从GPIO输出高低电平给LED。 本实验使用的开发板是IMX6DL,实验中使用的按键是通过使用下图中P1的EIM_A20和VCC3.3V两个引脚实现的&…

如何选择超声波清洗机、超声波清洗机排行榜

眼镜的日常清洗生活中很多人都会把它给忘记!长时间下来眼镜支架就会变成黄色的,非常的难洗掉,从而又浪费了一个眼镜。一副好的眼镜也不便宜的,把换眼镜的钱省下来入一款超声波清洗机,可以大大的减少金钱的支持&#xf…