新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 一種快速位同步時(shí)鐘提取方案及實(shí)現(xiàn)

一種快速位同步時(shí)鐘提取方案及實(shí)現(xiàn)

作者: 時(shí)間:2008-01-04 來(lái)源:網(wǎng)絡(luò) 收藏
摘 要:本文比較了兩種常用位同步提取電路的優(yōu)缺點(diǎn),在此基礎(chǔ)上提出了一種基于CPLD/FPGA、用于數(shù)字通信系統(tǒng)的新型快速位同步。此借助Altera的設(shè)計(jì)工具設(shè)計(jì)了位同步提取電路,并利用FPGA予以實(shí)現(xiàn),同時(shí)給出了該電路的仿真試驗(yàn)波形圖。

  關(guān)鍵詞:CPLD/FPGA;位同步;VHDL;通信系統(tǒng)

  引言

  在數(shù)字通信系統(tǒng)中,同步技術(shù)是非常重要的,而位同步是最基本的同步。信號(hào)不僅用于監(jiān)測(cè)輸入碼元信號(hào),確保收發(fā)同步,而且在獲取禎同步、群同步及對(duì)接收的數(shù)字碼元進(jìn)行各種處理的過(guò)程中,也為系統(tǒng)提供了一個(gè)基準(zhǔn)的同步時(shí)鐘。

  隨著可編程器件容量的增加,設(shè)計(jì)師傾向于把位同步電路設(shè)計(jì)在CPLD/FPGA芯片內(nèi)部。因此,本文采用Quartus II軟件設(shè)計(jì)了一種新型的位同步提取電路,對(duì)電路進(jìn)行了仿真試驗(yàn),并使用Altera的Cyclone II系列FPGA芯片EP2C5予以實(shí)現(xiàn)。

  在CPLD/FPGA上實(shí)現(xiàn)位同步,最簡(jiǎn)單直接的辦法就是利用FPGA的片上鎖相環(huán)。但這種鎖相環(huán)要求的輸入時(shí)鐘范圍是10MHz~100MHz,它對(duì)于低速數(shù)據(jù)顯得無(wú)能為力。而且,對(duì)于中低檔FPGA來(lái)說(shuō),鎖相環(huán)是稀缺資源,很多時(shí)候被用作系統(tǒng)時(shí)鐘鎖相。CPLD片上則沒(méi)有鎖相環(huán),大部分應(yīng)用都需要設(shè)計(jì)師自己設(shè)計(jì)位同步電路。

  兩種位同步提取電路性能分析

  目前在CPLD/FPGA上常用的位同步可分為兩類(lèi):一是采用鎖相環(huán)的閉環(huán)相位調(diào)整電路,二是采用開(kāi)環(huán)結(jié)構(gòu)的位同步電路。下面用兩個(gè)典型的設(shè)計(jì)電路來(lái)討論這兩種方案的優(yōu)缺點(diǎn)。

  基于超前滯后型鎖相環(huán)的位同步提取電路

  這種電路一般采用添/扣門(mén)結(jié)構(gòu),如圖1所示,每輸入一個(gè)碼元后,根據(jù)鑒相器輸出是超前還是滯后,通過(guò)反饋回路控制的添/扣門(mén)來(lái)調(diào)整相位,使之逼近輸入碼元的相位。為了提高精度,這種方案只能采用更短的調(diào)整脈沖,一旦失步,就需要通過(guò)反饋回路重新調(diào)整。每一個(gè)超前和滯后脈沖僅能調(diào)整一步,如果接收碼元出現(xiàn)連“0”或是連“1”的情況,鎖定時(shí)間會(huì)很長(zhǎng),使其同步建立時(shí)間和調(diào)整精度變得相互制約。盡管有此缺點(diǎn),但由于這種結(jié)構(gòu)具有失鎖后的自我調(diào)節(jié)性,因此,碼元消失或是碼元相位出現(xiàn)抖動(dòng)時(shí),同步脈沖不會(huì)出現(xiàn)較大變化,仍然可以輸出穩(wěn)定的同步脈沖。

圖1 數(shù)字鎖相環(huán)法位同步提取原理框圖

  采用開(kāi)環(huán)結(jié)構(gòu)的快速位同步電路

  由于這種結(jié)構(gòu)沒(méi)有采用閉環(huán)的相位調(diào)節(jié)電路,所以要求在每一個(gè)輸入碼元跳變沿實(shí)現(xiàn)與輸出的同步脈沖跳變沿相位對(duì)齊。所以,通常采用這種結(jié)構(gòu)的位同步電路能夠快速實(shí)現(xiàn)同步。其典型實(shí)例如圖2所示。

