《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于USB的實時數據采集系統及其在MATLAB中的應用

基于USB的實時數據采集系統及其在MATLAB中的應用

2008-10-08
作者:夏文芳 吳鴻修 李享元

  摘? 要: 應用越來越廣泛的USB為實現實時數據采集" title="數據采集">數據采集提供了很大的便利,功能強大的MATLAB工具軟件對數據分析和處理十分方便。介紹一種利用MEX文件將二者結合起來,實現在MATLAB平臺下對數據實時采集,然后利用其庫函數對采集到的數據進行處理和分析的方法。

  關鍵詞: USB? MATLAB? MEX文件? 數據采集 實時

?

1 MATLAB的特點

  MATLAB(Matrix Laboratory)機矩陣實驗室是由美國MathWorks公司推出的一款集數值分析、矩陣計算、信號處理和圖形顯示于一體的工具軟件。它的命令語句功能非常強大,包含了大量高度集成的可直接調用的函數,高效簡潔;另一方面,它又是一個開放系統,針對不同的學科,推出了不同的工具箱。自1984年推向市場以來,經過十幾年的發展和競爭,現已成為國際認可(IEEE)的最優化的科技應用軟件之一。

  正是由于MATLAB具有良好的擴展性以及強大的數據分析和處理能力,現已廣泛應用于矩陣代數、數值計算、數字信號處理、振動理論、神經網絡控制、動態仿真等領域。雖然MATLAB是一個完整的、功能齊全的編程環境,但在某些情況下,與外部環境的數據和程序的交互是非常必須而且有益的。例如,MATLAB不能實現對數據的實時采集,它所處理的數據必須是現成的,因此它不能很好地應用于需要在現場對數據進行分析和處理馬上得出結論的環境。如果將MATLAB與外部的數據和程序進行交互,問題就可迎刃而解了。

  MATLAB是用M語言編程,盡管不能在M文件中直接調用C語言程序,但可以通過MATLAB提供的應用編程接口(API)來與外部接口,在MATLAB環境中調用C語言或Fortran程序、輸入或輸出數據" title="輸出數據">輸出數據以及與其他軟件程序建立客戶/服務器關系。在MATLAB中調用C語言程序,必須通過MEX文件來實現。

2 MEX文件

  MEX文件是MATLAB命令解釋器能夠自動加載和執行的動態鏈接子函數。C語言的MEX文件是一種動態鏈接子程序,可以象調用M文件一樣調用它。MEX文件主要有以下幾方面的應用:

  (1)在MATLAB中,M文件的計算速度特別是循環迭代速度遠比C語言慢,因此可以把大量循環迭代用C語言編寫為MEX文件,提高計算速度,解決MATLAB中循環的瓶頸問題;

  (2)已經開發的C語言程序,不必將其轉化為M文件而重復勞動,通過添加入口程序mexFunction,可以由MATLAB調用;

  (3)直接控制硬件,如A/D采集卡、D/A輸出卡等,以用于數據采集或控制應用。

MEX文件與動態鏈接庫從某種意義上來說有很多相似之處,不同之處在于MEX文件是專門針對MATLAB的動態鏈接庫,可以像MATLAB自身的庫函數一樣被調用。

  C語言的MEX文件的源程序由兩個部分組成:

  (1)計算程序,即在MEX文件中完成計算功能的程序代碼。計算程序可以是普通的C語言程序,按照C語言規則編寫即可;

  (2)入口程序,即將計算程序與MATLAB連接的入口函數mexFunction。入口函數mexFunction相對復雜一些,函數中有四個參數nlhs、plhs、nrhs和prhs。這里nlhs是輸出數據的個數,plhs是指向mxArray(MATLAB中所有數據都由mxArray定義)的輸出數據的指針,nrhs是輸入數據的個數,prhs是指向mxArray的輸入數據的指針。

