设备具有 USB OTG 支持。以下是场景:
当设备连接到 PC 时,该设备充当从属设备。 (设备如何知道它必须充当从设备?)
当设备连接到打印机时,该设备充当主设备。 (设备如何知道它必须充当主设备?)
设备连接OTG时执行哪些步骤? 如何实现这个机制(简述)?
USB OTG 设备的确切行为在 usb.org 上的规范中进行了描述。压缩包内有一个名为 USB_OTG 的 PDF。
第 6 节中的主机协商协议介绍了两个 OTG 设备如何决定哪一个获得嵌入式主机。基本上这是通过驱动 D+ 线上的上拉和下拉电阻来实现的。
注意:在谈论 USB 时,不使用术语“主/从”。主设备称为“主机”,为总线供电,而从设备称为“设备”。对于 OTG(一般情况下,请参阅规范以了解例外情况),两个部分都具有作为主机或设备的能力。当主机通过主机协商协议确定后,这部分就成为所谓的嵌入式主机。 在您提到的两种场景中,USB设备可以通过电缆知道是主机还是设备。 USB 电缆(非 C 型)不对称。一侧是主机,另一侧是设备。连接器上有一个引脚称为 ID 引脚,它在设备端悬空,在主机端接地。这允许每一侧的 USB 控制器知道它连接到电缆的哪一侧,从而知道连接时它应该扮演哪个角色(主机或设备)。这些类型的设备称为双角色设备。