專利名稱:一種多adc并行高速數(shù)據(jù)采集系統(tǒng)中觸發(fā)點精確定位的方法
技術(shù)領域:
本發(fā)明涉及數(shù)據(jù)采集系統(tǒng)中觸發(fā)點的定位,特別涉及多ADC并行高速數(shù)據(jù)采集系統(tǒng)中觸發(fā)點精確定位的方法,以穩(wěn)定地顯示波形。
背景技術(shù):
高速數(shù)據(jù)采集系統(tǒng)中,由于受到模數(shù)轉(zhuǎn)換芯片ADC采樣率的限制,通常利用多片ADC,并采用并行時間交替采樣技術(shù)來等效提高系統(tǒng)的采樣率。由于多個ADC輸出的采樣數(shù)據(jù)具有較高的速率,而后續(xù)數(shù)據(jù)處理器件如FPGA由于內(nèi)部工作頻率的原因一般都難于直接處理如此高速的數(shù)據(jù)。因此,在采樣數(shù)據(jù)進入FPGA之后,即采用DDR雙沿采樣技術(shù)將一路數(shù)據(jù)分成速率較低的兩路或多路數(shù)據(jù)。這樣,在FPGA對采樣數(shù)據(jù)的后續(xù)處理過程中,對應一個數(shù)據(jù)同步時鐘周期就有多路數(shù)據(jù)的存儲。由于系統(tǒng)的觸發(fā)信號與數(shù)據(jù)同步時鐘之間的相位是隨機的,因此實際觸發(fā)點就可能存在于一次存儲的多路數(shù)據(jù)的任何一路中,而無法確定是在哪一路,由此導致觸發(fā)抖動,降低了整個系統(tǒng)的觸發(fā)精度。觸發(fā)抖動直觀的體現(xiàn)就是觀測周期信號時波形在顯示屏上的晃動。
為了解決這一由多路數(shù)據(jù)并行存儲引起的觸發(fā)抖動問題,就需要精確定位觸發(fā)點在每次存儲中的位置,然后在波形繪制時采用丟點的方式來消除波形的晃動。
現(xiàn)有技術(shù)中,較常用的精確定位觸發(fā)點的方法是軟件查詢算法 首先將采集到的多路采樣數(shù)據(jù)按照固定的時間順序存儲下來,接著將當前設置的觸發(fā)電平值逐個與存儲的采樣數(shù)據(jù)進行比較,查找出與當前觸發(fā)電平值最接近的采樣數(shù)據(jù)的時間信息,進而確定觸發(fā)點的位置并計算出丟點個數(shù)。
軟件查詢算法其優(yōu)點就是實現(xiàn)起來比較方便,在大多數(shù)情況都可以準確定位觸發(fā)點并實現(xiàn)波形的消抖。然而在某些特殊情況下,比如觸發(fā)選擇方式外觸發(fā),或信號通道選擇直通,而觸發(fā)通道選擇交流耦合,同時輸入信號中疊加有一定的直流成分,或被測信號與觸發(fā)信號有相位差時,這個時候的采樣數(shù)據(jù)就可能整體上大于或者小于觸發(fā)電平值,即二者根本不會相交,軟件查詢算法就完全失去了作用。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種不受觸發(fā)方式影響,就能精確定位觸發(fā)點的方法 為實現(xiàn)上述目的,本發(fā)明的多ADC并行高速數(shù)據(jù)采集系統(tǒng)中觸發(fā)點精確定位的方法,包括以下步驟 (1)、測量出觸發(fā)信號上升沿與數(shù)據(jù)同步時鐘上升沿之間的持續(xù)時間,將持續(xù)時間除以等效采樣時鐘周期,得到觸發(fā)點在多路數(shù)據(jù)中的具體位置; (2)、根據(jù)觸發(fā)點在多路數(shù)據(jù)中的具體位置,計算出每次波形繪制時的丟點個數(shù),然后依據(jù)丟點后的采樣數(shù)據(jù)進行波形繪制。
本發(fā)明的發(fā)明目的是這樣實現(xiàn)的 測量出觸發(fā)信號上升沿與數(shù)據(jù)同步時鐘上升沿之間的持續(xù)時間,再除以等效采樣時鐘周期,進而定位觸發(fā)點在多路數(shù)據(jù)中的具體位置,然后計算出每次波形繪制時的丟點個數(shù),依據(jù)丟點后的采樣數(shù)據(jù)進行波形繪制。這樣在觀測信號,如正弦信號時,就可以保證每一次繪制出的波形都是從信號同一個位置開始,從而消除了波形晃動問題。與現(xiàn)有技術(shù)相比,本發(fā)明的觸發(fā)點在多路數(shù)據(jù)中的具體位置的定位與觸發(fā)方式?jīng)]有關聯(lián),只需計算測量出觸發(fā)信號上升沿與數(shù)據(jù)同步時鐘上升沿之間的持續(xù)時間即可,因而不受觸發(fā)方式影響,就能精確定位觸發(fā)點的位置。
圖1是本發(fā)明多ADC并行高速數(shù)據(jù)采集系統(tǒng)中觸發(fā)點精確定位的方法一種具體實施方式
下,各信號之間的時序圖; 圖2是本發(fā)明具體實施方式
下采用的恒流源時間擴展電路的原理示意圖; 圖3是本發(fā)明一種具體實施方式
流程圖; 圖4是未進行精確定位下的一種波形圖; 圖5是應用本發(fā)明的精確方法后的一種波形圖。
具體實施例方式 下面結(jié)合附圖對本發(fā)明的具體實施方式
進行描述,以便更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當采用已知功能和設計的詳細描述也許會淡化本發(fā)明的主要內(nèi)容時,這些描述在這里將被忽略。
實施例 圖1是本發(fā)明多ADC并行高速數(shù)據(jù)采集系統(tǒng)中觸發(fā)點精確定位的方法一種具體實施方式
下,各信號之間的時序圖。
如圖1所示,在本實施例中,多ADC并行高速數(shù)據(jù)采集系統(tǒng)為四路采集數(shù)據(jù)的存儲,即一個數(shù)據(jù)同步時鐘周期T0就有四路采集數(shù)據(jù)的存儲,數(shù)據(jù)采集路數(shù)L=4,此時的等效采樣時鐘周期為Ts,且Ts=T0/L=T0/4,即在一個數(shù)據(jù)同步時鐘周期T0內(nèi),四路采樣數(shù)據(jù)N-4、N-3、N-2、N-1或四路采樣數(shù)據(jù)N、N+1、N+2、N+4一起存入存儲器中。
在本實施例中,觸發(fā)方式選用電平觸發(fā),觸發(fā)信號可以是采集波形的輸入信號,也可以是外觸發(fā)信號。
觸發(fā)信號上升沿與數(shù)據(jù)同步時鐘上升沿之間的持續(xù)時間Δtx大小具有隨機性,因此觸發(fā)點就可能存在于一次存儲的多路數(shù)據(jù)中的任何一路。如圖1所示,第一次觸發(fā)點Triger1在采樣數(shù)據(jù)N-1和N之間,即第四路或第一路,第二次觸發(fā)點Triger2在采樣數(shù)據(jù)N-4和N-3之間,即第四路或第三路。
如圖1所示,如果確定了觸發(fā)信號上升沿與數(shù)據(jù)同步時鐘上升沿之間的持續(xù)時間Δtx,然后除以等效采樣時鐘周期Ts,就可以得到觸發(fā)點在多路采樣數(shù)據(jù)中的具體位置ΔL。在本實施例中,我們采用持續(xù)時間Δtx除以等效采樣時鐘周期Ts然后取整的方式得到觸發(fā)點在多路采樣數(shù)據(jù)中的具體位置ΔL,然后,得到波形繪制時需要丟掉的采樣數(shù)據(jù)個數(shù)M,即 M=L-ΔL=L-[Δtx/Ts]=4-[Δtx/Ts] 在具體實施過程中,持續(xù)時間Δtx一般都比較小,是一個小于數(shù)據(jù)同步時鐘周期T0=4ns的時間間隔。在本實施例中,采用恒流源時間擴展電路來進行測試。
在本實施例中,數(shù)據(jù)同步時鐘的頻率為250MHz,則數(shù)據(jù)同步時鐘周期T0=4ns,由于數(shù)據(jù)采集路數(shù)L=4,此時的等效采樣時鐘周期為Ts=T0/L=1ns。
圖2是本發(fā)明具體實施方式
下采用的恒流源時間擴展電路的原理示意圖。
如圖2,在持續(xù)時間Δtx期間開關S1閉合,恒流源I1對電容C充電。持續(xù)時間Δtx結(jié)束,開關S1斷開,開關S2接通,恒流源I2,I2=I1/K對電容C放電,直到起始電平位置,擴展時間為Δt0,然后保持此電平,K為擴展倍數(shù)。由充放電電荷相等可得 由I2′=I1/K,可以得到擴展時間 Δt0=K×Δtx 然后用周期為Tc計數(shù)脈沖,對Δt0進行計數(shù),設計數(shù)值為C,則有 這樣就得到了持續(xù)時間Δtx,計數(shù)脈沖Tc可以采用數(shù)據(jù)同步時鐘T0或采樣脈沖Ts。
在時間擴展電路中,需要擴展的持續(xù)時間Δtx在0~數(shù)據(jù)同步時鐘周期T0之間,在本實施例中,為0~4ns,持續(xù)時間Δtx很小,充放電開關S1、S2的切換速率、充放電起點和終點的非線性使性能急劇惡化。
因此,在測量時,將持續(xù)時間Δtx擴展為Δtx+2T0,使恒流源時間擴展電路輸入的被測時間間隔寬度處于2T0~3T0之間,有利于消除起止點死區(qū)和零區(qū)非線性特性,通過恒流源時間擴展電路測得的時間減去2T0即為持續(xù)時間Δtx。
由于采用的恒流源時間擴展電路是由一些分立元件設計的,工作狀態(tài)易受溫度等外界環(huán)境因素影響,擴展倍數(shù)K也因此隨時在改變,所以很難精確的計算其擴展倍數(shù)K。
為了消除擴展倍數(shù)K值變化及時間擴展電路充放電起點和終點的非線性等帶來的持續(xù)時間Δtx的測量誤差,在本實施例中引入了校準技術(shù),其方法是通過三次測量,即第一、二次測量為對寬度為2T0及3T0的兩個待擴展脈沖在恒流源時間擴展電路進行擴展,然后進行計數(shù),第三次測量為對寬度為Δtx+2T0的待擴展脈沖進行擴展,然后進行計數(shù),最后對三次測量得到計數(shù)值進行計算處理,得到持續(xù)時間Δtx。計數(shù)時鐘周期為Tc,具體步驟如下 a)、對寬度為2T0待擴展脈沖進行擴展,擴展后得的脈沖寬度為 K*2T0-TH1 用周期為Tc計數(shù)時鐘對擴展后得的脈沖進行計數(shù),得到計數(shù)值 N1=(2KT0-TH1)/Tc(1) 其中,TH1為無效擴展時間,小于一個計數(shù)時鐘周期。
b)、對寬度為3T0待擴展脈沖進行擴展,擴展后得的脈沖寬度為 K*3T0-TH2 用周期為Tc計數(shù)時鐘對擴展后得的脈沖進行計數(shù),得到計數(shù)值 N2=(3KT0-TH2)/Tc(2) 其中,TH2為無效擴展時間,小于一個計數(shù)時鐘周期。
c)、對寬度為Δtx+2T0待擴展脈沖進行擴展,擴展后得的脈沖寬度為 K*(Δtx+2T0)-TH3 用周期為Tc計數(shù)時鐘對擴展后得的脈沖進行計數(shù),得到計數(shù)值 Nx=[K(Δtx+2T0)-TH3]/Tc(3) 其中,TH3為無效擴展時間,小于一個計數(shù)時鐘周期。
根據(jù)公式(1)、(2)以及(3),可以得到以下技術(shù)差值 N2-N1=KT0/Tc-(TH2-TH1)/Tc Nx-N1=KΔtx/Tc-(TH3-TH1)/Tc 在本實施例中,擴展倍數(shù)K的取值比較大,為102量級。而由無效擴展時間引起的(TH2-TH1)/Tc和(TH3-TH1)/Tc均小于1,故可以忽略不計,由此得出 由上式可見,通過引入時間寬度為2T0、3T0的待擴展脈沖,并用時間擴展電路對它們進行計數(shù),消除了因恒流源和比較電平變化等因素而導致擴展倍數(shù)K變化對測量結(jié)果的影響。
而送出時間寬度為2T0、3T0以及Δtx+2T0的待擴展脈沖的數(shù)字電路可以容易的在FPGA中實現(xiàn)。
在本實施例中,計數(shù)脈沖Tc可以采用數(shù)據(jù)同步時鐘T0或采樣脈沖Ts。
圖3是本發(fā)明一種具體實施方式
流程圖; 在本實施例中,具體實施的步驟為 ST1對FIFO存儲器進行復位; ST2寫FIFO存儲器預觸發(fā)深度,在這期間屏蔽觸發(fā)信號; 利用FPGA產(chǎn)生正確的自動校準測量所需的校準信號。在上節(jié)中提到,完成一次自動校準測量需要產(chǎn)生三個校準信號,即時間寬度為2T0、3T0以及Δtx+2T0的待擴展脈沖。由于2T0和3T0持續(xù)時間固定,所以只需在系統(tǒng)初始上電時就測出其對應的計數(shù)值N1、N2,并將其存在系統(tǒng)中,不再進行測量,以后只需要直接測量Δtx+2T0的待擴展脈沖。
ST3判斷預觸發(fā)是否完成,如果還沒有,則仍然進行第2)步,如果完成,則進行下一步; ST4預觸發(fā)深度寫滿后,F(xiàn)IFO存儲器邊讀邊寫,等待觸發(fā)信號的到來; ST5判斷觸發(fā)信號是否到來,如果還沒有,則仍然進行第ST4步,如果到來,則進行下一步; ST6FIFO存儲器只寫不讀,等待FIFO存儲器寫滿,與此同時,測量持續(xù)時間為Δtx; 由于采集系統(tǒng)使用的數(shù)據(jù)同步時鐘T0與觸發(fā)信號之間沒有同步關系,因此,觸發(fā)信號與數(shù)據(jù)同步時鐘之間的相位關系完全是隨機的。我們利用觸發(fā)信號與數(shù)據(jù)同步時鐘產(chǎn)生一個持續(xù)時間為Δtx脈沖,起始于觸發(fā)信號上升沿,終止于之后的第一個數(shù)據(jù)同步時鐘上升沿。
在本實施例中,數(shù)據(jù)同步時鐘頻率為250MHz,其周期T0為4ns,因此持續(xù)時間Δtx在0~4ns之間變化。事實上,要讓恒流源時間擴展電路要工作在線性區(qū),持續(xù)時間Δtx不能太小。因此,通過在FPGA中搭建數(shù)字電路,在持續(xù)時間Δtx基礎上加上2T0=8ns,使得送出的Δtx+2T0的待擴展脈沖在8~12ns之間變化。
利用Tc=250MHz的計數(shù)時鐘對Δtx+2T0的待擴展脈沖在時間擴展電路擴展后的脈沖進行計數(shù),得到計數(shù)值Nx; ST7判斷FIFO存儲器是否寫滿并且測量完成,如果沒有,則等待,如果寫滿并測量完成,進行下一步; ST8得到觸發(fā)點的位置,求出丟點個數(shù); 利用計數(shù)值Nx和N1、N2,根據(jù)公式(4)計算持續(xù)時間Δtx,并用持續(xù)時間Δtx除以此時的系統(tǒng)采樣時鐘周期Ts=1ns,取整數(shù)部分,就可以得到觸發(fā)點在多路采樣數(shù)據(jù)中的具體位置ΔL。然后,用數(shù)據(jù)并行存儲路數(shù)L,本實施例中為4減去具體位置ΔL,得到波形繪制時需要丟掉的采樣值個數(shù)M,即 M=L-ΔL=L-[Δtx/Ts]=4-[Δtx/Ts] 式中,高斯函數(shù)y=[x]代表取不大于x的最大整數(shù)。
ST9FIFO存儲器只讀不寫,進行波形繪制; 在每次繪制波形的時候,丟掉采集FIFO最前面的M個數(shù)據(jù),等效于將每幅波形的觸發(fā)點都“拉”到屏幕的相同位置,實現(xiàn)了每幅波形觸發(fā)點的同步,從而消除數(shù)據(jù)分相并行存儲帶來的觸發(fā)抖動問題,得到波形的穩(wěn)定顯示。
ST10判斷波形繪制是否完成,如果完成,則返回步驟ST1,如果沒有繼續(xù)進行步驟ST9。
在本實施例中,采用ATMEL公司型號為AT84AD001的A/D采樣與樣值存儲器進行信號采集和樣值存儲,其包括采集模塊和樣值存儲器,分辨率是8BIT,最高采樣率是1GSPS,數(shù)據(jù)輸出速率可降為500MHz,其接口支持LVDS。
而現(xiàn)場可編程門陣列(Field Programmable Gate Array,簡稱FPGA)采用ALTERA公司的StratixIII系列的FPGA,它具有經(jīng)過優(yōu)化的三種型號,其中StratixIII E系列的FPGA專門增強了存儲器和數(shù)字信號處理器資源,適用于對存儲和DSP要求較高的應用。其中含有21Mbit的存儲器,性能超過600MHz,提供了雙端口RAM支持。同時它還支持包括雙數(shù)據(jù)流速率(Dual Date Rate,簡稱DDR)在內(nèi)的外部動態(tài)隨機存儲器(Dynamic Random-Access Memory,簡稱DRAM)和靜態(tài)隨機存儲器(Static Random-Access Memory,簡稱SRAM)接口、高速低電壓差分接口(LVDS)、鎖相環(huán)(PLL)時鐘管理。
在實時采樣方式下,模擬信號經(jīng)過前端信號調(diào)理通道的調(diào)理進入A/D采樣與樣值存儲器,A/D采樣與樣值存儲器將以1GSPS的速率采樣信號,并通過LVDS接口,以500MHz的速率送到FPGA中。經(jīng)過FPGA雙沿采樣后降速成為4路250MHz的數(shù)據(jù),存入FIFO存儲器中,在存儲過程中,實際觸發(fā)點可能存在于這4路數(shù)據(jù)中。利用恒流源時間擴展電路并行于數(shù)據(jù)采集測出觸發(fā)信號上升沿同數(shù)據(jù)同步時鐘上升沿中間的持續(xù)時間,利用測試結(jié)果可以定位觸發(fā)點位于4路采集數(shù)據(jù)中的哪一路。再按照發(fā)明中的波形繪制方式,繪制波形,從而減小波形的晃動。
盡管上面對本發(fā)明說明性的具體實施方式
進行了描述,以便于本技術(shù)領的技術(shù)人員理解本發(fā)明,但應該清楚,本發(fā)明不限于具體實施方式
的范圍,對本技術(shù)領域的普通技術(shù)人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護之列。
權(quán)利要求
1.一種多ADC并行高速數(shù)據(jù)采集系統(tǒng)中觸發(fā)點精確定位的方法,包括以下步驟
(1)、測量出觸發(fā)信號上升沿與數(shù)據(jù)同步時鐘上升沿之間的持續(xù)時間,將持續(xù)時間除以等效采樣時鐘周期,得到觸發(fā)點在多路數(shù)據(jù)中的具體位置;
(2)、根據(jù)觸發(fā)點在多路數(shù)據(jù)中的具體位置,計算出每次波形繪制時的丟點個數(shù),然后依據(jù)丟點后的采樣數(shù)據(jù)進行波形繪制。
2.根據(jù)權(quán)利要求1所述的觸發(fā)點精確定位的方法,其特征在于,所述的持續(xù)時間測量為
先通過恒流源時間擴展電路對持續(xù)時間進行擴展,得到擴展時間
Δt0=K×Δtx
式中,Δtx為持續(xù)時間,Δt0擴展時間,K為擴展倍數(shù);
然后,用周期為Tc計數(shù)脈沖,對擴展時間Δt0進行計數(shù),計數(shù)值為C,得到持續(xù)時間Δtx
3.根據(jù)權(quán)利要求2所述的觸發(fā)點精確定位的方法,其特征在于,所述的恒流源時間擴展電路對持續(xù)時間進行擴展之前,先將持續(xù)時間Δtx擴展為Δtx+2T0,然后送到恒流源時間擴展電路進行擴展,通過恒流源時間擴展電路測得的時間減去2T0即為持續(xù)時間Δtx。
4.根據(jù)權(quán)利要求1所述的觸發(fā)點精確定位的方法,其特征在于,所述的持續(xù)時間測量為
對寬度為2T0、3T0以及Δtx+2T0的待擴展脈沖在恒流源時間擴展電路進行擴展,然后周期為Tc計數(shù)時鐘對擴展后得的脈沖分別進行計數(shù),并分別得到計數(shù)值N1、N2以及Nx,
得出持續(xù)時間
式中,T0為數(shù)據(jù)同步時鐘周期。
5.根據(jù)權(quán)利要求4所述的觸發(fā)點精確定位的方法,其特征在于,所述的恒流源時間擴展電路的擴展倍數(shù)為100,計數(shù)時鐘采用數(shù)據(jù)同步時鐘或采樣脈沖。
6.根據(jù)權(quán)利要求1所述的觸發(fā)點精確定位的方法,其特征在于,所述的觸發(fā)點在多路數(shù)據(jù)中的具體位置,計算出每次波形繪制時的丟點個數(shù)為
M=L-ΔL=L-[Δtx/Ts]=4-[Δtx/Ts]
式中,L為數(shù)據(jù)采集路數(shù),ΔL觸發(fā)點在多路采樣數(shù)據(jù)中的具體位置,由Δtx/Ts取整得到,Ts等效采樣時鐘周期。
全文摘要
本發(fā)明公開了一種多ADC并行高速數(shù)據(jù)采集系統(tǒng)中觸發(fā)點精確定位的方法,包括以下步驟(1)測量出觸發(fā)信號上升沿與數(shù)據(jù)同步時鐘上升沿之間的持續(xù)時間,將持續(xù)時間除以等效采樣時鐘周期,得到觸發(fā)點在多路數(shù)據(jù)中的具體位置;(2)根據(jù)觸發(fā)點在多路數(shù)據(jù)中的具體位置,計算出每次波形繪制時的丟點個數(shù),然后依據(jù)丟點后的采樣數(shù)據(jù)進行波形繪制。與現(xiàn)有技術(shù)相比,本發(fā)明的觸發(fā)點在多路數(shù)據(jù)中的具體位置的定位與觸發(fā)方式?jīng)]有關聯(lián),只需計算測量出觸發(fā)信號上升沿與數(shù)據(jù)同步時鐘上升沿之間的持續(xù)時間即可,因而不受觸發(fā)方式影響,就能精確定位觸發(fā)點的位置。
文檔編號H03M1/06GK101719768SQ20091021625
公開日2010年6月2日 申請日期2009年11月20日 優(yōu)先權(quán)日2009年11月20日
發(fā)明者曾浩, 邱渡裕, 張沁川, 向川云, 郭連平 申請人:電子科技大學