USB HID / implementation

SAMD51: USB MIDI controller

SAMD51をUSB DeviceとしてPCへ接続し、class-compliant USB MIDI controllerとして列挙・入力できるかを確認する実装ガイドです。最初に確認するのはMCUのUSB機能、実際のボードでUSB data線がMCUへ接続されているか、Device用connector、clock、SDK class driver、復旧経路です。

対象SAMD51
用途USB MIDI controller
Review2026-08-03

追加調査で押さえる実務ポイント

SAMD51をUSB DeviceとしてPCへ接続し、class-compliant USB MIDI controllerとして列挙・入力できるかを確認する実装ガイドです。最初に確認するのはMCUのUSB機能、実際のボードでUSB data線がMCUへ接続されているか、Device用connector、clock、SDK class driver、復旧経路です。

先に結論

SAMD51はUSB Deviceと十分な処理性能を持ち、MIDI controller候補です。boardのbootloaderとUSB connector、library supportを固定します。

必須構成

要素確認
MCUSAMD51の完全な型番
boardSAMD51搭載board
USB roleDevice。Hostと混同しない
connectordata対応、D+/D-がMCUへ接続
powerVBUS検出、3.3V rail、逆流
stackMicrochip Harmonyまたは対象boardのUSB library
classHIDまたはMIDI
recoverydebugger、bootloader

最小bring-up

  1. ボード単体でLED/UARTを確認する。
  2. 公式USB Device sampleを無改変でbuildする。
  3. USB descriptorを最小構成にする。
  4. PCへ接続しVID/PID、class、endpointを確認する。
  5. 固定reportまたはMIDI messageを一度だけ送る。
  6. inputを1個追加する。
  7. unplug/replug、sleep復帰、別OSを試す。

USB descriptorで確認するもの

  • Device、Configuration、Interface descriptor
  • HID report descriptorまたはAudio/MIDI class descriptor
  • endpoint direction、type、maximum packet size
  • polling interval
  • string descriptor
  • composite deviceの場合のinterface番号

PCで認識しただけではapplication dataが正しいとは限りません。USB protocol analyzerまたはOSのdescriptor viewerとapplication logを併用します。

入力回路

switchは最初は1個だけ接続し、pull-upとdebounceを確認します。analog inputはADC範囲、center値、noise、dead zoneを測定します。rotary encoderは方向と取りこぼしを確認します。

失敗時の切り分け

症状確認
device不明D+/D-、clock、descriptor
接続直後resetVBUS、電源、stack
report無反応endpoint、polling、report ID
入力が連打debounce、release report
OSごとに違うdescriptor、class compliance
書き込めないbootloader、debugger

検証記録

項目記録内容
hardwareMCU完全型番、board名、revision
power給電点、電圧、peak current
softwareSDK、toolchain、commit、設定
programmingprobe、boot mode、書き込み方法
observationUART、USB、LED、logic analyzer
result合格条件、失敗条件、再現回数
recoveryknown-good firmwareと復旧手順

最初の成功だけで完了にしません。別PCまたはclean workspaceから再buildし、別個体へ書き込み、電源再投入後も同じ結果になることを確認します。

安全と切り戻し

配線変更は無通電で行います。GPIO、USB VBUS、motor電源、field bus電源を混同しません。絶対最大定格は通常の設計値ではありません。外付け回路を外し、公式sampleまたはknown-good firmwareへ戻せる状態を保ちます。

受入基準

  • 公式資料で対象型番を特定できる
  • clean buildが成功する
  • 書き込み後に観測できる
  • 電源再投入後も動作する
  • errorを検出し安全状態へ戻る
  • 書き込み失敗後に復旧できる
  • 使用pin、電圧、電流を説明できる

参考リンク

  • https://www.microchip.com/en-us/product/ATSAMD51J20A - 公式製品情報、開発資料、SDKまたはボード資料。
  • https://ww1.microchip.com/downloads/en/DeviceDoc/SAM_D5x_E5x_Family_Data_Sheet_DS60001507G.pdf - 公式製品情報、開発資料、SDKまたはボード資料。

次に確認するページ

Amazonの検索結果

購入リンクにはアフィリエイトリンクを含む場合があります。仕様・在庫は購入前に販売ページとメーカー公式情報で確認してください。

次に読むとよい記事