關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 光安檢機(jī)控制信號時(shí)鐘提取的設(shè)計(jì)與實(shí)現(xiàn)

光安檢機(jī)控制信號時(shí)鐘提取的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2011-05-03 來源:網(wǎng)絡(luò) 收藏
O 引言
在安檢機(jī)系統(tǒng)中,安檢機(jī)的主設(shè)備與控制臺的雙向通信具有非對稱性,由主設(shè)備X射線端采樣得到的大量數(shù)據(jù)通過高速通道傳送至PC控制臺進(jìn)行處理。然而由控制臺傳送給安檢機(jī)的控制信號,因數(shù)據(jù)量較小,僅需低速通道進(jìn)行傳輸即可,并且在安檢主設(shè)備端對于高速數(shù)據(jù)的處理是基于FPGA平臺實(shí)現(xiàn)的,若同時(shí)采用單片F(xiàn)PGA對接收控制信號進(jìn)行處理,一方面可減少硬件電路的設(shè)計(jì)負(fù)擔(dān),另一方面也降低了設(shè)備成本。但與此同時(shí),若該系統(tǒng)采用傳統(tǒng)串行通信方式,則在處理高速數(shù)據(jù)的FPGA電路單元中引入低速時(shí)鐘線,不僅容易受到電路板上高頻信號的影響,而且由于控制臺距離CT機(jī)距離較長,不利于時(shí)鐘信號的傳輸。因此,對于安檢機(jī)控制信號的傳輸一般采用單路串行低速通信方式。對于這種傳輸方式,在FPGA上采用一種高效的數(shù)字時(shí)鐘提取技術(shù)就十分必要。

1 數(shù)字時(shí)鐘提取環(huán)路基本原理
數(shù)字鎖相環(huán)能讓本地產(chǎn)生的時(shí)鐘信號自動跟蹤輸入信號相位,從而實(shí)現(xiàn)一個(gè)閉環(huán)自動控制系統(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ù)字鑒相器通過輸入信號與估算時(shí)鐘進(jìn)行鑒相比較,輸出鑒相信息。之后由數(shù)字環(huán)路濾波器根據(jù)鑒相信息對相位誤差進(jìn)行平滑運(yùn)算,輸出數(shù)控振蕩器控制信號,通過對本地估算時(shí)鐘的相位調(diào)整,最終跟蹤到輸入數(shù)據(jù)的位同步時(shí)鐘。

2 各模塊功能及實(shí)現(xiàn)原理
2.1 數(shù)字鑒相器

數(shù)字鑒相器用于獲取輸入信號與本地估算時(shí)鐘的相位比較信息,常用異或門實(shí)現(xiàn)。在數(shù)字鑒相器中,首先將輸入信號的正向過零脈沖與本地估算信號的正向過零脈沖進(jìn)行比較,從中得到一個(gè)表明相位提前或延后誤差的脈沖輸出,其寬度反映超前(滯后)相位的多少。當(dāng)本地估算信號超前于輸入信號時(shí),其輸出為超前脈沖,反之,則為滯后脈沖。綜合考慮到安檢系統(tǒng)中的控制信號屬于數(shù)字信號,并且由于FPGA的資源主要用于完成采集數(shù)據(jù)的處理,應(yīng)盡量減少對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í)序圖。

通過時(shí)序圖可以看到,輸入數(shù)據(jù)datain在本地估算時(shí)鐘的邊沿(包含上升沿和下降沿)觸發(fā)下,依次存入寄存器a,b,c中。在時(shí)鐘下降沿的觸發(fā)下,通過對a,c信號進(jìn)行異或運(yùn)算,生成error信號,作為誤差跳變絕對值輸出。通過對b,c信號進(jìn)行異或運(yùn)算,生成sign信號,作為超前/滯后標(biāo)志位輸出。具體仿真結(jié)果如圖4所示。


