楊永超
摘? 要:本論文介紹了基于FPGA的多通道采樣系統的設計。用FPGA設計一個多通道采樣控制器,利用VHDL語言設計有限狀態機來實現對AD7892的控制。由于FPGA器件的特性是可以實現高速工作,為此模擬信號選用音頻信號。由于音頻信號的頻率是20Hz-20KHz,這樣就對AD轉換的速率有很高的要求.因為FPGA的功能很強大,所以我們把系統的許多功能都集成到FPGA器件中,例如AD通道選擇部分,串并輸出控制模塊,這樣使得整個系統的外圍電路簡單、系統的穩定性強。FPGA的配置模式選用被動串行模式,這樣就增強了系統的可擴展性。
關鍵詞:音頻放大;濾波器;FPGA;VHDL;AD7892;
1.引言
FPGA(Field-Programmable Gate Array 現場可編程門陣列)是近年來廣泛應用的超大規模、超高速的可編程邏輯器件,由于其具有高集成度(單片集成的系統門數達上千萬門)、高速(200MHz以上)、在線系統可編程等優點,為數字系統的設計帶來了突破性變革,大大推動了數字系統設計的單片化、自動化,提高了單片數字系統的設計周期、設計靈活性和可靠性。在超高速信號處理和實時測控方面有非常廣泛的應用。
硬件描述語言HDL是一種用形式化方法描述數字電路和系統的語言。VHDL是硬件描述語言的幾種代表性語言的一種。VHDL(Very High Speed Integrated Circuit Hardware Description Language 即超高速集成電路硬件描述語言)主要用于描述數字系統的結構、行為、功能和接口,與其它的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了它成為系統設計領域最佳的硬件描述語言。用VHDL設計的程序,通過綜合工具產生網表文件,下載到目標器件,從而生成硬件電路。
2.方案設計
用FPGA實現一個3位8進制的計數器,記數脈沖是FPGA鎖存AD轉換數據的鎖存信號,計數器的輸出作為數據開關CD4051的地址。用有限狀態機來實現對AD7892的控制,這樣電路實現比較簡單,而且AD7892的采樣速率可以達到500KHz,可以實現8個通道同時8路音頻信號采集。同時采用FIFO模塊,讓數字數據先存到隊列中,一邊往隊列中寫數據,一邊從隊列中讀數據,這樣就對數字數據起了一個高速緩存的作用,更加快了整個系統的運行速度。
3.單元電路的設計
由圖2.1可以看出,系統可以分為4個大部分,分別是音頻放大、濾波部分,FPGA控制部分,AD采樣電路,FPGA硬件電路的設計。其中以FPGA控制部分為主體部分,它涉及到AD采樣控制,通道選擇控制,串并輸出模式選擇模塊,延時模塊以及FIFO模塊介紹。這些模塊的實現是系統實現的關鍵。下面分別對系統的這些單元電路做詳細的闡述。
3.1 音頻放大、濾波部分
人的耳朵可以辨別到的聲音頻率范圍是:20Hz-20KHz,所以對音頻放大部分的放大器有帶寬要求,要求放大器是寬頻帶的。所以本次設計選用專門用于音頻放大的高速低噪聲運放NE5532作為放大部分的放大器。濾波部分是一個有源帶通濾波器,濾掉電路的20Hz以下的低頻和20KHz以上的高頻干擾。
3.2 AD采樣電路
由于人的耳朵能識別的音頻的頻率范圍是20Hz-20KHz,根據奈魁斯特(NYQUIST)采樣定理知道,要使采樣后的數字信號能恢復成模擬信號,采樣的頻率必須是模擬信號的頻率的兩倍,即本次采樣系統的采樣頻率最低要設計在40KHz,而一般CD格式的音頻信號的采樣頻率是44.1KHz,由于是8路通道的采樣,所以AD芯片的最低采樣頻率應該是44.1KHz
8=352.8KHz,所以選擇采樣頻率為500KHz的AD7892。這樣我們每個通道的采樣頻率就是500KHz/8=62.5KHz。
3.4 FPGA的硬件設計
本次設計選用的FPGA芯片是ALTERA公司的ACEX1K系列的EP1K30TC144-3。由于它的高密度和易于在設計中實現復雜宏函數和存儲器,因此可以把一個子系統集成在單一芯片上,EP1K30包括一個嵌入式陣列,這為設計人員提供了有效的嵌入式門陣列和靈活的可編程邏輯。嵌入式陣列是由一系列嵌入式陣列塊(EAB)組成的,它能夠用來實現各種存儲器和復雜邏輯功能;該器件也提供多電壓I/O接口操作。它允許器件橋架在不同電壓工作的系統中。比如本次系統設計器件的I/O輸出就是2.5V,這樣不但使FPGA芯片工作安全,也可以讓AD7892能工作安全狀態。
4 軟件介紹
在實驗中主要使用了MAX+PlusⅡ、EWB、以及Protel99se三種軟件,其中,Max PlusⅡ主要完成對FPGA芯片的編程,仿真,芯片引腳鎖定以及編程在線配置等操作,EWB主要用于對放大、濾波電路作分析與設計,并以分析為主,尤其是EWB能提供一個虛擬的實驗室,可以對電路和系統進行十分逼真的模擬;Protel99se則是整個電路設計PCB的重要工具?,F分別對這三種軟件進行介紹,其中重點介紹使用MAX+PlusⅡ的常用基本設計方法。
5? 整機調試
在硬件電路中用到了音頻放大、濾波電路,電源穩壓電路,AD采樣電路,FPGA控制等主要部分,由于電路連線較多而且復雜,采用的方法是分塊調試,這樣比較容易發現問題和解決問題。這種硬件調試方法在實際應用是比較普遍的。
在進行硬件調試之前,首先要檢查電路板,看看電路板上的線路是否有短路、虛焊或者是斷路的情況,如果有則要修正它,如果沒有就可以進行各個模塊的調試。
6調試注意事項
在調試音頻放大部分的時候,話筒和電路板的連接線要選用屏蔽線,這樣用助于屏蔽周圍的干擾信號,普通的電線無法做到這一點。
由于FPGA芯片引腳過多,而且電路相對復雜,所以在硬件電路的功能調試之前,需要對硬件電路的檢查和調試。特別是對FPGA芯片的電源的檢查,電源電壓的過高,芯片就會燒壞;電壓過低,芯片就工作不起來。設計把AD部分和FPGA芯片分到了兩塊板子上,而且FPGA芯片電源是由LM317穩壓塊提供,所以先在AD模塊加上+5V電源,用萬用表測得LM317的輸出電壓是否是2.5V,這樣就起到保護FPGA芯片的作用。
7? 結論
本次設計采用FPGA實現采樣系統,從而系統具有高速、穩定、低功耗等特點,音頻模擬信號經放大器NE5532放大后,經過8路選擇后,進入濾波器進行濾波,濾掉高頻干擾信號和低頻干擾信號的干擾,然后進入AD7892進行AD采樣,采樣后的12位數據通過一個FIFO隊列存儲,最后從FIFO中讀出數字信號,在串并輸出模式的選擇下在示波器上顯示出來。
參考文獻
[1]? 張亦華.數字電路EDA入門—VHDL程序實例集[M].北京:北京郵電大學出版社,2003.3
[2]? 李洋.EDA技術實用教程[M].北京:機械工業出版社,2004.7