本發(fā)明涉及數(shù)字技術(shù)領(lǐng)域,特別是涉及一種數(shù)字高捕獲率方法。
背景技術(shù):
數(shù)字三維示波器是一種不僅能捕獲和顯示信號(hào)的時(shí)間-幅度(事件)信息,而且能夠以不同的輝度或顏色等級(jí)顯示事件出現(xiàn)概率的數(shù)字存儲(chǔ)示波器。它具有數(shù)字存儲(chǔ)示波器的各種優(yōu)點(diǎn),同時(shí)它還能以數(shù)字形式產(chǎn)生顯示效果類似于模擬示波器的亮度漸次變化的化學(xué)熒光效果。
隨著系統(tǒng)時(shí)鐘頻率的不斷提高,急劇減少了信號(hào)的時(shí)序裕度,抖動(dòng)、異步故障和瞬態(tài)問(wèn)題變得突出并難以發(fā)現(xiàn)。如果波形捕獲率不足將使時(shí)域測(cè)試中多數(shù)瞬時(shí)事件無(wú)法發(fā)現(xiàn),信號(hào)抖動(dòng)分析、眼圖分析更無(wú)從談起。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)的缺陷,本發(fā)明目的在于提供一種數(shù)字高捕獲率方法,用以提高波形捕獲率。
本發(fā)明目的主要是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
本發(fā)明提供一種數(shù)字高捕獲率方法,包括:
將采集的數(shù)字信號(hào)的串行數(shù)據(jù)流轉(zhuǎn)換為并行數(shù)據(jù)流;
將并行數(shù)據(jù)流的每個(gè)時(shí)鐘周期內(nèi)的X個(gè)采樣點(diǎn)的值并行存儲(chǔ)于三維波形存儲(chǔ)空間的對(duì)應(yīng)的X個(gè)獨(dú)立讀寫的存儲(chǔ)單元。
進(jìn)一步,所述方法還包括:
將每個(gè)采樣點(diǎn)的值作為對(duì)應(yīng)的存儲(chǔ)單元的內(nèi)部地址;
將所述內(nèi)部地址累加2N作為每個(gè)采樣點(diǎn)對(duì)應(yīng)的存儲(chǔ)單元的最終地址;其中,N為數(shù)字三維示波器的模數(shù)轉(zhuǎn)換模塊的分辨率。
進(jìn)一步,所述方法具體包括:
根據(jù)數(shù)字三維示波器的屏幕需要顯示的采樣點(diǎn)個(gè)數(shù)K,確定需要存儲(chǔ)的時(shí)鐘周期的個(gè)數(shù)M;
確定觸發(fā)位置;
判斷是否存滿M個(gè)周期的并行數(shù)據(jù)流,若沒(méi)有存滿,將每個(gè)采樣點(diǎn)的值作為對(duì)應(yīng)的存儲(chǔ)單元的內(nèi)部地址;將所述內(nèi)部地址累加2N作為每個(gè)采樣點(diǎn)對(duì)應(yīng)的存儲(chǔ)單元的最終地址;
若存滿,根據(jù)所述觸發(fā)位置將并行數(shù)據(jù)流右移,將移位后的每個(gè)采樣點(diǎn)的值作為存儲(chǔ)單元的內(nèi)部地址,讀出所述內(nèi)部地址的值后加1再寫回所述內(nèi)部地址,將所述內(nèi)部地址累加2N作為每個(gè)采樣點(diǎn)對(duì)應(yīng)的存儲(chǔ)單元的最終地址。
進(jìn)一步,將觸發(fā)位置的數(shù)據(jù)移動(dòng)到X維數(shù)組的最后一個(gè)位置,從而保證觸發(fā)位置的數(shù)據(jù)位于K個(gè)采樣點(diǎn)中的同一個(gè)位置。
進(jìn)一步,時(shí)鐘周期的個(gè)數(shù)M=(K/X)+1。
本發(fā)明有益效果如下:本發(fā)明有效提高波形捕獲率,解決了由于信號(hào)的時(shí)序裕度的減少,抖動(dòng)、異步故障和瞬態(tài)事件變得難以發(fā)現(xiàn)的問(wèn)題。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例中數(shù)字三維示波器的功能框圖;
圖2是本發(fā)明實(shí)施例中存儲(chǔ)每個(gè)時(shí)鐘周期的采樣點(diǎn)需要的對(duì)應(yīng)的存儲(chǔ)單元示意圖。
具體實(shí)施方式
波形捕獲率已成為評(píng)價(jià)時(shí)域測(cè)試性能的關(guān)鍵指標(biāo)之一。如果波形捕獲率不足將使時(shí)域測(cè)試中多數(shù)瞬時(shí)事件無(wú)法發(fā)現(xiàn),信號(hào)抖動(dòng)分析、眼圖分析更無(wú)從談 起,基于此,本發(fā)明提供了一種數(shù)字高捕獲率方法,以下結(jié)合附圖以及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
本發(fā)明實(shí)施例提供一種數(shù)字高捕獲率方法,該方法對(duì)高速并行數(shù)據(jù)流進(jìn)行并行三維信息統(tǒng)計(jì),且全部在FPGA(Field-Programmable Gate Array,即現(xiàn)場(chǎng)可編程門陣列)內(nèi)部實(shí)現(xiàn),包括:
S101,將采集的數(shù)字信號(hào)的串行數(shù)據(jù)流轉(zhuǎn)換為并行數(shù)據(jù)流;
S102,將并行數(shù)據(jù)流的每個(gè)時(shí)鐘周期內(nèi)的X個(gè)采樣點(diǎn)的值并行存儲(chǔ)于三維波形存儲(chǔ)空間的對(duì)應(yīng)的X個(gè)獨(dú)立讀寫的存儲(chǔ)單元。
S103,將每個(gè)采樣點(diǎn)的值作為對(duì)應(yīng)的存儲(chǔ)單元的內(nèi)部地址;將所述內(nèi)部地址累加2N作為每個(gè)采樣點(diǎn)對(duì)應(yīng)的存儲(chǔ)單元的最終地址;其中,N為數(shù)字三維示波器的模數(shù)轉(zhuǎn)換模塊的分辨率。
其中,S103具體包括:
根據(jù)數(shù)字三維示波器的屏幕需要顯示的采樣點(diǎn)個(gè)數(shù)K,確定需要存儲(chǔ)的時(shí)鐘周期的個(gè)數(shù)M;
確定觸發(fā)位置;
判斷是否存滿M個(gè)周期的并行數(shù)據(jù)流,若沒(méi)有存滿,執(zhí)行將每個(gè)采樣點(diǎn)的值作為對(duì)應(yīng)的存儲(chǔ)單元的內(nèi)部地址;將所述內(nèi)部地址累加2N作為每個(gè)采樣點(diǎn)對(duì)應(yīng)的存儲(chǔ)單元的最終地址;
若存滿,根據(jù)所述觸發(fā)位置將并行數(shù)據(jù)流右移,將移位后的每個(gè)采樣點(diǎn)的值作為存儲(chǔ)單元的內(nèi)部地址,讀出所述內(nèi)部地址的值后加1再寫回所述內(nèi)部地址,執(zhí)行將所述內(nèi)部地址累加2N作為每個(gè)采樣點(diǎn)對(duì)應(yīng)的存儲(chǔ)單元的最終地址。
簡(jiǎn)述本發(fā)明實(shí)施例方法的實(shí)現(xiàn)原理。
如圖1所示,模擬信號(hào)經(jīng)過(guò)ADC(模數(shù)轉(zhuǎn)換模塊)轉(zhuǎn)化后變?yōu)閿?shù)字信號(hào),數(shù)字信號(hào)送入FPGA后做串并轉(zhuǎn)換,變?yōu)椴⑿袛?shù)據(jù)流,在數(shù)字時(shí)鐘下,每周期均有若干采樣點(diǎn)需要統(tǒng)計(jì)處理,數(shù)字高捕獲率實(shí)現(xiàn)的方法難點(diǎn)主要有兩方面, 一個(gè)是數(shù)據(jù)為高速并行數(shù)據(jù)流,需并行處理來(lái)保證較高捕獲率,另一個(gè)是對(duì)存儲(chǔ)空間的合理利用。
假設(shè)數(shù)字時(shí)鐘下,每個(gè)周期得到X個(gè)采樣點(diǎn),一次采集需要K個(gè)采樣點(diǎn),需要采集K/X個(gè)時(shí)鐘周期,實(shí)現(xiàn)數(shù)字高捕獲率的第一步是每周期并行存儲(chǔ)X個(gè)采樣點(diǎn),存儲(chǔ)的時(shí)鐘周期個(gè)數(shù)M=(K/X)+1個(gè)(多一個(gè)時(shí)鐘周期是用于觸發(fā)位置調(diào)整),需要存儲(chǔ)空間為K+X。
假設(shè)觸發(fā)位置位于X個(gè)采樣點(diǎn)中的位置為m,為保證觸發(fā)位置穩(wěn)定不抖動(dòng),需要將觸發(fā)位置的數(shù)據(jù)移動(dòng)到X維數(shù)組的最后一個(gè)位置,從而保證觸發(fā)位置的數(shù)據(jù)位于K個(gè)采樣點(diǎn)中的同一個(gè)位置。為實(shí)現(xiàn)高捕獲率,減少處理時(shí)間和存儲(chǔ)空間,并行數(shù)據(jù)流被讀出后直接進(jìn)行移位操作,然后送入三維波形統(tǒng)計(jì)模塊,本步驟中不再存儲(chǔ)。
假設(shè)ADC的分辨率為N,則屏幕共有2N K個(gè)像素點(diǎn),每個(gè)像素點(diǎn)用16bit位統(tǒng)計(jì),表示不同的亮度。存儲(chǔ)空間的大小為2N K 16bit。采集到的每個(gè)采樣點(diǎn),可以映射到三維波形存儲(chǔ)空間的某個(gè)存儲(chǔ)單元中。當(dāng)波形的采樣點(diǎn)涉及到某存儲(chǔ)單元時(shí),讀出該存儲(chǔ)單元內(nèi)的數(shù)值,加一后寫回。為保證高捕獲率,同樣需要并行處理X個(gè)采樣點(diǎn),需要將存儲(chǔ)空間分解成X個(gè)可獨(dú)立讀寫的存儲(chǔ)塊,每個(gè)存儲(chǔ)塊的大小為為2N K 16/Xbit。便于工程實(shí)踐,將采樣點(diǎn)值作為存儲(chǔ)空間的內(nèi)部地址0至2N-1,外部地址每并行處理完X個(gè)采樣點(diǎn)累加2N。因此,波形經(jīng)常掃過(guò)的地方,亮度信息在存儲(chǔ)單元內(nèi)會(huì)逐級(jí)累積,即數(shù)據(jù)攜帶波形出現(xiàn)的概率信息,那么波形自然顯示出明暗的效果。
具體說(shuō)如圖2所示:
1并行處理40個(gè)采樣點(diǎn),40即是上述的X,所以需要40個(gè)獨(dú)立存儲(chǔ)空間。
2這40個(gè)采樣點(diǎn)的值可能是0到255中間的某一個(gè)值,比如40個(gè)采樣點(diǎn)中第1個(gè)采樣點(diǎn)的值是80,就把80作為第一塊存儲(chǔ)空間SRAM0的地址;40個(gè)采樣點(diǎn)中第2個(gè)采樣點(diǎn)的值是90,就把90作為第二塊存儲(chǔ)空間SRAM1的地址;40個(gè)采樣點(diǎn)中第40個(gè)采樣點(diǎn)的值是100,就把100作為第二塊存儲(chǔ)空 間SRAM39的地址。
3并行處理完這40個(gè)采樣點(diǎn)后,繼續(xù)處理接下來(lái)的40個(gè)點(diǎn),存儲(chǔ)空間依舊是這40塊SRAM,0~255的存儲(chǔ)地址已經(jīng)給第一次的40個(gè)點(diǎn)用了,接下來(lái)就要用256~511的地址,即整體地址增加256,比如比如40個(gè)采樣點(diǎn)中第1個(gè)采樣點(diǎn)的值是80,就把80+256作為第一塊存儲(chǔ)空間SRAM0的地址;40個(gè)采樣點(diǎn)中第2個(gè)采樣點(diǎn)的值是90,就把90+256作為第二塊存儲(chǔ)空間SRAM1的地址;40個(gè)采樣點(diǎn)中第40個(gè)采樣點(diǎn)的值是100,就把100+256作為第二塊存儲(chǔ)空間SRAM39的地址。
以一個(gè)具體的應(yīng)用例子,簡(jiǎn)述本發(fā)明。
一個(gè)5GHz采樣率的ADC對(duì)一個(gè)模擬信號(hào)進(jìn)行采樣(每個(gè)采樣點(diǎn)8位),將采樣數(shù)據(jù)送入FPGA處理,F(xiàn)PGA不能以5GHz的時(shí)鐘直接處理,因此將數(shù)據(jù)流通絡(luò)低壓差分模塊降速到250M時(shí)鐘下處理,得到每周期20個(gè)采樣點(diǎn)(160位)的高速并行數(shù)據(jù)流。屏幕需要顯示1000個(gè)采樣點(diǎn),則需要并行存儲(chǔ)51個(gè)周期(每周期20個(gè)采樣點(diǎn))的數(shù)據(jù)。
存滿51個(gè)周期數(shù)據(jù)后,將數(shù)據(jù)讀出,根據(jù)觸發(fā)位置直接將數(shù)據(jù)右移,從而保證每次的觸發(fā)位置在第25個(gè)周期數(shù)據(jù)的最低位,達(dá)到觸發(fā)無(wú)數(shù)字抖動(dòng)的目的。
移位后的數(shù)據(jù)每個(gè)采樣點(diǎn)的值作為存儲(chǔ)單元的內(nèi)部地址,讀出該地址內(nèi)的數(shù)值后加1再寫回該地址。每處理完并行的20個(gè)采樣點(diǎn)后外部地址累加256。內(nèi)部地址加上外部地址為最終的存儲(chǔ)單元地址。
盡管為示例目的,以上已經(jīng)公開(kāi)了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域的技術(shù)人員將意識(shí)到各種改進(jìn)、增加和取代也是可能的,因此,本發(fā)明的范圍應(yīng)當(dāng)不限于上述實(shí)施例。