【问题标题】:How usb OTG works(master/slave)USB OTG 的工作原理(主/从)
【发布时间】:2012-07-05 11:43:15
【问题描述】:

设备支持 USB OTG。以下是场景:

  1. 当设备连接到 PC 时,该设备充当从设备。 (设备如何知道它必须充当从设备?)

  2. 当设备连接到打印机时,该设备充当主机。 (设备如何知道它必须充当主设备?)

当设备连接到 OTG 时执行的步骤是什么? 这个机制如何实现(简述)?

【问题讨论】:

    标签: usb linux-device-driver device-driver usb-otg


    【解决方案1】:

    USB OTG 设备的确切行为在 specification 中描述,您可以在 usb.org 找到。压缩包中有一个名为 USB_OTG 的 PDF。

    第 6 节中的主机协商协议介绍了两个 OTG 设备如何决定哪一个获取嵌入式主机。基本上,这是通过驱动 D+ 线上的上拉和下拉电阻来存档的。

    注意:在谈论 USB 时,不使用术语主/从。主机称为host,为总线供电,而从机称为device。在 OTG 的情况下(一般情况下,请参阅规范以了解例外情况),这两个部分都可以成为主机或设备。当主机被主机协商协议找出来后,这部分就变成了所谓的嵌入式主机

    【讨论】:

    【解决方案2】:

    在您提到的两种情况下,USB设备能够通过电缆知道是主机还是设备。 USB 电缆(非 C 型)不对称。一侧是主机,另一侧是设备。连接器上有一个称为 ID 引脚的引脚,它在设备侧浮动并在主机侧接地。这允许每一侧的 USB 控制器知道它连接到电缆的哪一侧,从而知道它在连接时应该扮演哪个角色(主机或设备)。这些类型的设备称为双重角色设备。

    如果您有这样的设备,那么您可以将其插入普通主机(如您的笔记本电脑),它将充当设备。您可以将其插入常规设备(如打印机),它将充当主机。这一切都基于电缆。

    如果您将两个双重角色 OTG 设备相互插入。它们的初始角色由电缆以相同的方式确定。

    在确定初始角色后,他们可以通过主机协商协议 (HNP) 将角色从最初由电缆确定的角色交换。

    就实现这一点而言。没有简单的方法来解释它。每个控制器都是不同的,您必须阅读控制器数据手册和编程模型才能实现所有这些程序。以及对 USB 和 OTG 规范本身有很好的了解。

    http://usb.org 是一个不错的起点,您可以在其中找到所有规格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多