USB的通讯协议(通俗易懂)
- 格式:ppt
- 大小:849.00 KB
- 文档页数:75


USB协议详解⼀个transfer(传输)由⼀个或多个transaction(事务)构成,⼀个transaction(事务)由⼀个或多个packet(包)构成,⼀个packet(包)由⼀个或多个sync(域)构成。
1.传输数据通信USB的数据通讯⾸先是基于传输(transfer)的,传输的类型有:中断传输、批量传输、同步传输、控制传输。
2.事务数据通讯⼀次传输由⼀个或多个事务(transaction)构成,事务可以分为:in事务、out事务、setup事务。
3.包数据通讯⼀个事务由⼀个或多个包(packet)构成,包可分为:令牌包(setup)、数据包(data)、握⼿包(ack)、特殊包。
4.域数据通讯⼀个包由多个域构成,域可分为:同步域(sync)、标识域(pid)、地址域(addr)、端点域(endp)、帧号域(fram)、数据域(data)、校验域(crc)。
USB传输传输分为四种类型:批量传输、等时(同步)传输、中断传输、控制传输。
1、批量(⼤容量数据)传输(Bulk Transfers): ⾮周期性,突发⼤容量数据的通信,数据可以占⽤任意带宽,并容忍延迟。
如USB打印机、扫描仪、⼤容量储存设备等。
批量输出事务:(1)主机先发出⼀个OUT令牌包(包含设备地址,端点号)。
(2)然后再发送⼀个DATA包,这时地址和端点匹配的设备就会收下这个数据包,主机切换到接收模式,等待设备返回握⼿包。
(3)设备解码令牌包,数据包都准确⽆误,并且有⾜够的缓冲区来保存数据后就会使⽤ACK/NYET握⼿包来应答主机(只有⾼速模式才有NYET握⼿包,他表⽰本次数据成功接收,但是没有能⼒接收下⼀次传输),如果没有⾜够的缓冲区来保存数据,就返回NAC,告诉主机⽬前没有缓冲区可⽤,主机会在稍后时间重新该批量传输事务。
如果设备检查到数据正确,但端点处于挂起状态,返回STALL。
如果检测到有错误(如校验错误,位填充错误),则不做任何响应,让主机等待超时。
usb协议深入解读USB(Universal Serial Bus)是一种通用的串行总线标准,用于连接电脑与外部设备,如键盘、鼠标、打印机、存储设备等。
USB协议定义了电脑和外部设备之间的通信规则,保证了设备的互操作性和兼容性。
USB协议的工作原理是将数据分成小的信息包(packet),通过USB线缆传输。
数据传输分为Control、Bulk、Interrupt和Isochronous四种传输类型。
控制传输用于设备配置和命令交互,批量传输用于大容量数据传输,中断传输适用于延迟要求较高的设备,同步传输用于实时流媒体数据传输。
USB协议采用主从架构。
电脑作为主机(host),外部设备作为从设备(device)。
主机负责控制和管理设备的连接和通信,从设备根据主机的指令执行任务。
每个设备都有一个唯一的设备地址,主机通过唯一的地址识别和寻找特定的设备。
USB协议还定义了一种层次结构,包括物理层、总线层、设备层和应用层。
物理层负责USB线缆的传输、信号传输和电气特性。
总线层负责数据帧的传输、错误检测和纠正,以及设备的连接和断开管理。
设备层负责设备地址分配、设备功能描述和配置管理。
应用层根据设备的功能需求进行数据交换和通信。
USB协议还支持热插拔功能,即在不关机的情况下插入或拔出外部设备。
这得益于协议对设备的供电和识别机制。
当设备插入时,主机会为其提供所需的电源,然后通过设备描述符和配置描述符来识别设备的类型和功能。
通过热插拔功能,用户可以方便地连接和断开设备,无需重新启动电脑。
在USB协议中,还有一种特殊的设备称为HID(Human Interface Device),用于连接输入设备(如键盘、鼠标)和输出设备(如显示器)。
HID设备使用标准的USB报告描述符进行通信,主机通过解读报告描述符来识别和操作设备。
这种设计使得不同品牌的键盘和鼠标可以通用于各种操作系统和电脑设备。
需要注意的是,USB协议并不仅限于连接电脑和外部设备。