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