Armadilloフォーラム

Armadillo-IotのUSB OTG(デュアルロール)機能

abem

2016年3月18日 9時46分

阿部と申します。
いつもお世話になっております。

Armadillo-IotのUSBデバイス機能について質問させて下さい。

HostPCのUSBポートとArmadillo-IotのUSBポートをUSBケーブルで接続して
HostPC側からArmadillo-IotをUSBデバイスとして認識させ、
HostPCと何らかの方法(USB Ethernet,USB Serial等)で
通信させる事は実現可能でしょうか。

また、上記が実現可能なときにArmadillo-IotのUSBポートにUSBメモリを接続した時はArmadillo-IotがUSBHostになり、
USBメモリをストレージデバイスとして認識させるというようなことは可能でしょうか。

コメント

at_daisuke.sasaki

2016年3月23日 17時12分

佐々木大輔です。

Armadillo-IoTのUSBポートは基本的にはUSBホストとして使用する事を考慮し設計されています。
そのため、弊社でUSBデバイスとしての動作を確認した事がありません。

> HostPCのUSBポートとArmadillo-IotのUSBポートをUSBケーブルで接続して
> HostPC側からArmadillo-IotをUSBデバイスとして認識させ、
> HostPCと何らかの方法(USB Ethernet,USB Serial等)で
> 通信させる事は実現可能でしょうか。

ハードウェアとしては、USBデバイスとして使用するための信号は、
CPU(i.MX25)に接続されています。
従い、USBデバイスとしての動作ができないわけではありません。

USBデバイスとして動作させるための実現方法としては、
大まかに以下となります。

- USBのVBUSをOFFしておく
- Armadillo-IoTに搭載されるArmadillo-410のUSB_PWRSEL_ENを常にLowに制御する
- USBデバイスとして動作させるようKernel Configurationする

USB_PWRSEL_EN信号はCPUのリセット時、VBUSをEnableにする値となってしまうため、
USBホストと接続された状態でブートすると、
USBホストとArmadillo-IoTの両方がVBUSを出力してしまう期間があるなど
そのままのハードウェアでは使用制限があるかと思います。

> また、上記が実現可能なときにArmadillo-IotのUSBポートにUSBメモリを接続した時はArmadillo-IotがUSBHostになり、
> USBメモリをストレージデバイスとして認識させるというようなことは可能でしょうか。

USB規格に準拠したRole swapはできません。

佐々木様

USB OTGポートについて御回答頂きありがとうございます。
現状のArmadillo-IotのハードウェアですとUSBデバイスとしての動作に制限が有りますが
動作は可能とのことで承知致しました。

阿部