掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
全數(shù)字鎖相環(huán)(DPLL) 由于避免了模擬鎖相環(huán)存在的溫度漂移和易受電壓變化影響等缺點(diǎn)。從而具備可靠性高、工作穩(wěn)定、調(diào)節(jié)方便等優(yōu)點(diǎn)。在調(diào)制解調(diào)、頻率合成、FM立體聲解碼、圖像處理等各個(gè)方面得到廣泛的應(yīng)用。隨著電子設(shè)計(jì)自動(dòng)化(EDA) 技術(shù)的發(fā)展,采用大規(guī)??删幊踢壿嬈骷?如CPLD 或FPGA) 和VHDL 語(yǔ)言來(lái)設(shè)計(jì)專(zhuān)用芯片ASIC 和數(shù)字系統(tǒng),而且可以把整個(gè)系統(tǒng)集成到一個(gè)芯片中,實(shí)現(xiàn)系統(tǒng)SOC ,構(gòu)成片內(nèi)鎖相環(huán)。下面介紹采用VHDL技術(shù)設(shè)計(jì)DPLL 的一種方案。
1 DPLL 的基本結(jié)構(gòu)
全數(shù)字鎖相環(huán)結(jié)構(gòu)框圖如圖1 所示, 由數(shù)字鑒相器、數(shù)字環(huán)路濾波器和數(shù)控振蕩器3 部分組成。
設(shè)計(jì)中數(shù)字鑒相器采用了異或門(mén)鑒相器;數(shù)字環(huán)路濾波器由變??赡嬗?jì)數(shù)器構(gòu)成(模數(shù)K 可預(yù)置) ;數(shù)控振蕩器由加/ 減脈沖控制器和除N 計(jì)數(shù)器構(gòu)成。
可逆計(jì)數(shù)器和加/ 減脈沖控制器的時(shí)鐘頻率分別為Mf0和2Nf0 。這里f0 是環(huán)路的中心頻率,一般情況下M 和N 為2 的整數(shù)冪。時(shí)鐘2Nf0 經(jīng)除H( = M/2N) 計(jì)數(shù)器得到。
2 數(shù)字鎖相環(huán)的原理與實(shí)現(xiàn)
全數(shù)字鎖相環(huán)原理如圖2 所示, 其中: clk 為時(shí)鐘頻率,等于32f 0 ; U1 為輸入,頻率為f0 ; j 為異或門(mén)鑒相器的輸出,它作為變模可逆計(jì)數(shù)器的方向控制信號(hào);out 為加/ 減脈沖控制器的輸出; U2 為DPLL 的輸出,在相位鎖定的頻率為f0 , 相位與輸入U(xiǎn)1 相差Π/ 2 ; D、C、B 、A 可預(yù)置變??赡嬗?jì)數(shù)器的模數(shù),它在0001 —1111 范圍內(nèi)變化, 相應(yīng)的模數(shù)在2.3 —2. 17 范圍內(nèi)變化; En 為可逆計(jì)數(shù)器使能端。
圖2 數(shù)字鎖相環(huán)原理圖
2. 1 鑒相器的設(shè)計(jì)
異或門(mén)鑒相器用于比較輸入信號(hào)u1 與數(shù)控振蕩器輸出信號(hào)u2 的相位差, 其輸出信號(hào)ud 作為可逆計(jì)數(shù)器的計(jì)數(shù)方向控制信號(hào)。當(dāng)ud 為低電平時(shí)( u1 和u2 有同極性時(shí)) ,可逆計(jì)數(shù)器作"加"計(jì)數(shù)。反之,當(dāng)ud 為高電平時(shí),可逆計(jì)數(shù)器作"減"計(jì)數(shù)。
當(dāng)環(huán)路鎖定時(shí), f i 和f o 正交,鑒相器的輸出信號(hào)Ud 為50 % 占空比的方波,此時(shí)定義相位誤差為零,在這種情況下,可逆計(jì)數(shù)器"加"和"減"的周期是相同的,只要可逆計(jì)數(shù)器只對(duì)其時(shí)鐘的k 值足夠大( k> M/ 4) , 其輸出端就不會(huì)產(chǎn)生進(jìn)位或借位脈沖, 加/ 減脈沖控制器只對(duì)其時(shí)鐘2Nf o 進(jìn)行二分頻, 使f i和f o 的相位保持正交。在環(huán)路未鎖定的情況下, 若Ud = 0 時(shí)它使可逆計(jì)數(shù)器向上加計(jì)數(shù),并導(dǎo)致進(jìn)位脈沖產(chǎn)生, 進(jìn)位脈沖作用到加/ 減脈沖控制器的"加"控制端i , 該控制器便在二分頻過(guò)程中加入半個(gè)時(shí)鐘周期, 即一個(gè)脈沖。反之, 若Ud = 1 時(shí), 可逆計(jì)數(shù)器進(jìn)行減計(jì)數(shù), 并將反出解圍脈沖到加/ 減脈沖控制器的"減"輸入端d ,于是,該控制器便在二分頻過(guò)程中減去半個(gè)時(shí)鐘周期,即一個(gè)脈沖。這個(gè)過(guò)程是連續(xù)發(fā)生的。加/ 減脈沖控制器的輸出經(jīng)過(guò)除N計(jì)數(shù)后。使得本地估算信號(hào)U2 的相位受到調(diào)整控制,最終達(dá)到鎖定的狀態(tài)。
異或門(mén)鑒相器在環(huán)路鎖定時(shí)和相位誤差達(dá)到極限時(shí)的相應(yīng)波形如圖3 所示:
圖3 異或門(mén)鑒相器工作波形
2. 2 數(shù)字環(huán)路濾波器的設(shè)計(jì)
數(shù)字環(huán)路濾波器是由變模可逆計(jì)數(shù)器構(gòu)成的。該計(jì)數(shù)器設(shè)計(jì)為一個(gè)17 位可編程(可變模數(shù)) 可逆計(jì)數(shù)器,計(jì)數(shù)范圍是,由外部置數(shù)DCBA 控制。假設(shè)系統(tǒng)工作無(wú)相位差,由鎖相環(huán)原理知, u1 和u2 的相位差0 ,異或門(mén)鑒相器輸出是一個(gè)對(duì)稱(chēng)的方波,如圖4 (a) 所示。因此可逆計(jì)數(shù)器在相同的時(shí)間間隔內(nèi)進(jìn)行加或減計(jì)數(shù),只要k 足夠大,那么從零開(kāi)始的計(jì)數(shù)就不會(huì)溢出或不夠。
若u1 開(kāi)始落后u2 ,異或門(mén)輸出不對(duì)稱(chēng),那么計(jì)數(shù)器加計(jì)數(shù)時(shí)間比減計(jì)數(shù)時(shí)間長(zhǎng),其結(jié)果計(jì)數(shù)器隨著時(shí)間的增長(zhǎng)將溢出,產(chǎn)生一個(gè)進(jìn)位脈沖。相反,若U1 開(kāi)始滯后U2 ,計(jì)數(shù)器將產(chǎn)生一個(gè)借位脈沖。進(jìn)位和借位脈沖可用來(lái)控制DCO ,使得DCO 輸出的脈沖數(shù)根據(jù)進(jìn)位和借位來(lái)加上或者是刪除一些脈沖,實(shí)際上也就改變了DCO 的輸出頻率。變??赡嬗?jì)數(shù)器的設(shè)計(jì)由VHDL 完成,程序如下:
library ieee ;
use ieee. std_logic_1164. all ;
use ieee. std_logic_unsigned. all ;
entity li is
port (clk ,j ,en ,d ,c ,b ,a :in std_logic ;
r1 ,r2 :out std_logic) ;
end li ;
architecture behave of li is
signal cq ,k ,mo :std_logic_vector (16 downto 0) ;
signal cao1 ,cao2 :std_logic ;
signal instruction :std_logic_vector (3 downto 0) ;
begin
instruction < = d &c &b &a ;
with instruction select
mo < ="00000000000000111"when"0001",
"00000000000001111"when"0010",
"00000000000011111"when"0011",
"00000000000111111"when"0100",
"00000000001111111"when"0101",
"00000000011111111"when"0110",
"00000000111111111"when"0111",
"00000001111111111"when"1000",
"00000011111111111"when"1001",
"00000111111111111"when"1010",
"00001111111111111"when"1011",
"00011111111111111"when"1100",
"00111111111111111"when"1101",
"01111111111111111"when"1110",
"11111111111111111"when"1111",
"00000000000000111"when others ;
process (clk ,en ,j ,k ,cq)
begin
if clk'event and clk = '1'then
k < = mo ;
if en = '1'then
if j = '0'then
if cq < k then cq < = cq + 1 ;
else cq < = (others = > '0') ;
end if ;
else
if cq > 0 then cq < = cq - 1 ;
else cq < = k ;
end if ;
end if ;
else cq < = (others = > '0') ;
end if ;
end if ;
end process ;
process (en ,j ,cq ,k)
begin
if en = '1'then
if j = '0'then
f cq = k then cao1 < = '1';
else cao1 < = '0';
end if ;
cao2 < = '0';
else
if cq ="00000000000000000"then
cao2 < = '1';
else cao2 < = '0';
end if ;
cao1 < = '0';
end if ;
else cao1 < = '0';cao2 < = '0';
end if ;
end process ;
r1 < = cao1 ; r2 < = cao2 ;
end behave ;
變??赡嬗?jì)數(shù)器(取k = 24) 的仿真波形圖如圖4 所示。
圖4 變模可逆計(jì)數(shù)器(取k = 24) 的仿真波形圖
2. 3 數(shù)控振蕩器的設(shè)計(jì)
數(shù)控振蕩器由加/ 減脈沖控制器和除N 計(jì)數(shù)器組成的。加/ 減脈沖控制器其實(shí)是一個(gè)增量—減量計(jì)數(shù)器式DCO。它和環(huán)路濾波器連用。如果在環(huán)路濾波器無(wú)進(jìn)位、錯(cuò)位的時(shí)候,加/ 減脈沖控制器對(duì)時(shí)鐘2NFo 進(jìn)行二分頻。當(dāng)加/ 減脈沖控制的增量輸入端( I = 1) 輸入一個(gè)進(jìn)位脈沖時(shí), 輸出脈沖中通過(guò)該計(jì)數(shù)器內(nèi)部加上一個(gè)時(shí)鐘脈沖。反之,當(dāng)加/ 減脈沖控制的減量輸入端( D = 1) 時(shí)輸入一個(gè)借位脈沖輸出脈沖中就減去一個(gè)時(shí)鐘脈沖。因此通過(guò)借位和進(jìn)位脈沖可以使輸出頻率得到改變, 輸出頻率能被進(jìn)位和借位脈沖的最高頻率控制在一個(gè)給定的范圍內(nèi)。加/ 減脈沖控制器由D 觸發(fā)器和J K 觸發(fā)器構(gòu)成,根據(jù)功能分析,可以設(shè)計(jì)出相應(yīng)的VHDL 程序。其運(yùn)行后仿真波形如圖5 所示:
圖5 加/ 減脈沖控制器仿真波形圖
3 實(shí)驗(yàn)仿真結(jié)果與分析
本設(shè)計(jì)中全數(shù)字鎖相環(huán)路采用軟件來(lái)實(shí)現(xiàn)的,通過(guò)用VHDL 語(yǔ)言編寫(xiě)模塊,然后仿真,例化,逐漸由下而上的實(shí)現(xiàn)整個(gè)電路,最終達(dá)到整體仿真下載成功。
環(huán)路鎖定( k = 2^5) ,DPLL 系統(tǒng)仿真波形如圖6所示。
圖6 環(huán)路鎖定(取k = 2^5) 時(shí)的仿真波形
由仿真波形可以看出, u1 和u2 達(dá)到鎖定狀態(tài)時(shí)的仿真時(shí)間是70us。
環(huán)路鎖定( k = 27) 時(shí),DPLL 系統(tǒng)的仿真波形如圖7 所示:
圖7 環(huán)路鎖定(取k = 27) 時(shí)的波形仿真圖
在這種情況下, u1 和u2 達(dá)到鎖定狀態(tài)的仿真時(shí)間是180ms。
顯然,模k 愈大,環(huán)路進(jìn)入鎖定狀態(tài)的時(shí)間越長(zhǎng)。k 取得過(guò)大,對(duì)抑制噪聲、減少相位抖動(dòng)有利,但是同時(shí)又加大了環(huán)路進(jìn)入鎖定狀態(tài)的時(shí)間。反之, k 取得過(guò)小,可以加速環(huán)路的鎖定,而對(duì)噪聲的抑制能力卻隨之降低。
4 結(jié)語(yǔ)
采用VHDL 設(shè)計(jì)全數(shù)字鎖相環(huán)路,具有設(shè)計(jì)靈活,修改方便和易于實(shí)現(xiàn)的優(yōu)點(diǎn),并能夠制成嵌入式片內(nèi)鎖相環(huán)。該類(lèi)數(shù)字鎖相環(huán)路中計(jì)數(shù)器的模數(shù)可以隨意修改,這樣,就能夠根據(jù)不同的情況最大限度地、靈活地設(shè)計(jì)環(huán)路。
構(gòu)建可靠的硬件要求我們?cè)谠O(shè)計(jì)階段考慮所有公差。許多參考文獻(xiàn)討論了參數(shù)偏差導(dǎo)致的有源元件誤差——展示了如何計(jì)算運(yùn)算放大器失調(diào)電壓、輸入電流和類(lèi)似參數(shù)的影響——但很少有人考慮無(wú)源元件容差。確實(shí)考慮了組件容差的參考文獻(xiàn)是從科學(xué)...
關(guān)鍵字: 元件公差 電路設(shè)計(jì)對(duì)于非比例電路,我們必須假設(shè)完整的電阻容差,因?yàn)槿莶畈粫?huì)分開(kāi)。我們可以將輸出電壓計(jì)算為 V OUT =IR,其中 I 是理想的 1mA 電流源,R 是 5% 的電阻器(圖 1a)。V OUT =1 mA (1±0.05±...
關(guān)鍵字: 電路設(shè)計(jì) 非比例電路我們是否設(shè)計(jì)了一個(gè)電源,后來(lái)才發(fā)現(xiàn)我們的布局效率低下?按照這些關(guān)鍵提示創(chuàng)建電源布局并避免調(diào)試壓力。什么是電源設(shè)計(jì)的布局?你知道嗎?一個(gè)完美的電路設(shè)計(jì),電源布局顯得尤為重要。由于不同的設(shè)計(jì)方案的出發(fā)點(diǎn)不同,而有所差異,但是...
關(guān)鍵字: 電源布局 電路設(shè)計(jì)摘要:基于攝像機(jī)遠(yuǎn)程操作技術(shù),利用單片機(jī)控制步進(jìn)電機(jī),建立攝像鏡頭的電力驅(qū)動(dòng)系統(tǒng)。此系統(tǒng)節(jié)約了經(jīng)濟(jì)成本,通過(guò)人機(jī)交互閉環(huán)系統(tǒng)、模塊化等方法,進(jìn)一步提高了系統(tǒng)的通用性,使其可以應(yīng)用于工程。
關(guān)鍵字: 步進(jìn)電機(jī) 單片機(jī) 電路設(shè)計(jì)一直以來(lái),智能硬件都是大家的關(guān)注焦點(diǎn)之一。因此針對(duì)大家的興趣點(diǎn)所在,小編將為大家?guī)?lái)智能功率模塊的相關(guān)介紹,詳細(xì)內(nèi)容請(qǐng)看下文。
關(guān)鍵字: 智能功率模塊 IPM 電路設(shè)計(jì)與傳統(tǒng)聚合物電容器相比,多層陶瓷電容器 (MLCC) 在電力電子設(shè)計(jì)中很受歡迎,原因有很多: MLCC 提供: · 具有相對(duì)較高電容的小輪廓。 · 非常低的等效串聯(lián)電阻 (ESR)。 · 非常低的等效串聯(lián)電感 (...
關(guān)鍵字: MLCC電容 電路設(shè)計(jì)許多同步降壓轉(zhuǎn)換器設(shè)計(jì)人員面臨一個(gè)共同的問(wèn)題:如何最好地連接開(kāi)漏電源良好標(biāo)志,也稱(chēng)為電源良好 (PGOOD) 引腳。在這篇文章中,我將探討電源良好與各種不同的上拉源相關(guān)聯(lián)時(shí)的預(yù)期行為。有一些錯(cuò)誤信息四處流傳,希望這篇文章...
關(guān)鍵字: 降壓轉(zhuǎn)換器 電路設(shè)計(jì)嵌入式開(kāi)發(fā)是指利用分立元件或集成器件進(jìn)行電路設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì),再進(jìn)行軟件編程(通常是高級(jí)語(yǔ)言),實(shí)驗(yàn),經(jīng)過(guò)多輪修改設(shè)計(jì)、制作,最終完成整個(gè)系統(tǒng)的開(kāi)發(fā)。
關(guān)鍵字: 嵌入式開(kāi)發(fā) 電路設(shè)計(jì) 結(jié)構(gòu)設(shè)計(jì)來(lái)源|羅姆R課堂工程軟件和在線資源往往比較昂貴,但是對(duì)于專(zhuān)業(yè)人員、學(xué)生和愛(ài)好者來(lái)說(shuō)非常有益。用戶(hù)開(kāi)展項(xiàng)目或者僅進(jìn)行工程驗(yàn)證時(shí),這些資源往往是必要的,但是相關(guān)成本卻令許多人望而卻步。本文為工程師和工程研究愛(ài)好者們尋找了幾款...
關(guān)鍵字: 電路設(shè)計(jì)電路設(shè)計(jì)并不是想當(dāng)然,你腦子一拍就可以設(shè)計(jì)出來(lái),有沒(méi)有經(jīng)驗(yàn)設(shè)計(jì)出來(lái)的東西是相差千里。今天我們來(lái)看看電子工程師會(huì)出現(xiàn)的下面的幾個(gè)誤區(qū),你是不是也這樣想的。誤區(qū)一:這板子的PCB設(shè)計(jì)要求不高,就用細(xì)一點(diǎn)的線,自動(dòng)布吧。點(diǎn)評(píng):...
關(guān)鍵字: 電路設(shè)計(jì)