示波器作為電子工程師常用的時域儀器之一,是電路設(shè)計、研發(fā)、實驗、制造或維修電子等常用的測試工具。面對當(dāng)今各種復(fù)雜測量挑戰(zhàn),工程師們需要好的工具,快速而精準(zhǔn)地解決測試疑難,示波器是廣大電子工程師測試的關(guān)鍵工具。
在有些情況下,需要編程控制示波器采集數(shù)據(jù),并進(jìn)行數(shù)據(jù)處理和分析,實現(xiàn)對示波器的自動化操作,完成自動化測試。
有些特殊場合,由于安全問題,需要把示波器放到封閉實驗室環(huán)境下進(jìn)行測試,也需要編程控制示波器采集數(shù)據(jù)安全地完成測試任務(wù)。
因此實現(xiàn)對示波器的自動設(shè)置和遠(yuǎn)程采集數(shù)據(jù),成為很多前沿科學(xué)研究和實驗,以及生產(chǎn)自動化的必需環(huán)節(jié)。
控制示波器常用的編程語言有MATLAB、Python、Labview、VC、C#等。MATLAB是許多工程師非常喜歡的編程開發(fā)工具,可以非常方便進(jìn)行各種信號處理,深受廣大工程師和學(xué)生的喜愛。本文介紹利用MATLAB編程控制示波器完成采集數(shù)據(jù)并顯示波形。我們可以把MATLAB安裝在示波器上或者安裝在PC上,MATLAB可以直接與示波器進(jìn)行通信。
下面將以文章和視頻的方式詳細(xì)講解如何利用MATLAB語言編程控制泰克的示波器,充分發(fā)揮示波器功能。
編程前的準(zhǔn)備工作
下面介紹MATLAB編程控制示波器之前的準(zhǔn)備工作。
1、安裝NI-VISA
利用MATLAB控制儀器,需要安裝一個VISA,建議安裝NI-VISA庫,可以去NI官方網(wǎng)站下載安裝(http://www.ni.com)。
2、接口的選擇和設(shè)置
根據(jù)示波器支持的接口,可選用GPIB、RS232、USB、Ethernet等接口來編程控制儀器,本文利用MATLAB通過以太網(wǎng)接口編程控制實時示波器為例。
控制接口的選取
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、示波器編程手冊下載
下面分別泰克MSO2系示波器、MDO3系示波器、MSO4/5/6系示波器、DPO/MSO70K系列示波器的編程手冊下載鏈接。
不同系列示波器編程手冊
a.MSO2系示波器
https://www.tek.com/en/manual/oscilloscope/2-series-mso-programmer-manual-2-series-mso
b.MDO3系示波器
https://www.tek.com/en/manual/oscilloscope/3-series-mixed-domain-oscilloscope-programmer-manual-3-series-mdo
c.MSO4/5/6系示波器
https://www.tek.com/en/manual/oscilloscope/4-5-6-series-mixed-signal-oscilloscope-programmer-manual-5-series-mso
d.DPO/MSO70K示波器
https://www.tek.com/en/oscilloscope/dpo70000-mso70000-manual/dpo70000sx-mso-dpo70000dx-mso-dpo70000c-dpo7000c-mso5000-b-1圖片
Matlab編程控制示波器流程
利用Matlab編程控制示波器,通過發(fā)送SCPI指令實現(xiàn)對示波器的控制和操作,設(shè)置示波器的相關(guān)參數(shù),然后采集示波器的數(shù)據(jù)并顯示。
1、連接示波器
MATLAB可以利用GPIB、RS232、USB、Ethernet等接口控制示波器,今天利用以LAN以太網(wǎng)口控制示波器為例,利用visa命令創(chuàng)建對象。
2、詢問示波器 IDN
利用query發(fā)送SCPI命令詢問示波器的產(chǎn)品信息,可以得到示波器的廠家、型號、序列號、固件版本等。
3、設(shè)置示波器出廠設(shè)置
利用fprintf發(fā)送SCPI命令*RST對示波器進(jìn)行出廠設(shè)置。
4、設(shè)置示波器參數(shù)
利用fprintf發(fā)送SCPI命令設(shè)置示波器的參數(shù),設(shè)置示波器的運行模式、水平刻度、采樣率、垂直刻度、垂直位置、觸發(fā)電平、觸發(fā)類型等。
5、讀取測量結(jié)果
先用fprintf發(fā)送SCPI命令設(shè)置測量項和參數(shù),然后用query讀取測量結(jié)果,下面的代碼以測量信號的周期為例。
6、讀取通道波形數(shù)據(jù)
先利用fprintf發(fā)curve?命令,利用binblockread讀取數(shù)據(jù),然后利用query獲取相關(guān)的垂直刻度信息,轉(zhuǎn)換成電壓數(shù)據(jù)。
7、讀取水平時基數(shù)據(jù)
先發(fā)query發(fā)相關(guān)命令,然后計算出示波器的水平刻度數(shù)據(jù)。
8、畫通道波形圖
利用plot把示波器采集的波形數(shù)據(jù)畫圖。
9、斷開儀器連接
利用fclose斷開與示波器通信連接。
總結(jié)
本介紹如何利用MATLAB語言編程控制示波器采集數(shù)據(jù)并顯示波形,從而實現(xiàn)對示波器的自動化操作,完成自動測試和分析,大大提高工作效率。