説明

タイマ回路、その制御方法、マイクロコンピュータ及び空気清浄機

【課題】クロック信号が切り替えられた際の不具合の発生を低減する。
【解決手段】本発明に係るタイマ回路110は、入力クロック信号115を用いてカウント値134をカウントするカウンタ123と、入力クロック信号115が変更された際に、基準値135として第3設定値133を選択する選択部125と、カウント値134が基準値135分変化したタイミングで変化するタイマ出力信号116を生成する比較部127と、現在のカウント値より大きい値を第3設定値133として演算する第3設定値演算部124とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タイマ回路、その制御方法、マイクロコンピュータ及び空気清浄機に関し、特に、入力クロック信号として、高速クロック信号と、低速クロック信号との一方が選択的に入力され、当該入力クロック信号を用いて所定の時間を示す出力信号を生成するタイマ回路に関する。
【背景技術】
【0002】
マイクロコンピュータでは、複数のクロック信号が用いられており、クロック信号の切り替え要求に応じて、使用するクロック信号が切り替えられる。例えば、低消費電力を実現するマイクロコンピュータは、スタンバイモードと、通常動作モードとを有する。そして、スタンバイモード時には低速クロック信号が用いられ、通常動作モード時には高速クロック信号が用いられる。また、当該マイクロコンピュータは、スタンバイモード時において、クロック信号の切り替え要求、つまり起動信号を受信した場合に、動作モードを通常動作モードに切り替える。
【0003】
また、ハードウェアを用いてクロック信号を切り替える従来の回路として、特許文献1記載の回路がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平5−143753号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記のように、クロック信号が高速クロック信号及び低速クロック信号の一方から他方へ切り替えられた場合、当該クロック信号を用いるタイマ回路にも影響がでる。具体的には、タイマ回路の出力信号で示される時間が、本来の時間からずれてしまう。また、最悪の場合、出力信号が一方の論理に固定されてしまう場合もある。このように、従来の技術は、タイマ回路は、クロック信号が切り替えられた際に不具合が発生する可能性があるという課題を有する。
【0006】
そこで本発明は、上記課題を解決するものであり、クロック信号が切り替えられた際の不具合の発生を低減できるタイマ回路を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の一形態に係るタイマ回路は、入力クロック信号として、高速クロック信号と、前記高速クロック信号より周波数が低い低速クロック信号との一方が選択的に入力され、当該入力クロック信号を用いて、所定の時間を示す出力信号を生成するタイマ回路であって、前記入力クロック信号を用いてカウント値をカウントするカウンタと、前記入力クロック信号が前記高速クロック信号である場合、基準値として第1設定値を選択し、前記入力クロック信号が前記低速クロック信号である場合、前記基準値として第2設定値を選択し、前記入力クロック信号が、前記高速クロック信号及び前記低速クロック信号の一方である変更前クロック信号から、他方である変更後クロック信号へ変更されてから、次に前記出力信号が変化するまでの変更期間において、前記基準値として第3設定値を選択する選択部と、前記カウント値が前記基準値に一致した際に変化する前記出力信号を生成する比較部と、前記入力クロック信号が、前記変更前クロック信号から前記変更後クロック信号へ変更された場合に、現在のカウント値より大きい値を前記第3設定値として演算する第3設定値演算部とを備える。
【0008】
この構成によれば、本発明の一形態に係るタイマ回路は、入力クロック信号の切り替わり時に、出力信号が一方の論理に固定されてしまうことを防止できる。このように、当該タイマ回路は、クロック信号が切り替えられた際の不具合の発生を低減できる。
【0009】
また、前記タイマ回路は、専用のハードウェアで構成されていてもよい。
【0010】
この構成によれば、本発明の一形態に係るタイマ回路は、クロック切り替え時の処理をハードウェアで実施することで、当該クロック切り替え処理を高速に実施できる。
【0011】
また、前記第3設定値演算部は、前記第1設定値及び前記第2設定値のうち、前記変更前クロック信号に対応する設定値から現在のカウント値を減算することで、第1残カウント値を算出し、前記第1残カウント値を前記変更前クロック信号でカウントした場合のカウント時間と同じ時間を、前記変更後クロック信号でカウントするための第2残カウント値を算出し、前記現在のカウント値に前記第2残カウント値を加算することで、前記第3設定値を算出してもよい。
【0012】
また、前記第3設定値演算部は、前記第1残カウント値に、前記第1設定値及び前記第2設定値のうち、前記変更前クロック信号に対応する設定値に対する、前記変更後クロック信号に対応する設定値の比を乗算することにより、前記第2残カウント値を算出してもよい。
【0013】
この構成によれば、本発明の一形態に係るタイマ回路は、入力クロック信号の切り替わり時に、出力信号で示される時間が、本来の時間からずれてしまうことを防止できる。このように、当該タイマ回路は、クロック信号が切り替えられた際の不具合の発生を低減できる。
【0014】
また、前記高速クロック信号に対する前記低速クロック信号の周波数の比と、前記第1設定値に対する前記第2設定値の比とは等しくてもよい。
【0015】
この構成によれば、本発明の一形態に係るタイマ回路は、クロック切り替えの前後で、出力信号の波形を同じにできる。
【0016】
また、前記高速クロック信号に対する前記低速クロック信号の周波数の比と、前記第1設定値に対する前記第2設定値の比とは異なってもよい。
【0017】
この構成によれば、本発明の一形態に係るタイマ回路は、クロック切り替えの前後で、出力信号を異ならせることができる。これにより、例えば、高速クロック信号が使用される通常動作モード時と、低速クロック信号が使用されるスタンバイモード時とにおいて、各モードに適した異なる出力信号を生成できる。
【0018】
また、前記タイマ回路は、さらに、前記タイマ回路の外部から設定された前記第1設定値を保持する第1レジスタと、前記タイマ回路の外部から設定された前記第2設定値を保持する第2レジスタとを備えてもよい。
【0019】
この構成によれば、ソフトウェア設計者は、第1設定値と第2設定値とを任意に設定できる。
【0020】
また、前記タイマ回路は、さらに、前記タイマ回路の外部から設定された、前記第1設定値及び前記第2設定値の一方を保持する第1レジスタと、前記高速クロック信号と前記低速クロック信号との周波数比を検出する周波数比検出部と、前記第1レジスタに保持されている前記第1設定値及び前記第2設定値の一方と、前記周波数比とを乗算することにより、前記第1設定値及び前記第2設定値の他方を算出する第2設定値演算部とを備えてもよい。
【0021】
この構成によれば、本発明の一形態に係るタイマ回路は、第1設定値及び第2設定値の一方から他方を算出できる。
【0022】
また、前記タイマ回路は、さらに、前記選択部が前記基準値として選択する設定値を切り替える切り替え制御部を備え、前記切り替え制御部は、前記入力クロック信号が変更前クロック信号から前記変更後クロック信号へ変更された直後の前記低速クロック信号のエッジで、前記選択部に前記第3設定値を選択させることにより、当該第3設定値の前記比較部127への供給を開始させてもよい。
【0023】
この構成によれば、本発明の一形態に係るタイマ回路は、クロック信号が切り替えられた際の不具合の発生をより低減できる。
【0024】
なお、本発明は、このようなタイマ回路として実現できるだけでなく、タイマ回路に含まれる特徴的な手段をステップとするタイマ回路の制御方法として実現できる。
【0025】
さらに、本発明は、このようなタイマ回路の機能の一部又は全てを実現する半導体集積回路(LSI)として実現したり、このようなタイマ回路を備えるマイクロコンピュータとして実現したり、このようなマイクロコンピュータを備える空気清浄機として実現したりできる。
【発明の効果】
【0026】
以上より本発明は、クロック信号が切り替えられた際の不具合の発生を低減できるタイマ回路を提供できる。
【図面の簡単な説明】
【0027】
【図1】本発明の実施の形態1に係るマイクロコンピュータのブロック図である。
【図2】本発明の実施の形態1に係るタイマ回路のブロック図である。
【図3】本発明の実施の形態1に係るタイマ回路のタイミングチャートである。
【図4】本発明の実施の形態1に係るタイマ回路のタイミングチャートである。
【図5】本発明の実施の形態1に係る処理を行わない場合の、タイマ回路のタイミングチャートである。
【図6】本発明の実施の形態1に係る処理を行わない場合の、タイマ回路のタイミングチャートである。
【図7】本発明の実施の形態1に係る処理を、ハードウェアで実現した場合と、ソフトウェアで実現した場合とを比較するための図である。
【図8】本発明の実施の形態2に係るタイマ回路のブロック図である。
【図9】本発明の実施の形態3に係るタイマ回路のタイミングチャートである。
【図10】本発明の実施の形態4に係る空気清浄機のブロック図である。
【発明を実施するための形態】
【0028】
以下、本発明を実施するための形態について、図面を参照しながら説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0029】
(実施の形態1)
本発明の実施の形態1に係るタイマ回路は、クロック信号が切り替わった際に、出力信号が正常に生成されるように補正処理を行う。これにより、本発明の実施の形態1に係るタイマ回路は、クロック信号が切り替えられた際の不具合の発生を低減できる。
【0030】
まず、本発明の実施の形態1に係るタイマ回路110を備えるマイクロコンピュータ100の構成を説明する。
【0031】
図1は、本発明の実施の形態1に係るマイクロコンピュータ100の構成を示すブロック図である。
【0032】
このマイクロコンピュータ100は、クロック切り替え回路101と、分周回路102と、CPU103と、周辺回路104と、タイマ回路110とを備える。また、マイクロコンピュータ100は、高速クロック信号111を用いて動作する通常動作モードと、低速クロック信号112を用いて動作するスタンバイモードとを有する。ここで、高速クロック信号111は、低速クロック信号112より周波数が高い。
【0033】
クロック切り替え回路101は、クロック切り替え信号113に応じて、高速クロック信号111及び低速クロック信号112の一方を選択し、選択したクロック信号をシステムクロック信号114として出力する。
【0034】
CPU103は、システムクロック信号114を用いて動作する。
【0035】
分周回路102は、システムクロック信号114を分周することにより入力クロック信号115を生成する。なお、分周回路102を設けず、システムクロック信号114が入力クロック信号115としてタイマ回路110に供給されてもよい。また、以下では、簡単化のため、当該分周回路102が設けられていない場合の動作を説明する。
【0036】
タイマ回路110は、入力クロック信号115を用いて、所定の時間を示すタイマ出力信号116を生成する。
【0037】
周辺回路104は、タイマ出力信号116を用いて処理を行う。
【0038】
以下、タイマ回路110の構成を説明する。
【0039】
図2は、本発明の実施の形態1に係るタイマ回路110の構成を示すブロック図である。
【0040】
図2に示すタイマ回路110は、第1レジスタ121と、第2レジスタ122と、カウンタ123と、第3設定値演算部124と、選択部125と、切り替え制御部126と、比較部127とを備える。また、このタイマ回路110の機能は、典型的には、専用のハードウェアにより実現される。
【0041】
第1レジスタ121は、タイマ回路110の外部から設定された第1設定値131を保持する。この第1設定値131は、通常動作時に用いられる高速クロック信号111の周波数に対応したカウンタ123のカウント数を示す。
【0042】
第2レジスタ122は、タイマ回路110の外部から設定された第2設定値132を保持する。この第2設定値132は、スタンバイモード時に用いられる低速クロック信号112の周波数に対応したカウンタ123のカウント数を示す。
【0043】
また、実施の形態1では、高速クロック信号111に対する低速クロック信号112の周波数の比と、第1設定値131に対する第2設定値132の比とは等しい。
【0044】
カウンタ123は、入力クロック信号115を用いてカウント値134をカウントする。つまり、カウンタ123は、入力クロック信号115のクロック数をカウントする。
【0045】
クロック切り替え信号113は、スタンバイモードと通常モードとの切り替えを要求する信号である。
【0046】
第3設定値演算部124は、入力クロック信号115が高速クロック信号111及び体側クロック信号112の一方から他方へ変更された場合(以下、クロック切り替え時とも呼ぶ)に、第3設定値133を演算する。この第3設定値133は、補正処理に用いられる設定値である。
【0047】
選択部125は、第1設定値131、第2設定値132及び第3設定値133のいずれかを選択し、選択した設定値を基準値135として出力する。具体的には、選択部125は、入力クロック信号115が高速クロック信号111である場合、基準値135として第1設定値131を選択する。また、選択部125は、入力クロック信号115が低速クロック信号112である場合、基準値135として第2設定値132を選択する。また、選択部125は、入力クロック信号115が切り替えられた際に、基準値135として第3設定値133を選択する。
【0048】
比較部127は、カウント値134が基準値135分変化したタイミングで変化するタイマ出力信号116を生成する。具体的には、比較部127は、カウント値134が基準値135に達した時点で変化するタイマ出力信号116を生成する。また、カウント値134が基準値135に達すると、当該カウント値134はリセットされる。
【0049】
切り替え制御部126は、選択部125が基準値135として選択する設定値を切り替える制御を行なう。
【0050】
以下、以上のように構成されたタイマ回路110の動作を説明する。
【0051】
まず、入力クロック信号115が、低速クロック信号112から高速クロック信号111へ切り替えられる場合の動作を説明する。
【0052】
図3は、入力クロック信号115が、低速クロック信号112から高速クロック信号111へ切り替えられた場合のタイミングチャートである。
【0053】
図3に示す低速クロック期間150において、入力クロック信号115として、低速クロック信号112が供給されている。この低速クロック期間150では、基準値135として、第2設定値132(=5)が選択される。また、カウンタ123は、入力クロック信号115の立ち上がりエッジでカウント値134をカウントアップする。そして、比較部127は、カウント値134が第2設定値132(=5)に達した時点で、タイマ出力信号116の論理を反転させる。また、このとき、カウント値134は「0」にリセットされる。以上の処理が繰り返されることにより、入力クロック信号115の周期と、基準値135(第2設定値132)で示されるカウント数との積で示される時間ごとに反転するタイマ出力信号116が生成される。
【0054】
次に、クロック切り替え信号113により、低速クロック信号112の立ち上がりエッジで入力クロック信号115が低速クロック信号112から高速クロック信号111に切り替わる。このとき、第3設定値演算部124は、現在のカウント値より大きい値を第3設定値133として演算する。
【0055】
具体的には、第3設定値演算部124は、第2設定値132から現在のカウント値を減算することで、第1残カウント値を算出する。つまり、第1残カウント値は、クロック切り替え時における、低速クロック信号112に対応する残りのカウント数である。
【0056】
次に、第3設定値演算部124は、第1残カウント値を用いて、第1残カウント値を低速クロック信号112でカウントした場合のカウント時間と同じ時間を、高速クロック信号111でカウントするための第2残カウント値を算出する。言い換えると、第3設定値演算部124は、低速クロック信号112に対応する第1残カウント値を、高速クロック信号111に対応する第2残カウント値に変換する。具体的には、第3設定値演算部124は、第1残カウント値に、第2設定値132に対する第1設定値131の比を乗算することにより、第2残カウント値を算出する。言い換えると、第3設定値演算部124は、第1残カウント値に、低速クロック信号112に対する高速クロック信号111の周波数比を乗算することにより、第2残カウント値を算出する。そして、第3設定値演算部124は、現在のカウント値に第2残カウント値を加算することで、第3設定値133を算出する。
【0057】
ここで、第1設定値131の値をmとし、第2設定値132の値をlとし、切り替え要求に既にカウントしたカウント回数をnとすると、第3設定値133の値aは、下記式(1)で示される。
【0058】
a={(l+1)−(n+1)}×(m+1)/(l+1)+n ・・・(1)
【0059】
例えば、図3に示す例では、第3設定値133は、8(={(5+1)−(2+1)}×(11+1)/(5+1)+2)となる。また、ここで、(m+1)は第1設定値131で示されるカウント回数であり、(l+1)は、第2設定値132で示されるカウント回数である。
【0060】
そして、選択部125は、変更期間152において、基準値135として第3設定値133(=8)を選択する。ここで、変更期間152とは、入力クロック信号115が、高速クロック信号111及び低速クロック信号112の一方から他方へ変更されてから、次にタイマ出力信号116が変化するまでの期間である。言い換えると、変更期間152とは、入力クロック信号115が、高速クロック信号111及び低速クロック信号112の一方から他方へ変更されてから、次にカウント値134と基準値135とが一致するまでの期間である。
【0061】
このとき、切り替え制御部126は、入力クロック信号115が低速クロック信号112から高速クロック信号111へ変更された直後の低速クロック信号112の立ち上がりエッジで、選択部125に第3設定値133を選択させることで、第3設定値133の比較部127への供給を開始させる。
【0062】
また、選択部125は、変更期間152の後の高速クロック期間151において、第1設定値131(=11)を選択する。具体的には、切り替え制御部126は、クロック切り替え要求を受けてから次のカウンタ123のリセットタイミングで、選択部125に第1設定値131を選択させる。
【0063】
この高速クロック期間151において、カウンタ123は、入力クロック信号115の立ち上がりエッジでカウント値134をカウントアップする。そして、比較部127は、カウント値134が第1設定値131(=11)に達した時点で、タイマ出力信号116の論理を反転させる。また、このとき、カウント値134は「0」にリセットされる。以上の処理が繰り返されることにより、入力クロック信号115の周期と、第1設定値131で示されるカウント数との積で示される時間ごとに反転するタイマ出力信号116が生成される。
【0064】
次に、入力クロック信号115が、高速クロック信号111から低速クロック信号112へ切り替えられる場合の動作を説明する。
【0065】
図4は、入力クロック信号115が、低速クロック信号112から高速クロック信号111へ切り替えられる場合のタイミングチャートである。
【0066】
なお、高速クロック期間151及び低速クロック期間150の動作は、図3の動作と同様である。
【0067】
入力クロック信号115が、低速クロック信号112から高速クロック信号111へ切り替えられた際に、第3設定値演算部124は、現在のカウント値より大きい値を第3設定値133として演算する。
【0068】
具体的には、第3設定値演算部124は、第1設定値131から現在のカウント値を減算することで、第1残カウント値を算出する。そして、第3設定値演算部124は、第1残カウント値を用いて、第1残カウント値を高速クロック信号111でカウントした場合のカウント時間と同じ時間を、低速クロック信号112でカウントするための第2残カウント値を算出する。より具体的には、第3設定値演算部124は、第1残カウント値に、第1設定値131に対する第2設定値132の比を乗算することにより、第2残カウント値を算出する。言い換えると、第3設定値演算部124は、第1残カウント値に、高速クロック信号111に対する低速クロック信号112の周波数比を乗算することにより、第2残カウント値を算出する。そして、第3設定値演算部124は、現在のカウント値に第2残カウント値を加算することで、第3設定値133を算出する。
【0069】
例えば、第3設定値演算部124は、下記式(2)を用いて第3設定値133の値bを算出する。
【0070】
b={(m+1)−(n+1)}×(l+1)/(m+1)+n ・・・(2)
【0071】
例えば、図4に示す例では、第3設定値133は、7(={(11+1)−(3+1)}×(5+1)/(11+1)+3)となる。また、式(2)は、式(1)におけるmをlに置き換え、lをmに置き換えた式である。
【0072】
以上により、本発明の実施の形態1に係るタイマ回路110は、クロックの切り替わり時に、第3設定値133を用いることにより、タイマ出力信号116の波形を崩さずに継続させることができる。
【0073】
以下、比較のために、第3設定値133を用いない場合の動作例を説明する。
【0074】
図5及び図6は、第3設定値133を用いない場合のタイミングチャートである。また、図5は、入力クロック信号115が、低速クロック信号112から高速クロック信号111へ切り替えられる場合のタイミングチャートであり、図6は、入力クロック信号115が、高速クロック信号111から低速クロック信号112へ切り替えられる場合のタイミングチャートである。また、図5及び図6において、点線は期待値(本発明の実施の形態1に係るタイマ回路110を用いた場合)を示す。
【0075】
例えば、図5に示す例では、クロックの切り替え時に、基準値135が第1設定値131に切り替えられる。これにより、タイマ出力信号116のハイ区間が伸びてしまう。
【0076】
また、図6に示す例では、基準値135が第1設定値131から第2設定値132に切り替わった時、既にカウント値134が第2設定値132の値(=5)より大きい。これにより、カウンタ123がオーバーフローするまで、タイマ出力信号116がハイレベルになり続ける。
【0077】
これに対して、本発明の実施の形態1に係るタイマ回路110は、第3設定値133を用いることで、このようなクロックの切り替え時に発生するタイマ出力信号116の崩れを回避できる。この効果により、周辺回路104は、タイマ出力信号116を利用したアプリケーションを正しく継続することができる。例えば、音響関連であれば音が乱れたり、映像関連では映像が乱れたりするということが無くなる。
【0078】
また、本発明の実施の形態1に係るタイマ回路110は、第3設定値133を演算する補正処理をハードウェアで実現している。これにより、当該補正処理をソフトウェアで実現した場合に比べて、高速化を実現できる。
【0079】
図7は、タイマ回路110の機能をハードウェアで実現した場合と、ソフトウェアで実現した場合との動作タイミングを示す図である。図7の上段は、タイマ回路110の機能をソフトウェアで実現した場合の動作を示し、図7の下段は、タイマ回路110の機能をハードウェアで実現した場合の動作を示す。
【0080】
ソフトウェアを用いた場合、クロック切り替え時に補正区間が必要となる。この補正区間において、ソフトウェアは周辺回路104を一度停止させるか、停止させずに補正処理を行う。また、CPU103が、補正処理をソフトウェア処理する場合、割り込み処理によりメインプログラムが中断するという問題点も生じる。一方、ハードウェアを用いることで、この補正区間が不要となる。これにより、高速化を実現できる。
【0081】
さらに、図7に示すように、低速クロック信号112が用いられるスタンバイモードと、高速クロック信号111が用いられる通常動作モードとが、繰り返される場合を考える。この場合、補正区間が必要となることで、高速クロック信号111が用いられる区間が長くなる。これにより、消費電力が増加するという問題が生じる。一方、ハードウェアを用いることにより、補正区間がなくなるので、システムの低消費電力化を実現できる。また、このタイマ回路110をマイクロコンピュータ100に内蔵することで、マイクロコンピュータ100の低消費電力化を実現できる。
【0082】
以上より、本発明の実施の形態1に係るタイマ回路110は、クロック切り替え時には、第3設定値133を算出し、算出した第3設定値133を用いてタイマ出力信号116を生成する。具体的には、タイマ回路110は、現在のカウント値より大きい値を第3設定値133として用いる。これにより、タイマ回路110は、入力クロック信号115の切り替わり時に、タイマ出力信号116が一方の論理に固定されてしまうことを防止できる。
【0083】
また、タイマ回路110は、クロック切り替え時における、切り替え前のクロック信号に対応する残りのカウント数を、切り替え後のクロック信号に対するカウント数に変換し、現在のカウント値に、変換後のカウント数を加算することで、第3設定値133を算出する。これにより、タイマ回路110は、入力クロック信号115の切り替わり時に、タイマ出力信号116で示される時間が、本来の時間からずれてしまうことを防止できる。
【0084】
このように、タイマ回路110は、クロック信号が切り替えられた際の不具合の発生を低減できる。
【0085】
また、タイマ回路110をハードウェアで構成することにより、クロック切り替え処理を高速に実施できる。
【0086】
また、高速クロック信号111に対する低速クロック信号112の周波数の比と、第1設定値131に対する第2設定値132の比とは等しい。これにより、タイマ回路110は、クロック切り替えの前後で、タイマ出力信号116の波形を同じにできる。
【0087】
また、タイマ回路110は、入力クロック信号115が切り替えられた直後の低速クロック信号112の立ち上がりエッジで、基準値135を第3設定値133に切り替える。これにより、タイマ回路110は、クロック信号が切り替えられた際の不具合の発生をより低減できる。
【0088】
なお、上記説明では、カウンタ123のカウントアップ、及び基準値135の切り替えをクロック信号の立ち上がりエッジで行っているが、立下りエッジで行ってもよい。
【0089】
(実施の形態2)
本発明の実施の形態2では、上述した実施の形態1の変形例について説明する。
【0090】
図8は、本発明の実施の形態2に係るタイマ回路210の構成を示すブロック図である。
【0091】
図8に示すタイマ回路210は、上述した実施の形態1に係るタイマ回路110に対して、第2レジスタ122の代わりに、周波数比検出部228と、第2設定値演算部229とを備える点が異なる。なお、図8において、図2と同様の要素には同一の符号を付しており、重複する説明は省略する。
【0092】
周波数比検出部228は、高速クロック信号111と低速クロック信号112とを用いて、高速クロック信号111と低速クロック信号112との周波数比を検出する。
【0093】
第2設定値演算部229は、周波数比検出部228が検出した周波数比と、第1レジスタ121に保持されている第1設定値131とから、第2設定値132を算出する。具体的には、第2設定値演算部229は、第1設定値131と周波数比とを乗算することにより、第2設定値132を算出する。より具体的には、第2設定値演算部229は、第1設定値131に、高速クロック信号111に対する低速クロック信号112の周波数比を乗算する。
【0094】
以下、具体例を説明する。例えば、高速クロック信号111と低速クロック信号112の周波数比が2:1の場合、周波数比検出部228は、周波数比として「1/2」を検出する。また、第1設定値131が「11」(カウント数が12)の場合、第2設定値演算部229は、カウント数「12」に周波数比「1/2」を乗算することで、第2設定値132のカウント数として「6」(第2設定値132は「5」)を算出する。
【0095】
以上により、本発明の実施の形態2に係るタイマ回路210は、第1設定値131から第2設定値132を算出できる。
【0096】
なお、上記説明では、第1設定値131から第2設定値132を算出する例を述べたが、同様の方法により、第2設定値132から第1設定値131を算出してもよい。
【0097】
(実施の形態3)
上記実施の形態1及び2では、クロック切り替わりの前後でタイマ出力信号116の波形が変わらない場合を説明した。本発明の実施の形態3では、クロック切り替わりの前後でタイマ出力信号116の波形が変わる場合を説明する。
【0098】
なお、本発明の実施の形態3に係るタイマ回路の構成は、例えば、図2に示す構成と同様である。
【0099】
図9は、本発明の実施の形態3に係るタイミングチャートである。また、図9の例では、高速クロック信号111の周波数は、低速クロック信号112の周波数の2倍である。また、第1設定値131は「1」であり、第2設定値132は「7」である。つまり、高速クロック信号111に対する低速クロック信号112の周波数の比と、第1設定値131に対する第2設定値132の比とは異なる。
【0100】
クロック切り替え時には、第3設定値演算部124は、現在のカウント値(=2)より大きい値を第3設定値133として算出する。この例では、第3設定値演算部124は、現在のカウント値(=2)に第1設定値131(=1)で示されるカウント値(=2)を加算した値(=4)を第3設定値133として算出する。
【0101】
以上により、本発明の実施の形態3に係るタイマ回路は、クロック切り替わり時において、タイマ出力信号116が一方の論理に固定されてしまうことを防止できる。
【0102】
なお、ここでは、現在のカウント値に第1設定値131で示されるカウント値を加算した値を第3設定値133としているが、現在のカウント値に加算する値は、これ以外であってもよい。例えば、第3設定値演算部124は、上述した実施の形態1と同様に、上記式(1)又は式(2)を用いて、第3設定値133を算出してもよい。
【0103】
このように、高速クロック信号111と低速クロック信号112との周波数比に関連しない任意の値を第1設定値131及び第2設定値132に設定することで、クロック切り替えの前後で周辺回路104にカスタマの意図した動作をさせることができる。
【0104】
(実施の形態4)
本発明の実施の形態4では、上述したタイマ回路を備える空気清浄機について説明する。
【0105】
図10は、本発明の実施の形態4に係る空気清浄機300のブロック図である。
【0106】
この空気清浄機300は、センサ301と、モータ302と、マイクロコンピュータ100とを備える。センサ301は、臭い、ほこり、及び、人並びにペットの動きを検知する。
【0107】
マイクロコンピュータ100は、実施の形態1で説明したマイクロコンピュータ100であり、実施の形態1〜3のいずれかに係るタイマ回路110を備える。
【0108】
モータ302は、汚れた空気を吸い込み、当該汚れた空気をフィルタに通すことで綺麗な空気に生成し、生成した綺麗な空気を送り出す。
【0109】
空気清浄機300は、臭い又はほこり等を検知する際は、低速クロック信号112を用いて電力を抑えたスタンバイモードで動作する。また、空気清浄機300は、空気を清浄する必要がある量のにおい又はほこり等を検知した時に、高速クロック信号111で動作する通常動作モードに遷移する。そして、空気清浄機300は、通常動作モードにおいて、ファンの回転数の制御する制御信号、及び運転と停止とを切り替える制御信号を生成する。その後、空気清浄機300は、再びスタンバイモードに戻る。
【0110】
また、低消費電力化が求められる中、マイクロコンピュータ100のクロック制御を上述した実施の形態のようにすることにより、スタンバイモードから通常動作モードへの遷移時における不具合の発生を抑制できる。また、上記クロック制御をハードウェアで実現することにより、通常動作モードの区間を短くできるので低消費なシステムを実現できる。
【0111】
なお、実施の形態4では、本発明を空気清浄機に適用した例を説明したが、本発明に係るマイクロコンピュータ100は、スタンバイモードと通常動作モードとを遷移するようなシステム全般に適用できる。例えば、本発明は、エアコン、風呂の温度コントローラ、又は照明コントローラにも適用できる。
【0112】
また、上記実施の形態に係るマイクロコンピュータ100は、典型的には1チップの半導体集積回路であるLSIとして実現される。なお、マイクロコンピュータ100又はタイマ回路110に含まれる各処理部は個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
【0113】
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0114】
また、本発明の実施の形態に係る、マイクロコンピュータ又はタイマ回路の機能の一部又は全てを、CPU等のプロセッサがプログラムを実行することにより実現してもよい。
【0115】
さらに、本発明は上記プログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【0116】
また、上記実施の形態1〜4に係る、タイマ回路、マイクロコンピュータ、及びそれら変形例の機能のうち少なくとも一部を組み合わせてもよい。
【0117】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。さらに、ハイ/ローにより表される論理レベル又はオン/オフにより表されるスイッチング状態は、本発明を具体的に説明するために例示するものであり、例示された論理レベル又はスイッチング状態の異なる組み合わせにより、同等な結果を得ることも可能である。
【0118】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【0119】
更に、本発明の主旨を逸脱しない限り、本実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本発明に含まれる。
【産業上の利用可能性】
【0120】
本発明は、タイマ回路、当該タイマ回路を備えるマイクロコンピュータに適用できる。また、本発明は、当該マイクロコンピュータを備える、空気清浄機等の各種機器に適用できる。
【符号の説明】
【0121】
100 マイクロコンピュータ
101 クロック切り替え回路
102 分周回路
103 CPU
104 周辺回路
110、210 タイマ回路
111 高速クロック信号
112 低速クロック信号
113 クロック切り替え信号
114 システムクロック信号
115 入力クロック信号
116 タイマ出力信号
121 第1レジスタ
122 第2レジスタ
123 カウンタ
124 第3設定値演算部
125 選択部
126 切り替え制御部
127 比較部
131 第1設定値
132 第2設定値
133 第3設定値
134 カウント値
135 基準値
150 低速クロック期間
151 高速クロック期間
152 変更期間
228 周波数比検出部
229 第2設定値演算部
300 空気清浄機
301 センサ
302 モータ

