USB(Universal Serial Bus)是一种通用的串行总线标准。
USB是一种主从结构,主机叫做Host,从机叫做Device即设备,所有的USB传输,都是从USB主机这方发起;USB设备没有“主动”通知USB主机的能力。
USB热插拔的原理是基于USB接口的电气特性和协议规范。USB接口有四根线,分别是VCC(电源正极)、D+(数据+)、D-(数据-)和GND(电源负极)。当USB设备插入计算机时,计算机会检测到VCC和GND的电压变化,从而判断设备的插入和拔出状态。
控制传输是每一个USB设备必须支持的,通常用来获取设备描述符、设置设备的状态等等。一个USB设备从插入到最后的拔出这个过程一定会产生控制传输(即便这个USB设备不能被这个系统支持)。
支持中断传输的典型设备有USB鼠标、USB键盘等等。中断传输不是说我的设备真正发出一个中断,然后主机会来读取数据。它其实是一种轮询的方式来完成数据的通信。USB设备会在设备驱动程序中设置一个参数叫做interval,它是endpoint的一个成员。interval是间隔时间的意思,表示我这个设备希望主机多长时间来轮询自己,只要这个值确定了之后,我主机就会周期性来查看