一種基于FPGA的多通道高速采樣系統(tǒng)設(shè)計
本文引用地址:http://butianyuan.cn/article/236795.htm
在轉(zhuǎn)換過程中ADC有一個自由運行的外部輸入時鐘CONV CLK。隨著每一個CONV CLK信號下降沿,四個通道模擬信號轉(zhuǎn)換后的值提供給相應(yīng)的讀出信號中的數(shù)據(jù)總線。READ+是,CS1三者的邏輯集成信號,READ+為低電平時表示讀有效。信號SYNC是低電平時,第一個通道的數(shù)據(jù)到數(shù)據(jù)總線,隨后SYNC拉高,第二、三、四通道的數(shù)據(jù)按順序依次讀取。
3.2 多片AD的同步采樣及并行處理
單個AD的控制完成后,就很容易擴展到對四片AD的控制。在采集多通道數(shù)據(jù)時,需要保持同步采樣,本設(shè)計采用的方法是每一路信號通過各自的信號調(diào)理電路和ADC轉(zhuǎn)換結(jié)束后,ADC保持數(shù)據(jù),由FPGA依次讀取。
在硬件布局時,四片AD共用數(shù)據(jù)線,讀寫信號和AD轉(zhuǎn)換時鐘信號。因此FPGA通過寫命令同時啟動這四片AD芯片,十六個通道的模擬信號進入AD。每片AD都有一個數(shù)據(jù)同步信號SYNC,當(dāng)判斷得到四片AD中的某個SYNC信號是低電平時,則可認為十六道數(shù)字信號已同步到位,通過片選信號的切換依次讀取各個AD芯片的數(shù)據(jù)并暫時儲存在寄存器中。也可以根據(jù)自己需求,開啟和關(guān)閉某些AD,選擇特定的通道數(shù)據(jù)進行讀取。同步采樣原理圖如圖5所示。
3.3 自定義指令
自定義指令是FPGA的嵌入式軟核nios ii的一大特色,nios ii有著一個開放式的ALU,用戶可以根據(jù)自己的要求添加自定義指令來實現(xiàn)應(yīng)用需求,大大體現(xiàn)了nios ii軟核的靈活性。自定義指令的功能是運用Verilog語言,由電路模塊來完成的。因此,相比較利用C語言編程來實現(xiàn)功能,自定義指令具有執(zhí)行速度快的顯著特點。Nios ii支持四類自定義指令:組合邏輯指令、多周期用戶自定義指令、擴展用戶自定義指令、內(nèi)部寄存器自定義指令來滿足各種應(yīng)用情況。
本設(shè)計中旋轉(zhuǎn)機械的振動信號雖然在硬件中經(jīng)過了信號調(diào)理,但是由于元器件間參數(shù)的問題,仍舊會存在數(shù)據(jù)的偏差,運用了自定義指令中的多周期用戶自定義指令將數(shù)據(jù)進行修正。多周期指令需要數(shù)據(jù)指令和邏輯指令。利用start信號開始執(zhí)行指令,done信號來表示執(zhí)行結(jié)束,可以返回結(jié)果。
同時對于采集得到的數(shù)據(jù)進行傅里葉變換、濾波等處理,通過自定義指令也能實現(xiàn),提升了FPGA的信號處理能力。
4 AD時序仿真
仿真在FPGA的開發(fā)中扮演了重要的角色,利用modelsim仿真軟件來對編好的AD程序進行時序驗證。AD正式工作前,需要通過向AD內(nèi)部控制寄存器、CR1寫命令啟動AD,然后才能讀取數(shù)據(jù)。啟動AD芯片THS1207的流程圖如圖6所示,啟動AD的仿真結(jié)果如圖7所示。
AD芯片THS1207正常啟動后就可以開始讀取各個通道的數(shù)據(jù),由于本設(shè)計是十六個通道依次采樣,采樣結(jié)束后,需要通過片選控制信號依次讀取各個通道的數(shù)據(jù),仿真結(jié)果如圖8所示。
從仿真結(jié)果驗證得到編寫的AD程序可以完成十六道采樣的設(shè)計要求。
5 實驗結(jié)果
實驗采用AD四通道同步采樣,利用信號發(fā)生器產(chǎn)生正弦波,選擇同步采樣方式對每個正弦波采樣128點,通過以太網(wǎng)傳送到上位機,采樣得到的波形如圖9所示。
可以利用FPGA的自定義指令,根據(jù)需求將得到的數(shù)據(jù)進行處理,如圖10,對得到的波形數(shù)據(jù)進行偏置為-10和放大倍數(shù)為1.05的修正。
實驗中當(dāng)信號發(fā)生器發(fā)出正弦波的頻率達到3000Hz時,即采樣頻率達到384kHz時,F(xiàn)PGA采集波形能力達到了最大值,相當(dāng)于180000r /min的旋轉(zhuǎn)機械的基頻信號。當(dāng)超過3000Hz時,采樣得到的波形會出現(xiàn)毛刺現(xiàn)象。分析原因,主要是由于nios ii進、出中斷服務(wù)程序,以及中斷服務(wù)程序中對采樣數(shù)據(jù)的讀取需要花費一定的時間。
6 結(jié)束語
本設(shè)計利用FPGA并行技術(shù)、自定義模塊化設(shè)計以及nios ii的特色功能即自定制指令,實現(xiàn)了對于旋轉(zhuǎn)機械振動信號的多通道高速同步采樣。顯示了FPGA可編程、設(shè)計靈活、高速的特點,同時也驗證了基于FPGA的多通道高速采樣系統(tǒng)的可行性。
根據(jù)實驗結(jié)果和理論的最大采樣速度還有差距,可以進一步改進系統(tǒng)設(shè)計,例如采用DMA優(yōu)化程序,提高速率。
評論