MCU
MCU(Microcontroller Unit)は、CPU・メモリ・周辺回路を単一チップに統合した小型計算機である。低消費電力・低コスト・リアルタイム性を特徴とし、組込み機器の制御・計測・通信の中核を担う。家電、産業機器、車載、医療機器、IoTノードまで適用範囲は広く、センサー信号の取得からアクチュエータ駆動、プロトコル処理、電源管理に至るまで一貫して実装できる。ソフトウェアとハードウェアの境界が近いため、レジスタ操作や割込み設計、タイマ資源の割当など、回路とアルゴリズムを密接に設計する点が要点である。
定義と位置づけ
MCUは汎用コンピュータと異なり、特定用途の制御を前提に機能が最適化されている。プロセッサコア(例: ARM Cortex-M、RISC-V)、フラッシュROM、SRAM、タイマ、ADC/DAC、GPIO、各種シリアル通信(UART、SPI、I2C、CAN、USB等)をオンチップで備え、外付け部品を最小化する。SoCが高機能化とマルチメディア処理を志向するのに対し、MCUは決定的遅延と低消費電力を重視する点で差別化される。
基本構成要素
- CPUコア:命令セットとパイプライン構成がリアルタイム性と消費電力を左右する。
- メモリ:プログラム格納用フラッシュ、実行用SRAM、場合によりEEPROM。
- クロック源:内部RC、外部クリスタル、PLLによる逓倍。
- 周辺回路:タイマ/PWM、キャプチャ/コンペア、ADC/DAC、コンパレータ、DMA。
- 入出力:GPIO、プルアップ/プルダウン、割込みライン。
- 通信:UART/SPI/I2C/CAN/USB/Ethernet/無線トランシーバIF。
動作原理とクロック設計
命令サイクルはクロックに同期して進む。内部RCは部品点数を減らせるが精度に限界があり、通信や計測では水晶発振器が用いられる。PLLは高周波数動作を実現する一方、ジッタと立上時間を考慮する。低消費電力化ではクロック分周やゲーティング、周辺単体の停止、スリープ/ストップ/スタンバイなどのモード遷移を設計し、割込み復帰時間と保存レジスタの整合を取る。
メモリ構成と実行モデル
典型的にはフラッシュ実行(XIP)で起動し、割込みベクタは低番地に配置される。SRAMはスタック、ヒープ、データ領域に割当て、DMAと競合しないよう配置を最適化する。書換え頻度の高いデータはEEPROM相当領域を用い、ウェアレベリングとエラー検出符号(ECC)で信頼性を確保する。
周辺機能の活用
タイマはPWM駆動、パルス計測、イベント時間測定に用いる。ADCは逐次比較型が主流で、サンプリング時間、ホールド容量、インピーダンス整合を考慮する。DMAはCPU負荷を下げ、サンプリング連続転送や通信のリングバッファ運用で効く。比較器とウィンドウ監視は過/低電圧検出やゼロクロス検出に有用である。
割込みとリアルタイム性
割込み優先度設計は最重要である。遅延許容の小さい制御ループ(例: 電流制御)は優先度を高く設定し、長処理は下位優先かスレッド化する。NMIやハードフォルトのハンドラは最小限で障害情報を保存し、安全状態に遷移させる。臨界区間は最短化し、ISRではフラグ設定のみ、処理本体はメインループ/RTOSタスクに委譲するのが定石である。
ソフトウェア開発プロセス
ブートローダ、ドライバ、ミドルウェア、アプリ層の分離が保守性を高める。RTOS採用時は優先度逆転を避けるためミューテックス/セマフォ設計、タイマティックなウォッチドッグキック、デッドロック検知を行う。CIで静的解析(MISRA-C)、単体/結合試験、カバレッジ測定を運用し、フィールド更新に備えて安全なOTA手順(電源断耐性とロールバック)を用意する。
省電力設計
- 動的電圧/周波数制御(DVFS)で演算密度に応じて電力を最適化。
- ペリフェラルの自律動作(LPTIM、UCPD等)でスリープ中も機能維持。
- ウェイクアップソースの最小化と遷移時間の予測設計。
通信スタックとプロトコル
UARTはテキストログやブートローダに適し、SPIは高速同期転送、I2Cは多点短距離制御に向く。CANは耐ノイズと優先度仲裁に優れ、車載で広範に採用される。USBはデバイス/ホスト双方でクラスドライバが鍵となる。IoTではBLE/Thread/LoRa等の無線IFを外付けトランシーバと組み合わせ、MCU側は低レイヤ制御と省電力スケジューリングを担う。
応用領域の具体例
- モータ制御:FOCやセンサレス推定、PWM同期ADCで電流波形を成形。
- 電源制御:デジタル電源でPID/モデル予測制御を適用し効率と過渡応答を両立。
- センシング:温湿度、圧力、加速度の多点計測をDMA+リングバッファで集約。
- ヒューマンインタフェース:タッチキー、LCD、ロータリエンコーダ処理。
選定指標とトレードオフ
必要MIPSとメモリ量、ペリフェラル数、動作温度、EMC耐性、供給継続性、開発ツール群、単価/消費電力を総合評価する。余裕設計は将来拡張を容易にするが、過剰性能は電力とコストを圧迫する。ピン互換ファミリを選ぶと派生機能の展開が容易である。
信頼性・品質・EMC
ウォッチドッグ、ブラウンアウトリセット、CRC/ECC、二重化クロック、温度センサを活用しフェイルセーフを設計する。基板ではグラウンド分割、アナログ/デジタル帰還の管理、デカップリング配置、リターンパスの短縮、クロック配線の等長化でノイズを抑える。ESD/サージ対策やシールド、フィルタ設計は適合試験の合否を左右する。
機能安全とセキュリティ
車載ISO 26262や産業IEC 61508に適合するには、ASIL/SILに応じた要求割当と診断カバレッジが必要である。セキュリティではセキュアブート、デバッグロック、鍵格納、真乱数、暗号アクセラレータ、ファームウェア改ざん検出、ライフサイクル管理を組み合わせ、OTA経路も含めて攻撃面を縮小する。
実装・評価・量産
実装はガードリングやキープアウトでクロック/アナログ感度を下げ、熱設計で周囲温度上昇を見積もる。治具によるICT/機能検査、シリアル番号書込み、トレーサビリティ、統計的工程管理(SPC)を整備する。量産では部品のEOL監視と代替承認プロセス、ファームのバージョン管理、出荷後のログ回収まで一連の運用を確立する。
開発ツールとエコシステム
統合開発環境(IDE)、パケットアナライザ、ロジックアナライザ、オシロスコープ、エミュレータ(SWD/JTAG)、モデルベース設計、HIL、静的解析、形式手法などを適宜組み合わせ、要件から検証までを接続する。評価ボードとリファレンス設計は立上げ期間を短縮し、フィールド試験の不確実性を低減する。