德州仪器AMC1204的应用指南
2 调制器输出滤波的设计
AMC1204 输出1 比特位宽由0 和1 组成的数据流,数据流中1 的密度与模拟输入电压成正比。当输入电压为250mV 时,输出1 的比例为89.0625%;当输入电压为-250mV 时,输出1 的比例为10.9375%;当输入电压为0mV 时,输出1 的比例为50%。当输入电压从-250mV 到+250mV 之间,AMC1204 的转换性能可以得到保障。为了得到真实的输出数据信息,一般需要在输出后端进行数字滤波处理,实际应用中可以采用以下两种滤波器对输出数据进行处理。
2.1 移动平均滤波器
移动平均滤波器比较简单,它是取输入信号的最近的一些值,进行算术平均,相当于一个低通滤波器,滤除高频分量,保留低频分量。在时钟clk 的上升沿,对AMC1204 输出的高脉冲进行计数,计算M 个clk 的上升沿时,对应的高电平脉冲个数N。则,对应的转换结果为(640*N/M-320)mV。平均的项数越多,即M 越大,则得到变化越缓慢的输出信号,但得到的精度也越高。
图5 AMC1204 输出数据波形
需要注意的是,在实际应用中,这种方法必须平均尽可能多的输入信号才能获得比较高的精度。移动平均滤波器实现比较简单,不需要单独增加DSP 或FPGA 即可实现。但是,移动平均滤波器的频域效果较差,滚降较慢,因此,在检测低频信号及对精度要求不高的应用中,可以考虑使用这种方法。但是,对于精度要求比较高的应用中,需要考虑使用性能更好的滤波器,如Sinc 滤波器。 2.2 Sinc 滤波器
Sinc滤波器具有良好的频域特性,较低的成本和功耗,延时较低,因此,广泛用作Delta-Sigma DAC 的滤波器。Sinc 滤波器可通过专门的滤波器芯片或者通过FPGA 或DSP 算法来实现。
AMC1210 是一个4 通道的数字滤波器,芯片输出接口可设置为SPI 接口或者并行接口方式,方便与CPU 进行数据通信。数字滤波器可设置为Sincfast,,
或者
方式。实际应用时,由于
滤波器具有更好的低通特性,建议将AMC1210 配置为
滤波器,过采样率(OSR)设为256以获得最优的转换结果。
图6 AMC1204 与AMC1210 的连接
此外,也可以通过FPGA 或DSP 来实现Sinc 滤波器算法。滤波器的基本架构如图7 所示。
图7 调制器与抽取滤波器的基本架构
以下是用VHDL 语言实现SINC3 滤波器的一段示例程序。其中,CNR=MCLK/M,M 为抽取率(即过采样率OSR)。
图8数字滤波器架构
图8 的示例代码:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity FLT is
port(RESN, MOUT, MCLK, CNR : in std_logic;
CN5 : out std_logic_vector(23 downto 0));
end FLT;
architecture RTL of FLT is
signal Z1 : std_logic_vector(23 downto 0);
signal Z2 : std_logic_vector(23 downto 0);
signal Z3 : std_logic_vector(23 downto 0);
signal Z4 : std_logic_vector(23 downto 0);
signal Z5 : std_logic_vector(23 downto 0);
signal Z6 : std_logic_vector(23 downto 0);
signal Z7 : std_logic_vector(23 downto 0);
begin
process(MCLK, RESN)
begin
if RESN = ‘0’ then
Z1 《= (others =》 ‘0’);
Z2 《= (others =》 ‘0’);

评论