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