ADl871型模/數轉換器的應用
1 引言
本文引用地址:http://dyxdggzs.com/article/185859.htm科學(xué)技術(shù)的發(fā)展對數據采集系統的采樣速率、分辨率、精度、接口及抗干擾能力等提出越來(lái)越高的要求。
AD1871是目前市場(chǎng)上動(dòng)態(tài)范圍、采樣速率和采樣精度等指標都很突出數據的一款24位ADC,它的推出為設計高速、高精度數據采集系統提供了一種較好的解決方案。由于其輸出為串行輸出,當其和MCU直接相連時(shí),會(huì )使采樣系統的采樣速率大大降低。
如果MCU的I/O端口的實(shí)際最高速率是1MHz(單片機的速率通常是這個(gè)數量級),那么I/O端13傳輸1Bit的最短時(shí)間間隔為1μs,當ADl871輸出2路各24Bit時(shí),需要實(shí)際串行輸出64Bit,故采樣速率下降為1MHz/64=15.625kHz,這個(gè)速率遠遠低于ADl871的96kHz,另外,單片機把64位串行數據再處理為2個(gè)24位的并行數據時(shí),速度會(huì )進(jìn)一步降低。
為此,筆者采用現場(chǎng)可編程門(mén)陣列(FPGA)設計了ADl871和MCU之間的接口,由FPGA完成對ADl871的控制,并將其輸出的串行數據在FPGA的內部變?yōu)椴⑿袛祿?,并行后的數據?位或12位為一組發(fā)給MCU。由于FPGA的實(shí)際傳輸速率可以滿(mǎn)足和ADl871的傳輸速率要求,故上述“瓶頸”得以解決。
2 接口設計
2.1 時(shí)鐘設計
圖1示出A/D轉換器的輸入時(shí)鐘設計,MD轉換器工作在從模式下時(shí),需要外部提供RLCLK和BCLK。在主時(shí)鐘MCLK的輸入下,通過(guò)對MCLK 4分頻得到BCLK的信號,用來(lái)作為位數據提取的信號。RLCLK是通過(guò)對BCLK的32分頻得到的,用來(lái)區分左右通道的數據,同時(shí)輸出EN信號作為后續處理的同步信號。

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

2.3 SHIFT模塊程序
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;
評論