- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于嵌入式Linux的USB主控制器驱动设计.pdf
基于嵌入式Linux 的USB 主控制器驱动设计
Design of USB Host Controller Driver Based on Embedded Linux
Abstract: This paper designs the USB host controller driver for the USB host
controller of S3C2410. The driver is based on Linux, it followed USB 1.1 and OHCI
1.0 specification. This driver makes the embedded system with S3C2410 has USB
host function and can communicate with USB devices.
Key Word: USB host controller driver, Linux, S3C2410
摘 要:本文为S3C2410 的USB 主机控制器设计了基于Linux 的USB 主机控
制器驱动程序。该驱动程序遵循USB1.1 版本协议和OHCI 1.0 版本协议。使具
有S3C2410 的嵌入式系统具备了USB 主机功能,能够和各种USB 设备进行通
信。
关键词:USB 主机控制器驱动,Linux ,S3C2410
1 引言
随 着USB 技术越来越多地被应用到嵌入式领域,人们对身边所使用的嵌入式系
统提出了新的要求,希望在嵌入式系统中增加USB 主机功能,使嵌入式系统具
有移动 存储功能,如挂接各种移动存储设备、直接与USB 打印机连接打印数码
相片等。嵌入式USB 主机系统的开发成为当前的一个热点。
嵌入式USB 主机系 统设计包括软件和硬件两个部分。其中软件设计主要包括
USB 核心驱动程序和USB 主机控制器驱动程序两个部分。Linux 操作系统是一
个源码开放,资源丰 富的操作系统。Linux 系统对USB 主机协议提供了一定的
支持,并提供了众多的USB 类设备驱动程序,为应用开发提供了便捷。
2 USB 主机系统概述
在USB 接口协议中,USB 系统被划分成USB 主机和USB 设备两个部分。系统
中所有的数据传输都发生在主机和设备之间,主机是USB 的核心,它管理着每
个USB 设备,每一次USB 数据通信都必须由USB 主机来发起。
USB 主机系统由多层构成。其中最低层为硬件,包括根集线器和USB 主机控制
器(简称HC ),HC 是USB 主机系统的硬件核心,提供USB 的物理层功能。
HC 向 上提供一个接口协议 HCI(Host Controller Interface) ,USB 主机控制器驱
动程序(USB Host Controller Driver ,简称HCD )是此接口的具体实现;USB 核
心驱动(USB Driver ,简称USBD )为USB 设备的用户提供基本的主机接口;
USB 设备类驱动程序为USB 用户驱动程序,需要根据USB 设备所属的设备类进
行设 计。
HCD 作为底层硬件的驱动程序,一方面控制和管理硬件底层,负责将USB 事务
发送给USB 主机控制器芯片,并最终将串行数据发送到电缆上。另 一方面为上
层的 USB 系统软件提供了统一的接口,方便地将各种不同的 HC 映射到 USB
系统。目前HCI 的实现有三种不同的标准:UHCI 、OHCI 和EHCI ,其中OHCI
标准专门用在非PC 领域。
3 Linux 下的USB 子系统
Linux 是一个类Unix 的操作系统,具有非常好的移植性,被应用到许多不同体
系结构的计算机中。Linux 中USB 子系统的结构如图3.1 所示。该子系统专门用
于支持USB 设备和USB 主机控制器,分为三层结构。USBD 所在层为USB 内
核,USB 内核为客户端驱动程序和HCD 提供接口函数,并负责维护设备的加 载、
配置、设备驱动程序的安装和卸载等。
4 S3C2410 的USB 主机控制器驱动实现
4.1 S3C2410 简介
S3C2410 是三星公司生产的32 位的RISC 处理器,采用了ARM920T 内核,内
部带有全性能的内存处理单元(MMU ),最高工作频率可达203MHz 。该芯片
支 持Thumb16 位压缩指令集,从而可以较小的存储空间需求,获得32 位的系
统性能。S3C2410 提供了两个USB 主机接口,该接口支持OH
文档评论(0)