Java平台一直都以其平台无关性自豪。虽然这种无关性有.doc

Java平台一直都以其平台无关性自豪。虽然这种无关性有.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java平台一直都以其平台无关性自豪。虽然这种无关性有.doc

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?设备可以有许多个端点,主机与设备之间数据管道的数 量与该设备上端点的数量相同。一个管道可以是单向或者是双向的,

文档评论(0)

tangtianxu1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档