圖2 開(kāi)環(huán)位同步提取電路框圖

  跳變沿提取電路的作用是,當(dāng)產(chǎn)生一個(gè)邊沿脈沖時(shí),它直接反映了輸入信號(hào)的真實(shí)相位。以它為基準(zhǔn),就可以有效地提取出與輸入信號(hào)同步的時(shí)鐘。時(shí)鐘同步的原理就是利用這個(gè)邊沿脈沖清零計(jì)數(shù)器,輸出反映輸入碼元相位的一個(gè)高精度時(shí)鐘源周期的短脈沖。圖中狀態(tài)寄存器保證了在接收碼元出現(xiàn)連“0”或是連“1”時(shí)仍然會(huì)有固定的反映碼元時(shí)鐘的短脈沖輸出??梢?jiàn),這種設(shè)計(jì)與數(shù)字鎖相環(huán)法相比,優(yōu)點(diǎn)主要是可以快速提取位同步脈沖,并進(jìn)行實(shí)時(shí)輸出。另外,這種電路結(jié)構(gòu)要更節(jié)省硬件資源。

  該電路也有兩大缺點(diǎn),首先,輸出S并不是占空比為50%的時(shí)鐘脈沖,而是間隔不固定的短脈沖。此缺點(diǎn)可以通過(guò)增加一個(gè)時(shí)鐘整形電路來(lái)解決。第二個(gè)缺點(diǎn)是,由于跳變沿提取電路的輸出X3(clr)具有對(duì)計(jì)數(shù)器清零的作用,如果跳變沿出現(xiàn)抖動(dòng)的話(huà),這種跳變沿會(huì)和計(jì)數(shù)器原先的輸出產(chǎn)生沖突,造成輸出時(shí)鐘信號(hào)占空比大幅度變化,嚴(yán)重時(shí)會(huì)出現(xiàn)毛刺。這對(duì)后續(xù)電路功能的實(shí)現(xiàn)無(wú)疑會(huì)產(chǎn)生致命的影響,很可能導(dǎo)致設(shè)計(jì)失敗。

  新型快速位同步提取方案

  綜合以上兩種設(shè)計(jì)的優(yōu)缺點(diǎn),本文提出了一種新型的設(shè)計(jì)方案,其原理框圖如圖3所示。該方案實(shí)現(xiàn)位同步的基本原理是利用輸入碼元的跳變沿脈沖作為計(jì)數(shù)器的清零輸入信號(hào),這里高精度時(shí)鐘的頻率為F,碼元速率為f,取F=2Nf=2N/T(T為輸入的不歸零碼元的寬度)。原理圖中的計(jì)數(shù)器為N進(jìn)制自動(dòng)增加計(jì)數(shù)器。當(dāng)輸入清零信號(hào)后,計(jì)數(shù)器輸出翻轉(zhuǎn)。當(dāng)輸入碼元出現(xiàn)連“0”或是連“1”時(shí),一個(gè)碼元的長(zhǎng)度為2NT。由于計(jì)數(shù)器為N進(jìn)制,計(jì)數(shù)器的計(jì)數(shù)值回到0時(shí),計(jì)數(shù)器的輸出仍然翻轉(zhuǎn),占空比為:NT/2NT=50%。這樣就保證了一個(gè)輸入碼元的寬度對(duì)應(yīng)了占空比為50%的時(shí)鐘信號(hào),即實(shí)現(xiàn)了輸入碼元與計(jì)數(shù)器輸出CLKOUT時(shí)鐘的同步。

  圖3中數(shù)字濾波器的作用是將輸入碼元中的窄脈沖干擾濾除掉,這部分電路較簡(jiǎn)單,在此不作介紹。跳變沿提取電路的作用仍然是提取碼元的跳變沿,這部分作用和實(shí)現(xiàn)原理與圖2介紹的方法相同。其中,跳變沿提取電路如圖4所示。

圖3 新型位同步提取電路框圖

