接口/总线/驱动
USB设备分为三种:HOST,OTG,DEVICE。其中ID脚在OTG功能中才使用。
A,如果你的系统自己仅仅是用做Slave,那么就使用B接口。任何时候都悬空,都做Slave。
如果是OTG设备,它的系统控制器会判断外部设备的ID脚的电平,决定是什么样的设备插入:
B,如果是高电平,则是B接头插入,此时OTG设备就做主模式(master mode);
C,如果ID为低,则是A接口插入,然后OTG设备就会使用HNP对话协议来决定它跟外设哪个做Master,哪个做Slave。
D,还有种主动OTG设置,就是接入外设后,在OTG设备中点击HOST使能,会强制ID拉低。此时的Master和Slave关系确定。
我们手机上一般用的都是B型Mini-USB口
(1)USB
(2)Mini USB
(3)总结
从左往右依次为:miniUSB公口(A型插头)、miniUSB公口(B型插头)、USB公口(B型)、USB母口(A型插座)、USB公口(A型插头) 。
(4)OTG
特性:既能充当HOST又能用做Device,即DRD(Dual-role-devices);OTG 设备依然可以连接到PC上用做普通的外设,即POD(Peripheral-Only Device)。协议简述:USB OTG 中引入了两个新的协议, SRP(Session Request Protocol)和HNP(Host Negotiation Protocol),即会话请求协议和主机交流协议。
(5)SRP
SRP 用于B设备向A设备请求建立会话和使用总线。OTG系统中的A设备一般采用电池供电,因此,OTG系统电源管理是非常重要的。为了节省OTG系统的功耗,OTG规定A设备在没有总线活动的时候,可以关掉VBus上的电源。这样,当一个B设备连接到A设备上之后,就要初始化SRP,并发送给A设备,请求A设备在VBus上提供电流支持,进而进行通信。在OTG中,1个会话定义为A类设备向电源总线VBUS有效供电的时间。DRD既可作为A设备,也可作为B设备,因此 DRD必须支持初始化SRP和响应SRP,POD只能作B设备,所以只能初始化SRP。
(6)HNP
HNP 用于两个OTG设备互连时角色切换。当2个DRD互连时,哪个设备作为主机,为什么要作为主机?为了解决这两个问题,在OTG中提出了新的协议——主机协商协议(HNP)。在OTG中还定义了一种新的接口——微型AB插座(mini-AB receptacle)以及微型A插头(mi-ni-A plug)和微型B插头(mini-B plug)。在微型AB插座、微型A插头和微型B插头中增加了1个引脚——ID引脚,为了实现HNP,简而言之,两个OTG设备互连时,可以通过HNP协议协商主从地位。协商过程如下:
在微型A插头中,ID引脚接地,在微型B插头中,ID引脚悬空。在OTG中,如果设备的ID引脚接地(如图l右侧的设备),则此设备默认为主机,否则为外设。同时,在设备连接使用过程中,通过主机协商协议,允许主机和外设功能互换。例如,假设图1左边的B-Device为1个手持PDA,右边的A-Device为1个打印机。由于连接线的关系,打印机初始化为主机。但是打印机的驱动程序存在PDA中,这时需要PDA作为主机,打印机作为外设。通过HNP可以方便实现此功能,而不必拔下连接线调换插头方向,重新连接打印机和PDA。
全部0条评论
快来发表一下你的评论吧 !