《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 业界动态 > Matlab与数字示波器的通信

Matlab与数字示波器的通信

2009-02-11
作者:李国治 徐春华 余岳辉 彭昭廉

??? 摘? 要:? Windows環境下Matlab與TDS系列數字示波器的通信過程,給出了相關的通信程序,并在Matlab中對示波器讀取的波形數據進行了頻域處理。從而表明它們之間的通信在數字信號處理方面具有重要的實際意義。?

??? 關鍵詞:? Matlab 串行通信 示波器 數字信號處理

?

??? Tektronix公司的TDS系列數字實時示波器在國內已經得到廣泛的應用,與其配套的擴展模塊TDS2CM和TDS2MM模塊具有與外部設備雙向通訊的能力,可直接與打印機、微機連接,使波形的存儲和打印等工作變得十分方便,其中TDS2MM還具有FFT功能,可以對波形進行實時的頻譜分析。同機配送的Wavestar軟件提供了PC機與示波器雙向通訊的功能,具有良好的用戶界面,但其數據處理功能卻是很少,僅能對波形的幅值、頻率、周期、上升和下降時間等進行測量,并且大多數用戶出于價格考慮而配置TDS2CM模塊,它不具備TDS2MM模塊的頻譜分析功能,這就限制了示波器的進一步開發利用。Mathworks公司的著名數值計算軟件Matlab具有強大的數值計算功能,它的Instrument Control Toolbox提供了強大的外設控制功能,可以對GPIB、RS-232、VXI、Centronics端口進行控制。用Matlab與TDS2CM模塊配合可以實現示波器與微機之間的數據通訊,利用Matlab強大的數值處理、矩陣運算功能可對示波器記錄的波形數據進行分析和處理。?

1 通信原理?

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

?

?

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

??? Xn=Xzero+Xincr·n?

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

??? 其中,yn為輸入、輸出緩沖區中的數據,n為數據個數,Xn、Yn為示波器中實際采樣時間與信號幅值。?

2 數據傳輸?

??? RS-232串行通信接口被廣泛應用于近距離的計算機和終端之間的相互通信當中,TDS210示波器也配接有DB9型插件的RS-232接口。當采用硬件握手方式進行通信控制時,示波器使用CD(Carrier Detect)、CTS(Clear To Send)、RI(Ring Indicator)三個控制信號表明其當前狀態,而Matlab使用RTS(Request To Send)信號請求數據發送。由于采用異步通信協議對通信雙方的時鐘同步要求不太嚴格,由數據的起始位作為雙方通信的同步信號,因此Matlab與示波器之間采用異步通信,編制的從示波器讀取數據的部分程序如下:?

??? %創造設備對象?

??? g=serial(‘com1’);?

??? %通信初始化g.InputBufferSize=10000;?

??? g.timeout=10;?

??? %設定傳輸波特率為9600b/s,字符格式為:8位數據位,1位停止位,終止符為LF,沒有奇偶校驗位,使用硬件握手方式。?

??? g.BaudRate=9600;?

??? g.Parity=‘none’;?

??? g.StopBits=1;?

??? g.Terminator=‘LF’;?

??? g.FlowControl=‘hardware';?

?

??? %連接到設備對象?

??? fopen(g) ?

?

??? %數據傳輸?

??? fprintf(g,'select: refa on');?

??? fprintf(g,'data:source refa');?

??? fprintf(g,'data:encdg srib');?

??? fprintf(g,'data:start 1');?

??? fprintf(g,'data:stop 2500');?

??? fprintf(g,'data:width 2');?

??? fprintf(g,'wfmpre:xzero?');?

??? xzero=fscanf(g,'%f');?

??? fprintf(g,'wfmpre:xincr?');?

??? xincr=fscanf(g,'%f');?

??? fprintf(g,'wfmpre:yzero?');?

??? yzero=fscanf(g,'%f');?

??? fprintf(g,'wfmpre:ymult?');?

??? ymult=fscanf(g,'%f');?

??? fprintf(g,'wfmpre:yoff?');?

??? yoff=fscanf(g,'%f');?

??? fprintf(g,'curve?');?

??? out=fread(g,2500,'int16');?

??? ????????? ┆?

??? %釋放設備對象與端口?

??? fclose(g);?

??? delete(g);?

??? freeserial('com1');?

??? 用上述程序對示波器進行讀取的方波信號如圖2所示。?

?

?

3 數據分析實例?

??? 從示波器讀取的數據按(1)式轉換后就是實際測量所得的波形數據值,相應的采樣頻率為L1空間的信號滿足絕對可積條件,可以用快速傅立葉變換算法直接進行頻譜分析。圖3為對讀取的方波所做的FFT結果。由于對采樣信號的截取相當于對信號加矩形窗,不可避免地引起頻譜泄漏和混疊,在滿足采樣定理和保證示波器波形周期完整的條件下,所做的頻譜分析結果與示波器所得的波形周期數無關。對于噪聲信號可作功率譜估計,上述采樣信號的功率譜估計如圖4所示。?

?

?

?

??? 從上面的數據通信過程和對采樣信號頻譜分析及功率譜估計實例可以看出:Matlab與示波器組成了一個信號采集及分析系統,示波器在其間起數據采集和存儲作用,而Matlab則實現對采樣得到的信號進行分析和處理。?

參考文獻?

1 于英民,莫 瑋,于佳.計算機接口技術.北京:電子工業出版社,1999.10?

2 王炳武, 胥 谞. MATLAB5.3實用教程.北京:中國水利水電出版社, 2000.7?

3 Programmer Manual.TDS 200-Serial Digital Real-Time Oscilloscope. Tektronix, Inc.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 久久人人爽人人爽爽久久| 国产精品亚洲精品| 国产日产欧美视频| 国产美女精品在线观看| 午夜精品一区二区三区在线播放| 日日噜噜噜夜夜爽亚洲精品| 日日摸日日碰夜夜爽无码| 日韩av大片在线| 99色精品视频| 欧美日韩亚洲一区二区三区四区| 久久99精品国产一区二区三区| 国产a∨精品一区二区三区不卡| 人妻无码视频一区二区三区 | 91久久精品国产| 久久精品一本久久99精品| 国产精品视频中文字幕91| 国产中文字幕91| 九九热精品视频| 欧美在线中文字幕| 国产精品九九久久久久久久| 国产在线精品日韩| 欧美亚洲激情在线| 欧美尤物巨大精品爽| 日韩专区中文字幕| 青青久久av北条麻妃黑人| 欧美激情久久久久| 久久综合狠狠综合久久综青草| 亚洲综合在线小说| 尤物一区二区三区| 色综合久久久久久中文网| 日韩在线一区二区三区免费视频| 中文字幕精品一区日韩| 国产日本欧美视频| 亚洲a区在线视频| 综合操久久久| 日韩亚洲欧美中文高清在线| 欧洲精品久久| 国产综合免费视频| 97色在线观看免费视频| 亚洲视频导航| 久久综合电影一区|