STM32「USBデバイス」と「USB OTG HS」の違いは何ですか?


10

最近、MCU検索用にstm32アプリをダウンロードし、たとえばSTM32F429の「USBデバイス」周辺機器に「NO」があり、「USB OTG FS」および「USB OTG HS」に「YES」と表示されていることを発見しました。これは、STM32F429がUSBデバイスとして完全に機能するため、つまり、すべてのライブラリとUSBクラスをサポートするため、驚くべきことです。
他のいくつかのMCUには、「USBデバイス」と記載されています。STM32L052 ここに画像の説明を入力してください

次に、CubeMXをチェックしてみたところ、USB_Device周辺機器が検索に含まれていることがわかりました(STM32F429にはUSB_Device周辺機器が含まれておらず、USBに関するものはOTGを介して行われます)。

USBデバイスは単にOTGをサポートしていないデバイスを意味するのではないかと思うので、それは非常に簡単な質問かもしれませんが、通常、MCUはOTGを使用します(さらに、ライブラリが1つしかないため、USBで「NO」と表示する理由は不明です)周辺)。googleやCubeMXのドキュメントでそれに関する情報を見つけることができませんでした。

USB OTG HSはライブラリで問題なく動作するようなので、あまり心配していませんが、用語については疑問に思っています。

この質問にはおそらくSTフォーラムの方が適していると思いますが、そこにあるトピックの多くは、2年経っても回答がない、または回答がないのです。:)

ありがとう。


1
私はSTフォーラムでそのような経験をしたので、共感します...
薄暗い

そのSTフォーラムの貢献度が悪いことは明らかです。フォーラムだけでなく、メールごとに、ドキュメントとUSBの例の1つに間違いがある可能性があることについてチケットを開きましたが、誰も(まだ)返信してくれませんでした。これは本当に迷惑です。
Mohammed Noureldin

回答:


16

あなたの考えは正しいです。USBデバイスの列で「はい」とマークされているデバイスは、USBデバイスとして機能することができます。それらはOTG仕様をサポートしておらず、ホストとしても機能できません。

ただし、もちろん、USB OTGに対応しているデバイスであれば、単純なデバイスとして動作できます。もっとできる人はもっと少ないことができる。

「USBデバイス」、「OTG FS」、および「OTG HS」はチップ内の3つの異なるIPコアであるため、彼らはこの方法でそれらを識別します。これらはすべて特定の機能/仕様を備えており、異なるドライバーが必要になる場合があります(お気付きのとおり)。

総括する:

  • USBデバイス:フルスピード(12Mbps)でのみデバイスとして動作可能
  • USB OTG FS:デバイス/ホスト/ OTGペリフェラルとしてフルスピード(12Mbps)で動作可能
  • USB OTG HS:フルスピード(12Mbps)またはハイスピード(480Mbps)でデバイス/ホスト/ OTGペリフェラルとして機能します。[大多数] * ST MCUのHSコアは、実際に高速をサポートするために外部ULPI PHYチップを必要とすることに注意してください。オンチップPHYはフルスピードでのみ実行できます。...はい、非常に混乱します。

* 編集:STはついにオンチップ高速PHYを最新のMCUのいくつか(具体的には、現在のところSTM32F7x3およびSTM32F730バージョンの一部)に統合するためにいくつかの努力を払ったようです。ただし、デバイス選択テーブルにこの機能を明確に示す特定の列がないため、混乱が生じます。データシートの詳細を確認する必要があります。



1
これに関連して「usb host」と「otg fs」の両方を備えたiMXシステムがあり 2つの使用可能なUSBポートを備えていますが、異なるドライバーが必要です。同様のことがSTに適用される可能性があります-異なるソフトウェアを必要とする同じ機能
pjc50 2016年

確かに、機能レベルの異なる複数の周辺機器ポートを備えたデバイスがあったか、または以前あったと思います。これは、一連のパーツのフィーチャーをリストする明確な方法です(または、以前はそう思われていたでしょう)
Sean Houlihane

おい!少し広げてもらえますか?マイクロコントローラーがUSB OTGをサポートしている場合、理論的には2つのUSBポートをチップに接続できます。1つはUSB OTGホストとして機能し(例:キーボードのプラグイン)、もう1つはデバイスとして機能しますか?この動作を説明する用語はありますか?
NessDan

1
@NessチップにUSB OTGブロックのみが埋め込まれている場合は、できません。しかし、多くのハイエンドMCUには、USBデバイスとUSB OTGブロックの両方が含まれています。次に、両方を同時に使用し、MCUに2つの独立したポートを使用できます。1つはデバイスとして機能し、もう1つはホストとして機能します。データシートを確認してください。
薄暗い
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.