一種基于VHDL語(yǔ)言的全數字鎖相環(huán)的實(shí)現
隨著(zhù)集成電路技術(shù)的不斷進(jìn)步,數字化應用逐漸普及,在數字通信、電力系統自動(dòng)化等方面越來(lái)越多地運用了數字鎖相環(huán)。它的好處在于免去了模擬器件的繁瑣,而且成本低、易實(shí)現、省資源。本文綜合以上考慮,在一片FPGA中以Quartus II為平臺用VHDL實(shí)現了一個(gè)全數字鎖相環(huán)
功能模塊,構成了片內鎖相環(huán)
。
數字鎖相環(huán)是一種相位反饋控制系統。在數字鎖相環(huán)
中,由于誤差控制信號是離散的數字信號而不是模擬信號,與之相對應,受控的輸出相位的改變是離散的而不是連續的;此外,環(huán)路組成的部件也全由數字電路實(shí)現,故名“數字鎖相環(huán)”[1]。常用的數字鎖相環(huán)原理如圖1所示。
1 數字鎖相環(huán)的結構及工作原理
如圖1所示,數字鎖相環(huán)主要由鑒相器、K變??赡嬗嫈灯?、脈沖加減器、N分頻器構成。
鑒相器其實(shí)就是一個(gè)異或門(mén),它將輸入信號Din與位同步脈沖輸出信號Dout相異或,比較它們之間的相位差,并輸出相位誤差信號作為K變??赡嬗嫈灯鞯挠嫈捣较虻目刂菩盘朇S。當環(huán)路鎖定時(shí),這個(gè)控制信號為占空比是50%的方波。
K變??赡嬗嫈灯鞲鶕嗖钚盘朇S的變化,向不同的方向計數。當CS為邏輯“1”時(shí),計數器向下計數,如果計到0,則輸出一個(gè)借位脈沖給脈沖加減器;當CS為邏輯“0”時(shí),計數器向上計數,如果計到模值,則輸出一個(gè)進(jìn)位脈沖給脈沖加減器。
脈沖加減器是根據K變??赡嬗嫈灯鬏敵龅倪M(jìn)位、借位脈沖來(lái)不斷地對本地時(shí)鐘進(jìn)行調整。當有進(jìn)位脈沖時(shí),脈沖加減器就在本地時(shí)鐘上加入一個(gè)周期的時(shí)鐘信號;當有借位脈沖時(shí),脈沖加減器就在本地時(shí)鐘上扣除一個(gè)周期的時(shí)鐘信號。如此反復不斷地對本地時(shí)鐘進(jìn)行調整,最終達到準確確定出輸入信號時(shí)鐘的目的,從而實(shí)現位同步[2]。
N分頻器是將脈沖加減器輸出的經(jīng)過(guò)調整以后的時(shí)鐘信號進(jìn)行分頻,以減小同步誤差。N值越大得到的同步誤差越小。
2 數字鎖相環(huán)各部分的VHDL實(shí)現
K變??赡嬗嫈灯鞲鶕A設模值Kmode來(lái)設置對應的模值寄存器的值,也即當預設模值范圍在0~15變化時(shí),與之相對應的Ktop的變化范圍為20~215。模值的大小直接決定了數字鎖相環(huán)鎖定時(shí)間的長(cháng)短,模值越大鎖定時(shí)間越長(cháng),反之越小。但鎖定時(shí)間越長(cháng),鎖定時(shí)的相位誤差越小,反之越大。這部分的VHDL設計程序[3]如下:
有了K變??赡嬗嫈灯鳟a(chǎn)生的進(jìn)位、借位脈沖,脈沖加減器就可以按照這兩種脈沖對本地高頻時(shí)鐘進(jìn)行不斷地調整,如圖2所示。
N分頻器的設計相對簡(jiǎn)單,其功能是將脈沖加減器輸出的經(jīng)過(guò)了調整的本地時(shí)鐘進(jìn)行N分頻,以減小同步脈沖輸出誤差。本例暫時(shí)用32分頻代替,其VHDL設計程序如下:
按照圖1數字鎖相環(huán)原理框圖的設計理念,設計出各個(gè)主要的功能塊,并將它們各自進(jìn)行仿真。在確認無(wú)誤后再連接起來(lái)進(jìn)行綜合仿真,以驗證設計的正確性。在綜合仿真的過(guò)程中一個(gè)最關(guān)鍵的問(wèn)題就是分析各個(gè)功能塊的時(shí)序關(guān)系、頻率關(guān)系。
3 頻率關(guān)系、時(shí)序分析
假設輸入信號的頻率為fi=1 200 Hz,則位同步輸出信號頻率fo=1 200 Hz,脈沖加減器輸出信號頻率fm2=N×fo,則其時(shí)鐘頻率fm1=2×fm2;K變??赡嬗嫈灯鞴ぷ鲿r(shí)鐘可設為M fo。這里的M、N值一般均為2的整數次冪,他們之間的具體關(guān)系需根據fi確定。綜合仿真的時(shí)序圖如圖3所示。
由圖3可以看出,CS控制信號逐漸變成了占空比為50%的方波,這也從側面反映出了鎖定過(guò)程。當鎖相環(huán)鎖定后,信號CODEIN出現連“0”和連“1”時(shí),也能準確實(shí)現位同步。鎖定時(shí)間約為15.8 ms。通過(guò)以上仿真,驗證了設計的正確性。對于不同的設計,只需要計算好頻率關(guān)系、修改一下N分頻器的N值,就可以實(shí)現不同輸入信號的同步。
本文介紹的這種以VHDL語(yǔ)言實(shí)現的全數字鎖相環(huán),是在A(yíng)LTERA公司的Cyclone系列FPGA—EP1C12Q240C8上實(shí)現的。它僅僅需要FPGA的95個(gè)邏輯單元,對于擁有12 060個(gè)邏輯單元的EP1C12來(lái)說(shuō),消耗的資源微乎其微,但卻是信號的差分相干解調過(guò)程中不可或缺的重要部分。通過(guò)以上方法介紹、仿真的實(shí)現,再一次體現了用硬件描述語(yǔ)言在可編程器件中實(shí)現數字電路的優(yōu)越性。
模擬信號相關(guān)文章:什么是模擬信號
數字通信相關(guān)文章:數字通信原理
分頻器相關(guān)文章:分頻器原理 塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理 鑒相器相關(guān)文章:鑒相器原理 脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理 鎖相環(huán)相關(guān)文章:鎖相環(huán)原理 鎖相放大器相關(guān)文章:鎖相放大器原理
評論