基于ARM7的微弱信號采集系統(tǒng)設(shè)計與實現(xiàn)
采集電路由差分放大器SSM2141、增益放大器LT1355、A/D芯片ADC12062和ARM處理器S3C4510B組成,如圖3所示。
差分放大器SSM2141將輸入的差分信號再次轉(zhuǎn)換成單端信號。高速運放LT1355將單端信號放大,使其值符合A/D芯片輸入電壓范圍。
ADC12062作為模數(shù)轉(zhuǎn)換芯片,具有12位采樣精度,其基準(zhǔn)電壓為4.096V。ADC12062采用CMOS工藝,具有低功耗的特點,功耗為75mW。 ADC有下降沿觸發(fā)中斷引腳,將此引腳與ARM的外部中斷引腳相連,ADC轉(zhuǎn)換完成以后,及時通知ARM讀取數(shù)據(jù)。
數(shù)據(jù)采集系統(tǒng)的軟件包括ARM初始化程序、中斷向量表和應(yīng)用程序。
3.1 初始化程序和中斷向量表
系統(tǒng)啟動時首先運行ARM內(nèi)部ROM的BOOTLOADER程序,通過這段程序,可以初始化硬件、建立內(nèi)存空間映射圖。BOOT LOADER程序基本流程圖如圖4所示。
1)存儲器初始化主要配置芯片內(nèi)外存儲器介質(zhì)映射和實現(xiàn)地址空間的特殊存儲器。配置如下。
本研究采用基于功率譜估計來實現(xiàn)數(shù)字相關(guān)算法,流程圖如圖5所示。
相關(guān)運算轉(zhuǎn)變?yōu)楣β首V計算,要對采集數(shù)據(jù)進行快速傅里葉變換(FFT)和快速傅里葉反變換(IFFT),其中FFT傅里葉算法是該程序模塊的重點,時間抽取(DIT)基2的FFT算法是較為合適的FFT算法。
圖6是FFT算法實現(xiàn)的基本框圖。在蝶形運算中,奇數(shù)序列和偶數(shù)序列分開計算,因此設(shè)計了偶數(shù)序列存儲單元和奇數(shù)序列存儲單元。
3. 3 AD數(shù)據(jù)采集軟件的實現(xiàn)
ADC12062作為模數(shù)轉(zhuǎn)換芯片,采用外部中斷向ARM芯片報告數(shù)據(jù)轉(zhuǎn)換完成,然后ARM讀取數(shù)據(jù)到數(shù)據(jù)存儲區(qū),當(dāng)數(shù)據(jù)存儲區(qū)滿后,上位機會啟動數(shù)據(jù)處理程序和上位機傳送數(shù)據(jù)程序。AD數(shù)據(jù)采集軟件的流程圖如圖7所示。
評論