德州儀器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’);

評論