追加調査で押さえる実務ポイント
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を固定します。
必須構成
| 要素 | 確認 |
|---|---|
| MCU | SAMD51の完全な型番 |
| board | SAMD51搭載board |
| USB role | Device。Hostと混同しない |
| connector | data対応、D+/D-がMCUへ接続 |
| power | VBUS検出、3.3V rail、逆流 |
| stack | Microchip Harmonyまたは対象boardのUSB library |
| class | HIDまたはMIDI |
| recovery | debugger、bootloader |
最小bring-up
- ボード単体でLED/UARTを確認する。
- 公式USB Device sampleを無改変でbuildする。
- USB descriptorを最小構成にする。
- PCへ接続しVID/PID、class、endpointを確認する。
- 固定reportまたはMIDI messageを一度だけ送る。
- inputを1個追加する。
- 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 |
| 接続直後reset | VBUS、電源、stack |
| report無反応 | endpoint、polling、report ID |
| 入力が連打 | debounce、release report |
| OSごとに違う | descriptor、class compliance |
| 書き込めない | bootloader、debugger |
検証記録
| 項目 | 記録内容 |
|---|---|
| hardware | MCU完全型番、board名、revision |
| power | 給電点、電圧、peak current |
| software | SDK、toolchain、commit、設定 |
| programming | probe、boot mode、書き込み方法 |
| observation | UART、USB、LED、logic analyzer |
| result | 合格条件、失敗条件、再現回数 |
| recovery | known-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の検索結果
購入リンクにはアフィリエイトリンクを含む場合があります。仕様・在庫は購入前に販売ページとメーカー公式情報で確認してください。
「SAMD51 development board」で検索した結果です。個別商品の推薦ではありません。型番・仕様・販売元を販売ページで確認してください。
Amazonで検索