一種數(shù)字示波器的波形搜索方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于波形搜索技術(shù)領(lǐng)域,更為具體地講,涉及一種數(shù)字示波器的波形搜索 方法。
【背景技術(shù)】
[0002] 示波器作為最為通用的測(cè)試儀器廣泛運(yùn)用于各個(gè)行業(yè),一臺(tái)功能豐富的示波器能 夠得到更多用戶的青睞。隨著電子技術(shù)和半導(dǎo)體技術(shù)的飛速發(fā)展,電子電路系統(tǒng)度越來越 復(fù)雜、數(shù)據(jù)傳輸量也越來越大。通過調(diào)節(jié)示波器觸發(fā)類型的方法捕獲用戶感興趣的波形特 征已經(jīng)不能滿足需求,快速的從海量數(shù)據(jù)中搜索出所有用戶關(guān)心的波形特征能夠適應(yīng)當(dāng)今 復(fù)雜的電子電路系統(tǒng)測(cè)試需求。
[0003] 國內(nèi)示波器行業(yè)由于研究時(shí)間相對(duì)較短,普遍采用"現(xiàn)場(chǎng)可編程邏輯器件(FPGA) + 微處理器"的架構(gòu)。微處理器多數(shù)為單線程、系統(tǒng)時(shí)鐘不到200MHz。波形特征搜索采用軟 件的方式實(shí)現(xiàn),即根據(jù)用戶設(shè)置的搜索條件在緩存區(qū)尋找符合條件的數(shù)據(jù)點(diǎn)。該方法有明 顯的缺陷:
[0004] (一)速度慢
[0005] 影響示波器的響應(yīng)時(shí)間。微處理器的單線程、低時(shí)鐘的工作方式?jīng)Q定了波形特征 搜索的指令逐步執(zhí)行、耗時(shí)嚴(yán)重。如ADSP BF531系統(tǒng)典型時(shí)鐘為133. 3MHz,在某時(shí)基檔位 下搜索波形的上升時(shí)間需要1000個(gè)時(shí)鐘周期。那么需要的時(shí)間約為7. 5us。
[0006] (二)降低波形捕獲率
[0007] 波形捕獲率Waeq與波形數(shù)據(jù)處理時(shí)間(采集的死區(qū)時(shí)間)D和采集時(shí)間T aeq的關(guān)系 如下:
[0009] 采用軟件的方式實(shí)現(xiàn)波形特征搜索功能,采用的是將緩沖區(qū)數(shù)據(jù)逐次的跟用戶設(shè) 定條件做比較,符合條件則標(biāo)記,然后繼續(xù)比較,直到緩沖區(qū)數(shù)據(jù)比較完成。這樣逐次比較 的過程浪費(fèi)大量的示波器處理時(shí)間,延長了波形采集的死區(qū)時(shí)間D,由上述公式可知,也就 降低了波形捕獲率。
[0010] (三)范圍小
[0011] 軟件方式只是查找顯示緩存區(qū)的數(shù)據(jù)。顯示緩存區(qū)存儲(chǔ)容量小,只有幾百個(gè)采樣 點(diǎn),搜索到用戶感興趣的波形數(shù)量小,或者根本不能搜索到用戶感興趣的波形特征,但用戶 感興趣的波形特征卻存在。同時(shí)示波器中海量波形數(shù)據(jù)庫中的波形特征無法搜索,也極大 地降低了示波器的效率。
【發(fā)明內(nèi)容】
[0012] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種數(shù)字示波器的波形搜索方法, 利用硬件協(xié)同處理裝置實(shí)現(xiàn)波形搜索功能,改善數(shù)字示波器波形搜索速度慢、波形捕獲率 低、范圍小的缺陷。
[0013] 為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明一種數(shù)字示波器的波形搜索方法,其特征在于,包括 以下步驟:
[0014] (1)、對(duì)硬件協(xié)同處理裝置進(jìn)行初始化
[0015] (1. 1)、對(duì)信號(hào)整形電路初始化
[0016] 信號(hào)整形電路中的多路選擇器A選擇通道1作為默認(rèn)的信號(hào)輸入通道;
[0017] 根據(jù)數(shù)字示波器采集系統(tǒng)得到輸入信號(hào)的幅度V,將比較器H的閾值電平設(shè)置為 V/2,比較器L的閾值電平設(shè)置為0 ;
[0018] (1. 2)、對(duì) FPGA 初始化
[0019] 將FPGA中的多路選擇器B、時(shí)間計(jì)數(shù)器模塊、地址生成器模塊、數(shù)據(jù)選擇器模塊、 觸發(fā)時(shí)間記錄模塊、波形搜索模塊、協(xié)同處理控制器模塊、波形搜索數(shù)據(jù)存儲(chǔ)器模塊進(jìn)行初 始化;
[0020] (2)、波形搜索參數(shù)設(shè)置
[0021] 用戶通過數(shù)字示波器的人機(jī)交互界面向硬件協(xié)同處理裝置設(shè)置相關(guān)波形參數(shù);
[0022] (3)、信號(hào)輸入
[0023] 輸入信號(hào)經(jīng)過信號(hào)調(diào)理電路后輸入到硬件協(xié)同處理裝置,再經(jīng)過其內(nèi)部的信號(hào)整 形電路后得到數(shù)字信號(hào),最后將數(shù)字信號(hào)送到FPGA中的多路選擇器B,并行執(zhí)行步驟(4)和 (5);
[0024] (4) FPGA實(shí)現(xiàn)波形搜索
[0025] (4. 1)、使能裝置中的時(shí)間計(jì)數(shù)器模塊、地址生成器模塊,并根據(jù)步驟⑵的設(shè)置 相關(guān)波形參數(shù)使能指定的波形搜索模塊,并將多路選擇器B的輸出接入到該波形搜索模 塊,指定波形搜索模塊輸出的數(shù)據(jù)流通過數(shù)據(jù)選擇器模塊輸出到波形搜索數(shù)據(jù)存儲(chǔ)器中;
[0026] (4. 2)、FPGA重復(fù)的從輸入的數(shù)字信號(hào)流中查找符合條件的數(shù)字信號(hào),如果沒有 找到符合條件的數(shù)字信號(hào),則繼續(xù)執(zhí)行步驟(4. 2),如果找到符合條件的數(shù)字信號(hào),則進(jìn)一 步根據(jù)步驟(2)設(shè)置的參數(shù)判斷是否有持續(xù)時(shí)間長度要求,如果有持續(xù)時(shí)間長度要求的波 形,則進(jìn)入步驟(4.3);如果沒有持續(xù)時(shí)間長度要求的波形,則進(jìn)入步驟(4.4);
[0027] (4. 3)、記錄該數(shù)字信號(hào)出現(xiàn)的起始時(shí)間Ts和結(jié)束時(shí)間Te,得到該數(shù)字信號(hào)的波 形時(shí)間長度T = (Te-Ts),再比較波形時(shí)間長度T與用戶設(shè)置的時(shí)間值Tu是否滿足用戶設(shè) 置關(guān)系,如果滿足,則將起始時(shí)間Ts送到時(shí)間數(shù)據(jù)總線上,再進(jìn)入步驟(4.5);如果不滿足, 則不向時(shí)間數(shù)據(jù)總線上傳輸數(shù)據(jù);
[0028] (4. 4)、記錄該數(shù)字信號(hào)出現(xiàn)的起始時(shí)間Ts,并將起始時(shí)間Ts送到時(shí)間數(shù)據(jù)總線 上,再進(jìn)入步驟(4.5);
[0029] (4. 5)、當(dāng)時(shí)間數(shù)據(jù)總線上出現(xiàn)有效時(shí)間數(shù)據(jù)時(shí),地址生成器從0地址依次循環(huán)產(chǎn) 生操作波形搜索數(shù)據(jù)存儲(chǔ)器所需要的寫地址,再根據(jù)當(dāng)前的地址將數(shù)據(jù)選擇器輸出的數(shù)據(jù) 流存入波形搜索數(shù)據(jù)存儲(chǔ)器中;
[0030] (5)、觸發(fā)時(shí)間記錄
[0031] 首先使能觸發(fā)時(shí)間記錄模塊,觸發(fā)時(shí)間記錄模塊在數(shù)字示波器有效的觸發(fā)信號(hào)產(chǎn) 生時(shí),將時(shí)間計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值鎖存到Dt"gCT中;將地址生成器當(dāng)前的地址鎖存到A &lgCT 中;
[0032] (6)、處理器數(shù)據(jù)處理
[0033] (6. 1)、處理器對(duì)數(shù)字示波器本次采集后的波形數(shù)據(jù)進(jìn)行處理和顯示;
[0034] (6. 2)、在步驟(6. 1)完成后,處理器讀取數(shù)字示波器當(dāng)前的時(shí)基檔位,計(jì)算出屏 幕顯示的時(shí)間長度Ddlsplay;讀取D "gCT、預(yù)觸發(fā)深度值Plength、波形搜索數(shù)據(jù)存儲(chǔ)器長度Pflfci, 計(jì)算出屏幕顯示所需的時(shí)間范圍D lf3ft和D Hght;
[0037] 其中,Dttlgra^t作為波形搜索數(shù)據(jù)與數(shù)字示波器觸發(fā)點(diǎn)對(duì)齊的參考值、D ^和D "ght 分別為屏幕顯示波形搜索數(shù)據(jù)對(duì)應(yīng)的最小值和最大值;
[0038] (6. 3)、處理器從At"gCT中依次向觸發(fā)前數(shù)據(jù)區(qū)讀取數(shù)據(jù),如果讀取數(shù)據(jù)在D lrft和 Dt"gCT之間則在屏幕上標(biāo)記,如果讀取數(shù)據(jù)小于D lrft時(shí)則進(jìn)入步驟(6. 4);
[0039] (6. 4)、處理器從At"gCT中依次向觸發(fā)后數(shù)據(jù)區(qū)讀取數(shù)據(jù),如果讀取數(shù)據(jù)在D &lgCT 和D"ght之間則在屏幕上標(biāo)記,如果讀取數(shù)據(jù)大于D "ght則停止標(biāo)記,且表示本次波形搜索完 成。
[0040] 本發(fā)明的發(fā)明目的是這樣實(shí)現(xiàn)的:
[0041] 本發(fā)明一種數(shù)字示波器的波形搜索方法,在硬件協(xié)同處理裝置中,根據(jù)用戶設(shè)置 的相關(guān)波形參數(shù)將經(jīng)過數(shù)字示波器的信號(hào)調(diào)理電路和信號(hào)整形電路的模擬信號(hào)轉(zhuǎn)換為1 路或者2路數(shù)字信號(hào),該數(shù)字信號(hào)進(jìn)入用戶選中的波形搜索模塊。波形搜索模塊在FPGA的 系統(tǒng)時(shí)鐘下不斷檢測(cè)輸入的數(shù)字信號(hào)流符合用戶設(shè)置參數(shù)的邏輯電平,并將該邏輯電平出 現(xiàn)的起始時(shí)間Ts存入波形搜索數(shù)據(jù)存儲(chǔ)器中。微處理器從存儲(chǔ)器中讀取時(shí)間數(shù)據(jù)再據(jù)根 據(jù)當(dāng)前數(shù)字示波器的時(shí)基檔位計(jì)算出標(biāo)記點(diǎn)在屏幕上的對(duì)應(yīng)位置。
[0042] 同時(shí),本發(fā)明一種數(shù)字示波器的波形搜索方法還具有以下有益效果:
[0043] (1)、本發(fā)明采用硬件(FPGA)的方式實(shí)現(xiàn)波形搜索,節(jié)約了搜索的時(shí)間。FPGA的時(shí) 鐘為300MHz左右,微處理器(如ADSP BF531)時(shí)鐘為133MHz左右,比如顯示緩存區(qū)有1600 個(gè)數(shù)據(jù),采用微處理器搜索邊沿特征的時(shí)間至少為1600*7. 5ns = 12us,采用FPGA搜索邊沿 特征的時(shí)間5*3. 2ns = 16ns。單從消耗的時(shí)間來看,F(xiàn)PGA能夠在更短的時(shí)間內(nèi)完成。
[0044] (2)、微處理器的指令是逐條(串行)執(zhí)行,影響數(shù)字示波器的響應(yīng)時(shí)間。FPGA實(shí) 現(xiàn)搜索是并行執(zhí)行,即與數(shù)字示波器的采集同時(shí)運(yùn)行;幾乎不影響數(shù)字示波器的響應(yīng)時(shí)間, 微處理器只需要讀取存儲(chǔ)器中的數(shù)據(jù)進(jìn)行標(biāo)記,相對(duì)于采用純軟件實(shí)現(xiàn)波形特征搜索節(jié)約 了大量時(shí)間,對(duì)數(shù)字示波器的波形數(shù)據(jù)處理時(shí)間(采集的死區(qū)時(shí)間)D影響非常小,對(duì)波形 捕獲率的影響也就非常小。
[0045] (3)、軟件方法只能搜索顯示緩存區(qū)的數(shù)據(jù),搜索搜索范圍由顯示緩存區(qū)大小決 定。增大硬件協(xié)同處理裝置存儲(chǔ)器的容量,則可以存儲(chǔ)更多的波形搜索數(shù)據(jù),大容量存儲(chǔ)器 存儲(chǔ)