【特許請求の範囲】
【請求項1】
入力クロック信号として、高速クロック信号と、前記高速クロック信号より周波数が低い低速クロック信号との一方が選択的に入力され、当該入力クロック信号を用いて、所定の時間を示す出力信号を生成するタイマ回路であって、
前記入力クロック信号を用いてカウント値をカウントするカウンタと、
前記入力クロック信号が前記高速クロック信号である場合、基準値として第1設定値を選択し、前記入力クロック信号が前記低速クロック信号である場合、前記基準値として第2設定値を選択し、前記入力クロック信号が、前記高速クロック信号及び前記低速クロック信号の一方である変更前クロック信号から、他方である変更後クロック信号へ変更されてから、次に前記出力信号が変化するまでの変更期間において、前記基準値として第3設定値を選択する選択部と、
前記カウント値が前記基準値に一致した際に変化する前記出力信号を生成する比較部と、
前記入力クロック信号が、前記変更前クロック信号から前記変更後クロック信号へ変更された場合に、現在のカウント値より大きい値を前記第3設定値として演算する第3設定値演算部とを備える
タイマ回路。
【請求項2】
前記タイマ回路は、専用のハードウェアで構成されている
請求項1記載のタイマ回路。
【請求項3】
前記第3設定値演算部は、
前記第1設定値及び前記第2設定値のうち、前記変更前クロック信号に対応する設定値から現在のカウント値を減算することで、第1残カウント値を算出し、
前記第1残カウント値を前記変更前クロック信号でカウントした場合のカウント時間と同じ時間を、前記変更後クロック信号でカウントするための第2残カウント値を算出し、
前記現在のカウント値に前記第2残カウント値を加算することで、前記第3設定値を算出する
請求項1又は2記載のタイマ回路。
【請求項4】
前記第3設定値演算部は、前記第1残カウント値に、前記第1設定値及び前記第2設定値のうち、前記変更前クロック信号に対応する設定値に対する、前記変更後クロック信号に対応する設定値の比を乗算することにより、前記第2残カウント値を算出する
請求項3記載のタイマ回路。
【請求項5】
前記高速クロック信号に対する前記低速クロック信号の周波数の比と、前記第1設定値に対する前記第2設定値の比とは等しい
請求項1〜4のいずれか1項に記載のタイマ回路。
【請求項6】
前記高速クロック信号に対する前記低速クロック信号の周波数の比と、前記第1設定値に対する前記第2設定値の比とは異なる
請求項1〜4のいずれか1項に記載のタイマ回路。
【請求項7】
前記タイマ回路は、さらに、
前記タイマ回路の外部から設定された前記第1設定値を保持する第1レジスタと、
前記タイマ回路の外部から設定された前記第2設定値を保持する第2レジスタとを備える
請求項1〜6のいずれか1項に記載のタイマ回路。
【請求項8】
前記タイマ回路は、さらに、
前記タイマ回路の外部から設定された、前記第1設定値及び前記第2設定値の一方を保持する第1レジスタと、
前記高速クロック信号と前記低速クロック信号との周波数比を検出する周波数比検出部と、
前記第1レジスタに保持されている前記第1設定値及び前記第2設定値の一方と、前記周波数比とを乗算することにより、前記第1設定値及び前記第2設定値の他方を算出する第2設定値演算部とを備える
請求項5記載のタイマ回路。
【請求項9】
前記タイマ回路は、さらに、
前記選択部が前記基準値として選択する設定値を切り替える切り替え制御部を備え、
前記切り替え制御部は、前記入力クロック信号が変更前クロック信号から前記変更後クロック信号へ変更された直後の前記低速クロック信号のエッジで、前記選択部に前記第3設定値を選択させることにより、当該第3設定値の前記比較部127への供給を開始させる
請求項1〜8のいずれか1項に記載のタイマ回路。
【請求項10】
請求項1〜9のいずれか1項に記載のタイマ回路を備える
マイクロコンピュータ。
【請求項11】
請求項10記載のマイクロコンピュータを備える
空気清浄機。
【請求項12】
入力クロック信号として、高速クロック信号と、前記高速クロック信号より周波数が低い低速クロック信号との一方が選択的に入力され、当該入力クロック信号を用いて、所定の時間を示す出力信号を生成するタイマ回路の制御方法であって、
前記入力クロック信号を用いてカウント値をカウントするステップと、
前記カウント値が基準値分変化したタイミングで変化する前記出力信号を生成するステップと、
前記入力クロック信号が前記高速クロック信号である場合、基準値として第1設定値を選択し、前記入力クロック信号が前記低速クロック信号である場合、前記基準値として第2設定値を選択し、前記入力クロック信号が、前記高速クロック信号及び前記低速クロック信号の一方である変更前クロック信号から、他方である変更後クロック信号へ変更されてから、次に前記出力信号が変化するまでの変更期間において、前記基準値として第3設定値を選択するステップと、
前記カウント値が前記基準値分変化したタイミングで変化する前記出力信号を生成するステップと、
前記入力クロック信号が、前記変更前クロック信号から前記変更後クロック信号へ変更された場合に、現在のカウント値より大きい値を前記第3設定値として演算するステップとを含む
タイマ回路の制御方法。
【請求項13】
入力クロック信号として、高速クロック信号と、前記高速クロック信号より周波数が低い低速クロック信号との一方が選択的に入力され、当該入力クロック信号を用いて、所定の時間を示す出力信号を生成する集積回路であって、
前記入力クロック信号を用いてカウント値をカウントするカウンタと、
前記入力クロック信号が前記高速クロック信号である場合、基準値として第1設定値を選択し、前記入力クロック信号が前記低速クロック信号である場合、前記基準値として第2設定値を選択し、前記入力クロック信号が、前記高速クロック信号及び前記低速クロック信号の一方である変更前クロック信号から、他方である変更後クロック信号へ変更されてから、次に前記出力信号が変化するまでの変更期間において、前記基準値として第3設定値を選択する選択部と、
前記カウント値が前記基準値に一致した際に変化する前記出力信号を生成する比較部と、
前記入力クロック信号が、前記変更前クロック信号から前記変更後クロック信号へ変更された場合に、現在のカウント値より大きい値を前記第3設定値として演算する第3設定値演算部とを備える
集積回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−227824(P2012−227824A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−95203(P2011−95203)
【出願日】平成23年4月21日(2011.4.21)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】