羅廣恒
(成都天奧技術發展有限公司,四川 成都)
利用計算機控制示波器對采樣波形進行指標測量大致有三種方式,一是控制光標在屏幕上按步進移動讀取波形值,但反應速度較慢,步進過大測量精度也會變差;二是利用示波器自身的測量功能,可以快速測量波形的峰峰值、幅度值、邊沿時間、周期和頻率等指標,但測試指標有限,不能滿足用戶的特定需求;三是直接讀取示波器的波形數據,運用計算機程序的自定義算法對數據進行分析實現指標測量[1],其靈活性較高。本文所要討論的示波器邊沿時間測量,是指波形下降沿或上升沿指定電平范圍內的時間差,很多低端示波器不能直接測量指定電平范圍內的時間差,采用基于波形數據的自定義分析和測量,是最便捷的方法。
泰克示波器(TDS3032B)支持使用波形命令從示波器讀取指定通道的波形值,通過一系列的數據點來表示波形曲線,每一個數據點代表一個波形幅度軸上的一個采樣值[2]。示波器對波形中每個采樣值使用9 位或更多位的二進制碼來表示,具體的位數與采樣模式相關。為了便于讀取和使用,示波器可將二進制的波形數據轉換成ASCII 碼形式,數值的范圍依賴于指定的字節寬度[3]。一個字節的數值范圍是-128 到127,兩個字節的數值范圍從-32 768 到32 767。每一個ASCII 碼字符需要2 到7個字符來表示,其中1~5 個字符表示值,1 個字符表示負號,1 個字符用于逗號分隔,其具體形式如圖1 所示。

圖1 示波器波形數據格式
一個完整的波形,即由以上這種波形數據組成字符串序列,使用SCPI 指令DATa:ENCdg ASC,和CURve?可得到一個ASCII 碼形式的波形數據,類似于:CURVE<SPACE>-110,-109,-110,-110,-109,-90,-84,-80…。波形數據的長度與指定的采樣精度和采樣起止位置有關,在TDS3032B 中,支持500 個點和10 000 個點兩種采樣精度,即波形長度分別為500 和10 000(修改其中參數,也可獲取部分波形數據)。
由于波形數據中的每一個值都用于表示波形曲線幅度軸中的一個點,根據波形數據,可以在網格中重新繪制出與示波器中相同的曲線[4]。但波形數據并不能直接反應實際的電平值,在幅度軸方向上該值與波形的電平值yn,垂直偏移量YOFF,垂直比例因子YMULT和0dB 時的電平值YZERO相關聯,在水平軸方向上該值與波形數據的第一個點時間XZERO,波形數據時間因子XINCR和數據點個數n 相關聯。若要進行數據處理和波形顯示,必須換算出波形數據中每個數據點在幅度軸上的電平值和時間軸上的時間值。利用以下公式可將波形數據的ASCII 碼值換算成對應時間軸上的電平值:
xn表示:第n 個波形數據點的時間,單位為秒;
XZERO表示:波形數據中第一個點的時間,全波形中該值為0,單位為秒;
XINCR表示:波形數據水平時間因子,即相鄰兩個波形數據之間的時間差,單位為秒;
n 表示:數據個數。
yn表示:第n 個波形數據點的電平值,單位為V;
YZERO表示:0dB 時的電平值,一般為0,單位為V;
YMULT表示:波形數據的垂直比例因子,即相鄰兩個波形數據之間的電平差,單位為V;
Yn表示:第n 個波形數據的值,即ASCII 碼值;
YOFF表示:波形垂直偏移量,以ASCII 碼值表示;
n 表示:數據個數。
公式中的參數與具體的設置有關,在計算之前,可以通過相關的SCPI 指令從示波器中直接查詢得到。
在常規測量方法中,對一個已知的觸發信號,測量其上升沿或下降沿指定幅度范圍的時間差,為了正常捕捉到該信號波形,首先需要明確該信號的耦合方式、觸發模式、觸發電平、垂直單位和水平單位,使波形上升或下降部分呈現一定的斜率,同時波形底部顯示水平方向不少于兩格,波形頂部顯示不少于三格,方便目視測量[5],然后再通過垂直光標讀取幅度范圍內的時間差,完成邊沿時間測量,如圖2 所示。

