《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于USB總線的數據采集設備的設計與實現

基于USB總線的數據采集設備的設計與實現

2008-12-16
作者:馬亞全1, 高小榕1, 吳 靖

  摘? 要: 通用串行總線(USB)作為一種嶄新的微機總線接口規范,其特點使其非常適合作為主機和醫學儀器之間的通信接口,從而實現主機和多臺醫學儀器之間簡單、快速、可靠的連接和通信。介紹了基于USB總線的數據采集設備的開發方法,包括硬件設計、firmware(固件)設計、基于WINDOWS 驅動程序模型(WDM)的設備驅動程序" title="設備驅動程序">設備驅動程序設計以及應用軟件的設計。

  關鍵詞: 通用串行總線? 數據采集

?

  隨著醫學信息網絡化的需要,經常需要將各種醫學儀器(如腦電圖、心電圖等)與主機相連,以便于從這些醫學儀器獲得所需的各種醫學信息。同時,在需要的時侯還可以通過主機對這些醫學儀器的操作進行控制。

  傳統的外設與主機的通訊接口一般是基于PCI總線、ISA總線或者是RS-232C串行總線。PCI總線雖具有高的傳輸速度" title="傳輸速度">傳輸速度(132Mbps),支持“即插即用”功能,但其缺點是插拔麻煩,且擴展槽有限(一般為5~6個)。ISA總線顯然存在著同樣的問題。RS-232C串行總線雖然連接簡單,但其缺點是傳輸速度慢(56kbps),且主機的串行口數目有限。

  USB(Universal Serial Bus,通用串行總線)是由Intel、Microsoft、IBM及NEC等共同制定的微機總線接口規范[1]。由于USB具有較高的傳輸速度(USB協議1.1支持的最高傳輸速度為12Mbps,而USB協議2.0支持的最高傳輸速度更是高達480Mbps),支持即插即用和熱插拔功能,USB設備的連接電纜最長可達5 m,且可通過USB集線器進行層式星形拓撲連接(一臺主機最多可連接127個USB設備,且可實現最多5級的拓撲連接),因此其非常適合作為主機和醫學儀器之間的通信接口。

為便于臨床上采集病人的某些生理信號(如心電信號,腦電信號等)[2][3],設計了基于USB總線的醫學數據采集設備,其最多支持32個通道的同步數據采集,最高采樣率為1kHz,采樣精度為16bit,主機的操作系統為Win98。主要完成了四個方面的工作:硬件設計、firmware(固件)設計、設備驅動程序設計以及應用軟件的設計。

1 硬件設計

  USB數據采集設備的硬件構成見圖1。從圖1可知,32路模擬輸入信號由多路模擬開關控制將其中的某一路信號接入串行A/D(選用B-B公司的ADS7809),A/D轉換的結果經光電隔離后串行輸出到移位寄存器,移位寄存器將此結果轉為并行數據并寫入FIFO存儲器,80C52系統將數據從FIFO存儲器中讀出并通過USB控制器送到主機。

?

?

  當前可供選擇的USB控制器很多,如朗訊公司的USS820、國家半導體公司的USBN9602。另外,還有將微控制器和USB控制器集成在一起的芯片,如Intel公司的8x930Hx和8x930Ax,其中8x930Hx支持USB集線器功能。在實際開發中選擇了朗訊公司的USS820,其主要特點是完全遵循USB協議1.1,支持12Mbps的全速傳輸,支持四種傳輸方式,提供8個端點(Endpoint), 且每個端點的傳輸類型、傳輸方向均可自由配置。另外,它還為每個端點提供兩套FIFO數據緩沖區,總的數據緩沖區大小可達2240字節。

