STM32マイコン37(CubeIDE:USBの設定内容)
1.本日の内容
(1) CubeIDEのUSBの設定内容について記載する。
使用マイコン:
・目次
2.内容
(1) USBの設定
Class For FS IP | |
---|---|
Disable | USB無効(使用しない場合に選択) |
Audio Device Class | オーディオデバイス(スピーカーやマイクなど)を使用するためのクラス。 |
Communication Device Class (Virtual Port Com) | 仮想COMポートで、シリアル通信を行うためのクラス。 |
Download Firmware Update Class(DFU) | ファームウェアの書き換えなどを行うためのクラス。 |
Human Interface Device Class (HID) | ユーザーインターフェースデバイス(キーボード、マウス、ゲームコントローラなど)を使用するためのクラス。 |
Custom Human Interface Device Class | カスタムのユーザーインターフェースデバイスを使用するためのクラス。 |
Mass Storage Class | フラッシュドライブやハードディスク、USBメモリなどのストレージデバイスを模倣するためのクラス。 |
(a) FS (Full-Speed):
・USB 2.0規格における通信速度の一つ
・最大で12 Mbpsのデータ転送が可能。
・この速度は、一般的なオフィス用途や一般的なデバイス(例: キーボード、マウス、プリンターなど)に適している。
(b) HS (High-Speed):
・USB 2.0規格における通信速度の一つ
・最大で480 Mbpsのデータ転送が可能。
・高速データ転送が必要な場合に使用。
・ビデオカメラや一部のストレージデバイスなど、データ転送がより速い速度を必要とする場合に使用されている。
(c) IP(Intellectual Property):知的財産
・IPコアと呼ばれる。
・プログラムでいう所のライブラリ
・必要な処理の全てを自分で実装する変わりに利用できる。
・ここでは、USBホスト機能を実装するのに利用できるということ。
(2) CubeIDEの設定
・USB_OTG_FS設定
・Full Speed 12MBit/s:
USBデバイスがフルスピードモードで動作することを指定。
フルスピードはUSB 2.0の速度で、データ転送速度が12Mbps(メガビット/秒)
・Low Power (低電力):
Disabled (無効): USBデバイスは低電力モードで動作しない。
通常の動作モードで電力を消費する。
Enabled (有効): USBデバイスが低電力モードに入ることを許可。
省電力モードで動作する。
これはバッテリ駆動のデバイスに適している。
・Link Power Management (リンク電力管理):
Disabled (無効): リンクレベルでの電力管理が無効。
デバイスは通常の電力状態を維持する。
Enabled (有効): リンクレベルでの電力管理が有効。
リンクがアイドル状態の場合、省電力モードに入ることがある。
省電力モードでは、リンクが再度アクティブになるまで待機。
・Battery Charging (バッテリー充電):
Disabled (無効): バッテリーの充電機能が無効。
USBデバイスはバッテリーを充電しないようになる。
Enabled (有効): バッテリー充電機能が有効。
バッテリーの充電をサポート、USBデバイスから充電可能とする。
・Audio Device Class
クラス: マイク、スピーカー、ヘッドセットなどのオーディオデバイスをUSBで使用するためのクラス。
・USBD_MAX_NUM_INTERFACES
USBデバイスがサポートする最大インターフェースの数。
1~256で設定
・USBD_MAX_NUM_CONFIGURATION
USBデバイスがサポートする最大設定
(コンフィギュレーション)の数。
1~256で設定
・USBD_MAX_STR_DESC_SIZ
USBデバイスで使用される文字列記述子(String Descriptor)の最大サイズ。
1~64Kbyteで設定
・USBD_SELF_POWERED
USBデバイスが自己電力供給(セルフパワード)モードで動作する場合に設定されるフラグ。
Enable/Disableで設定。
Enable時、セルフパワーモードで動作。
・USBD_DEBUG_LEVEL
USBデバッグメッセージの表示レベルを設定するためのパラメータ。デバッグメッセージはUSB通信に関する情報を提供し、デバッグ目的で使用される。
0~3で設定。
0:デバックメッセージなし
1:ユーザーメッセージのみ表示
2:ユーザーメッセージ+エラーメッセージを表示
3:全てのメッセージを表示
・USBD_AUDIO_FREQ
USBオーディオデバイスでサポートされるオーディオサンプリング周波数(Hz単位)。
250~48Kサンプリングで設定
・VPC
・USB CDC Rx Buffer Size
USB CDCデバイスが受信(データを受け取る)用に確保するバッファのサイズ。
受信データの最大予想サイズに基づいて設定
・USB CDC Tx Buffer Size
USB CDCデバイスが送信(データを送信する)用に確保するバッファのサイズ。
送信データの最大予想サイズに基づいて設定
・転送サイズの設定について
受信および送信データの最大サイズに基づいて、バッファサイズを設定する。
データがこのサイズを超える場合、バッファオーバーフローが発生する可能性がある。
・データ転送レート
データが高い速度で送信される場合、バッファのサイズを増やすことで、一時的なデータの貯蔵を確保。できる。
データの一時的な遅延やデータの損失を防ぐことができる。
・データ転送の頻度
データの送信や受信の頻度に応じて、バッファサイズを設定する。
頻繁なデータ転送がある場合は、大きなバッファが必要。
・利用可能なメモリ
デバイスのメモリ制約に留意する必要がある。
バッファサイズは、デバイスの利用可能なメモリ容量に合わせて調整する必要がある。
・DFU
・USBD_DFU_MAX_ITF_NUM
USB Device Firmware Upgrade(DFU)インターフェースの最大数。
通常、1つのDFUインターフェースが十分。
必要に応じて増減させることができる。
・USBD_DFU_XFER_SIZE
DFUデータ転送のバッファーサイズの指定。
DFUデータの転送に使用されるバッファーのサイズ
・USBD_DFU_APP_DEFAULT_ADD
DFUアプリケーションのデフォルトのアドレスの指定。
DFUアップデートの際に、新しいファームウェアが配置されるアドレスを指定する。
これはターゲットデバイスのメモリマップに依存する。
・USBD_DFU_MEDIA Interface
DFUメディアインターフェース
ファームウェアのアップデートを実行するためのインターフェースを指定する。
USB経由でDFUアップデートをサポートするために使用される。
・HID
・HID_FS_BINTERVAL
USB HIDデバイスがホストコンピューターにデータを送信する頻度を示すパラメータ。
HIDデバイスがデータを送信する間隔を指定する。(ミリ秒単位)
・Custom Huma Interface Device Class
・CUSTOM_HID_FS_BINTERVAL
カスタムHIDエンドポイントの転送周期を設定するための定数。単位:フレーム
・USBD_CUSTOM_HID_REPORT_DESC_SIZE
カスタムHIDデバイスのレポート記述子サイズをバイト単位で指定する定数。
・USBD_CUSTOMHID_OUTREPORT_BUF_SIZE
カスタムHIDデバイスのOUTレポートのバッファサイズ。単位:バイト
・Mass Storage Class
・MSC_MEDIA_PACKET(Media I/O buffe)
マスストレージクラスで、メディアデータの送受信を行うバッファーサイズの設定
512~32kbyteで設定。
USBに関する設定参考資料:
・UM1734:STM32Cube USB device library
3.関連記事
・STM32マイコン_2(UART通信:TeraTermにHellow表示) - Project_OKI’s diary
C言語:
・組み込みの為のC言語基礎知識1(printf) - Project_OKI’s diary
・C言語基礎知識2(for分で処理を繰り返す) - Project_OKI’s diary
・C言語基礎知識3(配列) - Project_OKI’s diary