新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > Matlab與TDS系列數(shù)字示波器的通信過程

Matlab與TDS系列數(shù)字示波器的通信過程

作者: 時(shí)間:2017-01-12 來源:網(wǎng)絡(luò) 收藏
  Tektronix公司的TDS系列數(shù)字實(shí)時(shí)示波器在國內(nèi)已經(jīng)得到廣泛的應(yīng)用,與其配套的擴(kuò)展模塊TDS2CM和TDS2MM模塊具有與外部設(shè)備雙向通訊的能力,可直接與打印機(jī)、微機(jī)連接,使波形的存儲(chǔ)打印等工作變得十分方面,其中TDS2MM還具有FFT功能,可以對(duì)波形進(jìn)行實(shí)時(shí)的頻譜分析。同機(jī)配送的Wavestar軟件提供了PC機(jī)與示波器雙向通訊的功能,具有良好的用戶界面,其其數(shù)據(jù)處理功能卻是很少,僅能對(duì)波形的幅值、頻率、周期、上升和下降時(shí)間等進(jìn)行測量,并且大多數(shù)用戶出于價(jià)格考慮而配置TDS2CM模塊,它不具備TDS2MM模塊的頻譜分析功能,這就限制了示波器的進(jìn)一步開發(fā)利用。Mathworks公司的著名數(shù)值計(jì)算軟件Matlab具有強(qiáng)大的數(shù)值計(jì)算功能,它的InstrumentControlToolbox提供了強(qiáng)大的外設(shè)控制功能,可以對(duì)GPIB、RS-232、VXI、Centronics端口進(jìn)行控制。用Matlab與TDS2CM模塊配合可以實(shí)現(xiàn)示波器與微機(jī)之間的數(shù)據(jù)通訊,利用Matlab強(qiáng)大的數(shù)值處理、矩陣運(yùn)算功能可對(duì)示波器記錄的波形數(shù)據(jù)進(jìn)行分析和處理。

  數(shù)字示波器是數(shù)據(jù)采集,A/D轉(zhuǎn)換,軟件編程等一系列的技術(shù)制造出來的高性能示波器。數(shù)字示波器一般支持多級(jí)菜單,能提供給用戶多種選擇,多種分析功能。還有一些示波器可以提供存儲(chǔ),實(shí)現(xiàn)對(duì)波形的保存和處理。 目前高端數(shù)字示波器主要依靠美國技術(shù),對(duì)于300MHz帶寬之內(nèi)的示波器,目前國內(nèi)品牌的示波器在性能上已經(jīng)可以和國外品牌抗衡,且具有明顯的性價(jià)比優(yōu)勢。數(shù)字示波器因具有波形觸發(fā)、存儲(chǔ)、顯示、測量、波形數(shù)據(jù)分析處理等獨(dú)特優(yōu)點(diǎn),其使用日益普及。由于數(shù)字示波器與模擬示波器之間存在較大的性能差異,如果使用不當(dāng),會(huì)產(chǎn)生較大的測量誤差,從而影響測試任務(wù)。

本文引用地址:http://butianyuan.cn/article/201701/337762.htm

  1 通信原理

  MATLAB是由美國mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語言(如C、Fortran)的編輯模式,代表了當(dāng)今國際科學(xué)計(jì)算軟件的先進(jìn)水平?!?  MATLAB和Mathematica、Maple并稱為三大數(shù)學(xué)軟件。它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連 matlab開發(fā)工作界面接其他編程語言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測、金融建模設(shè)計(jì)與分析等領(lǐng)域。

  Matlab中的Instrument Control Toolbox包括兩大部件:M文件函數(shù)和接口驅(qū)動(dòng)適配器。這兩部件提供了Matlab與外設(shè)的通訊功能,其與串行通訊端口的通訊原理如圖1所示。

  由圖1可見,Matlab的兩大部件提供了一條外設(shè)與Matlab之間的交互通道,使用戶與外設(shè)之間進(jìn)行信息獲取和傳送。同許多高級(jí)語言一樣,Matlab通過調(diào)用M文件函數(shù)來創(chuàng)建設(shè)備對(duì)象,得到設(shè)備的文件句柄,而設(shè)備驅(qū)動(dòng)程序作為操作系統(tǒng)中直接控制硬件的模塊,是鏈接操作系統(tǒng)內(nèi)核與系統(tǒng)外部設(shè)備I/O操作的關(guān)鍵模塊。它將具體的硬件細(xì)節(jié)隱藏實(shí)現(xiàn)對(duì)外設(shè)操作的透明,因此Matlab可以象操作文件一樣實(shí)現(xiàn)對(duì)外設(shè)的讀、寫操作。讀寫時(shí)的數(shù)據(jù)傳輸格式、輸入輸出緩沖區(qū)大小以及讀寫溢出時(shí)間等由圖1中的屬性值定義,其根據(jù)為具體的通訊端口和通訊方式以及數(shù)據(jù)大小。示波器所產(chǎn)生的事件和狀態(tài)被示波器保存在標(biāo)準(zhǔn)事件狀態(tài)寄存器(SESR)狀態(tài)字節(jié)寄存器(SBR)和事件隊(duì)列中,供(Matlab)回調(diào)函數(shù)讀取。同時(shí)用戶可以通過設(shè)置設(shè)備事件狀態(tài)使能寄存器(DESER)以及事件狀態(tài)能寄存器(ESER)、服務(wù)請(qǐng)求使能寄存器(SRER)這三個(gè)使能寄存器來控制何種事件或狀態(tài)被保存在保存在狀態(tài)寄存器和事件隊(duì)列中。Matlab對(duì)示波器的設(shè)置詢問命令由fprintf函數(shù)以字符串的形式輸出。設(shè)置和詢問命令由具體的示波器廠商定義,其格式為:HeaderArguments,多個(gè)參數(shù)之間由逗號(hào)相隔。當(dāng)以二進(jìn)制格式對(duì)示波器的波形進(jìn)行數(shù)據(jù)讀寫時(shí),讀寫數(shù)據(jù)與示波器實(shí)際數(shù)據(jù)換算由下式給出:

  Xn=Xzero+Xincr·n

  Yn=Yzero+Ymult(yn-Yoff) (1)

  其中,yn為輸入、輸出緩沖區(qū)中的數(shù)據(jù),n為數(shù)據(jù)個(gè)數(shù),Xn、Yn為示波器中實(shí)際采樣時(shí)間與信號(hào)幅值。

  2 數(shù)據(jù)傳輸

  在通信領(lǐng)域內(nèi),有兩種數(shù)據(jù)通信方式:并行通信和串行通信。隨著計(jì)算機(jī)網(wǎng)絡(luò)化和微機(jī)分級(jí)分布式應(yīng)用系統(tǒng)的發(fā)展,通信的功能越來越重要。通信是指計(jì)算機(jī)與外界的信息傳輸,既包括計(jì)算機(jī)與計(jì)算機(jī)之間的傳輸,也包括計(jì)算機(jī)與外部設(shè)備,如終端、打印機(jī)和磁盤等設(shè)備之間的傳輸。串行通信是指 使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別使用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。


上一頁 1 2 下一頁

評(píng)論


技術(shù)專區(qū)

關(guān)閉