(57)【要約】【課題】デバッグ時の消費電力増加を抑制したマイクロコントローラを提供すること。【解決手段】本発明にかかるマイクロコントローラ１００は、第１信号処理回路１１１と、第１信号処理回路と同様の信号処理をする第２信号処理回路１１３と、第１信号処理回路の処理結果と第２信号処理回路の処理結果とを比較してエラーを検出した場合にはエラー信号を出力する比較回路１１７と、第２信号処理回路及び比較回路１１７の動作を抑制するための抑制信号を受け取る抑制信号入力部と、抑制信号入力部から抑制信号を受け取り、第２信号処理回路及び比較回路の動作を抑制する抑制回路１７０と、第２信号処理回路及び比較回路の動作を抑制した場合に、エラー信号に代えて、擬似エラー信号を出力する擬似エラー信号出力回路１１２と、を備える。【選択図】図２
2019061392.tif 000002
【特許請求の範囲】
【請求項１】
第１信号処理回路と、
前記第１信号処理回路と同様の信号処理をする第２信号処理回路と、
前記第１信号処理回路の処理結果と前記第２信号処理回路の処理結果とを比較してエラーを検出した場合にはエラー信号を出力する比較回路と、
前記第２信号処理回路及び前記比較回路の動作を抑制させるための抑制信号を受け取る抑制信号入力部と、
前記抑制信号入力部から前記抑制信号を受け取り、前記第２信号処理回路及び前記比較回路の動作を抑制する抑制回路と、
前記第２信号処理回路及び前記比較回路の動作を抑制した場合に、前記エラー信号に代えて擬似エラー信号を出力する擬似エラー信号出力回路と、
を備えたマイクロコントローラ。
【請求項２】
外部からデバッグ開始信号を受け取ることによりデバッグ処理を行うデバッグ回路をさらに備え、
前記抑制信号は、前記デバッグ開始信号に含まれる、
請求項１に記載のマイクロコントローラ。
【請求項３】
前記擬似エラー信号出力回路は、前記抑制信号を受け取った場合、且つ、前記第１信号処理回路が起動時に出力する予め設定された読出信号を検出した場合に、前記擬似エラー信号を出力する、
請求項２に記載のマイクロコントローラ。
【請求項４】
前記第１信号処理回路は、中央演算部のマスタコアを含み、
前記第２信号処理回路は、中央演算部のチェッカコアを含む、
請求項１に記載のマイクロコントローラ。
【請求項５】
前記第１信号処理回路は、ダイレクトメモリアクセスコントローラのマスタコアを含み、
前記第２信号処理回路は、ダイレクトメモリアクセスコントローラのチェッカコアを含む、
請求項１に記載のマイクロコントローラ。
【請求項６】
前記第１信号処理回路は、前記第１信号処理回路の出力を遅延させる第１の遅延器を含み、
前記第２信号処理回路は、前記第２信号処理回路の入力を遅延させる第２の遅延器を含む、
請求項１に記載のマイクロコントローラ。
【請求項７】
前記第２信号処理回路の電源を遮断する電源遮断回路をさらに備え、
前記第２信号処理回路の動作を抑制する場合には、前記電源遮断回路により前記第２信号処理回路の電源を遮断する、
請求項１に記載のマイクロコントローラ。
【請求項８】
前記抑制回路は、複数の回路ブロックの動作を個別に抑制する回路をさらに備え、
前記抑制回路は、前記デバッグ処理中の前記マイクロコントローラの消費電力に応じて、前記複数の回路ブロックの動作を個別に抑制する、
請求項２に記載のマイクロコントローラ。
【請求項９】
前記抑制回路は、複数の回路ブロックの動作を個別に抑制する回路と、前記マイクロコントローラの内部又は周辺部の温度を測定する温度センサと、をさらに備え、
前記抑制回路は、前記デバッグ処理中の前記温度に応じて、前記複数の回路ブロックの動作を個別に停止させる、
請求項２に記載のマイクロコントローラ。
【請求項１０】
第１信号処理回路と、当該第１信号処理回路と同様の信号処理をする第２信号処理回路と、前記第１信号処理回路の処理結果と前記第２信号処理回路の処理結果とを比較してエラーを検出した場合にはエラー信号を出力する比較回路と、を有するマイクロコントローラの制御方法であって、
デバッグ開始信号を受け取り、
前記デバッグ開始信号に応じて前記第２信号処理回路及び前記比較回路の動作を抑制し、
前記第２信号処理回路及び前記比較回路の動作を抑制した場合に、前記エラー信号に代えて擬似エラー信号を出力する、
マイクロコントローラの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロコントローラ及びマイクロコントローラの制御方法に関する。
【背景技術】
【０００２】
車載用など高い信頼性が要求される分野の製品に使用される半導体装置は、回路の一部を二重化することにより冗長性を高めて信頼性を向上させる場合がある。回路の二重化を採用している例としては、半導体装置のＣＰＵ（central processing unit）を二重化し、デュアルコアロックステップ方式を採用したマイクロコントローラ製品が挙げられる。デュアルコアロックステップ方式は、１つのコアのように見えて、実際には２つのコアをロックステップ機構で結んでおり、同じ結果を出していることを確認して動作する。このように２つのコアから出力された結果を確認しながら動作することにより、半導体装置の動作の信頼性を高めている。
【０００３】
特許文献１には、少なくとも２つの実施ユニットを有する計算機システムにおける切替え装置が記載されている。かかる切り替え装置は、切替え手段が設けられている。その切替え手段は、これら実施ユニットが少なくとも２つの駆動モードの間で切り替るように形成されている。その場合に第１の駆動モードは比較モードに相当し、第２の駆動モードはパフォーマンスモードに相当する。かかる切り替え装置は、インターラプトコントローラが設けられており、さらに少なくとも３つのメモリ領域が設けられている。その場合にメモリ領域へのアクセスが、少なくとも１つの第１の実施ユニットに第１のメモリ領域が対応づけられ、少なくとも１つの第２の実施ユニットには第２のメモリ領域が対応づけられ、少なくとも１つの第３のメモリ領域が少なくとも２つの実施ユニットに対応づけることができるように構成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００８−５１８３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
回路を二重化した半導体装置は、二重化した回路分の消費電力の増大に伴い、最大消費電力が増大する可能性がある。半導体装置の１つであるマイクロコントローラの場合、消費電力が最大となるのは、例えば、全てのＣＰＵコアが高負荷で動作し、且つ、デバッグを実施しているときである。そのため、デバッグを実施する際に動作する回路が二重化されていると、従来よりも消費電力が増大する。
【０００６】
しかしながら、デバッグを実施するのは開発段階であることが多い。このようなデバッグ中の最大消費電力に対応させて量産品の周辺回路の設計や熱設計を行うことは、部品コストやスペース等が過剰になってしまうおそれがある。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施の形態によれば、マイクロコントローラは、
第１信号処理回路と、
前記第１信号処理回路と同様の信号処理をする第２信号処理回路と、
前記第１信号処理回路の処理結果と前記第２信号処理回路の処理結果とを比較してエラーを検出した場合にはエラー信号を出力する比較回路と、
前記第２信号処理回路及び前記比較回路の動作を抑制させるための抑制信号を受け取る抑制信号入力部と、
前記抑制信号入力部から前記抑制信号を受け取り、前記第２信号処理回路及び前記比較回路の動作を抑制する抑制回路と、
前記第２信号処理回路及び前記比較回路の動作を抑制した場合に、前記エラー信号に代えて擬似エラー信号を出力する擬似エラー信号出力回路と、
を備えたものである。
【０００９】
一実施の形態によれば、マイクロコントローラの制御方法は、
第１信号処理回路と、当該第１信号処理回路と同様の信号処理をする第２信号処理回路と、前記第１信号処理回路の処理結果と前記第２信号処理回路の処理結果とを比較してエラーを検出した場合にはエラー信号を出力する比較回路と、を有するマイクロコントローラの制御方法であって、
デバッグ開始信号を受け取り、
前記デバッグ開始信号に応じて前記第２信号処理回路及び前記比較回路の動作を抑制し、
前記第２信号処理回路及び前記比較回路の動作を抑制した後に、前記エラー信号に代えて擬似エラー信号を出力するものである。
【発明の効果】
【００１０】
前記一実施の形態によれば、デバッグ時の消費電力増加を抑制したマイクロコントローラを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかるマイクロコントローラの構成概要図である。
【図２】実施の形態１にかかる中央演算部１１０周辺のブロック図である。
【図３】通常動作モードにおけるマイクロコントローラの起動シーケンスのフローチャートである。
【図４】実施の形態１にかかる中央演算部１１０周辺のブロック図である。
【図５】デバッグモードにおけるマイクロコントローラの起動シーケンスのフローチャートである。
【図６】実施の形態１の変形例にかかるマイクロコントローラのブロック図である。
【図７】実施の形態２にかかるマイクロコントローラのブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【００１３】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１４】
さらに、以下の実施の形態において、その構成要素（動作ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００１５】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１６】
＜実施の形態１＞
以下に、図１〜図５を参照しながら、実施の形態１について説明する。
【００１７】
まず、図１に例示したマイクロコントローラについて説明する。図１は、実施の形態１にかかるマイクロコントローラの構成概要図である。マイクロコントローラ１００は、種々のシステムを制御するためのコントロール用ＩＣである。制御対象であるシステムとは、例えば自動車のパワートレインシステム、エアコントロールシステム、又は自動運転システム等である。マイクロコントローラ１００は、中央演算部１１０、ＤＭＡ制御部１２０、インターフェイス部１３０、記憶部１５０を主な構成としている。また、上述した主な構成要素は、マスタバス１４１及びチェッカバス１４２にそれぞれ接続している。
【００１８】
中央演算部１１０は、受け取った信号に対して演算等の処理を行い、処理後の信号を出力する演算機能を有している。中央演算部１１０は、マスタコア１１１、チェッカコア１１３、及び自己診断制御部１１２、１１４を有している。
【００１９】
マスタコア１１１は、中央演算部１１０の演算機能を実現するための演算器である。チェッカコア１１３は、マスタコア１１１と同様の回路構成を有している。したがって、マスタコア１１１とチェッカコア１１３とは、同一の入力信号に対して同一の演算結果を出力する。中央演算部１１０は、マスタコア１１１とチェッカコア１１３とにそれぞれ同一の信号を入力し、それぞれが出力する演算結果を比較することにより、マスタコア１１１が正常に動作していることを保証する。
【００２０】
尚、演算器とは、いわゆるＣＰＵと呼ばれるものであってもよいし、ＧＰＵ（Graphics Processing Unit）と呼ばれるものであってもよい。また、演算器は、信号処理回路と称することもできる。つまり、中央演算部１１０は、第１の信号処理回路としてマスタコアを有し、同様に、第２の信号処理回路としてチェッカコアを有している。
【００２１】
自己診断制御部１１２は、マスタコア１１１の動作が正常に行われるか否かを診断する機能の一部を担っている。具体例を挙げると、自己診断制御部１１２は、予め設定されたチェック入力信号をマスタコア１１１に入力する。そして、自己診断制御部１１２は、チェック入力信号に対する演算結果であるチェック出力信号をマスタコア１１１から受け取り、受け取ったチェック出力信号を記憶する。
【００２２】
自己診断制御部１１４は、チェッカコア１１３に対して上述した自己診断制御部１１２と同様の機能を有している。具体例を挙げると、自己診断制御部１１４は、予め設定されたチェック入力信号をチェッカコア１１３に入力する。そして、自己診断制御部１１４は、チェック入力信号に対する演算結果であるチェック出力信号をチェッカコア１１３から受け取り、受け取ったチェック出力信号を記憶する。
【００２３】
中央演算部１１０は、自己診断制御部１１２、１１４がそれぞれ記憶したチェック出力信号を比較することにより、マスタコア１１１が正常に動作しているか否かを診断する。中央演算部１１０は、マスタコア１１１と、マスタコア１１１と同様の回路構成を有するチェッカコア１１３とを有することにより、マスタコア１１１の動作信頼性を高めている。
【００２４】
ＤＭＡ制御部１２０は、中央演算部１１０を介さずにメモリのデータにアクセスするＤＭＡ（Direct Memory Access）の機能を有している。ＤＭＡ制御部１２０は、マスタコア１２１、チェッカコア１２３、及び自己診断制御部１２２、１２４を有している。マスタコア１２１は、ＤＭＡの機能を実現するための回路である。すなわち、マスタコア１２１は、記憶部１５０と図示しないタイマ部、ＡＤ（Analog to Digital）変換部、又はＤＡ（Digital to Analog）変換部などの入出力部との間のデータ転送を行う。
【００２５】
チェッカコア１２３は、マスタコア１２１と同様の回路構成を有している。したがって、マスタコア１２１とチェッカコア１２３とは、同一の入力信号に対して同一の信号を出力する。ＤＭＡ制御部１２０は、マスタコア１２１とチェッカコア１２３とにそれぞれ同一の信号を入力し、それぞれが出力する信号を比較することにより、マスタコア１２１が正常に動作していることを保証する。
【００２６】
自己診断制御部１２２、１２４は、中央演算部１１０が有している自己診断制御部１１２、１１４と同様の機能を有している。そのためここでの詳述は省略する。ＤＭＡ制御部１２０は、マスタコア１２１と、マスタコア１２１と同様の回路構成を有するチェッカコア１２３とを有することにより、マスタコア１２１の動作信頼性を高めている。
【００２７】
インターフェイス部１３０は、マイクロコントローラ１００の外部と信号の授受を行う。インターフェイス部１３０は、例えばＣＡＮ（Controller Area Network）、ＦｌｅｘＲａｙ、又はイーサネット（登録商標）等の車内ＬＡＮや、ＪＴＡＧ（Joint Test Action Group）のような、システム開発用のインターフェイス等を有している。
【００２８】
記憶部１５０は、マイクロコントローラ１００の主記憶部であり、例えばランダムアクセスメモリ（ＲＡＭ（random access memory））と呼ばれる揮発性の記憶部を含んでいる。記憶部１５０は、マスタＲＡＭ制御部１５１及びチェッカＲＡＭ制御部１５２に接続している。
【００２９】
以上に説明したように、マイクロコントローラ１００は、主な構成要素が二重化されている。構成要素を二重化することにより、マイクロコントローラ１００は動作信頼性を高めている。
【００３０】
次に、図２を参照しながらマイクロコントローラ１００の機能について説明する。図２は、実施の形態１にかかる中央演算部１１０周辺のブロック図である。
【００３１】
マイクロコントローラ１００の機能についての説明に先駆けて、図２に示したマイクロコントローラ１００の構成について説明する。マイクロコントローラ１００は、中央演算部１１０に加え、デバッグ回路１６０、及びデバッグ用端子１７０を有している。
【００３２】
中央演算部１１０は、図１を参照しながら説明したマスタコア１１１、チェッカコア１１３、自己診断制御部１１２、１１４に加えて、遅延回路１１５、１１６、比較回路１１７、及び抑制回路１１８を有している。
【００３３】
遅延回路１１５、１１６は、受け取った信号を遅延させて出力する回路である。遅延回路１１５、１１６は、例えばフリップフロップ回路をカスケード状に構成した回路により実現される。遅延回路１１５及び遅延回路１１６は、同じ回路構成を有しているため、入力信号を遅延させる時間は等しくなるように設定されている。遅延回路１１５は、チェッカコア１１３の入力段に接続している。遅延回路１１６は、マスタコア１１１の出力段に接続している。したがって、中央演算部１１０が有しているマスタコア１１１及びチェッカコア１１３は、クロック遅延型デュアルコアロックステップ方式の構成を呈している。
【００３４】
自己診断制御部１１２は、レジスタ１１２ａ及びレジスタ１１２ｂを有している。レジスタ１１２ａ及びレジスタ１１２ｂは、システム起動時に動作する自己診断において使用される。図２に例示したレジスタ１１２ａのレジスタアドレスは、アドレスＲＥＧ＿Ａ０である。同様に、レジスタ１１２ｂのレジスタアドレスは、アドレスＲＥＧ＿Ｂ０である。自己診断制御部１１２は、出力６０を有している。自己診断制御部１１２は、予め設定された値が入力された場合に出力６０に擬似エラー信号を出力するように設定されている。擬似エラー信号は、比較回路１１７が出力するエラー信号と同じ信号である。
【００３５】
自己診断制御部１１４は、レジスタ１１４ａ及びレジスタ１１４ｂを有している。レジスタ１１４ａ及びレジスタ１１４ｂは、システム起動時に動作する自己診断において使用される。図２に例示したレジスタ１１４ａのレジスタアドレスは、アドレスＲＥＧ＿Ａ１である。同様に、レジスタ１１４ｂのレジスタアドレスは、アドレスＲＥＧ＿Ｂ１である。
【００３６】
自己診断制御部１１２のレジスタ１１２ａと、自己診断制御部１１４のレジスタ１１４ａとは、レジスタアドレスが異なる。しかし、レジスタ１１２ａとレジスタ１１４ａとは、レジスタグループＡとして、同じ値が書き込まれる。同様に、レジスタ１１２ｂとレジスタ１１４ｂとは、レジスタグループＢとして、同じ値が書き込まれる。ただし、レジスタグループＡの値と、レジスタグループＢの値は、異なる値が書き込まれるように設定されている。
【００３７】
比較回路１１７は、マスタコア１１１から受け取った信号と、チェッカコア１１３から受け取った信号とを比較し、比較結果を出力２０に出力する。例えば、マスタコア１１１から受け取った信号と、チェッカコア１１３から受け取った信号とが同じだった場合、比較回路１１７は、比較結果として正常である旨の正常信号を出力する。一方、マスタコア１１１から受け取った信号と、チェッカコア１１３から受け取った信号とが同じではなかった場合、比較回路１１７は、異常である旨のエラー信号を出力する。
【００３８】
抑制回路１１８は、デバッグ用端子１７０からデバッグ開始信号を受ける。デバッグ開始信号を受けると、抑制回路１１８は、中央演算部１１０内の構成要素の内、予め設定された回路の動作を抑制する。尚、回路の動作を抑制するとは、予め設定された回路が通常の機能を発揮することの内容に電源供給を停止することや、予め設定された回路が所定の信号を出力しないように、入力信号を停止したりすること等をいう。
【００３９】
デバッグ回路１６０は、マスタコア１１１の動作に以上があるか否かを診断する。例えば、デバッグ回路１６０は、予め設定された診断入力信号を発生させ、マスタコア１１１に入力する。そして、デバッグ回路１６０は、マスタコア１１１が出力した診断出力信号を受け取り、予め記憶している期待値との照合を行う。照合結果に応じて、デバッグ回路１６０は、マスタコア１１１が正常か否かを判定する。デバッグ回路１６０は、マスタコア１１１及びデバッグ用端子１７０と接続している。また、デバッグ回路１６０は、出力４０を有しており、出力４０にデバッグ結果を出力する。
【００４０】
デバッグ用端子１７０は、マイクロコントローラ１００をデバッグする際に外部から入力５０を介して信号を受け付けるための端子である。デバッグ用端子１７０は、コンピュータ等のデバッグ用外部機器からのデバッグ開始信号を受け取り、受け取ったデバッグ開始信号をマイクロコントローラ１００内部へ出力する。デバッグ用端子１７０は、中央演算部１１０及びデバッグ回路１６０に接続している。
【００４１】
次に、マイクロコントローラ１００の機能について具体例を挙げて説明する。マイクロコントローラ１００は、クロック遅延型デュアルコアロックステップ方式によりマスタコア１１１の動作が正常か否かを診断する機能を有している。
【００４２】
以下に、中央演算部１１０の機能の一例を説明する。例えば、中央演算部１１０は入力１０から任意の入力信号を受け取る。受け取った任意の入力信号はマスタコア１１１及びチェッカコア１１３にそれぞれ入力される。そしてマスタコア１１１及びチェッカコア１１３は、それぞれが処理結果を比較回路１１７に出力する。比較回路１１７が２つの信号を比較し、マスタコア１１１及びチェッカコア１１３が同じ処理結果を出力していた場合、比較回路１１７は、正常信号を出力する。あるいは、比較回路１１７は、エラー信号を出力しない。その場合、マスタコア１１１が出力３０に出力した信号は、正常動作として処理が継続される。
【００４３】
一方、マスタコア１１１及びチェッカコア１１３が同じ処理結果を出力していない場合、比較回路１１７は、エラー信号を出力する。その場合、マスタコア１１１が出力３０に出力した信号は、正常動作として処理が継続されず、異常発生に対応した処理が行われる。
【００４４】
次に、図２及び図３を参照しながら、通常動作モードのシステム起動時におけるマイクロコントローラ１００の自己診断機能について説明する。マイクロコントローラ１００の自己診断機能は、マスタコア１１１の出力値とチェッカコア１１３の出力値を異なる値に設定し、エラーが検出できることを診断する。
【００４５】
尚、ここで説明する通常動作モードとは、デバッグモードではない場合をいう。つまり、通常動作モードの場合、デバッグ用端子１７０に信号は入力されない。また、自己診断機能とは、上述のクロック遅延型デュアルコアロックステップ方式が正常に機能しているか否かを診断する機能である。また、図３に破線で示した要素は、以下に説明する通常動作モードのシステム起動時におけるマイクロコントローラ１００の自己診断機能においてアクティブでないことを表している。
【００４６】
図３は、通常動作モードにおけるマイクロコントローラの起動時のフローチャートである。図３に示したフローチャートは、マイクロコントローラ１００の起動シーケンスである。
【００４７】
まず、マイクロコントローラ１００は、起動すると、自己診断信号の書き込み処理を行う（ステップＳ１０）。具体的には、マイクロコントローラ１００は、自己診断制御部１１２のレジスタ１１２ａ及びレジスタ１１２ｂに対して予め設定された値を書き込む。同時に、マイクロコントローラ１００は、自己診断制御部１１４のレジスタ１１４ａ及びレジスタ１１４ｂに対して予め設定された値を書き込む。
【００４８】
上述のように、自己診断制御部１１２のレジスタ１１２ａに書き込む値と、自己診断制御部１１４のレジスタ１１４ａに書き込む値は同じである。また、自己診断制御部１１２のレジスタ１１２ｂに書き込む値と、自己診断制御部１１４のレジスタ１１４ｂに書き込む値は同じである。ただし、マイクロコントローラ１００は、かかる起動シーケンスにおいて、自己診断信号を書き込んだ後に、自己診断信号を読み込んで比較したときに比較回路１１７がエラー信号を出力するように設定されている。具体的には、比較回路１１７に出力する際の値として、マスタコア１１１側の出力値は、レジスタグループＡのレジスタ１１２ａの値が出力される。一方、マスタコア１１３側の出力値は、レジスタグループＢのレジスタ１１２ｂの値が出力される。このように、通常動作時の起動シーケンスにおいては、異なる値が比較回路１１７に出力されるように設定されている。比較回路１１７がエラー信号を出力する場合、クロック遅延型デュアルコアロックステップ方式は、正常に機能していると診断される。
【００４９】
尚、当然ながら上述の設定は一例であり、マスタコア１１１の出力とチェッカコア１１３の出力とが異なるように設定されていれば、上述の構成に限られない。
【００５０】
以下により具体的な例と共に自己診断機能について説明する。例えば、マイクロコントローラ１００は、自己診断信号として、レジスタ１１２ａ及びレジスタ１１４ａにそれぞれ“０ｘＡＡ”を書き込み、レジスタ１１２ｂ及びレジスタ１１４ｂにそれぞれ“０ｘ５５”を書き込む（ステップＳ１０）。
【００５１】
次に、マイクロコントローラ１００は、書き込んだ自己診断信号の読出しを行う（ステップＳ１１）。具体的には、例えば、マスタコア１１１は、自己診断制御部１１２のレジスタ１１２ａに書き込まれた値“０ｘＡＡ”を読み出して比較回路１１７に出力する。同時に、チェッカコア１１３は、自己診断制御部１１４のレジスタ１１４ｂに書き込まれた値“０ｘ５５”を読み出して比較回路１１７に出力する。
【００５２】
次に、比較回路１１７は、マスタコア１１１及びチェッカコア１１３が出力した自己診断信号を比較する。そして、比較回路１１７は、エラーが発生しているか否かを判定する（ステップＳ１２）。マスタコア１１１及びチェッカコア１１３が出力した値が同じ値ではなかった場合、比較回路１１７は、エラーが発生していることを判定する。一方、マスタコア１１１及びチェッカコア１１３が出力した値が同じ値だった場合、比較回路１１７は、エラーが発生していることを判定しない。
【００５３】
比較回路１１７が自己診断信号を比較してエラーが発生していることを判定した場合（ステップＳ１２：Ｙｅｓ）、比較回路１１７はエラー信号を出力２０に出力する（ステップＳ１３）。比較回路１１７がエラー信号を出力した場合、自己診断機能により、上述のクロック遅延型デュアルコアロックステップ方式が正常に機能している。この場合、マイクロコントローラ１００の起動シーケンスは正常に終了し、マイクロコントローラ１００は、次のシーケンスに移行する。
【００５４】
上述した例の場合、比較回路１１７は、レジスタ１１２ａの値“０ｘＡＡ”とレジスタ１１４ｂの値“０ｘ５５”とを比較する。レジスタ１１２ａの値“０ｘＡＡ”とレジスタ１１４ｂの値“０ｘ５５”とは同じではない。したがって、上述のクロック遅延型デュアルコアロックステップ方式が正常に機能している場合は、比較回路１１７がエラー信号を出力する。
【００５５】
比較回路１１７が自己診断信号を比較してエラーが発生していることを判定しない場合（ステップＳ１２：Ｎｏ）、比較回路１１７は正常信号を出力２０に出力する（ステップＳ１３）。比較回路１１７がエラー信号を出力した場合、自己診断機能により、上述のクロック遅延型デュアルコアロックステップ方式が正常に機能していない。この場合は、上述のクロック遅延型デュアルコアロックステップ方式に異常が生じているため、マイクロコントローラ１００は、異常終了する（ステップＳ１５）。
【００５６】
次に、図４を参照しながらデバッグモードにおける主要な機能ブロックの働きについて説明する。図４は、実施の形態１にかかる中央演算部１１０周辺のブロック図である。図４において、デバッグ用端子１７０は、コンピュータ等のデバッグ用外部機器からのデバッグ開始信号を受け取り、受け取ったデバッグ開始信号をマイクロコントローラ１００内部へ出力する。
【００５７】
デバッグ開始信号は、デバッグ用端子１７０を介して、中央演算部１１０の有する抑制回路１１８に出力されると同時に、マイクロコントローラ１００内のデバッグ回路１６０に出力される。
【００５８】
デバッグ用端子１７０からデバッグ開始信号を受け取ったデバッグ回路１６０は、予め設定された処理に基づいて、マイクロコントローラ１００のデバッグ処理を行う。具体的なデバッグ処理の内容は、本実施の形態に関わらず一般的な技術である。そのため、ここでは説明を省略する。
【００５９】
デバッグ用端子１７０からデバッグ開始信号を受け取った抑制回路１１８は、予め設定された回路の動作を抑制させる。具体的には、抑制回路１１８は、遅延回路１１５、１１６、チェッカコア１１３、自己診断制御部１１４、及び比較回路１１７の動作を停止させる。マイクロコントローラ１００は、これにより、クロック遅延型デュアルコアロックステップ方式の機能を停止させる。つまり、デバッグモードを開始すると、チェッカコア１１３は信号を出力しない。同時に、比較回路１１７も、出力２０から信号を出力しない。尚、図４に破線で示した構成要素は、抑制回路１１８により動作を抑制させられている状態を表している。
【００６０】
一方、デバッグモードにおいてクロック遅延型デュアルコアロックステップ方式の機能が停止した場合、自己診断制御部１１２は、出力６０に予め設定された擬似エラー信号を出力する。自己診断制御部１１２が擬似エラー信号を出力することにより、マイクロコントローラ１００はデバッグモードにおいて起動シーケンスを完了させ、次の処理を進めることができる。
【００６１】
また、マイクロコントローラ１００は、クロック遅延型デュアルコアロックステップ方式の機能が停止することにより、デバッグモードにおいて、クロック遅延型デュアルコアロックステップ方式の機能が停止した分の消費電力が低下する。ただし、デバッグモードにおいては、デバッグ回路が起動する。そのため、通常動作モードと比較すると、マイクロコントローラ１００の消費電力は、デバッグ回路が起動する分の消費電力が増大し、クロック遅延型デュアルコアロックステップ方式の機能が停止する分の消費電力が低減する。
【００６２】
次に、図５を参照しながら、デバッグモードにおける起動時の処理について説明する。図５は、デバッグモードにおけるマイクロコントローラの起動シーケンスのフローチャートである。
【００６３】
まず、マイクロコントローラ１００が起動すると、抑制回路１１８及びデバッグ回路は、デバッグ開始信号を受け取る（ステップＳ２０）。これにより、マイクロコントローラ１００は、デバッグモードに対応した処理を開始する。
【００６４】
次に、抑制回路１１８は、受け取ったデバッグ開始信号に応じて、図４において説明したように、予め設定された回路の動作を抑制する（ステップＳ２１）。これにより、クロック遅延型デュアルコアロックステップ方式の機能が停止する。
【００６５】
次に、マイクロコントローラ１００は、自己診断信号の書き込み処理を行う（ステップＳ２２）。具体的には、マイクロコントローラ１００は、自己診断制御部１１２のレジスタ１１２ａ及びレジスタ１１２ｂに対して予め設定された値を書き込む。
【００６６】
次に、マイクロコントローラ１００は、書き込んだ自己診断信号の読み出しを行う（ステップＳ２３）。具体的には、マスタコア１１１が自己診断制御部１１２のレジスタ１１２ａ及びレジスタ１１２ｂに書き込まれた値を読み出す。
【００６７】
次に、自己診断制御部１１２は、擬似エラー信号を出力する（ステップＳ２４）。自己診断制御部１１２は、デバッグモードの起動シーケンスでは、マスタコア１１１が読み出し処理を行った後に擬似エラー信号を出力するように設定されている。例えば、自己診断制御部１１２は、抑制回路１１８からの信号及びレジスタ１１２ａ又はレジスタ１１２ｂへの読み出し動作に応じて、擬似エラー信号を出力するように設定され得る。
【００６８】
自己診断制御部１１２が擬似エラー信号を出力すると、自己診断機能により、上述のクロック遅延型デュアルコアロックステップ方式が正常に機能している場合と同様に処理が行われる。この場合、マイクロコントローラ１００のデバッグモードの起動シーケンスは正常に終了し、マイクロコントローラ１００は、次のシーケンスに移行する。
【００６９】
実施の形態１は、このような構成により、デバッグ時の消費電力増加を抑制することができるマイクロコントローラを提供することができる。
【００７０】
＜実施の形態１の変形例＞
次に、実施の形態１の変形例について説明する。図１に示したように、マイクロコントローラ１００は、ＤＭＡ制御部１２０を有している。ＤＭＡ制御部１２０は、中央演算部１１０と同様に、回路が二重化されている。そして、二重化された回路は、クロック遅延型デュアルコアロックステップ方式が適用されている。つまり、ＤＭＡ制御部１２０は第１の信号処理回路としてマスタコアを有し、同様に、第２の信号処理回路としてチェッカコアを有している。
【００７１】
図６は、実施の形態１の変形例にかかるマイクロコントローラのブロック図である。実施の形態１の変形例にかかるマイクロコントローラ２００は、実施の形態１について図２〜図５を参照しながら説明した構成と同様の構成をＤＭＡ制御部１２０にも適用したものである。すなわち、実施の形態１の変形例にかかるＤＭＡ制御部１２０は、マスタコア１２１、チェッカコア１２３、自己診断制御部１２２、１２４、遅延回路１１５、１１６、比較回路１２７、抑制回路１２８を主な構成要素として有している。マスタコア１２１及びチェッカコア１２３を除く各構成要素の機能は、実施の形態１において説明した対応する各要素と同様である。そのため、ここでは詳細説明を省略する。
【００７２】
実施の形態１の変形例は、このような構成により、デバッグ時の消費電力増加を抑制することができるマイクロコントローラを提供することができる。
【００７３】
尚、当然ながら、実施の形態１の構成と、実施の形態１の変形例の構成は、排他的なものではない。つまり、マイクロコントローラ１００又はマイクロコントローラ２００は、実施の形態１において説明した中央演算部１１０と実施の形態１の変形例において説明したＤＭＡ制御部１２０とをそれぞれ別個に備えることもできるし、これらを同時に備えることもできる。また、中央演算部１１０に相当する演算部が複数存在する場合は、それらの全てに同様の構成を適用することができる。さらに、中央演算部１１０、ＤＭＡ制御部１２０に限らず、デュアルコアロックステップ方式の機能を有する二重化された構成要素であれば、上述した構成と同様の構成及び効果を備えることができる。
【００７４】
実施の形態１にかかるマイクロコントローラ１００、２００は、遅延回路を有するクロック遅延型デュアルコアロックステップ方式を採用している。しかし、これらは遅延回路を有さないデュアルコアロックステップ方式であってもよい。
【００７５】
＜実施の形態２＞
次に、図７を参照しながら、実施の形態２について説明する。図７は、実施の形態２にかかるマイクロコントローラのブロック図である。図７に示したマイクロコントローラ３００は、クロック遅延型デュアルコアロックステップ方式の機能を抑制するための構成が、実施形態１にかかるマイクロコントローラ１００と異なる。
【００７６】
以下に、実施の形態１と異なる構成について説明する。図７に示したマイクロコントローラ３００は、電源遮断回路３１０を有している。電源遮断回路３１０は、予め設定された信号を受け取ることにより、接続している回路の電源を遮断する機能を有している。
【００７７】
図７に例示した電源遮断回路３１０の詳細を説明する。電源遮断回路３１０は、ＭＯＳＦＥＴ（metal-oxide-semiconductor field-effect transistor）を有している。かかるＭＯＳＦＥＴは、チェッカコア１１３、自己診断制御部１１４、遅延回路１１５、１１６、比較回路１１７のＧＮＤラインにそれぞれ介在している。また、電源遮断回路３１０は、デバッグ用端子１７０が出力する信号を受け取る。デバッグ用端子１７０が出力する信号は、電源遮断回路３１０が有するＭＯＳＦＥＴのゲートに接続されている。ここで、電源遮断回路３１０が有するＭＯＳＦＥＴは、いわゆるｎ型のＭＯＳＦＥＴである。そのため、電源遮断回路３１０は、デバッグ用端子１７０からデバッグ開始信号を受け取ることにより、接続しているチェッカコア１１３、自己診断制御部１１４、遅延回路１１５、１１６、比較回路１１７のＧＮＤ接続を遮断する。したがって、電源遮断回路３１０は、接続しているチェッカコア１１３、自己診断制御部１１４、遅延回路１１５、１１６、比較回路１１７に対して電源の供給を停止させることができる。
【００７８】
このように、動作を抑制する対象の回路に対して電源の供給を停止することにより、マイクロコントローラ３００は、デバッグ時に動作を抑制する回路のリーク電流を低減することができる。したがって、実施の形態２にかかるマイクロコントローラ３００は、デバッグ時の消費電力増加を抑制することができるマイクロコントローラを提供することができる。
【００７９】
尚、電源遮断回路３１０の構成は主な構成を例示したものであり、具体的な回路構成は図７に例示したものに限らない。
【００８０】
マイクロコントローラ３００は、上述したような所定の回路ブロックが二重化された回路及びそのような二重化された回路に付随する電源遮断回路を複数有していてもよい。その場合、かかる複数の電源遮断回路は、二重化された回路の一部である回路ブロックの電源をそれぞれ遮断する。この場合、マイクロコントローラ３００は、デバッグ開始信号に応じて、これら複数の電源遮断回路を同時に起動し、複数の二重化された回路の一部である回路ブロックの動作を停止させることができる。
【００８１】
また、マイクロコントローラ３００は、これら複数の二重化された回路の一部である回路ブロックの動作を停止させる複数の電源遮断回路を、段階的に停止させてもよい。その場合、例えば、マイクロコントローラ３００は、デバッグ処理中にマイクロコントローラ３００の動作パラメータに応じて、予め設定された回路ブロックの動作を停止させることができる。動作パラメータとは、例えば、温度、電流値、電圧値、及び消費電力又はこれらの組み合わせである。この場合、一部の回路ブロックが停止した回路は、上述したような擬似エラー信号を出力する機能により、二重化された回路のチェック動作を処理することができる。これにより、マイクロコントローラ３００は、デバッグ処理を継続することができる。
【００８２】
また、マイクロコントローラ３００は、マイクロコントローラ３００の消費電力の値に応じて段階的に回路ブロックの動作を停止させてもよい。すなわち、マイクロコントローラ３００は、上述した動作パラメータの内、予め設定された動作パラメータを監視し、予め設定された閾値を超えた場合に、段階的に回路ブロックの動作を停止させることができる。このような構成を採用することにより、デバッグ状態における消費電力の増加や、温度上昇を抑えることができる。
【００８３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【００８４】
１００、２００、３００  マイクロコントローラ
１１０  中央演算部
１１１、１２１  マスタコア
１１２、１１４、１２２、１２４  自己診断制御部
１１２ａ、１１２ｂ、１１４ａ、１１４ｂ  レジスタ
１１３、１２３  チェッカコア
１１５、１１６  遅延回路
１１７、１２７  比較回路
１１８、１２８  抑制回路
１３０  インターフェイス部
１４１  マスタバス
１４２  チェッカバス
１５０  記憶部
１６０  デバッグ回路
１７０  デバッグ用端子
３１０  電源遮断回路
【図１】
2019061392.tif 000003
【図２】
2019061392.tif 000004
【図３】
2019061392.tif 000005
【図４】
2019061392.tif 000006
【図５】
2019061392.tif 000007
【図６】
2019061392.tif 000008
【図７】
2019061392.tif 000009