3 USB的特點

  USB(Universal Serial Bus)就是通用串行總線,它是一種PC機的外掛總線,是多家主要電腦、電子科技廠商為了解決PC機外圍設備的擁擠,提高設備的傳輸速度而聯合提出的一種新型總線。當適合它的Windows98操作系統一出現,USB便得到了迅猛的發展。USB之所以具有如此魅力,還在于它具有許多其它總線無法比擬的優點。USB規范能針對不同的性能價格比要求提供不同的選擇,以滿足不同的系統和部件及相應不同的功能,其主要優點可歸結為以下幾點:

  (1)速度快。USB有高速和低速兩種方式,主模式為高速模式,速率為12Mbps;另外為適應一些不需要很大吞吐量和很高實時性的設備,如鼠標等。USB還提供低速方式,速率為1.5Mbps。

  (2)易擴展。用USB連接的外圍設備可以分為5層,外設數目最多可達127個。

  (3)能夠采用總線供電。USB總線提供最大5V,500mA電流,對于功耗較小的設備來說非常有效。

  (4)設備安裝和配置容易。USB設備支持即插即用和熱插拔,系統對其進行自動配置,不再占用中斷資源或者DMA資源,徹底拋棄了過去的跳線和撥碼開關設置。USB為電纜和連接頭提供了單一模型,解決了因外設越來越多造成的插槽緊張問題。

  (5)使用靈活。USB共有4種傳輸模式:控制傳輸(control)、同步傳輸(Synchronization)、中斷傳輸(interrupt)、批量傳輸(bulk),以適應不同設備的需要。

  (6)實現USB功能的模塊價格低廉。

  實現實時數據的采集,并利用MATLAB強大的數據處理和分析功能,最理想的情況當然就是在MATLAB中直接對USB總線進行控制。但是MATLAB自身并不能實現對USB的控制功能。眾所周知,在C語言環境中,可以非常方便地實現對USB的驅動開發和控制。如果使用C語言對USB的數據采集部分進行驅動和控制,編譯成MEX文件,然后在MATLAB中調用即可。

4 USB數據采集系統

4.1 USB驅動(USBD)

  USBD為客戶提供兩組工具:命令工具和通道工具。命令工具允許客戶在配置和控制USBD操作的同時配置并控制USB設備,它提供了對設備標準通道的所有訪問;通道工具允許USBD客戶管理特定設備的數據,控制數據的傳輸,它不允許客戶直接訪問設備的標準通道。USBD客戶可以直接命令設備或從通道直接輸入和輸出數據流。

  USBD提供了供操作系統組件特別是設備驅動程序" title="設備驅動程序">設備驅動程序訪問設備的一組接口。這些操作系統組件只能通過USBD來訪問USB。一個USBD可以訪問一個或多個HCD,而一個HCD可能與一個或多個主機控制器相連。某些操作系統可能允許對USBD進行初始化設置。從客戶來看,與其進行通信的USBD管理著所有連接著的USB設備。

其通信過程如圖1所示。

?

?

  從硬件連接的角度來看,系統由兩部分構成:開發板和PC機。從軟件角度來看,可以分為三個層次:板載程序、設備驅動程序和客戶應用程序。

  ·板載程序由8051執行,完成控制開發板的工作。

  ·設備驅動程序是Windows核心的一部分,它與系統中的USB總線驅動程序一起完成對設備的管理。

  ·客戶應用程序主要完成上層控制功能,將數據寫入設備或者將設備中的數據讀出顯示。

4.2 采集系統硬件連接

  一個實用的USB數據采集系統包括A/D、微控制器及USB通信接口。為了擴展還可以加上多路" title="多路">多路模擬開關和數字I/O端口。系統硬件結構框圖如圖2所示。

?

?

  一種方案就是采用普通單片機加上專用USB通信芯片。這種方案設計和調試比較麻煩,成本相對較高。

  隨著單片機制造技術的發展以及USB應用的日益廣泛,還可以使用具有USB通信接口的單片機。這些單片機處理能力強,有的本身就具備多路A/D。系統電路簡單、調試方便、電磁兼容性好。

  本系統從性能角度以及今后的發展方向出發,選用Cypress公司生產的具有USB通信功能的CY7C64613。EZ-USB FX(CY7C64613)屬于Cypress半導體第二代全速USB系列,它較第一代具有更好的性能和更高的集成度。CY7C64613不但具備了EZ-USB的所有特征,還包括了一個智能的USB核心,一個增強8051,8KB的RAM和維持上層代碼兼容性的高性能I/O。該單片機可以與USB1.1協議和2.0協議兼容。

  系統A/D采用Analog Devices公司的AD7891。它是一個8通道的12位數據采集系統,可以任意選擇并行或串行接口" title="串行接口">串行接口。這部分包括一個多路輸入復用器,一個片上監控放大器,一個高速12位ADC,+2.5V參考電壓和一個高速接口。AD7891選擇并行還是串行接口由MODE腳決定。無論是并行還是串行接口,它都具有標準的控制輸入和快速的數據采集,從而保證了與現代微處理器、微控制器以及數字信號處理器的簡單接口連接。AD7891的每一個通道都有過壓保護,這意味著未選通道的過壓現象不會影響已選通道的數據傳輸。

  系統框圖如圖3所示。

