摘? 要:傳統(tǒng)的相位檢測主要依靠模擬電路實現(xiàn),響應(yīng)速度很快,但精度不高。為了解決相位檢測器因?qū)Νh(huán)境較為敏感而影響其檢測精度的問題,提出一種基于FPGA的相位檢測系統(tǒng)。該系統(tǒng)由模擬電路和主控芯片F(xiàn)PGA組成,將模擬電路響應(yīng)速度快、數(shù)字電路測量精度高的優(yōu)點充分結(jié)合;將兩路被測信號通入濾波器濾除干擾,然后通過過零比較電路將信號轉(zhuǎn)換成方波,最后將方波輸入FPGA中,使用高頻脈沖進(jìn)行插補計數(shù),實現(xiàn)對信號相位的精確檢測。
關(guān)鍵詞:相位檢測;FPGA;高頻脈沖計數(shù)
中圖分類號:TN763.3? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A文章編號:2096-4706(2021)19-0060-04
Design of Phase Detection System Based on PFGA
LENG Congyang
(College of Mechanical Engineering, Chongqing University of Technology, Chongqing? 400054, China)
Abstract: The traditional phase detection mainly depends on the analog circuit, which has fast response speed, but low precision. In order to solve the problem that the phase detector is sensitive to the environment and affects its detection accuracy, a phase detection system based on FPGA is proposed. The system is composed of analog circuit and main control chip FPGA, which fully combines the advantages of fast response speed of analog circuit and high measurement accuracy of digital circuit; the two measured signals are passed into the filter to filter out the interference, and then the signal is converted into square wave through the zero-crossing comparison circuit. Finally, the square wave is input into FPGA, and the high-frequency pulse is used for interpolation and counting to realize the accurate detection of signal phase.
Keywords: phase detection; FPGA; high-frequency pulse counting
0? 引? 言
當(dāng)今世界,科學(xué)技術(shù)日新月異,相位檢測技術(shù)的重要性日益凸顯。隨著國家對國防建設(shè)需求的不斷提升,航空航天技術(shù)的不斷發(fā)展,對相位檢測技術(shù)的精度和抗干擾能力提出了更高的要求[1]。在傳統(tǒng)的相位檢測系統(tǒng)中,需要采用電容器和電阻器共同完成相位的檢測,很難達(dá)到較高的精度,對于不同頻率、不同類型的信號需要進(jìn)行相應(yīng)的調(diào)節(jié)才能實現(xiàn)相位檢測,不但增加了檢測者的工作量,而且不能滿足高精密制造對高精度相位檢測技術(shù)的需求[2]。董淑豪等提出一種結(jié)合運用DDS信號發(fā)生器和模擬電路的鑒相方法[3],將精度做到了0.000 1°,雖然精度很高,但是由于加入了DDS模塊,使檢測系統(tǒng)的制造成本大幅提高。本文提出一種基于現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)的數(shù)字相位檢測系統(tǒng),無須進(jìn)行器件調(diào)節(jié),就可以滿足多種頻率、多種類型信號的高精度檢測,不但滿足抗干擾要求,而且檢測精度大大提高。
1? 相位檢測系統(tǒng)
本相位檢測系統(tǒng)的工作原理是將有相位差的兩路信號一起通過濾波器消除干擾因素,然后通過LM211過零比較模塊將原信號變成兩路有相位差的方波,將方波送入FPGA中進(jìn)行異或運算,得到與相位差相對應(yīng)的高電平長度和周期,最后將高電平時間和周期進(jìn)行高頻信號的插補,得到輸入信號周期和相位差信號高電平長度的數(shù)字信息,通過串口將信息發(fā)送至上位機(jī)進(jìn)行相位差的顯示,實現(xiàn)兩路信號相位差的高精度數(shù)字測量。整個檢測系統(tǒng)的系統(tǒng)框圖如圖1所示。
2? 高效濾波器模塊
濾波電路可以消除輸入信號的諧波成分,提高電路的抗干擾能力[4],為提高相位檢測的準(zhǔn)確性提供保障。為了使輸入信號在高頻段能夠以較快的速率下降,從而提高濾波器的濾波效果,在一階濾波器的基礎(chǔ)上再增加一個RC低通濾波環(huán)節(jié),形成二階濾波電路。相較于一階濾波電路,二階濾波器的濾波效果更好,幅頻特性更優(yōu)。濾波器的具體電路如圖2所示。
3? 過零比較電路
通過過零比較器,可以將濾波器的輸出信號轉(zhuǎn)變?yōu)槟茉贔PGA中進(jìn)行運算的方波信號,交流信號分為零點以上的部分和零點以下的部分,通過電壓比較器,將交流信號與零位電壓相比較,大于零的部分置為高電平,低于零的部分置為低電平。本文選擇LM211電壓比較器,因為其響應(yīng)時間較短并且準(zhǔn)確度較高,能提高相位電壓比較的速度和精度,進(jìn)而提高相位檢測精度。較寬的輸入電壓范圍也讓相位檢測系統(tǒng)能夠適用于更加復(fù)雜的使用環(huán)境,提高抗干擾能力。具體的電路設(shè)計和示波器顯示輸出波形如圖3(a)、(b)所示。
4? FPGA程序設(shè)計和比相算法
4.1? 相位差信號獲取
將兩路有相位差的電信號轉(zhuǎn)換成對應(yīng)的方波信號后,如何通過高精度的計算將信號之間的相位數(shù)據(jù)計算出來成為相位檢測系統(tǒng)的關(guān)鍵。為了能將兩路信號的相位差用電信號表示出來,在FPGA運算中,首先對兩路信號進(jìn)行二分頻處理,將信號的周期擴(kuò)大為原來的兩倍,然后對周期擴(kuò)大的信號進(jìn)行異或處理,得到兩個方波的信號差P,并且隨著相位差的擴(kuò)大,P的高電平時間越來越長,信號仿真如圖4所示。
4.2? 高頻計數(shù)時鐘設(shè)計
得到相位差波形后,使用FPGA的高頻時鐘進(jìn)行計數(shù),讀出波形P的高電平時間就是方波信號a和方波信號b的相位差。為了得到更高精度的數(shù)據(jù),理論上通入的時鐘信號頻率越大,計數(shù)的數(shù)值就越大,從而檢測的精度也就越高。然而,由于FPGA受外部的晶振頻率限制,一般石英晶體能提供50 MHz的工作頻率,如果檢測信號為10 kHz的正弦信號,相位檢測的最大分辨率為:
(1)
在計數(shù)時鐘的計數(shù)頻率為50 MHz時,根據(jù)式(1)可以計算出相位檢測的最大分辨率為0.072°。
在我們的日常生活用品制造業(yè)中,這種檢測精度已經(jīng)能夠滿足使用要求,但是在國防軍工和航天航空等高精尖領(lǐng)域,這樣的精度還遠(yuǎn)遠(yuǎn)不夠。因此,結(jié)合FPGA的工作原理,利用FPGA中的鎖相環(huán)技術(shù)進(jìn)行倍頻操作,提高檢測精度[5,6]。鎖相環(huán)(Phase-Locked Loop, PLL)是一種反饋控制電路,通過讀取輸入信號的頻率和相位等參數(shù)信息,調(diào)節(jié)環(huán)路內(nèi)部信號對應(yīng)的參數(shù)。利用鎖相環(huán)能夠?qū)敵鲂盘柡洼斎胄盘柕念l率進(jìn)行主動跟蹤的特性,一般將鎖相環(huán)運用到閉環(huán)跟蹤電路中。在現(xiàn)代電子信息技術(shù)中,為了使電路具有更高的振蕩頻率,通常采用石英晶體作為開發(fā)板等電子設(shè)備的振蕩器,石英振蕩器的振蕩頻率雖然較高,但是不能對頻率進(jìn)行調(diào)節(jié),所以不能應(yīng)用于一些需要頻率發(fā)生變化的場景,利用鎖相環(huán)、分頻器、倍頻器等頻率合成技術(shù),可以得到更多更穩(wěn)定的振蕩信號。本文利用鎖相環(huán)進(jìn)行5倍頻生成250 MHz的高頻信號,并通過鎖相環(huán)的功能生成四路相位依次相差90°的不同相位時鐘信號,用Verilog語言編寫加法器,加法器將四路檢測到的信號相位相加,得到精確的信號周期信息和兩路信號的相位差信息。最后通過式(1)可以算出,通過改進(jìn)計數(shù)時鐘頻率的相位檢測系統(tǒng)在檢測信號的頻率為10 kHz時,其測量分辨率可以達(dá)到0.0036°。這在目前的高精尖制造中完全可以滿足要求。
4.3? 串口通信模塊設(shè)計
通過有效的方式快速準(zhǔn)確地將相位信息顯示出來也是關(guān)鍵。由于相位信息的數(shù)據(jù)量不大,并且對速度的要求不高,所以采用通用的串口通信技術(shù)[7,8],將相位信息發(fā)送至上位機(jī)進(jìn)行顯示。借助通用異步串行收發(fā)通信技術(shù)可以和多種標(biāo)準(zhǔn)串行數(shù)據(jù)總線相連接,因為這種通信方式的數(shù)據(jù)結(jié)構(gòu)非常簡單,而且還可以根據(jù)需求改變數(shù)據(jù)位,通信協(xié)議也較為簡潔,所以在工程中得到了廣泛的應(yīng)用。本文采用硬件編程語言Verilog[9],以狀態(tài)機(jī)的方式進(jìn)行頂層文件的設(shè)計,實現(xiàn)相位數(shù)據(jù)與上位機(jī)的通信連接。該數(shù)據(jù)發(fā)送模塊采用57 600的波特率進(jìn)行通信,應(yīng)用50 MHz的時鐘,需要對時鐘進(jìn)行55分頻。狀態(tài)轉(zhuǎn)換圖如圖5所示。
整個數(shù)據(jù)發(fā)送模塊又由五個狀態(tài)構(gòu)成,分別為空閑等待狀態(tài)(IDLE)、起始發(fā)送狀態(tài)(START)、移位等待狀態(tài)(WAIT)、移位狀態(tài)(SHIFT)和停止?fàn)顟B(tài)(STOP)。電路上電后進(jìn)入復(fù)位模式,狀態(tài)機(jī)進(jìn)入空閑等待狀態(tài)(IDLE),數(shù)據(jù)發(fā)送器等待發(fā)送使能信號Send-en的上升沿,當(dāng)上升沿來臨,發(fā)送器立即進(jìn)入起始發(fā)送狀態(tài),開始對數(shù)據(jù)的起始位(即邏輯零)進(jìn)行發(fā)送,同時進(jìn)入等待的狀態(tài)。滿足發(fā)送條件時就對數(shù)據(jù)進(jìn)行依次移位發(fā)送,對于任意的單個數(shù)據(jù)發(fā)送完成后立即回到等待狀態(tài),當(dāng)一幀數(shù)據(jù)發(fā)送完成后進(jìn)入停止?fàn)顟B(tài),等待下一次的發(fā)送命令。
5? 仿真模型和實驗平臺的搭建
在可編程片上系統(tǒng)(System on a Programmable Chip, SoPC)設(shè)計平臺Quartus上進(jìn)行仿真驗證和實驗程序編寫。使用Verilog硬件編程語言分別編寫輸入信號穩(wěn)定模塊、方波分頻模塊、兩個信號異或模塊、計數(shù)時鐘倍頻模塊和串口通信模塊。其中,計數(shù)時鐘倍頻模塊通過鎖相環(huán)產(chǎn)生四路一次相差90°的五倍頻信號,通過加法器功能將四路信號相加后,再利用串口通信模塊將其發(fā)送至上位機(jī)進(jìn)行相位信息的顯示。Verilog程序設(shè)計總框圖如圖6所示。其中,PLL為時鐘倍頻模塊,Count為將四路檢測信號相加的加法器模塊,Uart為串口通信模塊。所搭建的實驗測試平臺如圖7所示。
將有相位差的兩路信號通入相位檢測系統(tǒng)中,當(dāng)采用FPGA晶振的原始計數(shù)頻率(50 MHz)作為計數(shù)時鐘時,實際測量精度數(shù)據(jù)如表1所示。
由表1可以看出數(shù)據(jù)的精度不高,計數(shù)脈沖頻率較低,造成周期數(shù)據(jù)太少,影響檢測精度。表2是采用鎖相環(huán)倍頻技術(shù)以及將四路檢測信號通過Verilog硬件編程語言編寫的加法器相加得到的相當(dāng)于1 GHz計數(shù)時鐘的相位檢測數(shù)據(jù)。
由表2可以看出,相較于50 MHz的計數(shù)脈沖,通過高頻計數(shù)處理的計數(shù)脈沖能將周期分成更多的數(shù)據(jù)點,得到更大的數(shù)據(jù)量,從而實現(xiàn)更高精度的測量。
6? 結(jié)? 論
這種基于FPGA的相位檢測系統(tǒng)可用于對多種頻率的信號進(jìn)行相位檢測,并且減少了模擬電路的使用,大大提高了整個系統(tǒng)的抗干擾能力,其中大部分的模塊都是通過Verilog語言編程實現(xiàn),方便后期的改進(jìn)和調(diào)節(jié)。通過實驗的數(shù)據(jù)可以得出,采用的計數(shù)脈沖頻率越大,整個系統(tǒng)的穩(wěn)定性越高,當(dāng)輸入信號為10 kHz時,其最大分辨率能達(dá)到0.003 6°,相位檢測較為準(zhǔn)確。
參考文獻(xiàn):
[1] 馮健朋,趙小勇.航空發(fā)動機(jī)振動不平衡相位檢測方法研究 [J].燃?xì)鉁u輪試驗與研究,2018,31(3):38-42.
[2] 劉小康,彭凱,王先全,等.納米時柵位移傳感器的理論模型與誤差分析 [J].儀器儀表學(xué)報,2014,35(5):1136-1142.
[3] 董淑豪,吳東岷.基于FPGA的高精度鑒相器實現(xiàn) [J].電子技術(shù)應(yīng)用,2020,46(10):57-60+78.
[4] 康學(xué)福.濾波電路頻率特性的仿真分析 [J].國外電子測量技術(shù),2014,33(1):40-42+49.
[5] 肖帥,孫建波,耿華,等.基于FPGA實現(xiàn)的可變模全數(shù)字鎖相環(huán) [J].電工技術(shù)學(xué)報,2012,27(4):153-158.
[6] 余成波,張林,龍曦.基于FPGA數(shù)字PLL諧振頻率的跟蹤研究 [J].重慶理工大學(xué)學(xué)報(自然科學(xué)),2019,33(4):141-146.
[7] 殷安龍,張持健,陳林,等.基于FPGA的多串口通信設(shè)計與實現(xiàn) [J].電子設(shè)計工程,2016,24(17):45-47.
[8] 羅超,劉昌祿,胡敬營.一種基于FPGA的并行CRC及其UART實現(xiàn) [J].電子測量技術(shù),2016,39(2):147-150.
[9] 李浪,鄒祎,李仁發(fā),等.Verilog HDL語言的AES密碼算法FPGA優(yōu)化實現(xiàn) [J].重慶大學(xué)學(xué)報,2014,37(6):56-64.
作者簡介:冷從陽(1996-),男,漢族,重慶璧山人,碩士研究生在讀,研究方向:智能儀器與傳感器。