2017-02-02 9 views
0

私はUSBホストポートを持つ組み込み機器を使用しています。私はそれにiPhoneを接続し、USB経由で通信したいと思います。私はこれについて開発を行い、iPhone上でusbmuxに接続して通信を成功させる機能を移植しましたが、別の問題があります。USBパワー出力を制限する

私のデバイスに接続された電源付きUSBハブに接続されたiPhoneを使ってすべての開発が行われました。直接接続すると列挙後、内蔵デバイスのバッテリが放電し始め、 )ドロップすると、デバイスがオフになります。

私は列挙した後、usbデバイスはUSBポートから500mAを引き出すことができますが、100mAに制限する方法があるかどうかは疑問でした。

私は、USBポートからのデータ・ピンまたはVCCの電圧を制御することに関する様々な質問を発見し、私はそれが不可能だ理解し、私は(ハードウェアソリューションは歓迎されているが)ソフトウェアソリューションを探しています。

tl; dr:列挙後に500mA未満のiPhoneを供給する方法はありますか?私はソフトウェアでこれを行うことができますか?または、ハードウェアソリューションが必要ですか?私はポートをオン/オフにしたくない。ちょうどiPhoneの電力消費を制限する。

注:それはドライバのみを修正すること、または直接アクセスすることによって行うことができるものであれば、私は、Windows CE 6.0を使用しています、問題はありません。

P.S. * nix(または他のオープンソースOS)でこれを行う方法がある場合は、ソースコードを見てWindows CEに移植することができますので教えてください。

答えて

0

デバイスが(USBの第9章を参照してください)その利用可能な構成を共有するとき、それは、各コンフィギュレーションのために必要とどのくらいの電力を指定します。ホストは利用可能なすべての設定を見て、どれを希望するかを選択する必要があります。

しかし実際には、これらのことは円滑には機能しません。

最後に私が見たとき、Windowsは常に最初の設定を選択しました。 MacOSは常に最低の電源構成を選択しました(または最高ですが、覚えていません)。私はWinCEやLinuxを見たことはありません。

ドライバを修正/書き込みをしている場合は、「パワード自己」だ1探しを含め、選択する構成のための独自のルールを設定することができます。しかし、iPhoneには、バスパワーで500mAを要求する記述子が1つしかない場合があります。もしそうなら、あなたはiPhoneを動かすことがOKでないことをiPhoneに知らせる方法がないので、あなたはかなり不調です。言われていること

は、私はすべてのiPhoneのアクセサリーは、実際にUSBホスト(USBデバイスとは反対に)あると信じて、彼らは常に電源を供給していないことを考えると、iPhoneは、セルフパワードを列挙することが可能でなければなりません。

+1

iPhoneは、4つの異なる構成が、実際に、全ての自己給電式(bmAttributes = 0xc0から)でありましたが、http://www.beyondlogic.org/usbnutshell/usb5.shtmlは、デバイスがバスから任意の電源を使用する場合」と言います...それはbMaxPowerで消費電力を報告する必要があります」ということです。アプリとのUSB通信を可能にする特定の設定を使用する必要があります。だから私は別の設定を選ぶことはできませんが、デバイスマネージャーのUSB 7のデバイスに供給されるmAをUSBハブの電源管理で変更できると聞いていましたが、そのオプションが見つからないようです。 – cforgacs

関連する問題