吳愛丹
(浙江外國語學院理工學院,浙江杭州310023)
相位測量是科研和生產(chǎn)過程中測量的基礎(chǔ)環(huán)節(jié),如電能質(zhì)量檢測、相頻特性研究等領(lǐng)域中常會遇到需要測量兩個信號相位差的問題.隨著相位測量技術(shù)的廣泛應(yīng)用,對相位測量的精度要求也越來越高.對于信號的提取、檢測、處理,傳統(tǒng)的測量方法雖有很多,如轉(zhuǎn)換為電壓法、示波器測量法、和差法、阻抗法等,但都存在著測量方法繁瑣,精度不高等問題.隨著電子技術(shù)的不斷發(fā)展,數(shù)字式儀表因其高精度的測量分辨率、直觀化的特點而得到越來越廣泛的應(yīng)用.因此,本文設(shè)計了一款簡易數(shù)字相位計,依靠斯密特觸發(fā)器精確波形變換特性,結(jié)合STC5410單片機高速、抗干擾能力強等功能,很好地實現(xiàn)了兩個信號相位差的測量.
基于斯密特觸發(fā)器的簡易數(shù)字相位計由前級波形變換模塊、中級信號轉(zhuǎn)換模塊與末級信號處理模塊組成,其系統(tǒng)框圖如圖1所示.將信號1和信號2的相位差經(jīng)過波形變換成方波,再將兩路方波信號轉(zhuǎn)換成一路脈寬信號,利用信號處理模塊計算得出相位差.
圖1 簡易數(shù)字相位計系統(tǒng)框圖
前級波形變換主要是要將脈沖信號轉(zhuǎn)換為方波信號,實現(xiàn)方法有以下兩種:
方案一 模擬整形,使用比較器對波形進行過零比較,整形成相應(yīng)的方波,好處在于速度比較快,易于實現(xiàn),缺點是穩(wěn)定性差,易受干擾.同時在比較器選用時還應(yīng)考慮使用運放還是集成比較器實現(xiàn),運放具有較高的靈敏度,但帶寬不高,難以符合條件,集成比較器靈敏度低,難于滿足需求.
方案二 數(shù)字整形,利用施密特觸發(fā)器狀態(tài)轉(zhuǎn)換過程中的正負反饋,可以把邊沿變化緩慢的周期性信號變換為很陡的矩形脈沖信號[1].輸入信號是正弦信號,輸出端可以得到同頻率的方波信號,帶寬高,精確度高且穩(wěn)定.
基于以上方案的比較,本設(shè)計選擇方案二.采用CD40106芯片實現(xiàn)脈沖信號到方波信號的轉(zhuǎn)換,CD40106內(nèi)部包含6個獨立的斯密特觸發(fā)器,本設(shè)計中用到其中兩個斯密特觸發(fā)器完成對兩路輸入信號的波形轉(zhuǎn)換與校正.前級波形變換模塊如圖2所示.斯密特觸發(fā)器又稱斯密特與非門,是具有滯后特性的數(shù)字傳輸門.它有兩大特點:(1)電路具有兩個閾值電壓,分別稱為正向閾值電壓和負向閾值電壓;(2)與雙穩(wěn)態(tài)觸發(fā)器和單穩(wěn)態(tài)觸發(fā)器不同,施密特觸發(fā)器屬于“電平觸發(fā)”型電路,不依賴于邊沿陡峭的脈沖.斯密特觸發(fā)器具有電壓滯后特性,常用它對脈沖波形整形,使波形的上升沿或下降沿變得陡直;還可以用它作電壓幅度鑒別[2].因此,斯密特觸發(fā)器能很好地實現(xiàn)了波形的精確轉(zhuǎn)換,同時保證了觸發(fā)轉(zhuǎn)換后信號具有良好的幅值特性,為下一步測量打下基礎(chǔ).相對于使用比較器實現(xiàn)波形變換的模擬電路而言,運用施密特觸發(fā)器的數(shù)字電路,不但精度高,干擾小,無需信號校正,而且對信號頻率的限制極小,大大提高了可變換信號的頻率上限,進一步提高了信號的測量范圍.
圖2 前級波形變換原理圖
中級信號轉(zhuǎn)換模塊采用74LS74雙穩(wěn)態(tài)觸發(fā)器,將兩路方波信號轉(zhuǎn)換成一路脈寬信號,而脈寬的寬度為信號的相差[3].由于末級采用了5410小型單片機,沒有DSP的強大存儲運算功能,對于輸入的兩路方波信號,不能直接精確測量出兩信號間的相位差,故需將兩路信號轉(zhuǎn)換成一路脈寬信號后進行測量.74LS74雙穩(wěn)態(tài)觸發(fā)器是雙上升沿D觸發(fā)器,原理圖如圖3所示,具體接法如下:由74LS74的CLK1和的CLK2分別輸入兩路時鐘信號,D1、D2觸發(fā)信號接高電端(低電平有效),4腳和10腳的位信號(低電平有效),將1腳的RD端與8腳的相連;5腳Q1端與鐘信號CLK1端有個上升沿到來時,Q1端輸出高電平,同時反饋到13腳的RD端,為高電平,RD端沒有動作.當時鐘信號CLK2的上升沿到來時變成低電平,反饋到Q1端的信號變成低電平,只需測出5腳脈沖寬度就能測出信號的相位差,從而提高了測量精度.
末級信號處理模塊實現(xiàn)相位差值的計算輸出與顯示.
圖3 中級信號轉(zhuǎn)換模塊原理圖
方案一 單片機處理,因其編程開發(fā)簡單,技術(shù)成熟,開發(fā)環(huán)境完備,占用資源少,價格低廉,程序執(zhí)行效率高,具有高速數(shù)學運算能力,友好的人機接口界面,良好的應(yīng)用性與拓展性,所以在信號處理領(lǐng)域得到了廣泛應(yīng)用.
方案二 DSP處理,與單片機相比,DSP數(shù)字信號處理器件具有較高的集成度,能夠快速完成數(shù)學運算,但它的開發(fā)較復(fù)雜,成本高,適用于復(fù)雜數(shù)字信號的處理.
方案三 FPGA處理,使用VHDL編程,開發(fā)起來較簡單,但它的功耗大,人機接口界面較難實現(xiàn),同時諸如乘除法運算比較麻煩.
基于以上三種方案的比較,單片機開發(fā)相對最容易,運行速度快,人機接口界面,易于實現(xiàn),因此選擇單片機來實現(xiàn)后級的信號處理任務(wù).
采用STC5410單片機系統(tǒng)進行檢測和相位差值的輸出與顯示.STC系列單片機相對于51系列單片機具有速率高,功耗低,擴張性能好等特點.測量方法有兩種,方法一測量原理為,單片機輸入一個方波信號,測出它的占空比,算出信號平均值.占空比的測量,只需測出一個周期內(nèi)方波的高電平時間和信號周期時間即可.一個周期為360°,高電平時間所占整個周期時間的比例為兩者間角度之比.利用單片機的PCA模塊1的外部中斷進行測量.首先在PCA模塊1初始化時將它設(shè)置為上升沿觸發(fā)模式,然后在PCA模塊中斷每次來時都對它的觸發(fā)模式進行相反設(shè)置,并設(shè)置一個標志位來記錄每次所設(shè)置的觸發(fā)模式,在PCA中斷程序中判斷,當中斷是由上升沿觸發(fā)時打開PCA模塊0定時器開始計時,當中斷是由下降沿觸發(fā)時關(guān)閉PCA模塊0定時器并取出該定時器里的值,而這個值就是相位差.部分代碼如下:
PCA_ IN IT: ;PCA模塊初始化
MOV CMOD,#10000000B;PCAz在空閑模式下停止PCA計數(shù)器工作,PCA時鐘源為FOSC/2
MOV CCON,#00H;清零PCA計數(shù)器溢出中斷請求標志位,不允許PCA計數(shù)器計數(shù),清零PCA各模塊中斷請求標志位
MOV CL,#00H;清零PCA計數(shù)器
MOV CH,#00H
MOV CCAPM1,#00100001B;PCA模塊1設(shè)置為上升沿觸發(fā)捕捉功能
MOV CCAPM0,#49H;PCA模塊0設(shè)置為定時器模式
MOV CCAP0L,#0FFH;PCA模塊0捕捉/比較寄存器設(shè)置為最大值
MOV CCAP0H,#0FFH
SETB EPCA_LVD;開PCA中斷和LVD(低壓檢測)中斷共享的總中斷控制位
SETB EA;開啟單片機總中斷允許
RET
;**********************************
PCA_ INTP:;PCA中斷程序,脈沖正頻寬測量
CPL PW_FLAG;將PW標志位取反,為1表示中斷由上升沿觸發(fā),為0表示中斷由下降沿觸發(fā)
PUSH ACC;壓棧處理
PUSH PSW
JNB PW_FLAG,PCA_ INTP1;判斷標志位PW_FLAG,若為0,表示中斷是由下降沿觸發(fā)模式所觸發(fā),跳轉(zhuǎn)到PCA_ INTP1
……
RETI
;**********************************
方法二則需先求出信號頻率,再用GATE門控位來測量.頻率測量時開兩個定時器,一個用于定時,一個用于計數(shù),定時器在單位時間內(nèi)取計數(shù)器的值.采用GATE門控位測量,提供對定時器啟動采用不同方式的控制位.當GATE=1時,定時器的運行將同時受到TR位和T引腳電平的控制[4]74.定時器T0和T1為高電平,且控制寄存器TCON中的TR0和TR1置1,兩個條件同時滿足,才能啟動定時了提高測量頻率,本STC5410單片機采用24M外接晶振,基準時鐘寬度為0.5μs.經(jīng)過測量的兩同頻率信號,頻率為f(Hz),周期為T,兩路信號過零點的時間差為Tx.用周期法測得一個周期內(nèi)方波個數(shù)N,即可算出相位差Φx,如下式所示.
比較以上兩種測量方法,方法一的測量頻率范圍小,但對低頻信號有很高的測量精度,且程序較為簡單;方法二的測量頻率范圍大,但程序較為復(fù)雜.根據(jù)相位計的實際應(yīng)用領(lǐng)域,選擇一種合適的測量程序.
基于斯密特觸發(fā)器的簡易數(shù)字相位計系統(tǒng)的實際測試結(jié)果如表1所示.
由表可知,測量頻率在5~1KHz時誤差小于±0.2°,1K~5KHz時誤差小于±0.5°,5K~20KHz時誤差小于±1°,基本適用于一般信號的相位差測量.
本設(shè)計的相位差測量過程中誤差主要由單片機計數(shù)器計數(shù)個數(shù)、標準頻率誤差、信號傳輸與轉(zhuǎn)換過程中產(chǎn)生誤差等.若在系統(tǒng)前級加入分頻電路,采用更高頻率單片機晶振,可以進一步提高信號測量精度和范圍.
表1 基于斯密特觸發(fā)器的簡易數(shù)字相位計系統(tǒng)測試數(shù)據(jù)
[1] 余孟嘗.數(shù)字電子技術(shù)基礎(chǔ)簡明教程[M].北京:高等教育出版社,2006:400.
[2] 胡慶,林光旭.數(shù)字電路基礎(chǔ)[M].成都:電子科技大學出版社,2009:211-214.
[3] 王文習.脈沖與數(shù)字電路[M].北京:中國鐵道出版社,1999:181-182.
[4] 蔡菲娜.單片微型計算機原理和應(yīng)用[M].杭州:浙江大學出版社.2009:73-80.