时间:2024-07-29 来源:网络搜集 关于我们 0
本文为备战电赛的案例之一,涉及到的知识技能:
FPGA的使用ADC的原理及构成PWM的产生比较器的应用数字滤波器的使用使用平台:硬禾学堂电赛综合技能训练板
多数FPGA芯片上没有ADC的功能,而一些应用则需要用到ADC对一些模拟信号,比如直流电压等进行量化,有没有特别简单、低成本的实现方法呢?
在要求转换速率不高的情况下,完全可以借助一颗高速比较器(成本只有几毛钱)来实现对模拟信号的量化,Lattice的官网上一篇文章就介绍了如何制作一个简易的Sigma Delta ADC,如果FPGA能够提供LVDS的接口,连外部的高速比较器都可以省掉。由于我们的小脚丫FPGA核心模块在设计的时候没有考虑到LVDS的应用场景,所以还是需要搭配一个高速的比较器来实现Lattice官网上推荐的简易Sigma Delta ADC的功能。
让小脚丫FPGA通过锁相环PLL运行于120MHz的主时钟(还可以更高,提速到240MHz、360MHz都应该没有问题),测试1KHz以内的模拟信号是没有问题的。
Lattice的官网上就可以下载到简易Sigma Delta ADC的Verilog源代码,可以非常方便地用在其它品牌、其它系列的FPGA上。
下图就是采用120MHz的主时钟实现的对1KHz模拟信号的采样,并通过DDS/DAC输出,口袋仪器M2000采集并显示的模拟信号波形。
M2000口袋仪器显示的1KHz的波形
工作原理:
简易Sigma Delta ADC的工作原理
直接连接 - 被测模拟信号的幅度范围为0-3.3V
通过电阻分压网络输入,并在比较器+端提供参考电压,则被采集模拟信号的电压变化范围可以扩展
简易Sigma Delta ADC的性能与逻辑电路的工作频率
在不同的FPGA平台上消耗的逻辑资源
以下是在电赛综合训练板上简易Sigma Delta ADC部分的电路连接
只需要搭配一颗比较器、一个电阻R、一个电容C,以及FPGA的两根管脚,你就可以拥有ADC的功能了。