Matlab與TDS系列數字示波器的通信過程
數字示波器是數據采集,A/D轉換,軟件編程等一系列的技術制造出來的高性能示波器。數字示波器一般支持多級菜單,能提供給用戶多種選擇,多種分析功能。還有一些示波器可以提供存儲,實現對波形的保存和處理。 目前高端數字示波器主要依靠美國技術,對于300MHz帶寬之內的示波器,目前國內品牌的示波器在性能上已經可以和國外品牌抗衡,且具有明顯的性價比優勢。數字示波器因具有波形觸發、存儲、顯示、測量、波形數據分析處理等獨特優點,其使用日益普及。由于數字示波器與模擬示波器之間存在較大的性能差異,如果使用不當,會產生較大的測量誤差,從而影響測試任務。
本文引用地址:http://www.104case.com/article/201701/337762.htm1 通信原理
MATLAB是由美國mathworks公司發布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易于使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。 MATLAB和Mathematica、Maple并稱為三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創建用戶界面、連 matlab開發工作界面接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。
Matlab中的Instrument Control Toolbox包括兩大部件:M文件函數和接口驅動適配器。這兩部件提供了Matlab與外設的通訊功能,其與串行通訊端口的通訊原理如圖1所示。
由圖1可見,Matlab的兩大部件提供了一條外設與Matlab之間的交互通道,使用戶與外設之間進行信息獲取和傳送。同許多高級語言一樣,Matlab通過調用M文件函數來創建設備對象,得到設備的文件句柄,而設備驅動程序作為操作系統中直接控制硬件的模塊,是鏈接操作系統內核與系統外部設備I/O操作的關鍵模塊。它將具體的硬件細節隱藏實現對外設操作的透明,因此Matlab可以象操作文件一樣實現對外設的讀、寫操作。讀寫時的數據傳輸格式、輸入輸出緩沖區大小以及讀寫溢出時間等由圖1中的屬性值定義,其根據為具體的通訊端口和通訊方式以及數據大小。示波器所產生的事件和狀態被示波器保存在標準事件狀態寄存器(SESR)狀態字節寄存器(SBR)和事件隊列中,供(Matlab)回調函數讀取。同時用戶可以通過設置設備事件狀態使能寄存器(DESER)以及事件狀態能寄存器(ESER)、服務請求使能寄存器(SRER)這三個使能寄存器來控制何種事件或狀態被保存在保存在狀態寄存器和事件隊列中。Matlab對示波器的設置詢問命令由fprintf函數以字符串的形式輸出。設置和詢問命令由具體的示波器廠商定義,其格式為:HeaderArguments,多個參數之間由逗號相隔。當以二進制格式對示波器的波形進行數據讀寫時,讀寫數據與示波器實際數據換算由下式給出:
Xn=Xzero+Xincr·n
Yn=Yzero+Ymult(yn-Yoff) (1)
其中,yn為輸入、輸出緩沖區中的數據,n為數據個數,Xn、Yn為示波器中實際采樣時間與信號幅值。
2 數據傳輸
在通信領域內,有兩種數據通信方式:并行通信和串行通信。隨著計算機網絡化和微機分級分布式應用系統的發展,通信的功能越來越重要。通信是指計算機與外界的信息傳輸,既包括計算機與計算機之間的傳輸,也包括計算機與外部設備,如終端、打印機和磁盤等設備之間的傳輸。串行通信是指 使用一條數據線,將數據一位一位地依次傳輸,每一位數據占據一個固定的時間長度。其只需要少數幾條線就可以在系統間交換信息,特別使用于計算機與計算機、計算機與外設之間的遠距離通信。
評論