一種數字示波器的自動設置方法
【技術領域】
[0001 ]本發明屬于測量儀器技術領域,更為具體地講,涉及一種數字示波器的自動設置方法。
【背景技術】
[0002]在電子技術飛速發展的時代,數字示波器的自動設置經歷了三個階段:從最初通過手動調節幅度檔位、水平時基檔位、通道耦合以及觸發等相關控制參數使被測信號在示波器上穩定的顯示;到后來的用時長、不能準確找到輸入信號的自動設置;而現在則要求“又快又準”的高效的自動設置,即在不清楚接入信號的情況下,自動設置示波器的幅度檔位、水平時基檔位、通道偏置、通道耦合以及觸發等相關控制參數到合適的檔位,從而將被測信號快速、準確、穩定的顯示在屏幕上。方便了用戶對未知信號的捕捉和觀測。
[0003]目前的設計方法都是先對所有通道都測頻,再設置時基檔位,然后調整幅度檔位,重復循環,直到波形在屏幕的規定范圍內為止,在設置合適的幅度檔位之前一直是重復采集、讀取數據、比較判斷。此方法效率不高。
[0004]目前已有數字示波器的自動設置方法,S卩2014年05月21日公開的,公開號為CN103809002 A、題為“數字熒光示波器自動設置的控制方法”。該方法用到就是上述方法。然而方法存在著如下的問題:
[0005]首先,此方法直接測頻,不一定能能測成功。由于硬件測頻需要設置恰當的幅度檔,使觸發電平設置恰當,才能使測頻準確。若在較小的幅度檔位測頻,會導致通道飽和,此時需要很長的時間等待恢復正常,處理不當會使測頻錯誤,嚴重影響自動設置的準確性。
[0006]其次,此方法對無信號的通道也會去采集、讀數、判斷,重復測幅的復雜過程。例如只有一個通道有信號,那么此通道會成功設置好,然而剩下的無信號通道就會經過多次采集、取數、找值、判斷過程,浪費了一半的時間在沒有信號的通道上判斷。并且在波形已經可以觀測但未達到最佳觀察的檔位時,依舊采用重新采集讀數判斷的測幅過程直到最佳觀測檔位。此方法只有在所有通道均有信號、或者帶有較小的直流偏且幅度大的交流信號才會有很好的效果,其他情況則會使自動設置時間翻倍。
[0007]另外一個自動設置方法,S卩2009年12月23日公開的,公開號為CN 101609106 B、題為“數字示波器的自動設置方法”。此方法不僅存在著上述方法中存在問題,而且還存在著如下問題:
[0008]首先,測幅時將前端模擬輸入通道設置為交流耦合方式,直接濾掉直流成分,最后測幅完成再直流耦合,單獨獲取直流偏。但是這樣無疑又是如測幅過程一樣的采集、讀數、比較判斷的重復過程。再一次的浪費自動設置的時間。
[0009]其次,在最后將多路信號均分屏幕,每一路信號各占屏幕的一部分,這時又是一個如測幅過程一樣重復采集判斷過程。又一次的浪費自動設置的時間。
[0010]最后,自動設置針對已經激活的通道進行,對有接入信號但未打開的通道就無法設置,此方法不設計不合理。
[0011]綜上所述,現有設計的主要問題有:時間開銷大、測頻不穩定、設置最佳幅度檔位過程沒效率、對有直流成分的信號處理無能為力。
【發明內容】
[0012]本發明的目的在于克服現有技術的不足,提供一種數字示波器的自動設置方法,能夠將被測信號的波形快速、準確、穩定的顯示在顯示屏上,還能快速、準確處理直流信號的自動設置。
[0013]為實現上述發明目的,本發明一種數字示波器的自動設置方法,其特征在于,包括以下步驟:
[0014](1)、初始化基礎參數并判斷所有通道內有無輸入信號
[0015](1.1)、數字示波器初始化
[0016]將采集模式設置為峰值檢測模式;將前端模擬輸入通道設置為直流耦合方式,同時在每個輸入通道內設置標志位flag,初始化所有標志位flag = O;其中,flag的取值為I和O,當flag = I標志該通道幅度設置完成,fIag = O標志該通道幅度設置未完成;以及初始化數字示波器的其他基礎參數值;
[0017](1.2)、判斷所有通道內有無輸入信號
[0018]采集模塊同時采集所有輸入通道的信號,得到每個輸入通道中信號幅度的最大值和最小值;在某一個通道內,如果max(dl,d2)所占格數小于半格,則此通道無信號輸入,設置為默認的幅度檔位,并且設置此通道標志位flag=l,進入步驟2;如果max(dl,d2)所占格數大于半格,則此通道有信號輸入,保持標志位flag = O不變,并進入步驟2;其中,dl為輸入通道內信號幅度的最大值與波形數據顯示零點的距離,d2為輸入通道內信號幅度的最小值與波形數據顯示零點的距離;
[0019](2)、采用二分查找法設置有輸入信號通道的幅度檔位
[°02°] (2.1 )、讀取標志位flag,如果flag= I,則進入步驟(2.8);如果fIag = O,則進入步驟(2.2);
[0021](2.2)、將輸入通道的幅度檔位設置為11001^,10001^=(1^?了+1?16!11')/2,其中,LEFT為數字示波器的幅度檔位最小值,RIGHT為數字示波器的幅度檔位最大值;
[0022]采集模塊采集輸入信號,得到輸入信號幅度的最大值和最小值,以及輸入信號幅度所占格數和輸入信號的直流偏;再判斷輸入信號幅度的最大值是否等于ADC量程的最大值(RANGE_MAX),或者輸入信號幅度的最小值是否等于ADC量程的最小值(RANGE_MAIN),如果其中一項滿足相等,則進入步驟(2.6),否則進入步驟(2.3);
[0023](2.3)、判斷輸入信號幅度所占格數是否大于I格,如果大于等于I格,則進入步驟
(2.4),否則進入步驟(2.5);
[0024](2.4)、判斷輸入信號幅度所占格數是否大于8格,如果大于等于8格,則進入步驟
(2.6),否則設置此通道標志位flag = I,進入步驟(2.8);
[0025](2.5)、判斷輸入信號是否是直流信號,如果是直流信號,根據直流偏的值直接設置此通道的幅度檔位,并設置此通道標志位flag=l;否則,保持通道標志位Hag = O不變,并進入步驟(2.7);
[0026](2.6)、將數字示波器的搜索范圍縮小到屏幕的右半邊,并重新設置LEFT=MIDDLE+1,保持此通道標志位£1&8 = 0不變,再返回到步驟(2.2);
[0027](2.7)、將數字示波器的搜索范圍縮小到屏幕的左半邊,并重新設置RIGHT =MIDDLE-1,保持此通道標志位flag = 0不變,再返回到步驟(2.2);
[0028](2.8)、該通道幅度設置完成,記錄該通道內信號幅度的最大值和最小值,當前的幅度檔位(CURR_YID),以及該通道內信號幅度所占格數(CURR_DIV)和信號的直流偏;再統計所有通道的通道標志位flag是否都為I,如果所有通道的通道標志位flag = l,則進入步驟(2.9),否則返回到步驟(2.1);
[0029](2.9)、將數字示波器的屏幕按照輸入信號的路數平均分配,使每一路信號均占用屏幕的相等部分,得到每個通道的信號波形在屏幕顯示應占的格數(LAST_DIV);再通過步驟(2.8)中記錄的幅度所占格數(CURR_DIV)和當前的幅度檔位(CURR_YID),計算出每個通道最終的幅度檔位(LAST_Y ID) = CURR_Y I D*CURR_D I V/LAST_D IV,完成多路信號的幅度測定;
[0030](3)、設置數字示波器的時基檔位
[0031](3.1)、將輸入通道設置為交流