新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > ADl871型模/數(shù)轉(zhuǎn)換器的應(yīng)用

ADl871型模/數(shù)轉(zhuǎn)換器的應(yīng)用

作者: 時(shí)間:2012-08-27 來源:網(wǎng)絡(luò) 收藏

1 引言

本文引用地址:http://butianyuan.cn/article/185859.htm

科學(xué)技術(shù)的發(fā)展對(duì)數(shù)據(jù)采集系統(tǒng)的采樣速率、分辨率、精度、接口及抗干擾能力等提出越來越高的要求。

AD1是目前市場上動(dòng)態(tài)范圍、采樣速率和采樣精度等指標(biāo)都很突出數(shù)據(jù)的一款24位ADC,它的推出為設(shè)計(jì)高速、高精度數(shù)據(jù)采集系統(tǒng)提供了一種較好的解決方案。由于其輸出為串行輸出,當(dāng)其和MCU直接相連時(shí),會(huì)使采樣系統(tǒng)的采樣速率大大降低。

如果MCU的I/O端口的實(shí)際最高速率是1MHz(單片機(jī)的速率通常是這個(gè)數(shù)量級(jí)),那么I/O端13傳輸1Bit的最短時(shí)間間隔為1μs,當(dāng)輸出2路各24Bit時(shí),需要實(shí)際串行輸出64Bit,故采樣速率下降為1MHz/64=15.625kHz,這個(gè)速率遠(yuǎn)遠(yuǎn)低于的96kHz,另外,單片機(jī)把64位串行數(shù)據(jù)再處理為2個(gè)24位的并行數(shù)據(jù)時(shí),速度會(huì)進(jìn)一步降低。

為此,筆者采用現(xiàn)場可編程門陣列(FPGA)設(shè)計(jì)了871和MCU之間的接口,由FPGA完成對(duì)ADl871的控制,并將其輸出的串行數(shù)據(jù)在FPGA的內(nèi)部變?yōu)椴⑿袛?shù)據(jù),并行后的數(shù)據(jù)以8位或12位為一組發(fā)給MCU。由于FPGA的實(shí)際傳輸速率可以滿足和ADl871的傳輸速率要求,故上述“瓶頸”得以解決。

2 接口設(shè)計(jì)

2.1 時(shí)鐘設(shè)計(jì)

圖1示出A/D轉(zhuǎn)換器的輸入時(shí)鐘設(shè)計(jì),MD轉(zhuǎn)換器工作在從式下時(shí),需要外部提供RLCLK和BCLK。在主時(shí)鐘MCLK的輸入下,通過對(duì)MCLK 4分頻得到BCLK的信號(hào),用來作為位數(shù)據(jù)提取的信號(hào)。RLCLK是通過對(duì)BCLK的32分頻得到的,用來區(qū)分左右通道的數(shù)據(jù),同時(shí)輸出EN信號(hào)作為后續(xù)處理的同步信號(hào)。

2.2接口設(shè)計(jì)

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

2.3 SHIFT模塊程序

Emity shifill is

PORT(BCLK:IN STD_LOGIC;一輸入的BCLK位信號(hào)

CR :IN STD_LOGIC;--輸入的使能信號(hào)

SHIFTIN:IN STD_LOGIC:--AD輸入的串行信號(hào)

RLEN:IN STD_LOGIC;--輸入的RLCLK使能,幀對(duì)準(zhǔn)信號(hào)

TXTS:OUT STD_LOGIC;--8位的組信號(hào)輸出控制信號(hào)

sddddd:OUT STD_LOGIC_VECTOR (7DOWNTO 0); --8位并行信號(hào)輸出);

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;


上一頁 1 2 下一頁

關(guān)鍵詞: ADl 871 數(shù)轉(zhuǎn)換器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