网站大量收购闲置独家精品文档,联系QQ:2885784924

基于嵌入式ARM9的USB设计与实现 .pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

基于嵌入式ARM9的USB设计与实现

引言

USB(UniversalSerialBus)是通用串行总线的缩写,因其具有方便易用,动

态分配带宽,容错性优越和高性价比等特点,现已成为计算机的主流接口。

随着嵌入式系统的广泛应用,各种小型终端需要开发出与外界联系的USB

接口。目前,常用的技术有两种。基于单片机的USB接口,特点是需要外置芯片,

电路复杂,留下的CPU资源不多;基于ARM的USB接口,特点是资源丰富,但

ARM系列产品较多,如果选型不当,还需要搭接较多的外围电路,且不能很好地

发挥CPU性能。

1USB接口原理

USB1.1规范[1]将USB分为5部分:控制器、控制器驱动程序、USB芯片驱

动程序、USB设备以及针对不同USB设备的客户端驱动程序。

(1)控制器(HostController)主要负责执行由控制器驱动程序发出的命

令。

(2)控制器驱动程序(HostControllerDriver),在控制器与USB设备间

建立通信

管道(Pipe)。

(3)USB驱动程序(USBDriver),提供对不同USB设备及芯片的支持。

(4)USB设备(USBDevice),有两类USB设备:一类称为功能设备

(Function),另

一类是称为USB集线器(HUB),可以连接多个USB设备。

(5)USB设备驱动程序(ClientDriverSoftware)及特定应用程序。主控

制器的驱动软件由操作系统支持,USB设备开发人员一般只需编写客户

驱动程序,实现特定功能,设备端所有功能软件需要全面设计。USB的

四种数据传输模式分别是:控制型传输、中断型传输、批量型传输、实

时型传输。第一种在缺省通道中传输USB接口本身的配置等控制信息,

后面三种用于功能部件传输数据。中断型用于键盘等的异步输入输出少

量数据传输,批量传输主要用于象硬盘等块设备的数据传输,在中断和

批量的传输过程中要传递交互握手信号,确保数据准确无误。实时传输

对带宽有严格要求,但允许有一定误码,省去了交互握手信号的传递,

常用于音视频码流数据传输。四种类型数据都按带宽要求分配在1ms一

帧的数据帧内进行传输,连到端点(EndPoint)通道.

1.1嵌入式系统USB接口设计

要满足高性能ARM嵌入式系统的要求,扩展USB接口必须选择高性能USB控

制器芯片,Philips公司的PDISUBD12USB器件,是与微处理器配合使用的高

性能USB接口器件,性价比很高[2][4]。PDIUSBD12主要特性有:

(1)符合USB1.1技术规范;

(2)USB控制器并行接口与处理器间的数据传输速度高达2M字节/秒;

(3)在批量模式和同步模式下均可实现1M字节/秒的数据传输速率;

(4)集成了FIFO存储收发器,支持DMA操作;

(5)内置时钟倍频PLL电路,可编程时钟频率输出;

(6)多中断模式实现批量和同步传输;

1.2音频码流USB设备驱动程序

Windows2000中各种USB设备客户驱动程序结构框架基本相同,可以从

Windows2000

DDK中获得USB设备驱动程序范例代码,对范例代码作少量修改就可以满

足特定功能需要。图1显示了驱动程序各层间的数据传递关系,底层USB主

控制器驱动程序(USBHost

Driver)由操作系统提供支持,设备驱动程序只需要对USBHostDriver上

传的I/O数据包IRP作出响应,并把要输出数据以IRP形式下传给USBHost

Driver即可[5][6]。在ISO(实时型)模式下传输音频码流,USB客户程序

除了WDM(WindowsDriverModel)

驱动常规处理外,必须计算好带宽,并为驱动程序在非分页存储区内分配好

环行缓冲区

文档评论(0)

180****7669 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档