從圖4可以發(fā)現(xiàn),對于error信號,若前一位數(shù)據(jù)存在跳變,則輸出高電平,否則輸出低電平。對于sign信號,當(dāng)估算時(shí)鐘超前時(shí),輸出高電平,滯后時(shí),輸出低電平。該模塊輸出的兩路信號將作為環(huán)路濾波器的輸入信號,對下級結(jié)構(gòu)進(jìn)行控制。
2.2 數(shù)字環(huán)路濾波器
數(shù)字環(huán)路濾波器在鎖相環(huán)路系統(tǒng)中主要起兩種作用:其一,輸出超前調(diào)整信號及滯后調(diào)整信號,以控制數(shù)控振蕩器模塊,對估計(jì)時(shí)鐘進(jìn)行相位調(diào)整;其二,有數(shù)字濾波作用,對噪聲信號及高頻干擾信號起到較好的抑制作用。數(shù)字環(huán)路濾波器內(nèi)部擁有容量為2N的計(jì)數(shù)器,能夠有效消除隨機(jī)出現(xiàn)的具有正態(tài)分布特性的噪聲信號。容量2N值越大,對噪聲抑制效果越好,但同時(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)路濾波器通過加減計(jì)數(shù)邏輯單元實(shí)現(xiàn)。通過讀取鑒相單元輸出的兩路使能信號對計(jì)數(shù)器進(jìn)行代數(shù)累加或累減操作,當(dāng)達(dá)到記數(shù)的邊界值0或2N時(shí)在輸出端送出insert(插入時(shí)鐘周期)或deduct(扣除時(shí)鐘周期),與此同時(shí),計(jì)數(shù)器內(nèi)部寄存器值從2N自動恢復(fù)到N,重新開始。


該模塊如圖6所示,其中clkl是記數(shù)時(shí)鐘,由數(shù)控振蕩器模塊內(nèi)部分頻得到;clr是啟動清零控制端;en接前端模塊的error信號,該引腳是對記數(shù)功能的使能,即在輸入數(shù)據(jù)(Data_in)有跳變時(shí),才能判斷相位誤差;up_down是加減記數(shù)輸入,與上級模塊的sign使能信號相連,當(dāng)sign=1時(shí),做累加操作,當(dāng)sign=0時(shí),做累減操作,直到代數(shù)累加/累減運(yùn)算到0或2N時(shí),再對累加/累減計(jì)數(shù)器進(jìn)行恢復(fù)。

在安檢機(jī)控制信號中,考慮到隨機(jī)噪聲引起的相位誤差輸出長時(shí)間地保持在同一極性,誤差很小,在該模塊中會被有效抵消,而不會傳到后級模塊,從而可達(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ù)前級環(huán)路濾波器模塊輸出的insert和deduct:控制信號,生成本地估算時(shí)鐘clk_e,該時(shí)鐘即為數(shù)字鎖相環(huán)(DPLL)最終提取到的數(shù)據(jù)時(shí)鐘。此外,在本設(shè)計(jì)中,數(shù)控振蕩器整合了本地時(shí)鐘模塊的功能,同時(shí)產(chǎn)生了用于整個(gè)系統(tǒng)的各路時(shí)鐘信號,從而使系統(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ū)動高速采樣數(shù)據(jù)發(fā)送的主時(shí)鐘為64 MHz,因此本設(shè)計(jì)中的全局時(shí)鐘Gclk頻率為64 MHz,這樣可以有效節(jié)約FPGA上的硬件PLL資源,提高了硬件使用效率。
在catch模塊內(nèi)部,首先對全局時(shí)鐘Gclk進(jìn)行4分頻,由于Gclk的設(shè)計(jì)頻率為64 MHz,實(shí)現(xiàn)4分頻后達(dá)到16 MHz。之后,catch模塊根據(jù)前端環(huán)路濾波器的輸出信號insert和reduct,在分頻后的16 MHz時(shí)鐘推動下,若insert信號出現(xiàn)高脈沖,自動在4分頻后的時(shí)鐘上補(bǔ)充一個(gè)Gclk時(shí)鐘周期的延時(shí),該操作僅對insert信號的高脈沖上升沿有效;相類似,若reduct信號出現(xiàn)高脈沖,自動在4分頻后的時(shí)鐘上扣除一個(gè)Gclk時(shí)鐘周期。
div模塊的功能如下:
該模塊為catch單元的后級,其主要功能是根據(jù)catch給出的Gelk_out信號進(jìn)行N分頻。在本系統(tǒng)中,需要恢復(fù)頻率為4 MHz的數(shù)據(jù)時(shí)鐘,因此這里第一個(gè)分頻系數(shù)N=4,輸出為16/4=4 MHz的時(shí)鐘信號(clk_e),第二個(gè)分頻時(shí)鐘為數(shù)字環(huán)路濾波器的記數(shù)時(shí)鐘,該信號是經(jīng)過2分頻(頻率為8 MHz)后的時(shí)鐘信號,用于進(jìn)行DLF濾波。與此同時(shí),也可以加速該時(shí)鐘,這樣可以縮短捕捉時(shí)間,并且擴(kuò)展其捕捉帶寬。該數(shù)控振蕩器的加扣時(shí)鐘和分頻的綜合仿真時(shí)序圖如圖8所示。


