(57)【要約】【課題】パルス信号の周期に応じて動作する外部機器を監視する場合に、中央処理装置の負担を軽減する。【解決手段】マイクロコンピュータ（２）は、タイマ回路（４）とＣＰＵ（５）を備え、パルス信号の周期に応じて動作する冷却ファン（３）に期待される回転速度に対応したパルス信号の周期がＣＰＵにより設定される第１レジスタ（３５）と、タイマ制御回路（２８）を有する。タイマ制御回路は、スピード測定モードにおいて、冷却ファンから供給されるパルス信号（ＴＣＭＣＹＩ）の測定周期（ＴＲ）毎のカウンタ（３４）による計数値を、インプットキャプチャレジスタ（３６）にロードする。タイマ制御回路がコンパレータ（３９）に基づいて、インプットキャプチャレジスタの値が第１レジスタの値よりも大きいことを検出したとき、ＣＰＵは、パルス信号の周期を短縮するための第１制御パルス（ＰＭｎ１）をパルス幅変調回路（１０）に出力させる。【選択図】図１
2007257227.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置と、前記中央処理装置によって第１動作モードが設定可能にされるタイマ回路とを有するマイクロコンピュータであって、
前記タイマ回路は、前記中央処理装置によってアクセス可能にされる第１レジスタと、カウンタと、前記カウンタの計数値がロードされる第２レジスタと、前記第１レジスタの値と前記第２レジスタの値とを比較するコンパレータと、タイマ制御回路とを有し、
前記タイマ制御回路は、前記第１動作モードにおいて、前記マイクロコンピュータの外部から供給されるパルス信号の所定周期毎に、前記カウンタの計数値の初期化を行い、
前記カウンタによる前記所定周期毎の計数値を前記第２レジスタにロードし、
前記コンパレータに基づいて、前記第２レジスタの値と前記第１レジスタの値の大小関係を検出したとき、前記中央処理装置に割り込みを要求するマイクロコンピュータ。
【請求項２】
前記パルス信号の周期を制御するための制御情報を、前記マイクロコンピュータの外部に出力可能な周辺回路を有し、
前記タイマ制御回路が前記第２レジスタの値が前記第１レジスタの値よりも大きいことを検出したとき、前記中央処理装置は、前記割り込み要求に応答して前記パルス信号の周期を短縮するための第１制御情報を前記周辺回路に出力させる請求項１記載のマイクロコンピュータ。
【請求項３】
前記パルス信号の周期を制御するための制御情報を、前記マイクロコンピュータの外部に出力可能な周辺回路を有し、
前記タイマ制御回路が前記第２レジスタの値が前記第１レジスタの値よりも小さいことを検出したとき、前記中央処理装置は、前記割り込み要求に応答して前記パルス信号の周期を伸張するための第２制御情報を前記周辺回路に出力させる請求項１記載のマイクロコンピュータ。
【請求項４】
前記周辺回路は、前記中央処理装置の制御によって前記パルス信号のパルス幅を可変とする制御パルスを出力するパルス幅変調回路である請求項２又は請求項３記載のマイクロコンピュータ。
【請求項５】
前記中央処理装置の動作プログラムを保有するＲＯＭを有する請求項１記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タイマ回路を備えたマイクロコンピュータに関し、例えばパルス信号の周期に応じて動作する冷却ファン等の外部機器を制御するマイクロコンピュータに適用して有効な技術に関する。
【背景技術】
【０００２】
例えばノートパソコン（以下、ＰＣという）に内蔵された冷却ファンは、パルス信号の周期に応じて動作する装置であって、外気をＰＣ内に取り込むことで、ＰＣ内の温度上昇を抑え、熱暴走等を防止する。このため、ＰＣに設けられたマイクロコンピュータは、ＰＣに不具合が生じないように、パルス信号の周期に基づいて冷却ファンの回転数を監視する機能が必要とされる。マイクロコンピュータは、タイマ回路と、中央処理装置と、パルス幅変調回路等を備えている。タイマ回路は、冷却ファンの回転数に応じた所定パルス周期におけるカウントアップ値を中央処理装置に参照させる。中央処理装置は、インプットキャプチャ動作により、その参照値の適否を判定し、判定結果に応じてパルス幅変調回路を制御することで、冷却ファンの回転数を増減させる。特許文献１には、クロック信号を計数するカウンタと、パルス信号のエッジ変化に同期して、カウンタの計数値がロードされるインプットキャプチャレジスタとを備えたタイマ回路が開示されている。
【０００３】
【特許文献１】特開平８−７５８７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者は、パルス信号の周期に応じて動作する冷却ファン等の外部機器の監視に伴う中央処理装置の負担を軽減する手段について検討した。例えば、上記したインプットキャプチャ動作を用いたマイクロコンピュータでは、冷却ファンの回転数の監視を行うときには、その都度、中央処理装置がインプットキャプチャレジスタの値を参照しなければならず、負担がかかっていた。特に、冷却ファンはＰＣの作動中に常時動作する仕様もあるので、回転数の監視はある程度の頻度で行わなければならない。このため、中央処理装置は、冷却ファンの回転数の監視にリソースが使用されてしまい、例えばＰＣのキーボードの制御等、他の制御を行うことが困難となってしまう。
【０００５】
本発明の目的は、パルス信号の周期に応じて動作する外部機器を監視する場合に、中央処理装置の負担を軽減できるマイクロコンピュータを提供することにある。
【０００６】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００８】
本発明に係るマイクロコンピュータは、中央処理装置（５）と、前記中央処理装置によって第１動作モードが設定可能にされるタイマ回路（４）とを有する。前記タイマ回路は、前記中央処理装置によってアクセス可能にされる第１レジスタ（３５）と、カウンタ（３４）と、前記カウンタの計数値がロードされる第２レジスタ（３６）と、前記第１レジスタの値と前記第２レジスタの値とを比較するコンパレータ（３９）と、タイマ制御回路（２８）とを有する。前記タイマ制御回路は、前記第１動作モードにおいて、前記マイクロコンピュータ（２）の外部から供給されるパルス信号（ＴＣＭＣＹＩ）の所定周期（ＴＲ）毎に、前記カウンタの計数値の初期化を行い、前記カウンタによる前記所定周期毎の計数値を前記第２レジスタにロードする。また、タイマ制御回路は、前記コンパレータに基づいて、前記第２レジスタの値と前記第１レジスタの値の大小関係を検出したとき、前記中央処理装置に割り込みを要求する。
【０００９】
上記より、中央処理装置は、パルス信号の周期に応じて動作する外部機器が例えば冷却ファンであれば、冷却ファンが内蔵されたＰＣ等の内部温度に応じて期待される冷却ファンの回転速度を示すパルス信号の周期を期待値として、第１レジスタに設定する。第２レジスタの値は、例えば選択されたクロック信号に応じて、パルス信号の測定周期の間にカウントアップされた計数値である。パルス信号の測定周期は、外部機器が冷却ファンであれば、冷却ファンは１回転で２つのパルス信号が出力されるように規格されているので、パルス信号の２周期分に相当する。要するに、第１動作モードは、冷却ファンの回転速度を測定するモードとされる。このようにすれば、中央処理装置は、タイマ回路によりパルス信号の測定周期毎に検出される第１レジスタの値と第２レジスタの値の大小関係によって、割り込みが要求されたときだけ、第１動作モードに応じた例外処理等を行うことになる。従って、マイクロコンピュータでは、パルス信号の周期に応じて動作する外部機器を監視する場合に、ハードウェアであるタイマ回路によってパルス信号の測定周期毎に割り込みの要求を行うことができるので、中央処理装置の負担を軽減できる。
【００１０】
本発明の具体的な一つの形態として、前記パルス信号の周期を制御するための制御情報を、前記マイクロコンピュータの外部に出力可能な周辺回路（１０）を有する。前記タイマ制御回路は前記第２レジスタの値が前記第１レジスタの値よりも大きいことを検出したとき、前記中央処理装置は、前記割り込み要求に応答して前記パルス信号の周期を短縮するための第１制御情報（ＰＷｎ１）を前記周辺回路に出力させる。ここでは、パルス信号の測定周期の間にカウントアップされた計数値である第２レジスタの値が、期待値である第１レジスタの値よりも大きいので、パルス信号の周期が伸張し、パルス幅が大きくなり、冷却ファンの回転が遅いと判定できる。この状態では、例えばＰＣの内部温度が上昇し、熱暴走等の不具合を生じる可能性がある。従って、上記第１制御情報を周辺回路に出力させることで、冷却ファンの回転速度を大きくして、熱暴走等を回避できる。
【００１１】
本発明の具体的な一つの形態として、前記パルス信号の周期を制御するための制御情報を、前記マイクロコンピュータの外部に出力可能な周辺回路を有する。前記タイマ制御回路は前記第２レジスタの値が前記第１レジスタの値よりも小さいことを検出したとき、前記中央処理装置は、前記割り込み要求に応答して前記パルス信号の周期を伸張するための第２制御情報（ＰＷｎ２）を前記周辺回路に出力させる。ここでは、第２レジスタの値が第１レジスタの値よりも小さいので、パルス信号の周期が短縮し、パルス幅が小さくなり、冷却ファンの回転が速いと判定できる。この状態では、例えばＰＣの消費電力が増加してしまう。従って、上記第２制御情報を周辺回路に出力させることで、冷却ファンの回転速度を小さくして、消費電力の増加を回避できる。
【００１２】
本発明の具体的な一つの形態として、前記周辺回路は、前記中央処理装置の制御によって前記パルス信号のパルス幅を可変とする制御パルスを出力するパルス幅変調回路である。上記より、所定の外部機器が例えばパルス信号の周期に応じて動作するステッピングモータ等により駆動されているとき、パルス幅を可変とすることにより、回転速度等、各種動作を制御することができる。
【００１３】
本発明の具体的な一つの形態として、前記中央処理装置の動作プログラムを保有するＲＯＭ（７）を有する。上記より、中央処理装置は、ＲＯＭから動作プログラムを読み出して、第１レジスタに期待値を予め設定し、その後は、タイマ回路から割り込みが要求されたときだけ、パルス幅変調回路を制御するという動作を実行できる。要するに、マイクロコンピュータは、パルス信号の周期に応じて動作する外部機器を監視する場合に、中央処理装置のリソースの使用量を抑えることができる。
【発明の効果】
【００１４】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１５】
即ち、パルス信号の周期に応じて動作する外部機器を監視する場合に、中央処理装置の負担を軽減できる。
【発明を実施するための最良の形態】
【００１６】
図２には、本発明の実施形態に係るマイクロコンピュータが適用された制御システムの概略構成が例示される。制御システム１は、例えばＰＣ等に用いられ、マイクロコンピュータ２と、パルス信号（ＴＣＭＣＹＩ）の周期に応じて動作する冷却ファン３等とを備えている。マイクロコンピュータ２は、タイマ回路（ＴＣＭ）４と、中央処理装置（ＣＰＵ）５等とを備え、内部バス６により相互に接続されている。ＣＰＵ５は、リードオンリーメモリ（ＲＯＭ）７に格納された動作プログラム等に基づいて、マイクロコンピュータ２の全ての制御を行う。ＲＯＭ７は、ＣＰＵ５が実行すべき動作プログラムや固定データを記憶する。ランダムアクセスメモリ（ＲＡＭ）８は、ＣＰＵ５による演算結果を記憶し、また、ＣＰＵ５の作業領域ともなる。割り込みコントローラ（ＩＮＴ）９は、タイマ回路４から出力された割り込み信号４Ａを受付けて、この割り込み信号４Ａに応じた割り込み要求９ＡをＣＰＵ５に行う。パルス幅変調回路（ＰＷＭ）１０は、ＣＰＵ５が割り込み要求９Ａに応答して出力した信号に基づいて、パルス幅の大きい第１制御パルス（ＰＷｎ１）やパルス幅の小さい第２制御パルス（ＰＷｎ２）を出力する。さらに、マイクロコンピュータ２は、内部バス６を介して相互に接続されたシリアルコミュニケーションインタフェース（ＳＣＩ）１１と、ウォッチドッグタイマ（ＷＤＴ）１２と、アナログ・デジタル変換回路（Ａ／Ｄ）１３と、１６ビットタイマ（ＴＭＲ）１４と、図示を省略するクロック発生回路を備えている。
【００１７】
冷却ファン３は、例えばパルス信号の周期に応じて動作する不図示のステッピングモータにより駆動される装置であって、ファンが１回転する毎に２つのパルス信号を出力する。冷却ファン３は、ＰＣの筐体内に外気を取り込み、取り込んだ外気を再びＰＣの筐体外に送り出すことで、ＰＣの筐体内の温度上昇を抑えて、マイクロコンピュータ２の熱暴走等を回避する。ＰＣの筐体内に取り込まれた外気の風量や風速は、冷却ファン３の回転速度に対応しており、例えば回転速度が大きい程、風量や風速が増し、ＰＣの筐体内の温度上昇を抑える効果が大きくなる。一方、回転速度が大き過ぎると、ＰＣの消費電力が上昇してしまい、例えばＰＣを内蔵バッテリのみで駆動するとき、駆動時間が著しく低下してしまう。このため、冷却ファン３の回転速度は、ＰＣの筐体内の温度と消費電力のいずれか又は両方を考慮した値とする必要がある。以下、この値に対応したパルス信号の周期を、説明の便宜上、期待値という。冷却ファン３の回転速度は、出力されるパルス信号の周期に基づいて測定可能とされ、例えばパルス信号の周期が期待値よりも伸張された場合には、パルス幅が大きく回転速度が遅くなったことを示し、パルス信号の周期が期待値よりも短縮されれば、パルス幅が小さく回転速度が速くなったことを示す。
【００１８】
冷却ファン３には、例えば１２Ｖの電源電圧を供給する電源１５が接続され、さらに、この電源１５から供給される電流をパルス信号とするためのスイッチング動作を行うＮチャンネル型ＭＯＳトランジスタ（以下、ＮＭＯＳと記す）１６が配線１７を介して接続されている。また、冷却ファン３には、配線１８を介して外部インタフェース端子１９が接続され、この配線１８にはパルス信号が出力される。また、配線１８は、分岐点２０を有し、分岐先には抵抗２１を介して３．３Ｖの電源電圧を供給する電源２２が接続されている。この電源２２は、配線１８の電位の初期値を３．３Ｖに決定する。抵抗２１は、電源２２から電流が急激に流れないようにして、電源１５の駆動能力が電源２２から影響されないようにする。外部インタフェース端子１９は、配線１８を介してタイマ回路４に接続されている。これにより、タイマ回路４には、冷却ファン３からパルス信号が入力される。
【００１９】
ＮＭＯＳ１６のゲートは、配線２３を介して外部インタフェース端子２４に接続されている。この配線２３は、分岐点２５を有し、分岐先は抵抗２６を介してグランド２７に接続されている。これにより、配線２３の初期値は、０Ｖとされる。さらに、外部インタフェース端子２４は、配線２３を介してパルス幅変調回路１０に接続されている。このため、ＮＭＯＳ１６のゲートには、パルス幅変調回路１０から配線２３を介して第１制御パルス又は第２制御パルスが供給される。パルス幅変調回路１０は、パルス信号のパルス幅を小さくするとき、ＮＭＯＳ１６のスイッチング動作を速くするために、ＮＭＯＳ１６のゲートにパルス幅の小さい第１制御パルスを供給する。また、パルス幅変調回路１０は、パルス信号のパルス幅を大きくするとき、ＮＭＯＳ１６のスイッチング動作を遅くするために、ＮＭＯＳ１６のゲートにパルス幅の大きい第２制御パルスを供給する。
【００２０】
図１には、タイマ回路４の概略構成の一例が示される。
【００２１】
タイマ回路４は、ＣＰＵ５によって冷却ファン３の回転速度を測定するモード（以下、スピード測定モードと記す）が設定可能とされ、冷却ファン３からのパルス信号（ＴＣＭＣＹＩ）を入力とし、パルス信号の周期が期待値からずれていたときに、割り込み信号４Ａを割り込みコントローラ９に出力するモジュールである。タイマ回路４は、タイマ制御回路（ＬＯＧＩＣ）２８等を有する。タイマ制御回路２８は、内部データバス２９を介して、コントロールレジスタ（ＴＣＭＣＲ）３０と、ステータスレジスタ（ＴＣＭＣＳＲ）３１と、インタラプトイネーブルレジスタ（ＴＣＭＩＥＲ）３２とに接続されている。タイマ制御回路２８は、コントロールレジスタ３０に保持された所定のビットに応じて信号ＳＡを生成する。タイマ制御回路２８は、クロック選択回路（ＣＬＫＳＥＬ）３３に信号ＳＡを出力することにより、マイクロコンピュータ２内の図示を省略するクロック発生回路で発生するシステムクロックを分周した内部クロック（φ／２〜φ／２５６）のいずれか、又はマイクロコンピュータ２の外部から供給された外部クロック（ＴＣＭＣＫＩ）を選択する。クロック選択回路３３は、選択したクロック信号（ＴＣＫ）をカウンタ（ＴＣＭＣＮＴ）３４に供給する。
【００２２】
カウンタ３４は、例えば１６ビットのアップカウンタである。カウンタ３４は、オーバフローすると信号ＳＢをタイマ制御回路２８に出力する。そして、タイマ制御回路２８は、ステータスレジスタ３１のＯＶＦビットを「１」に設定すると共に、タイマ制御回路２８内の図示を省略する割り込み発生回路によって、ＴＯＶＩで示される割り込み信号４Ａを出力する。但し、このＯＶＦによる割り込み信号４Ａは、インタラプトイネーブルレジスタ３２のＯＶＩＥビットが「１」に設定されているときに有効とされる。このため、タイマ制御回路２８は、内部データバス２９を介してインタラプトイネーブルレジスタ３２のＯＶＩＥビットを「１」に設定する必要がある。また、タイマ制御回路２８は、コントロールレジスタ３０のＣＳＴビットを「０」に設定すると共に、信号ＳＣをカウンタ３４に出力する。信号ＳＣが入力されると、カウンタ３４は、計数値の初期化（以下、クリアという）を行う。ここで、タイマ制御回路２８は、スピード測定モードにおいて、パルス信号の測定周期（ＴＲ）毎に信号ＳＣを発生させて、カウンタの計数値をクリアする。このパルス信号の測定周期とは、ファンの１回転毎の周期であって、冷却ファン３の仕様に従い、ここではパルス信号の２周期分とされる。図４で詳述するが、測定周期の始点は、パルス信号の１番目の立ち上がりエッジとされ、その終点は３番目の立ち上がりエッジとされる。
【００２３】
第１レジスタ３５は、例えばＣＰＵ５によってアクセス可能であって、ＣＰＵ５によりコントロールレジスタ３０のＴＣＭＭＤＳビットが「１」に設定されると、スピード測定モードに対応した周期上限レジスタ（ＴＣＭＭＬＣＭ）として使用される。周期上限レジスタとして使用される第１レジスタ３５には、パルス信号の測定周期での上限値がＣＰＵ５によって設定される。パルス信号の測定周期での上限値は、上記した期待値であって、例えば冷却ファン３から出力されるパルス信号の周期が期待値以上に伸張すると、ＰＣの筐体内の温度が上昇して熱暴走等の不具合を生じてしまう。また、第１レジスタ３５は、ＣＰＵ５によってＴＣＭＭＤＳビットが「０」に設定されると、通常モードとされるタイマモードに対応したコンペアマッチレジスタとして使用される。
【００２４】
タイマ制御回路２８は、タイマ制御回路２８内の図示を省略する同期回路によって、パルス信号の測定周期の終点である３番目の立ち上がりエッジが検出されると、インプットキャプチャ信号を示す信号ＳＤを、インプットキャプチャレジスタ（ＴＣＭＩＣＲ）３６及びインプットキャプチャバッファレジスタ（ＴＣＭＩＣＲＦ）３８に出力する。信号ＳＤが入力されると、インプットキャプチャレジスタ３６には、そのときのカウンタ３４の計数値が内部データバス３７を介して転送される。要するに、タイマ制御回路２８は、測定周期毎のカウンタ３４の計数値をインプットキャプチャレジスタ３６に転送する。さらに、タイマ制御回路２８は、カウンタ３４の計数値をインプットキャプチャレジスタ３６に転送すると、ステータスレジスタ３１のＩＣＰＦビットを「１」に設定すると共に、割り込み発生回路によって、ＴＩＣＩで示される割り込み信号４Ａを出力する。信号ＳＤが入力されると、インプットキャプチャバッファレジスタ３８には、信号ＳＤが入力される前のインプットキャプチャレジスタ３６の値が転送される。
【００２５】
コンパレータ３９は、内部データバス３７，４０を介してインプットキャプチャレジスタ３６と第１レジスタ３５に接続されており、スピード測定モードにおいて、測定周期毎にインプットキャプチャレジスタ３６に転送されたカウンタの計数値と、周期上限レジスタとして使用される第１レジスタ３５に設定された期待値とを比較する。このとき、コンパレータ３９は、パルス信号の測定周期の間にカウントアップされた計数値であるインプットキャプチャレジスタ３６の値が、期待値である第１レジスタ３５の値よりも大きいとき、周期上限オーバフローを示す信号ＳＥをタイマ制御回路２８に出力する。そして、タイマ制御回路２８は、ステータスレジスタ３１のＭＡＸＯＶＦビットを「１」に設定すると共に、不図示の割り込み発生回路によりＴＯＶＭＩで示される割り込み信号４Ａを出力する。但し、このＭＡＸＯＶＦによる割り込み信号４Ａは、インタラプトイネーブルレジスタ３２のＭＡＸＯＶＩＥビットが「１」に設定されているときに有効とされる。このため、タイマ制御回路２８は、内部データバス２９を介してインタラプトイネーブルレジスタ３２のＭＡＸＯＶＩＥビットを「１」に設定する必要がある。一方、コンパレータ３９は、タイマモードにおいて、コンペアマッチレジスタとして使用される第１レジスタ３５の値と、コントロールレジスタ３０のＣＳＴビットを「１」に設定することでカウントアップ動作を開始するカウンタ３４の値とを比較し、両者の値が一致すればコンペアマッチを示す信号ＳＥをタイマ制御回路２８に出力する。この場合、タイマ制御回路２８の割り込み発生回路は、信号ＳＥに基づいてＴＣＭＩで示される割り込み信号４Ａを出力する。上記したこれらの割り込み信号４Ａは、割り込みコントローラ９より対応する割り込み要求９ＡとしてＣＰＵ５に出力される。
【００２６】
図３には、スピード測定モードにおけるタイマ回路４の動作を示すフローチャートが例示される。まず、ＣＰＵ５は、パルス幅変調回路１０から出力される制御パルスの初期設定を行う（Ｓ１）。これにより、冷却ファン３の回転速度は、パルス幅変調回路１０の制御パルスに基づいた初期値とされる。次に、ＣＰＵ５は、コントロールレジスタ３０のＴＣＭＭＤＳビットを「０」に設定して、タイマモードとする（Ｓ２）。これは、スピード測定モードにおけるカウンタ３４は、ＣＳＴビットの値にかかわらず、計数動作を続ける仕様となっており、その計数動作を停止させるには予めタイマモードとする必要があるためである。この状態で、タイマ制御回路２８は、コントロールレジスタ３０のＣＳＴビットを「０」に設定する（Ｓ３）。これにより、カウンタ３４は、計数動作を停止して、計数値が「Ｈ’００００」にクリアされる。
【００２７】
次に、ＣＰＵ５は、第１レジスタ３５に期待値を設定する（Ｓ４）。これにより、第１レジスタ３５は、スピード測定モードにおいて周期上限レジスタとして使用される。そして、タイマ制御回路２８は、インタラプトイネーブルレジスタ３２のＯＶＩＥビットとＭＡＸＯＶＩＥビットを共に「１」に設定する（Ｓ５）。これにより、タイマ回路４によるスピード測定において、ステータスレジスタ３１のＯＶＦビットによるＴＯＶＩ、ＭＡＸＯＶＦビットによるＶＭＩでそれぞれ示される割り込み信号４Ａが有効とされる。次に、ＣＰＵ５は、コントロールレジスタ３０のＴＣＭＭＤＳビットを「１」に設定して、スピード測定モードとする（Ｓ６）。このようにすれば、タイマ回路４は、冷却ファン３に対するスピード測定を開始する。
【００２８】
図４には、タイマ回路４によるスピード測定を示すタイミングチャートが例示される。このタイミングチャートは、冷却ファン３から出力されるパルス信号（ＴＣＭＣＹＩ）の測定周期（ＴＲ）、即ち、パルス信号の２周期での各種値の変化を示している。ここで、ＴＣＫは、クロック選択回路３３で選択されたクロック信号である。ＴＣＭＣＮＴは、カウンタ３４の計数値を示す。ＴＣＭＩＣＲは、インプットキャプチャレジスタ３６の値を示す。ＭＡＸＯＶＦは、ステータスレジスタ３１の周期上限オーバフローを示すビットである。そして、ＴＣＭＩＣＲＦは、インプットキャプチャバッファレジスタ３８の値を示す。
【００２９】
時刻ｔ０において、タイマ制御回路２８の同期回路がＴＣＭＣＹＩの１番目の立ち上がりエッジを検出すると、タイマ制御回路２８は、これに同期して時刻ｔ１においてインプットキャプチャ信号を発生させる。このインプットキャプチャ信号は、時刻ｔ２で立ち下がり、そのときＴＣＭＣＮＴがクリアされ、「Ｈ’００００」となる。要するに、ＴＣＭＣＮＴは、ＴＣＭＣＹＩの１番目の立ち上がりエッジに同期して、タイマ制御回路２８によりクリアされる。
【００３０】
時刻ｔ３において、タイマ制御回路２８の同期回路がＴＣＭＣＹＩの３番目の立ち上がりエッジを検出すると、タイマ制御回路２８は、これに同期して時刻ｔ４においてインプットキャプチャ信号を発生させる。また、時刻ｔ４でのインプットキャプチャの立ち上がりエッジに同期して、時刻ｔ５においてキャプチャが発生する。ＴＣＭＩＣＲは、キャプチャが発生する前は値「Ａ」であり、この値「Ａ」が時刻ｔ５においてＴＣＭＩＣＲＦに転送される。そのため、時刻ｔ５以降のＴＣＭＩＣＲＦは、「Ａ」とされる。このインプットキャプチャ信号は、時刻ｔ５で立ち下がり、そのときＴＣＭＣＮＴが再びクリアされ、「Ｈ’００００」となる。ＴＣＭＣＮＴは、ＴＣＫに従ってカウントアップされ、パルス信号の測定周期に対応する時刻ｔ２〜ｔ５の間で、その値が「Ｄ」とされる。要するに、ＴＣＭＣＮＴは、ＴＣＭＣＹＩの３番目の立ち上がりエッジに同期して、タイマ制御回路２８により「Ｄ」から「Ｈ’００００」にクリアされる。さらにそのとき、時刻ｔ５において、ＴＣＭＣＮＴの値「Ｄ」がＴＣＭＩＣＲに転送される。そのため、ＴＣＭＩＣＲは、キャプチャの発生により、「Ａ」から「Ｄ」に変化することになる。
【００３１】
タイマ制御回路３８は、コンパレータ３９に基づいて、時刻ｔ５でのＴＣＭＩＣＲの値と、上記した第１レジスタ３５の期待値とを比較して、両者の大小関係を検出する。そして、時刻ｔ５でのＴＣＭＩＣＲの値が、第１レジスタ３５の期待値よりも大きければ、タイマ制御回路２８は、ＭＡＸＯＶＦの値を「１」に設定する。
【００３２】
再び、図３のフローチャートに戻って説明する。タイマ制御回路２８は、図４で例示したスピード測定の結果、ステータスレジスタ３１のＯＶＦビット又はＭＡＸＯＶＦビットの値が「１」か否かを判定する（Ｓ７）。ＯＶＦビット又はＭＡＸＯＶＦビットの値が「１」であれば、タイマ制御回路２８の割り込み発生回路は、割り込みを発生させる（Ｓ８）。この割り込みは、ＴＯＶＩ又はＴＯＶＭＩで示される割り込み信号４Ａとされる。次に、タイマ制御回路２８の割り込み発生回路は、ＭＡＸＯＶＦビットの値が「１」か否かを判定し（Ｓ９）、その値が図４に例示したように「１」であれば、上記ＴＯＶＭＩで示される割り込み信号４Ａを割り込みコントローラ９に出力する（Ｓ１０）。その後、ＣＰＵ５は、割り込みコントローラ９からの割り込み要求９Ａに応じて、周期上限オーバフローに対応する処理を行う。要するに、ＣＰＵ５は、ＭＡＸＯＶＦビットが「１」であれば、パルス信号の周期が伸張し、パルス幅が大きくなり、冷却ファン３の回転が遅いと判定できる。この状態では、ＰＣの筐体内の温度が上昇し、熱暴走等の不具合を生じる可能性がある。従って、ＣＰＵ５は、上記した第１制御パルスをパルス幅変調回路１０に出力させることで、冷却ファン３の回転速度を大きくして、熱暴走等を回避できる。
【００３３】
一方、ステップＳ９で、ＭＡＸＯＶＦビットの値が「１」でなければ、ＯＶＦビットの値が「１」であることになり、割り込み発生回路は、上記ＴＯＶＩで示される割り込み信号４Ａを割り込みコントローラ９に出力する。その後、ＣＰＵ５は、割り込みコントローラ９からの割り込み要求９Ａに応じて、冷却ファン３の回転がストップ状態にあると判定して、これに対応する処理を行う（Ｓ１１）。これは、カウンタ３４がオーバフローするのは、パルス信号の２周期分の間に、タイマ制御回路２８の同期回路がパルス信号の１番目の立ち上がりエッジを検出できなかったことを意味しており、このような状況は、冷却ファン３がストップ状態にあると考えられるためである。要するに、ＣＰＵ５は、ＯＶＦビットが「１」であれば、例えばパルス幅変調回路１０から冷却ファン３の回転を開始させるための制御パルスを出力させ、それでも回転が開始されなければ警告音を発生する等の適宜の処理を行う。このようにして、ステップＳ１０、Ｓ１１における例外処理を終了する。
【００３４】
また、ステップＳ７で、ＯＶＦビット、ＭＡＸＯＶＦビットの値が共に「０」であれば、ＣＰＵ５は、コントロールレジスタ３０のＴＣＭＭＤＳビットを「０」に設定して、再びタイマモードとし（Ｓ１２）、測定を終了する。
【００３５】
以上、本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００３６】
例えば、上記した第１レジスタ３５には、冷却ファン３の回転速度が遅くなり、熱暴走等が生じてしまうことを回避するために、測定周期での上限値を設定するようにしたが、これに限定されない。例えば、第１レジスタ３５に、測定周期での下限値を設定して、周期下限レジスタとして使用してもよい。このようにすれば、タイマ回路４は、冷却ファン３の回転速度が必要以上に速くなったことを示す割り込み信号４Ａを割り込みコントローラ９に出力することになる。そして、ＣＰＵ５は、割り込みコントローラ９からの割り込み要求９Ａに応答して、パルス信号の周期を伸張するための第２制御パルスをパルス幅変調回路１０に出力させる。その結果、冷却ファン３の回転速度が必要以上に速くなってしまい、例えばＰＣの消費電力が大きくなるような状況を回避できる。また、冷却ファン３は、ファンの１回転毎に２つのパルス信号を出力するようにしたが、これに限定されず、パルス信号を適宜の数だけ出力するようにしてもよい。例えばファンの１回転毎に３つのパルス信号を出力する仕様とされる冷却ファンの回転速度を監視する場合には、パルス信号の測定周期はパルス信号の３周期分とされ、その終点はパルス信号の４番目の立ち上がりエッジとされる。このような場合には、タイマ制御回路２８は、パルス信号の４番目の立ち上がりエッジに同期してカウンタ３４の計数値をクリアすればよい。さらに、上記したマイクロコンピュータ２は、冷却ファン３に限らず、パルス信号の周期に応じて動作する適宜の外部機器を監視することができるので、制御システム１に限定されず、適宜の制御システムに適用できる。
【図面の簡単な説明】
【００３７】
【図１】タイマ回路の概略構成を例示する説明である。
【図２】本発明の実施形態に係るマイクロコンピュータが適用される制御システムの概略構成を例示する説明図である。
【図３】スピード測定モードにおけるタイマ回路の動作の一例を示すフローチャートである。
【図４】タイマ回路によるスピード測定を例示するタイミングチャートである。
【符号の説明】
【００３８】
１  制御システム
２  マイクロコンピュータ
３  冷却ファン
４  タイマ回路（ＴＣＭ）
５  中央処理装置（ＣＰＵ）
６  内部データバス
７  リードオンリーメモリ（ＲＯＭ）
９  割り込みコントローラ（ＩＮＴ）
１０  パルス幅変調回路（ＰＷＭ）
２８  タイマ制御回路（ＬＯＧＩＣ）
３０  コントロールレジスタ（ＴＣＭＣＲ）
３１  ステータスレジスタ（ＴＣＭＣＳＲ）
３２  インタラプトイネーブルレジスタ（ＴＣＭＩＥＲ）
３３  クロック選択回路（ＣＬＫＳＥＬ）
３４  カウンタ（ＴＣＭＣＮＴ）
３５  第１レジスタ
３６  インプットキャプチャレジスタ（ＴＣＭＩＣＲ）
３８  インプットキャプチャバッファレジスタ（ＴＣＭＩＣＲＦ）
３９  コンパレータ（ＣＯＭＰ）
【図１】
2007257227.tif 000003
【図２】
2007257227.tif 000004
【図３】
2007257227.tif 000005
【図４】
2007257227.tif 000006