(57)【要約】【課題】  複数の発振器を内蔵したマイクロコンピュータにおいて、再起動時の安定動作を実現する。【解決手段】  本発明のシステムクロック生成回路は、複数のクロック信号からシステムクロックを選択するためのシステムクロック選択信号と、書き込み信号によって所望の動作状態が格納され、格納された動作状態に基づいてシステムクロック選択信号が出力される動作状態設定レジスタ１５と、動作状態設定レジスタ１５に格納された動作状態を保持し、リセット信号が入力された時に、システムクロック選択信号が初期化されないように、保持していた動作状態を動作状態設定レジスタ１５へ出力する動作状態保持レジスタ１６を有する。【選択図】  図１
2007140878.tif 000002
【特許請求の範囲】
【請求項１】
複数のクロック信号からシステムクロックを選択するための選択信号と、
書き込み信号によって所望の動作状態が格納され、前記格納された動作状態に基づいて前記選択信号が出力される第１の記憶手段と、
前記第１の記憶手段に格納された前記動作状態を保持し、リセット信号が入力された時に、前記選択信号が初期化されないように、前記保持していた動作状態を前記第１の記憶手段へ出力する第２の記憶手段を有することを特徴とするシステムクロック生成回路。
【請求項２】
前記前記第２の記憶手段は、
前記動作状態が格納される電気的に書き換え可能な不揮発性メモリと、
前記書き込み信号によって前記動作状態を前記不揮発性メモリへ書き込み、前記リセット信号によって前記不揮発性メモリに保持されていた前記動作状態を読み出して前記第１の記憶手段へ出力するよう動作する制御手段を備えたことを特徴とする請求項１に記載のシステムクロック生成回路。
【請求項３】
前記第１の記憶手段からの発振制御信号に基づいて、周波数の異なる第１および第２のクロック信号を生成するクロック生成手段と、
前記選択信号に基づいて、前記第１または前記第２のクロック信号を選択してシステムクロックとして出力する選択手段をさらに有することを特徴とする請求項１に記載のシステムクロック生成回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムクロック生成回路に係わり、特に、複数の発振器を内蔵したマイクロコンピュータにおけるシステムクロック生成回路に関する。
【背景技術】
【０００２】
携帯電話やデジタルカメラに代表されるポータブル機器は、その電源をバッテリー類に頼っており、機器の使用可能時間を確保するために消費電流をなるべく少なくすることが求められている。このようなポータブル機器に組み込まれることを目的とするマイクロコンピュータは、消費電流低減のため、通常の高速動作モードの他により低い周波数で動作する低速動作モードを持っている。これら動作モードは、動作状態を設定するレジスタに動作モードフラグを設定することで変更される（例えば、「特許文献１」を参照。）。
【０００３】
図３は、発振器を内蔵したマイクロコンピュータにおける従来のシステムクロック生成回路を示す回路ブロック図である。従来のシステムクロック生成回路は、図３に示したように、高速発振器３１および低速発振器３２からなるクロック生成部３３と、クロック生成部３３からのクロック信号を選択してシステムクロックとして出力するセレクタ３４と、書き込み信号によって動作状態が格納され、その動作モードフラグの値に従って高速発振制御信号、低速発振制御信号、およびシステムクロック選択信号を出力する動作状態設定レジスタ３５とを備えている。そして、この従来のシステムクロック生成回路は、動作モードフラグが高速動作を示していれば、システムクロックとして高速発振器３１からの高速クロックを出力し、低速発振器３２を停止する。また、動作モードフラグが低速動作を示していれば、システムクロック生成回路は、システムクロックとして低速発振器３２からの低速クロックを出力し、高速発振器３１を停止する。
【０００４】
ところで、このような従来のシステムクロック生成回路を内蔵したマイクロコンピュータでは、動作状態設定レジスタ３５は、初期状態で高速発振器３１を選択するよう構成されていた。このため、マイクロコンピュータにリセット信号が入力されると、動作状態設定レジスタ３５が初期化され、マイクロコンピュータは高速発振器３１で動作する高速動作モードで再起動されていた。
【０００５】
しかしながら、リセット信号が入力された時、マイクロコンピュータが消費電流を抑えるために低速発振器３２で動作する低速動作モードであった場合には、再起動された高速発振器３１の発振動作がすぐには安定せず異常発振状態となり、同期リセット解除信号が正常に受け付けられず、マイクロコンピュータが誤動作してしまうという問題があった。
【特許文献１】特開２００４−１３３３７号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、複数の発振器を内蔵したマイクロコンピュータにおいて、再起動時の安定動作を確保することができるシステムクロック生成回路を提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、複数のクロック信号からシステムクロックを選択するための選択信号と、書き込み信号によって所望の動作状態が格納され、前記格納された動作状態に基づいて前記選択信号が出力される第１の記憶手段と、前記第１の記憶手段に格納された前記動作状態を保持し、リセット信号が入力された時に、前記選択信号が初期化されないように、前記保持していた動作状態を前記第１の記憶手段へ出力する第２の記憶手段を有することを特徴とするシステムクロック生成回路が提供される。
【発明の効果】
【０００８】
本発明によれば、選択されている発振器のクロック信号で再起動されるので、マイクロコンピュータの安定動作を確保することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しながら、本発明の実施例を説明する。
【実施例１】
【００１０】
図１は、本発明の実施例１に係わるシステムクロック生成回路を示す回路ブロック図である。ここでは、主に、リセット信号として内部要因リセット、例えば、ウォッチドッグタイマリセット、アドレストラップリセット、未定義命令実行リセットなどが入力された場合のリセット動作にかかわる部分を示した。
【００１１】
本発明の実施例１に係わるシステムクロック生成回路は、高速発振器１１および低速発振器１２からなるクロック生成部１３、クロック生成部１３からのクロック信号を選択するセレクタ１４、クロック生成部１３およびセレクタ１４を制御する動作状態設定レジスタ１５、リセット信号入力前の状態を保持する動作状態保持レジスタ１６、および動作状態設定レジスタ１５と動作状態保持レジスタ１６とを接続する双方向バス１７を備えている。
【００１２】
高速発振器１１の制御信号入力には動作状態設定レジスタ１５からの高速発振制御信号が入力され、高速発振器１１の出力は高速クロックとしてセレクタ１４の第１の入力に供給されている。
【００１３】
低速発振器１２の制御信号入力には動作状態設定レジスタ１５からの低速発振制御信号が入力され、低速発振器１２の出力は低速クロックとしてセレクタ１４の第２の入力に供給されている。
【００１４】
セレクタ１４の制御信号入力には動作状態設定レジスタ１５からのシステムクロック選択信号が入力され、セレクタ１４の出力はシステムクロックとしてマイクロコンピュータ（以下、「システム」という。）の他の回路ブロック（図示していない。）へ供給されている。
【００１５】
動作状態設定レジスタ１５の制御信号入力には書き込み信号が入力され、動作状態設定レジスタ１５のデータ入出力は双方向バス１７に接続されている。
【００１６】
動作状態保持レジスタ１６の第１の制御信号入力には書き込み信号が入力され、第２の制御信号入力にはリセット信号が入力され、動作状態保持レジスタ１６のデータ入出力は双方向バス１７に接続されている。
【００１７】
高速発振器１１は、動作状態設定レジスタ１５からの高速発振制御信号に基づいて、システムが通常動作（以下、「高速動作モード」という。）で使用する高速クロックを生成し、セレクタ１４へ出力する。
【００１８】
すなわち、高速発振制御信号が“１”（動作）である時に、高速発振器１１は高速クロックを出力し、高速発振制御信号が“０”（停止）である時には、高速発振器１１は発振動作を停止する。
【００１９】
低速発振器１２は、動作状態設定レジスタ１５からの低速発振制御信号に基づいて、システムが消費電流を抑制するために低速動作する場合（以下、「低速動作モード」という。）に使用する低速クロックを生成し、セレクタ１４へ出力する。
【００２０】
すなわち、低速発振制御信号が“１”（動作）である時に、低速発振器１２は低速クロックを出力し、低速発振制御信号が“０”（停止）である時には、低速発振器１２は発振動作を停止する。
【００２１】
セレクタ１４は、動作状態設定レジスタ１５からのシステムクロック選択信号に基づいて、クロック生成部１３からの高速クロックまたは低速クロックを選択し、これをシステムクロックとして出力する。
【００２２】
すなわち、システムクロック選択信号が“高速クロック”であれば、セレクタ１４は高速発振器１１からの高速クロックを選択し、システムクロック選択信号が“低速クロック”であれば、セレクタ１４は低速発振器１２からの低速クロックを選択する。
【００２３】
動作状態設定レジスタ１５は、システムの内部状態を示す設定値（以下、「動作状態」という。）が格納される複数ビットのレジスタで構成され、動作状態の１つである動作モードフラグの値に基づいて、セレクタ１４へシステムクロック選択信号を出力する。
【００２４】
すなわち、格納された動作モードフラグが“１”（高速動作モード）であれば、動作状態設定レジスタ１５はシステムクロック選択信号として“高速クロック”を出力し、格納された動作モードフラグが“０”（低速動作モード）であれば、動作状態設定レジスタ１５はシステムクロック選択信号として“低速クロック”を出力する。
【００２５】
また、動作状態設定レジスタ１５は、動作モードフラグの値に基づいて、高速発振器１１へ高速発振制御信号を出力し、低速発振器１２へ低速発振制御信号を出力する。
【００２６】
すなわち、格納された動作モードフラグが“１”であれば、動作状態設定レジスタ１５は、高速発振制御信号として“１”を出力し、低速発振制御信号として“０”を出力する。また、格納された動作モードフラグが“０”であれば、動作状態設定レジスタ１５は、高速発振制御信号として“０”を出力し、低速発振制御信号として“１”を出力する。
【００２７】
動作状態は、書き込み信号によって動作状態設定レジスタ１５に書き込まれる。また、電源投入時や外部リセットなどでシステム全体がリセットされる時には、動作状態設定レジスタ１５は初期化され、動作状態はあらかじめ決められている初期状態にクリアされ、動作モードフラグは“１”にリセットされる。
【００２８】
動作状態保持レジスタ１６は、動作状態設定レジスタ１５と同じビット数のレジスタによって構成されている。動作状態保持レジスタ１６には、双方向バス１７を介して動作状態設定レジスタ１５から転送された動作状態が書き込み信号によって格納される。
【００２９】
また、動作状態保持レジスタ１６は、リセット信号として内部要因リセットを受け取ると、保持していた動作状態を双方向バス１７へ出力し、動作状態設定レジスタ１５へ転送する。
【００３０】
次に、上述の構成を持つシステムクロック生成回路の動作について説明する。ここでは、一例として、消費電流を抑えるためにシステムが低速動作モードで動作している時に、リセット信号が入力された場合を説明する。
【００３１】
まず、書き込み信号によって動作状態設定レジスタ１５に動作状態として低速動作モードが設定されると、動作状態は双方向バス１７を介して動作状態保持レジスタ１６にも書き込まれ退避される。
【００３２】
この時、動作状態設定レジスタ１５からのシステムクロック選択信号は、低速動作モードを示す“低速クロック”であるので、セレクタ１４により低速発振器１２の出力である低速クロックが選択されシステムクロックとして出力される。こうして、システムは、消費電流を抑えた低速動作モードで動作を開始する。
【００３３】
次に、この状態でリセット信号として内部要因リセットが動作状態保持レジスタ１６に入力されると、退避されていた動作状態が、双方向バス１７を介して動作状態設定レジスタ１５に転送される。
【００３４】
そして、動作状態設定レジスタ１５は、内部要因リセットが入力される前と同じ動作状態に設定され、セレクタ１４は、発振動作が安定している低速発振器１２からの低速クロックを選択して出力する。
【００３５】
このようにして、動作状態設定レジスタ１５の設定値が常に動作状態保持レジスタ１６に退避されているので、内部要因リセットを受け付けた際、システムは、安定したシステムクロックで再起動され、安定動作を確保することができる。
【００３６】
上記実施例１によれば、リセット信号入力前に選択されていた発振器のクロック信号で再起動されるので、システムの安定動作を確保することができるシステムクロック生成回路を実現することができる。
【実施例２】
【００３７】
図２は、本発明の実施例２に係わるシステムクロック生成回路を示す回路ブロック図である。ここでは、実施例１と同様に、主に、リセット信号として内部要因リセットが入力された場合のリセット動作にかかわる部分を示した。
【００３８】
本発明の実施例２に係わるシステムクロック生成回路は、高速発振器２１および低速発振器２２からなるクロック生成部２３、クロック生成部２３からのクロック信号を選択するセレクタ２４、クロック生成部２３およびセレクタ２４を制御する動作状態設定レジスタ２５、リセット信号入力前の状態を保持する動作状態保持ＥＥＰＲＯＭ２６、動作状態保持ＥＥＰＲＯＭ２６を制御する動作状態退避/設定制御回路２７、および動作状態設定レジスタ２５と動作状態保持ＥＥＰＲＯＭ２６とを接続する双方向バス２８を備えている。
【００３９】
高速発振器２１の制御信号入力には動作状態設定レジスタ２５からの高速発振制御信号が入力され、高速発振器２１の出力は高速クロックとしてセレクタ２４の第１の入力に供給されている。
【００４０】
低速発振器２２の制御信号入力には動作状態設定レジスタ２５からの低速発振制御信号が入力され、低速発振器２２の出力は低速クロックとしてセレクタ２４の第２の入力に供給されている。
【００４１】
セレクタ２４の制御信号入力には動作状態設定レジスタ２５からのシステムクロック選択信号が入力され、セレクタ２４の出力はシステムクロックとしてマイクロコンピュータ（以下、「システム」という。）の他の回路ブロック（図示していない。）へ供給されている。
【００４２】
動作状態設定レジスタ２５の制御信号入力には書き込み信号が入力され、動作状態設定レジスタ２５のデータ入出力は双方向バス２８に接続されている。
【００４３】
動作状態保持ＥＥＰＲＯＭ２６の制御信号入力には動作状態退避/設定制御回路２７からの制御信号が入力され、動作状態保持ＥＥＰＲＯＭ２６のデータ入出力は双方向バス２８に接続されている。
【００４４】
動作状態退避/設定制御回路２７の第１の制御信号入力には書き込み信号が入力され、第２の制御信号入力にはリセット信号が入力されている。
【００４５】
高速発振器２１、低速発振器２２、セレクタ２４、および動作状態設定レジスタ２５の構成、動作、および機能は、実施例１と同様なので、詳しい説明は省略する。
【００４６】
動作状態保持ＥＥＰＲＯＭ２６は、電気的に書き換え可能な不揮発性メモリであり、動作状態退避/設定制御回路２７からの制御信号に基づいて、双方向バス２８を介して動作状態設定レジスタ２５から受け取った動作状態を記憶する。
【００４７】
また、動作状態保持ＥＥＰＲＯＭ２６は、保持している動作状態を制御信号に基づいて動作状態保持ＥＥＰＲＯＭ２６へ転送する。
【００４８】
動作状態退避/設定制御回路２７は、書き込み信号およびリセット信号に基づいて、動作状態保持ＥＥＰＲＯＭ２６を制御する制御信号を生成し、出力する。
【００４９】
すなわち、動作状態退避/設定制御回路２７は、現在の動作状態を退避するために、動作状態設定レジスタ２５から転送された動作状態を書き込み信号によって動作状態保持ＥＥＰＲＯＭ２６へ格納し、保持するよう制御信号を生成する。
【００５０】
また、動作状態退避/設定制御回路２７は、リセット信号として内部要因リセットを受け取ると、動作状態設定レジスタ２５の動作状態をリセット信号入力前の状態に戻すために、動作状態保持ＥＥＰＲＯＭ２６が保持していた動作状態を動作状態設定レジスタ２５へ転送するよう制御信号を生成する。
【００５１】
次に、上述の構成を持つシステムクロック生成回路の動作について説明する。ここでは、一例として、消費電流を抑えるためにシステムが低速動作モードで動作している時に、リセット信号が入力された場合を説明する。
【００５２】
まず、書き込み信号によって動作状態設定レジスタ２５に動作状態として低速動作モードが設定されると、動作状態は双方向バス２８を介して動作状態保持ＥＥＰＲＯＭ２６にも書き込まれ退避される。
【００５３】
この時、動作状態設定レジスタ２５からのシステムクロック選択信号は、低速動作モードを示す“低速クロック”であるので、セレクタ２４により低速発振器２２の出力である低速クロックが選択されシステムクロックとして出力される。こうして、システムは、消費電流を抑えた低速動作モードで動作を開始する。
【００５４】
次に、この状態でリセット信号として内部要因リセットが動作状態退避/設定制御回路２７に入力されると、動作状態保持ＥＥＰＲＯＭ２６に退避されていた動作状態が、双方向バス２８を介して動作状態設定レジスタ２５に転送される。
【００５５】
そして、動作状態設定レジスタ２５は、内部要因リセットが入力される前と同じ動作状態に設定され、セレクタ２４は、発振動作が安定している低速発振器２２からの低速クロックを選択して出力する。
【００５６】
このようにして、動作状態設定レジスタ２５の設定値が常に動作状態保持ＥＥＰＲＯＭ２６に退避されているので、内部要因リセットを受け付けた際、システムは、安定したシステムクロックで再起動され、安定動作を確保することができる。
【００５７】
上記実施例２によれば、リセット信号入力前に選択されていた発振器のクロック信号で再起動されるので、システムの安定動作を確保することができるシステムクロック生成回路を実現することができる。
【００５８】
上述の実施例２では、リセット信号として内部要因リセットを動作状態退避/設定制御回路２７へ入力するとしたが、本発明はこれに限られるものではなく、例えば、リセット信号として外部リセットの一部を入力することで、電源の再投入時に、電源切断直前の動作状態でシステムを再起動することができるよう構成することもできる。
【００５９】
また、上述の実施例１および実施例２では、説明を容易にするため、クロック生成部は高速発振器と低速発振器の２つからなるとしたが、本発明はこれに限られるものではなく、３つ以上の発振器からなるクロック生成部に対して適用できるよう構成することもできる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施例１に係わるシステムクロック生成回路を示す回路ブロック図。
【図２】本発明の実施例２に係わるシステムクロック生成回路を示す回路ブロック図。
【図３】発振器を内蔵したマイクロコンピュータにおける従来のシステムクロック生成回路を示す回路ブロック図。
【符号の説明】
【００６１】
１１、２１  高速発振器
１２、２２  低速発振器
１３、２３  クロック生成部
１４、２４  セレクタ
１５、２５  動作状態設定レジスタ
１６  動作状態保持レジスタ
１７、２８  双方向バス
２６  動作状態保持ＥＥＰＲＯＭ
２７  動作状態退避/設定制御回路
【図１】
2007140878.tif 000003
【図２】
2007140878.tif 000004
【図３】
2007140878.tif 000005