2 firmware設計?

  此處firmware(固件)是指被固化到89C52" title="89C52">89C52 E2PROM中的程序。firmware主要完成兩個方面的工作:控制A/D的采樣和通過USB控制器與主機通信。由于89C52系統控制A/D采樣的工作非常簡單,此處不做介紹。詳細介紹89C52系統通過USB控制器與主機通信的工作。

  因為89C52系統對USB控制器的操作是嚴格按照USB協議1.1進行的,因此先對USB協議1.1做一簡單的介紹。按照USB協議1.1的規定,USB的傳輸方式分為4種:控制傳輸(Control transfer),塊傳輸(Bulk transactions),中斷傳輸(Interrupt transactions)和等時傳輸(Isochronous transactions)??刂苽鬏斨饕脕硗瓿芍鳈C對設備的各種控制操作(如獲取設備的設備描述符,設置設備的USB地址等,也可以通過控制傳輸來定義自己對設備的控制操作,如設置采樣參數、開始或停止采樣等);塊傳輸主要用來完成主機和設備之間的大批量數據傳輸,由于塊傳輸在硬件級上對傳輸數據進行錯誤檢測(若發生錯誤,它支持“重傳”功能),因此它能保證數據傳輸的可靠性,塊傳輸支持兩個方向的數據傳輸(即主機到設備和設備到主機);中斷傳輸用來完成設備到主機的少量數據傳輸,它只支持設備到主機方向的數據傳輸(中斷傳輸跟實際的“中斷”概念沒有任何聯系);等時傳輸主要用來完成主機和設備之間連續、實時數據的傳輸(如語音信號),同步傳輸不對傳輸數據進行錯誤檢測,它主要保證數據的連續傳輸。另外,需要注意的是所有的USB傳輸事務均由主機啟動,即USB總線采取主從式結構(master to slave)。

  在實際開發中使用了兩種傳輸方式:控制傳輸和塊傳輸??刂苽鬏斢脕韺崿F位于主機上的USB總線驅動程序(USBD.SYS)以及編寫的功能驅動程序對設備的各種控制操作,而塊傳輸用來完成將采集數據從設備傳送到主機。

  USB控制器的工作原理可以簡單地描述為:當USB控制器從USB總線檢測到主機啟動的某一傳輸請求時,USB控制器通過中斷方式將此請求通知89C52系統。89C52系統通過訪問USB控制器的狀態寄存器和數據寄存器獲得與此次傳輸有關的各種參數,并根據具體傳輸參數,對USB控制器的控制寄存器和數據寄存器進行相應的操作,以完成主機的傳輸請求。

3 設備驅動程序設計

