- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验十 USB驱动配置的实验
实验十 USB驱动配置实验
【实验目的】
1、了解USB接口的工作原理
2、掌握USB存储器驱动的配置方法
3、掌握USB存储器的使用方法
【实验原理】
1、USB接口简介
USB的全称是Universal Serial Bus最多可连接127台外设,由于USB支持热插拔,即插即用,支持的电子设备多(一般的PC都配置了USB接口)等优点。目前主流的掌上电脑一般都配置了USB接口,用户可用厂商提供的USB数据线与其它同样具备USB接口的电子设备连接起来使用。USB使用一个4针插头作为标准插头。通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽。USB中将USB分为五个部分:控制器、控制器驱动程序、USB芯片驱动程序、USB设备以及针对不同USB设备的客户驱动程序。USB需要主机硬件、操作系统和外设三个方面的支持才能工作。Universal Host Control Interface)和开放式主机控制器接口OHCI(Open Host Control Interface)两种规范,而对于支持USB2.0规范的Linux内核,则在支持UHCI规范和OHCI规范的基础上,同时支持了增强型主机控制器接口EHCI(Enhanced Host Control Interface)。
UHCI规范和EHCI规范都是由Intel公式提出,符号该规范的硬件平台主要以PC机为主。OHCI规范是由康柏、微软、松下等公司联合提出的开放式主机控制器接口标准,该规范已经被大量应用到嵌入式系统中。
由于USB接口是一个主—从方式、多设备连接的树状网络结构,所以USB主机必须具有对所有连接在总线上的不同类型USB设备进行管理的功能。Linux USB主机驱动程序可以同时支持多路USB总线功能,每路USB总线独立工作。如图10-1所示,Linux USB主机驱动由三部分组成:USB主机控制器驱动(HCD)、USB驱动(USBD)和不同的USB设备类驱动。
图 10-1 Linux USB 驱动程序结构
USB主机控制器驱动(HCD)是USB主机驱动程序中直接与硬件交互的软件模块,其主要功能有:主机控制器硬件初始化;为USBD层提供相应的接口函数;提供根HUB(root hub)设备配置、控制功能;完成4种类型的数据传输等。Linux2.5.xx版本支持USB1.1和USB2.0规范,其USB HCD部分支持UHCI、OHCI和ECHI三种规范。
USBD部分是整个USB主机驱动的核心,其主要实现的功能有:USB总线管理;USB总线设备、USB总线带宽管理;USB的4种类型的数据传输;USB HUB驱动;为USB设备类驱动提供相关接口;提供应用程序访问USB系统的文件接口等。
USB设备类驱动是最终与应用程序交互的软件模块,其主要实现的功能有:访问特定的USB设备;为应用程序提供访问接口等。
2、配置USB设备
要启用 Linux USB 支持,首先进入USB support节并启用Support for USB选项(对应模块为usbcore.o)。如图10-2所示
图10-2 USB support 配置界面
接下来需要配置用于系统的正确USB主控制器驱动程序(USB Host Controller Drivers),如图10-3所示。用于USB主控制器驱动模块主要有:增强型主机控制器接口EHCI驱动模块(对应模块为ehci-hcd.o)、通用型主机控制器接口UHCI驱动模块(对应模块为usb-uhci.o)、开放式主机控制器接口OHCI 驱动模块(对应模块为usb-ohci.o)。
图10-3 USB配置界面
要理解EHCI及其同类是什么,首先要知道每块支持插入 USB 设备的主板或 PCI 卡都需要有 USB 主控制器芯片组。这个特别的芯片组与插入系统的 USB 设备进行相互操作,并负责处理允许 USB 设备与系统其它部分通信所必需的所有低层次细节。Linux USB 驱动程序有三种不同的 USB 主控制器选项是因为在主板和 PCI 卡上有三种不同类型的 USB 芯片。增强型主机控制器接口EHCI驱动程序设计成为实现新的高速 USB 2.0 协议的芯片提供支持,开放式主机控制器接口OHCI驱动程序用来为非 PC 系统上的(以及带有 SiS 和 ALi 芯片组的 PC 主板上的)USB 芯片提供支持。通用型主机控制器接口UHCI驱动程序用来为大多数其它 PC 主板(包括 Intel 和 Via)上的 USB 实现提供支持。在USB主机控制器的配置中,只需选择与希望启用的 USB 支持的类型所对应的USB主机控制器驱动程序即可。为保险起见,可以启用EHCI、UHCI (两者中任选一种,它们之间没有明显的区别)和OHCI。
文档评论(0)