MSPM0の周辺機能制御 PoC
マイコン・イベント駆動ファームウェア
個人PoC / 実装・動作経験あり / 記録整理中GPIO割込み、タイマによるデバウンス、ADC連続変換、UART出力、__WFIを組み合わせたMSPM0のファームウェアの動作検証。
課題と目的
MSPM0の周辺機能を個別に動かすだけでなく、入力イベントの検知とADCのサンプリングを共存させる実装に取り組みました。GPIO、タイマ、ADC、UARTを組み合わせ、MCUが入力を受けて処理する一連の流れを確認することが目的です。
24V DI PoCでは回路からMCUまでの接続を扱い、このページではファームウェアと周辺機能の制御を中心にまとめます。割込み・デバウンスの経験には重複があり、別々の製品開発実績として数えるものではありません。
実装構成
実際に取り組んだこと
GPIO割込みとタイマによるデバウンス
PA25の立下りエッジをGPIO割込みで検知し、TimerGを使ったデバウンス処理を実装しました。イベント数をUARTで表示し、入力イベントをファームウェアで受け取る動作を確認しました。
TimerGの設定値、判定までの時間、割込み中に次の入力が入った場合の処理は、ソースコードと対応付けて追記します。
ADC12の連続サンプリング
PA24を使ったADC12の連続変換を動かし、GPIO割込みとの共存も試しました。タイマ、ADC、IRQを組み合わせた周辺機能制御の経験として整理します。
ADCのクロック、サンプリング条件、結果の取得方法、タイマとADCの具体的な接続関係は未整理です。タイマによるADCトリガやDMA利用は、この記録からは確認できません。
__WFIによるイベント待機
__WFIを使うイベント駆動の実装に取り組みました。待機からイベント処理へ移るファームウェアの構成を扱った経験として記載し、消費電流の削減量や応答時間は実測してから評価します。
現在の結果と追加する証拠
| 機能 | 経験済みの内容 | 追記する記録 |
|---|---|---|
| GPIO割込み | PA25 / 立下りエッジ検知 | MCU型番、配線、割込み設定、入力条件 |
| TimerG | デバウンス処理 | クロック、設定時間、短いパルスへの挙動 |
| UART | イベントカウント表示 | 通信速度、出力ログ、入力数と検知数の比較 |
| ADC12 | PA24 / 連続変換 / GPIO割込みとの共存 | 入力電圧、サンプリング条件、取得データ |
| __WFI | イベント駆動の待機処理 | 待機・復帰のソース、電流と応答時間の測定 |
このPoCで扱った範囲
- GPIOの立下りエッジ割込みとTimerGによるデバウンス
- UARTを使ったイベントカウントの可視化
- ADC12の連続変換とGPIO割込みの共存
- __WFIを含むイベント駆動ファームウェア
経験の紹介文
個人PoCとして、MSPM0のPA25 GPIO割込み、TimerGデバウンス、UARTイベントカウント、__WFIを実装しました。PA24のADC12連続変換とGPIO割込みの共存にも取り組んでいます。
記載は本人の実装・動作経験に基づく下書きです。ソースと測定記録は未添付で、サンプリング速度、ADC精度、消費電流、割込み応答時間の定量評価は未整理です。