(57)【要約】【課題】動作基準クロック信号が停止されデッドロックに陥った状態に対して、パワーオンリセットを行わずに再起動を可能とする。【解決手段】データプロセッサ（２）は、システムクロックφ１を生成するシステムクロック発生回路（３５）と、システム制御回路（２２）と、割り込み制御回路（２４）とを有する。割り込み制御回路は、スタンバイ状態において、外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）によって割り込み要求があり、対応する割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）による割り込みマスクが行われていないときは、システム制御回路から出力され、システムクロックを停止させるクロック停止信号（ＯＳＣＳＴＰ）を反転させる。また、割り込み制御回路は、割り込みマスクが行われているときは、帰還されたクロック停止信号により、割り込みマスク信号の割り込みマスク指示を変更して、システムクロックの停止の指示を解除する。【選択図】図１
2007140633.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を生成するクロック発生回路と、
前記クロック信号に同期動作する中央処理装置と、
スタンバイ状態への遷移の指示に基づいて前記クロック発生回路によるクロック信号の発生動作を停止制御する第１制御回路と、
外部割り込み要求信号と割り込みマスク信号とを入力して割り込み制御を行うと共に、前記クロック発生回路にクロック信号の発生動作を再開させる制御を行う第２制御回路と、
を有し、
前記第２制御回路は、前記第１制御回路によって前記クロック発生回路によるクロック信号の発生動作が停止されている状態において、前記外部割り込み要求信号によって割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われていないときは、前記中央処理装置の動作を再開させ、対応する割り込みマスク信号による割り込みマスクが行われているときは、当該割り込みマスク信号の割り込みマスク指示を、割り込みマスク以外の指示に変更して、前記中央処理装置の動作を再開可能とするデータプロセッサ。
【請求項２】
クロック信号を生成するクロック発生回路と、
前記クロック信号に同期動作する中央処理装置と、
前記クロック信号をカウントし、カウントアップ信号を内部割り込み要求信号として発生するウォッチドッグタイマと、
スタンバイ状態への遷移の指示に基づいて前記クロック発生回路によるクロック信号の発生動作をクロック停止信号により停止可能な第１制御回路と、
外部割り込み要求信号と割り込みマスク信号とを入力して割り込み制御を行うと共に、前記クロック発生回路にクロック信号の発生動作を再開させる制御を行う第２制御回路と、
を有し、
前記第２制御回路は、前記クロック停止信号を帰還入力させる帰還経路に接続され、前記クロック停止信号によって前記クロック発生回路によるクロック信号の発生動作が停止されている状態において、前記外部割り込み要求信号によって割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われていないときは、前記クロック停止信号を反転させ、対応する割り込みマスク信号による割り込みマスクが行われているときは、前記帰還経路により帰還された前記クロック停止信号に基づいて前記クロック信号の停止の指示を解除する論理回路であるデータプロセッサ。
【請求項３】
前記帰還経路に接続された帰還回路を更に有し、
前記帰還回路は、
前記帰還経路の遮断又は導通を指示する第１の値又は第２の値を保持する制御レジスタと、
前記制御レジスタが前記第１の値を保持しているときは、前記帰還経路に帰還されるクロック停止信号に代えて割り込みマスクを有効にするレベル信号を出力し、前記制御レジスタが第２の値を保持しているときは、前記帰還経路に帰還されるクロック停止信号を通過させる切換え回路と、を備える請求項２記載のデータプロセッサ。
【請求項４】
第１クロック信号を生成するクロック発生回路と、
前記第１クロック信号に同期動作する中央処理装置と、
スタンバイ状態への遷移の指示に基づいて前記クロック発生回路による第１クロック信号の発生動作をクロック停止信号により停止可能な第１制御回路と、
第２クロック信号を生成する自励発振回路と、
前記第２クロック信号をカウントし、カウントアップ信号を内部割り込み要求信号として発生するウォッチドッグタイマと、
外部割り込み要求信号と割り込みマスク信号とを入力して割り込み制御を行うと共に、前記自励発生回路による前記第２クロック信号の発生動作をクロック開始信号により開始可能な第２制御回路と、
前記自励発振回路に接続され、前記第２クロック信号により動作し、内部リセット処理を指示するリセット指示回路と、
を有し、
前記第２制御回路は、前記クロック停止信号を帰還入力させる帰還経路に接続され、前記クロック停止信号によって前記クロック発生回路によるクロック信号の発生動作が停止されている状態において、前記外部割り込み要求信号によって割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われていないときは、前記クロック停止信号を反転させ、対応する割り込みマスク信号による割り込みマスクが行われているときは、前記帰還経路により帰還させた前記クロック停止信号に基づいて、前記クロック開始信号により、前記自励発振回路を発振させる論理回路であるデータプロセッサ。
【請求項５】
クロック信号を生成するクロック発生回路と、
前記クロック信号に同期動作する中央処理装置と、
スタンバイ状態への遷移の指示に基づいて前記クロック発生回路によるクロック信号の発生動作をクロック停止信号により停止可能な第１制御回路と、
外部割り込み要求信号と割り込みマスク信号とを入力して割り込み制御を行うと共に、前記クロック発生回路にクロック信号の発生動作を再開させる制御を行う第２制御回路と、
を有し、
前記第２制御回路は、前記スタンバイ状態への遷移の指示を入力し、前記クロック停止信号によって前記クロック発生回路によるクロック信号の発生動作が停止されている状態において、前記外部割り込み要求信号によって割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われていないときは、前記クロック停止信号を反転させ、対応する割り込みマスク信号による割り込みマスクが行われているときは、前記スタンバイ状態への遷移の指示と、当該割り込みマスク信号とに基づいて、前記クロック信号の停止の指示を解除すると共に、所定の内部割込み要求を生成する論理回路であるデータプロセッサ。
【請求項６】
クロック信号を生成するクロック発生回路と、
前記クロック信号に同期動作する中央処理装置と、
スタンバイ状態への遷移の指示に基づいて前記クロック発生回路によるクロック信号の発生動作をクロック停止信号により停止可能な第１制御回路と、
外部割り込み要求信号と割り込みマスク信号とを入力して割り込み制御を行うと共に、前記クロック発生回路にクロック信号の発生動作を再開させる制御を行う第２制御回路と、
を有し、
前記第２制御回路は、前記スタンバイ状態への遷移の指示を入力し、前記クロック停止信号によって前記クロック発生回路によるクロック信号の発生動作が停止されている状態において、前記外部割り込み要求信号によって割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われていないときは、前記クロック停止信号を反転させ、対応する割り込みマスク信号による割り込みマスクが行われているときは、前記スタンバイ状態への遷移の指示と、前記外部割り込み要求信号とに基づいて、前記クロック信号の停止の指示を解除すると共に、所定の内部割込み要求を生成する論理回路であるデータプロセッサ。
【請求項７】
前記所定の内部割り込み要求は、内部リセット要求である請求項５又は請求項６記載のデータプロセッサ。
【請求項８】
クロック信号を生成するクロック発生回路と、
前記クロック信号に同期動作する中央処理装置と、
スタンバイ状態への遷移の指示に基づいて前記クロック発生回路によるクロック信号の発生動作を停止制御する第１制御回路と、
外部割り込み要求信号と割り込みマスク信号とを入力して割り込み制御を行うと共に、前記クロック発生回路にクロック信号の発生動作を再開させる制御を行う第２制御回路と、
を有し、
前記第１制御回路は、前記割り込みマスク信号を入力し、前記割り込みマスク信号による割り込みマスクが行われているときは、前記スタンバイ状態への遷移を抑制する論理回路であるデータプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号に同期動作する中央処理装置を有するデータプロセッサに関し、クロック信号の発生動作を停止してスタンバイ状態へ遷移可能なデータプロセッサに適用して有効な技術に関する。
【背景技術】
【０００２】
中央処理装置（以下、ＣＰＵと記す）を有するデータプロセッサは、低消費電力モードの一つとしてスタンバイモードを有する。データプロセッサがスタンバイモードへ遷移している状態を、以下、スタンバイ状態と称する。スタンバイ状態において、ＣＰＵの動作基準クロック信号は停止される。スタンバイ状態では、通常、割り込みコントローラは動作可能にされており、外部割り込みがあると、動作基準クロック信号の発振が再開されて、ＣＰＵによる割り込み処理が可能にされる。また、スタンバイ状態において、システムリセット又はパワーオンリセットがあれば、データプロセッサは初期化される。これによって、データプロセッサは、プログラムアドレスの先頭番地からデータ処理を再開可能になる。尚、データプロセッサのスタンバイ状態を解除する技術については、特許文献１，２に記載がある。
【０００３】
【特許文献１】特開平９−３１１８４９号公報
【特許文献２】特開平１０−１１４１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者は、ＣＰＵの暴走等によりＣＰＵが不所望にスタンバイ状態になり、動作基準クロック信号の発振動作が停止され、しかも割り込みの受け付けも不可能な状態、即ち、デッドロックに陥ったときに、パワーオンリセットによる完全初期化を行わずにＣＰＵの動作を再開可能にする手段について検討した。例えば、車載用のデータプロセッサにおいては、エンジン等による劣悪なノイズ環境に対応するために、マスク不可能なノンマスカブル割り込み端子やリセット端子をプルアップして利用不能とする場合がある。また、車載用途では、時計用のリアルタイムクロックの停止が嫌われたり、システムに対する制御の必要上、任意にパワーオンリセットを行うことができないようにして利用されるものがある。
【０００５】
このような利用形態では、ＣＰＵの暴走等によりＣＰＵが不所望にスタンバイ状態になり、動作基準クロック信号の発振動作が停止されると、ノンマスカブル割り込みやハードウェアによるリセット割り込みによって、クロックの発振を再開させることができない。それだけでなく、ＣＰＵの暴走等によってその他の割り込み要求に対して割り込みマスクが設定されていると、割り込みによるクロックの発振を一切再開させることができなくなる。このような場合では、データプロセッサがウォッチドッグタイマを搭載していても、ウォッチドッグタイマによるタイムアウトを経てＣＰＵをリセットすることができない。
【０００６】
要するに、動作電源を強制遮断してパワーオンリセットを行う以外にシステムを再起動させることができない。例えば、カーオーディオ等の車載システムでは、当該システムの電源スイッチボタンがデータプロセッサのパワーオンスイッチに連動していない場合、電源ケーブルからの電源供給を遮断しない限り、当該カーオーディオを再起動させることができない。
【０００７】
本発明の目的は、動作基準クロック信号が停止されデッドロックに陥った状態に対して、パワーオンリセットを行わずに再起動が可能なデータプロセッサを提供することにある。
【０００８】
本発明の別の目的は、スタンバイ状態を解除する可能性が保障されているときだけ、スタンバイ状態への遷移を許容するデータプロセッサを提供することにある。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
〔１〕本発明に係るデータプロセッサは、クロック信号（φ１）を生成するクロック発生回路（３５）と、前記クロック信号に同期動作する中央処理装置（２１）と、第１制御回路（２２）と、第２制御回路（２４）とを有する。第１制御回路は、スタンバイ状態への遷移の指示（ＳＥＴＳＬＥＥＰ）に基づいて前記クロック発生回路によるクロック信号の発生動作を停止制御する。第２制御回路は、外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）と割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）とを入力して割り込み制御を行うと共に、前記クロック発生回路にクロック信号の発生動作を再開させる制御を行う。前記第２制御回路は、前記第１制御回路によって前記クロック発生回路によるクロック信号の発生動作が停止されている状態において、前記外部割り込み要求信号によって割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われていないときは、前記中央処理装置の動作を再開させる。また、第２制御回路は、対応する割り込みマスク信号による割り込みマスクが行われているときは、当該割り込みマスク信号の割り込みマスク指示を、割り込みマスク以外の指示に変更して、前記中央処理装置の動作を再開可能とする。
【００１２】
上記より、ノンマスカブル割り込みやリセット割り込みが抑制された利用形態において、ＣＰＵの暴走等によりＣＰＵが不所望にスタンバイ状態になり、クロック信号の発生動作が停止され、しかもその他の割り込み要求に対する割り込みマスクが不所望に設定されてしまった場合でも、割り込みマスク指示は割り込みマスク以外の指示に変更される。これにより、クロック信号の発生等が再開されるから、そのとき、ＣＰＵがデッドロックに陥っていても、ウォッチドッグタイマによるタイマー動作のタイムアウト等を要因とする内部割り込み要求の発生により、ＣＰＵをリセットすることができる。従って、例えばカーオーディオ等の車載システムにおいて、当該システムの電源スイッチボタンがデータプロセッサのパワーオンスイッチに連動していない場合であっても、電源ケーブルからの電源供給を遮断したりすることなく、データプロセッサを再起動させることができる。
【００１３】
〔２〕本発明に係るデータプロセッサは、クロック信号（φ１）を生成するクロック発生回路（３５）と、前記クロック信号に同期動作する中央処理装置（２１）と、ウォッチドッグタイマ（２５）と、第１制御回路（２２）と、第２制御回路（２４）とを有する。ウォッチドッグタイマは、前記クロック信号をカウントし、カウントアップ信号を内部割り込み要求信号として発生する。第１制御回路は、スタンバイ状態への遷移の指示（ＳＥＴＳＬＥＥＰ）に基づいて前記クロック発生回路によるクロック信号の発生動作をクロック停止信号（ＯＳＣＳＴＰ）により停止可能である。第２制御回路は、外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）と割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）とを入力して割り込み制御を行うと共に、前記クロック発生回路にクロック信号の発生動作を再開させる制御を行う。前記第２制御回路は、前記クロック停止信号を帰還入力させる帰還経路（４０）に接続される。第２制御回路は、前記クロック停止信号によって前記クロック発生回路によるクロック信号の発生動作が停止されている状態において、前記外部割り込み要求信号によって割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われていないときは、前記クロック停止信号を反転させる論理回路である。また、第２制御回路は、対応する割り込みマスク信号による割り込みマスクが行われているときは、前記帰還経路により帰還された前記クロック停止信号に基づいて前記クロック信号の停止の指示を解除する論理回路である。
【００１４】
上記同様に、動作基準クロック信号が停止されデッドロックに陥った状態に対して、クロック信号の停止の指示を解除するから、パワーオンリセットを行わずにデータプロセッサの再起動が可能になる。
【００１５】
本発明の具体的な一つの形態として、前記帰還経路に接続された帰還回路（３７）を更に有する。前記帰還回路は、制御レジスタ（５１）と、切り換え回路（５２）とを備える。制御レジスタは、前記帰還経路の遮断又は導通を指示する第１の値又は第２の値を保持する。切り換え回路は、前記制御レジスタが前記第１の値のときは、前記帰還経路に帰還されるクロック停止信号に代えて割り込みマスクを有効にするレベル信号を出力し、前記制御レジスタが第２の値のときは、前記帰還経路に帰還されるクロック停止信号を通過させる。上記より、仮に帰還回路がなければ、クロック停止信号が常に帰還経路を通過することになり、スタンバイ状態時には、割り込みマスク信号が割り込みマスクを行っても、第２制御回路によって割り込みマスク信号のみで割り込みマスクが決定されない。このため、スタンバイ状態時、且つ、割り込みマスクが全て有効な状態では、マスカブル割り込み要求信号は、マスク不可能なノンマスカブル割り込み要求信号と同等となる。この状態では、割り込みマスク機能が無効となってしまうため、エンドユーザの使い勝手も損なわれてしまう。更に、このデータプロセッサを車載用に限らず、他の用途に転用するときに不都合が生じてしまう。そこで、帰還回路を有することにより、制御レジスタが第１の値のときには、マスカブル割り込み要求信号による割り込みマスクを有効にして、ノンマスカブル割り込み要求信号と同等となることを回避できるから、マスカブル割り込み端子の本来の意義が損なわれない。
【００１６】
〔３〕本発明に係るデータプロセッサは、第１クロック信号（φ１）を生成するクロック発生回路（３５）と、前記第１クロック信号に同期動作する中央処理装置（２１）と、第１制御回路（２２）と、自励発振回路（５５）と、ウォッチドッグタイマ（５６）と、第２制御回路（５７）と、リセット指示回路（５６）とを有する。第１制御回路は、スタンバイ状態への遷移の指示（ＳＥＴＳＬＥＥＰ）に基づいて前記クロック発生回路による第１クロック信号の発生動作をクロック停止信号（ＯＳＣＳＴＰ）により停止可能である。自励発振回路は、第２クロック信号（φ２）を生成する。ウォッチドッグタイマは、前記第２クロック信号をカウントし、カウントアップ信号を内部割り込み要求信号として発生する。第２制御回路は、外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）と割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）とを入力して割り込み制御を行うと共に、前記自励発生回路による前記第２クロック信号の発生動作をクロック開始信号（ＷＤＴＳＴＵＰ）により開始可能である。リセット指示回路は、前記自励発振回路に接続され、前記第２クロック信号により動作し、内部リセット処理を指示する。前記第２制御回路は、前記クロック停止信号を帰還入力させる帰還経路（４０）に接続される。第２制御回路は、前記クロック停止信号によって前記クロック発生回路によるクロック信号の発生動作が停止されている状態において、前記外部割り込み要求信号によって割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われていないときは、前記クロック停止信号を反転させる論理回路である。また、第２制御回路は、対応する割り込みマスク信号による割り込みマスクが行われているときは、前記帰還経路により帰還させた前記クロック停止信号に基づいて、前記クロック開始信号により、前記自励発振回路を発振させる論理回路である。
【００１７】
上記より、デッドロックに陥った状態に対して、動作基準クロック信号が停止されたことを検出して、クロック開始信号により自励発振回路を発振させるから、パワーオンリセットを行わずにデータプロセッサの再起動が可能になる。また、自励発振回路は、動作基準クロック信号が停止された後に起動するから、消費電流を低減できる。
【００１８】
〔４〕本発明に係るデータプロセッサは、クロック信号（φ１）を生成するクロック発生回路（３５）と、前記クロック信号に同期動作する中央処理装置（２１）と、第１制御回路（２２）と、第２制御回路（６０）を有する。第１制御回路は、スタンバイ状態への遷移の指示（ＳＥＴＳＬＥＥＰ）に基づいて前記クロック発生回路によるクロック信号の発生動作をクロック停止信号（ＯＳＣＳＴＰ）により停止可能である。第２制御回路は、外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）と割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）とを入力して割り込み制御を行うと共に、前記クロック発生回路にクロック信号の発生動作を再開させる制御を行う。前記第２制御回路は、前記スタンバイ状態への遷移の指示を入力する。第２制御回路は、前記クロック停止信号によって前記クロック発生回路によるクロック信号の発生動作が停止されている状態において、前記外部割り込み要求信号によって割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われていないときは、前記クロック停止信号を反転させる論理回路である。また、第２制御回路は、対応する割り込みマスク信号による割り込みマスクが行われているときは、前記スタンバイ状態への遷移の指示と、当該割り込みマスク信号とに基づいて、前記クロック信号の停止の指示を解除すると共に、所定の内部割り込み要求（ＩＲＱＧＳ）を生成する論理回路である。
【００１９】
上記より、デッドロックに陥った状態に対して、スタンバイ状態への遷移の指示があれば、直ちに所定の内部割り込み要求を生成するから、スタンバイ状態を強制的に解除することになり、パワーオンリセットを行わずにデータプロセッサの再起動が可能になる。
【００２０】
〔５〕本発明に係るデータプロセッサは、クロック信号（φ１）を生成するクロック発生回路（３５）と、前記クロック信号に同期動作する中央処理装置（２１）と、第１制御回路（２２）と、第２制御回路（６５）とを有する。第１制御回路は、スタンバイ状態への遷移の指示（ＳＥＴＳＬＥＥＰ）に基づいて前記クロック発生回路によるクロック信号の発生動作をクロック停止信号（ＯＳＣＳＴＰ）により停止可能である。第２制御回路は、外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）と割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）とを入力して割り込み制御を行うと共に、前記クロック発生回路にクロック信号の発生動作を再開させる制御を行う。前記第２制御回路は、前記スタンバイ状態への遷移の指示を入力する。第２制御回路は、前記クロック停止信号によって前記クロック発生回路によるクロック信号の発生動作が停止されている状態において、前記外部割り込み要求信号によって割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われていないときは、前記クロック停止信号を反転させる論理回路である。また、第２制御回路は、対応する割り込みマスク信号による割り込みマスクが行われているときは、前記スタンバイ状態への遷移の指示と、前記外部割り込み要求信号とに基づいて、前記クロック信号の停止の指示を解除すると共に、所定の内部割り込み要求（ＩＲＱＧＳ）を生成する論理回路である。
【００２１】
上記より、デッドロックに陥った状態に対して、スタンバイ状態への遷移の指示があれば、割り込みマスク信号とは無関係に、外部割り込み要求信号によって、スタンバイ状態を解除することになり、パワーオンリセットを行わずにデータプロセッサの再起動が可能になる。
【００２２】
本発明の具体的な一つの形態として、前記所定の内部割り込み要求は、内部リセット要求である。上記より、所定の内部割り込み要求が内部リセット命令を起動させるためのベクタアドレスを含んでおり、このベクタアドレスに基づいてＣＰＵが内部リセット命令を実行できる。
【００２３】
〔６〕本発明に係るデータプロセッサは、クロック信号を生成するクロック発生回路（３５）と、前記クロック信号に同期動作する中央処理装置（２２）と、第１制御回路（７０）と、第２制御回路（７１）とを有する。第１制御回路は、スタンバイ状態への遷移の指示（ＳＥＴＳＬＥＥＰ）に基づいて前記クロック発生回路によるクロック信号の発生動作を停止制御する。第２制御回路は、外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）と割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）とを入力して割り込み制御を行うと共に、前記クロック発生回路にクロック信号の発生動作を再開させる制御を行う。前記第１制御回路は、前記割り込みマスク信号を入力し、前記割り込みマスク信号による割り込みマスクが行われているときは、前記スタンバイ状態への遷移を抑制する論理回路である。
【００２４】
上記より、スタンバイ状態への遷移の指示があっても、割り込みマスクが行われているとき、即ち、スタンバイ状態から復帰できない可能性がある場合には、スタンバイ状態への遷移を許容しない。言換えると、スタンバイ状態を解除する可能性が保障されているときだけ、スタンバイ状態への遷移を許容する。
【発明の効果】
【００２５】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２６】
すなわち、動作基準クロック信号が停止されデッドロックに陥った状態に対して、パワーオンリセットを行わずに再起動が可能である。また、デッドロックを解除する可能性が保障されているときだけ、スタンバイ状態への遷移を許容できる。
【発明を実施するための最良の形態】
【００２７】
《カーオーディオの全体構成》
図２には、本発明の各実施形態に係るデータプロセッサを適用したカーオーディオの一例が示される。カーオーディオ（ＣＡＵＤＩＯ）１は、システム制御部（ＳＹＳＭＣＵ）２（以下、データプロセッサと記す）を有するシステムユニット（ＳＹＳＵＮＴ）３を備えている。カーオーディオ１は、ラジオユニット（ＲＡＤＩＯＵＮＴ）４と、オーディオＤＳＰ（ＡＵＤＩＯＤＳＰ）５と、ＣＤユニット（ＣＤＵＮＴ）６と、フロントパネルユニット（ＦＲＴＰＮＬ）７と、外部ユニット（ＥＸＩＴＵＮＴ）８とを有し、これらはデータプロセッサ２にそれぞれ接続されている。ＣＤユニット６は、ＣＤ制御部（ＣＤＭＣＵ）９を有する。フロントパネルユニット７は、操作用スイッチ群（ＯＰＳＷＧ）１０と、表示制御部（ＤＩＳＰＭＣＵ）１１とを有する。
【００２８】
図３には、データプロセッサ２の割り込み端子の接続状態の一例が示される。データプロセッサ２は、電源にプルアップされて固定され、エンドユーザから操作不能とされるノンマスカブル割り込み端子１２と、リセット端子１３と、ハードウェアスタンバイ端子１４とを有する。ノンマスカブル割り込み端子１２には、ノンマスカブル割り込み要求信号（／ＮＭＩ）が入力される。リセット端子１３には、リセット信号（／ＲＥＳ）が入力される。ハードウェアスタンバイ端子１４には、ハードウェアスタンバイ信号（／ＳＴＢＹ）が入力される。また、データプロセッサ２は、電源端子（ＶＣＣ）１７と、グランド端子（ＶＳＳ）１８を有し、さらに、操作用スイッチ群１０等のその他の回路ブロックから供給される外部割込み要求信号が供給される。ここでは、マスカブル割り込み端子１５，１６は、マスク可能な外部割込み要求信号を入力する割り込み端子を総称するものと理解されたい。例えば、マスカブル割り込み端子１５，１６には、マスク可能な外部割込み要求信号／ＩＲＱ１，／ＩＲＱ２が供給される。図３より明らかなように、データプロセッサ２は、／ＳＴＢＹによるハードウェアスタンバイ、／ＲＥＳによる外部からのシステムリセット、／ＮＭＩによるマスク不可能な割り込みの各要求は受けられない。これは、車載によるノイズの悪い影響によって、リセットやスタンバイ状態への遷移が不所望に行われないためである。更に、操作スイッチ群１０の電源スイッチは、データプロセッサ２の電源ＶＣＣに対する制御に連動されない。つまり、バッテリーからの電源配線が切断されない限り、データプロセッサ２には動作電源ＶＣＣが供給されることなる。従って、操作用スイッチ群１０の操作によって、データプロセッサ２に対するパワーオンリセットを行うことはできない。これは、リアルタイムクロックによる時計制御やタイマー制御に影響を与えないようにすることを優先させるためである。また、内部リセットの場合には、レジスタの初期化は行わないので、リアルタイムクロック等の時間データやタイマーデータが破壊されることはない。
【００２９】
ここで、カーオーディオ１におけるスタンバイ状態への遷移を概略的に説明する。スタンバイ状態への遷移は、システムクロックの発生動作を停止して消費電流を低減させるために行われ、通常は、ＣＰＵによって実行されるプログラムにより設定される。ところが、プログラムではなくノイズ等の他の要因により、データプロセッサ２が暴走してしまい、その結果、不所望にスタンバイ状態へ遷移する現象が確認されている。この現象は、カーオーディオ１が不所望に停止してしまい、エンドユーザが操作用スイッチ群１０を操作しても、その状態から復帰しないというものである。即ち、この現象におけるスタンバイ状態では、マスカブル割り込み端子１５，１６に対して、操作用スイッチ群１０からの操作に応じた外部割り込み要求信号による外部割り込み要求があったとき、対応する割り込みマスク信号による割り込みマスクが行われており、外部割り込み要求信号が無効とされている。また、ノンマスカブル割り込み端子１２は、ノイズ等により誤動作の原因となる可能性があるから、上記したようにエンドユーザからは操作不能とされている。要するに、上記した現象は、カーオーディオ１がデッドロックに陥った状態であることを示している。
【００３０】
《実施形態１》
図４には、本発明の実施形態１に係るデータプロセッサ２の機能ブロックの一例が示される。尚、クロック供給系統は図示を省略している。データプロセッサ２は、特に限定されないが、１６ビットマイクロコンピュータであって、発振回路（ＯＳＣ）２０と、ＣＰＵ２１と、システム制御回路（ＳＹＳＣＮＴ）２２と、外部割り込み入力端子（ＥＸＴＩＲＱＩＮＴ）２３と、割り込み制御回路（ＩＲＱＣＮＴ）２４と、ウォッチドッグタイマ（ＷＤＴ１）２５を備えている。更に、データプロセッサ２は、ＣＰＵ２１に内部データバス（ＩＤＢ）２６と内部アドレスバス（ＩＡＢ）２７を介して接続されたランダム・アクセス・メモリ（ＲＡＭ）２８と、リード・オンリ・メモリ（ＲＯＭ）２９と、バスコントローラ（ＢＳＣ）３０を備えている。その他に、データプロセッサ２は、システム制御回路２２、割り込み制御回路２４、ウォッチドッグタイマ２５及びバスコントローラ３０に、周辺データバス（ＰＤＢ）３１と周辺アドレスバス（ＰＡＢ）３２を介して接続された周辺回路（ＰＬＣＴ）３３を備えている。ＣＰＵ２１は、ＲＯＭ等が保有するプログラムを実行する。システム制御部２２は、ソフトウェアスタンバイモードに代表される低消費電力制御やクロックの周波数制御等を行う。割り込み制御回路２４は、外部割り込み入力端子２３で総称される外部割り込み要求端子からの外部割込み要求信号や内部割込み要求信号等に対するマスク制御並びに優先制御を行う。割り込み制御回路２４は、割り込み要求を受け付けると、その要因に応じた割り込みベクタと共に、割り込み信号をＣＰＵ２１に供給する。例えば、ＣＰＵ２１は、現在実行中の命令実行を完了した後、割り込みベクタで示される命令アドレスを先頭とする割り込み処理プログラムを実行する。リード・オンリ・メモリ（ＲＯＭ）２９は、プログラムを保持可能な不揮発性メモリであればよく、マスクＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ等の何れの構成であってもよい。
【００３１】
図１には、本発明の実施形態１に係るデータプロセッサ２の一部の回路構成例が示される。発振回路２０は、システムクロック発振回路（ＳＹＳＣＬＫＯＳＣ）３５を有する。システムクロック発振回路３５は、クロック入力端子（ＣＬＫＩＮＴ）３６から入力されるシステムクロック信号又は発振子の発振動作に応じて、データプロセッサ２全体を動作させるシステムクロックφ１を生成する。上記したＣＰＵ２１は、このシステムクロックφ１に同期動作して、各種命令を実行する。ウォッチドッグタイマ２５は、システムクロック発振回路３５に接続され、システムクロックφ１をカウントし、オーバーフローによって内部リセット信号を割り込み制御回路２４に供給する。ＣＰＵ２１が正常に動作していれば、ＣＰＵ２１は、その動作プログラムに従ってウォッチドッグタイマ２５のカウント値を逐次クリアし、オーバーフローしないように管理する。ＣＰＵ２１がデッドロックに陥った状態になると、ウォッチドッグタイマ２５に対するクリア処理が行われず、内部リセットが要求されて、ＣＰＵ２１の内部リセット機能によりデータプロセッサ２が初期化される。尚、ＣＰＵ２１の内部リセット機能は、計数すべきクロックがウォッチドッグタイマ２５により供給されているのが前提である。
【００３２】
以下、このシステムクロック発振回路３５を制御して、システムクロックφ１の発生動作を停止又は再開させるための機能について説明する。システム制御回路２２は、スタンバイ状態への遷移の指示に基づいて、システムクロック発振回路３５によるシステムクロックφ１の発生動作をクロック停止信号（ＯＳＣＳＴＰ）により停止可能とする回路である。システム制御回路２２は、アンドゲート（以下、ＡＮＤと記す）３８と、セット・リセット（ＲＳ）型フリップフロップ（ＲＳ−ＦＦ）３９とを有する。ＡＮＤ３８は、プログラムによってハイレベル（以下、値「１」又は有効とも記す）又はローレベル（以下、値「０」又は無効とも記す）とされるソフトウェアスタンバイセットビット信号（ＳＳＢＹ）と、スリープ命令実行信号（ＳＥＴＳＬＥＥＰ）とを２入力として論理積を採る。このスリープ命令実行信号は、プログラムによってスタンバイ状態へ遷移するための命令であるスリープ命令を実行したときにハイレベルにされる信号である。
【００３３】
まず、システムクロックφ１の発生動作を停止する動作について説明する。ＡＮＤ３８は、ソフトウェアスタンバイセットビット信号及びスリープ命令実行信号が値「１」であるとき、ソフトウェアスタンバイ信号（ＳＳＴＢＹ）を値「１」として、スタンバイ状態への遷移の指示を有効にする。ソフトウェアスタンバイ信号は、ソフトウェアスタンバイが許可されているときハイレベルにされる信号である。このとき、ＲＳ型フリップフロップ３９は、ソフトウェアスタンバイ信号をセット端子Ｓに受けて、セット端子Ｓを値「１」、出力端子Ｑを値「１」として、クロック停止信号を値「１」とする。クロック停止信号が値「１」となると、システム発振回路３５は、システムクロックφ１の発生動作を停止する。そして、データプロセッサ２は、スタンバイ状態へ遷移する。
【００３４】
次に、システムクロックφ１の発生動作を再開させ、スタンバイ状態を解除する構成について説明する。割り込み制御回路２４は、クロック停止信号を帰還入力させる帰還経路４０に接続されており、５つのオアゲート（以下、ＯＲと記す）４１〜４５と、４つのＡＮＤ４６〜４９と、その他の割り込み制御用ロジック回路５０とを有する。それら論理回路４１〜４９は、マスカブル割り込み端子１５，１６から入力された外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）と、割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）と、帰還回路３７を介して帰還入力されたクロック停止信号とに基づいて、システムクロックφ１の発生動作を再開させ、スタンバイ状態を解除する制御を行う。その他の割り込み制御用ロジック回路５０は、割込み要求信号等に対するマスク制御並びに優先制御を行う。制御用ロジック回路５０は、割り込み要求を受け付けると、その要因に応じた割り込みベクタと共に、割り込み信号をＣＰＵ２１に供給する制御を行う。
【００３５】
割り込み制御回路２４によるスタンバイ解除の制御について説明する。論理回路４１〜４９は、割り込みマスク信号（ＩＲＱ１Ｅ、ＩＲＱ２Ｅ）がマスク指示レベル「０」であっても、クロック停止信号（ＯＳＣＳＴＰ）を帰還入力するＡＮＤ４６，４７により、外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）による割り込み要求を有効とすることによって、強制的に外部割り込み信号（ＥＩＮＴ）をハイレベルとする。これにより、論理回路４１〜４９は、スタンバイ状態を解除可能になっている。クロック停止信号（ＯＳＣＳＴＰ）を常時帰還させてしまうと、スタンバイ状態、且つ、全ての割り込みマスクが有効な場合において外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）は、ノンマスカブル割り込み要求信号（ＮＭＩ）と同等になり、データプロセッサ２を他の用途に転用するとき不都合な場合にあることを想定して帰還回路（ＦＢＵＮＴ）３７を設けている。この帰還回路３７は、制御レジスタ（ＲＥＧ）５１の設定値により、ＡＮＤ４６，４７の出力の有効／無効が選択可能になっている。
【００３６】
更に具体的に説明する。割り込み制御回路２４は、スタンバイ状態、即ち、クロック停止信号が値「１」である場合において、外部割り込み要求信号によって割り込み要求があり、対応する割り込みマスク信号による割り込みマスクが行われているときには、割り込みマスク信号の割り込みマスク指示を、この割り込みマスクを無効とする指示に変更する。即ち、割り込み制御回路２４は、クロック停止信号を値「０」に反転させるために、ＲＳ型フリップフロップ３９のリセット端子Ｒに対して、値「１」の外部割り込み信号（ＥＩＮＴ）を出力する。このとき、ＲＳ型フリップフロップ３９のリセット端子Ｒは、値「１」となるので、出力端子Ｑを値「０」にして、クロック停止信号を値「０」とする。
【００３７】
帰還回路３７は、帰還経路４０に接続され、制御レジスタ５１と、スイッチ５２とを有する。制御レジスタ５１は、プログラムによって値「０」又は値「１」に設定可能である。帰還回路３７は、制御レジスタ５１が値「０」のときは、スイッチ５２により帰還経路４０を遮断して、クロック停止信号に代えて割り込みマスクを有効にするレベル信号、即ち、値「０」の信号を割り込み制御回路２４に供給する。この場合は、ＡＮＤ４６，４７の１入力が値「０」となるので、ＯＲ４２，４３の１入力が値「０」となる。そして、ＯＲ４２，４３の出力は、割り込みマスク信号の値に対応することとなり、割り込みマスクが有効とされる。要するに、クロック停止信号が値「０」であれば、割り込みマスク信号の割り込みマスク指示を変更しないようにできる。
【００３８】
また、帰還回路３７は、制御レジスタ５１が値「１」のときは、スイッチ５２により帰還経路４０を導通して割り込みマスクを無効とする信号、即ち、値「１」のクロック停止信号を割り込み制御回路２４に供給する。この場合は、ＡＮＤ４６，４７の１入力が値「１」となるので、割り込みマスク信号が値「０」で割り込みマスクが行われていても、ＯＲ４１の２入力が値「０」であり、さらに、その出力が反転されるので、ＡＮＤ４６，４７の１入力は値「１」となる。このため、ＡＮＤ４６，４７の２入力は共に値「１」であり、その出力は値「１」として、ＯＲ４２，４３の１入力とされる。そして、ＯＲ４２，４３の出力は、値「１」となり、ＡＮＤ４８，４９の１入力となる。さらに、ＡＮＤ４８，４９は、マスカブル割り込み端子１５，１６から入力された外部割り込み要求信号を許可して、その出力は値「１」となり、ＯＲ４４の２入力となる。そのため、ＯＲ４５の１入力は、値「１」となるので、上記した外部割り込み信号（ＥＩＮＴ）が値「１」となる。要するに、割り込み制御回路２２は、割り込みマスク信号が値「０」であっても、外部割り込み信号の値を「１」とするから、割り込みマスク指示を、割り込みマスクを無効とする指示に変更して、システムクロックφ１の発生動作を再開させることができる。
【００３９】
システムクロックφ１の発生動作が再開されると、ウォッチドッグタイマ２５は、システムクロックφ１をカウントするが、ＣＰＵ２１がデッドロックに陥った状態であるから、カウンタ値のオーバーフローを要因とする内部リセット信号を割り込み制御回路２４に供給する。これにより、ＣＰＵ２１は、内部リセット処理を実行して、データプロセッサ２を初期化できる。従って、カーオーディオ１は、上記したように、ノンマスカブル割り込みやリセット割り込みが抑制され、さらに、電源スイッチボタンがデータプロセッサ２のパワーオンスイッチに連動していない利用形態において、電源ケーブルからの電源供給を遮断することなく、データプロセッサ２を再起動させることができる。また、割り込み制御回路２４は、比較的簡単な論理ゲート、即ち、論理回路４１〜４９で構成できるから、消費電流の増加を低減できる。
【００４０】
図５には、データプロセッサ２の比較例の回路構成が例示される。このデータプロセッサは、実施形態１のデータプロセッサ２と比べると、主に割り込み制御回路の回路構成が異なる。データプロセッサは、マスカブル割り込み端子の入力レベルを、割り込みマスク信号により変化させて、外部割り込みを発生させることにより、割り込み制御等の例外処理を行う。しかしながら、このデータプロセッサでは、上記したカーオーディオ１がスタンバイ状態へ遷移したとき、マスカブル割り込み端子が有効でなければならない。従って、このデータプロセッサをカーオーディオ１に適用したとしても、デッドロックに陥った状態に対しては、全てのマスカブル割り込み端子が無効であるから、パワーオンリセットを行わずに再起動することは不可能である。
【００４１】
《実施形態２》
図６には、本発明の実施形態２に係るデータプロセッサ２Ａの一部の回路構成例が示される。以下、各実施形態２〜５では、上記した実施形態１に係るデータプロセッサ２と同一機能等を有する部分には同一符号を付し、説明が重複する部分については適宜省略する。データプロセッサ２Ａは、上記したデータプロセッサ２と比べると、自励発振回路（ＳＥＬＦＯＳＣ）５５と、ウォッチドッグタイマ（ＷＤＴ２）５６とを更に有し、機能の異なる割り込み制御回路５７を備えている。
【００４２】
自励発振回路５５は、リングオシレータのような発振回路であって、クロックφ２を生成する。ウォッチドッグタイマ５６は、自励発振回路５５に接続され、クロックφ２をカウントするが、それ以外の機能等は上記したウォッチドッグタイマ２５と同様である。割り込み制御回路５７は、起動信号（ＷＤＴＳＴＵＰ）を生成することにより、自励発振回路５５によるクロックφ２の発生動作を開始可能である。即ち、割り込み制御回路５７は、データプロセッサ２Ａがスタンバイ状態へ遷移した後に、システムクロックφ１の発生動作を停止したシステムクロック発振回路３５ではなく、自励発振回路５５を起動することにより、クロックφ２を発生させ、スタンバイ状態を解除する制御を行う。
【００４３】
以下、クロックφ２の発生動作を開始させ、スタンバイ状態を解除する動作について説明する。尚、システムクロックφ１の発生動作を停止する動作については、データプロセッサ２と同様であり、説明を省略する。割り込み制御回路５７は、クロック停止信号（ＯＳＣＳＴＰ）を帰還入力させる帰還経路４０に接続されており、３つのＯＲ４１，４４，４５と、３つのＡＮＤ４８，４９，５８とを有する論理回路と、その他の割り込み制御用ロジック５０とを有する。割り込み制御回路５７は、上記した論理回路を用いて、割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）がマスク指示レベル「０」であると、クロック停止信号を帰還入力するＡＮＤ５８により、起動信号を生成して、スタンバイ状態を解除する制御を行う。つまり、割り込み制御回路５７は、クロック停止信号が値「１」であるスタンバイ状態において、外部割り込み要求信号によって割り込み要求があり、対応する割り込みマスク信号による割り込みマスクが行われているときには、割り込みマスク信号の割り込みマスク指示を、ウォッチドッグタイマ５６による内部リセット処理を行う指示に変更する。
【００４４】
更に具体的に説明する。割り込み制御回路５７において、割り込みマスクが行われると、ＯＲ４１の２入力が値「０」となる。そして、ＯＲ４１の出力は反転されるので、ＡＮＤ５８の１入力は値「１」となる。また、ＡＮＤ５８には、帰還入力された値「１」のクロック停止信号が入力される。このため、ＡＮＤ５８は、起動信号が値「１」となり、この起動信号を自励発振回路５５に出力する。
【００４５】
要するに、割り込み制御回路５７は、割り込みマスク信号が値「０」であるときに、起動信号を生成して、自励発振回路５５を起動し、その結果、ウォッチドッグタイマ５６に内部リセット処理を指示させることができる。言換えると、割り込み制御回路５７は、スタンバイ状態への遷移を検出すると、システムクロック発振回路３５を停止させた状態で、自励発振回路５５を起動させている。また、クロックφ２が発生すると、ウォッチドッグタイマ５６は、クロックφ２をカウントするが、ＣＰＵ２１がデッドロックに陥った状態であるから、カウンタ値のオーバーフローを要因とする内部リセット信号を割り込み制御回路２４に供給する。これにより、ＣＰＵ２１は、内部リセット処理を実行して、データプロセッサ２を初期化できる。そして、再びシステムクロックφ１の発生動作が開始されると、ＣＰＵ２１はシステムクロックφ１に同期動作する。尚、エンドユーザが意図して、割り込みマスク信号が値「０」であるときに、スタンバイ状態へ遷移したい場合には、プログラムによってウォッチドッグタイマ５６を起動させない仕様にすればよい。
【００４６】
従って、データプロセッサ２Ａによれば、スタンバイ状態へ遷移したことを検出して、自励発振回路５５を起動させることにより、デッドロックに陥った状態に対してパワーオンリセットを行わずに再起動できる。また、データプロセッサ２Ａは、スタンバイ状態へ遷移した後に自励発振回路５５を起動させるから、消費電流を低減できる。さらに、割り込み制御回路５７は、比較的簡単なゲート回路で構成できるので、既存の発振検出回路を用いる場合と比べて低コスト化を図ることができる。
【００４７】
図７には、データプロセッサ２Ａの比較例１の回路構成が例示される。このデータプロセッサは、実施形態２のデータプロセッサ２Ａと比べると、主に割り込み制御回路の回路構成が異なる。データプロセッサは、システムクロックφ１で動作するＷＤＴ１と、自励発振回路に接続され、クロックφ２で動作するＷＤＴ２を備えており、このＷＤＴ２がＷＤＴ１とは独立して動作を行うから、システムクロックφ１が停止しても動作を継続することができる。従って、このデータプロセッサは、スタンバイ状態への遷移によりシステムクロックφ１が不所望に停止してしまっても、ＷＤＴ２が動作を続けることになる。
【００４８】
しかしながら、このデータプロセッサでは、不所望なスタンバイ状態を解除することはできるが、自励発振回路が常に動作しているので、例えばエンドユーザが意図したスタンバイ状態時にも、その動作分の消費電流が増加してしまう。従って、このデータプロセッサは、消費電流を低減するためにスタンバイ状態へ遷移するという本来の目的に反してしまう。
【００４９】
図８には、データプロセッサ２Ａの比較例２の回路構成が例示される。このデータプロセッサは、実施形態２のデータプロセッサ２Ａと比べると、割り込み制御回路の回路構成が異なり、さらに、ウォッチドッグタイマを１つとし、発振検出回路（ＯＳＣＳＰＤＴＲ）とスイッチユニット（ＳＷＵＮＴ）を追加した点が異なる。このデータプロセッサは、スタンバイ状態への遷移を発振検出回路で検出すると、スイッチユニットにより、システムクロックφ１からクロックφ２へ切り換えてＷＤＴ１の動作を継続させることができる。
【００５０】
しかしながら、このデータプロセッサでは、例えば自励発振回路が常に動作している方式においては、図７に例示した比較例１と同様に、その動作分の消費電流が増加してしまう。また、このデータプロセッサでは、発振検出回路によりスタンバイ状態への遷移を検出した後に、自励発振回路を起動する方式においては、消費電流の増加を抑制することはできる。しかしながら、このデータプロセッサでは、発振検出回路がデータプロセッサ２Ａの割り込み制御回路５７に比べて複雑な回路構成を有しており、さらに、追加されたスイッチユニットも制御する必要があるので、制御が複雑化してしまう。
【００５１】
《実施形態３》
図９には、本発明の実施形態３に係るデータプロセッサ２Ｂの一部の回路構成例が示される。データプロセッサ２Ｂは、上記したデータプロセッサ２と比べると、所定の内部割り込み要求を発生させる割り込み制御回路６０を備えている。
【００５２】
以下、システムクロックφ１の発生動作を再開させると共に、所定の内部割り込み要求により、スタンバイ状態を解除する動作について説明する。割り込み制御回路６０は、４つのＯＲ４１，４４，４５，６１と、３つのＡＮＤ４８，４９，６２と、割り込み発生回路（ＩＲＱＧＣＮＴ）６３を有する論理回路と、その他の割り込み制御用ロジック５０とを備える。割り込み制御回路６０は、上記した論理回路を用いて、割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）がマスク指示レベル「０」であると、システム制御回路２２のＡＮＤ３８の出力、即ち、スタンバイ状態への遷移の指示となるソフトウェアスタンバイ信号（ＳＳＴＢＹ）を入力するＡＮＤ６２により、割り込み発生信号（ＩＲＱＧＳ）を生成する。つまり、割り込み制御回路６０は、データプロセッサ２Ｂがスタンバイ状態へ遷移すると、直ちに所定の内部割り込み要求を割り込み発生回路６３で発生させて、例外処理を行い、スタンバイ状態を解除する制御を行う。
【００５３】
更に具体的に説明する。割り込み制御回路６０において、割り込みマスクが行われると、ＯＲ４１の２入力が値「０」となる。そして、ＯＲ４１の出力は反転されるので、ＡＮＤ６２の１入力は値「１」となる。また、ＡＮＤ６２には、上記のように値「１」のソフトウェアスタンバイ信号が入力される。このため、ＡＮＤ６２は、値「１」の割り込み発生信号を、割り込み発生回路６３に出力する。
【００５４】
割り込み発生回路６３は、割り込み発生信号が入力されると、所定の割り込み要求として内部リセット要求を発生させる。この場合、所定の内部割り込み要求は、内部リセット命令を起動させるためのベクタアドレスを含んでいるから、ＣＰＵ２１は、このベクタアドレスに基づいて内部リセット命令を実行することができる。尚、エンドユーザが意図して、割り込みマスク信号が値「０」であるときに、スタンバイモードへ遷移したい場合は、プログラムによって割り込み発生回路６３を設定し、所定の内部割り込み要求が発生しない仕様にすればよい。
【００５５】
また、割り込み発生回路６３から出力された所定の内部割り込み要求は、値「１」としてＯＲ６１の１入力となる。そして、ＯＲ６１の出力である外部割り込み信号（ＥＩＮＴ）は値「１」となり、ＲＳ型フリップフロップ３９のリセット端子Ｒに出力される。その結果、ＲＳ型フリップフロップ３９は、リセット端子Ｒが値「１」となるので、出力端子Ｑを値「０」にして、クロック停止信号を値「０」とする。要するに、割り込み制御回路６０は、スタンバイ状態への遷移の指示と、割り込みマスク信号に基づいて、割り込みマスク信号の割り込みマスク指示を、内部リセット要求に変更する。従って、データプロセッサ２Ｂによれば、デッドロックに陥った状態に対して、スタンバイ状態への遷移の指示があれば、直ちに内部リセット要求を発生させて、スタンバイ状態を強制的に解除するから、パワーオンリセットを行わずに再起動が可能である。
【００５６】
《実施形態４》
図１０には、本発明の実施形態４に係るデータプロセッサ２Ｃの一部の回路構成例が示される。データプロセッサ２Ｃは、図９に示したデータプロセッサ２Ｂと比べると、機能の異なる割り込み制御回路６５を備えている。
【００５７】
以下、システムクロックφ１の発生動作を再開させると共に、所定の内部割り込み要求により、スタンバイ状態を解除する動作について説明する。データプロセッサ２Ｃの割り込み制御回路６５は、４つのＯＲ４４，４５，６６，６８と、３つのＡＮＤ４８，４９，６７と、割り込み発生回路（ＩＲＱＧＣＮＴ）６３とを有する論理回路と、その他の割り込み制御用ロジック５０とを備える。割り込み制御回路６５は、上記した論理回路を用いて、外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）の少なくも１つが値「１」であると、システム制御回路２２のＡＮＤ３８の出力であるソフトウェアスタンバイ信号（ＳＳＴＢＹ）を入力するＡＮＤ６７により、割り込み発生信号（ＩＲＱＧＳ）を生成する。つまり、割り込み制御回路６５は、データプロセッサ２Ｃがスタンバイ状態へ遷移すると、割り込みマスク信号（ＩＲＱ１Ｅ，ＩＲＱ２Ｅ）の割り込みマスク指示とは無関係に、外部割り込み要求信号（ＩＲＱ１，ＩＲＱ２）によって、スタンバイ状態を解除する制御を行う。
【００５８】
更に具体的に説明する。割り込み制御回路６５において、ＯＲ６６の２入力は、割り込みマスク信号ではなく、外部割り込み要求信号である。つまり、少なくとも１つの外部割り込み要求信号が値「１」であれば、ＯＲ６６の出力は値「１」となる。また、ＡＮＤ６７には、上記のように値「１」のソフトウェアスタンバイ信号が入力される。このため、ＡＮＤ６７は、値「１」の割り込み発生信号を、割り込み発生回路６３に出力する。尚、これ以降の動作は、データプロセッサ２Ｂと同様である。要するに、割り込み制御回路６５は、スタンバイ状態への遷移の指示と、外部割り込み要求信号に基づいて、外部割り込み要求信号による割り込み要求を、例えば内部リセット要求に変更する。従って、データプロセッサ２Ｃによれば、デッドロックに陥った状態に対して、スタンバイ状態への遷移の指示があれば、割り込みマスク信号とは無関係に、外部割り込み要求信号によって、スタンバイ状態を強制的に解除するから、パワーオンリセットを行わずに再起動が可能である。
【００５９】
《実施形態５》
図１１には、本発明の実施形態５に係るデータプロセッサ２Ｄの一部の回路構成例が示される。データプロセッサ２Ｄは、図５に示した比較例としてのデータプロセッサと比べると、機能の異なるシステム制御回路７０を備えている。尚、データプロセッサ２Ｄの割り込み制御回路７１は、当該データプロセッサの割り込み制御回路と略同様であるので、説明を省略する。
【００６０】
システム制御回路７０は、ＯＲ７２と、ＡＮＤ３８，７３と、ＲＳ型フリップフロップ３９とを有する。システム制御回路７０は、スタンバイ状態への遷移の指示に基づいて、割り込みマスク信号がマスク指示レベル「０」であれば、クロック停止信号（ＯＳＣＳＴＰ）を無効とし、システムクロック発振回路３５によるシステムクロックφ１の発生動作を停止せず、スタンバイ状態への遷移を抑制する論理回路である。
【００６１】
以下、スタンバイ状態への遷移の指示があり、割り込みマスク信号が値「０」であるときに、スタンバイ状態への遷移を抑制する動作について説明する。システム制御回路７０において、ＡＮＤ３８は、ソフトウェアスタンバイセットビット信号（ＳＳＢＹ）と、スリープ命令実行信号（ＳＥＴＳＬＥＥＰ）とを２入力として論理積を採る。つまり、ＡＮＤ３８は、ソフトウェアスタンバイセットビット信号及びスリープ命令実行信号が値「１」であるとき、値「１」の出力を、ＡＮＤ７３の１入力とする。ＯＲ７２は、値「０」の割り込みマスク信号を２入力とした論理和を採る。このため、ＯＲ７２は、値「０」の出力をＡＮＤ７３の１入力とする。その結果、ＡＮＤ７３ゲートは、ソフトウェアスタンバイ信号（ＳＳＴＢＹ）を値「０」として、スタンバイ状態への遷移の指示を無効にする。このとき、ＲＳ型フリップフロップ３９は、ソフトウェアスタンバイ信号をセット端子Ｓに受けて、セット端子Ｓを値「０」、出力端子Ｑを値「０」として、クロック停止信号を値「０」とする。クロック停止信号が値「０」となると、システム発振回路３５は、システムクロックφ１の発生動作を継続する。
【００６２】
ここで、データプロセッサ２Ｄでは、スタンバイ状態への遷移が抑制されるから、システムクロックφ１が停止しないことになり、例えばノイズ等の影響により暴走したＣＰＵ２１がそのまま暴走を続ける可能性がある。しかしながら、この場合には、ウォッチドッグタイマ２５がカウンタ値のオーバーフローを要因とする内部リセット信号を割り込み制御回路７１に供給するから、ＣＰＵ２１は暴走を停止して、内部リセット処理を実行し、データプロセッサ２Ｄを初期化できる。
【００６３】
要するに、システム制御回路７０は、スタンバイ状態への遷移の指示が入力されていても、割り込みマスクが行われている場合には、スタンバイ状態へ遷移した後に復帰できない可能性を考慮して、スタンバイ状態への遷移を抑制する制御を行う。従って、データプロセッサ２Ｄによれば、スタンバイ状態へ遷移したとしても、そのときには、少なくとも１つの割り込みマスク信号がマスク非指示レベル「１」であるから、外部割り込み要求信号によりスタンバイ状態から復帰することができる。
【００６４】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００６５】
例えば、実施形態１のデータプロセッサ２では、帰還経路４０に帰還回路３７を接続するようにしたが、これに限られず、割り込み制御回路２４によって、割り込みマスク信号が値「０」であっても、外部割り込み信号（ＥＩＮＴ）を値「１」にできるのであれば、帰還回路３７を設けないようにしてもよい。このようにすれば、データプロセッサ２の回路構成をより簡略化することができる。
【００６６】
また、実施形態５のデータプロセッサ２Ｄでは、ＯＲ７２の２入力となる割り込みマスク信号を、割り込み制御回路７１から入力するようにしたが、これに限られず、直接入力するようにしてもよい。このようにすれば、データプロセッサ２Ｄの配線をより簡略化できる。さらに、データプロセッサ２，２Ａ〜２Ｄは、例えば既存の回路に対して小規模な回路変更で構成できるから、外部割り込み要求信号と割り込みマスク信号を入力可能なデータプロセッサに広く適用できる。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態１に係るデータプロセッサ２の一部を例示する回路図である。
【図２】本発明の各実施形態に係るデータプロセッサを適用したカーオーディオの全体構成を例示するブロック図である。
【図３】データプロセッサ２の割り込み端子の接続状態を例示する図である。
【図４】本発明の実施形態１に係るデータプロセッサ２の機能ブロックを例示する図である。
【図５】データプロセッサ２の比較例を例示する回路図である。
【図６】本発明の実施形態２に係るデータプロセッサ２Ａの一部を例示する回路図である。
【図７】データプロセッサ２Ａの比較例１を例示する回路図である。
【図８】データプロセッサ２Ａの比較例２を例示する回路図である。
【図９】本発明の実施形態３に係るデータプロセッサ２Ｂの一部を例示する回路図である。
【図１０】本発明の実施形態４に係るデータプロセッサ２Ｃの一部を例示する回路図である。
【図１１】本発明の実施形態５に係るデータプロセッサ２Ｄの一部を例示する回路図である。
【符号の説明】
【００６８】
１  カーオーディオ（ＣＡＵＤＩＯ）
２，２Ａ〜２Ｄ  データプロセッサ
３  システムユニット（ＳＹＳＵＮＴ）
４  ラジオユニット（ＲＡＤＩＯＵＮＴ）
５  オーディオＤＳＰ（ＡＵＤＩＯＤＳＰ）
６  ＣＤユニット（ＣＤＵＮＴ）
７  フロントパネルユニット（ＦＲＴＰＮＬ）
８  外部ユニット（ＥＸＩＴＵＮＴ）
９  ＣＤ制御部（ＣＤＭＣＵ）
１０  操作用スイッチ群（ＯＰＳＷＧ）
１１  表示制御部（ＤＩＳＰＭＣＵ）
１２  ノンマスカブル割り込み端子
１５，１６  マスカブル割り込み端子
２０  発振回路（ＯＳＣ）
２１  中央処理装置（ＣＰＵ）
２２，７０  システム制御回路（ＳＹＳＣＮＴ）
２３  外部割り込み入力端子（ＥＸＴＩＲＱＩＮＴ）
２４，５７，６０，６５，７１  割り込み制御回路（ＩＲＱＣＮＴ）
２５，５６  ウォッチドッグタイマ（ＷＤＴ１，ＷＤＴ２）
３５  システムクロック制御回路（ＳＹＳＣＬＫＯＳＣ）
３６  クロック入力端子（ＣＬＫＩＮＴ）
３７  帰還回路（ＦＢＵＮＴ）
４０  帰還経路
５５  自励発振回路（ＳＥＬＦＯＳＣ）
６３  割り込み発生回路（ＩＲＱＧＣＮＴ）
ＮＭＩ  ノンマスカブル割り込み信号
ＩＲＱ１〜２  外部割り込み要求信号
ＩＲＱ１Ｅ〜２Ｅ  割り込みマスク信号
ＳＳＢＹ  ソフトウェアスタンバイセットビット信号
ＳＥＴＳＬＥＥＰ  スリープ命令実行信号
ＳＳＴＢＹ  ソフトウェアスタンバイ信号
ＯＳＣＳＴＰ  クロック停止信号
ＥＩＮＴ  外部割り込み信号
ＷＤＴＳＴＵＰ  ウォッチドッグタイマ起動信号
ＩＲＱＧＳ  割り込み発生信号
φ１  システムクロック
【図１】
2007140633.tif 000003
【図２】
2007140633.tif 000004
【図３】
2007140633.tif 000005
【図４】
2007140633.tif 000006
【図５】
2007140633.tif 000007
【図６】
2007140633.tif 000008
【図７】
2007140633.tif 000009
【図８】
2007140633.tif 000010
【図９】
2007140633.tif 000011
【図１０】
2007140633.tif 000012
【図１１】
2007140633.tif 000013