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