從該時(shí)序圖可以看到,在insert與reduct信號的控制下,模塊內(nèi)部進(jìn)行加/減時(shí)鐘操作,最終在輸出時(shí)鐘信號中得到延時(shí)或者扣除節(jié)拍的捕捉效果。

3 本系統(tǒng)整體時(shí)序仿真結(jié)果
結(jié)合安檢機(jī)控制信號的實(shí)際傳輸情況,確定設(shè)計(jì)要求,對整體系統(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í)間較長,并且由于整個(gè)仿真界面有限,只能觀察到時(shí)鐘提取過程,具體如圖9所示。


由圖9可以看出,從箭頭處開始,出現(xiàn)了扣脈沖和加脈沖循環(huán)出現(xiàn)的情況,對于該情況分析如下:
由于初始設(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,之后會再次出現(xiàn)相位滯后,又進(jìn)行扣脈沖操作。如此循環(huán),直到最終接近極限,提取到穩(wěn)定的時(shí)鐘信號。

4 FPGA硬件測試
鑒于該系統(tǒng)應(yīng)用于安檢機(jī)控制信號傳輸系統(tǒng)中,故將該設(shè)計(jì)通過FPGA硬件平臺進(jìn)行了驗(yàn)證。該驗(yàn)證平臺基于Altera公司Cyclone系列的EPlCl2Q240C8型號的FPGA芯片。鑒于實(shí)際系統(tǒng)中FPGA的本地系統(tǒng)時(shí)鐘為32.768 MHz,故測試輸入數(shù)據(jù)(datain)的速率為4.096 MHz?;贔PGA開發(fā)軟件Quartus實(shí)現(xiàn)的測試系統(tǒng)整體結(jié)構(gòu)圖如圖10所示。


Signal TapⅡ邏輯分析器是Quartus軟件中集成的一個(gè)內(nèi)部邏輯分析軟件,使用它可以觀察設(shè)計(jì)的內(nèi)部信號變化,為FPGA設(shè)計(jì)的調(diào)試、開發(fā)帶來極大的方便,實(shí)用性很高。以下各圖為Quartus軟件中SignalTapⅡ?qū)崟r(shí)觀察到的數(shù)據(jù)。


相位調(diào)整驗(yàn)證如圖11所示。由圖11可以發(fā)現(xiàn),開始時(shí)鐘的相位滯后于數(shù)據(jù)相位。因此經(jīng)過調(diào)整,通過數(shù)字環(huán)路濾波器輸出的reduct信號控制數(shù)控振蕩器模塊進(jìn)行扣時(shí)鐘操作,最終使本地估算時(shí)鐘與數(shù)據(jù)時(shí)鐘同步,正確地調(diào)整了相位。
當(dāng)該系統(tǒng)捕獲到數(shù)據(jù)時(shí)鐘后,就會穩(wěn)定輸出與數(shù)據(jù)信號同相的時(shí)鐘信號,穩(wěn)定狀態(tài)截圖如圖12所示。


利用FPGA開發(fā)平臺所具有的Signal TapⅡ功能,成功地在硬件平臺上驗(yàn)證了該系統(tǒng)的可行性與穩(wěn)定性。

5 結(jié)語
目前,鑒于國際國內(nèi)形勢的發(fā)展,安檢機(jī)系統(tǒng)得到了越來越廣泛的應(yīng)用,安檢機(jī)中通信系統(tǒng)的發(fā)展也逐漸趨向高速化、高效化。對于采樣數(shù)據(jù)量的增大,就要求有一條高速傳輸通道,同時(shí),控制臺低速控制信號的傳輸也要求有高效鏈路的構(gòu)建。本文設(shè)計(jì)了一個(gè)高效時(shí)鐘提取方案,并在FPGA上完成了驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,基于鎖相環(huán)的實(shí)現(xiàn)方案不僅提高了時(shí)鐘提取的精度,而且平衡了捕捉時(shí)間,為安檢機(jī)系統(tǒng)低速控制信令的傳輸提供了基本的技術(shù)支持,并且使控制信號的傳輸僅需要一條數(shù)據(jù)線就可以完全實(shí)現(xiàn),保證了安檢機(jī)控制信號鏈路傳輸?shù)母咝?,降低了設(shè)備成本,加快了開發(fā)速度,提高了整體系統(tǒng)的運(yùn)行效率。

濾波器相關(guān)文章:濾波器原理


濾波器相關(guān)文章:濾波器原理


lc振蕩電路相關(guān)文章:lc振蕩電路原理
鑒相器相關(guān)文章:鑒相器原理
絕對值編碼器相關(guān)文章:絕對值編碼器原理
數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