资讯专栏INFORMATION COLUMN

USB-基础概念

JowayYoung / 418人阅读

摘要:但他们都是由规格的。握手包通常情况,数据的接收者发送握手包或者。事务一般由令牌包数据包可选握手包组成。这也就意味着我们写驱动,是在调用接口的基础上进行的。

_______  ______
|     /|(  ____ (  ___ 
| )   ( || (    /| (   ) )
| |   | || (_____ | (__/ /
| |   | |(_____  )|  __ (
| |   | |      ) || (   
| (___) |/\____) || )___) )
(_______)\_______)|/ \___/ 
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开始。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/33403.html

相关文章

  • 1、接口 2、多态

    摘要:接口的概念接口的概念接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的类。多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。 01接口的概念 * A:接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的类。 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定...

    Magicer 评论0 收藏0
  • 视频编解码行业及发展方向简述

    摘要:了解华为海思的方案海思的前身是华为的半导体部门,主要产品线包括智能手机处理器麒麟系列,视频采集和编解码处理器系列,无线通信方向芯片等。 目录 一、视频行业1、视频...

    dance 评论0 收藏0
  • Spring还可以这么学--IoC(控制反转) / DI(依赖注入)理解

    摘要:对象之间耦合度过高的系统,必然会出现牵一发而动全身的情形。控制被反转之后,获得依赖对象的过程由自身管理变为了由容器主动注入。于是,他给控制反转取了一个更合适的名字叫做依赖注入。 Spring还可以这么学--IoC(控制反转) / DI(依赖注入)理解 声明:文章的前三部分参考博文:https://www.cnblogs.com/Nouno...这篇文章首发是在我的个人微信订阅号每天学编...

    atinosun 评论0 收藏0
  • 面向对象接口多态

    摘要:多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。具体格式如下父类引用指向子类对象就是多态的定义格式。多态的转型分为向上转型与向下转型两种向上转型当有子类对象赋值给一个父类引用时,便是向上转型,多态本身就是向上转型的过程。 第3天 面向对象 今日内容介绍 接口 多态 笔记本案例今日学习目标 写出定义接口的格式 写出实现接口的格式...

    wangdai 评论0 收藏0
  • ubuntu 文件系统简介

    摘要:文件系统类型中常见的磁盘格式有和。存放系统中最常用的可执行文件二进制这里存放的是内核和系统启动文件,包括启动器程序是设备的缩写。参考资料的专栏文件系统结构讲解 在安装 ubuntu 之前自己在网上做了点功课,又复习了下一些基础的概念,特意记录下来。这篇介绍下他的文件系统,下篇在介绍具体安装过程。 1 文件系统类型 windows 中常见的磁盘格式有 fat16、fat32 和 ntfs...

    tomener 评论0 收藏0

发表评论

0条评论

JowayYoung

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<