USB HOST技术在单片机.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多
USB HOST技术在单片机

关键词:USB主机 ISP1161 传输协议 批量传输 设备枚举 FAT16 本文以USB HOST技术为核心,介绍USB HOST技术在单片机上的实现。,重点介绍USB HOST技术在嵌入式系统读写优盘上的应用。 1 USB HOST技术简介 USB的通信可以用图1表示。图1中,左半部分为USB主机端,可以看出,USB主机端由两部分构成,即软件体和硬件体。实际上是三个软件组件组成了USB HOST解决方案,即USB客户驱动程序、USB驱动程序和USB主机控制器驱动程序。应用程序的事务处理是由USB客户驱动程序(设备驱动程序)启动时,客户驱动程序把USB设备当作一个可以被访问的端点集合,它可以被控制并与它的功能单元进行通信。USB系统软件包括USB驱动程序和USB主控制器驱动程序,USB驱动程序负责配置管理、用户管理、总线管理和数据传输管理;以及数据的位编码、封包、循环校验、发送、错误处理等。 2 基于ISP1161控制器USB HOST的实现原理 USB控制器大致分为三类:第一类是支持1.0协议的,这类已经很少见了;第二类是支持1.1协议的控制器;第三类是支持2.0协议的控制器。根据不同场合,后两种应用比较广泛,2.0接口主要用在计算机上,依靠操作系统实现数据高速传输。支持1.1协议的芯片除了用于计算机上,还有少数是为嵌入式系统中实现USB HOST而设计的。如Cypress的SL811、Philips的ISP1160、ISP1161等。 USB主机端的硬件部分是由处理器、USB-HOST控制器和根集线器组成,图2是由微控制器MSP430F149和USB控制器ISP1161实现USB HOST的电路原理。图2分为4个部分:微处理器、USB控制器、电源管理模块和USB接口电路。从概念上还应有一个USB根集线器(USB Hub),实际根集线器被集成在USB HOST控制器中。 ISP1161是Philips设计的USB主机/设备控制器。内部有1个USB主机控制器和1个设备控制器,符合USB2.0协议,支持全速和低速传输。主机和设备控制器共享相同的接口总线,带有2个USB下行端口和1个USB上行端口。图2中使用接口1作为HOST下行端口。每个下行端口有各自的过流检测电路,图2中使用PHP109检测端口供电电流, 高于500mA将停止对总线供电。 MSP430和ISP1161的数据传输可以通过PIO(程控输入输出)方式或DMA(直接存储器访问)方式进行传输,在ISP1161进入工作状态前,要进行一系列初始化,包括检测器、复位控制器、初始化硬件配置、设置中断、设置Buffer(缓冲区)大小等。使ISP1161的主机控制器处于工作状态,真正用于发送到总线的数据被放置于ISP1161内部的缓冲区内。 这时值得一提的是“传输描述符”这个概念,它是ISP1161工作的核心概念。在缓冲区内放置的数据是以传输描述符为单位,传输描述符作用是描述了本次传输需要完成的任务。描述符分为描述符头和描述符负载数据。描述符头表征了这个描述符的传输类型、封包最大宽度、传输速度、传输对象、传输端点、负载数据的长度等。传输描述符的另一个作用体现在传输后。每次传输执行完毕后,传输描述符的内容会有相应的改变,体现在传输描述符头中,表征了本次传输的结果,包括传输了多少字节,传输中发生了什么错误等。 3 USB主机端对设备的枚举 从USB设备插入接口开始到客户驱动程序能够使用该设备还有一段路径,这一段就被称作为设备的识别过程,又成为枚举过程。枚举过程是任何USB设备使用前必经的过程。USB主机端需要知道这是一个低速设备还是全速设备,需要知道这个设备具有的能力,以便载入相应的设备驱动程序,下面具体介绍一下实现步骤。 首先,捕捉设备的插入。USB设备是即插即用设备,系统在设备插入的瞬间要捕捉到这一信息,ISP1161是通过内部的Hub完成这一任务的。Hub端口的两根信号线(D+和D-)的每一根都有一个子15kΩ的下拉电阻,而一个设备在D+(全速设备)或D-(低速设备)上有一个1.5kΩ的上拉电阻。当设备插入到一个端口时,设备的上位电阻信号为高。Hub以此检测到一个设备已连接上了,并报告给主机控制器,然后,在与处理器的接口上产生中断。主机知道后,通过读取Hub相关寄存器来了解诸如设备速度等更多信息。 而后,Hub重新设置该设备。当主机知道有一新设备时,主机给Hub相关寄存器写命令,让Hub来重新设置端口。Hub使设备的USB数据线处在重启状态(D+和D-均为逻辑低)至少10ms,当Hub释放了重启状态,设备就处在默认状态了(D+和D-均为逻辑低)至少10ms,当Hub释放了重启状态,设备就处在默认状态了(设备的USB寄存器已经处在它们的默认状态)。此时,设备已准备发通过Endpo

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档