(57)【要約】【課題】クロック信号が切り替えられた際の不具合の発生を低減する。【解決手段】本発明に係るタイマ回路１１０は、入力クロック信号１１５を用いてカウント値１３４をカウントするカウンタ１２３と、入力クロック信号１１５が変更された際に、基準値１３５として第３設定値１３３を選択する選択部１２５と、カウント値１３４が基準値１３５分変化したタイミングで変化するタイマ出力信号１１６を生成する比較部１２７と、現在のカウント値より大きい値を第３設定値１３３として演算する第３設定値演算部１２４とを備える。【選択図】図２
2012227824.tif 000002
【特許請求の範囲】
【請求項１】
入力クロック信号として、高速クロック信号と、前記高速クロック信号より周波数が低い低速クロック信号との一方が選択的に入力され、当該入力クロック信号を用いて、所定の時間を示す出力信号を生成するタイマ回路であって、
前記入力クロック信号を用いてカウント値をカウントするカウンタと、
前記入力クロック信号が前記高速クロック信号である場合、基準値として第１設定値を選択し、前記入力クロック信号が前記低速クロック信号である場合、前記基準値として第２設定値を選択し、前記入力クロック信号が、前記高速クロック信号及び前記低速クロック信号の一方である変更前クロック信号から、他方である変更後クロック信号へ変更されてから、次に前記出力信号が変化するまでの変更期間において、前記基準値として第３設定値を選択する選択部と、
前記カウント値が前記基準値に一致した際に変化する前記出力信号を生成する比較部と、
前記入力クロック信号が、前記変更前クロック信号から前記変更後クロック信号へ変更された場合に、現在のカウント値より大きい値を前記第３設定値として演算する第３設定値演算部とを備える
タイマ回路。
【請求項２】
前記タイマ回路は、専用のハードウェアで構成されている
請求項１記載のタイマ回路。
【請求項３】
前記第３設定値演算部は、
前記第１設定値及び前記第２設定値のうち、前記変更前クロック信号に対応する設定値から現在のカウント値を減算することで、第１残カウント値を算出し、
前記第１残カウント値を前記変更前クロック信号でカウントした場合のカウント時間と同じ時間を、前記変更後クロック信号でカウントするための第２残カウント値を算出し、
前記現在のカウント値に前記第２残カウント値を加算することで、前記第３設定値を算出する
請求項１又は２記載のタイマ回路。
【請求項４】
前記第３設定値演算部は、前記第１残カウント値に、前記第１設定値及び前記第２設定値のうち、前記変更前クロック信号に対応する設定値に対する、前記変更後クロック信号に対応する設定値の比を乗算することにより、前記第２残カウント値を算出する
請求項３記載のタイマ回路。
【請求項５】
前記高速クロック信号に対する前記低速クロック信号の周波数の比と、前記第１設定値に対する前記第２設定値の比とは等しい
請求項１〜４のいずれか１項に記載のタイマ回路。
【請求項６】
前記高速クロック信号に対する前記低速クロック信号の周波数の比と、前記第１設定値に対する前記第２設定値の比とは異なる
請求項１〜４のいずれか１項に記載のタイマ回路。
【請求項７】
前記タイマ回路は、さらに、
前記タイマ回路の外部から設定された前記第１設定値を保持する第１レジスタと、
前記タイマ回路の外部から設定された前記第２設定値を保持する第２レジスタとを備える
請求項１〜６のいずれか１項に記載のタイマ回路。
【請求項８】
前記タイマ回路は、さらに、
前記タイマ回路の外部から設定された、前記第１設定値及び前記第２設定値の一方を保持する第１レジスタと、
前記高速クロック信号と前記低速クロック信号との周波数比を検出する周波数比検出部と、
前記第１レジスタに保持されている前記第１設定値及び前記第２設定値の一方と、前記周波数比とを乗算することにより、前記第１設定値及び前記第２設定値の他方を算出する第２設定値演算部とを備える
請求項５記載のタイマ回路。
【請求項９】
前記タイマ回路は、さらに、
前記選択部が前記基準値として選択する設定値を切り替える切り替え制御部を備え、
前記切り替え制御部は、前記入力クロック信号が変更前クロック信号から前記変更後クロック信号へ変更された直後の前記低速クロック信号のエッジで、前記選択部に前記第３設定値を選択させることにより、当該第３設定値の前記比較部１２７への供給を開始させる
請求項１〜８のいずれか１項に記載のタイマ回路。
【請求項１０】
請求項１〜９のいずれか１項に記載のタイマ回路を備える
マイクロコンピュータ。
【請求項１１】
請求項１０記載のマイクロコンピュータを備える
空気清浄機。
【請求項１２】
入力クロック信号として、高速クロック信号と、前記高速クロック信号より周波数が低い低速クロック信号との一方が選択的に入力され、当該入力クロック信号を用いて、所定の時間を示す出力信号を生成するタイマ回路の制御方法であって、
前記入力クロック信号を用いてカウント値をカウントするステップと、
前記カウント値が基準値分変化したタイミングで変化する前記出力信号を生成するステップと、
前記入力クロック信号が前記高速クロック信号である場合、基準値として第１設定値を選択し、前記入力クロック信号が前記低速クロック信号である場合、前記基準値として第２設定値を選択し、前記入力クロック信号が、前記高速クロック信号及び前記低速クロック信号の一方である変更前クロック信号から、他方である変更後クロック信号へ変更されてから、次に前記出力信号が変化するまでの変更期間において、前記基準値として第３設定値を選択するステップと、
前記カウント値が前記基準値分変化したタイミングで変化する前記出力信号を生成するステップと、
前記入力クロック信号が、前記変更前クロック信号から前記変更後クロック信号へ変更された場合に、現在のカウント値より大きい値を前記第３設定値として演算するステップとを含む
タイマ回路の制御方法。
【請求項１３】
入力クロック信号として、高速クロック信号と、前記高速クロック信号より周波数が低い低速クロック信号との一方が選択的に入力され、当該入力クロック信号を用いて、所定の時間を示す出力信号を生成する集積回路であって、
前記入力クロック信号を用いてカウント値をカウントするカウンタと、
前記入力クロック信号が前記高速クロック信号である場合、基準値として第１設定値を選択し、前記入力クロック信号が前記低速クロック信号である場合、前記基準値として第２設定値を選択し、前記入力クロック信号が、前記高速クロック信号及び前記低速クロック信号の一方である変更前クロック信号から、他方である変更後クロック信号へ変更されてから、次に前記出力信号が変化するまでの変更期間において、前記基準値として第３設定値を選択する選択部と、
前記カウント値が前記基準値に一致した際に変化する前記出力信号を生成する比較部と、
前記入力クロック信号が、前記変更前クロック信号から前記変更後クロック信号へ変更された場合に、現在のカウント値より大きい値を前記第３設定値として演算する第３設定値演算部とを備える
集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タイマ回路、その制御方法、マイクロコンピュータ及び空気清浄機に関し、特に、入力クロック信号として、高速クロック信号と、低速クロック信号との一方が選択的に入力され、当該入力クロック信号を用いて所定の時間を示す出力信号を生成するタイマ回路に関する。
【背景技術】
【０００２】
マイクロコンピュータでは、複数のクロック信号が用いられており、クロック信号の切り替え要求に応じて、使用するクロック信号が切り替えられる。例えば、低消費電力を実現するマイクロコンピュータは、スタンバイモードと、通常動作モードとを有する。そして、スタンバイモード時には低速クロック信号が用いられ、通常動作モード時には高速クロック信号が用いられる。また、当該マイクロコンピュータは、スタンバイモード時において、クロック信号の切り替え要求、つまり起動信号を受信した場合に、動作モードを通常動作モードに切り替える。
【０００３】
また、ハードウェアを用いてクロック信号を切り替える従来の回路として、特許文献１記載の回路がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−１４３７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のように、クロック信号が高速クロック信号及び低速クロック信号の一方から他方へ切り替えられた場合、当該クロック信号を用いるタイマ回路にも影響がでる。具体的には、タイマ回路の出力信号で示される時間が、本来の時間からずれてしまう。また、最悪の場合、出力信号が一方の論理に固定されてしまう場合もある。このように、従来の技術は、タイマ回路は、クロック信号が切り替えられた際に不具合が発生する可能性があるという課題を有する。
【０００６】
そこで本発明は、上記課題を解決するものであり、クロック信号が切り替えられた際の不具合の発生を低減できるタイマ回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の一形態に係るタイマ回路は、入力クロック信号として、高速クロック信号と、前記高速クロック信号より周波数が低い低速クロック信号との一方が選択的に入力され、当該入力クロック信号を用いて、所定の時間を示す出力信号を生成するタイマ回路であって、前記入力クロック信号を用いてカウント値をカウントするカウンタと、前記入力クロック信号が前記高速クロック信号である場合、基準値として第１設定値を選択し、前記入力クロック信号が前記低速クロック信号である場合、前記基準値として第２設定値を選択し、前記入力クロック信号が、前記高速クロック信号及び前記低速クロック信号の一方である変更前クロック信号から、他方である変更後クロック信号へ変更されてから、次に前記出力信号が変化するまでの変更期間において、前記基準値として第３設定値を選択する選択部と、前記カウント値が前記基準値に一致した際に変化する前記出力信号を生成する比較部と、前記入力クロック信号が、前記変更前クロック信号から前記変更後クロック信号へ変更された場合に、現在のカウント値より大きい値を前記第３設定値として演算する第３設定値演算部とを備える。
【０００８】
この構成によれば、本発明の一形態に係るタイマ回路は、入力クロック信号の切り替わり時に、出力信号が一方の論理に固定されてしまうことを防止できる。このように、当該タイマ回路は、クロック信号が切り替えられた際の不具合の発生を低減できる。
【０００９】
また、前記タイマ回路は、専用のハードウェアで構成されていてもよい。
【００１０】
この構成によれば、本発明の一形態に係るタイマ回路は、クロック切り替え時の処理をハードウェアで実施することで、当該クロック切り替え処理を高速に実施できる。
【００１１】
また、前記第３設定値演算部は、前記第１設定値及び前記第２設定値のうち、前記変更前クロック信号に対応する設定値から現在のカウント値を減算することで、第１残カウント値を算出し、前記第１残カウント値を前記変更前クロック信号でカウントした場合のカウント時間と同じ時間を、前記変更後クロック信号でカウントするための第２残カウント値を算出し、前記現在のカウント値に前記第２残カウント値を加算することで、前記第３設定値を算出してもよい。
【００１２】
また、前記第３設定値演算部は、前記第１残カウント値に、前記第１設定値及び前記第２設定値のうち、前記変更前クロック信号に対応する設定値に対する、前記変更後クロック信号に対応する設定値の比を乗算することにより、前記第２残カウント値を算出してもよい。
【００１３】
この構成によれば、本発明の一形態に係るタイマ回路は、入力クロック信号の切り替わり時に、出力信号で示される時間が、本来の時間からずれてしまうことを防止できる。このように、当該タイマ回路は、クロック信号が切り替えられた際の不具合の発生を低減できる。
【００１４】
また、前記高速クロック信号に対する前記低速クロック信号の周波数の比と、前記第１設定値に対する前記第２設定値の比とは等しくてもよい。
【００１５】
この構成によれば、本発明の一形態に係るタイマ回路は、クロック切り替えの前後で、出力信号の波形を同じにできる。
【００１６】
また、前記高速クロック信号に対する前記低速クロック信号の周波数の比と、前記第１設定値に対する前記第２設定値の比とは異なってもよい。
【００１７】
この構成によれば、本発明の一形態に係るタイマ回路は、クロック切り替えの前後で、出力信号を異ならせることができる。これにより、例えば、高速クロック信号が使用される通常動作モード時と、低速クロック信号が使用されるスタンバイモード時とにおいて、各モードに適した異なる出力信号を生成できる。
【００１８】
また、前記タイマ回路は、さらに、前記タイマ回路の外部から設定された前記第１設定値を保持する第１レジスタと、前記タイマ回路の外部から設定された前記第２設定値を保持する第２レジスタとを備えてもよい。
【００１９】
この構成によれば、ソフトウェア設計者は、第１設定値と第２設定値とを任意に設定できる。
【００２０】
また、前記タイマ回路は、さらに、前記タイマ回路の外部から設定された、前記第１設定値及び前記第２設定値の一方を保持する第１レジスタと、前記高速クロック信号と前記低速クロック信号との周波数比を検出する周波数比検出部と、前記第１レジスタに保持されている前記第１設定値及び前記第２設定値の一方と、前記周波数比とを乗算することにより、前記第１設定値及び前記第２設定値の他方を算出する第２設定値演算部とを備えてもよい。
【００２１】
この構成によれば、本発明の一形態に係るタイマ回路は、第１設定値及び第２設定値の一方から他方を算出できる。
【００２２】
また、前記タイマ回路は、さらに、前記選択部が前記基準値として選択する設定値を切り替える切り替え制御部を備え、前記切り替え制御部は、前記入力クロック信号が変更前クロック信号から前記変更後クロック信号へ変更された直後の前記低速クロック信号のエッジで、前記選択部に前記第３設定値を選択させることにより、当該第３設定値の前記比較部１２７への供給を開始させてもよい。
【００２３】
この構成によれば、本発明の一形態に係るタイマ回路は、クロック信号が切り替えられた際の不具合の発生をより低減できる。
【００２４】
なお、本発明は、このようなタイマ回路として実現できるだけでなく、タイマ回路に含まれる特徴的な手段をステップとするタイマ回路の制御方法として実現できる。
【００２５】
さらに、本発明は、このようなタイマ回路の機能の一部又は全てを実現する半導体集積回路（ＬＳＩ）として実現したり、このようなタイマ回路を備えるマイクロコンピュータとして実現したり、このようなマイクロコンピュータを備える空気清浄機として実現したりできる。
【発明の効果】
【００２６】
以上より本発明は、クロック信号が切り替えられた際の不具合の発生を低減できるタイマ回路を提供できる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態１に係るマイクロコンピュータのブロック図である。
【図２】本発明の実施の形態１に係るタイマ回路のブロック図である。
【図３】本発明の実施の形態１に係るタイマ回路のタイミングチャートである。
【図４】本発明の実施の形態１に係るタイマ回路のタイミングチャートである。
【図５】本発明の実施の形態１に係る処理を行わない場合の、タイマ回路のタイミングチャートである。
【図６】本発明の実施の形態１に係る処理を行わない場合の、タイマ回路のタイミングチャートである。
【図７】本発明の実施の形態１に係る処理を、ハードウェアで実現した場合と、ソフトウェアで実現した場合とを比較するための図である。
【図８】本発明の実施の形態２に係るタイマ回路のブロック図である。
【図９】本発明の実施の形態３に係るタイマ回路のタイミングチャートである。
【図１０】本発明の実施の形態４に係る空気清浄機のブロック図である。
【発明を実施するための形態】
【００２８】
以下、本発明を実施するための形態について、図面を参照しながら説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２９】
（実施の形態１）
本発明の実施の形態１に係るタイマ回路は、クロック信号が切り替わった際に、出力信号が正常に生成されるように補正処理を行う。これにより、本発明の実施の形態１に係るタイマ回路は、クロック信号が切り替えられた際の不具合の発生を低減できる。
【００３０】
まず、本発明の実施の形態１に係るタイマ回路１１０を備えるマイクロコンピュータ１００の構成を説明する。
【００３１】
図１は、本発明の実施の形態１に係るマイクロコンピュータ１００の構成を示すブロック図である。
【００３２】
このマイクロコンピュータ１００は、クロック切り替え回路１０１と、分周回路１０２と、ＣＰＵ１０３と、周辺回路１０４と、タイマ回路１１０とを備える。また、マイクロコンピュータ１００は、高速クロック信号１１１を用いて動作する通常動作モードと、低速クロック信号１１２を用いて動作するスタンバイモードとを有する。ここで、高速クロック信号１１１は、低速クロック信号１１２より周波数が高い。
【００３３】
クロック切り替え回路１０１は、クロック切り替え信号１１３に応じて、高速クロック信号１１１及び低速クロック信号１１２の一方を選択し、選択したクロック信号をシステムクロック信号１１４として出力する。
【００３４】
ＣＰＵ１０３は、システムクロック信号１１４を用いて動作する。
【００３５】
分周回路１０２は、システムクロック信号１１４を分周することにより入力クロック信号１１５を生成する。なお、分周回路１０２を設けず、システムクロック信号１１４が入力クロック信号１１５としてタイマ回路１１０に供給されてもよい。また、以下では、簡単化のため、当該分周回路１０２が設けられていない場合の動作を説明する。
【００３６】
タイマ回路１１０は、入力クロック信号１１５を用いて、所定の時間を示すタイマ出力信号１１６を生成する。
【００３７】
周辺回路１０４は、タイマ出力信号１１６を用いて処理を行う。
【００３８】
以下、タイマ回路１１０の構成を説明する。
【００３９】
図２は、本発明の実施の形態１に係るタイマ回路１１０の構成を示すブロック図である。
【００４０】
図２に示すタイマ回路１１０は、第１レジスタ１２１と、第２レジスタ１２２と、カウンタ１２３と、第３設定値演算部１２４と、選択部１２５と、切り替え制御部１２６と、比較部１２７とを備える。また、このタイマ回路１１０の機能は、典型的には、専用のハードウェアにより実現される。
【００４１】
第１レジスタ１２１は、タイマ回路１１０の外部から設定された第１設定値１３１を保持する。この第１設定値１３１は、通常動作時に用いられる高速クロック信号１１１の周波数に対応したカウンタ１２３のカウント数を示す。
【００４２】
第２レジスタ１２２は、タイマ回路１１０の外部から設定された第２設定値１３２を保持する。この第２設定値１３２は、スタンバイモード時に用いられる低速クロック信号１１２の周波数に対応したカウンタ１２３のカウント数を示す。
【００４３】
また、実施の形態１では、高速クロック信号１１１に対する低速クロック信号１１２の周波数の比と、第１設定値１３１に対する第２設定値１３２の比とは等しい。
【００４４】
カウンタ１２３は、入力クロック信号１１５を用いてカウント値１３４をカウントする。つまり、カウンタ１２３は、入力クロック信号１１５のクロック数をカウントする。
【００４５】
クロック切り替え信号１１３は、スタンバイモードと通常モードとの切り替えを要求する信号である。
【００４６】
第３設定値演算部１２４は、入力クロック信号１１５が高速クロック信号１１１及び体側クロック信号１１２の一方から他方へ変更された場合（以下、クロック切り替え時とも呼ぶ）に、第３設定値１３３を演算する。この第３設定値１３３は、補正処理に用いられる設定値である。
【００４７】
選択部１２５は、第１設定値１３１、第２設定値１３２及び第３設定値１３３のいずれかを選択し、選択した設定値を基準値１３５として出力する。具体的には、選択部１２５は、入力クロック信号１１５が高速クロック信号１１１である場合、基準値１３５として第１設定値１３１を選択する。また、選択部１２５は、入力クロック信号１１５が低速クロック信号１１２である場合、基準値１３５として第２設定値１３２を選択する。また、選択部１２５は、入力クロック信号１１５が切り替えられた際に、基準値１３５として第３設定値１３３を選択する。
【００４８】
比較部１２７は、カウント値１３４が基準値１３５分変化したタイミングで変化するタイマ出力信号１１６を生成する。具体的には、比較部１２７は、カウント値１３４が基準値１３５に達した時点で変化するタイマ出力信号１１６を生成する。また、カウント値１３４が基準値１３５に達すると、当該カウント値１３４はリセットされる。
【００４９】
切り替え制御部１２６は、選択部１２５が基準値１３５として選択する設定値を切り替える制御を行なう。
【００５０】
以下、以上のように構成されたタイマ回路１１０の動作を説明する。
【００５１】
まず、入力クロック信号１１５が、低速クロック信号１１２から高速クロック信号１１１へ切り替えられる場合の動作を説明する。
【００５２】
図３は、入力クロック信号１１５が、低速クロック信号１１２から高速クロック信号１１１へ切り替えられた場合のタイミングチャートである。
【００５３】
図３に示す低速クロック期間１５０において、入力クロック信号１１５として、低速クロック信号１１２が供給されている。この低速クロック期間１５０では、基準値１３５として、第２設定値１３２（＝５）が選択される。また、カウンタ１２３は、入力クロック信号１１５の立ち上がりエッジでカウント値１３４をカウントアップする。そして、比較部１２７は、カウント値１３４が第２設定値１３２（＝５）に達した時点で、タイマ出力信号１１６の論理を反転させる。また、このとき、カウント値１３４は「０」にリセットされる。以上の処理が繰り返されることにより、入力クロック信号１１５の周期と、基準値１３５（第２設定値１３２）で示されるカウント数との積で示される時間ごとに反転するタイマ出力信号１１６が生成される。
【００５４】
次に、クロック切り替え信号１１３により、低速クロック信号１１２の立ち上がりエッジで入力クロック信号１１５が低速クロック信号１１２から高速クロック信号１１１に切り替わる。このとき、第３設定値演算部１２４は、現在のカウント値より大きい値を第３設定値１３３として演算する。
【００５５】
具体的には、第３設定値演算部１２４は、第２設定値１３２から現在のカウント値を減算することで、第１残カウント値を算出する。つまり、第１残カウント値は、クロック切り替え時における、低速クロック信号１１２に対応する残りのカウント数である。
【００５６】
次に、第３設定値演算部１２４は、第１残カウント値を用いて、第１残カウント値を低速クロック信号１１２でカウントした場合のカウント時間と同じ時間を、高速クロック信号１１１でカウントするための第２残カウント値を算出する。言い換えると、第３設定値演算部１２４は、低速クロック信号１１２に対応する第１残カウント値を、高速クロック信号１１１に対応する第２残カウント値に変換する。具体的には、第３設定値演算部１２４は、第１残カウント値に、第２設定値１３２に対する第１設定値１３１の比を乗算することにより、第２残カウント値を算出する。言い換えると、第３設定値演算部１２４は、第１残カウント値に、低速クロック信号１１２に対する高速クロック信号１１１の周波数比を乗算することにより、第２残カウント値を算出する。そして、第３設定値演算部１２４は、現在のカウント値に第２残カウント値を加算することで、第３設定値１３３を算出する。
【００５７】
ここで、第１設定値１３１の値をｍとし、第２設定値１３２の値をｌとし、切り替え要求に既にカウントしたカウント回数をｎとすると、第３設定値１３３の値ａは、下記式（１）で示される。
【００５８】
ａ＝｛（ｌ＋１）−（ｎ＋１）｝×（ｍ＋１）／（ｌ＋１）＋ｎ  ・・・（１）
【００５９】
例えば、図３に示す例では、第３設定値１３３は、８（＝｛（５＋１）−（２＋１）｝×（１１＋１）／（５＋１）＋２）となる。また、ここで、（ｍ＋１）は第１設定値１３１で示されるカウント回数であり、（ｌ＋１）は、第２設定値１３２で示されるカウント回数である。
【００６０】
そして、選択部１２５は、変更期間１５２において、基準値１３５として第３設定値１３３（＝８）を選択する。ここで、変更期間１５２とは、入力クロック信号１１５が、高速クロック信号１１１及び低速クロック信号１１２の一方から他方へ変更されてから、次にタイマ出力信号１１６が変化するまでの期間である。言い換えると、変更期間１５２とは、入力クロック信号１１５が、高速クロック信号１１１及び低速クロック信号１１２の一方から他方へ変更されてから、次にカウント値１３４と基準値１３５とが一致するまでの期間である。
【００６１】
このとき、切り替え制御部１２６は、入力クロック信号１１５が低速クロック信号１１２から高速クロック信号１１１へ変更された直後の低速クロック信号１１２の立ち上がりエッジで、選択部１２５に第３設定値１３３を選択させることで、第３設定値１３３の比較部１２７への供給を開始させる。
【００６２】
また、選択部１２５は、変更期間１５２の後の高速クロック期間１５１において、第１設定値１３１（＝１１）を選択する。具体的には、切り替え制御部１２６は、クロック切り替え要求を受けてから次のカウンタ１２３のリセットタイミングで、選択部１２５に第１設定値１３１を選択させる。
【００６３】
この高速クロック期間１５１において、カウンタ１２３は、入力クロック信号１１５の立ち上がりエッジでカウント値１３４をカウントアップする。そして、比較部１２７は、カウント値１３４が第１設定値１３１（＝１１）に達した時点で、タイマ出力信号１１６の論理を反転させる。また、このとき、カウント値１３４は「０」にリセットされる。以上の処理が繰り返されることにより、入力クロック信号１１５の周期と、第１設定値１３１で示されるカウント数との積で示される時間ごとに反転するタイマ出力信号１１６が生成される。
【００６４】
次に、入力クロック信号１１５が、高速クロック信号１１１から低速クロック信号１１２へ切り替えられる場合の動作を説明する。
【００６５】
図４は、入力クロック信号１１５が、低速クロック信号１１２から高速クロック信号１１１へ切り替えられる場合のタイミングチャートである。
【００６６】
なお、高速クロック期間１５１及び低速クロック期間１５０の動作は、図３の動作と同様である。
【００６７】
入力クロック信号１１５が、低速クロック信号１１２から高速クロック信号１１１へ切り替えられた際に、第３設定値演算部１２４は、現在のカウント値より大きい値を第３設定値１３３として演算する。
【００６８】
具体的には、第３設定値演算部１２４は、第１設定値１３１から現在のカウント値を減算することで、第１残カウント値を算出する。そして、第３設定値演算部１２４は、第１残カウント値を用いて、第１残カウント値を高速クロック信号１１１でカウントした場合のカウント時間と同じ時間を、低速クロック信号１１２でカウントするための第２残カウント値を算出する。より具体的には、第３設定値演算部１２４は、第１残カウント値に、第１設定値１３１に対する第２設定値１３２の比を乗算することにより、第２残カウント値を算出する。言い換えると、第３設定値演算部１２４は、第１残カウント値に、高速クロック信号１１１に対する低速クロック信号１１２の周波数比を乗算することにより、第２残カウント値を算出する。そして、第３設定値演算部１２４は、現在のカウント値に第２残カウント値を加算することで、第３設定値１３３を算出する。
【００６９】
例えば、第３設定値演算部１２４は、下記式（２）を用いて第３設定値１３３の値ｂを算出する。
【００７０】
ｂ＝｛（ｍ＋１）−（ｎ＋１）｝×（ｌ＋１）／（ｍ＋１）＋ｎ  ・・・（２）
【００７１】
例えば、図４に示す例では、第３設定値１３３は、７（＝｛（１１＋１）−（３＋１）｝×（５＋１）／（１１＋１）＋３）となる。また、式（２）は、式（１）におけるｍをｌに置き換え、ｌをｍに置き換えた式である。
【００７２】
以上により、本発明の実施の形態１に係るタイマ回路１１０は、クロックの切り替わり時に、第３設定値１３３を用いることにより、タイマ出力信号１１６の波形を崩さずに継続させることができる。
【００７３】
以下、比較のために、第３設定値１３３を用いない場合の動作例を説明する。
【００７４】
図５及び図６は、第３設定値１３３を用いない場合のタイミングチャートである。また、図５は、入力クロック信号１１５が、低速クロック信号１１２から高速クロック信号１１１へ切り替えられる場合のタイミングチャートであり、図６は、入力クロック信号１１５が、高速クロック信号１１１から低速クロック信号１１２へ切り替えられる場合のタイミングチャートである。また、図５及び図６において、点線は期待値（本発明の実施の形態１に係るタイマ回路１１０を用いた場合）を示す。
【００７５】
例えば、図５に示す例では、クロックの切り替え時に、基準値１３５が第１設定値１３１に切り替えられる。これにより、タイマ出力信号１１６のハイ区間が伸びてしまう。
【００７６】
また、図６に示す例では、基準値１３５が第１設定値１３１から第２設定値１３２に切り替わった時、既にカウント値１３４が第２設定値１３２の値（＝５）より大きい。これにより、カウンタ１２３がオーバーフローするまで、タイマ出力信号１１６がハイレベルになり続ける。
【００７７】
これに対して、本発明の実施の形態１に係るタイマ回路１１０は、第３設定値１３３を用いることで、このようなクロックの切り替え時に発生するタイマ出力信号１１６の崩れを回避できる。この効果により、周辺回路１０４は、タイマ出力信号１１６を利用したアプリケーションを正しく継続することができる。例えば、音響関連であれば音が乱れたり、映像関連では映像が乱れたりするということが無くなる。
【００７８】
また、本発明の実施の形態１に係るタイマ回路１１０は、第３設定値１３３を演算する補正処理をハードウェアで実現している。これにより、当該補正処理をソフトウェアで実現した場合に比べて、高速化を実現できる。
【００７９】
図７は、タイマ回路１１０の機能をハードウェアで実現した場合と、ソフトウェアで実現した場合との動作タイミングを示す図である。図７の上段は、タイマ回路１１０の機能をソフトウェアで実現した場合の動作を示し、図７の下段は、タイマ回路１１０の機能をハードウェアで実現した場合の動作を示す。
【００８０】
ソフトウェアを用いた場合、クロック切り替え時に補正区間が必要となる。この補正区間において、ソフトウェアは周辺回路１０４を一度停止させるか、停止させずに補正処理を行う。また、ＣＰＵ１０３が、補正処理をソフトウェア処理する場合、割り込み処理によりメインプログラムが中断するという問題点も生じる。一方、ハードウェアを用いることで、この補正区間が不要となる。これにより、高速化を実現できる。
【００８１】
さらに、図７に示すように、低速クロック信号１１２が用いられるスタンバイモードと、高速クロック信号１１１が用いられる通常動作モードとが、繰り返される場合を考える。この場合、補正区間が必要となることで、高速クロック信号１１１が用いられる区間が長くなる。これにより、消費電力が増加するという問題が生じる。一方、ハードウェアを用いることにより、補正区間がなくなるので、システムの低消費電力化を実現できる。また、このタイマ回路１１０をマイクロコンピュータ１００に内蔵することで、マイクロコンピュータ１００の低消費電力化を実現できる。
【００８２】
以上より、本発明の実施の形態１に係るタイマ回路１１０は、クロック切り替え時には、第３設定値１３３を算出し、算出した第３設定値１３３を用いてタイマ出力信号１１６を生成する。具体的には、タイマ回路１１０は、現在のカウント値より大きい値を第３設定値１３３として用いる。これにより、タイマ回路１１０は、入力クロック信号１１５の切り替わり時に、タイマ出力信号１１６が一方の論理に固定されてしまうことを防止できる。
【００８３】
また、タイマ回路１１０は、クロック切り替え時における、切り替え前のクロック信号に対応する残りのカウント数を、切り替え後のクロック信号に対するカウント数に変換し、現在のカウント値に、変換後のカウント数を加算することで、第３設定値１３３を算出する。これにより、タイマ回路１１０は、入力クロック信号１１５の切り替わり時に、タイマ出力信号１１６で示される時間が、本来の時間からずれてしまうことを防止できる。
【００８４】
このように、タイマ回路１１０は、クロック信号が切り替えられた際の不具合の発生を低減できる。
【００８５】
また、タイマ回路１１０をハードウェアで構成することにより、クロック切り替え処理を高速に実施できる。
【００８６】
また、高速クロック信号１１１に対する低速クロック信号１１２の周波数の比と、第１設定値１３１に対する第２設定値１３２の比とは等しい。これにより、タイマ回路１１０は、クロック切り替えの前後で、タイマ出力信号１１６の波形を同じにできる。
【００８７】
また、タイマ回路１１０は、入力クロック信号１１５が切り替えられた直後の低速クロック信号１１２の立ち上がりエッジで、基準値１３５を第３設定値１３３に切り替える。これにより、タイマ回路１１０は、クロック信号が切り替えられた際の不具合の発生をより低減できる。
【００８８】
なお、上記説明では、カウンタ１２３のカウントアップ、及び基準値１３５の切り替えをクロック信号の立ち上がりエッジで行っているが、立下りエッジで行ってもよい。
【００８９】
（実施の形態２）
本発明の実施の形態２では、上述した実施の形態１の変形例について説明する。
【００９０】
図８は、本発明の実施の形態２に係るタイマ回路２１０の構成を示すブロック図である。
【００９１】
図８に示すタイマ回路２１０は、上述した実施の形態１に係るタイマ回路１１０に対して、第２レジスタ１２２の代わりに、周波数比検出部２２８と、第２設定値演算部２２９とを備える点が異なる。なお、図８において、図２と同様の要素には同一の符号を付しており、重複する説明は省略する。
【００９２】
周波数比検出部２２８は、高速クロック信号１１１と低速クロック信号１１２とを用いて、高速クロック信号１１１と低速クロック信号１１２との周波数比を検出する。
【００９３】
第２設定値演算部２２９は、周波数比検出部２２８が検出した周波数比と、第１レジスタ１２１に保持されている第１設定値１３１とから、第２設定値１３２を算出する。具体的には、第２設定値演算部２２９は、第１設定値１３１と周波数比とを乗算することにより、第２設定値１３２を算出する。より具体的には、第２設定値演算部２２９は、第１設定値１３１に、高速クロック信号１１１に対する低速クロック信号１１２の周波数比を乗算する。
【００９４】
以下、具体例を説明する。例えば、高速クロック信号１１１と低速クロック信号１１２の周波数比が２：１の場合、周波数比検出部２２８は、周波数比として「１／２」を検出する。また、第１設定値１３１が「１１」（カウント数が１２）の場合、第２設定値演算部２２９は、カウント数「１２」に周波数比「１／２」を乗算することで、第２設定値１３２のカウント数として「６」（第２設定値１３２は「５」）を算出する。
【００９５】
以上により、本発明の実施の形態２に係るタイマ回路２１０は、第１設定値１３１から第２設定値１３２を算出できる。
【００９６】
なお、上記説明では、第１設定値１３１から第２設定値１３２を算出する例を述べたが、同様の方法により、第２設定値１３２から第１設定値１３１を算出してもよい。
【００９７】
（実施の形態３）
上記実施の形態１及び２では、クロック切り替わりの前後でタイマ出力信号１１６の波形が変わらない場合を説明した。本発明の実施の形態３では、クロック切り替わりの前後でタイマ出力信号１１６の波形が変わる場合を説明する。
【００９８】
なお、本発明の実施の形態３に係るタイマ回路の構成は、例えば、図２に示す構成と同様である。
【００９９】
図９は、本発明の実施の形態３に係るタイミングチャートである。また、図９の例では、高速クロック信号１１１の周波数は、低速クロック信号１１２の周波数の２倍である。また、第１設定値１３１は「１」であり、第２設定値１３２は「７」である。つまり、高速クロック信号１１１に対する低速クロック信号１１２の周波数の比と、第１設定値１３１に対する第２設定値１３２の比とは異なる。
【０１００】
クロック切り替え時には、第３設定値演算部１２４は、現在のカウント値（＝２）より大きい値を第３設定値１３３として算出する。この例では、第３設定値演算部１２４は、現在のカウント値（＝２）に第１設定値１３１（＝１）で示されるカウント値（＝２）を加算した値（＝４）を第３設定値１３３として算出する。
【０１０１】
以上により、本発明の実施の形態３に係るタイマ回路は、クロック切り替わり時において、タイマ出力信号１１６が一方の論理に固定されてしまうことを防止できる。
【０１０２】
なお、ここでは、現在のカウント値に第１設定値１３１で示されるカウント値を加算した値を第３設定値１３３としているが、現在のカウント値に加算する値は、これ以外であってもよい。例えば、第３設定値演算部１２４は、上述した実施の形態１と同様に、上記式（１）又は式（２）を用いて、第３設定値１３３を算出してもよい。
【０１０３】
このように、高速クロック信号１１１と低速クロック信号１１２との周波数比に関連しない任意の値を第１設定値１３１及び第２設定値１３２に設定することで、クロック切り替えの前後で周辺回路１０４にカスタマの意図した動作をさせることができる。
【０１０４】
（実施の形態４）
本発明の実施の形態４では、上述したタイマ回路を備える空気清浄機について説明する。
【０１０５】
図１０は、本発明の実施の形態４に係る空気清浄機３００のブロック図である。
【０１０６】
この空気清浄機３００は、センサ３０１と、モータ３０２と、マイクロコンピュータ１００とを備える。センサ３０１は、臭い、ほこり、及び、人並びにペットの動きを検知する。
【０１０７】
マイクロコンピュータ１００は、実施の形態１で説明したマイクロコンピュータ１００であり、実施の形態１〜３のいずれかに係るタイマ回路１１０を備える。
【０１０８】
モータ３０２は、汚れた空気を吸い込み、当該汚れた空気をフィルタに通すことで綺麗な空気に生成し、生成した綺麗な空気を送り出す。
【０１０９】
空気清浄機３００は、臭い又はほこり等を検知する際は、低速クロック信号１１２を用いて電力を抑えたスタンバイモードで動作する。また、空気清浄機３００は、空気を清浄する必要がある量のにおい又はほこり等を検知した時に、高速クロック信号１１１で動作する通常動作モードに遷移する。そして、空気清浄機３００は、通常動作モードにおいて、ファンの回転数の制御する制御信号、及び運転と停止とを切り替える制御信号を生成する。その後、空気清浄機３００は、再びスタンバイモードに戻る。
【０１１０】
また、低消費電力化が求められる中、マイクロコンピュータ１００のクロック制御を上述した実施の形態のようにすることにより、スタンバイモードから通常動作モードへの遷移時における不具合の発生を抑制できる。また、上記クロック制御をハードウェアで実現することにより、通常動作モードの区間を短くできるので低消費なシステムを実現できる。
【０１１１】
なお、実施の形態４では、本発明を空気清浄機に適用した例を説明したが、本発明に係るマイクロコンピュータ１００は、スタンバイモードと通常動作モードとを遷移するようなシステム全般に適用できる。例えば、本発明は、エアコン、風呂の温度コントローラ、又は照明コントローラにも適用できる。
【０１１２】
また、上記実施の形態に係るマイクロコンピュータ１００は、典型的には１チップの半導体集積回路であるＬＳＩとして実現される。なお、マイクロコンピュータ１００又はタイマ回路１１０に含まれる各処理部は個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０１１３】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１１４】
また、本発明の実施の形態に係る、マイクロコンピュータ又はタイマ回路の機能の一部又は全てを、ＣＰＵ等のプロセッサがプログラムを実行することにより実現してもよい。
【０１１５】
さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０１１６】
また、上記実施の形態１〜４に係る、タイマ回路、マイクロコンピュータ、及びそれら変形例の機能のうち少なくとも一部を組み合わせてもよい。
【０１１７】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。さらに、ハイ／ローにより表される論理レベル又はオン／オフにより表されるスイッチング状態は、本発明を具体的に説明するために例示するものであり、例示された論理レベル又はスイッチング状態の異なる組み合わせにより、同等な結果を得ることも可能である。
【０１１８】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【０１１９】
更に、本発明の主旨を逸脱しない限り、本実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本発明に含まれる。
【産業上の利用可能性】
【０１２０】
本発明は、タイマ回路、当該タイマ回路を備えるマイクロコンピュータに適用できる。また、本発明は、当該マイクロコンピュータを備える、空気清浄機等の各種機器に適用できる。
【符号の説明】
【０１２１】
１００  マイクロコンピュータ
１０１  クロック切り替え回路
１０２  分周回路
１０３  ＣＰＵ
１０４  周辺回路
１１０、２１０  タイマ回路
１１１  高速クロック信号
１１２  低速クロック信号
１１３  クロック切り替え信号
１１４  システムクロック信号
１１５  入力クロック信号
１１６  タイマ出力信号
１２１  第１レジスタ
１２２  第２レジスタ
１２３  カウンタ
１２４  第３設定値演算部
１２５  選択部
１２６  切り替え制御部
１２７  比較部
１３１  第１設定値
１３２  第２設定値
１３３  第３設定値
１３４  カウント値
１３５  基準値
１５０  低速クロック期間
１５１  高速クロック期間
１５２  変更期間
２２８  周波数比検出部
２２９  第２設定値演算部
３００  空気清浄機
３０１  センサ
３０２  モータ
【図１】
2012227824.tif 000003
【図２】
2012227824.tif 000004
【図３】
2012227824.tif 000005
【図４】
2012227824.tif 000006
【図５】
2012227824.tif 000007
【図６】
2012227824.tif 000008
【図７】
2012227824.tif 000009
【図８】
2012227824.tif 000010
【図９】
2012227824.tif 000011
【図１０】
2012227824.tif 000012