王烨超,免费网络推广及优化,旅游电子商务网站,新闻稿数字系统的嵌入式工程师熟悉如何通过使用FPGA和CPLD在其印刷电路板上将各种处理器#xff0c;存储器和标准功能组件粘合在一起来实现其数字设计的“剩余”。除了这些数字功能之外#xff0c;FPGA和CPLD还可以使用LVDS输入#xff0c;简单的电阻电容器#xff08;RC#xf…数字系统的嵌入式工程师熟悉如何通过使用FPGA和CPLD在其印刷电路板上将各种处理器存储器和标准功能组件粘合在一起来实现其数字设计的“剩余”。除了这些数字功能之外FPGA和CPLD还可以使用LVDS输入简单的电阻电容器RC电路和某些FPGA或CPLD数字逻辑元件来实现常见的模拟功能以创建模数转换器ADC。
ADC是常见的模拟构建块当将数字逻辑例如FPGA或CPLD中的数字逻辑连接到模拟传感器的“真实世界”时几乎总是需要ADC。本文将说明如何使用Lattice Semiconductor提供的参考设计和演示板来实现低频DC至1K Hz和更高频率高达50K HzADC。
将检查每种设计的示例应用程序一个用于网络交换机中的系统监视器另一个用于音频通信系统中的频率检测。
模数转换器实施概述领取嵌入式物联网学习路线
通过在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电路电压如何逐渐接近模拟输入值。在这个简单的示例中SAR0101的4位数字输出显示在该图的底部。 图2基于SAR的模数转换器操作示例
低频设计可用于监视代表各种电源电压和环境传感器输出的几个模拟电压电平。CPLD的实现可以监视PCB电源电压3.3V2.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的下半部分顶部窗口显示接收信号底部显示FFTf1频率为15.1kHz最显着。下侧边栏中报告的结果显示ENOB为9SNR为61 dB。这些结果表明输入信号已成功转换为具有出色分辨率和SNR的数字信号。