??? 摘 要: 介紹了一款基于單片機(jī)的倍頻電路。該電路能夠?qū)崿F(xiàn)對(duì)準(zhǔn)周期信號(hào)的整周期同步采樣" title="同步采樣">同步采樣,,具有倍頻精度高,、跟蹤速度快,、能對(duì)準(zhǔn)周期信號(hào)進(jìn)行預(yù)測(cè)和補(bǔ)償?shù)忍攸c(diǎn);同時(shí)介紹了一種周期預(yù)測(cè)的方法和原理以及基于PC總線實(shí)現(xiàn)準(zhǔn)周期信號(hào)的同步數(shù)據(jù)采集系統(tǒng)" title="數(shù)據(jù)采集系統(tǒng)">數(shù)據(jù)采集系統(tǒng),。
??? 關(guān)鍵詞: 準(zhǔn)周期信號(hào)? 整周期采樣? 單片機(jī)? 預(yù)測(cè)
?
??? 數(shù)據(jù)采集及其傅立葉分析是信號(hào)處理的重要環(huán)節(jié)和基本手段,。眾所周知,利用FFT技術(shù)對(duì)信號(hào)進(jìn)行頻譜分析時(shí),,其精度受譜泄漏和柵欄效應(yīng)等因素的制約,。理論研究和實(shí)驗(yàn)均表明:對(duì)周期或準(zhǔn)周期信號(hào)實(shí)行按基頻整周期同步采集2n個(gè)數(shù)據(jù),即整周期基2同步采樣,,可以減小傅立葉分析中的固有誤差——譜泄漏和柵欄效應(yīng)[1],。
??? 對(duì)周期信號(hào),通??刹捎糜涉i相環(huán)和分頻器組成的鎖相倍頻電路[2],,實(shí)現(xiàn)對(duì)信號(hào)的整周期基2同步采樣。但對(duì)周期緩慢變化的準(zhǔn)周期信號(hào),,要實(shí)現(xiàn)整周期基2同步采樣,則非易事,。本文提出一款基于單片機(jī)周期預(yù)測(cè)和補(bǔ)償,,從而實(shí)現(xiàn)對(duì)準(zhǔn)周期信號(hào)整周期基2同步采樣的倍頻電路。該電路倍頻精度高,、跟蹤速度快,,能對(duì)準(zhǔn)周期信號(hào)進(jìn)行預(yù)測(cè)和補(bǔ)償,在信號(hào)處理和數(shù)據(jù)采集領(lǐng)域有較好的應(yīng)用前景,。最后給出了基于PC總線實(shí)現(xiàn)同步采樣的數(shù)據(jù)采集系統(tǒng),。
1 準(zhǔn)周期信號(hào)基2倍頻電路的實(shí)現(xiàn)
1.1 準(zhǔn)周期信號(hào)基2倍頻原理
??? 設(shè)待采集的準(zhǔn)周期信號(hào)的頻率為fX,周期TX,。為了實(shí)現(xiàn)對(duì)輸入信號(hào)" title="輸入信號(hào)">輸入信號(hào)的整周期同步采樣,,要求對(duì)輸入信號(hào)N倍頻,即產(chǎn)生一個(gè)頻率為NfX的A/D" title="A/D">A/D采樣脈沖,。又設(shè)某基準(zhǔn)時(shí)鐘脈沖信號(hào)的頻率為f0(f0>>fX),,周期為T0,對(duì)f0進(jìn)行M分頻后,,使其恰好等于輸入待采集周期信號(hào)頻率fX的N倍,,即:
???
??? 式(3)中n=4, 5,…,8,。顯然,,當(dāng)n的位數(shù)確定后,改變M,,使M隨Tx的變化而變化,,就能保證整周期基2同步采樣,。
1.2? 準(zhǔn)周期信號(hào)基2倍頻電路的硬件實(shí)現(xiàn)
??? 為了保證對(duì)準(zhǔn)周期信號(hào)基2整周期同步采樣有較高的精度,筆者提出一款基于雙單片機(jī)的基2倍頻電路如圖1所示,。它由過零比較器,、二分頻器、單片機(jī)和或門組成,,其中單片機(jī)選用AT89C2051,,外部晶振頻率為12MHz,內(nèi)部計(jì)數(shù)頻率f0為1MHz,,輸入信號(hào)fX經(jīng)整形和二分頻后直接與兩單片機(jī)的外中斷相連,。圖1中A、B,、C,、D、E,、F,、G各點(diǎn)波形如圖2所示。
?
?
??? 其工作原理是:在信號(hào)的奇周期TX1期間,,單片機(jī)(1)定時(shí)器T0由輸入信號(hào)TX1的上升沿啟動(dòng),,并對(duì)TX1填脈沖計(jì)數(shù), TX1的下降沿關(guān)閉定時(shí)器T0,;借助單片機(jī)的運(yùn)算功能,,確定M值,并利用定時(shí)器T1產(chǎn)生頻率為NfX的輸出脈沖信號(hào),。定時(shí)器T0設(shè)為內(nèi)部計(jì)數(shù)形式,,工作方式" title="工作方式">工作方式1(16位計(jì)數(shù),初值為0),,GATE位為1,,利用外部中斷引腳上的電平TX1,直接啟動(dòng)和關(guān)閉計(jì)數(shù)器,。其計(jì)數(shù)結(jié)果是16位二進(jìn)制數(shù)HL,,其中高位為H,低位為L(zhǎng)值,。
??? 當(dāng)輸入信號(hào)頻率較低時(shí),,計(jì)數(shù)器T0會(huì)溢出觸發(fā)中斷,在中斷服務(wù)程序中使用單片機(jī)內(nèi)部寄存器(R4)記錄中斷次數(shù),,以擴(kuò)展計(jì)數(shù)范圍,。利用外部中斷引腳上TX1電平的下降沿產(chǎn)生中斷,讀取T0的計(jì)數(shù)值HL和R4的值,。通常(3)式中的n可根據(jù)輸入信號(hào)的頻率,,智能地選取4到8位的二進(jìn)制數(shù),,(2)式中的M值由下式給出:
??? ?
??? 顯然M為16位二進(jìn)制數(shù),因此設(shè)置定時(shí)器T1為內(nèi)部計(jì)數(shù)方式,,GATE位為1,。當(dāng)輸入信號(hào)頻率較高時(shí),選工作方式2(8位,,初值自動(dòng)重裝載),;當(dāng)輸入信號(hào)頻率較低時(shí),選工作方式1(16位),。定時(shí)器T1的初值取決于上一奇周期期間測(cè)得的M值,,當(dāng)計(jì)數(shù)溢出中斷時(shí),在中斷服務(wù)程序中使P1.0輸出電平翻轉(zhuǎn),,即獲得fX的N倍頻的方波信號(hào),。
??? 同理,可實(shí)現(xiàn)單片機(jī)(2)在偶周期TX2期間,,輸出N倍頻的方波信號(hào),。可見當(dāng)輸入單片機(jī)的外部信號(hào)fX每產(chǎn)生一個(gè)周期脈沖,,在其輸出端就會(huì)有N個(gè)輸出脈沖,,用輸出脈沖去觸發(fā)A/D板卡采樣,即實(shí)現(xiàn)了N倍頻的整周期采樣,。
1.3? 準(zhǔn)周期信號(hào)的周期預(yù)測(cè)
??? 上述方法實(shí)現(xiàn)整周期采樣時(shí),是把這一周的周期值作為下一周的周期來計(jì)算采樣脈沖輸出頻率的,。對(duì)周期性信號(hào),,周期固定不會(huì)影響結(jié)果;但對(duì)準(zhǔn)周期信號(hào),,周期是漸變的,,會(huì)帶來較大的誤差。為了減少或補(bǔ)償這種誤差,,本設(shè)計(jì)借助單片機(jī)的運(yùn)算和數(shù)據(jù)處理功能,,分別對(duì)下一周期進(jìn)行周期預(yù)測(cè)。即利用前m個(gè)周期的T值,,對(duì)下一個(gè)周期作出預(yù)測(cè),,再以預(yù)測(cè)的M來設(shè)置定時(shí)器T1的初值。用拉格朗日線性插值法可預(yù)測(cè)周期[3],,如圖3所示,。提取最近兩周的周期值,推算下一周的周期值,。
?
??? 圖3中Tj為第j周終了時(shí)刻測(cè)得的周期值,,Tj-1為第j-1周終了時(shí)刻測(cè)得的周期值,,Tj+1為要預(yù)估的下一周終了時(shí)刻的周期值,則可得預(yù)估公式:
???
2? 基于PC總線控制的數(shù)據(jù)采集系統(tǒng)
??? 基于PC總線的同步采樣系統(tǒng)框圖見圖4,,它主要由地址譯碼器,、單片機(jī)倍頻電路、A/D轉(zhuǎn)換器組成,。各模塊功能如下:
地址譯碼: PC機(jī)中用戶可使用0300H~031FH地址,,采用與非門74LS133對(duì)PC總線的地址信號(hào)A0~A9譯碼,端口地址為030EH和030FH,。
?
??? 單片機(jī)倍頻電路:產(chǎn)生同步信號(hào)進(jìn)行同步采樣,,保證信號(hào)截?cái)嚅L(zhǎng)度正好是信號(hào)周期的整數(shù)倍。
??? A/D轉(zhuǎn)換器:采用AD678芯片實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,。AD678是帶采樣保持器的12位A/D轉(zhuǎn)換器,,其精度為2-12=1/4096=0.024%,轉(zhuǎn)換時(shí)間為5μs,,其工作速率滿足采樣頻率的要求,。
3 性能及誤差分析
??? (1)輸入信號(hào)上下限頻率fxH和fxL的確定
??? 當(dāng)輸入信號(hào)頻率較高時(shí),(3)式中的n取4位二進(jìn)制,,考慮到單片機(jī)的中斷響應(yīng)時(shí)間需要3~8個(gè)T0,,因此由(2)式可求得:
???
??? 式(7)中的TP為單片機(jī)周期預(yù)測(cè)所需的時(shí)間,設(shè)約為72μs,。
??? 當(dāng)輸入信號(hào)頻率較低時(shí),,(3)式中的n取8位二進(jìn)制,(4)式中的M可取16位二進(jìn)制的最大值,,因此由(2)式可求得:
???
??? (2)誤差分析
??? 根據(jù)(5)式估算的周期值,,如果準(zhǔn)周期信號(hào)的周期變化是均勻的,即遵從勻變速規(guī)律,,由此引入的誤差為0;如果周期變化是非均勻的,,則仍會(huì)帶來一定誤差。在許多實(shí)際應(yīng)用場(chǎng)合(如旋轉(zhuǎn)機(jī)械的起停過程)周期主要是勻變速或接近勻變速,,而少許的偏離經(jīng)(5)式的修正后影響很小,。其它的計(jì)數(shù)誤差和單片機(jī)中斷引起的誤差,可看作系統(tǒng)誤差,,由單片機(jī)修正,。
??? 本文介紹的準(zhǔn)周期信號(hào)同步數(shù)據(jù)采集系統(tǒng),借助單片機(jī)的周期預(yù)測(cè)功能,,對(duì)準(zhǔn)周期信號(hào)智能倍頻,,從而實(shí)現(xiàn)整周期基2同步采樣,進(jìn)而大大消除頻譜分析中的泄漏誤差和柵欄效應(yīng),,在機(jī)械故障診斷,、信號(hào)測(cè)試等相關(guān)領(lǐng)域具有很強(qiáng)的實(shí)用性,。
參考文獻(xiàn)
1 牛玉廣,侯維寧.多通道信號(hào)的同相位整周期采樣[J].數(shù)據(jù)采集與處理,;1997;12(2)
2 吳炳超,劉會(huì)金,王茂海.基于PC總線控制的帶鎖相環(huán)的多路數(shù)據(jù)采集卡的設(shè)計(jì)[J].電測(cè)與儀表,,2002;39(5)
3 胡勁松,吳昭同,嚴(yán)洪標(biāo).提高旋轉(zhuǎn)機(jī)械振動(dòng)信號(hào)整周期采樣精度的一種方法[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2002;36(3)
4 余水寶.智能數(shù)字鎖相倍頻技術(shù)研究[J].浙江師范大學(xué)學(xué)報(bào),,2003;26(1)