控制USB端口的电源?

有人知道如何控制某个USB端口上的USB引脚吗? 我认为在汇编程序中肯定是可能的,但是C ++或C#呢?

我希望能够使用USB电池作为LED的电源或类似的东西。 那么一个程序就可以打开电源并关闭电源使其闪烁。

我知道这听起来毫无意义,但我需要做一些非常棒的事情。

我也知道它可能需要一个自定义驱动程序。

USB并非易事,所以我猜你会遇到一些问题(误)使用它。 对于标准的串行端口,你可以/很多/更好(IMHO),这些端口已经被用于这样的东西,有很多可用的例子。 如果目标计算机上没有可用的串行端口,则可以使用USB->串行接口电缆。

话虽这么说,你可能想看看@: http : //sourceforge.net/projects/libusbdotnet/

LP,Dejan

您不能简单地切换USB端口上的引脚。 期。 USB是一种串行协议。 连接器包含

  1. 功率。 主机可以控制电源线,因为它可以在过载时切断电源。 这是由USB主机驱动程序完成的,这意味着PC中主机适配器的驱动程序。 这并不意味着您可能需要任何不使用操作系统已经提供驱动程序的任何设备类的硬件的自定义设备驱动程序。
  2. 数据。 数据通过串行协议发送,因此如果您使用USB,则无法控制这些引脚。

如果您想获得一些IO端口,则需要更多逻辑。 您至少需要遵循USB协议的东西,这意味着某种类型的微控制器(或特殊的USB设备控制器,如FTDI USB控制器.FT232和FT245特别适合使用)。 对于基于低端微控制器的解决方案,AVR控制器的V-USB驱动程序可能很有趣。

为了便于PC上的bit-banging IO引脚,请使用并行端口。 USB实际上并不适用于此。

根据http://www.gniibe.org/development/ac-power-control-by-USB-hub/index

USB 2.0名义上支持每端口电源切换:

Hub Descriptor: [...] wHubCharacteristic 0x0089 Per-port power switching [...] 

可悲的是,作者报告说,虽然集线器的固件声称支持这一点,但制造商已经在电路板上偷工减料。

USB端口的电源和接地引脚没有软件控制,至少在PC芯片组上是这样。 这是由USB控制器在硬件中处理的。 如果您想通过软件控制TTL电压,请查看USB并口适配器。

我认为尝试打开和关闭USB电源并不是一个很好的方法:你的USB控制器有可能做到这一点,但它不是一个“正常”的事情。

可能最简单的方法是使用FTDI FT245 USB->并行芯片。 如果您只是试图闪烁一些闪烁的灯光,可能会出去买一个标准的USB – >并行打印机电缆和接口……你可以通过非常简单的软件控制获得8位输出,并且相当多只需要一点点工作就可以了。

或者全力以赴,购买带内置USB的微控制器……可能性无穷无尽!

我认为您正在寻找USB设备。 可以制作一个简单的充电器,通过放置或升压调节器来boost5v或调节器以驱动到较低的充电电压。 打开或关闭它需要USB设备。

通过执行“安全移除硬件”USB设备时发生的任何事情,可以打开和关闭设备的电源,但我不是百分之百肯定这会关闭电源,它可能只是发送信号到设备告诉它它已断开连接,这使它自动关闭。

您尝试做的最好的选择是构建一个实际与计算机通信的USB设备(可能通过自定义驱动程序,但您也可以使用标准驱动程序,如HID设备)。 您可以让计算机向您的设备发送“开”或“关”(或其他任何你可以想到的东西),这可以解释您认为合适的信号(可能是通过打开和关闭您正在谈论的LED)。 这并不像听起来那么难。 您可以购买带有USB接口的微控制器,例如Arduino或一些高端PIC。 这些微控制器的许多制造商都有可用的文档,说明如何与它们进行USB接口。

对于实际的电源和接地引脚,无法做到这一点。 你应该阅读维基百科USB文章的这一部分。

您需要的是带有可编程I / O引脚(也称为PIO )的开发板或UART(RS232)。

最简单的方法是将LED连接到清除发送(CTS)以及接地或VCC。 CTS线路上的输出将打开或关闭LED,具体取决于另一端是否接地。 可以使用普通的I / O引脚,但它们用于UART中的串行数据传输。 UART通常从这些引脚构建一个8位字符; 但直接通过RTS(请求发送)和CTS值。

使用PIO时,您所要做的就是在变量中设置一个位并将该变量写入PIO集的地址。 您可能还需要锁定位。 一些PIO引脚将记住该值,直到写入下一个值(称为锁存),其他PIO引脚将记住该值,只要它被写出即可。

问题是控制USB的安培数大多数答案未能考虑到USB的各种mA及其对伏特的影响。

通用USB 1.0和2.0输出等于500 mA或0.5 A. 500mA乘以5伏等于2.5瓦功率。

1 A将为您提供全功率5瓦,华硕Ai充电器可以操作USB 2.0输出1.2 A或1200 mA,为您提供6瓦输出。