隨著微電子和信息技術(shù)的快速發(fā)展,,以單片機為代表的數(shù)字技術(shù)發(fā)展日新月異,。單片機由于具有體積小、功耗低,、控制功能強,、擴展靈活、微型化和使用方便等優(yōu)點,,而廣泛應(yīng)用于各種儀表的控制,,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理。事實上,,通過采用單片機來進(jìn)行控制,,可以實現(xiàn)儀器儀表的數(shù)字化、智能化和微型化,。本文通過對比選擇采用了LPC2148芯片解決方案來實現(xiàn)音頻分析儀的設(shè)計,。
1 系統(tǒng)分析與選擇
1.1 信號處理原理分析
在對音頻信號進(jìn)行分析的過程中,本文采用了快速傅立葉變換FFT算法,,即首先對音頻信號進(jìn)行離散化處理,,然后進(jìn)行FFT運算,求出信號各個離散頻率點的功率數(shù)值,,并得到離散化的功率譜,,最后在頻域計算被測音頻信號的總功率。
1.2 系統(tǒng)的選擇
在處理器的選擇上,,通??梢赃x擇8位、16位或者是32位的MCU,。但是,,由于在處理信號的過程中,通常會用到快速傅立葉變換FFF算法,,所以需要進(jìn)行大量的浮點運算,,而且一個浮點要占用四個字節(jié),故在處理過程要占用大量的內(nèi)存,,同時浮點運算時間也很慢,,所以采用普通的8位MCU和16位MCU一般難以在一定的時間內(nèi)完成運算。綜合考慮系統(tǒng)內(nèi)存的大小以及運算速度,,本系統(tǒng)選用Philips公司的32位單片機LPC2148,。該芯片具有32 KB的RAM,而時鐘頻率高達(dá)60 MHz,,所以,,對于浮點運算,不論是在速度上,,還是在內(nèi)存上都能夠很快的處理,。在信號采樣方式上,由于本系統(tǒng)所選用的32位MCU芯片LPC2148是60 MHz的單指令周期處理器,,定時精度為16.7 ns,,可以實現(xiàn)40.96 kHz的采樣率,而且控制方便,成本便宜,,所以,,本設(shè)計由MCU進(jìn)行直接采樣,而不采用DDS芯片配合FIFO對信號進(jìn)行采集,。
2 系統(tǒng)設(shè)計
2.1 總體設(shè)計
在系統(tǒng)總體設(shè)計中,音頻信號的采樣過程非常關(guān)鍵,。當(dāng)音頻信號經(jīng)過一個由運放和電阻組成的匹配網(wǎng)絡(luò)進(jìn)行采樣時,,首先要由量程控制模塊對信號進(jìn)行處理,如果信號電壓在100 mV~5 V的范圍內(nèi)選擇直通,,也就是不對信號進(jìn)行衰減或者放大控制,,則可減少誤差。但是,,當(dāng)信號強度太小時,,12位的A/D轉(zhuǎn)換器在2.5 V參考電壓下的最小分辨率為1 mV左右,這時如果選擇直通,,其離散化處理的誤差將會非常大,。因此,當(dāng)采集到信號后,,若發(fā)現(xiàn)其強度太小,,如在20~250 mV之間,這時就應(yīng)該將其認(rèn)定為弱信號,,故應(yīng)對其經(jīng)過增益放大器放大之后再進(jìn)行A/D采樣,。
經(jīng)過12位A/D轉(zhuǎn)換器ADS7819轉(zhuǎn)換后的數(shù)字信號可由32位LPC2148進(jìn)行FFT變換和處理,以分析其頻譜特性和各個頻率點的功率值,,然后將這些值送到Atmega16進(jìn)行顯示控制,。信號由32位LPC2148分析后,可判斷其周期性,,可由Atme-gal6進(jìn)行測量,,然后在LCD顯示屏上顯示,其功能框圖如圖1所示,。
2.2 放大電路設(shè)計
當(dāng)信號輸入后,,首先要根據(jù)信號強弱進(jìn)行放大處理,圖2所示是其放大電路原理圖,。該放大電路通過R1和R2兩個電阻和一個高精度儀表運放AD620實現(xiàn)跟隨功能,,并在進(jìn)行阻抗匹配后。通過繼電器控制來決定是將信號直接送給AD轉(zhuǎn)換還是放大后再進(jìn)行AD轉(zhuǎn)換,。
由于需要對音頻信號的頻率及其功率進(jìn)行檢測,,并且要測量正弦信號的失真度,因此要求在對小信號進(jìn)行放大時,要盡可能少的引入信號的放大失真,。正弦信號的理論計算失真度為0,,對引入的信號失真非常靈敏,所以,,本設(shè)計選擇了低噪聲,、低失真的儀表放大器INA217,以將失真度控制在1 kHz頻率之內(nèi),。
2.3 AD轉(zhuǎn)換電路設(shè)計
本系統(tǒng)采用12位AD轉(zhuǎn)換器ADS7819來對信號進(jìn)行轉(zhuǎn)換,,并將轉(zhuǎn)換的數(shù)據(jù)送往32位控制器進(jìn)行處理,其轉(zhuǎn)換電路原理圖如圖3所示,。
3 軟件設(shè)計
由于系統(tǒng)主控芯片LPC2148的處理速度比較快,,所以,軟件設(shè)計采用C語言來進(jìn)行編程比較簡單快捷,,其軟件設(shè)計流程圖如圖4所示,。
4 結(jié)果分析
筆者對本系統(tǒng)的音頻信號進(jìn)行了測量,并得到了如表1所列的數(shù)據(jù),。由于實驗室能夠模仿的音頻信號只有正弦信號,,所以,實驗采用信號發(fā)生器來產(chǎn)生正弦信號,,然后對其進(jìn)行測量和誤差分析,,根據(jù)時域和頻域的測量結(jié)果可以發(fā)現(xiàn),其測量誤差在5%的范圍之內(nèi),,且沒有發(fā)現(xiàn)明顯失真,,基本可以滿足實驗的測量要求。
5 結(jié)束語
經(jīng)過實驗檢驗,,本系統(tǒng)架構(gòu)設(shè)計合理,,功能電路較好,系統(tǒng)性能優(yōu)良,、穩(wěn)定,,系統(tǒng)設(shè)計基本可以滿足音頻分析的基本要求,且誤差較小,。但是,,由于音頻信號有多個頻點,沒有一定的規(guī)律性,,因而導(dǎo)致測量過程中音頻信號波動較大,,這一點在應(yīng)用過程中,還要對系統(tǒng)進(jìn)行進(jìn)一步的改進(jìn)和完善,。