AD1871型模數轉換器的應用
1 引言
AD1871是目前市場上動態范圍、采樣速率和采樣精度等指標都很突出數據的一款24位ADC,它的推出為設計高速、高精度數據采集系統提供了一種較好的解決方案。由于其輸出為串行輸出,當其和MCU直接相連時,會使采樣系統的采樣速率大大降低。筆者采用現場可編程門陣列(FPGA)設計了ADl871和MCU之間的接口,由FPGA完成對ADl871的控制,并將其輸出的串行數據在FPGA的內部變為并行數據,并行后的數據以8位或12位為一組發給MCU。由于FPGA的實際傳輸速率可以滿足和ADl871的傳輸速率要求,故上述“瓶頸”得以解決。
2 接口設計
2.1 時鐘設計
圖1示出A/D轉換器的輸入時鐘設計,MD轉換器工作在從模式下時,需要外部提供RLCLK和BCLK。在主時鐘MCLK的輸入下,通過對MCLK 4分頻得到BCLK的信號,用來作為位數據提取的信號。RLCLK是通過對BCLK的32分頻得到的,用來區分左右通道的數據,同時輸出EN信號作為后續處理的同步信號。

2.2接口設計
在圖2中,輸入為MCLK(主時鐘)、RESET(啟動信號)和SHIFTIN(A/D輸出數據),輸出為RL(左右幀信號)、BCLK(A/D數據位時鐘),TXT(并行數據讀取控制)和SHIFTOUT(并行數據輸出)。通過時鐘控制輸出BCLK和 RLCLK到AD1871,AD1871傳出數據SHIFTIN進入SHIFT模塊,SHIFT模塊在正確的位時鐘下讀取SHIFTIN的輸入數據,并進行串,并轉換,之后輸出8位或12位的數據。同時輸出TXT并行數據讀取控制。

Emity shifill is
PORT(BCLK:IN STD_LOGIC;一輸入的BCLK位信號
CR :IN STD_LOGIC;--輸入的使能信號
SHIFTIN:IN STD_LOGIC:--AD輸入的串行信號
RLEN:IN STD_LOGIC;--輸入的RLCLK使能,幀對準信號
TXTS:OUT STD_LOGIC;--8位的組信號輸出控制信號
sddddd:OUT STD_LOGIC_VECTOR (7DOWNTO 0); --8位并行信號輸出);
end shift11:
architecture Behavioral of shift11 is
SIGNAL TEMPDATE:STD_LOGIC_VEC—TOR(8 DOWNTO 0);
SIGNAL TEMPO11:STD_LOGIC_VECTOR(7DOWNTO 0):=“00000000”;
SIGNAL Q:INTEGER RANGE 0 T0 7;
一并行信號計數8位產生一個脈沖;
SIGNAL Q4:INTEGER RANGE 0 TO 3;
--有用信號選擇,選擇32位中的24位;

筆者用MaxPlus II對以上設計進行仿真后得到圖3所示的時序圖,完全滿足設計要求,從圖3可以看出串行輸入的數據(shiflin)變成并行的數據(shiftout) 輸出,在此過程中數據延時8個周期,每個txts的上升沿提取數據能保證數據的正確性。因為從數據的變動到txts的上升沿有400ns,大于FPGA的數據建立時間(25ns~50ns),可以保證提取數據的正確性。


評論