羅廣恒
(成都天奧技術(shù)發(fā)展有限公司,四川 成都)
利用計(jì)算機(jī)控制示波器對(duì)采樣波形進(jìn)行指標(biāo)測(cè)量大致有三種方式,一是控制光標(biāo)在屏幕上按步進(jìn)移動(dòng)讀取波形值,但反應(yīng)速度較慢,步進(jìn)過大測(cè)量精度也會(huì)變差;二是利用示波器自身的測(cè)量功能,可以快速測(cè)量波形的峰峰值、幅度值、邊沿時(shí)間、周期和頻率等指標(biāo),但測(cè)試指標(biāo)有限,不能滿足用戶的特定需求;三是直接讀取示波器的波形數(shù)據(jù),運(yùn)用計(jì)算機(jī)程序的自定義算法對(duì)數(shù)據(jù)進(jìn)行分析實(shí)現(xiàn)指標(biāo)測(cè)量[1],其靈活性較高。本文所要討論的示波器邊沿時(shí)間測(cè)量,是指波形下降沿或上升沿指定電平范圍內(nèi)的時(shí)間差,很多低端示波器不能直接測(cè)量指定電平范圍內(nèi)的時(shí)間差,采用基于波形數(shù)據(jù)的自定義分析和測(cè)量,是最便捷的方法。
泰克示波器(TDS3032B)支持使用波形命令從示波器讀取指定通道的波形值,通過一系列的數(shù)據(jù)點(diǎn)來表示波形曲線,每一個(gè)數(shù)據(jù)點(diǎn)代表一個(gè)波形幅度軸上的一個(gè)采樣值[2]。示波器對(duì)波形中每個(gè)采樣值使用9 位或更多位的二進(jìn)制碼來表示,具體的位數(shù)與采樣模式相關(guān)。為了便于讀取和使用,示波器可將二進(jìn)制的波形數(shù)據(jù)轉(zhuǎn)換成ASCII 碼形式,數(shù)值的范圍依賴于指定的字節(jié)寬度[3]。一個(gè)字節(jié)的數(shù)值范圍是-128 到127,兩個(gè)字節(jié)的數(shù)值范圍從-32 768 到32 767。每一個(gè)ASCII 碼字符需要2 到7個(gè)字符來表示,其中1~5 個(gè)字符表示值,1 個(gè)字符表示負(fù)號(hào),1 個(gè)字符用于逗號(hào)分隔,其具體形式如圖1 所示。
圖1 示波器波形數(shù)據(jù)格式
一個(gè)完整的波形,即由以上這種波形數(shù)據(jù)組成字符串序列,使用SCPI 指令DATa:ENCdg ASC,和CURve?可得到一個(gè)ASCII 碼形式的波形數(shù)據(jù),類似于:CURVE<SPACE>-110,-109,-110,-110,-109,-90,-84,-80…。波形數(shù)據(jù)的長度與指定的采樣精度和采樣起止位置有關(guān),在TDS3032B 中,支持500 個(gè)點(diǎn)和10 000 個(gè)點(diǎn)兩種采樣精度,即波形長度分別為500 和10 000(修改其中參數(shù),也可獲取部分波形數(shù)據(jù))。
由于波形數(shù)據(jù)中的每一個(gè)值都用于表示波形曲線幅度軸中的一個(gè)點(diǎn),根據(jù)波形數(shù)據(jù),可以在網(wǎng)格中重新繪制出與示波器中相同的曲線[4]。但波形數(shù)據(jù)并不能直接反應(yīng)實(shí)際的電平值,在幅度軸方向上該值與波形的電平值yn,垂直偏移量YOFF,垂直比例因子YMULT和0dB 時(shí)的電平值YZERO相關(guān)聯(lián),在水平軸方向上該值與波形數(shù)據(jù)的第一個(gè)點(diǎn)時(shí)間XZERO,波形數(shù)據(jù)時(shí)間因子XINCR和數(shù)據(jù)點(diǎn)個(gè)數(shù)n 相關(guān)聯(lián)。若要進(jìn)行數(shù)據(jù)處理和波形顯示,必須換算出波形數(shù)據(jù)中每個(gè)數(shù)據(jù)點(diǎn)在幅度軸上的電平值和時(shí)間軸上的時(shí)間值。利用以下公式可將波形數(shù)據(jù)的ASCII 碼值換算成對(duì)應(yīng)時(shí)間軸上的電平值:
xn表示:第n 個(gè)波形數(shù)據(jù)點(diǎn)的時(shí)間,單位為秒;
XZERO表示:波形數(shù)據(jù)中第一個(gè)點(diǎn)的時(shí)間,全波形中該值為0,單位為秒;
XINCR表示:波形數(shù)據(jù)水平時(shí)間因子,即相鄰兩個(gè)波形數(shù)據(jù)之間的時(shí)間差,單位為秒;
n 表示:數(shù)據(jù)個(gè)數(shù)。
yn表示:第n 個(gè)波形數(shù)據(jù)點(diǎn)的電平值,單位為V;
YZERO表示:0dB 時(shí)的電平值,一般為0,單位為V;
YMULT表示:波形數(shù)據(jù)的垂直比例因子,即相鄰兩個(gè)波形數(shù)據(jù)之間的電平差,單位為V;
Yn表示:第n 個(gè)波形數(shù)據(jù)的值,即ASCII 碼值;
YOFF表示:波形垂直偏移量,以ASCII 碼值表示;
n 表示:數(shù)據(jù)個(gè)數(shù)。
公式中的參數(shù)與具體的設(shè)置有關(guān),在計(jì)算之前,可以通過相關(guān)的SCPI 指令從示波器中直接查詢得到。
在常規(guī)測(cè)量方法中,對(duì)一個(gè)已知的觸發(fā)信號(hào),測(cè)量其上升沿或下降沿指定幅度范圍的時(shí)間差,為了正常捕捉到該信號(hào)波形,首先需要明確該信號(hào)的耦合方式、觸發(fā)模式、觸發(fā)電平、垂直單位和水平單位,使波形上升或下降部分呈現(xiàn)一定的斜率,同時(shí)波形底部顯示水平方向不少于兩格,波形頂部顯示不少于三格,方便目視測(cè)量[5],然后再通過垂直光標(biāo)讀取幅度范圍內(nèi)的時(shí)間差,完成邊沿時(shí)間測(cè)量,如圖2 所示。
圖2 常規(guī)方法的邊沿時(shí)間測(cè)量示意圖
使用波形數(shù)據(jù)進(jìn)行邊沿時(shí)間測(cè)量時(shí),首先仍然要正確地設(shè)置參數(shù)來獲取被測(cè)信號(hào)的波形,然后才能通過SCPI 指令回讀波形數(shù)據(jù),只不過原來由人工設(shè)置的參數(shù),現(xiàn)在通過程序指令來設(shè)置。從波形圖中能夠看出,觸發(fā)電平的位置始終位于波形的水平中間位置,為了便于尋找給定的高電平和低電平在序列中的位置,一般從觸發(fā)電平的位置開始向左向右搜索。為了計(jì)算方便,我們一般選擇全波形數(shù)據(jù),這樣位于序列中間的值即是觸發(fā)電平所在的位置。
對(duì)于下降沿的波形數(shù)據(jù),從觸發(fā)電平開始,向左搜索高電平所在位置,向右搜索低電平所在的位置,則高電平與低電平的時(shí)間差為高電平到低電平的下降時(shí)間;反之,可以同樣求出上升沿波形數(shù)據(jù)的低電平到高電平的上升時(shí)間。
ΔT 表示:上升時(shí)間或下降時(shí)間;
Δth表示:高電平與觸發(fā)電平在序列中間隔的數(shù)值個(gè)數(shù);
Δtl表示:低電平與觸發(fā)電平在序列中間隔的數(shù)值個(gè)數(shù)。
儲(chǔ)能加電模塊是機(jī)載系統(tǒng)中模塊加電控制和斷電儲(chǔ)能的重要模塊,其內(nèi)部電路由兩組獨(dú)立的儲(chǔ)能電容及其充放電回路組成。轉(zhuǎn)電儲(chǔ)能指標(biāo)是衡量電容充放電性能好壞的關(guān)鍵指標(biāo),測(cè)試時(shí),需要先用28V 電源給電容充滿電,然后用示波器測(cè)試模塊CPS 端在電容放電時(shí),電壓從28V 下降到18V 的時(shí)間,標(biāo)稱值為≥50ms,其測(cè)試框圖及獲取到的波形如圖3 所示。
圖3 儲(chǔ)能加電模塊轉(zhuǎn)電儲(chǔ)能測(cè)試框圖及波形示意圖
自動(dòng)測(cè)量時(shí),計(jì)算機(jī)通過網(wǎng)絡(luò)接口控制示波器,通過RS232 接口控制直流電源和電子負(fù)載。計(jì)算機(jī)程序按既定流程對(duì)儀器進(jìn)行參數(shù)設(shè)置和過程控制(其中,示波器的主要參數(shù)有:波形數(shù)據(jù)的數(shù)值范圍為256,波形長度為500,波形位置為0,觸發(fā)電平為23V,垂直單位為10V/div,水平單位為40ms/div),示波器能夠正確捕獲到CPS 端放電時(shí)的下降沿波形。以任意一次波形數(shù)據(jù)為例說明其計(jì)算過程,為了計(jì)算方便,將波形數(shù)據(jù)命名為波形列表:
波形列表=[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],波形列表共計(jì)500 個(gè)數(shù),波形列表中間值為57,高電平的值為69。
利用SCPI 指令從示波器中讀取公式(1)和公式(2)中相關(guān)參數(shù)的值,分別如表1 所示。
表1 示波器讀取波形數(shù)據(jù)相關(guān)參數(shù)
為了便于搜索,按照公式(2)將電平轉(zhuǎn)換成波形數(shù)據(jù)的ASCII 碼形式:
則查找電壓從28V 降低到18V 的時(shí)間,就是利用計(jì)算機(jī)程序搜索波形列表中V高電平開始下降(一般以V高電平*0.98 確定下降起始位置)到V18V之間的時(shí)間差。計(jì)算機(jī)程序的Python 偽代碼如下所示:
#注釋6:計(jì)算下降沿高電平到18V 之間的時(shí)間差
為了驗(yàn)證波形數(shù)據(jù)測(cè)量下降沿時(shí)間的可靠性,分別對(duì)儲(chǔ)能加電模塊的轉(zhuǎn)電儲(chǔ)能指標(biāo)用人工測(cè)量和自動(dòng)測(cè)量進(jìn)行了5 次對(duì)比測(cè)量,測(cè)量結(jié)果見表2。
表2 人工測(cè)量和自動(dòng)測(cè)量結(jié)果對(duì)比
通過以上人工測(cè)量和自動(dòng)測(cè)量對(duì)比可以看出,在測(cè)量精度要求允許范圍內(nèi)自動(dòng)測(cè)量和人工測(cè)量均能夠滿足測(cè)量需求,但自動(dòng)測(cè)量效率明顯得到提升。
示波器的波形數(shù)據(jù)能夠完整反映示波器的波形,通過計(jì)算機(jī)程序從示波器中讀取波形數(shù)據(jù)并進(jìn)行分析,可以快速自動(dòng)測(cè)量波形的相關(guān)指標(biāo),達(dá)到同人工測(cè)量相同的目的,具有靈活性高,測(cè)試速度快的優(yōu)點(diǎn)。本文的方法已成功應(yīng)用于工程實(shí)踐,提高了產(chǎn)品的測(cè)試效率,取得了良好的效果。