USB通讯过程

目录

关于USB的一些事

一、USB总线枚举:实际上就是主机获取从机配置参数并配置的过程

1、USB主机检测的USB设备插入后,先对设备进行复位操作,设备复位后通讯地址为0,USB主机会向地址0发送一个获取设备描述的请求,设备收到请求后将设备描述符发送给主机,主机在确认收到设备描述符之后会返回一个长度为0的数据确认包到设备,进而USB系统进入设置地址阶段

2、USB主机在回复设备确认包之后会对设备进行二次复位,之后便进入设置地址阶段,主机向地址为0的设备发送一个设置地址请求包,新的地址就在该请求包里面,如果请求成功设备会返回一个长度为0的数据包,主机收到这个数据包就会应答ACK包给设备,设备收到ACK包就会启动新的地址,之后主机和设备就可以通过新的地址通讯

3、新地址建立完成之后,主机在此获取设备描述符,这次获取的是完整(18字节)设备描述符

4、在主机第二次成功获取设备描述符后,主机接着向设备获取配置描述符(9字节)

二、描述符:相当于USB设备的名片,包含设备所有属性和可配置信息

三、USB类接口有如下几种

1、HID、MSC、CDC、Audio、Video

2、HID类:主要用于人机交互,实现人对计算机的控制。典型设备:键盘、鼠标、旋钮、开关、轨迹球、操纵杆、按钮、数据手套、方向盘、踏板

3、MSC类:大容量存储设备(如U盘)是我们非常熟悉的一个USB设备类,几乎每天都在用到它

4、CDC类:USB组织定义的一类专门给各种通讯设备使用的USB子类,这是一个非常大的USB子类协议簇,根据USB类所针对的设备不同划分为不同的通讯模型(如USB转串口)。在CDC设备枚举过程中,主机会向设备发送几种请求命令,获取设备的串口属性、波特率、停止位等;这里需要注意一下,CDC虚拟串口是通过USB批量端点传输的,串口的波特率、停止位等属性不影响真正的数据传输,USB传输带宽总是等于批量端点的最大带宽,USB只是尽量去模拟实现传统串口的一切特性,但是用CDC作用USB转串口,必须要知道上位机设置的波特率才能将USB接收到的数据以正确波特率转发到真正物理串口上

5、Audio类,音频类,用于处理所有USB音频,如USB音响、USB耳机等

四、USB HUB

对于USB主机来说HUB也是一类USB设备,每个HUB都具有一个上行端口和多个下行端口,这样多级hub相连形成树形结构,USB规定最多可以连接5级hub

hub主要实现以下功能

1、检测设备连接和断开并通知主机

2、转发主机和设备之间的通信

USB知识,持续更新中。。。。。。。。。。

求打赏

大爷,赏个铜板呗


 

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑三少_Creat

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值