一種精度可調(diào)的數(shù)字控制移相原理
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言 移相電路在現(xiàn)代通訊技術(shù)、波形調(diào)制和雷達(dá)掃描等許多方面有著大量的運(yùn)用。目前實(shí)現(xiàn)方式大致可分為模擬和數(shù)字2類(lèi)。模擬移相器的電路較為復(fù)雜、線性差、響應(yīng)時(shí)間慢,抗電磁干擾能力差。而數(shù)字移相器主要分2類(lèi)[1]:第一類(lèi)是運(yùn)用直接數(shù)字式頻率合成技術(shù)dds。另一類(lèi)是利用單片機(jī)計(jì)數(shù)延時(shí)的方法實(shí)現(xiàn)。其中使用dds的移相器的實(shí)現(xiàn)精度大多依照"360°/2°"的方式實(shí)現(xiàn),即其能夠?qū)崿F(xiàn)180°,90°,45°,22.5°,11.25°等精度[2]。另外其實(shí)現(xiàn)電路也較為復(fù)雜;而第二類(lèi)利用單片機(jī)雖然可以實(shí)現(xiàn)較高精度的移相,但使用的單片機(jī)屬于硬核ip[2],在大規(guī)模集成和使用權(quán)問(wèn)題上十分不方便。本文介紹的基于可編程數(shù)字控制方法的移相原理,其精度可以通過(guò)精度控制輸入信號(hào)任意賦予(在本文中精度調(diào)制為1°來(lái)說(shuō)明)。此原理的電路采用采樣電路和精度為1°的360倍倍頻器等進(jìn)行延時(shí)輸出波形,方法簡(jiǎn)便,電路結(jié)構(gòu)簡(jiǎn)單,能夠配合任意工藝特性加以實(shí)現(xiàn),且能夠方便地集成到大規(guī)模電路中去。2 基本原理 本系統(tǒng)是基于數(shù)字倍頻器進(jìn)行延時(shí)操作而實(shí)現(xiàn)的移相。實(shí)現(xiàn)原理是把輸入模擬波形(如正弦信號(hào))的周期tin轉(zhuǎn)化為原來(lái)的1/data,tin/data即為移相精度,data值通過(guò)精度控制輸入信號(hào)賦值。當(dāng)data為360時(shí),精度為1°;當(dāng)data為720時(shí),精度為0.5°;若要更小的精度,可依此類(lèi)推。本文中為便于顯示移相波形,把精度設(shè)置為1°。則精度為tin/360,所用的倍頻器倍頻因子即為360。這樣經(jīng)n個(gè)tin/360延時(shí)(n為移相的具體數(shù)值,由記時(shí)控制輸入信號(hào)d賦值),再輸出波形。和原波形相比就形成了移相。從實(shí)現(xiàn)的電路方面來(lái)講,要把輸入波形周期變?yōu)樵瓉?lái)的1/360,或者說(shuō)把輸入波形的頻率變?yōu)樵瓉?lái)的360倍,最直接的辦法就是采用倍頻器。而數(shù)字倍頻器的輸入是數(shù)字信號(hào),則應(yīng)先把模擬量轉(zhuǎn)化為數(shù)字量,這就需要一個(gè)模擬比較器。在得到倍頻輸出信號(hào)后,為了要得到希望的n值,還應(yīng)在倍頻器后添加數(shù)字定時(shí)輸出計(jì)數(shù)器,以輸出延時(shí)控制信號(hào)。最后把模擬信號(hào)輸入a/d電路,通過(guò)rom存儲(chǔ),再在延時(shí)控制信號(hào)的作用下延時(shí)輸出數(shù)字量,再經(jīng)過(guò)d/a電路還原為模擬量,最終實(shí)現(xiàn)移相操作。其中倍頻器具有360倍倍頻能力。 輸入模擬信號(hào)(如正弦波)經(jīng)過(guò)信號(hào)比較器,波形電壓與零伏比較后,高于零伏的電壓段轉(zhuǎn)化為高電平,低于的轉(zhuǎn)化為低電平,這樣輸入信號(hào)就轉(zhuǎn)化為周期相同的數(shù)字信號(hào)。a/d,rom,d/a和一些控制電路構(gòu)成移相輸出控制模塊。其中移相控制部分的倍頻器,定時(shí)輸出計(jì)數(shù)器構(gòu)成可編程數(shù)字控制部分,都可以通過(guò)硬件語(yǔ)言編譯實(shí)現(xiàn)。2.1數(shù)字倍頻器 這里使用的數(shù)字倍頻器(電路如圖2所示)的算法是基于采樣的原理來(lái)實(shí)現(xiàn)[4],理論上能夠?qū)崿F(xiàn)任意倍倍頻,這里為方便說(shuō)明和顯示波形,設(shè)置為360倍,即倍頻因子為360,精度為1°。 當(dāng)信號(hào)a經(jīng)過(guò)比較器后,a轉(zhuǎn)化為具有相同周期的數(shù)字信號(hào)da,他們的周期均為tclk_in。通過(guò)引入高頻時(shí)鐘信號(hào)(其周期為thf_clk)采樣,以此來(lái)計(jì)數(shù)在一個(gè)tclk_in中含有的thf_clk的個(gè)數(shù),把這個(gè)結(jié)果記為nhf。則有:nhf=tclk_in/thf_clk (1)
由于倍頻因子是360,所以對(duì)于倍頻后的結(jié)果clk_div_n1有:nhf_of_clk_dive_n1=nhf/360 (2)tclk_div_n1=nhf_of_clk_dive_n1×thf_clk (3)tclk_div_n1為倍頻后倍頻器輸出波形的周期,nhf_of_clk_dive_n1為一個(gè)tclk_div_n1中含有的采樣信號(hào)周期的個(gè)數(shù)。聯(lián)立式(1),(2),(3),可得:tclk_div_n1=tclk_in/360 (4)亦即:fclk_in×360=fclk_div_n1 (5) 從而實(shí)現(xiàn)了360倍倍頻。tclk_div_n1就是信號(hào)a相移27π/360(即1°)時(shí)所占的時(shí)間間隔。圖3是本倍頻器的仿真波形(這里把倍頻因子固定為360)。在每次輸入信號(hào)周期變化后,都按照新的周期進(jìn)行360倍倍頻這里應(yīng)說(shuō)明的幾點(diǎn)是:
data就是精度控制信號(hào),不難看出,實(shí)際上他也就是倍頻器的倍頻因子。當(dāng)data=360時(shí),移相精度為1°。那么當(dāng)倍頻因子改變時(shí),移相精度隨之而改變。若data為720,則移相精度為0.5°;若data為3 600,則移相精度為0.1°。這些都可以通過(guò)改變精度控制信號(hào)data來(lái)實(shí)現(xiàn),從而達(dá)到精度可變的目的?! ?2)reset為復(fù)位信號(hào),在輸入信號(hào)da(也就是電路圖中信號(hào)clk_in)時(shí)應(yīng)先復(fù)位?! ?3)每隔一個(gè)tclk_in,nhf就會(huì)被重新計(jì)算一次,并與上次的結(jié)果作比較,這樣輸出信號(hào)cal_dif會(huì)在輸入信號(hào)clk_in的周期發(fā)生變化時(shí)(也就是兩個(gè)nhf數(shù)值不一樣時(shí)),輸出一個(gè)高電頻。這個(gè)高電頻就是下兩個(gè)模塊數(shù)字定時(shí)輸出計(jì)數(shù)器和數(shù)模混合輸出控制電路中一部分模塊的復(fù)位信號(hào),從而達(dá)到倍頻器輸出信號(hào)周期自調(diào)節(jié)的目的?! ?4)式(1)~式(5)的推導(dǎo)實(shí)際上都忽略了除法中的余數(shù)問(wèn)題。當(dāng)式(1)除不盡時(shí)要考慮余數(shù)的四舍五入問(wèn)題。式(2),式(4)應(yīng)修改為:nhf_of_clk_dive_n1=nhf/360 (6)tclk_in=360×tclk_div_n1+r (7)