USB的物理串口有很多种,有四针的也有五针的。下图分别是俩种USB各个引脚的定义:
USB传输速率:低速(1.5 Mb/s)、全速(12 Mb/s)和高速(480 Mb/s)
USB传输类型:块传输、同步传输、中断传输和控制传输。
USB设备分为三种:host(主机)、device(外设)、OTG。
host/device模式(标准USB)与OTG的本质区别就在于OTG灵活的区分主从关系,在OTG中一个设备既可以成为主机也可以成为从机。
当2个DRD(Dual-role-devices)互连时,哪个设备作为主机,为什么要作为主机?为了解决这两个问题,在OTG中提出了新的协议——主机协商协议(HNP)。
从miniUSB中我们可以看出它多了一个ID引脚,它就是实现HNP的硬件。
在OTG中,如果设备的ID引脚接地,则此设备默认为主机,否则为外设。同时,在设备连接使用过程中,通过主机协商协议,允许主机和外设功能互换。
OTG相较于标准USB多了俩种协议HNP和对话请求协议(SRP)。
SRP 用于B设备(从设备)向A设备(主设备)请求建立会话和使用总线。OTG系统中的A设备一般采用电池供电,因此,OTG系统电源管理是非常重要的。为了节省OTG系统的功耗,OTG规定A设备在没有总线活动的时候,可以关掉VBus上的电源。这样,当一个B设备连接到A设备上之后,就要初始化SRP,并发送给A设备,请求A设备在VBus上提供电流支持,进而进行通信。一次OTG对话可通过A设备提供VBUS电源的时间来确定。