亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在Java應用程序中訪問USB設備

2019-11-17 05:57:48
字體:
來源:轉載
供稿:網友

  java 平臺一直都以其平臺無關性自豪。雖然這種無關性有許多好處,但是它也使得編寫與硬件交互的 Java 應用程序的過程變得相當復雜。在本文中,研究科學家蔣清野討論了兩個項目,它們通過提供使Java 應用程序可以使用 USB 設備的 API 而使這個過程變得更輕易。 雖然這兩個項目仍然處于萌芽狀態,但是它們都顯示了良好的前景,并已經成為一些實用應用程序的基礎。

  通用串行總線(Universal Serial Bus USB)規范的第一個版本發表于 1996年 1月。因為它的低成本、高數據傳輸率、使用輕易和靈活性,USB 在計算機行業里獲得了廣泛接受。今天,許多周邊設備和裝置都是通過 USB 接口連接到計算機上的。目前,大多數一般用途的操作系統都提供了對 USB 設備的支持,并且用 C 或者 C++ 可以相對輕易地開發訪問這些外設的應用程序。不過,Java 編程語言在設計上對硬件訪問提供的支持很少,所以編寫與 USB 設備交互的應用程序是相當困難的。

  IBM 的 Dan Streetman 最早開始了在 Java 語言中提供對 USB 設備的訪問的努力。2001年,他的項目通過 Java 規范請求(Java Specification Request,JSR)過程被接受為 Java 語言的候選擴展標準。這個項目現在稱為 JSR-80 并且指定了官方包 javax.usb。同時,在 2000年 6月,Mojo Jojo 和 David Brownell 在 SourceForge 開始了 jUSB 項目。這兩個項目都開發出了 linux 開發人員可以使用的包,盡管它們都還很不完善。這兩個項目也都開始試圖向其他操作系統上的 Java 應用程序提供對 USB 設備的訪問,盡管它們都還沒有開發出可以使用的包(參閱 參考資料 中有關本文中討論的這兩個項目及其他項目的資料)。

  在本文中,將對 jUSB 和 JSR-80 項目作一個簡要介紹,不過,我們首先要看一下 USB 協議的具體細節,這樣您就可以理解這兩個項目是如何與 USB 設備交互的。我們還將提供代碼片段以展示如何用這兩個項目的 API 訪問 USB 設備。 USB 介紹

  1994年,一個由四個行業伙伴(Compaq、Intel、Microsoft 和 NEC)組成的聯盟開始制定 USB 協議。該協議最初的目的是將 PC 與電話相連并提供輕易擴展和重新配置的 I/O 接口。1996年 1月,發表了 USB 規范的第一個版本,1998年 9月發表了后續版本(版本 1.1)。這個規范答應 127臺設備同時連接到一起,總的通信帶寬限制為 12 Mbps。后來,又有三個成員(Hewlett-Packard、LUCent 和 Philips)加入了這個聯盟。2000年 4月,發表了 USB 規范的 2.0版本,它支持高達 480 Mbps 的傳輸率。今天,USB 在高速(視頻、圖像、儲存)和全速(音頻、寬帶、麥克風)數據傳輸應用中起了要害作用。它還使各種低速設備(鍵盤、鼠標、游戲外設、虛擬現實外設)連接到 PC 上。

  USB 協議有嚴格的層次結構。在所有 USB 系統中,只有一個主設備,到主計算機的的 USB 接口稱為主控器(host controller)。主控器有兩個標準??開放主控器接口(Compaq 的 Open Host Controller Interface,OHCI)和通用主控器接口(Intel 的 Universal Host Controller Interface,UHCI)。這兩個標準提供了同樣的能力,并可用于所有的 USB 設備,UHCI 的硬件實現更簡單一些,但是需要更復雜的設備驅動程序(因而 CPU 的負荷更大一些)。

  USB 物理互連是分層的星形拓樸,最多有七層。一個 hub 是每個星形的中心,USB 主機被認為是 root hub。每一段連線都是 hub 與 USB 設備的點對點連接,后者可以是為系統提供更多附加點的另一個 hub,也可以是一個提供功能的某種設備。主機使用主/從協議與 USB 設備通信。這種方式解決了包沖突的問題,但是同時也阻止了附加的設備彼此建立直接通信。

  所有傳輸的數據都是由主控器發起的。數據從主機流向設備稱為下行(downstream)或者輸出(out)傳輸,數據從設備流向主機稱為上 行(upstream)或者輸入(in)傳輸。數據傳輸發生在主機和 USB 設備上特定的端點(endpoint) 之間,主機與端點之間的數據鏈接稱為管道(pipe)。 一個給定的 USB 設備可以有許多個端點,主機與設備之間數據管道的數量與該設備上端點的數量相同。一個管道可以是單向或者是雙向的,一個管道中的數據流與所有其他管道中的數據流無關。


  USB 網絡中的通信可以使用下面四種數據傳輸類型中的任意一種:

  控制傳輸: 這些是一些短的數據包,用于設備控制和配置,非凡是在設備附加到主機上時。

   

      批量傳輸: 這些是數量相對大的數據包。像掃描儀或者 SCSI 適配器這樣的設備使用這種傳輸類型。

  中斷傳輸: 這些是定期輪詢的數據包。主控器會以特定的間隔自動發出一個中斷。

  等時傳輸: 這些是實時的數據流,它們對帶寬的要求高于可靠性要求。音頻和視頻設備一般使用這種傳輸類型。

  像串行端口一樣,計算機上每一個 USB 端口都由 USB 控制器指定了一個惟一的標識數字(端口 ID)。當 USB 設備附加到 USB 端口上時,就將這個 惟一端口 ID 分配給這臺設備,并且 USB 控制器會讀取設備描述符。設備描述符包括適用于該設備的全局信息、以及設備的配置信息。配置定義了一臺 USB 設備的功能和 I/O 行為。一臺 USB 設備可以有一個或者多個配置,這由它們相應的配置描述符所描述。每一個配置都有一個或者多個接口,它可以視為一個物理通信渠道 ;每一個接口有零個或者多個端點,它可以是數據提供者或者數據消費者,或者同時具有這兩種身份。接口由接口描述符描述,端點由端點描述符描述。并且一臺 USB 設備可能還有字符串描述符以提供像廠商名、設備名或者序列號這樣的附加信息。

  正如您所看到的,像 USB 這樣的協議為使用 Java 這種強調平臺和硬件無關性的語言的開發人員提出了挑戰?,F在讓我們看兩個試圖解決這個問題的項目。




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
少妇激情综合网| 亚洲免费电影一区| 姬川优奈aav一区二区| 成人免费xxxxx在线观看| 亚洲第一网站男人都懂| 日韩av三级在线观看| 狠狠久久五月精品中文字幕| 色哟哟亚洲精品一区二区| 亚洲国产成人在线视频| 欧美大片va欧美在线播放| 久久国内精品一国内精品| 成人在线小视频| 欧美性69xxxx肥| 欧美日韩国产页| 久久久国产一区二区三区| 欧美日韩免费在线| 精品福利免费观看| 91sao在线观看国产| 国产精品激情av在线播放| 国产免费一区二区三区香蕉精| 日本久久精品视频| 日韩电影中文字幕在线| 日本成人在线视频网址| 亚洲一区二区三区在线免费观看| 国产日韩欧美综合| 欧美极品少妇xxxxx| 免费不卡欧美自拍视频| 成人淫片在线看| 日韩久久精品成人| 国产日韩专区在线| 亚洲人成电影网站色xx| 黑人巨大精品欧美一区二区三区| 欧美一级视频免费在线观看| 久久亚洲国产精品| 亚洲国产高清高潮精品美女| 超碰日本道色综合久久综合| 国产精品r级在线| 国产精品久久久久免费a∨大胸| 成人黄色在线免费| 在线丨暗呦小u女国产精品| 日韩av在线网址| 成人免费网站在线观看| 国产日韩欧美在线视频观看| 色视频www在线播放国产成人| 久久免费观看视频| 日韩免费看的电影电视剧大全| 51久久精品夜色国产麻豆| 亚洲欧洲在线视频| 日韩美女免费视频| 欧美巨乳在线观看| 国产欧美精品久久久| 国产美女精彩久久| 欧美日韩精品国产| 国产91精品黑色丝袜高跟鞋| 欧美激情视频免费观看| 欧美国产视频日韩| 亚洲香蕉av在线一区二区三区| 日韩最新免费不卡| 一区二区三区国产视频| 精品久久久久久电影| 亚洲毛片在线看| 久久精品久久久久电影| 亚洲一区二区自拍| 一区二区欧美亚洲| 亚洲成色777777在线观看影院| 91在线中文字幕| 在线日韩av观看| 91在线观看免费高清完整版在线观看| 久久色在线播放| 国产激情综合五月久久| 亚洲欧洲成视频免费观看| 亚洲精品资源美女情侣酒店| 久久免费精品日本久久中文字幕| 亚洲免费电影一区| 欧美日韩在线视频首页| 久久久久久久成人| 欧美亚洲在线观看| 欧美亚洲日本黄色| 日韩欧美中文第一页| 91精品国产91久久| 45www国产精品网站| 国产精品69久久久久| 国内精品久久久久久久| 性夜试看影院91社区| 亚洲黄色av网站| 高清欧美一区二区三区| 国产精品免费一区豆花| 色吧影院999| 成人在线观看视频网站| 91精品久久久久久久久久另类| 欧美高清videos高潮hd| 色yeye香蕉凹凸一区二区av| 欧美激情啊啊啊| 日本一区二区在线免费播放| 欧美黑人xxxⅹ高潮交| 国产成人97精品免费看片| 国内精品视频一区| 国产成人久久久精品一区| 青青a在线精品免费观看| 国产精品日韩电影| 亚洲**2019国产| 日本高清不卡在线| 久久91亚洲人成电影网站| 欧美日韩福利视频| 亚洲伊人成综合成人网| 亚洲黄色片网站| 国产一区二区三区在线观看视频| 久久九九有精品国产23| 欧美日韩国产中文字幕| 日韩小视频网址| 疯狂蹂躏欧美一区二区精品| 久久97久久97精品免视看| 亚洲视频一区二区三区| 亲爱的老师9免费观看全集电视剧| 国产精品久久久久久久av电影| 欧美成人四级hd版| 亚洲第一天堂无码专区| 欧美成人精品一区二区三区| 欧美精品免费播放| 国产精品久久久久久久av电影| 黄色91在线观看| 中文字幕亚洲欧美日韩高清| 国产精品一区二区3区| 欧美在线性爱视频| 欧美性猛交xxxx富婆| 日韩欧美国产免费播放| 精品精品国产国产自在线| 成人午夜在线视频一区| 亚洲韩国日本中文字幕| 国产精品久久久久久搜索| 欧美成人在线影院| 欧美乱大交做爰xxxⅹ性3| 国产偷亚洲偷欧美偷精品| 久久成年人视频| 91大神福利视频在线| 精品国产一区二区在线| 日韩最新中文字幕电影免费看| 欧美高清videos高潮hd| 91精品国产综合久久香蕉| 成人激情黄色网| 日韩电影中文字幕在线观看| 国产精品视频久| 美女999久久久精品视频| 欧美最近摘花xxxx摘花| 亚洲国产日韩欧美在线99| 国产精品青草久久久久福利99| 欧美亚洲午夜视频在线观看| 日本国产一区二区三区| 国产精品福利在线| 亚洲摸下面视频| 亚洲欧美在线免费| 欧美日本在线视频中文字字幕| 中文字幕亚洲激情| 久久国产精品网站| 国产精品影片在线观看| 欧美激情二区三区| 国产主播精品在线| 国产成人在线一区二区| 国产成人精品日本亚洲专区61| 欧美日韩国产二区| 亚洲成人免费网站| 777午夜精品福利在线观看| 深夜成人在线观看| 久久久久亚洲精品国产|