基于FPGA實現(xiàn)的高速等效采集系統(tǒng)
摘 要: 基于FPGA設計一個高速等效采集系統(tǒng), 采樣速率高達1 GHz。通過對被測信號的周期進行測量,動態(tài)配置鎖相環(huán),使采樣時鐘的周期剛好比被測信號的周期大1 ns,從而完成對被測信號的等效采樣。系統(tǒng)采用Quartus II軟件進行系統(tǒng)模塊設計,使用NIOS IDE II軟件完成軟件代碼的實現(xiàn)。該系統(tǒng)在以Cyclone III FPGA芯片為核心的DE0開發(fā)板上實現(xiàn),達到了設計要求。
關鍵詞: 高速等效采樣; FPGA; 可重配置鎖相環(huán)
在現(xiàn)代電子測量、通信系統(tǒng)、雷達等領域,經常涉及對高頻模擬信號進行數據采集和存儲,以便進一步進行數據處理。根據奈奎斯特采樣定理,對高速模擬信號進行不失真采集,采樣頻率必須為信號最高頻率分量的兩倍以上,當信號頻率較高時,對器件速度的要求很高。高速模數轉換器的關鍵技術被國外所掌握,市場售價相當昂貴。當采集的模擬信號是周期性信號時,利用信號的周期性,采用等效時間采樣原理就可以用較低速的ADC實現(xiàn)高速的數據采集,從而減小系統(tǒng)的實現(xiàn)難度,簡化周期性寬帶模擬信號的高速數據采集問題[1]。等效采樣是一種欠采樣技術,它利用信號的周期性,以增加采集時間為代價,降低對高速采樣電路的壓力,通過重組恢復原始信號,可以實現(xiàn)周期信號或者重復信號的數字化。
1 等效采樣的原理
根據奈奎斯特定律,采樣頻率在信號最高頻率分量的兩倍以上就可恢復原波形。而如果使用等效采樣,在信號的每個周期或相隔幾個周期取一個樣,而每個取樣點分別取自每個輸入信號波形不同的位置上,若干個取樣點成為一個周期, 可以組成類似于原信號的一個周期的波形[2]。相對于實時采樣,等效采樣技術在采樣重復信號時可以實現(xiàn)很高的數字化轉換速率。
等效時間采樣的基本原理是利用取樣技術把高頻的、快速的重復信號轉換成低頻的、慢速的信號。等效采樣分為兩種方式:隨機采樣和順序采樣。隨機采樣,是從若干連續(xù)的信號周期中采集到多組采樣點來構成波形,每一組新的觸發(fā)點都是由一個新的觸發(fā)事件來啟動采集的,一個觸發(fā)事件到來以后,就采集信號波形的一部分,經過若干周期以后存儲器內存貯了足夠的采樣點,就可以在屏幕上重建一個完整的波形[3]。順序等效采樣在每個觸發(fā)捕獲一個樣值,而不依賴于時間/格的設置和掃描速度,每發(fā)現(xiàn)一個觸發(fā)經過一個雖然很短卻明確的延遲, 就獲得采樣值。當發(fā)生下一次觸發(fā)時, 延遲增加一段小的增量Δt。這個增量就是等效采樣的周期。該過程重復多次延時不斷增加到前一個捕獲量中, 直到時間窗口填滿[2]。如圖1所示[4]。
2 設計思路
在高速等效采樣中,普遍存在難以確定觸發(fā)點的問題。本系統(tǒng)采用Cyclone III的可重配置PLL產生與被測信號周期相差1 ns的時鐘作為ADC的采樣時鐘對信號進行等效采樣,有效地解決高速等效采樣中觸發(fā)點位置難以確定的難點。系統(tǒng)的工作流程圖如圖2所示。系統(tǒng)初始化后,首先計算輸入信號的周期,根據差頻公式(f=1/t=1/(k×T+Δt),其中f為采樣頻率,k為常數,T為信號周期,Δt為等效采樣周期1 ns)計算出系統(tǒng)的采樣頻率,然后利用窮舉法找出PLL輸出的時鐘最接近這個采樣頻率的相關參數值。把參數值賦給ALTPLL_RECONFIG模塊,PLL經過重配置后輸出的時鐘即為ADC采樣時鐘。ADC采樣輸出的數據保存到片內RAM中,最后通過串口輸出到計算機顯示。
系統(tǒng)框圖如圖3所示。外圍電路主要有分頻器和ADC。分頻器的主要作用是把輸入的模擬信號變成脈沖信號,同時把高頻信號分頻為較低頻的信號,便于計算被測信號的周期(相對于輸入信號),ADC則負責采樣。其他部分功能由FPGA實現(xiàn)。采用NIOS II處理核和Avalon總線控制系統(tǒng)搭配各個模塊,這與使用MCU方案相比,系統(tǒng)更加小型化,集成度更高,運行速度更快,同時還減少了物理連接。這樣不僅降低了功耗,還增強了系統(tǒng)的穩(wěn)定性。
3 系統(tǒng)設計
本系統(tǒng)主要功能模塊包括頻率計算模塊、采樣頻率生成模塊、數據存儲模塊和串口通信模塊等。
3.1 頻率計算模塊
首先把被測信號通過分頻器進行分頻,通過對分頻后脈沖信號計數可得信號周期T。根據自定義的差頻公式f=1/t=1/(k×T+Δt)(t為實時采樣周期,k為可變整數,T為信號周期,Δt為等效采樣周期),可計算出實時采樣頻率。
3.2 采樣頻率生成模塊
利用ALTPLL_RECONFIG宏功能和ALTPLL宏功能產生采樣頻率,此頻率可根據被測信號實時改變。根據前面計算出的實時采樣周期,使用窮舉法得到PLL的M、N和G1、G2參數的最佳值。根據這些參數重新配置PLL,PLL生成的采樣頻率即可滿足要求。重配置PLL的仿真圖如圖4所示。當write_param有效時,改變其中一個寄存器的值,修改寄存器值其間,busy為高電平,此時write_param無效。當busy為低電平時,可以繼續(xù)修改下一個寄存器的值。當需要改變的寄存器修改完以后,使reconfig為高電平,ALTPLL_RECONFIG模塊開始對PLL進行重配置,以產生采樣所需要的時鐘。重配置完成后過一段時間,PLL重新鎖定,輸出采樣時鐘c0。