示波器作為電子工程師最常用的時(shí)域儀器之一,是電路設(shè)計(jì)、研發(fā)、實(shí)驗(yàn)、制造或維修電子等常用的測(cè)試工具。面對(duì)當(dāng)今各種復(fù)雜測(cè)量挑戰(zhàn),工程師們需要最好的工具,快速而精確地解決測(cè)試疑難,示波器是廣大電子工程師測(cè)試的關(guān)鍵工具。
在有些情況下,需要編程控制示波器采集數(shù)據(jù),并進(jìn)行數(shù)據(jù)處理和分析,實(shí)現(xiàn)對(duì)示波器的自動(dòng)化操作,最終完成自動(dòng)化測(cè)試。
有些特殊場(chǎng)合,由于安全問(wèn)題,需要把示波器放到封閉實(shí)驗(yàn)室環(huán)境下進(jìn)行測(cè)試,也需要編程控制示波器采集數(shù)據(jù)安全地完成測(cè)試任務(wù)。
因此實(shí)現(xiàn)對(duì)示波器的自動(dòng)設(shè)置和遠(yuǎn)程采集數(shù)據(jù),成為很多前沿科學(xué)研究和實(shí)驗(yàn),以及生產(chǎn)自動(dòng)化的必需環(huán)節(jié)。
控制示波器常用的編程語(yǔ)言有MATLAB、Python、Labview、VC、C#等。MATLAB是許多工程師非常喜歡的編程開發(fā)工具,可以非常方便進(jìn)行各種信號(hào)處理,深受廣大工程師和學(xué)生的喜愛。本文介紹利用MATLAB編程控制示波器完成采集數(shù)據(jù)并顯示波形。我們可以把MATLAB安裝在示波器上或者安裝在PC上,MATLAB可以直接與示波器進(jìn)行通信。
下面將以文章和視頻的方式詳細(xì)講解如何利用MATLAB語(yǔ)言編程控制泰克的示波器,充分發(fā)揮示波器功能。

編程前的準(zhǔn)備工作
下面介紹MATLAB編程控制示波器之前的準(zhǔn)備工作。
1安裝NI-VISA
利用MATLAB控制儀器,需要安裝一個(gè)VISA,建議安裝NI-VISA庫(kù),可以去NI官方網(wǎng)站下載安裝。

2接口的選擇和設(shè)置
根據(jù)示波器支持的接口,可選用GPIB、RS232、USB、Ethernet等接口來(lái)編程控制儀器,本文利用MATLAB通過(guò)以太網(wǎng)接口編程控制實(shí)時(shí)示波器為例。
控制接口的選取 a. LAN
[TCPIP0::192.168.0.1::INSTR]
b. GPIB
[GPIB0::1::INSTR]
c. Serial
[serial('COM1','BaudRate',4800)]
d. USB
[USB::XXX::XXX::XXX::INSTR]
e.Virtual GPIB
[GPIB8::1::INSTR]
示波器和PC的設(shè)置(以LAN為例)a. 設(shè)置示波器的IP地址 例如: 192.168.0.2
b. 設(shè)置PC的IP地址 例如: 192.168.0.1
c. 關(guān)閉示波器和PC的防火墻
d. 在PC端 ping 192.168.0.2,看是否ping通

3示波器編程手冊(cè)下載
下面分別泰克MSO2系示波器、MDO3系示波器、MSO4/5/6系示波器、DPO/MSO70K系列示波器的編程手冊(cè)下載鏈接。
不同系列示波器編程手冊(cè) a.MSO2系示波器

b.MDO3系示波器

c.MSO4/5/6系示波器

d.DPO/MSO70K示波器

Matlab編程控制示波器流程
利用Matlab編程控制示波器,通過(guò)發(fā)送SCPI指令實(shí)現(xiàn)對(duì)示波器的控制和操作,設(shè)置示波器的相關(guān)參數(shù),然后采集示波器的數(shù)據(jù)并顯示。
1連接示波器
MATLAB可以利用GPIB、RS232、USB、Ethernet等接口控制示波器,今天利用以LAN以太網(wǎng)口控制示波器為例,利用visa命令創(chuàng)建對(duì)象。

2詢問(wèn)示波器 IDN
利用query發(fā)送SCPI命令詢問(wèn)示波器的產(chǎn)品信息,可以得到示波器的廠家、型號(hào)、序列號(hào)、固件版本等。


3設(shè)置示波器出廠設(shè)置
利用fprintf發(fā)送SCPI命令*RST對(duì)示波器進(jìn)行出廠設(shè)置。

4設(shè)置示波器參數(shù)
利用fprintf發(fā)送SCPI命令設(shè)置示波器的參數(shù),設(shè)置示波器的運(yùn)行模式、水平刻度、采樣率、垂直刻度、垂直位置、觸發(fā)電平、觸發(fā)類型等。

5讀取測(cè)量結(jié)果
先用fprintf發(fā)送SCPI命令設(shè)置測(cè)量項(xiàng)和參數(shù),然后用query讀取測(cè)量結(jié)果,下面的代碼以測(cè)量信號(hào)的周期為例。

6讀取通道波形數(shù)據(jù)
先利用fprintf發(fā)curve?命令,利用binblockread讀取數(shù)據(jù),然后利用query獲取相關(guān)的垂直刻度信息,最后轉(zhuǎn)換成電壓數(shù)據(jù)。

7讀取水平時(shí)基數(shù)據(jù)
先發(fā)query發(fā)相關(guān)命令,然后計(jì)算出示波器的水平刻度數(shù)據(jù)。

8畫通道波形圖
利用plot把示波器采集的波形數(shù)據(jù)畫圖。


9斷開儀器連接
利用fclose斷開與示波器通信連接。

總結(jié)
本介紹如何利用MATLAB語(yǔ)言編程控制示波器采集數(shù)據(jù)并顯示波形,從而實(shí)現(xiàn)對(duì)示波器的自動(dòng)化操作,完成自動(dòng)測(cè)試和分析,大大提高工作效率。
電子發(fā)燒友App











評(píng)論