您的位置 首页 传感器

USB协议架构及驱动架构

1USB协议11USB主机系统在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器。USB主机控制器包含硬件

1. USB协议

1.1 USB主机体系

在USB主机体系中,经过根集线器与外部USB从机设备相连的处理芯片,称为USB主机操控器。USB主机操控器包括硬件、软件和固件一部分。

1.2 USB设备体系

USB设备按功用分为两部分:集线器(Hub)和功用部件。从下图可知,主机经过根集线器衔接到各种外围设备(集线器和功用部件)。

1.3 主机和设备之间通信模型

主机与设备之间的通信模型

上图展现了USB主机和USB设备之间的数据传输进程。在设备端,USB设备将非USB格局的数据进行打包处理,转换成USB格局的数据包,然后传递到链路层,经过硬件处理、传递到物理层,由物理层经过PHY以数据流的方法传输到主机。

USB主机在USB设备和USB主机之间建议的传输进程,稳为业务。每次业务以2到3个数据包的方法进行USB总线传输。每个数据包包括2到3个进程:
1) USB主机操控器向USB设备宣布指令
2) USB操控器和USB设备之间传递读写恳求,其方向取决于榜首部分的指令是读仍是写
3) 握手信号。
USB主机操控器向USB设备发送业务类型恳求,经过分组标识符来进行辨认。

1.4 USB分组标识

主机和设备之间进行操作,经过分组标识(PID)来进行传输。数据包传输格局一般由:PID、数据/操控信息、CRC校验码组成。
常见的PID首要包括令牌、数据、握手等类型组成。PID码以特定的方法组成,如下表所示:

PID分组码是数据传输流程中的重要元素。不管硬件仍是软件,都要对PID分组码进行剖析,然后做出正确呼应。USB主机和设备严厉依照PID分组码信息进行信息交互。

1.5 数据包传输形式

当USB设备衔接到集线器,集线器状况将发生相应的改变,并将状况改变信息传递给USB主机。USB主机经过根集线器向USB设备发送指令,获取USB设备的各种信息,包括USB设备传输类型、ID号、Product、USB速度等信息。
USB主机和USB设备之间的数据传输共有四种类型:操控传输、批量传输、中止传输和同频传输。与之对应,USB主机和USB设备之间有四种业务:操控业务、批量业务、中止业务和同步业务。

1.5.1 批量(Bulk)传输


效果:首要用于非实时性传输,数据包较大而延时要求较低。
特色:数据传输预备即可,选用批量传输形式的USB从机设备,如U盘
数据传输分三个阶段:
a)令牌阶段:主机发送恳求,USB设备根据恳求PID来判别IN或OUT传输
b)数据传输阶段:根据令牌阶段的IN或OUT传输,来决议数据传输为DATA0或DATA1来进行数据传输
c)握手阶段:接纳信息的一方发送ACK信号以表明接纳成功;若为NAK,表明发送失利;STALL表明不行预知的过错

1.5.2 操控(Control)传输


效果:USB传输进程有必要支撑的传输形式。USB主机为了获取设备描述符、ID、Product等信息,向USB设备发送相应的PID指令。
特色:仅有可以进行IN/OUT传输的传输形式。
数据宽度:操控传输方法可以以8、16、32或64字节的数据进行传输,这取决于设备的传输速度。
USB主机和设备之间有必要支撑操控传输,经过端点0进行数据传输。操控传输分为令牌、数据传输和握手阶段。

1.5.3 中止传输业务


效果:依照必定时刻轮询设备是否有中止传输恳求
特色:查询频率取决于端点的形式结构,从1到255ms不等
中止传输首要用于实时性要求十分高的从机设备,如键盘操纵杆和Mouse等
传输进程也分为令牌阶段、数据传输和握手阶段

1.6 USB描述符

USB协议中共界说了以下四种描述符:
1) 设备描述符
2) 装备描述符
3) 接口描述符
4) 端点描述符

其联系如下图所示:

1.6.1 设备描述符

每个USB设备都有一个仅有的设备描述符,如下表所示:

1.6.2 装备描述符

每个USB设备都有默许的装备描述符,支撑至少一个接口,每个装备描述符如下表:

1.6.3 接口描述符

设备应至少支撑一个接口,如:块传输数据接口,部分设备或许支撑其它的接口。复合设备可以支撑额定接口,以支撑音频和视频功用。规范中并没有界说此类接口。接口或许有多个可选设置,主机将会查看每个可选的设置。

1.6.4 端点描述符

每个设备至少支撑操控端点0。USB设备应该支撑三类端点:操控端点、输入端点和输出端点。

2. OTG协议

OTG设备选用Mini-AB插座,相关于传统的USB数据线,Mini-AB接口多了一根数据线ID,ID线是否接入将Mini-AB接口分为Mini-A和Mini-B接口两种类型。在OTG设备之间数据衔接的进程中,经过OTG数据线Mini-A和Mini-B接口来确认OTG设备的主从:接入Mini-A接口的设备默许为A设备(主机设备);接入Mini-B接口的设备,默许为B设备(从设备)。

A设备和B设备无需交流电缆接口,即可经过主机交流协议(HNP)完结A、B设备之间的人物交流。一起,为了节约电源,OTG答应总线空闲时A设备判别电源。此刻,若B设备期望运用总线,可以经过会话恳求协议(SRP)恳求A设备供给电源。

2.1 HNP(主机交流)协议

当Mini-A接口接入A设备并确认A设备为主机时;若B设备期望成为主机,则A设备向B设备发送SetFeature指令,答应B设备进行主机交流。B设备检测到总线挂起5ms后,即挂起D+并发动HNP,使总线处于SE0状况。此刻A设备检测到总线处于SE0状况,即以为B设备建议主机交流,A设备进行呼应。待B设备发现D+线为高电平而D-线为低电平(J状况),表明A设备辨认了B设备的HNP恳求。B设备开端总线复位并具有总线操控权,主机交流协议完结。

2.2 SRP(会话恳求)协议

关于主机,要求能呼应会话恳求;关于设备,仅要求可以建议SRP协议。OTG设备,不只要求建议SRP,并且还能呼应SRP恳求。
SRP分为数据线脉冲调制和电压脉冲调两种方法,B设备建议SRP有必要满意以下两个条件:
1) B设备检测到A设备低于其有用的电压阈值,一起B设备低于有用的电压阈值。
2) B设备有必要检测到D+和D-数据线至少在2ms的时刻内低于有用阈值,即处于SE0状况。

数据线脉冲调制会话恳求:B设备有必要比及满意以上两个条件后,将数据线接入上拉电阻必定的时刻,以备A设备过滤数据线上的瞬间电压。与此一起,B设备上拉D+以便于在全速形式下进行初始化操作。A设备在检测到D+变为高电平或D-变为低电平时发生SRP指示信号。

Vbus脉冲调制会话恳求:B设备相同需等候满意上述两个初始化条件,然后B设备经过对%&&&&&%充电以进步总线电压,待到达总线上的电压阈值,唤醒A设备。在充电进程中,必定要确保充电的电压峰值在必定的规模以防止烧坏A设备。

3. USB驱动架构

USB驱动架构如下图所示:

3.1 USB主机端驱动

USB中心(USBD)是整个USB驱动的中心部分,从上图可知,一方面USBD对接纳到USB主机操控器的数据进行处理,并传递给上层的设备端驱动软件;一起也接纳来自上层的非USB格局数据流,进行相应的数据处理后传递给USB主机操控器驱动。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部