(57)【要約】【課題】  プロセッサクロックの切替によって不具合が生じることを防いで、実行中の動作を正常に継続させることが可能なマイコンのクロック制御回路を提供する。【解決手段】  本発明の代表的な構成は、プロセッサ１０２のプロセッサクロック１３２を変更可能なマイコンのクロック制御回路１１０において、入力クロック（ＰＬＬクロック１３０）を分周してプロセッサクロック１３２を生成する分周器１１４と、プロセッサクロック１３２と他の回路のクロック（周辺クロック１３４、通信クロック１３６）との同期タイミングを検出して分周器１１４に対し分周比の変更を指示する変更イネーブル信号１４０を出力する変更イネーブル回路１２２と、を備えることを特徴とする。【選択図】図１
2013008133.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサのプロセッサクロックを変更可能なマイコンのクロック制御回路において、
入力クロックを分周または逓倍して、前記プロセッサクロックを生成する分周器または逓倍器と、
前記プロセッサクロックと他の回路のクロックとの同期タイミングを検出して、前記分周器または逓倍器に対し分周比または逓倍比の変更を指示する変更イネーブル信号を出力する変更イネーブル回路と、
を備えることを特徴とするマイコンのクロック制御回路。
【請求項２】
プロセッサのプロセッサクロックを変更可能なマイコンのクロック制御回路において、
入力クロックを分周または逓倍して前記プロセッサクロックを生成し、且つ該プロセッサクロックより前にクロック予告信号を出力する分周器または逓倍器と、
入力クロックを分周または逓倍して他の回路のクロックを生成し、且つ該他の回路のクロックより前にクロック予告信号を出力する分周器または逓倍器と、
それぞれの前記クロック予告信号に基づいて前記プロセッサクロックと前記他の回路のクロックとの同期タイミングを検知し、それぞれの前記分周器または逓倍器に対し分周比または逓倍比の変更を指示する変更イネーブル信号を出力する変更イネーブル回路と、
を備えることを特徴とするマイコンのクロック制御回路。
【請求項３】
プロセッサのプロセッサクロックを変更可能なマイコンのクロック制御回路において、
入力クロックを分周または逓倍して前記プロセッサクロックを生成する分周器または逓倍器と、
入力クロックを分周または逓倍して他の回路のクロックを生成し、且つ該他の回路のクロックより前にクロック予告信号を出力する分周器または逓倍器と、
前記クロック予告信号に基づいて前記プロセッサクロックのタイミングをずらし、前記他の回路のクロックとの同期関係を維持する同期化回路と、
を備えることを特徴とするマイコンのクロック制御回路。
【請求項４】
前記他の回路のクロックが、前記プロセッサに連携する周辺回路の周辺クロックまたは外部機器と通信を行う通信Ｉ/Ｆ回路の通信クロックであって、前記他の回路のクロックを生成する分周器または逓倍器の分周比または逓倍比が動作中に変更されないことを特徴とする請求項１から３のいずれか１項に記載のマイコンのクロック制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサクロックを切替可能なマイコンのクロック制御回路に関する。
【背景技術】
【０００２】
流量、温度、圧力等を検出するフィールド機器は、現場や状況によって求められる精度等が異なっており、種々の製品が生産されている。種々の製品のそれぞれにおいて固有の設計を行っていてはコストが嵩むため、現在、製品間での共通化が促進されている。例えば、製品間でのマイコン（microcomputer）の共通利用が行われている。
【０００３】
フィールド機器は、プラントを監視するための計装機器でありランニングコストの低減のために、極めて省電力化されている。具体的には、内部の電力線と信号線とが一緒のような状態になっており、供給電力が限られている。したがって、実装されたマイコン等は少ない電力で動作する必要がある。
【０００４】
しかし、近年の技術発達に伴いフィールド機器にも様々な機能が要求されており、徐々に高機能化されてきている。この高機能化に伴い、マイコンのシステムクロックを切り替える構成が提案されている。かかる構成では、マイコンの外部回路に予め電力を蓄電しておき、プロセッサ過負荷時にはこの蓄電電力を利用してシステムクロックを上げて高速動作する（以下「ターボ動作」と称する）。外部回路の蓄電電力が減少したり、プロセッサ負荷が軽減されたりした場合には、システムクロックを下げて低速動作する。これにより、少ない電力を有効に利用して動作可能となっている。
【０００５】
特許文献１には、マイコンのシステムクロックを切り替えることで、これに同期する計時用タイマに基づいて動作する制御用ソフトウェアの制御周期やタイミングがずれてしまうことから、システムクロックの切替を制限する技術について記載されている。詳細には特許文献１では、低速動作から高速動作への切替については、通常、制御に支障を来たすことがないため制限せず、高速動作から低速動作への切替についてはシステムクロックを停止するスリープ状態への移行時のみに制限するとしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−４９６１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の技術は、計時用タイマに基づいて動作する制御用ソフトウェアの制御周期やタイミングのずれを防ぐ技術である。したがって、システムクロックの切替に伴い、マイコンに実装されたハードウェアにて生じる不具合については一切触れられていない。なお、特許文献１の技術では、高速動作から低速動作への切替についてはシステムクロックを停止するスリープ状態への移行時のみとし、これ以外の状況下ではシステムクロックの周波数を下げないとしているが、供給電力が限られているフィールド機器においてこのような制御をすることは電力不足を誘発する原因となる。
【０００８】
システムクロックを切り替えることでプロセッサクロック、周辺クロック、通信クロック等の周波数を上げる場合、周辺回路の動作周波数が許容範囲を外れてしまったり、外部との通信速度がインターフェースにより規定されている通信Ｉ/Ｆ回路の通信動作が切断されてしまったりして、実行中の動作を正常に継続させることができなくなるおそれがある。このような場合、低速動作から高速動作への切替において（周波数を上げることによって）も、実行中の動作を正常に継続させることができなくなるおそれがある。
【０００９】
本発明は、このような課題に鑑みてなされたものであり、プロセッサクロックの切替によって不具合が生じることを防いで、実行中の動作を正常に継続させることが可能なマイコンのクロック制御回路を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の代表的な構成は、プロセッサのプロセッサクロックを変更可能なマイコンのクロック制御回路において、入力クロックを分周または逓倍してプロセッサクロックを生成する分周器または逓倍器と、プロセッサクロックと他の回路のクロックとの同期タイミングを検出して、分周器または逓倍器に対し分周比または逓倍比の変更を指示する変更イネーブル信号を出力する変更イネーブル回路と、を備えることを特徴とする。
【００１１】
上記構成によれば、プロセッサクロックの周波数の切替はプロセッサクロックを生成する分周器の分周比（または逓倍器の逓倍比）の変更によって行われるが、この変更はプロセッサクロックと他の回路のクロックとの同期タイミングを検出して変更イネーブル信号が出力されることにより実施される。そのため、プロセッサクロックと他の回路のクロックとの同期関係を維持したまま、プロセッサクロックの周波数を上げることも、下げることも可能となる。したがって、プロセッサクロックの周波数の切替によって不具合が生じることを防いで、実行中の動作を正常に継続させることが可能となる。
【００１２】
上記課題を解決するために、本発明の他の代表的な構成は、プロセッサのプロセッサクロックを変更可能なマイコンのクロック制御回路において、入力クロックを分周または逓倍してプロセッサクロックを生成し、且つプロセッサクロックより前にクロック予告信号を出力する分周器と、入力クロックを分周または逓倍して他の回路のクロックを生成し、且つ他の回路のクロックより前にクロック予告信号を出力する分周器または逓倍器と、それぞれのクロック予告信号に基づいてプロセッサクロックと他の回路のクロックとの同期タイミングを検知し、それぞれの分周器または逓倍器に対し分周比または逓倍比の変更を指示する変更イネーブル信号を出力する変更イネーブル回路と、を備えることを特徴とする。
【００１３】
上記構成によれば、クロック予告信号により、プロセッサクロックと他の回路のクロックとの直後の同期タイミングが変更イネーブル回路にて予め検知され、変更イネーブル信号が出力される。これにより、プロセッサクロックの周波数が高く、同期タイミングを検出してから変更イネーブル信号を出力したのでは分周比の変更が間に合わない場合にも対応可能となる。
【００１４】
上記課題を解決するために、本発明の他の代表的な構成は、プロセッサのプロセッサクロックを変更可能なマイコンのクロック制御回路において、入力クロックを分周または逓倍してプロセッサクロックを生成する分周器または逓倍器と、入力クロックを分周または逓倍して他の回路のクロックを生成し、且つ他の回路のクロックより前にクロック予告信号を出力する分周器または逓倍器と、クロック予告信号に基づいてプロセッサクロックのタイミングをずらし、他の回路のクロックとの同期関係を維持する同期化回路と、を備えることを特徴とする。
【００１５】
上記構成によれば、プロセッサクロックと他の回路のクロックとの同期関係を維持するように、同期化回路がクロック予告信号に基づいてプロセッサクロックのタイミングを調整する。そのため、プロセッサクロックの切替に際し、プロセッサクロックを生成する分周器の分周比（または逓倍器の逓倍比）の変更を他の回路のクロックとの同期タイミングまで待つことなく、即座に反映可能となる。
【００１６】
上記他の回路のクロックが、上記プロセッサに連携する周辺回路の周辺クロックまたは外部機器と通信を行う通信Ｉ/Ｆ回路の通信クロックであって、上記他の回路のクロックを生成する分周器または逓倍器の分周比または逓倍比が動作中に変更されないと好ましい。
【００１７】
上記構成によれば、周辺回路や通信Ｉ/Ｆ回路に一定のクロックが供給されるため、周辺回路の動作周波数が許容範囲を外れてしまったり、外部との通信速度が規定される通信Ｉ/Ｆ回路の通信動作が切断されてしまったりするのを回避できる。すなわち、実行中の周辺回路の処理動作、通信Ｉ/Ｆ回路の通信動作を正常に継続させることが可能となる。
【発明の効果】
【００１８】
本発明によれば、プロセッサクロックの切替によって不具合が生じることを防いで、実行中の動作を正常に継続させることが可能なマイコンのクロック制御回路を提供可能である。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１実施形態にかかるマイコンのクロック制御回路の概略構成を示すブロック図を示す図である。
【図２】図１に示すマイコンのクロック制御回路のターボ動作切替時のタイミングチャートである。
【図３】図１に示すマイコンのクロック制御回路の低速動作切替時のタイミングチャートである。
【図４】本発明の第２実施形態にかかるマイコンのクロック制御回路の概略構成を示すブロック図である。
【図５】図４に示すマイコンのクロック制御回路のターボ動作切替時のタイミングチャートである。
【図６】本発明の第３実施形態にかかるマイコンのクロック制御回路の概略構成を示すブロック図を示す図である。
【図７】図６に示すマイコンのクロック制御回路のターボ動作切替時のタイミングチャートである。
【図８】本発明に対する比較例としてのマイコンのクロック制御回路の概略構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【００２１】
[第１実施形態]
図１は、本発明の第１実施形態にかかるマイコンのクロック制御回路（以下「クロック制御回路１１０」と称する）の概略構成を示すブロック図である。図１に示すように、第１実施形態では、マイコン１００が、プロセッサ１０２、周辺回路１０４、通信Ｉ/Ｆ回路１０６、バス１０８、クロック制御回路１１０を含んで構成される。クロック制御回路１１０は、逓倍器１１２、分周器１１４、１１６、１１８、変更イネーブルレジスタ１２０、変更イネーブル回路１２２、クロック設定レジスタ１２４を備える。マイコン１００は、例えばフィールド機器に利用される。
【００２２】
プロセッサ１０２、周辺回路１０４、通信Ｉ/Ｆ回路１０６、変更イネーブルレジスタ１２０、クロック設定レジスタ１２４は、バス１０８を介してそれぞれ接続される。プロセッサ１０２は、ソフトウェアを動作させるためのハードウェアであり主体的に演算処理を実施する。周辺回路１０４は、プロセッサ１０２に連携して所定の処理動作を実施するハードウェアであり、各種コントローラやＲＯＭ、ＲＡＭ等である。通信Ｉ/Ｆ回路１０６は、通信バス１２６を介して、外部機器と通信を行う。
【００２３】
逓倍器１１２は、外部クロック１２８を逓倍して、分周器１１４、１１６、１１８に入力される入力クロックとしてのＰＬＬクロック１３０を生成する。分周器１１４は、ＰＬＬクロック１３０を分周して、プロセッサ１０２に供給するプロセッサクロック１３２を生成する。分周器１１６は、周辺回路１０４に供給する周辺クロック１３４（他の回路のクロック）を生成する。分周器１１８は、通信Ｉ/Ｆ回路１０６に供給する通信クロック１３６（他の回路のクロック）を生成する。ＰＬＬクロック１３０、プロセッサクロック１３２、周辺クロック１３４、通信クロック１３６は、変更イネーブル回路１２２に対しても供給される。
【００２４】
クロック設定レジスタ１２４には、逓倍器１１２の逓倍比およびそれぞれの分周器１１４、１１６、１１８の分周比が設定される。クロック設定レジスタ１２４は、設定された逓倍比を逓倍比設定信号１４２として、設定されたそれぞれの分周比を分周比設定信号１４４、１４６、１４８として、逓倍器１１２、それぞれの分周器１１４、１１６、１１８に出力する。
【００２５】
クロック制御回路１１０では、クロック設定レジスタ１２４に新たな分周比が設定されても、即座に分周器１１４、１１６、１１８にその新たな分周比が反映されることはない。分周器１１４、１１６、１１８の分周比の変更は、所定の手順を経て実行される。所定の手順とは、下記１）から４）までの手順である。
【００２６】
１）プロセッサ１０２がクロック設定レジスタ１２４に新たな分周比を設定するのに伴い、その新たな分周比の設定有効を示すデータを変更イネーブルレジスタ１２０に書込。２）変更イネーブルレジスタ１２０が変更イネーブル回路１２２に分周比変更要求信号１３８を出力。３）分周比変更要求信号１３８を検知した変更イネーブル回路１２２が、プロセッサクロック１３２、周辺クロック１３４、通信クロック１３６の有効エッジの同期タイミングを検出して、分周器１１４、１１６、１１８に分周比の変更を指示する変更イネーブル信号１４０を出力。４）分周器１１４、１１６、１１８が変更イネーブル信号１４０を検知して、クロック設定レジスタ１２４から出力される分周比設定信号１４４、１４６、１４８が指示する分周比に変更。
【００２７】
以下、具体例を挙げて、クロック制御回路１１０の動作について説明する。図２は、クロック制御回路１１０のターボ動作切替時のタイミングチャートである。図３は、クロック制御回路１１０の低速動作切替時のタイミングチャートである。図２では、模式的に、プロセッサクロック１３２を生成する分周器１１４の分周比を４（４分周）、周辺クロック１３４を生成する分周器１１６の分周比を８（８分周）、通信クロック１３６を生成する分周器１１８の分周比を１６（１６分周）とし、ターボ動作への切替としてプロセッサクロック１３２を生成する分周器１１４の分周比を２（２分周）に変更する場合について図示する。図３では、ターボ動作からプロセッサクロック１３２の周波数を下げて再度元の状態に戻す（分周器１１４の分周比を４（４分周）にする）低速動作への切替について図示する。
【００２８】
図２に示すように、システム動作開始後、プロセッサ１０２が過負荷状態となりターボ動作が必要な状態に陥ると、プロセッサ１０２はバス１０８経由でクロック設定レジスタ１２４に分周器１１４の新たな分周比として２（２分周）を設定する。クロック設定レジスタ１２４に設定された新たな分周比の２は、分周比設定信号１４４として分周器１１４に出力される。
【００２９】
プロセッサ１０２は、クロック設定レジスタ１２４から出力される分周比設定値１４４を有効にするために、設定有効を示すデータを変更イネーブルレジスタ１２０に書き込む。変更イネーブルレジスタ１２０は、その設定有効を示すデータの書込を受けて、分周比変更要求信号１３８を変更イネーブル回路１２２に出力し、分周比の変更要求が発生したことを変更イネーブル回路１２２に伝達する。
【００３０】
変更イネーブル回路１２２は分周比変更要求信号１３８を検知すると、ＰＬＬクロック１３０に同期してプロセッサクロック１３２、周辺クロック１３４、通信クロック１３６の全てが立ち上がるタイミング（同期タイミング）を検出する。そして、この同期タイミングの検出に伴い、分周器１１４、１１６、１１８に分周比の変更を指示する変更イネーブル信号１４０を出力する。ここでは、ＰＬＬクロック１３０の１サイクル分、変更イネーブル信号１４０を出力する。変更イネーブル信号１４０は変更イネーブルレジスタ１２０にも供給され、これが検知されることで分周比変更要求信号１３８が停止される。
【００３１】
分周器１１４、１１６、１１８では変更イネーブル信号１４０を検知すると、クロック設定レジスタ１２４から出力される分周比設定信号１４４、１４６、１４８が指示する分周比への変更を行う。これより、プロセッサクロック１３２を生成する分周器１１４の分周比が２に切り替えられ、ターボ動作によりプロセッサ１０２の処理能力が向上する。
【００３２】
なお、プロセッサクロック１３２は演算処理を主体的に担うプロセッサ１０２に供給されるものであり、その最大周波数は周辺クロック１３４の周波数よりも高く設定される。また、プロセッサ１０２に連携する周辺回路１０４の周辺クロック１３４の周波数は、通信クロック１３６の周波数よりも高く設定される。ターボ動作時のプロセッサクロック１３２の周波数は、切替後においても他の回路のクロック（周辺クロック１３４、通信クロック１３６）との同期関係を維持できるように設定される。
【００３３】
図３に示すように、ターボ動作への切替後、プロセッサ１０２がターボ動作が不要であることを検出すると、プロセッサクロック１３２の周波数を低下させるために、プロセッサ１０２がバス１０８経由でクロック設定レジスタ１２４に分周器１１４の分周比として再び４（４分周）を設定する。クロック設定レジスタ１２４に設定された分周比の４は、分周比設定信号１４４として分周器１１４に出力される。
【００３４】
プロセッサ１０２は、クロック設定レジスタ１２４から出力される分周比設定値１４４を有効にするために、設定有効を示すデータを変更イネーブルレジスタ１２０に書き込む。変更イネーブルレジスタ１２０は、その設定有効を示すデータの書込を受けて、分周比変更要求信号１３８を変更イネーブル回路１２２に出力し、分周比の変更要求が発生したことを変更イネーブル回路１２２に伝達する。
【００３５】
変更イネーブル回路１２２は分周比変更要求信号１３８を検知すると、ＰＬＬクロック１３０に同期してプロセッサクロック１３２、周辺クロック１３４、通信クロック１３６の全てが立ち上がるタイミング（同期タイミング）を検出する。そして、この同期タイミングの検出に伴い、分周器１１４、１１６、１１８に分周比の変更を指示する変更イネーブル信号１４０を出力する。
【００３６】
分周器１１４、１１６、１１８では変更イネーブル信号１４０を検知すると、クロック設定レジスタ１２４から出力される分周比設定信号１４４、１４６、１４８が指示する分周比への変更を行う。これより、プロセッサクロック１３２を生成する分周器１１４の分周比が再び４に切り替えられ、プロセッサクロック１３２の周波数が下げられる。プロセッサクロック１３２の周波数を下げることで、電力消費やマイコン１００の発熱を抑えることができる。
【００３７】
なお、ここではターボ動作から再び分周比を４に戻す場合について説明したが、これに限らずプロセッサクロックの周波数をさらに下げることも可能である。この場合においても、切替後も他の回路のクロック（周辺クロック１３４、通信クロック１３６）との同期関係を維持できるように、プロセッサクロック１３２の周波数を設定する。例えば、プロセッサクロック１３２の分周器１１４の分周比を８にしてよい。
【００３８】
上述した構成によれば、周辺回路１０４の周辺クロック１３４、通信Ｉ/Ｆ回路１０６の通信クロック１３６の周波数を変更せずに、プロセッサクロック１３２の周波数を上げたり、下げたりすることが可能である。周辺回路１０４や通信Ｉ/Ｆ回路１０６は、その動作実行中（処理動作中、通信動作中）に周波数が変更されると、その動作を正常に継続させることができなくなるおそれがある。例えば、通信Ｉ/Ｆ回路１０６の通信速度が９６００ｂｐｓと設定されその通信速度で通信動作を実行している状態にて通信クロック１３６を上げると、外部機器との同期関係が崩れその通信動作を正常に継続させることができなくなるおそれがある。
【００３９】
ここでは、他の回路（周辺回路１０４、通信Ｉ/Ｆ回路１０６）の周波数の切替を伴わず、プロセッサクロック１３２の周波数を切り替えるため、その実行中の動作を正常に継続させることができる。プロセッサクロック１３２の周波数の切替は、変更イネーブル回路１２２が周辺クロック１３４と通信クロック１３６との同期タイミングを検出することで実施されるため、プロセッサクロック１３２の切替後においても、プロセッサクロック１３２と、周辺クロック１３４と、通信クロック１３６との同期関係を維持することが可能である。したがって、プロセッサ１０２から他の回路（周辺回路１０４、通信Ｉ/Ｆ回路１０６）へのアクセス中にプロセッサクロック１３２の切替が発生しても、その動作を正常に継続させることが可能である。
【００４０】
なお、クロック制御回路１１０では、分周器１１６、１１８の分周比の変更を要しないわけではない。分周器１１６、１１８の分周比の変更を可能とすることで、マイコン１００の対応できる幅が広がるため、製品間での共通利用を促進することができる。
【００４１】
（比較例）
図８は、本発明に対する比較例としてのマイコンのクロック制御回路（以下「クロック制御回路４１０」と称する）の概略構成を示すブロック図である。図８に示すように、本比較例では、マイコン４００が、プロセッサ１０２、周辺回路１０４、通信Ｉ/Ｆ回路１０６、バス１０８、クロック制御回路４１０を含んで構成される。クロック制御回路４１０は、逓倍器１１２、分周器４１４、クロック設定レジスタ１２４を備える。
【００４２】
比較例のクロック制御回路４１０では、逓倍器１１２が外部クロック１２８を逓倍して、ＰＬＬクロック１３０を生成する。分周器４１４は、ＰＬＬクロックを分周して、システムクロック４３０ａを生成する。システムクロック４３０ａから、プロセッサクロック４３２、周辺クロック４３４、通信クロック４３６が生成され、それぞれ、プロセッサ１０２、周辺回路１０４、通信Ｉ/Ｆ回路１０６に供給される。なお、逓倍器１１２の逓倍比、分周器４１４の分周比は、クロック設定レジスタ１２４から発せられる逓倍比設定信号１４２、分周比設定信号４４４が指示する値に設定される。
【００４３】
比較例のクロック制御回路４１０では、システム動作開始後、プロセッサ１０２が過負荷状態となりターボ動作が必要な状態に陥ると、プロセッサ１０２はバス１０８経由でクロック設定レジスタ１２４に逓倍器１１２の新たな逓倍比、分周器１１４の新たな分周比を設定する。クロック設定レジスタ１２４に設定された新たな逓倍比、新たな分周比は逓倍比設定信号１４２、分周比設定信号４４４として、逓倍器１１２、分周器４１４にそれぞれ出力され、反映される。これにより、システムクロック４３０ａが高速に切り替えられ、プロセッサクロック４３２、周辺クロック４３４、通信クロック４３６の周波数が上げられる。
【００４４】
なお、ターボ動作切替後、プロセッサ１０２がターボ動作が不要であることを検出すると、上記と同様の手順でシステムクロック４３０ａが低速に切り替えられ、プロセッサクロック４３２、周辺クロック４３４、通信クロック４３６の周波数が下げられる。
【００４５】
上述した比較例では、システムクロック４３０ａの切替に伴い、周辺回路１０４や通信Ｉ/Ｆ回路１０６のクロック周波数も切り替えられる。そのため、周辺回路１０４や通信Ｉ/Ｆ回路１０６は、その実行中の動作を正常に継続させることができなくなるおそれがある。これに対し、第１実施形態にかかるクロック制御回路１１０によれば、プロセッサクロックの切替によって不具合が生じることを防いで、実行中の動作を正常に継続させることが可能である。
【００４６】
（応用例）
第１実施形態にかかるクロック制御回路１１０の応用例としては、他の回路（周辺回路１０４、通信Ｉ/Ｆ回路１０６）のアイドル状態が検出できていることを条件に、他の回路との同期タイミングを待たず、分周比変更要求信号１３８が出力されたタイミングで全分周器１１４、１１６、１１８同時に分周比を変更してもよい。これにより、各クロック間の同期関係を維持し、不具合を生じさせることなくプロセッサクロックを迅速に切り替えることが可能である。
【００４７】
[第２実施形態]
図４は、本発明の第２実施形態にかかるマイコンのクロック制御回路（以下「クロック制御回路２１０」と称する）の概略構成を示すブロック図である。図４に示すように、第２実施形態では、マイコン２００におけるクロック制御回路２１０が、プロセッサクロック１３２を生成する分周器１１４、周辺クロック１３４を生成する分周器１１６、通信クロック１３６を生成する分周器１１８を備える。
【００４８】
分周器１１４はプロセッサクロック１３２より前にクロック予告信号２５４を出力し、分周器１１６は周辺クロック１３４より前にクロック予告信号２５６を出力し、分周器１１８は通信クロック１３６より前にクロック予告信号２５８を出力する。変更イネーブル回路２２２は、このクロック予告信号２５４、２５６、２５８に基づきプロセッサクロック１３２、周辺クロック１３４、通信クロック１３６の同期タイミングを検知し、それぞれの分周器１１４、１１６、１１８に対し変更イネーブル信号１４０を出力する。
【００４９】
図５は、クロック制御回路２１０のターボ動作切替時のタイミングチャートである。図５に示すように、第２実施形態では、変更イネーブル回路２２２がクロック予告信号２５４、２５６、２５８により、プロセッサクロック１３２、周辺クロック１３４、通信クロック１３６の直後の同期タイミングを予め検知することで、変更イネーブル信号１４０が第１実施形態よりも早期に出力される。そのため、プロセッサクロック１３２の周波数が高く、同期タイミングを検出してから変更イネーブル信号１４０を出力したのでは分周比の変更が間に合わない場合にも対応可能である。
【００５０】
なお、フィールド機器のように供給電力が限られている場合には、変更イネーブルレジスタ１２０が分周比変更要求信号１３８を出力している場合のみ、クロック予告信号２５４、２５６、２５８を出力するように構成するとよい。これにより、常時クロック予告信号２５４、２５６、２５８を出力する必要がないので、省電力化を図ることができる。
【００５１】
[第３実施形態]
図６は、本発明の第３実施形態にかかるマイコンのクロック制御回路（以下「クロック制御回路３１０」と称する）の概略構成を示すブロック図を示す図である。図６に示すように、第３実施形態ではマイコン３００におけるクロック制御回路３１０が同期化回路３２２を備える点で上記第２実施形態と異なる。以下、この同期化回路３２２の働きについて説明する。なお、第２実施形態と実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略する。
【００５２】
図７は、クロック制御回路３１０のターボ動作切替時のタイミングチャートである。図７に示すように、第３実施形態では、クロック設定レジスタ１２４から分周比設定信号１４４として分周器１１４の新たな分周比が出力されると、その新たな分周比が即座に反映される。周辺クロック１３４、通信クロック１３６との同期タイミングを待たずして分周器１１４の分周比が反映されるため、すぐにプロセッサ１０２の処理能力を高めることができる。しかしながら、そのままではプロセッサクロック１３２と、周辺クロック１３４、通信クロック１３６との同期関係が維持されなくなるため、データの取りこぼしが生じてしまったり、正常な動作の継続が難しくなってしまったりするおそれがある。
【００５３】
そこで同期化回路３２２は、周辺クロック１３４、通信クロック１３６が同期するタイミングで、プロセッサクロック１３２も同期してクロックを出すように調整する。ただし、単に他の回路との同期タイミングにあわせてプロセッサクロック１３２を出力すると、直前の立ち上がり（パルス）との間隔が、その時点でのプロセッサクロック１３２の周期以下になるため、瞬間的に高い周波数でプロセッサ１０２を動作させることになる。この高い周波数がプロセッサ１０２の動作可能周波数の範囲を超えると、プロセッサ１０２がハングアップしたり、リセットがかかったり、誤動作したりするおそれがある。
【００５４】
そこで同期化回路３２２は、他の回路（周辺クロック１３４、通信クロック１３６）のクロック予告信号２５６、２５８に基づいて、他の回路のクロックが同期するタイミングが到来することを検知したときには、その同期タイミングの直前のプロセッサクロック１３２の出力を間引いて、待ち構えて、同期タイミングでクロックを出すように処理をする。図７では、同期化回路３２２が同期タイミング直前のプロセッサクロック１３２の立ち上がり（パルス）を停止して、周辺クロック１３４、通信クロック１３６との同期タイミングに合わせている。
【００５５】
これにより、プロセッサ１０２の動作周波数が異常に高くなってしまうことを防止しつつ、同期タイミングでプロセッサクロック１３２を出力することができる。したがって、プロセッサ１０２を安全に動作継続させることができる。なお、上記の動作を実現するためには、他の回路のクロック予告信号２５６、２５８を、プロセッサクロック１３２の１クロック分より前に出力する必要がある。
【００５６】
すなわち第３実施形態の構成によれば、プロセッサクロック１３２の分周比を変更する要求を即座に反映して高い処理能力を得ると共に、プロセッサ１０２の動作を正常に継続させつつ他の回路との同期を取ることができる。
【００５７】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００５８】
例えば、本実施形態ではプロセッサクロック１３２を生成する分周器１１４、１１６、１１８の分周比を変更する構成について説明したが、分周器に代えて逓倍器の逓倍比を変更する構成としてもよいし、分周器と逓倍器を組み合わせて任意の倍率のクロックを生成する構成としてもよい。
【産業上の利用可能性】
【００５９】
本発明は、プロセッサクロックを切替可能なマイコンのクロック制御回路に利用することができる。
【符号の説明】
【００６０】
１００、２００、３００…マイコン、１０２…プロセッサ、１０４…周辺回路、１０６…通信Ｉ/Ｆ回路、１０８…バス、１１０、２１０、３１０…クロック制御回路、１１２…逓倍器、１１４、１１６、１１８…分周器、１２０…変更イネーブルレジスタ、１２２、２２２…変更イネーブル回路、１２４…クロック設定レジスタ、１２６…通信バス、１２８…外部クロック、１３０…ＰＬＬクロック（入力クロック）、１３２…プロセッサクロック、１３４…周辺クロック、１３６…通信クロック、１３８…分周比変更要求信号、１４０…変更イネーブル信号、１４２…逓倍比設定信号、１４４、１４６、１４８…分周比設定信号、２５４、２５６、２５８…クロック予告信号、３２２…同期化回路
【図１】
2013008133.tif 000003
【図２】
2013008133.tif 000004
【図３】
2013008133.tif 000005
【図４】
2013008133.tif 000006
【図５】
2013008133.tif 000007
【図６】
2013008133.tif 000008
【図７】
2013008133.tif 000009
【図８】
2013008133.tif 000010