(57)【要約】【課題】本発明は、発振子に異常が発生した場合に通信相手の周辺機器が物理的に破壊されることを防止する機能を有したマイクロコンピュータを提供することを目的とする。【解決手段】マイクロコンピュータは、クロック信号を受け取りクロック信号の状態を監視するクロック監視回路と、制御レジスタのレジスタ値に応じて動作し外部と通信を行うための通信インターフェースと、クロック信号に基づいて動作し制御レジスタのレジスタ値を設定することにより通信インターフェースの動作を制御するコア回路と、クロック監視回路がクロック信号の異常を検出するとそれに応答して通信インターフェースの制御レジスタを所定のレジスタ値に設定するレジスタ設定回路を含む。【選択図】図１
2005215981.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を受け取り該クロック信号の状態を監視するクロック監視回路と、
制御レジスタのレジスタ値に応じて動作し外部と通信を行うための通信インターフェースと、
該クロック信号に基づいて動作し該制御レジスタのレジスタ値を設定することにより該通信インターフェースの動作を制御するコア回路と、
該クロック監視回路が該クロック信号の異常を検出するとそれに応答して該通信インターフェースの該制御レジスタを所定のレジスタ値に設定するレジスタ設定回路
を含むことを特徴とするマイクロコンピュータ。  
【請求項２】
該クロック監視回路が該クロック信号の異常を検出するとそれに応答して該コア回路による該制御レジスタへの書き込みを不能にするアクセス制御回路を更に含むことを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
該クロック監視回路は該クロック信号の異常を検出すると制御信号をアサートし、該レジスタ設定回路は該制御信号のアサートに応答して該コア回路を介することなく該制御レジスタを該所定のレジスタ値に設定することを特徴とする請求項１記載のマイクロコンピュータ。
【請求項４】
該レジスタ設定回路は、ソフトウェア制御を介さないハードウェア制御により該制御レジスタを該所定のレジスタ値に設定することを特徴とする請求項３記載のマイクロコンピュータ。
【請求項５】
該クロック信号の異常は該クロック信号の断絶であることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項６】
該所定のレジスタ値は、該通信インターフェースが通信相手の機器を破壊するのことないレジスタ値であることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項７】
該所定のレジスタ値は、該通信インターフェースと通信相手の機器とを接続する信号線を該通信インターフェースから切り離すレジスタ値であることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項８】
該所定のレジスタ値は、該通信インターフェースの通信相手の機器に対する出力を浮遊状態に設定するレジスタ値であることを特徴とする請求項１記載のマイクロコンピュータ。
【請求項９】
該所定のレジスタ値は、該通信インターフェースの通信相手の機器に対する出力を非通信状態であることを示す電位に設定するレジスタ値であることを特徴とする請求項１記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にマイクロコンピュータに関し、詳しくはクロック信号に基づいて動作して周辺機器と通信を行う機能を備えたマイクロコンピュータに関する。
【背景技術】
【０００２】
近年、複雑な制御が必要なシステムにおいては、様々な複数の機能を単一のチップに組み込んだワンチップマイクロコンピュータが搭載されている。このようなワンチップマイクロコンピュータを例えば自動車等のシステムに搭載する場合には、搭載システムの安全性を確保することが必要となる。安全性を高めるためには、マイクロコンピュータの誤動作を防止することが非常に重要な課題となる。
【０００３】
ＲＣ発振回路内蔵マイクロコンピュータは、誤動作防止機能を備えたマイクロコンピュータの一例である。外部発振子が外れるといった異常が発生した場合、クロックの異常を監視しているクロック監視回路が、内蔵ＲＣ発振回路の発振信号に動作クロックを切り替える。これにより、マイクロコンピュータ自体についてはその動作を維持することが可能になる。
【０００４】
ワンチップマイクロコンピュータにシステム制御を集約するほど、マイクロコンピュータの誤動作が周辺機器を巻き込んだシステム全体の誤動作になる可能性が懸念される。ＲＣ発振回路内蔵マイクロコンピュータにおいては、マイクロコンピュータ自身が動作を停止することを防止してはいるが、周辺機器に与える影響については考慮されていなかった。
【特許文献１】特開平７−６１５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
マイクロコンピュータは周辺機器と様々なデータ通信を行っている。外部発振子が故障したり外れたりする等の異常が発生した場合には、マイクロコンピュータ側の通信系の異常により、周辺機器が破壊される恐れがある。例えばマイクロコンピュータにおいて、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）等の通信系マクロの制御レジスタに誤動作のために誤った値が書き込まれると、周辺機器とマイクロコンピュータの双方がデータを送信して送信データ同士が衝突する可能性がある。このような場合、周辺機器の誤動作を招くだけでなく、過大電流が流れて、周辺機器のデバイスを物理的に破壊してしまう可能性がある。
【０００６】
上述のＲＣ発振回路内蔵マイクロコンピュータにおいても、外部発振子が故障したり外れたりする等の異常が発生した場合、誤動作を防止するため内蔵ＲＣ発振回路に動作クロックが切り替わっても、周辺機器に対する影響を防ぐことはできない。これは内蔵ＲＣ発振回路への動作クロックの切り替えが瞬時に実行されるのではなく、切り替えに多少の時間を要するからである。また例えば、発振子が外れた際のノイズがクロックラインに乗ることにより、マイクロコンピュータ内部のプログラムタイミングが狂わされ、マイクロコンピュータが暴走を起こす可能性がある。これらの理由により、通信系マクロの制御レジスタに誤った値が書き込まれ、上記同様に、周辺機器の誤動作を招くだけでなく、過大電流が流れて周辺機器のデバイスを物理的に破壊してしまう可能性がある。
【０００７】
またソフトウェアによる誤動作防止策は従来から多くとられているが、異常検出を周期的にチェックしているために、発振子の異常発生から誤動作防止動作の開始までに時間がかかってしまう。その間に、上記同様の理由により、周辺機器のデバイスを物理的に破壊してしまう可能性がある。
【０００８】
以上を鑑みて、本発明は、発振子に異常が発生した場合に通信相手の周辺機器が物理的に破壊されることを防止する機能を有したマイクロコンピュータを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によるマイクロコンピュータは、クロック信号を受け取り該クロック信号の状態を監視するクロック監視回路と、制御レジスタのレジスタ値に応じて動作し外部と通信を行うための通信インターフェースと、該クロック信号に基づいて動作し該制御レジスタのレジスタ値を設定することにより該通信インターフェースの動作を制御するコア回路と、該クロック監視回路が該クロック信号の異常を検出するとそれに応答して該通信インターフェースの該制御レジスタを所定のレジスタ値に設定するレジスタ設定回路を含むことを特徴とする。
【００１０】
また本発明による上記マイクロコンピュータは更に、該クロック監視回路が該クロック信号の異常を検出するとそれに応答して該コア回路による該制御レジスタへの書き込みを不能にするアクセス制御回路を含むことを特徴とする。
【００１１】
また本発明による上記マイクロコンピュータにおいて、該レジスタ設定回路は、ソフトウェア制御を介さないハードウェア制御により該制御レジスタを該所定のレジスタ値に設定することを特徴とする。
【発明の効果】
【００１２】
上記マイクロコンピュータにおいては、通信インターフェースの制御レジスタを所定のレジスタ値に設定することにより、通信インターフェースが周辺機器を物理的に破壊すること等がないように措置することができる。
【００１３】
また上記マイクロコンピュータにおいては、制御レジスタのレジスタ値がコア回路の誤動作等により変更されることがない。従って、外部発振子が外れる等の理由によりクロック信号に異常が発生し更にはコア回路がクロック異常により誤動作した場合であっても、周辺機器が物理的に破壊されることを確実に避けることができる。
【００１４】
また上記マイクロコンピュータにおいては、制御レジスタのレジスタ値の設定動作は、ソフトウェアを介さずに全てハードウェア制御（結線制御）により実現される。従って、コア回路が暴走した場合であっても確実に制御レジスタを所定のレジスタ値に設定できると共に、タイムラグなく迅速に制御レジスタを所定のレジスタ値に設定できる。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１６】
図１は、本発明によるマイクロコンピュータの構成の一例を示すブロック図である。
【００１７】
図１のマイクロコンピュータ１０は、クロック監視回路１１、コア回路１２、及び通信インターフェース１３を含む。マイクロコンピュータ１０は外部発振子１４に接続され、外部発振子１４が発生するクロック信号に基づいて動作する。またマイクロコンピュータ１０は周辺機器１５に接続され、通信インターフェース１３を介して周辺機器１５とデータ通信を行う。
【００１８】
マイクロコンピュータ１０においては、クロック監視回路１１が外部発振子１４からクロック信号を受け取り、クロック信号の状態が正常か異常かを監視する。クロック信号は例えばクロック監視回路１１を介してコア回路１２に供給されてよい。或いはクロック信号は、クロック監視回路１１に供給されるのと並列に、クロック監視回路１１を介することなく直接にコア回路１２に供給されてもよい。コア回路１２は例えばＣＰＵであり、供給されるクロック信号に基づいて、マイクロコンピュータ１０についての種々の制御動作を実行すると共に、通信インターフェース１３を介して周辺機器１５とデータ通信を制御すること等により種々のシステム制御動作を実行する。
【００１９】
クロック監視回路１１は、外部発振子１４が外れるなどの理由により外部発振子１４から供給されるクロック信号に断絶等の異常が発生したときは、通信インターフェース１３を直接に制御して、通信インターフェース１３を所定の状態に設定する。この所定の状態とは、通信インターフェース１３が周辺機器１５を物理的に破壊すること等がないような状態であり、例えば通信インターフェース１３と周辺機器１５とを接続するデータ通信線１６が通信インターフェース１３から切り離された状態である。例えばデータ通信線１６を通信インターフェース１３側で浮遊状態とする設定でよい。また或いは、例えばデータ通信線１６をＬＯＷ電位に設定することが非通信時のデフォールトの状態であるならば、データ通信線１６を通信インターフェース１３でＬＯＷ電位に設定する状態設定でよい。
【００２０】
またクロック監視回路１１は更に、コア回路１２が通信インターフェース１３の状態を変更することがないように、コア回路１２から通信インターフェース１３へのアクセスを禁止するような制御を実行する。
【００２１】
以上の制御により、通信インターフェース１３は周辺機器１５を物理的に破壊すること等がないような状態に設定され、また通信インターフェース１３の状態がコア回路１２の誤動作等により変更されることもない。従って、外部発振子１４が外れる等の理由によりクロック信号に異常が発生した場合、又更にはコア回路１２がクロック異常により誤動作した場合であっても、周辺機器１５が物理的に破壊されることを確実に避けることができる。
【００２２】
図２は、本発明によるマイクロコンピュータの具体的な構成の一例を示す回路図である。
【００２３】
図２のマイクロコンピュータは、クロック監視回路１１、コア回路であるＣＰＵ１２、通信インターフェース１３、アクセス制御回路２１、レジスタ設定回路２２、ＯＲ回路２３、及び制御信号用のインバータ３５及び３６を含む。通信インターフェース１３は、データ通信線１６を介して周辺機器１５とデータ通信を行う。通信インターフェース１３には通信マクロ制御レジスタ２４が設けられており、通信マクロ制御レジスタ２４に設定されるレジスタ値に応じてデータ通信が制御される。
【００２４】
クロック監視回路１１は、外部発振子１４からクロック信号を受け取り、ＣＰＵ１２にクロック信号を供給する。またクロック監視回路１１は、クロック信号の状態が正常か異常かを監視し、その状態に応じて制御信号を出力する。図２の構成例において、クロック信号の状態が正常な場合に制御信号はＬＯＷであり、クロック信号の状態が異常な場合に制御信号はＨＩＧＨとなる。従って、外部発振子１４が外れるなどの故障が発生した場合には、クロック監視回路１１はこれを検出して、ＨＩＧＨの制御信号を出力する。
【００２５】
アクセス制御回路２１は、ＣＰＵ１２から通信インターフェース１３へのアクセスを制御する回路であり、ＡＮＤゲート３１−１乃至３１−ｎを含む。クロック監視回路１１から出力される制御信号が、インバータ３６を介して、ＡＮＤゲート３１−１乃至３１−ｎの一方の入力に供給される。またＣＰＵ１２からの信号が、ＡＮＤゲート３１−１乃至３１−ｎのもう一方の入力に供給される。ＡＮＤゲート３１−１乃至３１−ｎの出力は、ＯＲ回路２３を介して通信マクロ制御レジスタ２４に書き込まれる。従って、ＣＰＵ１２が出力するレジスタ値は、クロック信号が正常な場合には、アクセス制御回路２１を通過して通信マクロ制御レジスタ２４に書き込まれ、クロック信号が異常な場合には、アクセス制御回路２１によりブロックされて通信マクロ制御レジスタ２４に書き込まれない。
【００２６】
レジスタ設定回路２２は、クロック信号の異常時に通信マクロ制御レジスタ２４に設定するレジスタ値を生成するための回路である。このレジスタ値は、通信インターフェース１３が周辺機器１５を物理的に破壊すること等がないような値であり、例えばデータ通信線１６を通信インターフェース１３から切り離すような設定値である。例えばデータ通信線１６を通信インターフェース１３側で浮遊状態とする設定値でよい。また或いは、例えばデータ通信線１６をＬＯＷ電位に設定することが非通信時のデフォールトの状態であるならば、データ通信線１６を通信インターフェース１３でＬＯＷ電位に設定する設定値でよい。
【００２７】
図２の例では、レジスタ設定回路２２は、ＡＮＤゲート３２−１及び３２−２を含む。クロック監視回路１１から出力される制御信号がＬＯＷの場合には、ＡＮＤゲート３２−１及び３２−２の出力はＬＯＷである。従ってレジスタ設定回路２２は、レジスタ設定値を出力しない。クロック監視回路１１から出力される制御信号がＨＩＧＨになると、ＡＮＤゲート３２−１及び３２−２それぞれの出力Ａ及びＢは、“０”及び“１”になる。これにより、通信マクロ制御レジスタ２４のレジスタ３４−１乃至３４−ｎには、所定のレジスタ値が設定される。通信マクロ制御レジスタ２４のレジスタ３４−１乃至３４−ｎにどのような値を設定するかは、ＡＮＤゲート３２−１及び３２−２のどちらの出力をレジスタ３４−１乃至３４−ｎの各々に接続するかにより決定される。
【００２８】
ＯＲ回路２３は、ＣＰＵ１２からのレジスタ値及びレジスタ設定回路２２からのレジスタ値を通信マクロ制御レジスタ２４に供給する回路であり、ＯＲゲート３３−１乃至３３−ｎを含む。上述のように、クロック信号が正常な状態ではＣＰＵ１２からアクセス制御回路２１を介してレジスタ値が供給されるので、この値を通信マクロ制御レジスタ２４に書き込むことになる。またクロック信号が異常な状態ではレジスタ設定回路２２からレジスタ値設定用の信号が供給されるので、この信号により所定のレジスタ値を通信マクロ制御レジスタ２４に書き込むことになる。
【００２９】
以上の制御により、通信インターフェース１３の通信マクロ制御レジスタ２４は周辺機器１５を物理的に破壊すること等がないようなレジスタ値に設定され、また通信マクロ制御レジスタ２４のレジスタ値がＣＰＵ１２の誤動作等により変更されることもない。従って、外部発振子が外れる等の理由によりクロック信号に異常が発生した場合、又更にはＣＰＵ１２がクロック異常により誤動作した場合であっても、周辺機器１５が物理的に破壊されることを確実に避けることができる。
【００３０】
またアクセス制御回路２１からの信号による通信マクロ制御レジスタ２４のレジスタ値の設定動作は、ソフトウェアを介さずに全てハードウェア制御（結線制御）により実現される。従って、ＣＰＵ１２が暴走した場合であっても確実に通信マクロ制御レジスタ２４を所定のレジスタ値に設定できると共に、タイムラグなく迅速に通信マクロ制御レジスタ２４を所定のレジスタ値に設定できる。
【００３１】
図３は、クロック監視回路１１の構成の概略を示すブロック図である。図３においては、クロック信号がメインクロック信号とサブクロック信号との２系統から構成される場合について示してある。
【００３２】
図３のクロック監視回路１１は、クロック監視回路コントロールロジック４１、メインクロック監視回路４２、サブクロック監視回路４３、及び内蔵発振回路４４を含む。
【００３３】
内蔵発振回路４４の発振信号は、メインクロック監視回路４２及びサブクロック監視回路４３の双方に供給される。メインクロック監視回路４２は、外部発振子からメインクロック信号を受け取り、コア回路にメインクロック信号を供給する。またサブクロック監視回路４３は、外部発振子からサブクロック信号を受け取り、コア回路にサブクロック信号を供給する。メインクロック監視回路４２及びサブクロック監視回路４３は、内蔵発振回路４４の発振信号に基づいて、それぞれメインクロック信号及びサブクロック信号を監視する。クロック信号に異常を検出した場合、メインクロック監視回路４２及びサブクロック監視回路４３は、それぞれクロック異常検出シグナルをクロック監視回路コントロールロジック４１に対してアサートする。クロック信号の異常とは、例えばクロック信号が断絶した場合であり、不規則な信号になった場合等も含んでよい。
【００３４】
クロック監視回路コントロールロジック４１は、メインクロック監視回路４２及び／又はサブクロック監視回路４３からのクロック異常検出シグナルのアサートに応答して、メインクロック信号及び／又はサブクロック信号のそれぞれの異常を示すクロック異常検出シグナル（制御信号）を出力する。この制御信号により通信インターフェース１３の通信マクロ制御レジスタ２４が所定の値に設定され、コア回路（ＣＰＵ）１２から通信マクロ制御レジスタ２４へのアクセスが不能とされることは前述のとおりである。
【００３５】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【図面の簡単な説明】
【００３６】
【図１】本発明によるマイクロコンピュータの構成の一例を示すブロック図である。
【図２】本発明によるマイクロコンピュータの具体的な構成の一例を示す回路図である。
【図３】クロック監視回路の構成の概略を示すブロック図である。
【符号の説明】
【００３７】
１０  マイクロコンピュータ
１１  クロック監視回路
１２  コア回路
１３  通信インターフェース
１４  外部発振子
１５  周辺機器
２１  アクセス制御回路
２２  レジスタ設定回路
２３  ＯＲ回路
２４  通信マクロ制御レジスタ
【図１】
2005215981.tif 000003
【図２】
2005215981.tif 000004
【図３】
2005215981.tif 000005