当前位置:首页 > EDA > 电子设计自动化
[导读]数字系统的设计人员擅长在其印制电路板上用FPGA和CPLD将各种处理器、存储器和标准的功能元件粘合在一起来实现数字设计。除了这些数字功能之外,FPGA和CPLD还可以使用LVDS输入、简单的电阻电容(RC)电路和一些FPGA或CP

数字系统的设计人员擅长在其印制电路板上用FPGACPLD将各种处理器、存储器和标准的功能元件粘合在一起来实现数字设计。除了这些数字功能之外,FPGA和CPLD还可以使用LVDS输入、简单的电阻电容(RC)电路和一些FPGA或CPLD的数字逻辑单元实现共模功能,从而构建模数转换器(ADC)。

与数字逻辑相连接时,ADC是一种常用的模拟功能块,例如,FPGA或CPLD连接至模拟传感器的现实世界时,ADC是不可或缺的。本文将阐述采用莱迪思半导体公司的参考设计和演示板来实现低频率(DC至1K Hz)和高频率(高达50K Hz)ADC。针对每种设计的应用示例,即网络交换机中的系统.和语音通信系统中的频率检测将在文中验证。

模数转换器的实现

一个简单的模数转换器可以通过添加一个简单的RC电路至FPGA或CPLD 的LVDS输入来实现。正如图1的左下角所示,RC网络在LVDS输入的一端,模拟输入则在另一端。 LVDS输入将作为一个简单的模拟比较器,如果模拟输入电压高于RC网络的电压,将输出数字“1”。通过改变RC电路的输入电压(来自FPGA/CPLD的通用输出),LVDS比较器可用于分析模拟输入电压,以创建一个准确的数字表示。

模拟至数字控制模块可以用多种方式实现,取决于模拟输入的频率、所需的分辨率和可用的逻辑资源。用简单的逐次逼近寄存器可以处理低频信号,如图1左上角的选项1。实现较高频率的情况如图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的 A/D转换器运作实例。

低频设计可以用来监测几个模拟电压的电平,这些电平表示各种电源电压和环境传感器的输出。CPLD实现可以监控PCB的电源电压(3.3V,2.5V和1.8V),以及温度和湿度传感器和开放式机箱的报警。为测量多个模拟输入,可针对每个模拟电压连同附加的RC电路采用一个LVDS输入。由于模拟电压是缓慢改变的,LVDS输出可多路复用,这样在每个输入之间就可以共享数字逻辑功能。

 低频/最小逻辑ADC的测试结果

无需可选数字滤波电路的低频/最小逻辑电路已经用一块*估板在莱迪思的MachXO CPLD上实现,并使用电压范围为0V至3.3V的0.8Hz输入信号。如图1所示,采用可选的存储器缓冲区及莱迪思ispLEVER设计软件的Reveal Logic Analyzer功能。该功能将缓冲存储器添加至目标设计,并加入控制数字信号采集、数据缓冲和通过JTAG电缆输出数据到计算机所需的逻辑。在测试过程中,使用Linear公司的PScope软件在捕获的数据上运行FFT。该电路对0.8Hz模拟输入的响应显示在图3的上半部分。

图3:A/D转换器的结果实例:低频和高频选项。

接收到的数字信号显示在PScope屏的顶部窗口中。纵轴用来测量代码步长(0到255),横轴用来测量采样(在这个例子中有1024个样本)。在边栏的右上角报告频率,如f1(基本)频率。FFT的结果显示在窗口的下面,根据它们的dB水平通过纵轴显示谐波频率。从FFT产生的关键参数显示在右下侧栏,其中包括有效位数(ENOB)和信噪比(SNR)。这些结果表明,输入信号已成功转换为具有好的分辨率和信噪比的数字信号。

实现更高频率的ADC

图1右上角的较高频ADC的前端仍然采用RC电路和LVDS输入。过采样触发器捕获LVDS输入的比较结果。通过驱动RC电路的通用LVCMOS输出反馈这个信号。如果比较器输出为逻辑“1”,这意味着模拟输入高于RC电路的电压。逻辑“1”通过触发器采样,并反馈到RC电路,使RC电路的电压上升。如果比较器输出为逻辑“0”,反馈信号将为逻辑“0”,这将会使得RC电压更低。通过这个简单的反馈机制,数字值“跟踪”模拟输入频率。

图4的右下方展示了一个用红色表示的采样模拟输入波形的示例,以及采样触发器的输出:蓝色的列代表一个逻辑“1”,白色列代表一个逻辑“0”。注意在通用脉冲编码调制(PCM)格式中“1”和“0”的改变方式。

