码迷,mamicode.com
首页 > 其他好文 > 详细

USB-0-基础概念

时间:2018-01-07 14:25:36      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:事件   事务   via   core   之间   摄像头   芯片组   端点   规格   

1.USB特性

  • 不同设备类型,统一接口
  • 支持热插拔
  • 灵活的供电方式
  • 多级速率支持

2.分类

  • OHCI主要为非PC系统上以及带有SiShe ALi芯片组的PC主板上的USB芯片
  • UHCI大多为Intel和Via主板上的USB控制器芯片。UHCI的硬件电路比OHCI简单,成本第,但驱动复杂。但他们都是由USB1.1规格的。
  • EHCI是有Intel等几个厂商研发,兼容OHCI UHCI 遵循USB2.0规范

3.层次

设备  :设备即我们所理解的设备,如一个键盘是一个设备,一个U盘是一个设备
配置  :配置是功能的集合,如一个USB耳麦能录音和播放,那么就可以存在三种配置
接口  :如上,就分为录音接口,播放接口
端点  :比如播放接口会存在两个端点,一个是左声道,一个是右声道
  • 端点是通信的基本单位,并且方向是确定的
  • 管道代表着端点与端点之间通信的能力

    4.传输单位

    *事务:事务一般由令牌包、数据包(可选)、握手包组成。
  • 令牌包:用来启动一个事务,总是由主机发送。
  • 数据包:可以从主机到设备,也可以由设备到主机,方向由令牌包决定。
  • 握手包:通常情况,数据的接收者发送握手包(ACK或者NAK)。

事务一般由令牌包、数据包(可选)、握手包组成。

  • USB协议规定了四种传输类型:控制传输、批量传输、同步传输、中断传输
  • 控制传输:控制传输事负责向USB设置一些控制信息,传送这种事务的管道是控制管道。控制管道在USB设备中是必须的。控制传送也分为三个阶段,即令牌阶段、数据传送阶段、握手阶段。
  • 中断传输:中断事物的数据量很小,一般用于通知Host某个事件的来临,例如USB鼠标,鼠标移动或者鼠标单击等操作都会通过中断管道来向Host传送事件。也分3个阶段,令牌阶段、数据传输阶段、握手阶段。
  • 同步传输:这是种能保证传输的同步性的事务。如在USB摄像头中传输视频数据的时候会采用这种事务,这种事务能保证每秒有固定的传输量,与Bulk传输不同的是他允许有一定的误码率。同步传输事务只有两个阶段,令牌阶段、数据阶段,因为不关心数据的正确性,所以没有握手阶段。
  • 批量传输:用来传输大量数据,确保没有数据丢失,但不保证在特定时间内完场,U盘使用的就是批量传输。

    5.命名

  • sysfs USB命名

2-1:1.0 设备-端口:配置.接口

第二个设备的第一个端口,使用配置0 的接口1

6.驱动架构

USB Core

USB Core提供一些核心算法,为别的设备驱动程序提供服务,提供一个用于访问和控制USB硬件的接口,而不用考虑系统当前是那种主机控制器,

USB Core、USB主机控制器 USB设备驱动三者的关系如下:

Block层 : Net层 : Char层 : ---
-------------------------------
  USB设备驱动程序
-------------------------------
  USB Core
-------------------------------
  USB主机控制器(HCD)
-------------------------------
  硬件

HCD提供主机控制器硬件的抽象,隐藏硬件的细节,HCD只对 USB Core负责。这也就意味着我们写USB驱动,是在调用USB Core接口的基础上进行的。

我们接下来的源码分析就从HCD开始。

USB-0-基础概念

标签:事件   事务   via   core   之间   摄像头   芯片组   端点   规格   

原文地址:https://www.cnblogs.com/coderdock/p/coderdock.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!