引言
在安檢機系統中,安檢機的主設備與控制臺的雙向通信具有非對稱性,由主設備X射線端采樣得到的大量數據通過高速通道傳送至PC控制臺進行處理。然而由控制臺傳送給安檢機的控制信號,因數據量較小,僅需低速通道進行傳輸即可,并且在安檢主設備端對于高速數據的處理是基于FPGA平臺實現的,若同時采用單片FPGA對接收控制信號進行處理,一方面可減少硬件電路的設計負擔,另一方面也降低了設備成本。但與此同時,若該系統采用傳統串行通信方式,則在處理高速數據的FPGA電路單元中引入低速時鐘線,不僅容易受到電路板上高頻信號的影響,而且由于控制臺距離CT機距離較長,不利于時鐘信號的傳輸。因此,對于安檢機控制信號的傳輸一般采用單路串行低速通信方式。對于這種傳輸方式,在FPGA上采用一種高效的數字時鐘提取技術就十分必要。
1 數字時鐘提取環路基本原理
數字鎖相環能讓本地產生的時鐘信號自動跟蹤輸入信號相位,從而實現一個閉環自動控制系統。數字鎖相環的基本結構是由數字鑒相器(DPD)、數字環路濾波器(DLF)、數字可控振蕩器(DCO)和本地時鐘源(LC)組成的一個反饋環路,其具體原理框圖如圖1所示。
基于數字鎖相環的數據時鐘提取系統工作原理如下:本地產生一個高頻率的時鐘,數字鑒相器通過輸入信號與估算時鐘進行鑒相比較,輸出鑒相信息。之后由數字環路濾波器根據鑒相信息對相位誤差進行平滑運算,輸出數控振蕩器控制信號,通過對本地估算時鐘的相位調整,最終跟蹤到輸入數據的位同步時鐘。
2 各模塊功能及實現原理
2.1 數字鑒相器
數字鑒相器用于獲取輸入信號與本地估算時鐘的相位比較信息,常用異或門實現。在數字鑒相器中,首先將輸入信號的正向過零脈沖與本地估算信號的正向過零脈沖進行比較,從中得到一個表明相位提前或延后誤差的脈沖輸出,其寬度反映超前(滯后)相位的多少。當本地估算信號超前于輸入信號時,其輸出為超前脈沖,反之,則為滯后脈沖。綜合考慮到安檢系統中的控制信號屬于數字信號,并且由于FPGA的資源主要用于完成采集數據的處理,應盡量減少對FPGA資源的使用。本文的方案采用了超前/滯后數字鑒相器。
超前/滯后數字鑒相器硬件實現有兩種方式,分為積分型結構與微分型結構。積分型結構的硬件實現比較復雜,但具有良好的抗干擾性能;微分型結構則具有相反特性。為了優化系統性能,選擇使用微分型結構。盡管微分型結構的抗干擾能力較弱,但是結合安檢機系統的實際環境,該結構可以滿足系統需要。圖2為微分型超前/滯后數字鑒相器的結構原理圖,圖3為其時序圖。
通過時序圖可以看到,輸入數據datain在本地估算時鐘的邊沿(包含上升沿和下降沿)觸發下,依次存入寄存器a,b,c中。在時鐘下降沿的觸發下,通過對a,c信號進行異或運算,生成error信號,作為誤差跳變絕對值輸出。通過對b,c信號進行異或運算,生成sign信號,作為超前/滯后標志位輸出。具體仿真結果如圖4所示。
從圖4可以發現,對于error信號,若前一位數據存在跳變,則輸出高電平,否則輸出低電平。對于sign信號,當估算時鐘超前時,輸出高電平,滯后時,輸出低電平。該模塊輸出的兩路信號將作為環路濾波器的輸入信號,對下級結構進行控制。
2.2 數字環路濾波器
數字環路濾波器在鎖相環路系統中主要起兩種作用:其一,輸出超前調整信號及滯后調整信號,以控制數控振蕩器模塊,對估計時鐘進行相位調整;其二,有數字濾波作用,對噪聲信號及高頻干擾信號起到較好的抑制作用。數字環路濾波器內部擁有容量為2N的計數器,能夠有效消除隨機出現的具有正態分布特性的噪聲信號。容量2N值越大,對噪聲抑制效果越好,但同時2N值越大,跟蹤速度越慢,實時捕捉能力下降。所以設計時,2N值的選取要綜合考慮安檢系統的實際參數要求。出于減少占用FPGA系統資源的考慮,該系統采用隨即徘徊濾波器作為實現方案。該濾波器原理框圖如圖5所示。
在實現方案中,環路濾波器通過加減計數邏輯單元實現。通過讀取鑒相單元輸出的兩路使能信號對計數器進行代數累加或累減操作,當達到記數的邊界值0或2N時在輸出端送出insert(插入時鐘周期)或deduct(扣除時鐘周期),與此同時,計數器內部寄存器值從2N自動恢復到N,重新開始。
該模塊如圖6所示,其中clkl是記數時鐘,由數控振蕩器模塊內部分頻得到;clr是啟動清零控制端;en接前端模塊的error信號,該引腳是對記數功能的使能,即在輸入數據(Data_in)有跳變時,才能判斷相位誤差;up_down是加減記數輸入,與上級模塊的sign使能信號相連,當sign=1時,做累加操作,當sign=0時,做累減操作,直到代數累加/累減運算到0或2N時,再對累加/累減計數器進行恢復。
在安檢機控制信號中,考慮到隨機噪聲引起的相位誤差輸出長時間地保持在同一極性,誤差很小,在該模塊中會被有效抵消,而不會傳到后級模塊,從而可達到抑制噪聲的目的。與此同時,根據安檢機系統參數的要求,取N=512,當處于累加計算時,計算上限為1 023;當處于累減計算時,計算下限是O。
2.3 數控振蕩器
數控振蕩器的主要功能是根據前級環路濾波器模塊輸出的insert和deduct:控制信號,生成本地估算時鐘clk_e,該時鐘即為數字鎖相環(DPLL)最終提取到的數據時鐘。此外,在本設計中,數控振蕩器整合了本地時鐘模塊的功能,同時產生了用于整個系統的各路時鐘信號,從而使系統各個模塊能夠協調工作,保證了系統運行的穩定性和可靠性。數控振蕩器模塊分為兩個基本模塊,即catch和div模塊。具體結構圖如圖7所示。
catch模塊的功能如下:
在本系統中,FPGA上用于驅動高速采樣數據發送的主時鐘為64 MHz,因此本設計中的全局時鐘Gclk頻率為64 MHz,這樣可以有效節約FPGA上的硬件PLL資源,提高了硬件使用效率。
在catch模塊內部,首先對全局時鐘Gclk進行4分頻,由于Gclk的設計頻率為64 MHz,實現4分頻后達到16 MHz。之后,catch模塊根據前端環路濾波器的輸出信號insert和reduct,在分頻后的16 MHz時鐘推動下,若insert信號出現高脈沖,自動在4分頻后的時鐘上補充一個Gclk時鐘周期的延時,該操作僅對insert信號的高脈沖上升沿有效;相類似,若reduct信號出現高脈沖,自動在4分頻后的時鐘上扣除一個Gclk時鐘周期。
div模塊的功能如下:
該模塊為catch單元的后級,其主要功能是根據catch給出的Gelk_out信號進行N分頻。在本系統中,需要恢復頻率為4 MHz的數據時鐘,因此這里第一個分頻系數N=4,輸出為1*=4 MHz的時鐘信號(clk_e),第二個分頻時鐘為數字環路濾波器的記數時鐘,該信號是經過2分頻(頻率為8 MHz)后的時鐘信號,用于進行DLF濾波。與此同時,也可以加速該時鐘,這樣可以縮短捕捉時間,并且擴展其捕捉帶寬。該數控振蕩器的加扣時鐘和分頻的綜合仿真時序圖如圖8所示。
從該時序圖可以看到,在insert與reduct信號的控制下,模塊內部進行加/減時鐘操作,最終在輸出時鐘信號中得到延時或者扣除節拍的捕捉效果。
3 本系統整體時序仿真結果
結合安檢機控制信號的實際傳輸情況,確定設計要求,對整體系統進行時序仿真。其中,選定Gclk頻率為64 MHz,數據速率為4 Mb/s,并設定初始狀態中,估計時鐘和數據的相位差為103.775 ns,顯示結果為相位滯后。根據數字鎖相環的基本原理,必須進行扣脈沖的操作后才能最終提取到同步時鐘。鑒于該系統需要的捕獲精度較高,因此捕獲時間較長,并且由于整個仿真界面有限,只能觀察到時鐘提取過程,具體如圖9所示。
由圖9可以看出,從箭頭處開始,出現了扣脈沖和加脈沖循環出現的情況,對于該情況分析如下:
由于初始設定的估計時鐘相位滯后為103.775 ns,從圖9仿真結果可以看出,在經歷了7次扣脈運算后,由于每次扣脈沖的時間是1/(64×106)=15.225 ns,那么7個扣脈沖的時間就是15.225 ns×7=106.575 ns。在7個時鐘扣除以后,相位又超前了106.575-103.775=2.8 ns,因此后續的操作必須加脈沖,從而實現相位捕捉。因為每加一個脈沖是15.225 ns,之后會再次出現相位滯后,又進行扣脈沖操作。如此循環,直到最終接近極限,提取到穩定的時鐘信號。
4 FPGA硬件測試
鑒于該系統應用于安檢機控制信號傳輸系統中,故將該設計通過FPGA硬件平臺進行了驗證。該驗證平臺基于Altera公司Cyclone系列的EPlCl2Q240C8型號的FPGA芯片。鑒于實際系統中FPGA的本地系統時鐘為32.768 MHz,故測試輸入數據(datain)的速率為4.096 MHz。基于FPGA開發軟件Quartus實現的測試系統整體結構圖如圖10所示。
Signal TapⅡ邏輯分析器是Quartus軟件中集成的一個內部邏輯分析軟件,使用它可以觀察設計的內部信號變化,為FPGA設計的調試、開發帶來極大的方便,實用性很高。以下各圖為Quartus軟件中SignalTapⅡ實時觀察到的數據。
相位調整驗證如圖11所示。由圖11可以發現,開始時鐘的相位滯后于數據相位。因此經過調整,通過數字環路濾波器輸出的reduct信號控制數控振蕩器模塊進行扣時鐘操作,最終使本地估算時鐘與數據時鐘同步,正確地調整了相位。
當該系統捕獲到數據時鐘后,就會穩定輸出與數據信號同相的時鐘信號,穩定狀態截圖如圖12所示。
利用FPGA開發平臺所具有的Signal TapⅡ功能,成功地在硬件平臺上驗證了該系統的可行性與穩定性。
5 結語
目前,鑒于國際國內形勢的發展,安檢機系統得到了越來越廣泛的應用,安檢機中通信系統的發展也逐漸趨向高速化、高效化。對于采樣數據量的增大,就要求有一條高速傳輸通道,同時,控制臺低速控制信號的傳輸也要求有高效鏈路的構建。本文設計了一個高效時鐘提取方案,并在FPGA上完成了驗證。實驗結果表明,基于鎖相環的實現方案不僅提高了時鐘提取的精度,而且平衡了捕捉時間,為安檢機系統低速控制信令的傳輸提供了基本的技術支持,并且使控制信號的傳輸僅需要一條數據線就可以完全實現,保證了安檢機控制信號鏈路傳輸的高效性,降低了設備成本,加快了開發速度,提高了整體系統的運行效率。
:
-
FPGA
+關注
關注
1630文章
21759瀏覽量
604360 -
濾波器
+關注
關注
161文章
7846瀏覽量
178413 -
振蕩器
+關注
關注
28文章
3840瀏覽量
139171
發布評論請先 登錄
相關推薦
評論