• 三星9003usb驱动下载 > 主机与设备驱动在
  • 主机与设备驱动在

    免费下载 下载该文档 文档格式:PDF   更新时间:2008-12-02   下载次数:0   点击次数:1
    文档基本属性
    文档语言:
    文档格式:pdf
    文档作者:2009-2013年中国泵油嘴市场深度调查与投资发展研究报告
    关键词:2009-2013年中国泵油嘴市场深度调查与投资发展研究报告
    主题:2009-2013年中国泵油嘴市场深度调查与投资发展研究报告
    备注:报告编号:2887AA 报告名称:2009-2013年中国泵油嘴市场深度调查与投资发展研究报告 咨询电话:4006128668、010-60877066、010-60877067、010-60877068 网址:http://www.20087.com/2009-12/R_2009_2013bengyouzuishichangshendudiaBaoGao.html
    点击这里显示更多文档属性
    第 20 章
    USB 主 机 与 设 备 驱 动
    在 Linux 系统中,提供了主机侧和设备侧视角的 USB 驱动框架,本 章主要讲解从主机侧角度看到的 USB 主机控制器驱动和设备驱动. 20.1 节给出了 Linux 系统中 USB 驱动的整体视图,讲解了 Linux 中 主机侧和设备侧角度的 USB 驱动层次. 从主机侧的角度而言,需要编写的 USB 驱动程序包括主机控制器驱 动和设备驱动两类,USB 主机控制器驱动程序控制插入其中的 USB 设备, 而 USB 设备驱动程序控制该设备如何作为从设备与主机通信.本章 20.2 节分析了 USB 主机控制器驱动的结构并给出实例,20.3 节讲解了 USB 设 备驱动的结构及其设备请求块处理过程,并分析了 USB 设备驱动的骨架 程序,20.4 节则给出了 Linux 设备驱动的实例. 20.1 节与 20.2~20.4 节是整体与部分的关系, 20.2 节与 20.3~20.4 节 是并列关系.
    USB 主机与设备驱动
    华清远见嵌入式培训中心——http://www.farsight.com.cn
    第 20 章
    Linux USB 驱动层次
    20.1.1 主机侧与设备侧 USB 驱动
    USB 采用树形拓扑结构,主机侧和设备侧的 USB 控制器分别称为主机控制器(Host Controller)和 USB 设备控制器(UDC) ,每条总线上只有一个主机控制器,负责协调主机和设备 间的通信,而设备不能主动向主机发送任何消息.如图 20.1 所示,在 Linux 系统中,USB 驱动可 以从两个角度去观察,一个角度是主机侧,一个角度是设备侧.
    图 20.1 Linux USB 驱动总体结构
    如图 20.1 的左侧所示,从主机侧的观念去看,在 Linux 驱动中,USB 驱动处于最底层的是 USB 主机控制器硬件, 在其之上运行的是 USB 主机控制器驱动, 主机控制器之上为 USB 核心层, 再上层为 USB 设备驱动层(插入主机上的 U 盘,鼠标,USB 转串口等设备驱动) .因此,在主机 侧的层次结构中,要实现的 USB 驱动包括两类:USB 主机控制器驱动和 USB 设备驱动,前者控 制插入其中的 USB 设备, 后者控制 USB 设备如何与主机通信.Linux 内核 USB 核心负责 USB 驱 动管理和协议处理的主要工作. 主机控制器驱动和设备驱动之间的 USB 核心非常重要, 其功能包 括:通过定义一些数据结构,宏和功能函数,向上为设备驱动提供编程接口,向下为 USB 主机控 制器驱动提供编程接口;通过全局变量维护整个系统的 USB 设备信息;完成设备热插拔控制,总 线数据传输控制等. 如图 20.1 的右侧所示,Linux 内核中 USB 设备侧驱动程序分为 3 个层次:UDC 驱动程序, Gadget API 和 Gadget 驱动程序.UDC 驱动程序直接访问硬件,控制 USB 设备和主机间的底层通 信,向上层提供与硬件相关操作的回调函数.当前 Gadget API 是 UDC 驱动程序回调函数的简单 包装.Gadget 驱动程序具体控制 USB 设备功能的实现,使设备表现出"网络连接""打印机" , 或"USB Mass Storage"等特性,它使用 Gadget API 控制 UDC 实现上述功能.Gadget API 把下层 嵌入式学院(华清远见旗下品牌)——http://www.embedu.org
    Linux 设备驱动开发详解
    华清远见嵌入式培训中心——http://www.farsight.com.cn 的 UDC 驱动程序和上层的 Gadget 驱动程序隔离开, 使得在 Linux 系统中编写 USB 设备侧驱动程 序时能够把功能的实现和底层通信分离. 本章将重点讲解从主机侧角度看到的 USB 主机控制器驱动与 USB 设备驱动,关于设备侧的 Linux 驱动,将不会详细讲解.
    20.1.2 设备,配置,接口,端点
    在 USB 设备的逻辑组织中,包含设备,配置,接口和端点 4 个层次. 每个 USB 设备都提供了不同级别的配置信息, 可以包含一个或多个配置, 不同的配置使设备 表现出不同的功能组合(在探测/连接期间需从其中选定一个) ,配置由多个接口组成. 在 USB 协议中,接口由多个端点组成,代表一个基本的功能,是 USB 设备驱动程序控制的 对象,一个功能复杂的 USB 设备可以具有多个接口.每个配置中可以有多个接口,而设备接口是 端点的汇集(collection) .例如 USB 扬声器可以包含一个音频接口以及对旋钮和按钮的接口.一 个配置中的所有接口可以同时有效,并可被不同的驱动程序连接.每个接口可以有备用接口,以 提供不同质量的服务参数. 端点是 USB 通信的最基本形式,每一个 USB 设备接口在主机看来就是一个端点的集合.主 机只能通过端点与设备进行通信, 以使用设备的功能. USB 系统中每一个端点都有惟一的地址, 在 这是由设备地址和端点号给出的.每个端点都有一定的属性,其中包括传输方式,总线访问频率, 带宽,端点号和数据包的最大容量等.一个 USB 端点只能在一个方向承载数据,或者从主机到设 备(称为输出端点) ,或者从设备到主机(称为输入端点) ,因此端点可看作一个单向的管道.端 点 0 通常为控制端点, 用于设备初始化参数等. 只要设备连接到 USB 上并且上电端点 0 就可以被 访问.端点 1,2 等一般用作数据端点,存放主机与设备间往来的数据. 总体而言,USB 设备非常复杂,由许多不同的逻辑单元组成,如图 20.2 所示,这些单元之间 的关系如下:

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • 三星i9003电脑usb驱动  三星i9003手机usb驱动  三星usb驱动i9003  9003三星手机usb驱动  三星i9003连接电脑usb  三星i9003怎么连接usb  三星i9003如何链接usb  三星i9003驱动下载  三星gti9003驱动下载