圖4 碼元跳變沿脈沖產(chǎn)生電路

  固定延遲單元的作用是,將經(jīng)過(guò)跳變沿提取電路之后的碼元信號(hào)進(jìn)行固定時(shí)鐘周期的延遲,使之與計(jì)數(shù)器的輸出同相,從而達(dá)到位同步。

  本設(shè)計(jì)的關(guān)鍵點(diǎn)是帶清零抖動(dòng)判斷的N進(jìn)制計(jì)數(shù)器的設(shè)計(jì)。當(dāng)計(jì)數(shù)器清零輸入沒(méi)有抖動(dòng),而嚴(yán)格按照t=n2NT時(shí)間出現(xiàn)時(shí)(當(dāng)出現(xiàn)連“1”或是連“0”時(shí),式中n>1,否則n = 1),計(jì)數(shù)器計(jì)到“0”和清零脈沖同時(shí)生效,計(jì)數(shù)器輸出翻轉(zhuǎn),這時(shí)的輸出時(shí)鐘是穩(wěn)定的。計(jì)數(shù)器的清零輸入信號(hào)是由碼元的邊沿脈沖提供的,所謂清零抖動(dòng)實(shí)際上就是輸入碼元的邊沿位置出現(xiàn)抖動(dòng),這是符合實(shí)際情況的,因?yàn)樾盘?hào)的傳輸路徑上不可避免地會(huì)產(chǎn)生衰減,并受到干擾,發(fā)送方的數(shù)據(jù)發(fā)送時(shí)鐘也有可能存在抖動(dòng)。下面討論這種抖動(dòng)對(duì)N進(jìn)制計(jì)數(shù)器輸出產(chǎn)生的影響:

  1.當(dāng)輸入的不歸零碼元的跳變沿出現(xiàn)的時(shí)間略小于2NT的整數(shù)倍時(shí),稱(chēng)之為前向抖動(dòng)。此時(shí)計(jì)數(shù)器的清零脈沖出現(xiàn)在計(jì)數(shù)器還沒(méi)有計(jì)數(shù)到 “0”的某個(gè)計(jì)數(shù)值的位置,比如當(dāng)計(jì)數(shù)器計(jì)到N-1時(shí),清零脈沖出現(xiàn),于是計(jì)數(shù)器被清零脈沖清零,同時(shí)輸出脈沖翻轉(zhuǎn)。這種情況會(huì)使輸出的時(shí)鐘脈沖比估計(jì)的翻轉(zhuǎn)時(shí)間提前aT=(0+N-(N-1)+1)T=2T,這對(duì)時(shí)鐘輸出不會(huì)產(chǎn)生不利影響。而且,時(shí)鐘的翻轉(zhuǎn)時(shí)間實(shí)時(shí)反映出碼元的變化,有利于后續(xù)電路功能的實(shí)現(xiàn)。

  2.當(dāng)輸入的不歸零碼元的跳變沿出現(xiàn)的時(shí)間略大于2NT的整數(shù)倍時(shí),稱(chēng)之為后向抖動(dòng)。此時(shí)計(jì)數(shù)器的清零脈沖出現(xiàn)在計(jì)數(shù)器計(jì)數(shù)到“0”之后的某個(gè)計(jì)數(shù)值的位置,比如當(dāng)計(jì)數(shù)值為2時(shí),清零脈沖出現(xiàn)?,F(xiàn)在來(lái)看計(jì)數(shù)器的輸出,首先當(dāng)計(jì)數(shù)器計(jì)到“0”前,計(jì)數(shù)器輸出一直維持在“0”;計(jì)數(shù)器計(jì)到“0”后,計(jì)數(shù)器輸出自動(dòng)翻轉(zhuǎn)為“1”,然后繼續(xù)計(jì)數(shù);當(dāng)計(jì)數(shù)值為2時(shí),清零脈沖出現(xiàn),于是計(jì)數(shù)器被清零脈沖清零,同時(shí)輸出脈沖翻轉(zhuǎn)為“0”,計(jì)數(shù)器輸出就會(huì)出現(xiàn)持續(xù)時(shí)間為bT=(2-0)T=2T的窄脈沖。當(dāng)接收電路的時(shí)鐘里出現(xiàn)這種不可預(yù)測(cè)的窄脈沖時(shí),接收電路位同步之后的后續(xù)電路的功能也就無(wú)法正常實(shí)現(xiàn)了,這也就是本文剛開(kāi)始討論的采用開(kāi)環(huán)結(jié)構(gòu)的快速位同步電路的缺點(diǎn)。

  本文的設(shè)計(jì)方案中所采用的計(jì)數(shù)器是利用VHDL語(yǔ)言設(shè)計(jì)的、帶清零抖動(dòng)判斷功能的計(jì)數(shù)器。具體來(lái)說(shuō),它可以判斷清零抖動(dòng)為前向抖動(dòng)還是后向抖動(dòng)。如果是后者,則忽略此次清零脈沖,同時(shí)將此之后的某個(gè)計(jì)數(shù)值減去b,這樣做的目的是防止這種抖動(dòng)帶來(lái)的影響出現(xiàn)累加。依照以上分析及處理辦法,可以設(shè)計(jì)出帶有清零抖動(dòng)判斷功能的計(jì)數(shù)器。

  a:process(clk,clr) begin

  if clk'event and clk='1' then

  if clr='1' and count>c then count=0;

  elsif clr='1' and count=0 then count=1; zero='1';

  elsif clr='1' and count>0 and count=c then temp=count;

  elsif count=N/2 then

  if zero='1' then count=N/2; zero='0';

  elsif temp=0 then count=count+1;

  else count=N/2-temp+1; temp=0;

  end if;

  else count=count + 1;

  end if;

  end if;

  end process a;

  b:process(clk,clkout) begin

  if clk'event and clk='1' then

  if count=0 then clkout= not clkout;

  end if;

  end if;

  end process b;

  程序中count為當(dāng)前時(shí)刻的計(jì)數(shù)值,當(dāng)清零信號(hào)有效時(shí),首先進(jìn)行0c。這樣可以在碼元跳邊沿之間的計(jì)數(shù)值湊夠N的整數(shù)倍,避免了這種抖動(dòng)帶來(lái)的影響出現(xiàn)累加。程序中對(duì)清零信號(hào)有效且n=0的情況作了特殊考慮。

  本設(shè)計(jì)方案在Altera的Cyclone II系列FPGA芯片EP2C5上進(jìn)行了實(shí)現(xiàn),在Quartus II環(huán)境下,用VHDL硬件描述語(yǔ)言和電路圖輸入混合設(shè)計(jì)的方法,完成了整個(gè)時(shí)鐘提取電路的設(shè)計(jì),其仿真結(jié)果如圖5所示。仿真中采用的CLK頻率為10MHz,參數(shù)取值為N=32、c=4。仿真圖中各輸入輸出標(biāo)號(hào)與圖3中標(biāo)號(hào)對(duì)應(yīng)。

