メディア
連載
» 2020年01月31日 10時00分 公開

Q&Aで学ぶマイコン講座(51):NMI(ノンマスカブル割り込み)って何? (1/4)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。51回目は、初心者の方からよく質問される「NMI(Non-maskable interrupt/ノンマスカブル割り込み)って何?」についてです。

[STマイクロエレクトロニクス,EDN Japan]

過去の質問一覧はこちら

 素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。

 今回は、初心者から多く寄せられる質問です。

 マイコンの割り込み機能で、NMI(Non-maskable interrupt)という割り込みがありますが、NMIとは何ですか? 他の割り込み、例えば外部割り込みやタイマーのタイムアップ割り込みなどと、どう違うのですか?

 NMI(ノンマスカブル割り込み:Non-maskable interrupt)とは、その名の通りマスクできない割り込みです。通常の割り込みでは、割り込み要因が発生しても、その割り込みをマスクして受け付けない設定が可能です(マスカブル割り込み:Maskable interruptと呼ばれる)。しかし、NMIの場合はマスクができず、NMIの割り込み要因が発生した場合には必ず割り込みを受け付けます。

 NMIは、システムに致命的な障害などが発生した時に使われます。NMIの要因が発生すると、他の割り込みを一切受け付けず、緊急事態対応の割り込みハンドラ*1)が起動されて、緊急事態対応のソフトウェアが実行されます。Arm Cortex-M4プロセッサ(以下、Cortex-M4)では、リセットの次に優先順位の高い例外処理として位置付けられています(図1

図1:Arm Cortex-M4 例外処理のタイプと優先順位 (クリックで拡大)

 例えば、マイコン「STM32F4シリーズ*2)」(STマイクロエレクトロニクス製)では、外部から供給されるクロックが停止した場合の緊急対応システムであるCSS(Clock Security System)にNMIが割り当てられています。CSSが起動すると、マイコンのシステムクロックが内部クロックに切り替わり、NMI用の割り込みハンドラを起動して緊急事態対応のソフトウェアが実行される仕組みです(図2

図2:CSSの説明(STM32F4シリーズのクロックスキーム) (クリックで拡大)

*1)参考記事:Q&Aで学ぶマイコン講座(27):割り込みハンドラとは?
*2)参考ページ:https://www.stmcu.jp/stm32/stm32f4/

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.