數(shù)字鎖相環(huán)設(shè)計(jì)步驟
發(fā)布時(shí)間:2008/9/19 0:00:00 訪問次數(shù):613
有關(guān)數(shù)字鎖相環(huán)的帖子不斷出現(xiàn),但大多沒有講述其原理。翻開有關(guān)鎖相環(huán)的書總是堆疊著鑒相、同相積分、中相積分、濾波等專用名詞。這些概念距離硬件設(shè)計(jì)實(shí)現(xiàn)數(shù)字鎖相環(huán)較遠(yuǎn)。本文按照數(shù)字鎖相環(huán)設(shè)計(jì)的步驟,采用手把手的方式講述設(shè)計(jì)過程和原理,旨在給數(shù)字鎖相環(huán)初次設(shè)計(jì)者提供一個(gè)思路,縮短開發(fā)的時(shí)間。附件是用vhdl語言設(shè)計(jì)的20分頻數(shù)字鎖相環(huán)。
div20pll port(
clock : in std_logic; --80m local clk
flow : in std_logic; --4m data flow
clkout : out std_logic --4m clk
);
其中clkout是所提取的數(shù)據(jù)時(shí)鐘。clock是本地時(shí)鐘,其頻率是數(shù)據(jù)流flow速率的20倍。若數(shù)據(jù)流flow速率為4m則clock選用80m,若 flow為1m則選取clock為20m,依次類推。此附件基本按照下文提到的步驟設(shè)計(jì),并已經(jīng)在產(chǎn)品中應(yīng)用的。
專用名詞約定:
一個(gè)比特: 數(shù)據(jù)流flow由一個(gè)比特接一個(gè)比特組成,文中提到的一個(gè)比特均指flow中的一個(gè)比特。
域: 一個(gè)比特的時(shí)間從開始到結(jié)束可以劃分為5個(gè)時(shí)間片段,依次為
§前失鎖§超前§同步§滯后§后失鎖§
這五個(gè)片段稱作五個(gè)域,其中前失鎖和后失鎖統(tǒng)稱為失鎖域。
分頻比r: 本地時(shí)鐘記做clock,從flow中提取的時(shí)鐘記做lowclk,clock與lowclk的頻率比記做r。
smp: 指用clock提取的lowclk上升沿(參見“上升沿與下降沿觸發(fā)小論”,需要注意一點(diǎn)的是,lowclk是與clock同步的信號,所以只需延時(shí)一次提。。
脈沖: 如不特殊指明,是指'1'值保持一個(gè)clock周期的信號,無效時(shí)值為'0'。
設(shè)計(jì)總思路:
數(shù)字鎖相環(huán)完成的功能就是利用clock從flow中提取lowclk,并且使smp保持在同步域。lowclk由clock經(jīng)r分頻得到,并且 lowclk的相位是可以動態(tài)調(diào)整的以達(dá)到鎖相的目的。當(dāng)smp落在同步域時(shí),認(rèn)定為鎖相環(huán)已經(jīng)同步,保持分頻的狀態(tài)不變。當(dāng)smp落在失鎖域時(shí)認(rèn)定為失鎖,則強(qiáng)行置下一個(gè)smp到同步域的中間位置。當(dāng)smp落在超前域時(shí),則推遲下一個(gè)smp的到來一個(gè)節(jié)拍。當(dāng)smp落在滯后域時(shí),則提前一個(gè)節(jié)拍使下一個(gè) smp到來。
設(shè)計(jì)步驟:
根據(jù)設(shè)計(jì)參數(shù)要求合理選取r值,通常r不小于8,本文選取r = 20講解。以后文中用到20均指r,而提到10則指r/2。
確定5個(gè)域的寬度,本例選取5個(gè)域等寬。由于r = 20,所以一個(gè)比特的寬度為20,那么每個(gè)域的寬度均為4。失鎖域是前失鎖域和后失鎖域的統(tǒng)稱,所以失鎖域?qū)?。
設(shè)計(jì)一個(gè)計(jì)數(shù)器cnt,cnt供10(r/2)個(gè)狀態(tài),記做s0到s9,cnt從s0到s9循環(huán)變化。cnt有三個(gè)同步控制脈沖load、inc和 dec,load使cnt裝入s7,inc使cnt跳過下一個(gè)狀態(tài)(假如在s8時(shí)有inc,則cnt從s8直接跳到s0而不再經(jīng)過s9),dec使cnt 繼續(xù)保持當(dāng)前狀態(tài)不變。
時(shí)鐘lowclk的狀態(tài)受到cnt的狀態(tài)和load信號的同步控制,load使lowclk置'1'值,s9使lowclk翻轉(zhuǎn)。兩個(gè)特殊情況是由于 cnt受到inc和dec的控制而使cnt的狀態(tài)會跳過s9或重復(fù)出現(xiàn)s9,即會出現(xiàn)...s7s8s0s1...或... s7s8s9s9s0s1...這兩種情況。對于第一種情況lowclk在s8后的s0翻轉(zhuǎn),而第二種情況僅在第一個(gè)s9處翻轉(zhuǎn)。
用clock提取flow的跳變沿saltus。
用saltus產(chǎn)生一個(gè)寬度為16的信號pulse,pulse在saltus處及接下來的15個(gè)clock中期內(nèi)保持為'1'值,其余情況為'0'。在pulse為'1'期間有一個(gè)計(jì)數(shù)器position在計(jì)數(shù),顯然position的值為0到15。
用clock提取pulse的下降沿cmp。
定義一個(gè)與position相同類型的信號phase。phase在pulse為'0'時(shí)值為0,在pulse為'1'且smp為'1'時(shí)裝入position的值,其他情況phase保持值不變化。
在cmp處觀察phase的值。若為0到3則產(chǎn)生一個(gè)失鎖脈沖loss,若為4到7則產(chǎn)生一個(gè)超前脈沖lead,若為8到11則產(chǎn)生一個(gè)同步脈沖syn,若為12到15則產(chǎn)生一個(gè)滯后脈沖lag。這些脈沖的位置均在cmp。
若loss累積3次且這3次中間沒有出現(xiàn)過syn,則產(chǎn)生一個(gè)裝載脈沖load。按照相同的方法用lead產(chǎn)生一個(gè)dec信號,用lag信號產(chǎn)生一個(gè)inc信號。
至此,整個(gè)數(shù)字鎖相環(huán)已經(jīng)設(shè)計(jì)完畢。步驟中提到的計(jì)數(shù)器就相當(dāng)于積分,phase的作用就是完成鑒相,第10步也就是一些有關(guān)數(shù)字鎖相環(huán)的書籍中提到的濾波。第3步提到r/2計(jì)數(shù)器而后在第4步用cnt的狀態(tài)翻轉(zhuǎn)lowclk來實(shí)現(xiàn)r分頻,是為了強(qiáng)調(diào)輸出的lowclk的展空比為50%。
歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(www.dzsc.com)
有關(guān)數(shù)字鎖相環(huán)的帖子不斷出現(xiàn),但大多沒有講述其原理。翻開有關(guān)鎖相環(huán)的書總是堆疊著鑒相、同相積分、中相積分、濾波等專用名詞。這些概念距離硬件設(shè)計(jì)實(shí)現(xiàn)數(shù)字鎖相環(huán)較遠(yuǎn)。本文按照數(shù)字鎖相環(huán)設(shè)計(jì)的步驟,采用手把手的方式講述設(shè)計(jì)過程和原理,旨在給數(shù)字鎖相環(huán)初次設(shè)計(jì)者提供一個(gè)思路,縮短開發(fā)的時(shí)間。附件是用vhdl語言設(shè)計(jì)的20分頻數(shù)字鎖相環(huán)。
div20pll port(
clock : in std_logic; --80m local clk
flow : in std_logic; --4m data flow
clkout : out std_logic --4m clk
);
其中clkout是所提取的數(shù)據(jù)時(shí)鐘。clock是本地時(shí)鐘,其頻率是數(shù)據(jù)流flow速率的20倍。若數(shù)據(jù)流flow速率為4m則clock選用80m,若 flow為1m則選取clock為20m,依次類推。此附件基本按照下文提到的步驟設(shè)計(jì),并已經(jīng)在產(chǎn)品中應(yīng)用的。
專用名詞約定:
一個(gè)比特: 數(shù)據(jù)流flow由一個(gè)比特接一個(gè)比特組成,文中提到的一個(gè)比特均指flow中的一個(gè)比特。
域: 一個(gè)比特的時(shí)間從開始到結(jié)束可以劃分為5個(gè)時(shí)間片段,依次為
§前失鎖§超前§同步§滯后§后失鎖§
這五個(gè)片段稱作五個(gè)域,其中前失鎖和后失鎖統(tǒng)稱為失鎖域。
分頻比r: 本地時(shí)鐘記做clock,從flow中提取的時(shí)鐘記做lowclk,clock與lowclk的頻率比記做r。
smp: 指用clock提取的lowclk上升沿(參見“上升沿與下降沿觸發(fā)小論”,需要注意一點(diǎn)的是,lowclk是與clock同步的信號,所以只需延時(shí)一次提。。
脈沖: 如不特殊指明,是指'1'值保持一個(gè)clock周期的信號,無效時(shí)值為'0'。
設(shè)計(jì)總思路:
數(shù)字鎖相環(huán)完成的功能就是利用clock從flow中提取lowclk,并且使smp保持在同步域。lowclk由clock經(jīng)r分頻得到,并且 lowclk的相位是可以動態(tài)調(diào)整的以達(dá)到鎖相的目的。當(dāng)smp落在同步域時(shí),認(rèn)定為鎖相環(huán)已經(jīng)同步,保持分頻的狀態(tài)不變。當(dāng)smp落在失鎖域時(shí)認(rèn)定為失鎖,則強(qiáng)行置下一個(gè)smp到同步域的中間位置。當(dāng)smp落在超前域時(shí),則推遲下一個(gè)smp的到來一個(gè)節(jié)拍。當(dāng)smp落在滯后域時(shí),則提前一個(gè)節(jié)拍使下一個(gè) smp到來。
設(shè)計(jì)步驟:
根據(jù)設(shè)計(jì)參數(shù)要求合理選取r值,通常r不小于8,本文選取r = 20講解。以后文中用到20均指r,而提到10則指r/2。
確定5個(gè)域的寬度,本例選取5個(gè)域等寬。由于r = 20,所以一個(gè)比特的寬度為20,那么每個(gè)域的寬度均為4。失鎖域是前失鎖域和后失鎖域的統(tǒng)稱,所以失鎖域?qū)?。
設(shè)計(jì)一個(gè)計(jì)數(shù)器cnt,cnt供10(r/2)個(gè)狀態(tài),記做s0到s9,cnt從s0到s9循環(huán)變化。cnt有三個(gè)同步控制脈沖load、inc和 dec,load使cnt裝入s7,inc使cnt跳過下一個(gè)狀態(tài)(假如在s8時(shí)有inc,則cnt從s8直接跳到s0而不再經(jīng)過s9),dec使cnt 繼續(xù)保持當(dāng)前狀態(tài)不變。
時(shí)鐘lowclk的狀態(tài)受到cnt的狀態(tài)和load信號的同步控制,load使lowclk置'1'值,s9使lowclk翻轉(zhuǎn)。兩個(gè)特殊情況是由于 cnt受到inc和dec的控制而使cnt的狀態(tài)會跳過s9或重復(fù)出現(xiàn)s9,即會出現(xiàn)...s7s8s0s1...或... s7s8s9s9s0s1...這兩種情況。對于第一種情況lowclk在s8后的s0翻轉(zhuǎn),而第二種情況僅在第一個(gè)s9處翻轉(zhuǎn)。
用clock提取flow的跳變沿saltus。
用saltus產(chǎn)生一個(gè)寬度為16的信號pulse,pulse在saltus處及接下來的15個(gè)clock中期內(nèi)保持為'1'值,其余情況為'0'。在pulse為'1'期間有一個(gè)計(jì)數(shù)器position在計(jì)數(shù),顯然position的值為0到15。
用clock提取pulse的下降沿cmp。
定義一個(gè)與position相同類型的信號phase。phase在pulse為'0'時(shí)值為0,在pulse為'1'且smp為'1'時(shí)裝入position的值,其他情況phase保持值不變化。
在cmp處觀察phase的值。若為0到3則產(chǎn)生一個(gè)失鎖脈沖loss,若為4到7則產(chǎn)生一個(gè)超前脈沖lead,若為8到11則產(chǎn)生一個(gè)同步脈沖syn,若為12到15則產(chǎn)生一個(gè)滯后脈沖lag。這些脈沖的位置均在cmp。
若loss累積3次且這3次中間沒有出現(xiàn)過syn,則產(chǎn)生一個(gè)裝載脈沖load。按照相同的方法用lead產(chǎn)生一個(gè)dec信號,用lag信號產(chǎn)生一個(gè)inc信號。
至此,整個(gè)數(shù)字鎖相環(huán)已經(jīng)設(shè)計(jì)完畢。步驟中提到的計(jì)數(shù)器就相當(dāng)于積分,phase的作用就是完成鑒相,第10步也就是一些有關(guān)數(shù)字鎖相環(huán)的書籍中提到的濾波。第3步提到r/2計(jì)數(shù)器而后在第4步用cnt的狀態(tài)翻轉(zhuǎn)lowclk來實(shí)現(xiàn)r分頻,是為了強(qiáng)調(diào)輸出的lowclk的展空比為50%。
歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(www.dzsc.com)
熱門點(diǎn)擊
- 電位器結(jié)構(gòu)及符號
- 拆焊操作
- 貼片電容的精度表示方法
- 利用ISE中的Tcl功能控制版本
- 非線性電阻元件的伏安特性
- RC低通濾波器的響應(yīng)特性
- Tcl工具語言和ISE開發(fā)工具中草的Tcl功
- 同步復(fù)位及異步復(fù)位設(shè)計(jì)
- 全局時(shí)鐘資源和時(shí)鐘多路復(fù)用器(BUFGMUX
- π形阻抗匹配電路
推薦技術(shù)資料
- 羅盤誤差及補(bǔ)償
- 造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
- MOSFET 電感單片降壓開關(guān)模式變換器優(yōu)勢
- SiC MOSFET 和 IG
- 新型 電隔離無芯線性霍爾效應(yīng)電
- 業(yè)界超小絕對位置編碼器技術(shù)參數(shù)設(shè)計(jì)
- 高帶寬、更高分辨率磁角度傳感技術(shù)應(yīng)用探究
- MagAlpha 角度位置傳感
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究