Raspberry PiのUSB OTGポートについて
(このページは工事中です)
参照ページ
USB On-The-Go(略してUSB OTG)は、USB機器どうしを直接接続するインタフェース規格である。パソコン等をホストとせずに、動作時にホスト機器を動的に切り替える機能を拡張したもの。 IEEE 1394のように直接接続できるので、いろいろな機器に応用できる。
どのラズパイのどのUSBポートがOTGポートなのか、に関する引用
参照ページ1には「現在、USB OTGに対応しているのは、Raspberry Pi Zero(W/WH)、Raspberry Pi 4になります。」とある。
参照ページ2には「2023.05.14時点でラズパイのどのUSB portでOTG接続できるかを公式のアナウンスで確認したところZeroに関するドキュメントしか確認することができませんでした。(中略)micro USB On-The-Go (OTG) port Micro USB powerとあるので給電port以外のUSB portでOTGすると捉えましたが、残念ながらPi4BではUSB-c portを使う必要がありました。半日以上溶かしましたがこちらの記事のおかげでクリアすることができました。」とある。ラズパイZeroでは給電用でない(micro)USBポートがOTGポートになるようだ。 参照ページ3には「ラズパイのドキュメントには以下のようにある。The USB host port inside the Pi is an On-The-Go (OTG) host as the application processor powering the Pi, BCM2835, was originally intended to be used in the mobile market: i.e. as the single USB port on a phone for connection to a PC, or to a single device. In essence, the OTG hardware is simpler than the equivalent hardware on a PC. ラズパイに電力を供給するUSBがOTGホスト、とある。Raspberr pi 4の電力供給用のUSBはUSB-Cである。なので、USB-CをOTGとして利用することができる。」とある。ラズパイ4では電源供給用とされているUSB-CポートがOTGポートになることで間違いないようだ。 どのラズパイのどのUSBポートがOTGポートなのか、に関する疑問
前節に引用した参照ページ3の英文にあるBCM2835は初代ラズパイに搭載されているSoCでありその後のラズパイにはBCM2835の後継SoCが使われている。この英文の「BCM2835」との記述が正確なら、Zeroと4以外のラズパイにもOTGポートがあるのではないか? これは参照ページ1の「USB OTGに対応しているのは、Raspberry Pi Zero(W/WH)、Raspberry Pi 4」(のみである)との記述と矛盾する。
参照ページ3の英文のGoogle翻訳を修正したものを以下に示す:
Pi 内の USB ホスト ポートは On-The-Go (OTG) ホストです。Pi に電力を供給するアプリケーション プロセッサである BCM2835 は、もともとモバイル市場での使用を目的としていたためです。つまり、PC または単一のデバイスに接続するための電話機上の単一 USB ポートとして。本質的に、OTG ハードウェアは PC 上の同等のハードウェアよりも単純です。
この翻訳をどう解釈すると、参照ページ3が述べているように「ラズパイに電力を供給するUSBがOTGホスト」という解釈になるのかよくわからない(電源供給用以外のUSBポートもOTGポートとして機能するのではないか?)。
ラズぴっぴことあっきぃさんに聞いてみた
@for2ando RPiのOTGは、USB=C経由でやれるものとしてPi 5、Pi 4系があります(が、わたしは試したことないんですよね…)。
そしてPi Zero系のデータ用MicroUSB。ここまでは挙げられているとおりです。
その他には、Pi 1A、Pi 1A+、Pi 3A+がOTG可能です。USBがCPUと直結という点でZeroと同じなので、OTGが使えます。ただし、DeviceTreeの設定の記述が必要です(今も使えるものなのかは不明、多分使える)。
(2024-01-30)