(57)【要約】【課題】マイクロコンピュータの自己診断の実行時間を削減する。【解決手段】リセット後の動作がホットスタートかコールドスタートかを判定する手段と、各機能ブロックで発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を保持し、通常動作時に発生したエラーがどのブロックで発生したエラーであるかを判定し、複数の機能ブロックからＢＩＳＴを実行する機能ブロックを選択する手段と、選択された機能ブロックのＢＩＳＴを実行する順序を関連付け情報に基づいて制御して、ＢＩＳＴの実行を指示する手段と、を備え、ホットスタートと判定された場合には、ＢＩＳＴを実行する機能ブロックを選択するとともに、選択した機能ブロックのＢＩＳＴを実行する順序を関連付け情報に基づいて制御してＢＩＳＴを実行し、コールドスタートと判定された場合には複数の機能ブロックのすべてのＢＩＳＴを実行する。【選択図】図１
2012181564.tif 000002
【特許請求の範囲】
【請求項１】
ＢＩＳＴ回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断回路であって、
前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するエラーによるホットスタートか、電源投入直後のコールドスタートかを判定するホットスタート判定回路と、
前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を保持し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからＢＩＳＴを実行する機能ブロックを選択するＢＩＳＴ実行選択回路と、
選択された機能ブロックのＢＩＳＴを実行する順序を前記関連付け情報に基づいて制御して、ＢＩＳＴの実行を指示するＢＩＳＴ実行指示回路と、を備え、
ホットスタートと判定された場合には、ＢＩＳＴを実行する機能ブロックを選択するとともに、選択した機能ブロックのＢＩＳＴを実行する順序を前記関連付け情報に基づいて制御してＢＩＳＴを実行し、コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのＢＩＳＴを実行することを特徴とする自己診断回路。
【請求項２】
前記ＢＩＳＴ実行指示回路は、前記選択された機能ブロックのＢＩＳＴを実行する順序を、機能ブロックの重要度の高い順とすることを特徴とする、請求項１に記載の自己診断回路。
【請求項３】
前記ＢＩＳＴ実行指示回路は、前記選択された機能ブロックのＢＩＳＴを実行する順序をランダムとすることを特徴とする、請求項１に記載の自己診断回路。
【請求項４】
前記ＢＩＳＴ実行指示回路は、許容されている消費電流を超えない範囲で、前記選択された機能ブロックのうちの複数の機能ブロックのＢＩＳＴを同時に実行するように制御することを特徴とする、請求項１ないし３のいずれか１項に記載の自己診断回路。
【請求項５】
前記複数の機能ブロックと、
請求項１ないし４のいずれか１項に記載の自己診断回路と、を備えていることを特徴とするマイクロコンピュータ。
【請求項６】
ＢＩＳＴ回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断方法であって、
前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するホットスタートか、電源投入直後のコールドスタートかを判定する工程を含み、
ホットスタートと判定された場合には、前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を参照し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからＢＩＳＴを実行する機能ブロックを選択する工程と、
選択された機能ブロックのＢＩＳＴを実行する順序を前記関連付け情報に基づいて制御して、ＢＩＳＴを実行する工程と、を含み、
コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのＢＩＳＴを実行する工程を含むことを特徴とする自己診断方法。
【請求項７】
前記選択された機能ブロックのＢＩＳＴを実行する順序を、機能ブロックの重要度の高い順とする工程を含むことを特徴とする、請求項６に記載の自己診断方法。
【請求項８】
前記選択された機能ブロックのＢＩＳＴを実行する順序をランダムとする工程を含むことを特徴とする、請求項６に記載の自己診断方法。
【請求項９】
許容されている消費電流を超えない範囲で、前記選択された機能ブロックのうちの複数の機能ブロックのＢＩＳＴを同時に実行するように制御する工程を含むことを特徴とする、請求項６ないし８のいずれか１項に記載の自己診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自己診断回路および自己診断方法に関し、特に、自己診断ＢＩＳＴを搭載した高信頼性マイクロコンピュータの自己診断回路および自己診断方法に関する。
【背景技術】
【０００２】
自動車事故の発生は人命に関わることから、自動車に搭載されるマイクロコンピュータには、高い信頼性が求められる。マイクロコンピュータの高信頼性を確保する方法として、一般に、自己診断ＢＩＳＴ（Ｂｕｉｌｔ−Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）が行われる。
【０００３】
自己診断ＢＩＳＴの実行時間は、自己診断を含めたリセット解除時間に対して厳しい制限時間（例えば２０ｍｓ以内）が設けられている。電源投入時のコールドスタートにおいては、自動車は停止中であるため、制限時間を満たしていれば問題ない。一方、走行中にマイクロコンピュータの故障によりリセットが発生したホットスタートの場合には、単に制限時間内に故障を通知するのみならず、安全性を向上させるために、より素早く故障を通知することへの要求が高まっている。そこで、走行中の故障によりリセットが発生した場合には、自己診断ＢＩＳＴの実行時間を可能な限り短縮する技術が求められている。
【０００４】
特許文献１において、出荷後の半導体デバイスの動作不良を容易に診断できる方法および装置が記載されている。特許文献１に記載された装置では、半導体デバイスの各機能ブロックにＢＩＳＴ回路を設け、電源投入時に半導体デバイスの自己診断を行うことによって、半導体デバイスの動作不良を常時診断する。また、メモリにあらかじめ記憶された診断条件と期待値を、ＢＩＳＴコントローラによりＢＩＳＴ回路へ送信し、ＢＩＳＴ回路では、送信された診断条件および期待値を用いて各機能ブロックの診断を行い、その診断結果は、ＢＩＳＴコントローラを介して主コントローラへ送信し、主コントローラでは外部ディスプレイ等に正常・異常の表示を行う。このとき、機能ブロック毎に自己診断が行われる。
【０００５】
図４は、特許文献１に記載された、半導体デバイスの自己診断を行う装置の構成を示すブロック図である。図４を参照すると、半導体デバイスの各機能ブロック１０１，１０２，１１１，１１２にＢＩＳＴ回路２０１，２０２，２１１，２１２を設け、メモリ３０にあらかじめ記憶された診断条件と期待値を、ＢＩＳＴコントローラ２０によりＢＩＳＴ回路２０１，２０２，２１１，２１２へ送信し、自己診断を実施する。診断結果は、ＢＩＳＴコントローラ２０を介して主コントローラ４０へ送信され、主コントローラ４０は外部ディスプレイ等に正常・異常の結果出力を行う。
【０００６】
図５は、特許文献１に記載された技術の機能ブロックの診断処理を示すフローチャート例である。図４および図５を参照すると、半導体デバイスの電源投入を検出し（ステップＳ１）、ＢＩＳＴコントローラ２０が起動する（ステップＳ２）。ＢＩＳＴコントローラ２０は、診断対象のＮ個の機能ブロック１０１，１０２，１１１，１１２の内で第１番目の機能ブロック１０１から診断処理を開始し（ステップＳ３）、Ｎ個完了するまで順次診断処理を実施する（ステップＳ１２，Ｓ１３）。診断処理では、メモリ３０からテスト条件を読出し（ステップＳ４）、ＢＩＳＴ回路２０１，２０２，２１１，２１２により機能ブロックを診断する（ステップＳ５）。異常がある場合には（ステップＳ７のＮｏ）、診断結果はＢＩＳＴコントローラ２０に送信され（ステップＳ８）、結果をメモリ３０に記憶した後（ステップＳ１１）、全機能ブロック終了後に結果を主コントローラ４０に送信し（ステップＳ１４）、主コントローラ４０が診断結果を表示する（ステップＳ１５）。
【０００７】
なお、特許文献２および特許文献３において、エラー情報に基づいてテスト時間を短縮する技術が記載されている。特許文献２において、テスト時間を短縮するために、システムダウン処理の代わりに、メモリ、キャッシュ、スタック等の情報を試験開始前の状態に戻し、初期化を行わないことでシステムの再立ち上げ時間を短縮する技術が記載されている。また、特許文献３において、エラー率に従って試験内容を変更する技術が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−０６８８６５号公報（第６，７頁、図１，２）
【特許文献２】特開２００２−１８２９４４号公報
【特許文献３】特開平０３−２５７５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以下の分析は、本発明者によってなされたものである。
【００１０】
特許文献１に記載された技術は、自己診断対象の機能ブロックがＮ個ある場合、第１番目から第Ｎ番目まで順番に自己診断を実行するため、マイクロコンピュータに搭載される機能ブロックが増加するに従って、自己診断時間が長くなるという問題がある。
【００１１】
自動車等を制御する高信頼性を要求されるマイクロコンピュータにおいては、安全性を確保するために自己診断ＢＩＳＴ実行を所定の時間以内に完了することが求められており、自己診断対象の機能ブロック数が多数存在する場合に、自己診断ＢＩＳＴ実行を所定の時間以内に完了することができない。
【００１２】
さらに、特許文献１に記載された技術では、コールドスタートおよびホットスタートのいずれの場合においても、自己診断対象の機能ブロックのＢＩＳＴを第１番目から順にすべて実行する。よって、特に高い安全性を求められるホットスタート時の自己診断において、素早く故障を通知することができないという問題がある。
【００１３】
また、特許文献２および特許文献３に記載された技術は、いずれも情報処理分野における試験方式に関する技術であり、自動車分野で用いられる高信頼性マイクロコンピュータの自己診断方法として採用することは困難である。
【００１４】
自動車分野で用いられる高性能マイクロコンピュータにおいては、初期化で復帰できる故障については速やかに正常状態に戻すことが求められるため、初期化は必須とされる。したがって、特許文献２に記載されているように、テスト時間を短縮するために、システムダウン処理の代わりに、メモリ、キャッシュ、スタック等の情報を試験開始前の状態に戻し、初期化を行わないことでシステムの再立ち上げ時間を短縮する技術を適用することは困難である。
【００１５】
また、自動車分野で用いられる高性能マイクロコンピュータにおいては、人命に関る安全性を確保するために、１回のエラーも見逃さないようにする必要がある。したがって、特許文献３に記載されているように、エラー率に従って試験内容を変更する技術を適用することも困難である。
【００１６】
そこで、マイクロコンピュータの自己診断の実行時間を、診断の確実性を確保しつつ削減することが課題となる。
【課題を解決するための手段】
【００１７】
本発明の第１の視点に係る自己診断回路は、
ＢＩＳＴ回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断回路であって、
前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するエラーによるホットスタートか、電源投入直後のコールドスタートかを判定するホットスタート判定回路と、
前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を保持し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからＢＩＳＴを実行する機能ブロックを選択するＢＩＳＴ実行選択回路と、
選択された機能ブロックのＢＩＳＴを実行する順序を前記関連付け情報に基づいて制御して、ＢＩＳＴの実行を指示するＢＩＳＴ実行指示回路と、を備え、
ホットスタートと判定された場合には、ＢＩＳＴを実行する機能ブロックを選択するとともに、選択した機能ブロックのＢＩＳＴを実行する順序を前記関連付け情報に基づいて制御してＢＩＳＴを実行し、コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのＢＩＳＴを実行する。
【００１８】
本発明の第２の視点に係る自己診断方法は、
ＢＩＳＴ回路を付加した複数の機能ブロックを有するマイクロコンピュータの自己診断方法であって、
前記マイクロコンピュータのリセット後の動作が、前記複数の機能ブロックのそれぞれにおいて発生するホットスタートか、電源投入直後のコールドスタートかを判定する工程を含み、
ホットスタートと判定された場合には、前記複数の機能ブロックのそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を参照し、前記マイクロコンピュータの通常動作時に発生したエラーが前記複数の機能ブロックのどのブロックで発生したエラーであるかを判定し、前記複数の機能ブロックからＢＩＳＴを実行する機能ブロックを選択する工程と、
選択された機能ブロックのＢＩＳＴを実行する順序を前記関連付け情報に基づいて制御して、ＢＩＳＴを実行する工程と、を含み、
コールドスタートと判定された場合には、前記複数の機能ブロックのすべてのＢＩＳＴを実行する工程を含む。
【発明の効果】
【００１９】
本発明に係る自己診断回路および自己診断方法によると、マイクロコンピュータの自己診断の実行時間を、診断の確実性を確保しつつ削減することができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係る自己診断回路の構成を示すブロック図である。
【図２】実施形態に係る自己診断回路におけるＢＩＳＴ実行選択回路の動作を示す真理値表である。
【図３】実施形態に係るマイクロコンピュータの自己診断実行処理を示すフローチャートである。
【図４】特許文献１に記載された、半導体デバイスの自己診断を行う装置の構成を示すブロック図である。
【図５】特許文献１に記載された、機能ブロックの診断処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００２２】
図１を参照すると、本発明に係る自己診断回路は、ＢＩＳＴ回路を付加した複数の機能ブロック（ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎ）を有するマイクロコンピュータの自己診断回路であって、マイクロコンピュータのリセット後の動作が、複数の機能ブロック（５４−１〜５４−ｎ）のそれぞれにおいて発生するエラーによるホットスタートか、電源投入直後のコールドスタートかを判定するホットスタート判定回路（５３）と、複数の機能ブロック（５４−１〜５４−ｎ）のそれぞれにおいて発生するエラーが他のどの機能ブロックへ影響があるのかの関連付け情報を保持し、マイクロコンピュータの通常動作時に発生したエラーが複数の機能ブロック（５４−１〜５４−ｎ）のどのブロックで発生したエラーであるかを判定し、複数の機能ブロック（５４−１〜５４−ｎ）からＢＩＳＴを実行する機能ブロックを選択するＢＩＳＴ実行選択回路（５１）と、選択された機能ブロックのＢＩＳＴを実行する順序を関連付け情報に基づいて制御して、ＢＩＳＴの実行を指示するＢＩＳＴ実行指示回路（５２）と、を備え、ホットスタートと判定された場合には、ＢＩＳＴを実行する機能ブロックを選択するとともに、選択した機能ブロックのＢＩＳＴを実行する順序を関連付け情報に基づいて制御してＢＩＳＴを実行し、コールドスタートと判定された場合には、複数の機能ブロック（５４−１〜５４−ｎ）のすべてのＢＩＳＴを実行する。
【００２３】
ＢＩＳＴ実行指示回路（５２）は、選択された機能ブロックのＢＩＳＴを実行する順序を、機能ブロックの重要度の高い順としてもよい。また、ＢＩＳＴ実行指示回路（５２）は、選択された機能ブロックのＢＩＳＴを実行する順序をランダムとしてもよい。
【００２４】
さらに、ＢＩＳＴ実行指示回路（５２）は、許容されている消費電流を超えない範囲で、選択された機能ブロックのうちの複数の機能ブロックのＢＩＳＴを同時に実行するように制御してもよい。
【００２５】
また、本発明によると、複数の機能ブロック（５４−１〜５４−ｎ）と、上記の自己診断回路と、を備えたマイクロコンピュータが提供される。
【００２６】
本発明の自己診断回路によると、マイクロコンピュータの通常動作において発生したエラーが、どの機能ブロックで発生したエラーであるか、および、そのエラーにより他の機能ブロックへの影響を判断し、ホットスタートの際に発生したエラー（リセット要因）によってＢＩＳＴを実行する機能ブロックを選択して実行することが可能となる。このとき、不揮発性メモリやＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ）エラーや、リダンダンシに対応したＣＰＵのエラーのように、単体の機能ブロック内のエラーであり、マイクロコンピュータの他の機能ブロックに影響のない機能ブロックで発生したエラーによるホットスタートである場合には、そのエラーに関連する機能ブロックのみを自己診断することで自己診断の実行時間を短縮することができる。
【００２７】
したがって、本発明に係る自己診断回路によると、マイクロコンピュータの自己診断の実行時間を削減することができる。
【００２８】
（実施形態）
実施形態に係る自己診断回路について、図面を参照して説明する。図１は、本実施形態の自己診断回路の構成を示すブロック図である。
【００２９】
図１を参照すると、自己診断回路は、ＢＩＳＴ実行選択回路５１、ＢＩＳＴ実行指示回路５２、ホットスタート判定回路５３、ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎ、リセット回路５５、ＢＩＳＴ結果判定回路５９、ＢＩＳＴ期待値格納メモリ６０、および、外部出力コントローラ６１を備えている。
【００３０】
ＢＩＳＴ実行選択回路５１は、リセット要因フラグ５６−１〜５６−ｎのそれぞれの選択制御出力信号ａ１４−１〜ａ１４−ｎ、ホットスタート判定回路５３の出力信号であるコールドスタート判定出力信号ａ１８およびホットスタート判定出力信号ａ１９から、実行すべきＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎを選択し、ＢＩＳＴ実行指示回路５２に出力信号ａ２０−１〜ａ２０−ｎを出力する。
【００３１】
ＢＩＳＴ実行指示回路５２は、ＢＩＳＴ実行選択回路５１の出力信号ａ２０−１〜ａ２０−ｎを入力とし、ＢＩＳＴ実行指示入出力バス７２を経由して、ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎにＢＩＳＴを実行する指示データを出力する。また、ＢＩＳＴ実行指示回路５２は、ＢＩＳＴ実行完了時に、ＢＩＳＴ実行指示入出力バス７２を経由して、ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎから実行完了の情報を受信し、リセット要因フラグ５６−１〜５６−ｎのそれぞれにクリア制御信号ａ２３−１〜ａ２３−ｎを出力して、対応するリセット要因フラグをクリアする。さらに、ＢＩＳＴ実行指示回路５２は、ＢＩＳＴ実行完了時に、ホットスタート判定回路５３へスタートステータス保持結果クリア信号ａ２１を出力する。
【００３２】
ホットスタート判定回路５３は、パワーオンリセット回路５７の出力信号ａ１６と内部リセット回路５８の出力信号ａ１７に基づいて、電源投入直後のリセットによるスタートであるコールドスタートか、通常動作中のリセットによるスタートであるホットスタートかを判定し、判定結果をリセット解除後も保持し、保持結果を、コールドスタート判定出力信号ａ１８およびホットスタート判定出力信号ａ１９として、ＢＩＳＴ実行選択回路５１へ出力する。また、ホットスタート判定回路５３は、ＢＩＳＴ実行指示回路５２からスタートステータス保持結果クリア信号ａ２１を受信する。
【００３３】
ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎは、ＢＩＳＴ実行指示入出力バス７２を介してＢＩＳＴ実行指示回路５２に接続される。また、ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎは、ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎのそれぞれの結果出力信号ａ２４−１〜ａ２４−ｎとして、ＢＩＳＴ実行結果をＢＩＳＴ結果判定回路５９に出力する。さらに、ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎは、通常動作のエラー時に、ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎのそれぞれのリセット要求出力信号ａ１３−１〜ａ１３−ｎを出力する。
【００３４】
リセット回路５５は、リセット要因フラグ５６−１〜５６−ｎ、パワーオンリセット回路５７、および、内部リセット回路５８を備えている。
【００３５】
リセット回路５５は、ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎからのリセット要求出力信号ａ１３−１〜ａ１３−ｎ、および、ＢＩＳＴ実行指示回路５２からのクリア制御信号ａ２３−１〜ａ２３−ｎをリセット要因フラグ５６−１〜５６−ｎへの入力とする。また、リセット回路５５は、リセット要因フラグ５６−１〜５６−ｎから選択制御出力信号ａ１４−１〜ａ１４−ｎを出力し、パワーオンリセット回路５７から出力信号ａ１６を出力し、内部リセット回路５８から出力信号ａ１７を出力する。
【００３６】
リセット要因フラグ５６−１〜５６−ｎは、それぞれ、選択制御出力信号ａ１４−１〜ａ１４−ｎ、および、リセット出力信号ａ１５−１〜ａ１５−ｎを出力する。内部リセット回路５８は、リセット要因フラグ５６−１〜５６−ｎからリセット出力信号ａ１５−１〜ａ１５−ｎを入力し、出力信号ａ１７を出力する。
【００３７】
ＢＩＳＴ結果判定回路５９は、ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎの結果出力信号ａ２４−１〜ａ２４−ｎを入力とする。また、ＢＩＳＴ結果判定回路５９は、判定結果をＢＩＳＴ結果入出力信号ａ２５としてＢＩＳＴ期待値格納メモリ６０に出力し、ＢＩＳＴ結果外部入出力信号ａ２６として外部出力コントローラ６１に出力する。さらに、ＢＩＳＴ結果判定回路５９は、ＢＩＳＴ期待値格納メモリ６０からＢＩＳＴ期待値をＢＩＳＴ結果入出力信号ａ２５として入力し、外部出力コントローラ６１から外部制御信号をＢＩＳＴ結果外部入出力信号ａ２６として入力する。
【００３８】
外部装置６２は、外部出力コントローラ入出力信号ａ２７として、外部制御データを外部出力コントローラ６１との間で入出力する。
【００３９】
図２は、本実施形態におけるＢＩＳＴ実行選択回路５１の動作を示す真理値表である。図２に示した真理値表は、複数の機能ブロックのそれぞれにおいて発生するエラー（リセット要因）が、他のどの機能ブロックへ影響があるのかの関連付け情報を示す。
【００４０】
図２の表は、コールドスタート判定出力信号ａ１８、ホットスタート判定出力信号ａ１９、および、選択制御出力信号ａ１４−１〜ａ１４−ｎの入力条件（ＩＮＰＵＴ）に対する、ＢＩＳＴ実行選択回路５１の出力信号ａ２０−１〜ａ２０−ｎの出力結果（ＯＵＴＰＵＴ）を示す。
【００４１】
ＢＩＳＴ内蔵機能ブロック数に対応してリセット要因フラグ５６−１〜５６−ｎの選択制御出力信号ａ１４−１〜ａ１４−ｎは、入力条件（ＩＮＰＵＴ）としてｎ本の入力による組合せとなり、対応する出力結果（ＯＵＴＰＵＴ）も、ＢＩＳＴ実行選択回路５１の出力信号ａ２０−１〜ａ２０−ｎとしてｎ本の出力となる。
【００４２】
コールドスタート判定出力信号ａ１８が「０」、かつ、ホットスタート判定出力信号ａ１９が「１」のとき、リセット要因フラグ５６−１〜５６−ｎの選択制御出力信号ａ１４−１〜ａ１４−ｎの値により、ＢＩＳＴ実行選択回路５１の出力信号ａ２０−１〜ａ２０−ｎの出力結果が変化する。
【００４３】
また、コールドスタート判定出力信号ａ１８が「１」のとき、ＢＩＳＴ実行選択回路５１の出力信号ａ２０−１〜ａ２０−ｎはすべて「１」となる。
【００４４】
コールドスタート判定出力信号ａ１８およびホットスタート判定出力信号ａ１９がいずれも「０」のとき、ＢＩＳＴ実行選択回路５１の出力信号ａ２０−１〜ａ２０−ｎはすべて「０」となる。
【００４５】
図１を参照して、電源投入時のスタートであるコールドスタートの動作について説明する。
【００４６】
自動車制御等の高信頼性マイクロコンピュータ分野において、電源投入時のコールドスタートでは故障個所を特定できないため、一般に、すべてのＢＩＳＴを実行する。そこで、本実施形態においても、電源投入時のコールドスタートにおいては、すべてのＢＩＳＴを実行し、品質を確保するものとする。
【００４７】
コールドスタートは電源が投入されて電源電圧が上がったことをパワーオンリセット回路５７が検出して出力信号ａ１６が「１」になる。
【００４８】
ホットスタート判定回路５３では、入力される出力信号ａ１６が「１」になったことを受けて、内部で出力信号ａ１６の「１」結果を保持し、その出力としてコールドスタート判定出力信号ａ１８は「１」となる。この結果、図２の真理値表において、ＩＮＰＵＴのａ１８＝「１」に対応するＯＵＴＰＵＴであるａ２０−１〜ａ２０−ｎのいずれもが「１」となる。このとき、ＢＩＳＴ実行選択回路５１の出力信号ａ２０−１〜ａ２０−ｎがいずれも「１」となり、ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎのすべてがＢＩＳＴ実行対象となる。
【００４９】
ＢＩＳＴ実行指示回路５２は、ＢＩＳＴ実行選択回路５１の出力信号ａ２０−１〜ａ２０−ｎを受け、ＢＩＳＴを実行する順序を決定する。例えば、ＢＩＳＴ内蔵機能ブロック５４−１から５４−ｎまで、順にＢＩＳＴを実行する場合には、ＢＩＳＴ実行指示回路５２から、ＢＩＳＴ内蔵機能ブロック５４−１へ、ＢＩＳＴ実行指示入出力信号バス７２を介して、ＢＩＳＴの実行を指示する。
【００５０】
ＢＩＳＴ内蔵機能ブロック５４−１は、ＢＩＳＴ実行指示入出力信号バス７２の値により、ＢＩＳＴ実行指示を受け、ＢＩＳＴ内蔵機能ブロック５４−１のＢＩＳＴを実行する。ＢＩＳＴ実行結果は、ＢＩＳＴ内蔵機能ブロック５４−１の結果出力信号ａ２４−１として、ＢＩＳＴ結果判定回路５９に出力する。
【００５１】
ＢＩＳＴ結果判定回路５９は、ＢＩＳＴ内蔵機能ブロック５４−１の結果出力信号ａ２４−１と、ＢＩＳＴ期待値格納メモリ６０から送信される期待値とを比較し、結果判定を行う。ＢＩＳＴ結果判定回路５９は、ＢＩＳＴ結果判定回路５９のＢＩＳＴ結果外部入出力信号ａ２６として、判定結果を外部出力コントローラ６１へ出力する。
【００５２】
外部出力コントローラ６１は、外部出力コントローラ入出力信号ａ２７として、ＢＩＳＴの結果を外部装置６２に送信する。
【００５３】
ＢＩＳＴ内蔵機能ブロック５４−１は、ＢＩＳＴ実行の完了時に、ＢＩＳＴ実行指示入出力バス７２を介して、ＢＩＳＴ実行指示回路５２にＢＩＳＴ実行完了信号を出力する。
【００５４】
ＢＩＳＴ内蔵機能ブロック５４−１でのＢＩＳＴ実行の完了を受けて、ＢＩＳＴ実行指示回路５２は、ＢＩＳＴ内蔵機能ブロック５４−１に関連するリセット要因フラグ５６−１をクリアする。
【００５５】
次に、ＢＩＳＴ実行指示回路５２は、次のＢＩＳＴ内蔵機能ブロック５４−２へＢＩＳＴの実行を指示する。その後、順次、ＢＩＳＴ内蔵機能ブロック５４−ｎまで、同様にＢＩＳＴが実行される。
【００５６】
次に、ホットスタートの動作について説明する。
【００５７】
ＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎは、ＢＩＳＴを実行する機能毎に分かれている。本実施形態では、ＢＩＳＴ内蔵機能ブロック５４−１には、例えば、マイクロコンピュータのクロック制御回路のように、マイクロコンピュータ全体に影響のある機能やユーザ設定による通常のリセット機能が設けられているものとする。一方、ＢＩＳＴ内蔵機能ブロック５４−２〜５４−ｎには、不揮発性メモリやＲＡＭのＥＣＣエラーや、リダンダンシに対応したＣＰＵのエラーのように、単体の機能内でのエラーと判断でき、明らかにマイクロコンピュータの他の機能ブロックに影響しない機能が設けられているものとする。
【００５８】
本実施形態では、マイクロコンピュータ全体に影響のある機能と、単体の機能内でのエラーと判断でき、マイクロコンピュータの他の機能ブロックに影響しない機能とを区別する。マイクロコンピュータのクロック制御回路のようにマイクロコンピュータ全体に影響のある場合には、自己診断ＢＩＳＴは従来通りすべて実行する。一方、不揮発性メモリやＲＡＭのＥＣＣエラーや、リダンダンシに対応したＣＰＵのエラーのように、明らかにマイクロコンピュータの他の機能ブロックに影響のない場合には、選択的に自己診断ＢＩＳＴを実行する。これにより、従来と同等の高信頼性を確保しつつ、自己診断ＢＩＳＴ実行時間を短縮する。
【００５９】
マイクロコンピュータの通常動作時にＢＩＳＴ内蔵機能ブロック５４−１でエラーが発生した場合について説明する。ＢＩＳＴ内蔵機能ブロック５４−１でエラーが発生した場合には、ＢＩＳＴ内蔵機能ブロック５４−１からリセット要求出力信号ａ１３−１として「１」を出力する。リセット要求出力信号ａ１３−１として「１」が出力されることにより、リセット要因フラグ５６−１に「１」がセットされる。このとき、リセット要因フラグ５６−１の選択制御出力信号ａ１４−１は「１」となり、ＢＩＳＴ実行選択回路５１に入力される。
【００６０】
また、リセット要因フラグ５６−１に「１」がセットされることにより、リセット要因フラグ１からリセット出力信号ａ１５−１を内部リセット回路５８に出力し、内部リセット回路５８から出力信号ａ１７として「１」を出力する。
【００６１】
ホットスタート判定回路５３は、出力信号ａ１７が「１」になったことを受けて、出力信号ａ１７の結果を保持し、その出力としてホットスタート判定出力信号ａ１９を「１」とする。
【００６２】
この結果、図２の真理値表において、ＩＮＰＵＴのａ１８＝「０」、ａ１９＝「１」、かつ、ａ１４−１＝「１」、に対応するＯＵＴＰＵＴであるａ２０−１〜ａ２０−ｎのいずれもが「１」となる。すなわち、ＢＩＳＴ実行選択回路５１の出力信号ａ２０−１〜ａ２０−ｎがいずれも「１」となる。このとき、コールドスタート時と同様に、すべてのＢＩＳＴ内蔵機能ブロックが実行される。すべてのＢＩＳＴが実行されることにより、品質が確保される。
【００６３】
マイクロコンピュータの通常動作時にＢＩＳＴ内蔵機能ブロック５４−２でエラーが発生した場合について説明する。ＢＩＳＴ内蔵機能ブロック５４−２でエラーが発生すると、ＢＩＳＴ内蔵機能ブロック５４−２からリセット要求出力信号ａ１３−２として「１」を出力する。リセット要求出力信号ａ１３−２として「１」が出力されることにより、リセット要因フラグ５６−２に「１」がセットされる。これにより、リセット要因フラグ５６−２の選択制御出力信号ａ１４−２は「１」となり、ＢＩＳＴ実行選択回路５１に入力される。
【００６４】
また、リセット要因フラグ５６−２に「１」がセットされることにより、リセット要因フラグ５６−２からリセット出力信号ａ１５−２を内部リセット回路５８に出力し、内部リセット回路５８から出力信号ａ１７として「１」を出力する。
【００６５】
ホットスタート判定回路５３は、出力信号ａ１７が「１」になったことを受けて、出力信号ａ１７の結果を保持し、その出力としてホットスタート判定出力信号ａ１９を「１」とする。
【００６６】
この結果、ＢＩＳＴ実行選択回路５１は、図２の真理値表でＩＮＰＵＴのａ１８＝「０」、ａ１９＝「１」、かつ、ａ１４−２＝「１」、ａ１４−１〜ａ１４−ｎのａ１４−２以外＝「０」に対応するＯＵＴＰＵＴとして、ａ２０−２のみにおいて「１」を出力し、ＢＩＳＴ内蔵機能ブロック５４−２のみがＢＩＳＴの実行対象となる。
【００６７】
ＢＩＳＴ内蔵機能ブロック５４−２のみがＢＩＳＴの実行対象となることにより、リセット要因と関連のあるＢＩＳＴ内蔵機能ブロックのみのＢＩＳＴを実行する。これによって、自己診断の実行時間を短縮することができる。
【００６８】
図３は、本実施形態によるマイクコンピュータの自己診断実行処理を示すフローチャートである。
【００６９】
まず、マイクロコンピュータの電源投入を行う（ステップＳ１０１）。
【００７０】
次に、マイクロコンピュータを初期化するためのリセット処理を行う（ステップＳ１０２）。電源投入時のコールドスタートでは、パワーオンリセット回路５７から当該マイクロコンピュータに対するリセットが発生する。一方、ホットスタートでは、複数のＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎのそれぞれにおいて発生するエラー（リセット要因）毎に、内部リセット回路５８から当該マイクロコンピュータに対するリセット処理が発生する。
【００７１】
ホットスタート判定回路５３は、上記リセット処理がコールドスタートかホットスタートかを判定する（ステップＳ１０３）。ホットスタート判定回路５３は、パワーオンリセット回路５７の出力信号ａ１６と、内部リセット回路５８の出力信号ａ１７のどちらを受信したかに応じて、コールドスタートかホットスタートかを判定する。
【００７２】
コールドスタートの場合には（ステップＳ１０３のＮｏ）、マイクロコンピュータの初期状態における自己診断を実行するため、すべてのＢＩＳＴ内蔵機能ブロック５４−１〜５４−ｎの自己診断を実行する（ステップＳ１０４からステップＳ１０９）。
【００７３】
一方、ホットスタートの場合には（ステップＳ１０３のＹｅｓ）、エラーが発生したＢＩＳＴ内臓機能ブロックを特定し、関連するＢＩＳＴ内蔵機能ブロックの自己診断を実施する（ステップＳ１１７からステップＳ１２３）。
【００７４】
自己診断をＢＩＳＴ内蔵機能ブロック５４−１から順次実行するため（ステップＳ１０５〜Ｓ１０９）、機能ブロック番号ｋに１を設定する（ステップＳ１０４）。
【００７５】
ＢＩＳＴ内蔵機能ブロックの数だけ、自己診断の実行を繰り返す（ステップＳ１０５〜Ｓ１０９）。
【００７６】
まず、ＢＩＳＴ内蔵機能ブロックで自己診断を実行する（ステップＳ１０６）。自己診断の結果は、ＢＩＳＴ結果判定回路５９で判定される。判定の結果は、外部出力コントローラ６１を介して外部装置６２に送信される。
【００７７】
ステップＳ１０６で実行したＢＩＳＴ内蔵機能ブロック５４−ｋに対応したリセット要因フラグ５６−ｋをクリアする（ステップＳ１０７）。
【００７８】
自己診断をＢＩＳＴ内蔵機能ブロック５４−１から順次実行するため（ステップＳ１０５〜Ｓ１０９）、機能ブロック番号ｋをインクリメントする（ステップＳ１０８）。
【００７９】
自己診断を終了した後（ステップＳ１０５〜Ｓ１０９）、当該マイクロコンピュータのユーザプログラムに従った通常処理を行う（ステップＳ１１０）。
【００８０】
前述の当該マイクロコンピュータのユーザプログラムに従った通常処理において発生するエラーの発生確認を、ＢＩＳＴ内蔵機能ブロック５４−１から順次確認するため（ステップＳ１１２〜Ｓ１１５）、エラー発生番号ｋを１に設定する（ステップＳ１１１）。
【００８１】
ＢＩＳＴ内蔵機能ブロックの数だけ、エラー発生確認を繰り返す（ステップＳ１１２〜Ｓ１１５）。
【００８２】
当該マイクロコンピュータのユーザプログラムに従った通常処理において、ＢＩＳＴ内蔵機能ブロック毎にエラーの発生の有無を確認する（ステップＳ１１３）。エラーが発生しない場合には（ステップＳ１１３のＮｏ）、ステップＳ１１４へ遷移する。一方、エラーが発生した場合には（ステップＳ１１３のＹｅｓ）、ステップＳ１１６へ遷移する。
【００８３】
当該マイクロコンピュータのユーザプログラムに従った通常処理において発生するエラーの発生確認を、ＢＩＳＴ内蔵機能ブロック５４−１から順次確認するため（ステップＳ１１２〜Ｓ１１５）、エラー発生番号ｋをインクリメントする（ステップＳ１１４）。
【００８４】
エラー発生に関連したリセット要因フラグ５６−ｋをセットする（ステップＳ１１６）。その後、内部リセット回路５８から出力信号ａ１７が発生し（ステップＳ１０２）、ホットスタートによるリセット処理であることが判定される（ステップＳ１０３のＹｅｓ）。
【００８５】
ステップＳ１１８からステップＳ１２３の一連の処理を順次実行するため、リセット要因フラグ番号ｋに１を設定する（ステップＳ１１７）。
【００８６】
リセット要因フラグの数だけ、リセット要因フラグの判定を繰り返す（ステップＳ１１８〜Ｓ１２３）。
【００８７】
ＢＩＳＴ実行選択回路５１は、リセット要因フラグが「１」であるかを判定する（ステップＳ１１９）。リセット要因フラグが「１」の場合には（ステップＳ１１９のＹｅｓ）、ＢＩＳＴ内臓機能ブロックの自己診断を行う（ステップＳ１２０）。一方、リセット要因フラグが「０」の場合には（ステップＳ１１９のＮｏ）、ＢＩＳＴ内蔵機能ブロックの自己診断を行なうことなく、ステップＳ１２２へ遷移する。
【００８８】
ＢＩＳＴ実行選択回路５１は、どのＢＩＳＴ内臓ブロックのエラーにより発生したリセット要因フラグであるかを判別し、ＢＩＳＴ実行選択情報Ｄ１００により選択されたＢＩＳＴ内蔵機能ブロックの自己診断を実行する（ステップＳ１２０）。
【００８９】
ＢＩＳＴ実行選択情報Ｄ１００とは、ＢＩＳＴ実行選択回路５１内に保有される情報であり、ＢＩＳＴ内蔵機能ブロックから発生したエラーが、他のＢＩＳＴ内蔵機能ブロックのどのブロックに影響を及ぼすのかを示す情報である。
【００９０】
図２は、ＢＩＳＴ実行選択情報Ｄ１００を一例として示す表である。本実施形態では、リセット要因フラグ５６−１として、クロックエラーのようにマイクロコンピュータ全体に影響のある場合のリセット要因を想定し、すべてのＢＩＳＴ内蔵機能ブロックを実行する必要がある場合とする。一方、リセット要因フラグ５６−２〜５６−ｎとして、ＦＬＡＳＨやＲＡＭのＥＣＣエラーやリダンダンシに対応したＣＰＵのエラーのように、マイクロコンピュータの他の機能ブロックに影響のない場合を想定し、選択的に自己診断が可能な場合とする。
【００９１】
ＢＩＳＴ結果判定回路５９は、自己診断（ステップＳ１２０）の結果を判定し、外部出力コントローラ６１を介して、判定の結果を外部装置６２に送信する。
【００９２】
本実施形態では、例えば、リセット要因フラグ５６−１が「１」の場合には、ＢＩＳＴ実行選択情報Ｄ１００に従い、コールドスタート時と同様にすべてのＢＩＳＴ内蔵機能ブロックの自己診断を行う。一方、リセット要因フラグ５６−ｎのみ「１」の場合には、リセット要因フラグ５６−ｎ以外の判定では、ＢＩＳＴ内蔵機能ブロックによる自己診断は行われないが、リセット要因フラグ５６−ｎの判定においては、ＢＩＳＴ実行選択情報Ｄ１００に従い、リセット要因フラグ５６−ｎに関連付けられたＢＩＳＴ内蔵機能ブロックｎの自己診断が行われる。このように、リセット要因により、リセット要因と関連があるＢＩＳＴ内蔵機能ブロックのみ自己診断ＢＩＳＴを実行することで、ＢＩＳＴ実行時間の短縮を図る。
【００９３】
ステップＳ１２０で実行したＢＩＳＴ内蔵機能ブロックに対応したリセット要因フラグをクリアする（ステップＳ１２１）。
【００９４】
ステップＳ１１８〜Ｓ１２３の一連の処理を順次実行するため、リセット要因フラグ番号をインクリメントする（ステップＳ１２２）。
【００９５】
本実施形態において、ＢＩＳＴ実行指示回路５２で制御される自己診断の実行順序については特に明記していないが、自己診断の実行順序を、機能ブロックの重要度の高い順に実施してもよいし、ランダムに実施してもよい。さらに、当該自己診断装置が許容されている消費電流を超えない範囲で複数の機能ブロックを同時に実施し、これを前述の順序で実施してもよい。
【００９６】
本実施形態によると、従来と同等の高信頼性を確保しつつ、自己診断ＢＩＳＴによる実行時間を短縮でき、自己診断ＢＩＳＴ実行時の消費電流も削減することができる。
【００９７】
本実施形態では、ＢＩＳＴ内蔵機能ブロックと関連のあるリセット要因フラグとホットスタート判定回路５３から、ＢＩＳＴ実行を選択することにより、通常動作時にエラーが発生した機能ブロックに対してのみ選択的に自己診断ＢＩＳＴを実行する。これにより、非選択ブロックの自己診断実行時間を削減することができる。
【００９８】
また、本実施形態では、自己診断ＢＩＳＴの実行を選択する際、リセット要因による関連付けを行い、クロックエラーのようにマイクロコンピュータ全体に影響がある場合には自己診断ＢＩＳＴをすべて実行し、ＦＬＡＳＨやＲＡＭのＥＣＣエラーやリダンダンシに対応したＣＰＵのエラーのように、マイクロコンピュータの他の機能ブロックに影響のない場合には選択的に自己診断ＢＩＳＴを実行する。これにより、従来と同等の高信頼性を確保することができる。
【００９９】
一般に、マイクロコンピュータの電流許容値の最大の値を用いてＢＩＳＴが実行されるが、本実施形態では、選択的に自己診断ＢＩＳＴを実行し、ＢＩＳＴの実行時間を短縮する。これにより、平均消費電流を削減することができる。
【０１００】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【０１０１】
２０    ＢＩＳＴコントローラ
３０    メモリ
４０    主コントローラ
５１    ＢＩＳＴ実行選択回路
５２    ＢＩＳＴ実行指示回路
５３    ホットスタート判定回路
５４−１，５４−２，…，５４−ｎ    ＢＩＳＴ内蔵機能ブロック
５５    リセット回路
５６−１，５６−２，…，５６−ｎ    リセット要因フラグ
５７    パワーオンリセット回路
５８    内部リセット回路
５９    ＢＩＳＴ結果判定回路
６０    ＢＩＳＴ期待値格納メモリ
６１    外部出力コントローラ
６２    外部装置
７２    ＢＩＳＴ実行指示入出力バス
１０１，１０２，１１１，１１２    機能ブロック
２０１，２０２，２１１，２１２    ＢＩＳＴ回路
ａ１３−１，ａ１３−２，…，ａ１３−ｎ    リセット要求出力信号
ａ１４−１，ａ１４−２，…，ａ１４−ｎ    選択制御出力信号
ａ１５−１，ａ１５−２，…，ａ１５−ｎ    リセット出力信号
ａ１６    出力信号
ａ１７    出力信号
ａ１８    コールドスタート判定出力信号
ａ１９    ホットスタート判定出力信号
ａ２０−１，ａ２０−２，…，ａ２０−ｎ    出力信号
ａ２１    スタートステータス保持結果クリア信号
ａ２３−１，ａ２３−２，…，ａ２３−ｎ    クリア制御信号
ａ２４−１，ａ２４−２，…，ａ２４−ｎ    結果出力信号
ａ２５    ＢＩＳＴ結果入出力信号
ａ２６    ＢＩＳＴ結果外部入出力信号
ａ２７    外部出力コントローラ入出力信号
Ｄ１００    ＢＩＳＴ実行選択情報
【図１】
2012181564.tif 000003
【図２】
2012181564.tif 000004
【図３】
2012181564.tif 000005
【図４】
2012181564.tif 000006
【図５】
2012181564.tif 000007