您的位置 首页 厂商

USB设备驱动开发-USB协议相关(1)

一、USB设备模型USB设备模型从物理上分为两个部分:主机(host)控制端作为主机端,驱动的设备是USBHostController;外设端被称为设…

一、USB设备模型

USB设备模型从物理上分为两个部分:主机(host)操控端作为主机端,驱动的设备是USB Host Controller;外设端被称为设备端,驱动的设备是USB Device Controller。因而,USB设备驱动应该分为主机端驱动和设备端驱动两部分,仅仅因为USB协议的主从定位思维,从设备只需求呼应主机操控器的恳求,不能主动建议恳求,一般所说的USB驱动都是指主机端的驱动程序。但近年来跟着嵌入式设备的广泛运用,运转Linux体系嵌入式设备也需求经过USB协议与主机端通讯,因而从设备端的Linux也需求进行USB设备驱动程序开发,为了防止和主机端的USB设备驱动开发混杂,就将运转Linux的从设备驱动开发成为USB gadget driver,进入与device driver区分隔。

二、与驱动开发相关的USB协议标准

1. USB设备被分为三层:

usb host controller:最底层,也是总线接口层,担任传输和接纳数据包;

usb core:USB核心层,Linux体系现已依据USB协议标准完结的通用接口。作为中间层,首要完结总线与设备上端点的通讯,端点是数据终究的生产者和顾客,一个设备能够有多个端点。因而,这一层其实便是总线和端点的路由。

usb function:USB功用层,调用基层的接口完结不同的功用,如USB鼠标、USB键盘、USB话筒。一般的USB驱动开发指的都是这层的作业。

2. USB设备的状况和状况机转化

Attached:USB设备接入或拔出,USB协议标准只界说了USB设备接入时的状况;

Powered:USB设备的供电分为两种,从USB总线取电的称为总线供电,USB设备从外部取电的称为自供电。即时是自供电设备在刺进前现已接通电源仍不能以为其处于Powered状况,只要刺进Attached加电后才处于Powered状况;

支撑两种供电形式的设备能够经过装备描述符来向主机陈述它当时的供电形式。

Default:当设备处于Powered状况后,仍不能相应任何总线通讯,只要设备手法总线的reset恳求后,设备才干经过默许地址进行通讯。设备被成功reset后,能够相应装备描述符恳求并回来相应的信息;

Addess:在设备被reset后,每个USB设备将被分配一个绝无仅有的地址,USB设备在其挂起期间仍具有这个地址。不管USB被分配了绝无仅有的地址或运用的默许地址,都能经过默许的通道(pipe,即每个设备的0号端点)进行通讯;

Configured:在设备的功用被正常运用前,设备有必要被装备。从设备端来讲,装备便是正常处理一个带有非0参数的SetConfiguration()恳求。包含将每个端点的数据包默许类型设为DATA0;

Suspended:电源办理相关,在没有总线传输的一段时间后,USB设备将主动进入suspend状况。在suspend状况,USB设备本身保护它分配的地址和装备。当有一个总线激活信号后,设备从suspend状况回来。USB设备也能够支撑长途唤醒(Remote Wakeup)来唤醒处于suspend状况的主机操控器,但需支撑host能够使能或封闭这个功用。

3. 总线枚举

当一个USB设备接入或拔出时,主机需求经过总线枚举功用来办理设备的状况。当设备接入时,将采纳下面的办法:

1. 当设备接入后,接入的HUB经过一个状况改动通道告诉主机这个事情,这时USB设备处于Powered状况而且其衔接的端口是disabled的;

2. 主机问询HUB这次事情的类型等信息;

3. 当主机了解这是个刺进事情后,将enable设备接入的端口并等候100ms,让设备的供电安稳,然后向这个端口宣布reset指令;

4. HUB履行这次reset操作,USB设备将处于default状况,一起能够从Vbus获取不超越100ma的电源。当时设备的寄存器和状况都被reset了,而且能够经过默许地址进行呼应;

5. 主机将给USB设备分配一个绝无仅有的地址,设备将进入address状况;

6. 在USB设备获取绝无仅有的地址之间,经过默许地址的默许操控通道依然能够拜访,host获取设备描述符来决议默许操控通道的最大数据载荷;

7. 主机将从设备获取悉数装备信息,从0到n-1的装备描述符,即设备所具有的一切装备描述符;这将花费几毫秒;

8. 经过获取的装备信息来决议设备将被怎么运用,主机将分配各设备一个装备值,这时设备处于configured状况一起一切的端点也就具有这个装备下的特性,USB设备也将获取在其所指定的装备中的电流值。设备处于可用状况了;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/239209.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部