?

?

4.3 MEX文件的編寫?????

  為了使程序具有良好的可移植性,實現功能的模塊化,MEX文件的兩個部分分別放在兩個不同的文件里。控制和實現部分主要完成對USB的讀寫以及管理功能,入口程序調用它們,從而實現對USB發送控制命令、從USB讀取數據以及存儲數據的功能。

MEX文件執行流程如圖4所示。

?

?

???在傳統的工程檢測中,需要將采集到的數據存儲起來,經過一系列的處理和轉換,才能利用MATLAB進行分析和處理。實時性較差,造成人力物力的浪費。而該系統可以在MATLAB平臺上直接調用,簡潔明了,克服了傳統方法的缺點。

?

參考文獻

1 (美)Jan Axelson著, 陳逸譯.USB應用大全.北京:中國電力出版社, 2001

2 劉志儉.MATLAB應用程序接口用戶指南.北京:科學出版社,2000

3 程衛國.MATLAB5.3應用指南.北京:人民郵電出版社,1999

4 SanJose編著.CY7C64601/603/613 EZ-USB FX USB?Microcontroller Data Sheet.Cypress Semiconductor Corporation,2001

5 LC2MOS 8-Channel,12-Bit High Speed Data Acquisition?System Data Sheet (Rev.C,),2002

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲在线观看免费视频| 亚洲精品免费一二三区| 在线观看国产日韩| 国产免费成人av| 国产精品视频第一区| 欧美日韩亚洲高清| 欧美精品一区二区三区蜜臀| 久久综合亚洲社区| 久久久综合网| 久久午夜羞羞影院免费观看| 久久电影一区| 久久国产乱子精品免费女| 亚洲欧美日韩直播| 亚洲男人的天堂在线aⅴ视频| 一区二区毛片| 99香蕉国产精品偷在线观看| 亚洲美女免费精品视频在线观看| 亚洲精品国久久99热| 亚洲老板91色精品久久| 夜夜躁日日躁狠狠久久88av| 亚洲最新视频在线| 一本一本a久久| 在线亚洲电影| 亚洲午夜小视频| 亚洲欧美电影院| 性欧美激情精品| 久久精品国产第一区二区三区最新章节 | 亚洲一区二区三区免费在线观看| 在线亚洲自拍| 亚洲色图制服丝袜| 亚洲欧美精品在线| 欧美一区二视频| 亚洲国产精品久久久久秋霞影院 | 欧美chengren| 欧美激情一区二区三级高清视频| 欧美屁股在线| 国产精品成av人在线视午夜片| 国产精品丝袜白浆摸在线| 国产欧美一区二区三区在线看蜜臀 | 一区二区日韩伦理片| 亚洲性图久久| 久久精品国产一区二区电影| 亚洲精品中文字幕在线| 亚洲一二三区视频在线观看| 欧美在线视频导航| 免费看精品久久片| 欧美日韩中文在线| 国产情侣久久| 亚洲黄色影院| 亚洲一级影院| 亚洲福利专区| 亚洲男人第一网站| 卡一卡二国产精品| 欧美日韩亚洲视频一区| 国产午夜精品美女毛片视频| 亚洲国产精品久久91精品| 一区二区三欧美| 亚洲第一精品在线| 亚洲午夜国产成人av电影男同| 久久xxxx精品视频| 欧美精品观看| 国产亚洲欧美激情| 日韩亚洲综合在线| 久久av资源网站| 99这里有精品| 久久久精品久久久久| 欧美日韩亚洲91| 黄色av成人| 亚洲一区二区在线免费观看视频 | 亚洲人成高清| 亚洲欧美激情一区| 99国产精品久久久久久久久久| 欧美呦呦网站| 欧美日韩三区| 亚洲电影免费观看高清完整版在线 | 国产精品亚洲а∨天堂免在线| 亚洲国产毛片完整版| 亚洲综合好骚| 正在播放欧美视频| 猛干欧美女孩| 国产欧美日韩精品丝袜高跟鞋 | 亚洲成色999久久网站| 亚洲一区二区三区欧美 | 欧美精品精品一区| 国内成+人亚洲| 中文亚洲欧美| 亚洲伦理在线免费看| 久久精品国亚洲| 国产精品国产三级国产a| 亚洲激情自拍| 久久精品视频va| 欧美一级黄色录像| 欧美日韩午夜在线| 亚洲国产一区二区三区a毛片 | 国产精品videosex极品| 亚洲国产黄色| 久久精品一二三| 欧美影视一区| 国产精品主播| 亚洲欧美日韩爽爽影院| 亚洲一二三区在线| 欧美日韩在线看| 日韩小视频在线观看专区| 亚洲欧洲一区二区三区久久| 久久久999精品| 国产乱码精品一区二区三| 99亚洲伊人久久精品影院红桃| 亚洲美女诱惑| 欧美激情偷拍| 在线观看亚洲精品视频| 久久精品国产99国产精品澳门| 久久丁香综合五月国产三级网站| 国产精品三上| 亚洲在线播放| 欧美一区二区播放| 国产精品亚洲成人| 亚洲欧美久久| 欧美在线看片a免费观看| 国产精品午夜春色av| 亚洲一区免费视频| 欧美伊人久久| 国产欧美一区二区精品秋霞影院| 亚洲欧美日韩爽爽影院| 欧美在线free| 国产日韩欧美视频| 欧美一级理论性理论a| 久久国产免费看| 国产一区三区三区| 亚洲第一在线综合网站| 久久免费视频观看| 影音先锋久久精品| 亚洲欧洲久久| 欧美人与性动交cc0o| 亚洲免费播放| 亚洲欧美国产精品桃花| 国产精品自拍三区| 欧美资源在线观看| 免费久久精品视频| 日韩午夜av| 亚洲欧美日韩国产综合| 国产日韩欧美高清| 亚洲国产天堂久久综合| 欧美精品一区在线发布| 99人久久精品视频最新地址| 亚洲欧美成人在线| 国产一区二区三区四区五区美女| 亚洲黄色免费电影| 欧美日韩91| 一区二区国产精品| 久久精品国产亚洲aⅴ| 一区免费观看| 99视频有精品| 国产欧美日韩一区| 亚洲国产精品久久精品怡红院| 欧美精品二区三区四区免费看视频| 一区二区欧美亚洲| 久久精品毛片| 亚洲国产欧美一区二区三区同亚洲| 日韩视频一区二区在线观看 | 日韩香蕉视频| 国产精品久久久久久久久久久久久 | 亚洲国产高清自拍| 亚洲尤物在线| 国内精品视频一区| 99在线精品视频| 国产亚洲人成a一在线v站| 亚洲激情成人在线| 国产精品成人一区二区三区夜夜夜| 午夜在线a亚洲v天堂网2018| 欧美暴力喷水在线| 亚洲调教视频在线观看| 看欧美日韩国产| 亚洲一品av免费观看| 女女同性精品视频| 亚洲午夜国产成人av电影男同| 久久一二三四| 中文av一区特黄| 美女久久一区| 一区二区三区日韩欧美精品| 久久免费国产精品1| 99国产精品视频免费观看一公开| 久久久高清一区二区三区| 亚洲精选在线| 久久在线精品| 亚洲欧美日本国产专区一区| 欧美激情综合色| 欧美在线观看网站| 国产精品久久久久久久久借妻 | 久久久另类综合| 中文一区字幕| 欧美91大片| 午夜影院日韩| 国产精品v日韩精品| 亚洲日本精品国产第一区| 国产精品中文字幕欧美| 一区二区三区**美女毛片| 国内外成人在线| 欧美一级大片在线观看| 一本大道av伊人久久综合| 农夫在线精品视频免费观看|