マイコンがリセットされる要因:Q&Aで学ぶマイコン講座(46)(4/4 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。46回目は、初心者の方からよく質問される「マイコンがリセットされる要因」についてです。
不当命令によるリセット
例えば、STM32F4シリーズでは、定義されていない命令を実行するとフォールトが発生します。ですが、8ビットマイコン「STM8ファミリ」(STマイクロエレクトロニクス製)ではリセットがかかるなど同じメーカーでも対応は異なります。「リセットステータスレジスタ(RST_SR))の中のILLOPF:不正オプコードリセットフラグが立ちますので、ほかのリセットと区別できます。STM8ファミリには、ソフトウェアリセットの機能がありませんので、これをソフトウェアリセットの代わりに使えます。
内部リセットの検知方法
マイコンの仕様で、内部のリセット信号を外部端子に出力する機能をもっている製品があります。STM32F4シリーズやSTM8ファミリでは、ウォッチドッグタイマーのリセットやソフトウェアリセット(または、不当命令リセット)が発生すると、NRST端子が20マイクロ秒間ローに落ちる機能があります。ユーザーはNRST端子をモニターすることによって、マイコン内部で発生したリセットを検出することができます。
リセットに関する不具合例とその対応方法
過去にリセットに関してユーザーから問い合わせのあった不具合例は、主に次の2つです。
- 意図しないタイミングでリセットがかかる
- リセットが繰り返し発生する
1.の場合は、前述したようにリセットの発生後、再起動した際に、ウォッチドッグタイマーリセットやソフトウェアリセットなどのフラグをチェックします。並行して外部リセット端子もチェックして、外部からリセット信号が入っていないかもチェックします。リセット要因が分かったら、統合ツールなどのデバッグ機能を使って原因を追究します。
2.の場合は、1.と同じようにフラグをチェックすれば、リセット要因が分かりますが、さらに、繰り返し周期が一定か否かで、リセットのタイミングが推測できます。リセット要因と発生タイミングが分かったら、統合ツールなどのデバッグ機能を使って原因を追究します。
(次の記事を読む)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- いろいろなマイコンの低消費電力モードを理解する
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、中級者の方からよく質問される「マイコンの低消費電力モードの違い、使い分け」についてです。 - フォールト(Fault)って何? 〜 種類と解析方法
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。44回目は、初心者から中級者の方からよく質問される「フォールト」(Fault)についてです。 - ラッチアップって何?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。4回目は、「ラッチアップ」に関する質問です。ラッチアップの仕組みと対策もご紹介します。 - マイコンとEEPROMを接続する方法を教えて
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。11回目は、上級者の方からよく質問される「マイコンとEEPROMを接続する方法」についてです。 - オーバーランエラーの原因
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、中級者の方からよく質問される「オーバーランエラーの原因」についてです。 - ウォッチドッグタイマーって何?
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「ウォッチドッグタイマーって何?」についてです。