本發(fā)明屬于超高速數(shù)據(jù)采集技術(shù)領(lǐng)域,更為具體地講,涉及一種具有多器件同步復(fù)位識(shí)別校正功能的多通道并行采集系統(tǒng)。
背景技術(shù):
隨著科技的快速發(fā)展,信號(hào)的復(fù)雜性日益增加,對(duì)采集系統(tǒng)的采樣率的要求也逐漸增加,由于單片ADC(Analog-to-Digital Converter模數(shù)轉(zhuǎn)換器)芯片采樣率的制約,只能采用并行采集的方式來(lái)提高系統(tǒng)的采樣率。而目前較為流行的做法是利用時(shí)間交替模數(shù)轉(zhuǎn)換(TIADC)技術(shù)來(lái)提高系統(tǒng)的采樣率。然而多器件并行采集的系統(tǒng)由于復(fù)位信號(hào)很難做到完全的同時(shí)復(fù)位,于是這種復(fù)位信號(hào)的不同步往往會(huì)導(dǎo)致后續(xù)數(shù)據(jù)拼合不正確,最終導(dǎo)致高采樣率指標(biāo)無(wú)法實(shí)現(xiàn)。而且,該現(xiàn)象因采樣率的進(jìn)一步提升而采用多ADC多FPGA構(gòu)架方式變得越來(lái)越明顯,嚴(yán)重影響了系統(tǒng)實(shí)現(xiàn)的穩(wěn)定性。
在實(shí)際工程當(dāng)中,為了使得外部高速ADC輸出的同步時(shí)鐘能夠滿足FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)的運(yùn)行速度,需要對(duì)同步時(shí)鐘作一個(gè)分頻降速處理,且該操作一般使用的是FPGA內(nèi)部的DCM(Digital Clock Manager,時(shí)鐘管理單元)對(duì)時(shí)鐘進(jìn)行相應(yīng)的處理。于是影響復(fù)位同步操作就包括ADC的復(fù)位和DCM的復(fù)位。而導(dǎo)致復(fù)位操作不同步的原因主要有兩個(gè):復(fù)位信號(hào)延遲的不易控制和復(fù)位信號(hào)與采樣時(shí)鐘的不同源性,這兩個(gè)原因都可能導(dǎo)致復(fù)位信號(hào)恰好處于采樣時(shí)鐘的亞穩(wěn)態(tài)區(qū)間內(nèi),就會(huì)導(dǎo)致復(fù)位后的相位出現(xiàn)不確定現(xiàn)象,最終可能引發(fā)數(shù)據(jù)拼合的不正確。
在多通道并行采集系統(tǒng)中,包括N組ADC模塊和FPGA模塊。N片ADC同時(shí)對(duì)來(lái)自通道的數(shù)據(jù)進(jìn)行相應(yīng)的采集操作,根據(jù)對(duì)采樣時(shí)鐘相位的調(diào)整,將得到的采集數(shù)據(jù)SD1,…,SDN傳輸?shù)礁髯缘腇PGA芯片進(jìn)行相應(yīng)的接收。圖1是多ADC多FPGA的超高速并行采集系統(tǒng)原理框圖。如圖1所示,每個(gè)FPGA對(duì)其復(fù)位信號(hào)源RST,根據(jù)復(fù)位時(shí)鐘CLKRST生成兩路復(fù)位信號(hào)RSTADC和RSTDCM,分別發(fā)送給對(duì)應(yīng)的ADC芯片和DCM模塊。對(duì)于ADC芯片而言,在復(fù)位信號(hào)RSTADC到達(dá)之后,ADC芯片會(huì)根據(jù)復(fù)位的時(shí)刻產(chǎn)生一個(gè)與采樣時(shí)鐘SCLK同源的數(shù)據(jù)采樣同步時(shí)鐘信號(hào)DCLK發(fā)送給DCM模塊。以四分頻的時(shí)間關(guān)系為例,產(chǎn)生的采樣同步時(shí)鐘信號(hào)DCLK的時(shí)鐘相位關(guān)系最多有4種情況。圖2是四分頻下四種可能產(chǎn)生的DCLK的時(shí)鐘相位關(guān)系圖。圖2中去除了器件內(nèi)部固有延遲的分析,展示了4種可能的時(shí)鐘相位關(guān)系。進(jìn)一步地,在超高速數(shù)據(jù)采集系統(tǒng)中為了把數(shù)據(jù)采樣同步時(shí)鐘信號(hào)DCLK降速為滿足FPGA內(nèi)部運(yùn)行速度的工作時(shí)鐘CCLK,則需要通過(guò)DCM(時(shí)鐘管理單元)根據(jù)復(fù)位信號(hào)RSTDCM來(lái)執(zhí)行相應(yīng)的降速操作。該降速操作將會(huì)產(chǎn)生不同相位的CCLK,最終導(dǎo)致多通道并行數(shù)據(jù)的同步順序不確定問(wèn)題。
如果擴(kuò)展到更為復(fù)雜的情況,對(duì)于N組ADC模塊和FPGA模塊組成的多通道并行采集系統(tǒng),如果說(shuō)各自的采樣時(shí)鐘都進(jìn)行了M倍分頻的操作,那么最多可以產(chǎn)生M×N種情況,而這也大大增加了數(shù)據(jù)拼合順序的不確定性。而在實(shí)際應(yīng)用當(dāng)中,情況會(huì)更加復(fù)雜,因?yàn)樵诓蓸訒r(shí)鐘SCLK的上升沿周?chē)€存在著許多的不確定抖動(dòng)區(qū)間,即工程設(shè)計(jì)中所說(shuō)的亞穩(wěn)態(tài)區(qū)間,如果復(fù)位信號(hào)作用于此區(qū)間,也會(huì)導(dǎo)致最終復(fù)位結(jié)果的不確定性。所以在這些區(qū)間,是禁止對(duì)TIADC系統(tǒng)進(jìn)行復(fù)位操作。更進(jìn)一步說(shuō),由于任何時(shí)鐘信號(hào)的邊沿都存在這種亞穩(wěn)態(tài)區(qū)間,所以任何一種復(fù)位的結(jié)果都可能位于其前后任意一個(gè)區(qū)間,這些種種的原因?qū)е拢瑢?duì)于ADC芯片的復(fù)位操作需要進(jìn)行特殊的處理。
目前已有的多ADC復(fù)位同步處理方法主要有:硬件同步復(fù)位法和復(fù)位識(shí)別法。前者采用與采樣時(shí)鐘同源的工作時(shí)鐘來(lái)產(chǎn)生復(fù)位信號(hào),然后經(jīng)確知的延遲到達(dá)各ADC與DCM器件,使得滿足相應(yīng)的穩(wěn)定復(fù)位所要求的區(qū)間,進(jìn)而產(chǎn)生穩(wěn)定的同步結(jié)果,即并行數(shù)據(jù)的固定順序關(guān)系。該方法見(jiàn)期刊文獻(xiàn),Analysis on multiple-component synchronization of ultra-fast time-interleaved analog-to-digital conversion systems and its novel parameterized hardware solution,REVIEW OF SCIENTIFIC INSTRUMENTS,2014.05。后者對(duì)各ADC和DCM的復(fù)位進(jìn)行任意操作,采用外置的高精度時(shí)間間隔測(cè)量裝置對(duì)各個(gè)降速輸出的數(shù)據(jù)處理時(shí)鐘CCLK進(jìn)行兩兩相位差識(shí)別來(lái)確定復(fù)位后的結(jié)果,進(jìn)而來(lái)調(diào)整對(duì)應(yīng)的采樣數(shù)據(jù)的順序關(guān)系。該方法見(jiàn)文獻(xiàn)“中國(guó)專利,CN201110389013,一種多ADC數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)同步識(shí)別裝置,2011.11.30”。這兩種方法都能夠解決多ADC同步復(fù)位的問(wèn)題,但要么所需的硬件較復(fù)雜、要么調(diào)試過(guò)程較為繁瑣,很難在實(shí)際工程中得以有效實(shí)現(xiàn)。而且它們受溫度的影響較大,溫度一旦變化就會(huì)導(dǎo)致校正好的相位再次出現(xiàn)偏移,增大復(fù)位不確定性的風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種具有多器件同步復(fù)位識(shí)別校正功能的多通道并行采集系統(tǒng),通過(guò)對(duì)多通道并行采集系統(tǒng)中各FPGA模塊中數(shù)據(jù)工作時(shí)鐘CCLK進(jìn)行準(zhǔn)確地識(shí)別,并產(chǎn)生相應(yīng)的復(fù)位信號(hào)延遲控制,使得在每次同步復(fù)位后多通道數(shù)據(jù)工作時(shí)鐘CCLK的相位關(guān)系是確定的,從而保證后端數(shù)據(jù)同步的正確性。
為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明具有多器件同步復(fù)位識(shí)別校正功能的多通道并行采集系統(tǒng),包括N組ADC模塊和FPGA模塊,N的取值范圍為N≥2,其中ADC模塊對(duì)信號(hào)調(diào)理通道內(nèi)的信號(hào)進(jìn)行采集,將采集數(shù)據(jù)發(fā)送給FPGA模塊,ADC模塊根據(jù)接收的復(fù)位信號(hào)生成數(shù)據(jù)同步時(shí)鐘信號(hào)DCLK;FPGA模塊中包含時(shí)鐘管理單元、串并轉(zhuǎn)換模塊、數(shù)據(jù)存儲(chǔ)模塊和數(shù)據(jù)處理模塊,時(shí)鐘管理單元根據(jù)復(fù)位信號(hào)和數(shù)據(jù)同步時(shí)鐘信號(hào)DCLK生成FPGA內(nèi)部的數(shù)據(jù)工作時(shí)鐘CCLK,發(fā)送給觸發(fā)模塊和數(shù)據(jù)存儲(chǔ)模塊;串并轉(zhuǎn)換模塊將采集數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換,將轉(zhuǎn)換后的并行采集數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲(chǔ)模塊;數(shù)據(jù)存儲(chǔ)模塊在數(shù)據(jù)工作時(shí)鐘控制下對(duì)并行采集數(shù)據(jù)進(jìn)行緩存;數(shù)據(jù)處理模塊從數(shù)據(jù)存儲(chǔ)模塊中讀取數(shù)據(jù)進(jìn)行處理后發(fā)送給后續(xù)模塊;
第1個(gè)FPGA模塊中包括復(fù)位產(chǎn)生A模塊,復(fù)位產(chǎn)生A模塊將接收的復(fù)位信號(hào)RST1進(jìn)行分路后得到復(fù)位信號(hào)RSTADC1和RSTDCM1,分別轉(zhuǎn)發(fā)給第1個(gè)ADC模塊和第1個(gè)FPGA模塊內(nèi)部的時(shí)鐘管理單元;
第2至第N個(gè)FPGA模塊中,每個(gè)FPGA模塊分別配置一個(gè)復(fù)位控制模塊和同步識(shí)別模塊,復(fù)位控制模塊包括復(fù)位產(chǎn)生B模塊、復(fù)位同步模塊、延遲控制A模塊和延遲控制B模塊;第i個(gè)FPGA中,i=2,3,…,N,復(fù)位產(chǎn)生B模塊在接收到識(shí)別控制模塊的復(fù)位信號(hào)產(chǎn)生指令后開(kāi)始生成復(fù)位信號(hào)RSTi;復(fù)位同步模塊接收第i-1個(gè)FPGA模塊中時(shí)鐘管理單元生成的FPGA內(nèi)部時(shí)鐘CCLKi-1,根據(jù)CCLKi-1對(duì)復(fù)位信號(hào)RSTi進(jìn)行同步,得到同步復(fù)位信號(hào)RSTi′,分別發(fā)送給延遲控制A模塊和延遲控制B模塊;延遲控制A模塊對(duì)同步復(fù)位信號(hào)RSTi′按照延遲值ΔAi進(jìn)行延遲得到復(fù)位信號(hào)RSTADCi發(fā)送給第i個(gè)ADC模塊;延遲控制B模塊對(duì)同步復(fù)位信號(hào)RSTi′按照延遲值ΔBi進(jìn)行延遲得到復(fù)位信號(hào)RSTDCMi發(fā)送給第i個(gè)FPGA模塊的時(shí)鐘管理單元;
第i個(gè)FPGA中延遲控制A模塊和延遲控制B模塊的延遲值ΔAi和ΔBi在多通道并行采集系統(tǒng)初始化時(shí)由各FPGA的同步識(shí)別模塊按照FPGA序號(hào)依次進(jìn)行確定,同步識(shí)別模塊包括延遲控制C模塊、解串器、序列檢測(cè)模塊和識(shí)別控制模塊,各模塊的具體工作為:
識(shí)別控制模塊將延遲控制A模塊、延遲控制B模塊和延遲控制C模塊的延遲值置為0,向復(fù)位產(chǎn)生B模塊發(fā)送復(fù)位信號(hào)產(chǎn)生指令,然后按照預(yù)設(shè)周期對(duì)延遲控制C模塊的延遲值ΔCi進(jìn)行周期性設(shè)置,時(shí)刻t的延遲值δ表示延遲控制的增加步長(zhǎng),同時(shí)監(jiān)測(cè)序列檢測(cè)模塊發(fā)送的電平信號(hào),如果是無(wú)效電平則繼續(xù)調(diào)整ΔCi,否則將當(dāng)前延遲值ΔCi作為時(shí)鐘CCLKi與時(shí)鐘CCLKi-1相位差的時(shí)間間隔識(shí)別控制模塊根據(jù)進(jìn)行下一步操作,分為三種情況:
如果其中σ表示數(shù)據(jù)工作時(shí)鐘邊沿抖動(dòng)的不確定度,則當(dāng)前延遲值ΔAi和ΔBi確定;
如果TSCLK表示采樣時(shí)鐘的周期,識(shí)別控制模塊令延遲值TCCLK表示數(shù)據(jù)工作時(shí)鐘的周期,延遲值ΔBi不變,再重新進(jìn)行同步識(shí)別得到時(shí)間CCLKi與時(shí)鐘CCLKi-1相位差的時(shí)間間隔
如果識(shí)別控制模塊令延遲值ΔBi=ΔBi+TSCLK,延遲值ΔAi不變,再重新進(jìn)行同步識(shí)別得到時(shí)間CCLKi與時(shí)鐘CCLKi-1相位差的時(shí)間間隔
延遲控制C模塊接收第i-1個(gè)FPGA模塊中時(shí)鐘管理單元生成的FPGA內(nèi)部時(shí)鐘CCLKi-1,按照延遲值ΔCi進(jìn)行延遲得到延遲后時(shí)鐘CCLK′i-1發(fā)送給解串器;
解串器接收第i個(gè)FPGA中時(shí)鐘管理單元輸出的FPGA內(nèi)部時(shí)鐘CCLKi,進(jìn)行K倍頻后對(duì)延遲后時(shí)鐘CCLK′i-1進(jìn)行解串,將解串得到的數(shù)字序列發(fā)送給序列檢測(cè)模塊;
序列檢測(cè)模塊對(duì)接收的數(shù)字序列進(jìn)行檢測(cè),如果檢測(cè)結(jié)果為延遲后時(shí)鐘CCLK′i-1與時(shí)鐘CCLKi同步,向識(shí)別控制模塊輸出有效電平,否則向識(shí)別控制模塊輸出無(wú)效電平。
本發(fā)明具有多器件同步復(fù)位識(shí)別校正功能的多通道并行采集系統(tǒng),在多通道并行采集系統(tǒng)的N個(gè)ADC和FPGA模塊中,第1個(gè)FPGA模塊根據(jù)系統(tǒng)復(fù)位起始命令發(fā)出復(fù)位信號(hào)完成ADC和DCM的復(fù)位操作,產(chǎn)生穩(wěn)定的FPGA內(nèi)部的數(shù)據(jù)工作時(shí)鐘CCLK1;第2至第N個(gè)FPGA模塊中的每個(gè)FPGA模塊,分別包含一個(gè)同步識(shí)別模塊和復(fù)位控制模塊,同步識(shí)別模塊首先通過(guò)調(diào)整對(duì)上一個(gè)FPGA模塊的數(shù)據(jù)工作時(shí)鐘的延遲值進(jìn)行調(diào)整,采用解串器和序列檢測(cè)模塊對(duì)本FPGA與上一個(gè)FPGA的數(shù)據(jù)工作時(shí)鐘進(jìn)行同步識(shí)別,將同步時(shí)的延遲值作為時(shí)間間隔,然后根據(jù)時(shí)間間隔調(diào)整復(fù)位信號(hào)到對(duì)應(yīng)ADC和時(shí)鐘管理單元的延遲值,從而完成多器件同步復(fù)位識(shí)別校正。采用本發(fā)明可以保證復(fù)位的準(zhǔn)確性,從而使每次同步復(fù)位后多通道數(shù)據(jù)工作時(shí)鐘CCLK的相位關(guān)系是確定的。
附圖說(shuō)明
圖1是多ADC多FPGA的超高速并行采集系統(tǒng)原理框圖;
圖2是四分頻下四種可能DCLK的時(shí)鐘相位關(guān)系圖;
圖3是本發(fā)明具有多器件同步復(fù)位識(shí)別校正功能的多通道并行采集系統(tǒng)的具體實(shí)施方式結(jié)構(gòu)圖;
圖4是相鄰FPGA間多ADC同步復(fù)位過(guò)程的時(shí)序關(guān)系圖。
圖5是相鄰CCLK間相位差識(shí)別過(guò)程的時(shí)序關(guān)系圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計(jì)的詳細(xì)描述也許會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。
實(shí)施例
圖3是本發(fā)明具有多器件同步復(fù)位識(shí)別校正功能的多通道并行采集系統(tǒng)的具體實(shí)施方式結(jié)構(gòu)圖。如圖3所示,本發(fā)明具有多器件同步復(fù)位識(shí)別校正功能的多通道并行采集系統(tǒng)包括N組ADC和FPGA模塊,N的取值范圍為N≥2。
ADC模塊對(duì)調(diào)理通道內(nèi)的模擬信號(hào)進(jìn)行采集,將采集的數(shù)據(jù)發(fā)送給相應(yīng)的FPGA模塊的串并轉(zhuǎn)換模塊2。
FPGA模塊中包含時(shí)鐘管理單元(DCM)1、串并轉(zhuǎn)換模塊2、數(shù)據(jù)存儲(chǔ)模塊3和數(shù)據(jù)處理模塊4,各模塊的具體說(shuō)明如下:
時(shí)鐘管理單元1接收的ADC模塊的數(shù)據(jù)同步時(shí)鐘信號(hào)DCLK(采樣時(shí)鐘的分頻時(shí)鐘)進(jìn)行分頻處理后得到FPGA的內(nèi)部運(yùn)行時(shí)鐘CCLK,發(fā)送給數(shù)據(jù)存儲(chǔ)模塊3。
串并轉(zhuǎn)換模塊2將采集數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換,將轉(zhuǎn)換后的并行采集數(shù)據(jù)發(fā)送給數(shù)據(jù)存儲(chǔ)模塊3。
數(shù)據(jù)存儲(chǔ)模塊3在數(shù)據(jù)工作時(shí)鐘和存儲(chǔ)控制信號(hào)的控制下對(duì)并行采集數(shù)據(jù)進(jìn)行緩存。
數(shù)據(jù)處理模塊4從數(shù)據(jù)存儲(chǔ)模塊3中讀取數(shù)據(jù)進(jìn)行處理后發(fā)送給后續(xù)模塊,例如后續(xù)的數(shù)據(jù)綜合處理與控制模塊、系統(tǒng)控制中心等等。
本發(fā)明中,第1個(gè)FPGA模塊中設(shè)置有復(fù)位產(chǎn)生A模塊5,復(fù)位產(chǎn)生A模塊5從后端模塊接收復(fù)位信號(hào)RST1,將復(fù)位信號(hào)RST1進(jìn)行分路后得到復(fù)位信號(hào)RSTADC1和RSTDCM1,分別轉(zhuǎn)發(fā)給第1個(gè)ADC模塊和第1個(gè)FPGA模塊內(nèi)部的時(shí)鐘管理單元1(DCM1),第1個(gè)ADC模塊根據(jù)復(fù)位信號(hào)RSTADC1生成數(shù)據(jù)同步時(shí)鐘信號(hào)DCLK1,將生成的采樣同步時(shí)鐘信號(hào)DCLK1發(fā)送給第1個(gè)FPGA模塊的時(shí)鐘管理單元1(DCM1),然后由第1個(gè)FPGA模塊的時(shí)鐘管理單元1根據(jù)復(fù)位信號(hào)RSTDCM1分頻得到FPGA內(nèi)部的數(shù)據(jù)工作時(shí)鐘CCLK1,時(shí)鐘管理單元1除將工作時(shí)鐘CCLK1發(fā)送至數(shù)據(jù)存儲(chǔ)模塊3外,還需要同時(shí)發(fā)送至第2個(gè)FPGA模塊中的延遲控制C模塊71和復(fù)位同步模塊72。
第2至第N個(gè)FPGA模塊中,增加了一個(gè)復(fù)位控制模塊6,包括復(fù)位產(chǎn)生B模塊61、復(fù)位同步模塊62、延遲控制A模塊63和延遲控制B模塊64;其中,復(fù)位同步模塊62接收復(fù)位信號(hào)RSTi,i=2,3,…,N,根據(jù)第i-1個(gè)模塊發(fā)送的工作時(shí)鐘CCLKi-1對(duì)復(fù)位信號(hào)RSTi進(jìn)行同步處理,得到同步后復(fù)位信號(hào)RSTi′,分路發(fā)送給延遲控制A模塊63和延遲控制B模塊64。延遲控制A模塊63按照延遲值ΔAi進(jìn)行延遲后得到ADCi的復(fù)位信號(hào)RSTADCi,發(fā)送給第i個(gè)ADC模塊。延遲控制B模塊63按照延遲值ΔBi進(jìn)行延遲后得到對(duì)應(yīng)時(shí)鐘管理單元1(DCMi)的復(fù)位信號(hào)RSTDCMi,發(fā)送給第i個(gè)FPGA模塊中的時(shí)鐘管理單元1。
根據(jù)以上各個(gè)模塊的說(shuō)明可以看出,本發(fā)明中,為了保證存儲(chǔ)數(shù)據(jù)順序的確定性,延遲值ΔAi和ΔBi的設(shè)置是其關(guān)鍵,要保證復(fù)位信號(hào)RSTi經(jīng)同步和延遲后不會(huì)處于采樣時(shí)鐘信號(hào)SCLKi和數(shù)據(jù)同步時(shí)鐘DCLKi的亞穩(wěn)態(tài)區(qū)間內(nèi)。由于實(shí)際的復(fù)位信號(hào)RSTi在延遲值ΔAi和ΔBi的基礎(chǔ)上還疊加了硬件自身的延遲,而不同硬件設(shè)計(jì)的延遲值不同,并且該值不易于測(cè)量得到,傳統(tǒng)的驗(yàn)證方法是通過(guò)多次試驗(yàn)后的數(shù)據(jù)組合結(jié)果來(lái)判定是否達(dá)到去亞穩(wěn)態(tài)的目的,但是該種測(cè)試判定方法不能完全達(dá)到高可靠的自動(dòng)校正目的,而且不同的硬件布線系統(tǒng)(特別是FPGA內(nèi)部布線)就存在不同的實(shí)現(xiàn)過(guò)程,非常不利于系統(tǒng)的可靠實(shí)現(xiàn)。因此本發(fā)明在第2至第N個(gè)FPGA模塊中,還分別增加配置了一個(gè)同步識(shí)別模塊7,用于確定該FPGA中復(fù)位控制模塊6的延遲值ΔAi和ΔBi。這兩個(gè)模塊相互配合才能完成整個(gè)系統(tǒng)多ADC復(fù)位同步的自動(dòng)校正目的。
在多通道并行高速采集系統(tǒng)初始化時(shí),第1個(gè)FPGA模塊先根據(jù)RST1完成ADC1和DCM1的復(fù)位,然后第2至第N個(gè)FPGA模塊按照順序依次由其同步識(shí)別模塊7對(duì)其復(fù)位控制模塊6中的延遲控制A模塊63和延遲控制B模塊64對(duì)應(yīng)的延遲值ΔAi和ΔBi進(jìn)行確定。為了更好地說(shuō)明本發(fā)明中的復(fù)位控制模塊6和同步識(shí)別模塊7,先對(duì)延遲值ΔAi和ΔBi的設(shè)定原理進(jìn)行說(shuō)明。
圖4是相鄰FPGA間多ADC同步復(fù)位過(guò)程的時(shí)序關(guān)系圖。如圖4所示,SCLKi表示ADCi模塊的采樣時(shí)鐘,RSTi′表示經(jīng)復(fù)位同步模塊62同步后的復(fù)位信號(hào)。CCLKi-1是第i-1個(gè)ADCi-1和FPGA模塊中的DCMi-1在RSTi-1信號(hào)作用下產(chǎn)生的數(shù)據(jù)在FPGA內(nèi)部的工作時(shí)鐘。假定本實(shí)施例中每個(gè)ADC模塊中的時(shí)鐘分頻倍數(shù)為4,DCM的時(shí)鐘分頻倍數(shù)為2。RSTi′再經(jīng)延遲控制A模塊63和延遲控制B模塊64分別延遲ΔAi和ΔBi后,得到延遲后的第i個(gè)復(fù)位信號(hào)RSTADCi和RSTDCMi。當(dāng)存在不同的延遲值,這兩個(gè)復(fù)位信號(hào)所作用的結(jié)果就可能不同。如RSTi'在經(jīng)歷ΔAi(1)延遲后的RSTADCi處于非SCLK上升沿r2的亞穩(wěn)態(tài)區(qū)間時(shí),標(biāo)記為RSTADCi(1),第i個(gè)ADC模塊根據(jù)該復(fù)位信號(hào)進(jìn)行復(fù)位,滿足SCLKi上升沿r2時(shí)刻的有效信號(hào),生成數(shù)據(jù)同步時(shí)鐘信號(hào)DCLKi(1);反之,如RSTi'在經(jīng)歷ΔAi(2)延遲后的RSTADCi處于SCLKi上升沿r2的亞穩(wěn)態(tài)區(qū)間時(shí),標(biāo)記為RSTADCi(2),第i個(gè)ADC模塊根據(jù)該復(fù)位信號(hào)進(jìn)行復(fù)位,處于SCLKi上升沿r2的亞穩(wěn)態(tài)狀態(tài),可能生成數(shù)據(jù)同步時(shí)鐘信號(hào)DCLKi(1)或者DCLKi(2),且這兩個(gè)時(shí)鐘的相位差對(duì)應(yīng)的時(shí)間間隔(兩個(gè)時(shí)鐘上升沿之間相位差所對(duì)應(yīng)的時(shí)間)為T(mén)SCLK表示采樣時(shí)鐘的周期。此時(shí),這兩個(gè)DCLK在同一RSTDCMi作用下CCLK就可能出現(xiàn)CCLKi(1)或者CCLKi(3)兩種情況,它們相位差的時(shí)間間隔也為
同理,假定在RSTADCi(1)作用下已產(chǎn)生了穩(wěn)定的DCLKi(1),則RSTi'在經(jīng)歷ΔBi(1)延遲后的RSTDCMi處于非DCLKi(1)上升沿t6的亞穩(wěn)態(tài)區(qū)間時(shí),標(biāo)記為RSTDCMi(1),第i個(gè)DCM根據(jù)該復(fù)位信號(hào)進(jìn)行復(fù)位,滿足DCLKi(1)上升沿t6時(shí)刻的作用條件,生成數(shù)據(jù)工作時(shí)鐘信號(hào)CCLKi(1);反之,如RSTi'在經(jīng)歷ΔBi(2)延遲后的RSTDCMi處于DCLKi(1)上升沿t6的亞穩(wěn)態(tài)區(qū)間時(shí),標(biāo)記為RSTDCMi(2),第i個(gè)DCM根據(jù)該復(fù)位信號(hào)進(jìn)行復(fù)位,處于DCLKi(1)上升沿t6的亞穩(wěn)態(tài)狀態(tài),可能生成數(shù)據(jù)同步時(shí)鐘信號(hào)CCLKi(1)或者CCLKi(2),且這兩個(gè)時(shí)鐘的相位差對(duì)應(yīng)的時(shí)間間隔為T(mén)DCLK表示數(shù)據(jù)同步時(shí)鐘的周期,本實(shí)施例中TDCLK=4TSCLK。
采樣時(shí)鐘SCLK、數(shù)據(jù)同步時(shí)鐘DCLK和數(shù)據(jù)工作時(shí)鐘CCLK的每個(gè)跳變沿附近區(qū)間都存在亞穩(wěn)態(tài)區(qū)間,將數(shù)據(jù)工作時(shí)鐘邊沿抖動(dòng)的不確定度記為σ(不確定度是由歷史數(shù)據(jù)得到的,本發(fā)明中以數(shù)據(jù)工作時(shí)鐘抖動(dòng)的不確定度時(shí)相位差對(duì)應(yīng)的時(shí)間間隔來(lái)進(jìn)行度量),于是在ADC和DCM的復(fù)位過(guò)程中,如果復(fù)位信號(hào)處于這些時(shí)鐘的邊沿上,就可能導(dǎo)致復(fù)位的不確定性現(xiàn)象。本發(fā)明采用同步識(shí)別模塊7對(duì)復(fù)位的結(jié)果CCLKi-1與CCLKi時(shí)鐘的相位差進(jìn)行識(shí)別,然后再用識(shí)別的相位差結(jié)果和再反饋控制延遲值ΔAi和ΔBi。
在同步識(shí)別模塊7中,用解串器根據(jù)CCLKi時(shí)鐘信號(hào)去解串CCLKi-1時(shí)鐘信號(hào),就可能得到不同的結(jié)果。如圖5所示,相鄰CCLK間相位差識(shí)別過(guò)程的時(shí)序關(guān)系圖,該圖假定解串器的解串倍數(shù)K為4。
如圖5所示,在ADC復(fù)位情況下得到的DCLKi(1)所對(duì)應(yīng)的CCLKi(1)結(jié)果根據(jù)CCLKi時(shí)鐘信號(hào)去解串CCLKi-1時(shí)鐘信號(hào),解串后的數(shù)字序列為規(guī)則重復(fù)的下降沿序列1,…1100…。而在ADC復(fù)位情況下得到的DCLKi(2)所對(duì)應(yīng)的結(jié)果為CCLKi(1)延遲一個(gè)TSCLK的時(shí)鐘CCLKi(3),解串后的數(shù)字序列為不規(guī)則的下降沿序列3,或…1100…,或…1000…,或…1101…,或…1001…。
無(wú)論這兩種CCLK相位差如何變化,通過(guò)調(diào)節(jié)延遲控制C模塊71的ΔCi值就可以轉(zhuǎn)換為與CCLKi-1完全同步的復(fù)位結(jié)果CCLKi(S)。在同步情況下,解串器的解串結(jié)果轉(zhuǎn)變?yōu)椴灰?guī)則的下降沿序列S,或…0110…,或…1110…,或…0100…,或…1100…,這些序列即可作為CCLK′i-1與時(shí)鐘CCLKi同步的標(biāo)志序列,通過(guò)序列檢測(cè)即可判斷是否達(dá)到同步。記系統(tǒng)所設(shè)置的SCLK時(shí)鐘和CCLK時(shí)鐘周期間的比值TCCLK/TSCLK=Q,顯然圖5中Q=8。以圖5所示情況為例,如把CCLKi-1的延遲ΔCi設(shè)定在區(qū)間{(8z+1)TSCLK-σ,(8z+1)TSCLK+σ}內(nèi),z為非負(fù)整數(shù),則處于CCLKi(1)狀態(tài)的解串結(jié)果序列1就會(huì)轉(zhuǎn)變?yōu)樘幱贑CLKi(S)狀態(tài)的序列S。同理,當(dāng)處于CCLKi(2)的復(fù)位結(jié)果,則解串后的數(shù)字序列為規(guī)則重復(fù)的上升沿序列2,…0011…。此時(shí),若把CCLKi-1的延遲ΔCi設(shè)定在區(qū)間{(8z+5)TSCLK-σ,(8z+5)TSCLK+σ}內(nèi),則處于CCLKi(2)狀態(tài)的解串結(jié)果序列2就會(huì)轉(zhuǎn)變?yōu)樘幱贑CLKi(S)狀態(tài)的序列S。當(dāng)處于CCLKi(4)的復(fù)位結(jié)果,則解串后的數(shù)字序列為不規(guī)則的上升沿序列4,或…0110…,或…0010…,或…0111…,或…0011…。此時(shí),若把CCLKi-1的延遲ΔCi設(shè)定在區(qū)間{(8z+6)TSCLK-σ,(8z+6)TSCLK+σ}內(nèi),則處于CCLKi(2)狀態(tài)的解串結(jié)果序列2就會(huì)轉(zhuǎn)變?yōu)樘幱贑CLKi(S)狀態(tài)的序列S。
以上四種情況,在解串后的數(shù)字序列第一次轉(zhuǎn)變?yōu)樾蛄蠸時(shí),若把Δi進(jìn)一步增加,則又轉(zhuǎn)變?yōu)橹虚g狀態(tài)的相關(guān)序列(除序列S外),但在ΔCi進(jìn)一步增加至8TSCLK,則又第二次轉(zhuǎn)變?yōu)樾蛄蠸。因此,序列S稱為下降沿的有效信號(hào),用于確定CCLKi-1與CCLKi是否處于完全同步狀態(tài)。然后,根據(jù)第一次接收到下降沿的有效信號(hào)所對(duì)應(yīng)的延遲控制C模塊71調(diào)節(jié)值ΔCi(1),就可以得到兩個(gè)CCLK的相位差進(jìn)而通過(guò)設(shè)定延遲控制A模塊63和延遲控制B模塊64對(duì)應(yīng)的延遲值ΔAi和ΔBi,再次由識(shí)別控制模塊74發(fā)出復(fù)位信號(hào)RSTi就可以完成多ADC復(fù)位過(guò)程的同步校正。
基于以上原理,可知本發(fā)明中多通道并行高速采集系統(tǒng)初始化時(shí)多ADC復(fù)位同步識(shí)別與校正過(guò)程中各個(gè)模塊的具體工作為:
同步識(shí)別模塊7的具體工作過(guò)程為:
第i個(gè)FPGAi中,同步識(shí)別模塊7中的識(shí)別控制模塊74首先將延遲控制A模塊63、延遲控制B模塊64和延遲控制C模塊71的延遲值置為0,向復(fù)位產(chǎn)生B模塊發(fā)送復(fù)位信號(hào)產(chǎn)生指令,然后按照預(yù)設(shè)周期對(duì)延遲控制C模塊71的延遲值ΔCi進(jìn)行周期性設(shè)置,時(shí)刻t的延遲值δ表示延遲控制所能增加的最小步長(zhǎng)。序列檢測(cè)模塊73實(shí)時(shí)監(jiān)測(cè)解串器72轉(zhuǎn)換后的數(shù)字序列,如果產(chǎn)生的序列是特定規(guī)律(不同步)的,就輸出無(wú)效電平,否則輸出有效電平(同步)。識(shí)別控制單元74監(jiān)測(cè)序列檢測(cè)單元所發(fā)出的電平信號(hào),如果無(wú)效電平則Δi繼續(xù)增加一個(gè)δ,否則將當(dāng)前延遲值ΔCi作為時(shí)鐘CCLKi與時(shí)鐘CCLKi-1相位差的時(shí)間間隔停止對(duì)延遲周期性設(shè)置。根據(jù)之前的原理說(shuō)明可知,該去除了兩個(gè)CCLK時(shí)鐘的路徑延遲的影響。
解串器72為了增加序列識(shí)別的精度在解串時(shí)接收CCLKi后進(jìn)行了K倍頻,然后再采用倍頻后的信號(hào)對(duì)CCLKi-1延遲后的信號(hào)進(jìn)行解串,由此產(chǎn)生的序列就由并行的K位并行數(shù)字序列組成,在此假定高位的數(shù)據(jù)在時(shí)間順序上是先來(lái)的。由此判斷被解串的CCLKi-1信號(hào)在CCLKi一個(gè)周期(從上升沿到下一個(gè)上升沿的時(shí)間區(qū)間)下處于上升沿狀態(tài)還是下降沿狀態(tài),及其它們之間的相位差。
復(fù)位控制模塊6的具體工作過(guò)程為:
在完成第i-1個(gè)ADCi-1復(fù)位后,保持不變,然后發(fā)出第i個(gè)ADCi的復(fù)位信號(hào)RSTi;通過(guò)同步復(fù)位模塊7檢測(cè)CCLKi和CCLKi-1之間的相位差的時(shí)間間隔來(lái)調(diào)整延遲控制A模塊63和延遲控制B模塊64的延遲值ΔAi和ΔBi。ΔAi和ΔBi的調(diào)整方法為:
如果其中σ表示時(shí)間間隔的不確定度,則當(dāng)前延遲值ΔAi和ΔBi確定;
如果識(shí)別控制模塊令延遲值延遲值ΔBi不變,再重新進(jìn)行同步識(shí)別得到時(shí)間CCLKi與時(shí)鐘CCLKi-1相位差的時(shí)間間隔
如果識(shí)別控制模塊令延遲值ΔBi=ΔBi+TSCLK,延遲值ΔAi不變,再重新進(jìn)行同步識(shí)別得到時(shí)間CCLKi與時(shí)鐘CCLKi-1相位差的時(shí)間間隔
也就是說(shuō),每當(dāng)調(diào)整一次延遲值ΔAi或ΔBi后,需要重新進(jìn)行一次同步識(shí)別,得到時(shí)間間隔然后重新判斷時(shí)間間隔直到
本發(fā)明具有多ADC復(fù)位同步識(shí)別與校正功能的多通道并行采集系統(tǒng),在多通道并行采集系統(tǒng)的N個(gè)ADC和FPGA模塊中,第1個(gè)ADC和FPGA模塊根據(jù)系統(tǒng)復(fù)位起始命令發(fā)出復(fù)位信號(hào)完成ADC和DCM的復(fù)位操作,產(chǎn)生穩(wěn)定的CCLK1,作為FPGA內(nèi)部數(shù)據(jù)處理的工作時(shí)鐘,同時(shí)發(fā)送給第2個(gè)ADC和FPGA模塊;第2至第N個(gè)ADC和FPGA模塊中的每個(gè)FPGA模塊,分別包含一個(gè)同步識(shí)別模塊7和復(fù)位控制模塊6。同步識(shí)別模塊7初始化三個(gè)延遲控制模塊的延遲值,發(fā)出同步復(fù)位信號(hào)RSTi,然后逐步設(shè)置延遲控制C模塊71,完成解串后數(shù)據(jù)序列的檢測(cè)與識(shí)別,并根據(jù)識(shí)別結(jié)果再次設(shè)定延遲控制A模塊63和延遲控制B模塊64的延遲值,直到CCLKi-1和CCLKi達(dá)到同步的結(jié)果。在CCLKi-1與CCLKi同步后,把相應(yīng)的CCLKi送至下一個(gè)FPGA模塊中,再執(zhí)行同步識(shí)別與校正的操作,直到系統(tǒng)中所有的子模塊都完成多ADC的同步復(fù)位功能。
根據(jù)同步識(shí)別與校正的工作過(guò)程可知,本發(fā)明中采用的方法是從0開(kāi)始按照預(yù)設(shè)步長(zhǎng)改變延遲值ΔCi,對(duì)各個(gè)延遲值下得到的有效CCLKi-1信號(hào)采用K倍CCLKi頻率的時(shí)鐘進(jìn)行解串處理,根據(jù)解串得到的數(shù)據(jù)序列進(jìn)行檢測(cè),從而根據(jù)該延遲值判斷CCLKi-1和CCLKi是否處于同步狀態(tài),最終設(shè)置合適的延遲值ΔA和ΔB以達(dá)到同步校正的目的。
可以看出,多通道并行高速采集系統(tǒng)初始化時(shí),除了第1個(gè)FPGA模塊以外,其他第2至第N個(gè)FPGA模塊,依次由其中的同步識(shí)別模塊6對(duì)延遲控制C模塊71的延遲值進(jìn)行識(shí)別和設(shè)置。相鄰的兩個(gè)FPGA模塊中,前一個(gè)FPGA模塊相當(dāng)于主FPGA,后一個(gè)FPGA模塊相當(dāng)于從FPGA,從FPGA根據(jù)主FPGA的數(shù)據(jù)同步時(shí)鐘信號(hào)CCLK同步從FPGA中的復(fù)位信號(hào)RST,根據(jù)同步后的復(fù)位信號(hào)經(jīng)延遲控制A模塊63和延遲控制B模塊64對(duì)從FPGA對(duì)應(yīng)的ADC和DCM進(jìn)行復(fù)位。采用這種方式,在出現(xiàn)不同步狀態(tài)復(fù)位而導(dǎo)致并行數(shù)據(jù)錯(cuò)位的情況時(shí),可以通過(guò)同步識(shí)別與復(fù)位控制的裝置來(lái)進(jìn)行同步校正,從而保證并行數(shù)據(jù)順序的正確性。
盡管上面對(duì)本發(fā)明說(shuō)明性的具體實(shí)施方式進(jìn)行了描述,以便于本技術(shù)領(lǐng)域的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于具體實(shí)施方式的范圍,對(duì)本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見(jiàn)的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護(hù)之列。