基于LabVIEW和DSP技術(shù)的FFT頻譜分析儀
4 虛擬式FFT頻譜分析儀的系統(tǒng)設(shè)計(jì)
4.1基于DSP的USB數(shù)據(jù)采集器開發(fā)
快速傅里葉變換FFT(FastFourierTransform)分析要求首先對被分析的信號(hào)進(jìn)行數(shù)字采樣,然后再進(jìn)行FFT運(yùn)算。在系統(tǒng)中,信號(hào)的采樣和FFT計(jì)算全部在USB數(shù)據(jù)采集器上實(shí)現(xiàn)。為了保證時(shí)域信號(hào)和FFT處理后的數(shù)據(jù)能實(shí)時(shí)傳遞給系統(tǒng)CPU,USB數(shù)據(jù)采集器與主機(jī)之間采用USB接口設(shè)計(jì)[2]。根據(jù)系統(tǒng)要求和實(shí)際條件,USB數(shù)據(jù)采集器的結(jié)構(gòu)如圖1所示。
(1)信號(hào)調(diào)理模塊設(shè)計(jì)
信號(hào)調(diào)理模塊實(shí)現(xiàn)信號(hào)的輸入緩沖、放大和濾波。在系統(tǒng)中,信號(hào)的緩沖由集成運(yùn)放組成同相跟隨器來實(shí)現(xiàn)。放大器采用TI公司的可編程放大器PAG103U,放大倍數(shù)的改變由DSP和邏輯控制器共同實(shí)現(xiàn),設(shè)計(jì)中可對輸入通道信號(hào)分別進(jìn)行放大倍數(shù)控制。調(diào)理模塊中的濾波器為低通濾波,主要用于對信號(hào)進(jìn)行抗混疊濾波,以確保信號(hào)的有效FFT分析。
(2)A/D轉(zhuǎn)換設(shè)計(jì)
A/D轉(zhuǎn)換的采樣率和分辨率是進(jìn)行數(shù)字采樣系統(tǒng)設(shè)計(jì)的主要指標(biāo)。在設(shè)計(jì)中,A/D芯片采用AD7685,單通道最高采樣率可達(dá)250kS/s,輸出為16位并行輸出,比較電壓為±5V。
(3)DSP芯片選用
DSP是該系統(tǒng)進(jìn)行FFT運(yùn)算的處理器,其精度、速度在很大程度上決定了FFT分析儀的性能。考慮到FFT運(yùn)算中實(shí)時(shí)性和精度方面的要求,設(shè)計(jì)時(shí)選用TMS320VC33浮點(diǎn)型DSP芯片[6]。
(4)存儲(chǔ)器選用
存儲(chǔ)器可用于存放大量的表格數(shù)據(jù)和一些臨時(shí)數(shù)據(jù)。因?yàn)镈SP在作FFT運(yùn)算時(shí)要用到大量正弦及其他數(shù)據(jù)表格,而通常固化DSP程序的閃存和DSP的數(shù)據(jù)交換較慢,為保證FFT的運(yùn)算速度,可在FFT運(yùn)算前,將表格數(shù)據(jù)存儲(chǔ)于DSP外的高速存儲(chǔ)器內(nèi)。
(5)USB接口芯片選用
USB接口芯片是連接PC機(jī)和底層硬件的通信紐帶,USB總線有著嚴(yán)格的電氣規(guī)范和時(shí)序要求,采用接口芯片可以減少電路設(shè)計(jì)的工作量,特別對于在實(shí)現(xiàn)5V與3.3VDSP的數(shù)據(jù)傳遞時(shí),采用可同時(shí)兼容這兩種電壓的接口芯片,還省去轉(zhuǎn)換電路的設(shè)計(jì)。設(shè)計(jì)中選用Philips的高速USB2.0芯片ISP1362。數(shù)據(jù)采集器工作時(shí),各主要模塊通過控制器后的基本流程如圖2所示。
4.2虛擬式FFT頻譜分析儀軟件設(shè)計(jì)
該系統(tǒng)軟件包括DSP軟件的設(shè)計(jì)和應(yīng)用程序的設(shè)計(jì)。
4.2.1DSP軟件的設(shè)計(jì)
DSP軟件由DSP主程序和中斷服務(wù)程序組成[4]。
DSP主程序主要完成以下任務(wù):(1)初始化USB芯片,讀入用戶設(shè)置的采樣頻率參數(shù),并根據(jù)這個(gè)參數(shù)初始化時(shí)鐘,以產(chǎn)生正確的采樣時(shí)間信號(hào);(2)讀入采樣通道參數(shù)并初始化AD7685;(3)讀入用戶放大倍數(shù),設(shè)置可編程放大器。這些參數(shù)讀入完畢后,將采樣通道采集的數(shù)據(jù)通過USB口發(fā)送給PC側(cè)的LabVIEW軟件分析處理。
中斷服務(wù)程序主要用來響應(yīng)A/D所產(chǎn)生的中斷,在設(shè)計(jì)中,中斷服務(wù)的任務(wù)主要是讀取A/D轉(zhuǎn)換后的數(shù)據(jù),并判斷其是否達(dá)到FFT點(diǎn)數(shù),如沒達(dá)到則返回,反之,進(jìn)行FFT運(yùn)算,并將數(shù)據(jù)傳遞給接口芯片。
評(píng)論