基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
在實(shí)際應(yīng)用中并不是每個(gè)通道都被使用,AD的采樣率也不只一種,所以在通道的控制和采樣率設(shè)置上應(yīng)該具有可選擇性。
通道和采樣率選擇模塊提供2個(gè)8 bit的控制寄存器A和B。如圖3所示,寄存器A的0~4 bit分別對(duì)應(yīng)ADC通道CH0~CH4,5~7 bit保留;寄存器B的8 bit分別對(duì)應(yīng)采樣率FS0~FS7。如果要選擇某幾個(gè)通道,只需將寄存器A中相應(yīng)的位置1,其他位置0,AD采樣控制模塊就會(huì)根據(jù)該寄存器中的內(nèi)容使能相應(yīng)的通道。如果要選擇某一個(gè)采樣頻率,只需把寄存器B中相應(yīng)的位置1,其他位置0,時(shí)鐘模塊會(huì)產(chǎn)生相應(yīng)的時(shí)鐘控制AD的采樣率。在開啟數(shù)據(jù)采集之前,ARM應(yīng)根據(jù)所要求的通道和采樣頻率向寄存器A和B寫入相應(yīng)命令字。本文引用地址:http://www.biyoush.com/article/188551.htm
2.2 時(shí)鐘模塊
本設(shè)計(jì)中外部輸入時(shí)鐘為16.384 MHz。由于設(shè)計(jì)中各個(gè)模塊工作時(shí)鐘的不同以及AD采樣率的變化,所以需要多種不同的時(shí)鐘信號(hào)。時(shí)鐘模塊的功能就是根據(jù)不同采樣率為各個(gè)模塊提供所需的時(shí)鐘信號(hào)。由于該設(shè)計(jì)采用同步時(shí)序電路,它是基于時(shí)鐘觸發(fā)沿設(shè)計(jì),對(duì)時(shí)鐘的周期、占空比、延時(shí)、抖動(dòng)提出了較高的要求,為此本設(shè)計(jì)中采用FPGA所帶的PLL時(shí)鐘資源驅(qū)動(dòng)設(shè)計(jì)的主時(shí)鐘,使其達(dá)到最低的時(shí)鐘抖動(dòng)和延遲。
2.3 雙口RAM模塊
本設(shè)計(jì)中雙口RAM用于數(shù)據(jù)緩存,一方面存儲(chǔ)各個(gè)AD芯片轉(zhuǎn)換的數(shù)據(jù),另一方面供ARM讀取數(shù)據(jù)做進(jìn)一步的存儲(chǔ)與處理。它具有真正的雙端口,可以同時(shí)對(duì)其進(jìn)行數(shù)據(jù)存取,兩個(gè)端口具有獨(dú)立的控制線、地址線和數(shù)據(jù)線。該雙口RAM模塊是通過調(diào)用Altera FPGA自帶的參數(shù)化模型庫(kù)(Mega-lpm)實(shí)現(xiàn)的。
2.4 A/D采樣控制模塊
A/D采樣控制模塊的主要任務(wù)就是根據(jù)ADS1255的轉(zhuǎn)換時(shí)序圖,在其芯片的引腳發(fā)出相應(yīng)的時(shí)序控制信號(hào),使ADS1255完成啟動(dòng)、配置和數(shù)據(jù)讀取等操作。ADS1255的控制操作如下:首先設(shè)置ADS1255的參數(shù)配置,讀數(shù)據(jù)模,然后啟動(dòng)轉(zhuǎn)換,通過查詢ADS1255的DRDY信號(hào)判斷是否轉(zhuǎn)換完成,轉(zhuǎn)換結(jié)束后將數(shù)據(jù)按bit順序讀出。同時(shí)將數(shù)據(jù)輸出給串并轉(zhuǎn)換模塊,完成一次A/D轉(zhuǎn)換操作。采樣控制模塊每完成一次采樣操作,則停止等待下一個(gè)觸發(fā)脈沖的到來。
評(píng)論