摘要:設計一種多通道信號的頻譜分析系統,介紹系統硬件和軟件設計方案。該系統以TMS320F2812 DSP作為系統數據處理核心,外擴12位精度A/D MAX1304,使用FFT技術對信號頻域進行分析。FFT運算調用TI 公司CCS FFT Library 中的FFT程序模塊,使實現頻譜分析變得容易。頻譜分析的結果可實時顯示并上傳至上位機,實現數字化的頻譜分析。通過實驗和結果的分析,該系統具有通用性好,可靠性高,實時性強,可以實現快速的測量和傳輸。
關鍵詞:DSP;頻譜分析;模數轉換;FFT;FFT Library
中圖分類號:TP393.1 文獻標識碼:A
1引言
頻譜分析主要就是將時域信號轉化為頻域進行處理,一般要求使用時窗技術,如快速傅氏變換(FFT)、離散傅氏變換(DFT)等[1]。利用頻譜分析儀不但能夠快速準確地顯示信號頻譜、提供大的測量動態范圍,而且能夠利用其所具有的各種測試功能對信號頻率、電平、信號頻譜純度及抗干擾特性進行分析。在 DSP 芯片出現之前,頻譜分析的實現是依靠模擬濾波的方法來完成的, 數字器件和計算方法的問世大大改變了頻譜分析技術。數字化頻譜儀屬于非掃描式,是以數字濾波器和快速傅里葉變換為基礎構成[2-3]。
本文設計了一種基于TMS320F2812型DSP的多通道信號頻譜分析系統。該系統以32位定點TMS320F2812型DSP作為數據處理和控制核心[4],并通過A/D采集、液晶顯示等外圍電路的控制,組成了具有數據采集、實時數據處理和頻譜顯示功能的硬件平臺,在該平臺上實現數字化的頻譜分析系統;使用FFT技術對多種信號的頻譜分析,調用TI 公司提供以TMS320C28x系列芯片為基礎的C28x 快速傅立葉變換庫FFT Library,大大提高代碼的執行效率和系統的實時性。
2系統硬件設計
2.1系統總體設計
系統主要由信號輸入模塊、模數轉換模塊和數據處理顯示模塊三大部分組成,如圖1所示。系統以TMS320F2812芯片為核心,構建DSP最小系統,并在此基礎上外圍擴展信號隔離和濾波電路、A/D采集電路、液晶顯示電路、SCI接口電路等。由 DSP 芯片控制數據采集、處理和傳輸,傳感器信號經過調理電路調理后進入 A/D 芯片進行轉換,轉換后的數據由 DSP 芯片控制讀入并進行實時濾波預處理,將處理后數據的存入 Flash存儲器,并將分析結果通過RS232接口傳送到上位機。
2.2系統實現
2.2.1信號調理電路設計
在設計 A/D 采樣電路時,應在輸入信號前端加一個低通的模擬濾波器,即抗混疊濾波器,其作用就是掉濾除高于 0.5 倍采樣頻率的無用的高頻分量,以減少頻譜混疊。設計中考慮到 MAX1304 的有效輸入電壓范圍為0~+5 V,而傳感器輸出電壓為 0~+0.5 mV,因此選用了高精度運算放大器芯片AD744 A設計了一個 10 倍的運放電路,將測量信號放大到 +5 V 處,以減少 A/D 芯片的采樣誤差,并在運放電路之后根據抗混疊原理設計了一個截止頻率為 1 kHz 有源二階低通濾波器。同時,為防止電壓過高,燒壞 A/D 芯片,在放大濾波電路后追加了一個限幅電路,以保證芯片的安全性。
2.2.2A/D轉換設計
通過綜合考慮采樣精度、轉換時間及采樣通道數等因素,A/D轉換器選用MAXIM公司推出的可編程12位精度串行輸出模數轉換芯片MAX1304。MAX1304具有 8 路模擬通道輸入,能在 1.98μs 內完成 8 個通道的轉換,8 個通道轉換時每通道吞吐率為456 ksps,并可接受數字輸入分別激活每一路通道。MAX1304的電壓輸入為單極性,范圍為 0~+5 V,并具有±6 V 的故障保護,為電路提供了很好的安全屏障。MAX1304的基準電壓具有內部和外部兩種基準模式,時鐘可選擇內部或外部時鐘,使得在設計電路時有了很大的靈活性[4]。圖 2 為A/D轉換模塊電路原理圖,采用內部時鐘和內部電壓基準。MAX1304的另一個優點是數字電源 DVDD 可以接 +2.7 V 至 +5.25 V,而數字端接口的高電平為 (DVDD+0.3) V。所以,當如圖所示 DVDD 接 3 V 時,數字端輸出引腳滿足 3.3 V TTL 電壓標準,可直接與 DSP 芯片的 I/O 口相連,而不需要電壓轉換芯片。
2.2.3其它電路設計
除上述信號調理電路和A/D轉換電路外,還有LCD顯示電路、F2812最小系統、RS232通訊電路等,這些功能模塊已經有經典電路可以參考,在此不再贅述。
3系統軟件設計
3.1軟件設計思路
軟件設計部分主要包含系統初始化、數據采集、FFT分析、結果顯示和上傳,如圖3所示。 DSP 上電初始化后,初始化MAX1304為多通道并行采樣方式,定義 DSP 系統定時器 time0,設置 A/D 采樣頻率為 4 kHz,啟動 A/D 采樣。通過中斷標志位 flag,等待 A/D_eolc引腳信號跳變,當A/D_eolc為0 時,一次采樣轉化結束。DSP 將采樣的數字信號讀到數據緩存A/D_data[i]中。讀取完畢后,判斷緩存區中數據量是否達到所需的數據組數,若否則繼續等待下一次的數據的讀取;若是則暫停啟動A/D采樣的定時器,調用FFT分析函數,并將分析的結果顯示在LCD上,同時通過SCI模塊發送到上位機。
由輸入數據的采樣率為4 kHz可知,圖5的頻率分辨率是4 kHz/128=0.03125 kHz。即兩個點間的間隔是31.25 Hz。兩個峰值點分別出現在第9個和第17個點,即間隔分別是8和16。所以分別有31.25×8=250 Hz和31.25×16 =500 Hz,可見結果完全正確,驗證了本方案的有效性。
5結束語
本文介紹了一種基于 TMS320F2812型DSP的實時信號頻譜分析系統的設計方案,著重闡述了FFT Library函數庫在頻譜分析方面的應用。FFT Library函數庫由于采用匯編語言編寫, 運算速度很快,此函數庫極大提高軟件開發的速度;FFT Library函數庫提供多種不同點數的計算模塊,可根據頻率分辨的要求可靈活選擇FFT計算模塊。本頻譜分析系統已經借助仿真器及 DSP 的集成開發環境調試通過,系統能夠完成數字化的頻譜分析,且滿足實時性的要求,可以實現快速的測量和傳輸,為進一步實現實時數據處理和整個控制系統設計提供了一定的基礎。
參考文獻
[1]方勇.基于嵌入式的頻譜分析儀的研究與設計[D].西安:西安電子科技大學,2011.
[2]卜紅霞,胡永杰,齊炎炎,等.基于DSP的頻譜分析系統的設計與實現[J].微計算機信息, 2008, 24(7): 208-209, 256.
[3]杜治蕓,王巍.基于DSP的數據采集和頻譜分析系統設計[J].山西電子技術, 2010, (1):3-4,30.
[4]索亮,基于 DSP 的多通道數據采集與處理系統的設計[D].太原:中北大學,2011.
[5]李全利,劉長亮.CCS上FFT 運算的實現[J].自動化技術與應用,2009,28(2 ):59 -62.
[6]趙世廉.TMS320X24x DSP 原理及應用開發指南[M].北京:北京航空航天大學出版社,2007-03.
[7]柴秀英,基于DSP的多通道通用數據采集系統的研制[D].成都:西南交通大學,2010.
[8]王肅偉,楊學友,李雁斌,等,基于DSP的數據采集與處理系統的設計[J].科學技術與工程,2007,7(15):3943-3945.
[9]孟祥儒,基于DSP的數據采集處理及顯示系統[D].合肥:中國科學技術大學,2009.
[10]蘇奎峰,呂強,常天慶, TMS320X281x DSP 原理及C 程序開發[M].北京:北京航空航天大學出版社,2008-02.