(57)【要約】【課題】マイクロコンピュータの動作に用いられる低速クロックが安定していないときにマイクロコンピュータの動作が停止しないようにすることができる構成を提供する。【解決手段】マイクロコンピュータ１０に低速クロックの状態を判定するための低速クロック確認部４０を備える。この低速クロック確認部４０は、確認用クロック発振部４１で発生させた確認用クロックを用いて時間測定部４２にて低速クロックの数を数え、比較部４３にて低速クロックの数が規定値を満たすか否かを判定する。そして、比較部４３が低速クロックに異常があると判定すると、低速クロック確認部４０は出力部４４から低速クロックの異常状態を示す異常信号を間欠制御部７０、クロック制御部５０、および機能部８０に出力する。これにより、マイクロコンピュータ１０が低速クロックを用いた低速動作に遷移しないようにする。【選択図】図１
2010231330.tif 000002
【特許請求の範囲】
【請求項１】
高速クロックを用いた通常動作と、前記高速クロックよりも遅い低速クロックを用いた低速動作とのいずれかの動作により所定の機能を実現するマイクロコンピュータであって、
前記低速クロックを入力してこの低速クロックの異常の有無を判定する判定部（４２、４３）と、前記判定部（４２、４３）により前記低速クロックの異常が検出されたときに前記低速クロックの異常状態を示す異常信号を出力する出力部（４４）とを有する低速クロック確認部（４０）を備えていることを特徴とするマイクロコンピュータ。
【請求項２】
前記低速クロック確認部（４０）から前記異常信号を入力したとき、前記通常動作から前記低速動作への遷移を禁止する制御部（５０、７０）を備えていることを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項３】
前記低速クロック確認部（４０）から前記異常信号を入力したとき、前記高速クロックを入力し、この高速クロックを分周して該高速クロックよりも遅く前記低速クロックよりも速い中高速クロックを生成し、この中高速クロックを前記通常動作に用いる制御部（５０、７０）を備えていることを特徴とする請求項１または２に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータに関するものである。
【背景技術】
【０００２】
従来より、シングルチップ・マイクロコンピュータが、例えば特許文献１で提案されている。具体的に、特許文献１では、マイクロコンピュータ（以下、マイコンという）の消費電力の低減を実現するべく、高速動作用のメイン・システム・クロック信号（高速クロック）と、低速動作用のサブ・システム・クロック信号（低速クロック）とを発生する二つの発振回路を用いるものが提案されている。
【０００３】
これにより、マイコンは、通常時では高速クロックを用いた高速動作を行う一方、低消費時では低速クロックを用いた低速動作を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−６１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術では、低速クロックを供給する回路の故障等により低速クロックが安定していないときにマイコンが高速動作から低速動作に切り替わると、不安定な低速クロックによりマイコンが正常に動作できない状態となるので、マイコンの動作が止まってしまうという問題がある。
【０００６】
本発明は上記点に鑑み、マイコンの動作に用いられる低速クロックが安定していないときにマイコンの動作が停止しないようにすることができる構成を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１に記載の発明では、低速クロックを入力してこの低速クロックの異常の有無を判定する判定部（４２、４３）と、判定部（４２、４３）により低速クロックの異常が検出されたときに低速クロックの異常状態を示す異常信号を出力する出力部（４４）とを有する低速クロック確認部（４０）を備えていることを特徴とする。
【０００８】
これによると、低速クロックの異常を検出すると共に該異常を知らせることができるので、通常動作から低速動作への遷移をさせないようにすることができる。したがって、低速クロックが安定していないときにマイクロコンピュータの動作が止まってしまうことを防止することができる。
【０００９】
請求項２に記載の発明では、低速クロック確認部（４０）から異常信号を入力したとき、通常動作から低速動作への遷移を禁止する制御部（５０、７０）を備えていることを特徴とする。
【００１０】
これによると、制御部（５０、７０）により通常動作から低速動作への遷移が禁止されるので、異常な低速クロックを用いた低速動作が行われることはない。したがって、マイクロコンピュータの動作が止まってしまうことを防止できる。
【００１１】
請求項３に記載の発明では、低速クロック確認部（４０）から異常信号を入力したとき、高速クロックを入力し、この高速クロックを分周して該高速クロックよりも遅く低速クロックよりも速い中高速クロックを生成し、この中高速クロックを通常動作に用いる制御部（５０、７０）を備えていることを特徴とする。
【００１２】
これによると、低速クロックの異常が検出されて低速クロックが使えないとしても、高速クロックを利用して中高速クロックを生成することができるので、マイクロコンピュータの各機能の動作を継続して行うことができる。
【００１３】
なお、この欄および特許請求の範囲で記載した各手段の括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態に係るマイクロコンピュータの全体構成図である。
【図２】低速クロック確認部のブロック図である。
【図３】マイクロコンピュータの動作の一例を表したタイミングチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図に基づいて説明する。なお、以下の各実施形態相互において、互いに同一もしくは均等である部分には、図中、同一符号を付してある。
【００１６】
（第１実施形態）
以下、本発明の第１実施形態について図を参照して説明する。本実施形態で示されるマイクロコンピュータは、例えば車両に搭載されるＥＣＵ等に用いられ、バッテリで動作するものである。
【００１７】
また、本実施形態で示されるマイクロコンピュータは、高速クロックを用いた通常動作と、高速クロックよりも遅い低速クロックを用いた低速動作とのいずれかの動作により所定の機能を実現する。
【００１８】
通常動作とは、高速クロックで動作する高速動作を指す。一方、低速動作とは、低速クロックで動作する低消費動作と、高速動作と停止とを繰り返す間欠動作とが含まれる。間欠動作における高速動作と停止との切替は低速クロックを用いたタイマにより行う。したがって、間欠動作も低速クロックを用いた低速動作に含まれる。
【００１９】
マイクロコンピュータの所定の機能とは、マイクロコンピュータに内蔵されたプログラムの内容や、外部記憶媒体に記憶されたプログラムの内容、ＣＰＵ、ＲＯＭ、ＲＡＭ、タイマ、アナログとデジタル変換、シリアル通信、入出力等を指す。
【００２０】
図１は、本実施形態に係るマイクロコンピュータの全体構成図である。この図に示されるように、マイクロコンピュータ１０（以下、マイコン１０と記す）は、低速発振部２０、高速発振部３０、低速クロック確認部４０、クロック制御部５０、タイマ６０、間欠制御部７０、および機能部８０を備えている。
【００２１】
低速発振部２０は、クロック制御部５０から低速クロック生成の指令を受けたとき、マイコン１０の外部に備えられた低速発振子２１を発振させて低速クロックを生成するものである。低速発振子２１は例えばｋＨｚのオーダーの信号を生成するものであり、例えばセラロック（登録商標）やクリスタル等の圧電素子、ＣＲ回路等により構成されている。
【００２２】
なお、図１では、低速発振子２１はマイコン１０の外部に備えられたものが示されているが、マイコン１０に低速発振子２１が内蔵されていても良い。この場合、低速発振子２１を発振させる回路としてＣＲ発振回路等を採用することができる。
【００２３】
高速発振部３０は、クロック制御部５０から高速クロック生成の指令を受けたとき、マイコン１０の外部に備えられた高速発振子３１を発振させて高速クロックを生成するものである。高速発振子３１は例えばＭＨｚのオーダーの信号を生成するものであり、上記の圧電素子により形成されている。
【００２４】
低速クロック確認部４０は、低速発振部２０から低速クロックを入力し、この低速クロックが安定しているか否かを確認するためのものである。
【００２５】
図２は、低速クロック確認部４０のブロック図である。この図に示されるように、低速クロック確認部４０は、確認用クロック発振部４１と、時間測定部４２と、比較部４３と、出力部４４とを備えている。
【００２６】
確認用クロック発振部４１は、低速発振部２０から低速クロック確認部４０に入力される低速クロックよりも少し速い確認用クロックを生成するものである。
【００２７】
時間測定部４２は、低速クロックおよび確認用クロックを入力し、確認用クロックを用いて所定時間における低速クロックの１周期の期間で確認用クロックの数を数えるものである。このため、時間測定部４２は低速クロックと確認用クロックとの同期をとり、例えば低速クロックの任意の周期に対応した確認用クロックの数を数える。そして、時間測定部４２の測定結果は比較部４３に出力される。
【００２８】
時間測定部４２は、低速クロックおよび確認用クロックを入力し、確認用クロックを用いて所定時間における低速クロックの数を数えるものである。このため、時間測定部４２は低速クロックと確認用クロックとの同期をとり、例えば確認用クロックの任意の周期に対応した低速クロックの数を数える。そして、時間測定部４２の測定結果は比較部４３に出力される。
【００２９】
比較部４３は、時間測定部４２の測定結果と期待値とを比較することにより、低速クロックの異常の有無を判定するものである。期待値は、比較部４３に予め設定された所定の数値範囲であり、低速クロックが安定しているならば測定されるであろう値である。すなわち、低速クロックの数が多すぎても少なすぎても異常であるので、測定結果が期待値に含まれない場合には低速クロックが異常であると判定される。測定結果が期待値に含まれる場合には低速クロックは正常であると判定される。このような比較部４３の判定結果は出力部４４に出力される。
【００３０】
出力部４４は、低速クロックが正常であるかまたは異常であるかのクロック状態を出力するものである。具体的には、比較部４３により低速クロックの異常が検出されたときには低速発振子２１が何らかの原因で故障していると考えられるので、出力部４４は低速クロックの異常状態を示す異常信号を出力する。一方、比較部４３により低速クロックは正常であると判定されたときには、出力部４４は低速クロックの正常状態を示す正常信号を出力する。
【００３１】
図１に示されるクロック制御部５０は、低速発振部２０および高速発振部３０に対する発振／停止の指令を行い、低速発振部２０および高速発振部３０から低速クロックおよび高速クロックをそれぞれ入力し、これらのクロックを機能部８０に供給するものである。クロック制御部５０は、機能部８０の要求に応じて、低速クロックを逓倍して機能部８０に供給することも行う。
【００３２】
また、クロック制御部５０は、低速クロック確認部４０から正常信号を入力している間、以下の動作を行う。まず、クロック制御部５０は、機能部８０からの要求に応じて機能部８０に高速クロックを入力することにより機能部８０を通常動作（高速動作）させる。また、クロック制御部５０は、機能部８０からの切替要求に応じて機能部８０に低速クロックを入力することにより機能部８０を低消費動作させる。
【００３３】
さらに、クロック制御部５０は、間欠制御部７０から高速発振／停止の指令を受け、この指令に従って高速発振部３０を発振／停止させる。これにより、クロック制御部５０は高速発振部３０から高速クロックを入力し、この高速クロックを機能部８０に供給することにより機能部８０を高速動作させる。また、クロック制御部５０は、間欠制御部７０から機能部８０の動作を停止させる指令を入力したときには、高速発振部３０の発振を停止させ、機能部８０への高速クロックの供給を停止し、機能部８０の動作を停止させる。
【００３４】
一方、クロック制御部５０は、低速クロック確認部４０から異常信号を入力している間、以下の動作を行う。まず、クロック制御部５０は、機能部８０に対して通常動作から低速動作への遷移を禁止する。すなわち、クロック制御部５０は、機能部８０から低消費動作への切替要求があったとしても、機能部８０への低速クロックの供給を停止し、機能部８０に低消費動作させないようにする。このため、クロック制御部５０は、機能部８０に高速クロックを入力することにより機能部８０を高速動作させる。
【００３５】
また、クロック制御部５０は、高速発振部３０から入力した高速クロックを分周して該高速クロックよりも遅く低速クロックよりも早い中高速クロックを生成し、機能部８０の要求に従ってこの中高速クロックを機能部８０に供給する。機能部８０は高速クロックよりも遅いクロックを用いた動作も行うため、低速クロックに異常が生じている場合にはクロック制御部５０が高速クロックをクロックダウンして機能部８０に供給することもできる。
【００３６】
クロック制御部５０が低消費動作や間欠動作を実行している際に低速クロック確認部４０から異常信号を入力した場合、クロック制御部５０は機能部８０を高速動作に遷移させる。すなわち、機能部８０に高速クロックを供給することにより機能部８０を高速動作させる。
【００３７】
なお、クロック制御部５０は、低速発振部２０から入力した低速クロックで動作するが、低速クロック確認部４０から確認用クロックを入力している。そして、低速クロックのクロック状態が異常のときには該確認用クロックを緊急的に用いるようになっている。
【００３８】
タイマ６０は、低速発振部２０から低速クロックを入力し、この低速クロックを用いて高速動作の停止時間をカウントするものである。具体的に、タイマ６０は、間欠制御部７０の設定指令を受けて停止時間をカウントし、この停止時間をカウントし終えると間欠制御部７０にタイムアップを通知する。
【００３９】
間欠制御部７０は、機能部８０の要求に応じてマイコン１０を間欠動作させるものである。そして、間欠制御部７０は、低速クロック確認部４０から正常信号を入力している間、以下の動作を行う。
【００４０】
すなわち、間欠制御部７０は、機能部８０から高速動作の停止の要求があった場合、タイマ６０に停止時間をカウントする設定要求を行い、タイマ６０に停止時間をカウントさせる。また、間欠制御部７０は、クロック制御部５０に機能部８０への高速クロックの供給の停止を指示する。これにより、機能部８０の動作は停止する。そして、間欠制御部７０は、タイマからタイムアップの通知を受けると、機能部８０の動作を許可すると共に、クロック制御部５０に機能部８０への高速クロックの供給を指示する。
【００４１】
一方、間欠制御部７０は、低速クロック確認部４０から異常信号を入力している間、機能部８０から間欠制御の要求があったとしても、機能部８０の間欠動作への遷移を禁止する。そして、間欠制御部７０は、機能部８０に高速クロックを供給させるための指令をクロック制御部５０に出力する。
【００４２】
間欠制御部７０が機能部８０を間欠動作させている際に低速クロック確認部４０から異常信号を入力した場合、間欠制御部７０は機能部８０を高速動作に遷移させる。すなわち、機能部８０に対して動作の指令を行い、クロック制御部５０に対して機能部８０に高速クロックを供給させる指令を行うことにより機能部８０を高速動作させる。
【００４３】
なお、間欠制御部７０は、低速発振部２０から入力した低速クロックで動作するが、低速クロック確認部４０から確認用クロックも入力している。そして、低速クロックのクロック状態が異常のときには該確認用クロックを緊急的に用いるようになっている。
【００４４】
機能部８０は、クロック制御部５０から入力される高速クロックや低速クロックを用いて所定の動作を行うものである。この機能部８０は、いわゆるソフトウェアでタイマ、アナログとデジタル変換、シリアル通信、入出力等を実行する部位である。
【００４５】
また、機能部８０には低速クロック確認部４０から低速クロックのクロック状態を示す信号が入力されるようになっている。したがって、機能部８０は、低速クロック異常を認識すると、間欠動作または低消費動作への遷移を取り止め、クロック制御部５０に高速クロックの供給を要求する。これにより、機能部８０は高速クロックを用いた高速動作を行う。以上が、本実施形態に係るマイコン１０の全体構成である。
【００４６】
次に、マイコン１０の作動について説明する。通常、マイコン１０は車両のバッテリで動作する。このため、マイコン１０の消費電流を低減させるため、通常時と低消費時でマイコン１０の動作を変えている。通常時は高速動作、低速動作時は低消費動作、あるいは、間欠動作を行っている。
【００４７】
このようなマイコン１０の通常の動作において、間欠動作中に低速クロックのクロック状態が異常になったときの作動について、図３のタイミングチャートを参照して説明する。図３は、低速クロックの状態、確認用クロックの状態、クロック状態、マイコン１０の状態をそれぞれ示したタイミングチャートである。
【００４８】
また、低速クロック確認部４０の確認用クロック発振部４１にて生成される確認用クロックは故障することなく、確認用クロックは常に安定している。そして、時点Ｔ１よりも前では、マイコン１０は高速動作と停止とを繰り返す間欠動作を行っている。このような間欠動作中に、時点Ｔ１にて低速発振子２１が故障した等により低速クロックに異常が生じたとする。ここでは、低速クロックが生成されなくなったとする（クロックなしの状態）。
【００４９】
そして、上述のように、低速クロック確認部４０の時間測定部４２は確認用クロックを用いて所定時間における低速クロックの１周期の期間で確認用クロックの数を常時測定し、比較部４３は時間測定部４２の測定結果を用いて低速クロックの状態の判定を常時行っている。したがって、時点Ｔ１にて低速クロックに異常が生じると、時点Ｔ１から所定時間経過後の時点Ｔ２において比較部４３は低速クロックの異常を検出する。すなわち、時点Ｔ１から異常が検出される時点Ｔ２までの時間は、確認用クロックの数が数えられ、その数と期待値とが比較されている時間に相当する。
【００５０】
この後、出力部４４は比較部４３の判定結果を受けて、低速クロックが異常であることを示す異常信号をクロック制御部５０、間欠制御部７０、および機能部８０にそれぞれ出力する。これにより、クロック制御部５０、間欠制御部７０、および機能部８０は、機能部８０の間欠動作への遷移を禁止する。
【００５１】
具体的には、間欠制御部７０は、機能部８０から高速動作の停止の要求があったとしても、クロック制御部５０への高速クロックの供給の停止の指示を出さずに、クロック制御部５０に高速クロックを供給し続ける指示を出す。もちろん、異常信号を入力したクロック制御部５０は、機能部８０への高速クロックの供給を停止せず、機能部８０に高速クロックを供給し続けることにより機能部８０を高速動作させ続ける。また、機能部８０は、異常信号が入力されたことから、ソフトウェアにおいて間欠制御部７０への間欠動作の要求を停止する。
【００５２】
これにより、図３に示されるように、時点Ｔ２後ではマイコン１０の状態において破線にて示された間欠動作は行われず、時点Ｔ２後も高速動作が継続される。したがって、異常な低速クロックを用いた間欠動作は行われず、マイコン１０の動作が停止してしまうということはない。
【００５３】
上記では、間欠動作中に低速クロックに異常が発生した場合について説明したが、高速動作から低消費動作への遷移についても同様に禁止される。すなわち、低消費動作を行うために機能部８０からクロック制御部５０に対して低速クロックの供給が要求されたとしても、クロック制御部５０は機能部８０に対して低速クロックの供給を停止し、高速クロックを供給する。一方、機能部８０は、ソフトウェアとして、高速クロックを用いた高速動作を行う。
【００５４】
また、間欠動作中において機能部８０の動作を停止しているときや低消費動作を行っているときに低速クロックに異常が生じた場合にも、高速動作への切替が行われる。すなわち、間欠制御部７０はクロック制御部５０に高速クロックの供給を指示し、クロック制御部５０は機能部８０に高速クロックを供給する。機能部８０は、間欠制御部７０に対する間欠動作の要求を停止し、クロック制御部５０に高速動作を行うための高速クロックの供給を要求する。
【００５５】
以上のように、低速クロックに異常が発生した場合には低速クロックを用いた動作への遷移が禁止される。そして、機能部８０はクロック制御部５０に中高速クロックを要求することもある。この場合、クロック制御部５０は高速クロックを分周して中高速クロックを生成して機能部８０に供給する。これにより、機能部８０は中高速クロックを用いて各機能を実行することができ、マイコン１０の各機能の動作を継続して行うことができる。
【００５６】
以上説明したように、本実施形態では、低速クロックの状態を判定するための低速クロック確認部４０をマイコン１０に備えたことが特徴となっている。
【００５７】
このように、低速クロックが出ている状態を確認できる機能をマイコン１０に内蔵することで、低速クロックが安定していないときは、低消費動作への切替を取り止める、あるいは、低消費動作中で低速クロックが安定していないときは、強制的に通常動作に切替えることができる。
【００５８】
すなわち、低速クロックの異常を検出できると共に、該異常を間欠制御部７０、クロック制御部５０、および機能部８０にそれぞれ知らせることができるので、マイコン１０が通常動作から低速動作に遷移しないようにすることができる。したがって、低速クロックが安定していないときに該低速クロックを用いたことによりマイコン１０の動作が止まってしまうことを防止することができる。
【００５９】
なお、本実施形態の記載と特許請求の範囲の記載との対応関係については、時間測定部４２および比較部４３により構成された部分が特許請求の範囲の判定部に対応し、クロック制御部５０および間欠制御部７０により構成された部分が特許請求の範囲の制御部に対応する。 
【００６０】
（他の実施形態）
上記第１実施形態では、低速クロック確認部４０の比較部４３で用いられる期待値は予め比較部４３に設定された値であるが、例えば機能部８０の指令により変更することもできる。これにより、低速クロックの周波数に応じて期待値を設定できるので、マイコン１０の汎用性を高めることができる。
【００６１】
上記第１実施形態では、低速クロック確認部４０から出力されるクロック状態を示す信号が機能部８０に入力されるようになっているが、機能部８０が低速クロックの異常を認識したことを外部に出力するようにしても良い。例えば、マイコン１０に外部出力端子を設け、この端子と機能部８０とを接続し、この端子を介して低速クロックの異常をマイコン１０の利用者に伝えることができる。これにより、該マイコン１０の交換や低速発振子２１の交換等が行えるようになる。
【符号の説明】
【００６２】
１０  マイクロコンピュータ
４０  低速クロック確認部
４２  時間測定部
４３  比較部
４４  出力部
５０  クロック制御部
７０  間欠制御部
【図１】
2010231330.tif 000003
【図２】
2010231330.tif 000004
【図３】
2010231330.tif 000005