android - 使用软件控制的继电器断开 USB?

标签 android usb circuit-diagram

为了调试和测试连接到自定义 USB 外围设备的 Android 设备,我们需要一种软件控制的方式来拔出和重新插入 USB。

看起来 USB 电缆有 4 根线,所以我在想,如果我需要的特定设备不存在(我还没有找到),我真正需要的是一个软件控制的 4 channel 开关,这样我就可以将 USB 数据线剪成两半,将电线从每一侧插入开关,然后使用软件打开/关闭开关。

到目前为止还好吗?

我环顾四周,发现了这样的设备:https://www.amazon.com/SMAKN-Channel-Programmable-Computer-Control/dp/B01KWTL0BQ/ .

这是我想象中的工作原理图:

example diagram

有几件事我不清楚:

  • 这会不会给 USB +/- 信号线增加太多负载,导致时序困惑,无法正常工作?
  • 从某种意义上说,继电器真的是一个“开关”吗?我希望它只是关闭一个无缓冲电路,我可以根据需要在两个方向上驱动信号以插入 USB 电缆的中间?

简而言之,我应该买下这件东西并坚持下去,还是这种方法存在一些严重缺陷?

谢谢!

最佳答案

这会起作用(与所有事情一样:如果操作正确!)。

那 block 板上的继电器是硬件继电器;当关闭时,它与普通电线在电气上没有区别。它的额定电压为 12 V,非常适合此应用。

一个预防措施是 USB 连接器的设计使不同的触点以特定顺序相遇(例如,首先接地,因为它是外壳,然后内部引脚长度不同,因此电源引脚在数据引脚之前相遇) - 你的 Controller 软件应该模仿这一点,以避免在任何一个设备没有为不同的连接顺序做好准备时引起任何潜在的问题。

关于android - 使用软件控制的继电器断开 USB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40667612/

相关文章:

android - 如何在 Android 的 ListView 中快速加载联系人

android - 检测应用程序何时完全绘制并可见

android - 带有数据绑定(bind)的 RecyclerView 上的复选框监听器

linux - Udev 规则不适用于 Ubuntu 12.04 上的 libusb

algorithm - 在 Go 中实现 Nor Flip Flop 逻辑门

java - Apache HttpClient HttpRequestRetryHandler 从未被调用

java - SWT:获取系统设备更改通知(USB 设备连接/断开连接)

windows - 通过 USB 端口发送和接收数据

arduino - 如何读取多个模拟传感器

javascript - 电子电路图组件连接算法