圖2 常規方法的邊沿時間測量示意圖
使用波形數據進行邊沿時間測量時,首先仍然要正確地設置參數來獲取被測信號的波形,然后才能通過SCPI 指令回讀波形數據,只不過原來由人工設置的參數,現在通過程序指令來設置。從波形圖中能夠看出,觸發電平的位置始終位于波形的水平中間位置,為了便于尋找給定的高電平和低電平在序列中的位置,一般從觸發電平的位置開始向左向右搜索。為了計算方便,我們一般選擇全波形數據,這樣位于序列中間的值即是觸發電平所在的位置。
對于下降沿的波形數據,從觸發電平開始,向左搜索高電平所在位置,向右搜索低電平所在的位置,則高電平與低電平的時間差為高電平到低電平的下降時間;反之,可以同樣求出上升沿波形數據的低電平到高電平的上升時間。
ΔT 表示:上升時間或下降時間;
Δth表示:高電平與觸發電平在序列中間隔的數值個數;
Δtl表示:低電平與觸發電平在序列中間隔的數值個數。
儲能加電模塊是機載系統中模塊加電控制和斷電儲能的重要模塊,其內部電路由兩組獨立的儲能電容及其充放電回路組成。轉電儲能指標是衡量電容充放電性能好壞的關鍵指標,測試時,需要先用28V 電源給電容充滿電,然后用示波器測試模塊CPS 端在電容放電時,電壓從28V 下降到18V 的時間,標稱值為≥50ms,其測試框圖及獲取到的波形如圖3 所示。

圖3 儲能加電模塊轉電儲能測試框圖及波形示意圖
自動測量時,計算機通過網絡接口控制示波器,通過RS232 接口控制直流電源和電子負載。計算機程序按既定流程對儀器進行參數設置和過程控制(其中,示波器的主要參數有:波形數據的數值范圍為256,波形長度為500,波形位置為0,觸發電平為23V,垂直單位為10V/div,水平單位為40ms/div),示波器能夠正確捕獲到CPS 端放電時的下降沿波形。以任意一次波形數據為例說明其計算過程,為了計算方便,將波形數據命名為波形列表:
波形列表=[68,68,69,69,68,68,68, …,67高電平下降位置,67,66, 65,6464,64,63,63,6261,61,61,60,60,59,59,58,59,58,57,57,57,57中間值,57,57,57,57,56,56, 55,54,54,54,53,52,53,51,50,52,51,50,51,49,50,49,49,49,48,48,48,47,46,46,46,45,4 518v電平位置,45,44,43,43, 42,41,41,41,40,40,38,38,37,37,36,35,34,34,33,33,32,32,31,30,30,28,28,28,25,24,24,22,21,22,21,2 0,19,18,18,17,16,16,15…,1,1,0,-1,0],波形列表共計500 個數,波形列表中間值為57,高電平的值為69。
利用SCPI 指令從示波器中讀取公式(1)和公式(2)中相關參數的值,分別如表1 所示。

表1 示波器讀取波形數據相關參數

為了便于搜索,按照公式(2)將電平轉換成波形數據的ASCII 碼形式:
則查找電壓從28V 降低到18V 的時間,就是利用計算機程序搜索波形列表中V高電平開始下降(一般以V高電平*0.98 確定下降起始位置)到V18V之間的時間差。計算機程序的Python 偽代碼如下所示:

#注釋6:計算下降沿高電平到18V 之間的時間差
為了驗證波形數據測量下降沿時間的可靠性,分別對儲能加電模塊的轉電儲能指標用人工測量和自動測量進行了5 次對比測量,測量結果見表2。

表2 人工測量和自動測量結果對比
通過以上人工測量和自動測量對比可以看出,在測量精度要求允許范圍內自動測量和人工測量均能夠滿足測量需求,但自動測量效率明顯得到提升。
示波器的波形數據能夠完整反映示波器的波形,通過計算機程序從示波器中讀取波形數據并進行分析,可以快速自動測量波形的相關指標,達到同人工測量相同的目的,具有靈活性高,測試速度快的優點。本文的方法已成功應用于工程實踐,提高了產品的測試效率,取得了良好的效果。