圖5 仿真波形

  提取電路的性能

  將廣泛采用的鎖相環(huán)路法(模擬鎖相環(huán)和數(shù)字鎖相環(huán))和本文設(shè)計(jì)的開(kāi)環(huán)位同步法相比較,本方案有如下優(yōu)點(diǎn):

  1.本設(shè)計(jì)基于開(kāi)環(huán)結(jié)構(gòu),具備了開(kāi)環(huán)結(jié)構(gòu)位同步提取電路的快速同步特點(diǎn)。如果輸入不出現(xiàn)較大的相位抖動(dòng),輸出時(shí)鐘的相位可以實(shí)時(shí)地反映輸入碼元的相位。

  2.由于具有判斷輸入碼元脈沖邊沿抖動(dòng)的功能,因此也具有鎖相環(huán)的自適應(yīng)性。由以上分析可知,當(dāng)輸入碼元出現(xiàn)抖動(dòng)而使得輸出時(shí)鐘沒(méi)有和碼元對(duì)齊之后,下一個(gè)碼元跳變沿就會(huì)重新對(duì)齊。這種自適應(yīng)性比鎖相環(huán)的自適應(yīng)反應(yīng)更迅速。

  3.本設(shè)計(jì)可支持的系統(tǒng)時(shí)鐘clk可以達(dá)到181MHz,支持的輸入碼元速率最大為(181/N)MHz,可以支持大部分的數(shù)字通信應(yīng)用。

  4.本設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,這種辦法比鎖相環(huán)法更節(jié)省LE資源。當(dāng)N=32、c=4時(shí),使用EP2C5Q208C8器件,位同步提取電路所消耗的LE數(shù)目?jī)H為26個(gè)。

  結(jié)語(yǔ)

  實(shí)現(xiàn)位同步的方法很多,本文討論的是一種提取位同步信號(hào)的新型設(shè)計(jì)方案。該設(shè)計(jì)在Quartus II下調(diào)試通過(guò)并在實(shí)踐中得到應(yīng)用。實(shí)踐證明這種方法可以用很少的FPGA資源實(shí)現(xiàn)位同步的目的,并具有很高的穩(wěn)定性和可靠性。

  參考文獻(xiàn):

  1. 段吉海,黃志偉,王毓銀. 基于CPLD/FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計(jì). 2004

  2. 陳世偉. 鎖相環(huán)路原理及應(yīng)用. 兵器工業(yè)出版社, 1990

  3. 王蘭勛,榮民. 一種提取方案及實(shí)現(xiàn). 工程應(yīng)用, 2003



關(guān)鍵詞: 位同步時(shí)鐘 方案

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