利用FPGA和CPLD数字逻辑实现ADC
来源:电子工程世界 作者:—— 时间:2010-06-07 10:00
数字系统的设计人员擅长在其印制电路板上用FPGA和CPLD将各种处理器、存储器和标准的功能元件粘合在一起来实现数字设计。除了这些数字功能之外,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:模数转换器基本框图:低频和高频情况。