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