USB_DM USB Data Minus USB数据负信号 即D-
USB_DP USB Data Positive USB数据正信号 即D+
USB_ID 当用作OTG的时候用到该信号,检测ID脚状态高低,判断是主还是从设备。
USB信号为一种差分总线
USB的DM、DP有时候会接上拉电阻。这是为什么。
因为在USB中有Host 和 Device之分,在Host端,D+、D-信号各接一个15Kohm的下拉电阻。而在device端,就有高速和低速的区别。usb1.0, 1.1,2.0协议中都有定义高低速设备以满足不同情况的需求,这些在硬件上的区别就是:
1.高速设备:D+上接一个1.5k的上拉电阻,D-则不接。
2.低速设备:D-上接一个1.5k的上拉电阻,D+则不接。与高速设备相反。
高速和低速Device插入Host时的区别:
a.高速设备D+被拉高,D-则不变
b.低速设备D-被拉高,D+则不变
这个上拉过程需要时间,在这段时间内,Host检测到该信号,即可判断有设备plug in。根据检测到的信号,判断是高速还是低速设备。
USB OTG检测原理:
USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG)。USB OTG技术可实现没有主机时设备与设备之间的数据传输。例如:数码相机可以直接与打印机连接并打印照片,手机与手机之间可以直接传送数据等,从而拓展了USB技术的应用范围。在OTG中,初始主机设备称为A设备,外设称为B设备。也就是说,手机既可以做外设,又可以做主机来传送数据,可用电缆的连接方式来决定初始角色(由ID线的状态来决定)。
USB OTG接口中有5条线:
2条用来传送数据(D+ 、D-);
1条是电源线(VBUS);
1条则是接地线(GND)、
1条是ID线。
ID线---以用于识别不同的电缆端点,mini-A插头(即A外设)中的ID引脚接地,mini-B插头(即B外设)中的ID引脚浮空。当一个带有USB OTG接口的C设备检测到接地的ID引脚时,表示默认的连接的是A设备(即A是主机,C是外设),而检测到ID引脚浮空的设备则认为是B设备(B是外设,C是主机)。
USB OTG(on the go),即既可以成为Host,又可以做为Client
一般做为Client接受PC传输数据。当做为Client时,USB_ID基本是悬空的(内部有上拉)。
如果侦测到USB_ID被拉低,就认为是做为Host,向外输出。所以需要外部Client设备将USB_ID拉低。
USB OTG功能是需要用到ID脚的
(1)、做Master时,CPU的ID脚要LOW;
(2)、做slave时,CPU的ID叫要HIGH,