數(shù)字移相技術(shù)的分析和實現(xiàn)
要實現(xiàn)移相,通常有兩個途徑:
本文引用地址:http://m.butianyuan.cn/article/3001.htm一是直接對模擬信號進(jìn)行移相,如阻容移相,變壓器移相等,早期的移相通常采用這種方式。采用這種方式制造的移相器有許多不足之處,如:輸出波形受輸入波形的影響,移相操作不方便,移相角度隨所接負(fù)載和時間等因素的影響而產(chǎn)生漂移等.在此不予討論.另一個是隨電子技術(shù)的發(fā)展,特別是單片機技術(shù)的發(fā)展而興起的數(shù)字移相技術(shù),是目前移相技術(shù)的潮流。數(shù)字移相技術(shù)的核心是:先將模擬信號或移相角數(shù)字化,經(jīng)移相后再還原成模擬信號。
數(shù)字移相主要有兩種形式:
一種是先將正弦波信號數(shù)字化成,并形一張數(shù)據(jù)表存入ROM芯片中,此后可通過兩片D/A轉(zhuǎn)換芯片在單片機的控制下連續(xù)地循環(huán)輸出該數(shù)據(jù)表,就可獲得兩路正弦波信號,當(dāng)兩片D/A轉(zhuǎn)換芯片所獲得的數(shù)據(jù)序列完全相同時,則轉(zhuǎn)換所得到的兩路正弦波信號無相位差,稱為同相。當(dāng)兩片D/A轉(zhuǎn)換芯片所獲得的數(shù)據(jù)序列不同時,則轉(zhuǎn)換所得到的兩路正弦波信號就存在著相位差。相位差的值與數(shù)據(jù)表中數(shù)據(jù)的總個數(shù)及數(shù)據(jù)地址的偏移量有關(guān)。這種處理方式的實質(zhì)是將數(shù)據(jù)地址的偏移量映射為信號間的相位值。
另一種是先將參考信號整形為方波信號,并以此信號為基準(zhǔn),延時產(chǎn)生另一個同頻的方波信號,再通過波形變換電路將方波信號還原成正弦波信號。以延時的長短來決定兩信號間的相位值。這種處理方式的實質(zhì)是將延時的時間映射為信號間的相位值。
圖1給出了一個設(shè)計實例。單片機為8031,D/A轉(zhuǎn)換芯片采用兩片8位字長的DAC0832,由于DAC0832的輸出信號為電流型,故需加運算放大器將電流型信號轉(zhuǎn)換成電壓型信號。該設(shè)計中運算放大器采用雙極型雙運放4558。轉(zhuǎn)換所用的數(shù)據(jù)為256個8位字長的數(shù)據(jù),隨程序一起存入ROM存儲器中,即一個信號周期有256個轉(zhuǎn)換值。
在進(jìn)行D/A轉(zhuǎn)換的程序中,數(shù)據(jù)表中數(shù)據(jù)共有256個,每兩個相鄰數(shù)據(jù)之間的相位差為360o÷256=1.4o。我們只需改變R1中的值就可改變兩路正弦波的相位差。程序中R1=8,故第一路正弦波滯后第二路正弦波1.4o×8=11.2o。
利用單片機進(jìn)行方波信號的移相則是數(shù)字移相的另一個途經(jīng),已有多種成功之作,有些偏重硬件,有些偏重軟件??傮w說來,偏重硬件的精度較高,但制造及調(diào)試較復(fù)雜;偏重軟件,的結(jié)構(gòu)簡單,成本較低,但往往精度受影響。本文介紹一種己獲得較為理想效果的設(shè)計。設(shè)計的原理框圖如圖2所示。
工作原理:作為參考信號的A,經(jīng)整形后得到方波信號a,再利用鎖相技術(shù)對a作3600倍頻,并將此倍頻信號作為單片機中CTC的計數(shù)脈沖,以此來產(chǎn)生相移和測量移相的實際值。由于計數(shù)脈沖是通過鎖相環(huán)產(chǎn)生的,在鎖相環(huán)允許的頻率范圍內(nèi),計數(shù)脈沖始終是a信號的3600倍,因此,可以看成是將a信號的一個信號周期分為了3600份,且允許a的頻率可在一個小的范圍內(nèi)波動。若一個信號周期為360o,那么在一個信號周期內(nèi)每個計數(shù)脈沖即代表0.1o。我們只需以a信號為參考,延時若干個計數(shù)脈沖的時間來產(chǎn)生c信號即可做到移相,改變延時計數(shù)脈沖的個數(shù)即可改變移相值,亦可記錄兩個信號的上沿(或下沿)間的脈沖個數(shù)來獲得兩信號的相位差。正是由于鎖相環(huán)的存在,才使得移相信號B與參考信號A的頻率完全相同。比起由軟件測得A信號的周期后再來產(chǎn)生B信號的方式來,其精度要高得多。鎖相環(huán)倍頻的頻率愈高則移相的最小單位愈小,若作7200倍頻,那么在一個信號周期內(nèi)每個計數(shù)脈沖即代表0.05o。
圖3是以上述方式進(jìn)行移相的時序圖,設(shè)計數(shù)脈沖的頻率是a信號的360o倍,那么從a信號的上沿開始經(jīng)N個計數(shù)脈沖后產(chǎn)生c信號的上沿,則有a信號超前c信號 N×0.1o。但我們需要的是A信號與B信號之間的移相。A信號與a信號的相位是相同的,但c信號與B信號的相位,由于波形轉(zhuǎn)換電路的存在而不相同,其相位差視波形轉(zhuǎn)換電路的參數(shù)而定。故A信號與B信號之間的實際移相值無法由N×0.1o來計算。要獲得A信號與B信號之間的實際移相值,可將B信號整形成b信號(兩信號相位相同)后反饋給單片機,由單片機測量出a信號與b信號之間的計數(shù)脈沖個數(shù)n即可,實際移相值為n×0.10。改變N的值即可改變移相值。
要實現(xiàn)上述設(shè)計,除需要用鎖相環(huán)產(chǎn)生計數(shù)脈沖外,還需要三個16位的計數(shù)器,分別用來計N,n及180o的值。筆者將8032中的計數(shù)器作如下分配:T0計N的值、T1計n的值、T2計180o的值。T0、T1及T2的啟停全部由中斷服務(wù)程序控制。接線如圖2所示。具體是:
① a信號的上沿產(chǎn)生INT0中斷,其中斷服務(wù)程序分別將-N及0賦給TH0TL0和TH1TL1;然后使T0、T1開始計數(shù)。
② T0歸零,其中斷服務(wù)程序關(guān)閉T0;置P3.0;-1800賦TH2TL2;使T2開始計數(shù)。
③ T2歸零,其中斷服務(wù)程序清P3.0;關(guān)閉T2。
④ b信號的上沿產(chǎn)生INT0中斷,其中斷服務(wù)程序關(guān)閉T1;讀取TH1TL1的計數(shù)值n。
通過以上介紹,我們可以看出:以D/A轉(zhuǎn)換方式實現(xiàn)的移相,雖然所用元件少,但輸出信號的頻率難以細(xì)調(diào),特別是移相的最小單位太大(1.4o/步)。在50Hz頻率下,要達(dá)到0.1o/步移相細(xì)度難以辦到。因此,該方式只適合于對頻率要求不高,且移相角度固定的場合。
以延時輸出方波的方式實現(xiàn)的移相,其硬件電路比較復(fù)雜(鎖相及波形變換電路)。輸出信號的頻率以參考信號的頻率為準(zhǔn),而參考信號的頻率則可以精確給定。移相的最小單位可小于0.1o/步,這就為無級移相提供了基礎(chǔ)。因此,該方式可用于對頻率要求高,且需360o無級移相的場合?!?/font>
參考資料
1王秉時.移相技術(shù)的發(fā)展與移相器產(chǎn)品的進(jìn)步.電測與儀表,1998(3)
2 沈德金.陳粵初. MCS-51系列單片機接口電路與應(yīng)用程序?qū)嵗?北京航空航天大學(xué)出版杜
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論