使用级联积分梳状(CIC)滤波器,PCM输入数据可转换成反映模拟输入流频率的输出流。CIC的功能基本集成(增加或减少)单个位PCM信号,以生成所需比特数的连续输出信号。在图4下方的例子中,将蓝色位视为一个“1”,白色位作为“-1”,可以清楚地看到,求和(积分)运算将产生输入波形的数字表示。 (请注意,输出波形将移位约半周期,因为一个“1”序列将对应数字值的增加,在图4中, “1”序列在波形的“高”部分产生,而一系列“0”在波形的“低”部分产生。)

由于反馈环路的“跟踪”过程,RC电路电压可能围绕模拟输入电平摆动。当过采样触发器在“1”和“0”之间变化时,RC电路的电压会从稍高于模拟输入电平下降至稍低于模拟输入电平。这个过程一直持续到模拟输入电平发生变化。这种高频率噪音可以通过使用可选的数字滤波器来消除。

图4:Δ-Σ调制器的转换阶段的结果。

较高频率的设计可以监测多个用于工作和环境状况通信的音频附加信号。例如,可定期发出5k和12K Hz信号,以指示远程音频监控系统的状态。这些信号可以指示设备的环境情况(温度和湿度)。正如前面的例子,通过简单地添加更多的LVDS输入,可以支持多路模拟信号。该设计可作为8个模拟信号的中心。通过时分多路复用输入,仅需要使用一个数字逻辑的副本。

较高频率的ADC测试结果

较高频率的ADC电路已用*估板在Lattice XP2-17 FPGA上实现。测试期间使用具有0V至3.3V摆幅的15K Hz输入信号。使用方案选项2的电路来处理模拟信号,图1所示的方案选项2使用数字滤波器。结果显示在图3的下半部分,窗口的上方显示接收信号,FFT在底部,F1频率为15.1K Hz。下边栏的结果给出9情况下的 ENOB以及61 dB的信噪比。这些结果表明,输入信号已成功转换为具有良好分辨率和信噪比的数字信号。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

最近为什么越来越多的研究开始利用FPGA作为CNN加速器?FPGA与CNN的相遇究竟能带来什么神奇效果呢?原来,FPGA拥有大量的可编程逻辑资源,相对于GPU,它的可重构性以及高功耗能效比的优点,是GPU无法比拟的;同时...

关键字: FPGA 可编程逻辑资源 GPU

FPGA的应用领域包罗万象,我们今天来看看在音乐科技领域及医疗照护的智能巧思。

关键字: FPGA 科技领域 智能

强大的产品可降低信号噪音并提高分辨率与动态

关键字: Spectrum仪器 数字化仪 FPGA

最近某项目采用以太网通信,实践起来有些奇怪,好像设计成只能应答某类计算机的ICMP(ping)命令, 某类计算机指的是Windows特定系统,其他系统发送ping都不能正确识别。

关键字: 嵌入式Linux FPGA 协议

近两年,国外厂商的FPGA芯片价格飙升,由于价格,货期,出口管制等多方面因素的影响,很多公司都在寻找FPGA国产化替代方案。我工作中正在使用的几款芯片也面临停产的风险,用一片少一片,了解到国产FPGA发展的也不错,完全自...

关键字: FPGA 芯片 EDA

本篇是FPGA之旅设计的第十二例,在前面的例程中,完成了DS18B20温度传感器数据的采集,并且将采集到的数据显示在数码管上。由于本例将对温湿度传感器DHT11进行采集,而且两者的数据采集过程类似,所以可以参考一下前面的...

关键字: FPGA DS18B20温度传感器

这是FPGA之旅设计的第十三例啦,本例是一个综合性的例程,基于OLED屏幕显示,和DHT11温湿度采集,将DHT11采集到的温湿度显示到OLED屏幕上。

关键字: FPGA OLED屏幕

第八例啦,本例将介绍如何通过FPGA采集DS18B20传感器的温度值。

关键字: FPGA DS18B20传感器

这是FPGA之旅设计的第九例啦!!!本例将介绍如何使用FPGA驱动OLED屏幕,并在接下来的几例中,配合其它模块,进行一些有趣的综合实验。由于使用的OLED屏是IIC接口的,对IIC接口不是很清楚的,可以参考第五例的设计...

关键字: FPGA OLED屏幕

这是FPGA之旅设计的第十例啦,在上一例中,已经成功驱动了OLED屏幕,本例将结合上一例,以及第四例多bytes串口通信做一个有趣的例程。

关键字: FPGA OLED屏 串口

电子设计自动化

21319 篇文章

关注

发布文章

编辑精选

技术子站

关闭