?? USB設備驅動程序的設計是基于WDM(Windows Driver Model,Windows驅動程序模型)的[4]。WDM采用分層驅動程序模型,對于USB設備來說,可分為USB總線驅動程序和USB功能驅動程序(見圖2)。USB總線驅動程序由操作系統提供,它位于USB功能驅動程序的下面,負責與實際的硬件打交道,實現煩瑣的低層通信。USB功能驅動程序由設備開發者編寫,位于USB總線驅動程序的上面,不與實際的硬件打交道,而是通過向USB總線驅動程序發送包含URB(USB Request Block,USB請求塊)的IRP(I/O" title="I/O">I/O Request Packet,I/O請求包),來實現對USB設備信息的發送或接收。采用這種分層驅動程序的設計方法有兩個優點:(1)多個USB設備可以通過USB總線驅動程序來協調它們的工作;(2)編寫分層驅動程序較之編寫單一驅動程序相對簡單,且可以節省內存和資源,不易出錯。USB設備驅動程序的工作原理可以通過圖2簡單描述。

?

?

  若應用程序" title="應用程序">應用程序想對設備進行I/O操作,它便使用Windows API 函數(如DeviceIoControl( )函數)對WIN32子系統進行WIN32調用。此調用由I/O系統服務接收并通知I/O管理器,I/O管理器將此請求構造成一個合適的I/O請求包(I/O Request Packet,IRP)并把它傳遞給USB功能驅動程序。USB功能驅動程序接收到這個IRP以后,根據IRP中包含的具體操作代碼,構造相應的USB請求塊并把此URB放到一個新的IRP中,然后把此IRP傳遞到USB總線驅動程序,USB總線驅動程序根據IRP中所含的URB執行相應的操作(如從USB設備讀取數據),并把操作結果通過IRP返還給USB功能驅動程序。USB功能驅動程序接收到此IRP后,將操作結果通過IRP返還給I/O管理器,最后I/O管理器將此IRP中操作結果返還給應用程序,至此應用程序對USB設備的一次I/O操作完成。

  USB功能驅動程序除負責處理應用程序的I/O請求外,還要處理PnP管理器發送給它的PnP請求(如設備啟動請求IRP_MN_START_DEVICE,設備刪除請求IRP_MN_REMOVE_DEVICE等)。通過對這些PnP請求的處理,USB功能驅動程序可支持設備的熱插拔和即插即用功能。

  驅動程序的入口函數是DriverEntry( ),所有對各種IRP的處理例程都在此入口函數中做出定義。

  開發USB設備驅動程序的工具有Microsoft公司的Win98DDK,Compuware公司的Numega DriverStudio等。筆者在實際開發中使用了Win98DDK。

4 應用軟件的設計

  用戶態的軟件設計由兩個部分組成:動態鏈接庫和應用程序。動態連接庫負責與內核態的USB功能驅動程序通信并接受應用程序的各種操作請求,而應用程序負責對所采集的數據進行實時顯示、分析和存盤。

  動態鏈接庫的工作原理如下:當它收到應用程序開始采樣的請求后,便創建兩個線程:采樣線程和顯示存盤線程。采樣線程負責將采集數據寫到應用程序提交的內存;而顯示存盤線程由多媒體定時器控制(每隔一段時間多媒體定時器就調用一次此線程),此線程負責給應用程序發送顯示和存盤消息。當應用程序接收到此消息后,便從它提交的內存中讀取數據并顯示和存盤。此處需要注意的是采樣線程和顯示存盤線程在讀寫應用程序提交的內存時要保持同步(如當采樣線程正在向內存進行寫操作時顯示存盤線程就不能對此段內存進行讀操作,否則就有可能導致讀寫錯誤)。保持線程同步的方法很多,如互斥量(Mutex)、信號量(Semaphore)和事件(Event)。此處使用了互斥量。

  USB總線的特點使其非常適合于作為醫療儀器與主機之間的通訊接口,實現主機和醫學儀器之間的簡單、快速和可靠的連接。

  基于USB總線的醫學數據采集設備,在實際應用中取得了良好的效果。同時,它也為數據采集提供了一種新穎的、方便的和可靠的解決方案。

?

參考文獻

1 USB1.1. Universal serial bus specification[S]

2 曾樂朋,高小榕,李明毅. 12導聯同步心電采集測量系統及QT/QTd分析[J]. 清華大學學報,2000;40(9):5~8

3 李全政, 高小榕, 歐陽婧. 胸阻抗信號中的呼吸波的去除[J]. 清華大學學報,2000;40(9):13~16

4 Chris Cant著,孫義譯.Windows WDM 設備驅動程序開發指南[M]. 北京:機械工業出版社, 2000

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          日韩视频一区二区在线观看| 久久亚洲精选| 在线视频精品一区| 欧美国产一区视频在线观看| 欧美成人伊人久久综合网| 欧美1级日本1级| 影音国产精品| 亚洲精品久久久久中文字幕欢迎你| 亚洲网站在线播放| 国产精品久久久久久久久免费桃花| 欧美成人精品三级在线观看| 欧美成人乱码一区二区三区| 一区二区三区黄色| 久久久久久一区二区三区| 久久久中精品2020中文| 影音先锋亚洲视频| 午夜精品视频一区| 99精品视频一区二区三区| 精久久久久久| 国产欧美精品在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 欧美理论电影在线播放| 午夜在线视频一区二区区别| 亚洲人成在线影院| 欧美日韩午夜| 久久精品久久99精品久久| 国产精品日韩高清| 亚洲电影视频在线| 亚洲美女av黄| 亚洲无玛一区| 激情综合色综合久久综合| 久久免费的精品国产v∧| 久久综合中文色婷婷| 国内精品视频在线播放| 国产香蕉久久精品综合网| 国产精品久99| 国产精品福利影院| 久久亚洲影音av资源网| 国产精品网站在线观看| 欧美日韩亚洲三区| 欧美精品在线观看一区二区| 国产精品麻豆va在线播放| 国产一区二区三区在线观看视频| 亚洲精品美女91| 牛牛国产精品| 国产一区亚洲| 国产亚洲女人久久久久毛片| 久久久久久久久久看片| 亚洲区一区二区三区| 久久精品二区| 国产精品久久国产三级国电话系列| 一本久久综合亚洲鲁鲁| 一本色道婷婷久久欧美| 最新国产拍偷乱拍精品| 99精品欧美一区二区三区综合在线| 欧美一区二区黄色| 久久成人免费电影| 亚洲麻豆一区| 欧美亚洲成人精品| 欧美日韩国产成人在线观看| 亚洲国产精品精华液网站| 欧美精品一区二区高清在线观看| 99精品视频网| 欧美网站大全在线观看| 一区二区毛片| 在线看无码的免费网站| 欧美在线日韩在线| 亚洲人www| 欧美日产一区二区三区在线观看| 这里是久久伊人| 国模精品一区二区三区| 国产精品欧美激情| 亚洲欧美在线aaa| 欧美精品日韩精品| 午夜精品免费| 久久久久久久国产| 国产精品国产三级国产aⅴ浪潮| 黄色日韩在线| 亚洲欧美中文另类| 亚洲视频在线观看网站| 性色av香蕉一区二区| 亚洲毛片在线看| 欧美在线三区| 久久蜜桃香蕉精品一区二区三区| 国产偷国产偷亚洲高清97cao| 亚洲精品日本| 国产精品任我爽爆在线播放| 免费欧美日韩国产三级电影| 欧美日本免费一区二区三区| 午夜亚洲激情| 久久久人成影片一区二区三区| 国产一区二区精品久久91| 亚洲一区在线视频| 欧美日韩在线播放三区四区| 欧美xxxx在线观看| 亚洲美女区一区| 欧美精品1区2区3区| 欧美日韩精品久久久| 欧美aⅴ99久久黑人专区| 久久久精品五月天| 国产精品揄拍500视频| 亚洲一区在线观看视频| 欧美在线地址| 欧美精品一区二区三区在线播放| 久久大香伊蕉在人线观看热2| 国产精品婷婷| 欧美成人精品福利| 一区二区三区三区在线| 先锋影音久久| 欧美日本视频在线| 国内偷自视频区视频综合| 久久三级福利| 国产乱理伦片在线观看夜一区| 蜜臀久久99精品久久久久久9| 亚洲老司机av| 国产日韩精品入口| 国产精品99久久99久久久二8| 亚洲精品一区二区三区不| 久久久欧美精品| 久久午夜精品一区二区| 国产一区清纯| 久久经典综合| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日韩中文字幕精品| 国产欧美视频一区二区三区| 亚洲一区二区三区色| 欧美人与性动交α欧美精品济南到| 一区二区精品在线| 亚洲欧洲免费视频| 一区二区三区视频在线观看| 亚洲精品国产系列| 久久av资源网| 欧美日韩福利在线观看| 久久se精品一区二区| 小黄鸭精品aⅴ导航网站入口| 国产精一区二区三区| 国产精品有限公司| 亚洲欧美清纯在线制服| 激情成人亚洲| 亚洲婷婷综合色高清在线| 欧美三级日韩三级国产三级| 亚洲美女91| 亚洲欧洲日产国产网站| 亚洲在线免费观看| 久久国产精品黑丝| 欧美性色aⅴ视频一区日韩精品| 国产字幕视频一区二区| 另类国产ts人妖高潮视频| 久久riav二区三区| 久久久久久网站| 性欧美1819性猛交| 91久久国产自产拍夜夜嗨| 国产字幕视频一区二区| 99国产精品国产精品久久| 欧美极品欧美精品欧美视频| 美玉足脚交一区二区三区图片| 狠狠狠色丁香婷婷综合激情| 国产精品麻豆成人av电影艾秋| 久久久久久高潮国产精品视| 欧美日韩免费精品| 欧美视频你懂的| 亚洲国产精品毛片| 在线色欧美三级视频| 9久草视频在线视频精品| 欧美成人激情视频免费观看| 久久九九热免费视频| 亚洲一区二区免费看| 在线高清一区| 亚洲人成人77777线观看| 亚洲女女女同性video| 在线观看精品视频| 国产精品亚洲综合色区韩国| 亚洲另类黄色| 国产一区二区三区免费观看| 午夜一区二区三区在线观看| 亚洲欧美视频在线| 精品96久久久久久中文字幕无| 国产欧美一区二区精品秋霞影院| 最新亚洲一区| 久久久久se| 亚洲网友自拍| 欧美亚洲日本国产| 欧美国产成人精品| 日韩一级免费| 久久综合成人精品亚洲另类欧美| 亚洲免费视频观看| 伊人久久大香线蕉综合热线| 欧美日韩你懂的| 国产乱理伦片在线观看夜一区| 国产精品免费电影| 美日韩丰满少妇在线观看| 激情久久久久久久久久久久久久久久| 国产精品五月天| 一区在线视频观看| 欧美深夜影院| 欧美www视频| 99精品视频一区二区三区| 欧美激情小视频| 午夜精品视频在线| 国产欧美一区二区视频| 一区二区欧美视频| 久久久久国产精品午夜一区| 欧美精品一区二区高清在线观看| 欧美一区二区免费观在线| 欧美日韩亚洲一区二区三区| 国产精品久久久久99| 亚洲精品久久久一区二区三区| 国产精品区一区二区三区| 久久久久久久久久久久久女国产乱| 亚洲小少妇裸体bbw| 欧美日韩喷水| 国产精品大片免费观看| 美国三级日本三级久久99| 久久激情一区| 久久av二区| 日韩亚洲精品在线| 欧美成人中文字幕在线| 欧美日韩一区不卡| 伊人久久久大香线蕉综合直播| 亚洲综合好骚| 亚洲一级片在线观看| 国产一区二区视频在线观看| 久久精品一区二区三区不卡| 午夜视频久久久| 在线免费高清一区二区三区| 亚洲欧美国内爽妇网| 国产精品久久久久影院色老大| 欧美国内亚洲| 亚洲精品久久嫩草网站秘色| 尤物yw午夜国产精品视频明星| 亚洲小视频在线| 亚洲小说春色综合另类电影| 国产精品女同互慰在线看| 国产精品久久久久久亚洲毛片| 亚洲欧美日韩精品一区二区| 亚洲视频自拍偷拍| 在线一区二区视频| 久久精品一区二区三区四区| 欧美精品网站| 在线成人av.com| 欧美aⅴ一区二区三区视频| 国产日韩欧美在线播放不卡| 亚洲午夜一二三区视频| 久久久精品五月天| 亚洲第一精品久久忘忧草社区| 先锋影音国产精品| 国产精品一区二区久久国产| 狠狠综合久久| 久久欧美肥婆一二区| 欧美一级电影久久| 蜜臀久久99精品久久久久久9| 亚洲激情成人网| 国产在线欧美日韩| 亚洲精品一区二区在线| 性18欧美另类| 99在线精品视频在线观看| 国产精品国产三级国产aⅴ9色| 国产女人精品视频| 欧美日韩在线影院| 中文精品一区二区三区| 欧美色精品天天在线观看视频| 欧美激情导航| 欧美精品观看| 欧美性做爰猛烈叫床潮| 国产欧美日韩视频在线观看| 国产欧美在线看| 亚洲人成免费| 老司机一区二区三区| 久久久99国产精品免费| 亚洲国产欧美一区| 国产精品久久久一区麻豆最新章节| 韩国自拍一区| 一区二区三区久久久| 欧美日韩国产一级片| 久久九九免费| 欧美在线观看一二区| 亚洲激情成人在线| 欧美亚州在线观看| 国产精品久久毛片a| 亚洲日本中文字幕免费在线不卡| 91久久极品少妇xxxxⅹ软件| 亚洲春色另类小说| 99国产一区二区三精品乱码| 久久国产婷婷国产香蕉| 久久一日本道色综合久久| 国产日韩欧美a| 亚洲欧美日韩国产综合精品二区| 国产曰批免费观看久久久| 欧美激情免费在线| 亚洲美女网站| 久久国产精品一区二区三区四区| 久久深夜福利免费观看| 狠狠色综合一区二区| 亚洲主播在线观看| 国产精品网站一区| 久久国产加勒比精品无码| 日韩视频不卡中文| 亚洲精品永久免费精品| 在线电影欧美日韩一区二区私密| 亚洲欧美精品suv| 国产乱人伦精品一区二区| 久久久久免费观看| 国产欧美一区二区精品仙草咪| 99精品国产在热久久下载| 日韩视频在线免费观看| 一区二区毛片| 欧美日韩另类丝袜其他| 国产婷婷97碰碰久久人人蜜臀| 六月天综合网| 国产欧美日韩精品在线| 欧美激情精品久久久久久| 国模一区二区三区| 一区二区三区四区蜜桃| 一区二区三区久久网| 久久综合久久美利坚合众国| 欧美日韩久久不卡| 亚洲清纯自拍| 香蕉精品999视频一区二区| 中国成人亚色综合网站| 亚洲免费一区二区| 久久国产欧美| 欧美日韩亚洲综合在线| 亚洲黄色高清| 久久在线观看视频| 亚洲综合色激情五月| 牛牛影视久久网| 国产亚洲精品成人av久久ww| 亚洲精品一区二区三区四区高清|