説明

計時装置

【課題】短い時間間隔を計測する。
【解決手段】計時装置は、所定の時間間隔でカウント値を更新するカウンタと、入力信号に応じて、カウンタのカウント値を取りこむキャプチャ回路と、記憶指示信号に応じて、キャプチャ回路に取りこまれたカウント値を記憶する記憶回路と、入力信号に応じて、記憶指示信号を生成する指示信号生成回路と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計時装置に関する。
【背景技術】
【0002】
例えば、PWM(Pulse Width Modulation)制御を行う場合、PWM信号におけるパルスの発生間隔を計測し、計測された時間に応じて負荷を駆動することがある。このような時間を計測するために、マイコン等に内蔵されたフリーランカウンタを用いることが一般的である(例えば、特許文献1参照)。
【0003】
図4は、時間の計測機能を有するマイコンの一般的な構成例を示す図である。マイコン100では、クロック生成回路110から出力される所定周波数のクロック信号CLKに基づいてカウントアップまたはカウントダウンするフリーランカウンタ111が動作している。そして、マイコン100の外部から入力される信号INTがLレベルからHレベルに変化すると、割り込み制御回路112はキャプチャレジスタ113にカウンタ値の取り込み指示を出力するとともに、CPU114に割り込み信号を出力する。キャプチャレジスタ113は割込制御回路112からの指示に応じてフリーランカウンタ111のカウンタ値を取りこむ。また、CPU114は、割り込み制御回路112からの割り込み信号に応じて割り込み処理を実行し、キャプチャレジスタ113に取りこまれたカウンタ値をメモリ115に格納する。以後同様に、信号INTがLレベルからHレベルに変化すると、同様にフリーランカウンタ111のカウント値がキャプチャレジスタ113に取りこまれ、メモリ115に格納される。そして、CPU114は、メモリ115に格納された複数のカウント値の差を取ることにより、信号INTにおけるパルスの発生間隔を計測することができる。
【特許文献1】特開2007−34672号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
このように、キャプチャレジスタ113に取りこまれたカウント値は、CPU114の割り込み処理によってメモリ115に格納されることとなる。したがって、キャプチャレジスタ113にカウント値が取りこまれてからメモリ115に格納されるまでに、プログラムカウンタの値をレジスタに退避する処理や、割り込み先のアドレスをプログラムカウンタにセットする処理、メモリ115に書き込みアドレスを出力するとともに書き込み信号を出力する処理等が必要となる。そのため、信号INTのパルスの発生間隔がCPU114の割り込み処理に要する時間より短いと、キャプチャレジスタ113に取りこまれたカウント値がメモリ115に格納される前に、キャプチャレジスタ113の値が更新されてしまい、パルスの発生間隔を計測することができないこととなる。
【0005】
本発明は上記課題を鑑みてなされたものであり、短い時間間隔を計測可能な計時装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の計時装置は、所定の時間間隔でカウント値を更新するカウンタと、入力信号に応じて、前記カウンタの前記カウント値を取りこむキャプチャ回路と、記憶指示信号に応じて、前記キャプチャ回路に取りこまれた前記カウント値を記憶する記憶回路と、前記入力信号に応じて、前記記憶指示信号を生成する指示信号生成回路と、を備えることとする。
【発明の効果】
【0007】
短い時間間隔を計測可能な計時装置を提供することができる。
【発明を実施するための最良の形態】
【0008】
==回路構成==
図1は、本発明に係る計時装置の一実施形態であるマイコンの構成を示す図である。マイコン10は、CPU20、クロック生成回路21、フリーランカウンタ22、キャプチャレジスタ23、メモリ24、及び制御回路25を含んで構成されている。
【0009】
CPU20は、マイコン10を統括制御するプロセッサであり、メモリ24に記憶されたプログラムを実行することにより、様々な機能を実現する。クロック生成回路21は、CPU20の動作クロック等として用いられる所定周波数のクロック信号CLKを生成する。
【0010】
フリーランカウンタ22は、クロック生成回路21から出力されるクロック信号CLKに基づいてカウント値をカウントアップまたはカウントダウンし続けるカウンタである。なお、フリーランカウンタ22は、カウント値がオーバフローまたはアンダフローした場合はカウント値を最小値または最大値にリセットすることにより、カウント値をサイクリックに変化させる。なお、本実施形態では、CPU20の動作クロックであるクロック信号CLKに基づいてフリーランカウンタ22のカウント値が更新されることとしたが、CPU20の動作クロックとは異なるクロック信号に基づいてフリーランカウンタ22のカウント値が更新されることとしてもよい。
【0011】
キャプチャレジスタ23(キャプチャ回路)は、制御回路25からの取り込み指示信号CPTに応じて、フリーランカウンタ22のカウント値を取りこんで保持するレジスタである。本実施形態では、取り込み指示信号CPTがLレベルからHレベルに変化すると、フリーランカウンタ22のカウント値がキャプチャレジスタ23に取りこまれる。
【0012】
メモリ24は、RAM(Random Access Memory)やSFR(Special Function Register)等の書き込み可能な記憶回路であり、制御回路25から出力されるアドレスADR及び記憶指示信号WRTに応じて、キャプチャレジスタ23に保持されているカウンタ値をアドレスADRで指定されたアドレスに格納する。本実施形態では、制御回路25から出力される記憶指示信号WRTがLレベルからHレベルに変化すると、キャプチャレジスタ23に保持されているカウント値がメモリ24に格納される。なお、CPU20は、バス等を介してメモリ20にアクセス可能である。
【0013】
制御回路25(指示信号生成回路)は、マイコン10の外部から入力される信号INTに基づいて、キャプチャレジスタ23に対する取り込み指示信号CPT、メモリ24に対する記憶指示信号WRT及びアドレスADRを出力する。本実施形態では、信号INTがLレベルからHレベルに変化すると、制御回路25は、取り込み指示信号CPTをLレベルからHレベルに変化させ、記憶指示信号WRTをLレベルからHレベルに変化させる。また、制御回路25は、信号INTがLレベルからHレベルに変化すると、複数のカウント値が異なる領域に格納されるよう、アドレスADRを更新する。
【0014】
例えば、信号INTがPWM(Pulse Width Modulation)信号であるとすると、PWM信号におけるパルスの立ち上がりのタイミングごとに、フリーランカウンタ22のカウント値がキャプチャレジスタ23に取りこまれ、さらに、メモリ24に格納される。そして、CPU20は、メモリ24に格納された複数のカウンタ値に基づいてパルスの発生間隔を計測し、モータ等の負荷をパルスの発生間隔に応じて制御する。
【0015】
図2は、制御回路25の構成例を示す図である。制御回路25は、D型フリップフロップ(D−FF)30〜32、NOT回路33、AND回路34,35、及びアドレス生成回路36を含んで構成されている。
【0016】
D−FF30は、データ入力端子Dに信号INTが入力され、クロック入力端子Cにクロック信号CLKが入力されている。D−FF31は、データ入力端子DにD−FF30のデータ出力端子Qから出力される信号Aが入力され、クロック入力端子Cにクロック信号CLKをNOT回路33で反転した反転クロック信号/CLKが入力されている。D−FF32は、データ入力端子DにD−FF31のデータ出力端子Qから出力される信号Bが入力され、クロック入力端子Cにクロック信号CLKが入力されている。AND回路34は、D−FF30のデータ出力端子Qから出力される信号Aと、D−FF31の反転データ出力端子/Qから出力される信号Cとの論理積を、取り込み指示信号CPTとして出力する。AND回路35は、D−FF31のデータ出力端子Qから出力される信号Bと、D−FF32の反転データ出力端子/Qから出力される信号Dとの論理積を、記憶指示信号WRTとして出力する。アドレス生成回路36には、AND回路35から出力される記憶指示信号WRTが入力されており、記憶指示信号WRTがHレベルからLレベルに変化すると、アドレスADRが更新される。
【0017】
==動作==
図3は、制御回路25の動作の一例を示すタイミングチャートである。まず、時刻T1に、信号INTがHレベルに変化したとする。時刻T1の次にクロック信号CLKがHレベルに変化する時刻T2のタイミングで、D−FF30のデータ出力端子Qから出力される信号AがHレベルに変化する。また、時刻T2のタイミングでは、D−FF31のデータ出力端子Qから出力される信号BがLレベル、反転データ出力端子/Qから出力される信号CがHレベルとなっている。したがって、時刻T2に信号AがHレベルになると、AND回路34から出力される取り込み指示信号CPTがHレベルに変化する。そして、取り込み指示信号CPTがHレベルに変化すると、フリーランカウンタ22のカウント値がキャプチャレジスタ23に取りこまれる。
【0018】
時刻T2の次にクロック信号CLKがLレベルに変化する時刻T3のタイミングで、反転クロック信号/CLKがHレベルに変化する。そして、反転クロック信号/CLKがHレベルに変化すると、D−FF31のデータ出力端子Qから出力される信号BがHレベルに変化し、反転データ出力端子/Qから出力される信号CがLレベルに変化する。さらに、信号CがLレベルに変化すると、AND回路34から出力される取り込み指示信号CPTがLレベルに変化する。また、時刻T3のタイミングでは、D−FF32の反転データ出力端子/Qから出力される信号DがHレベルとなっている。したがって、時刻T3に信号BがHレベルになると、AND回路35から出力される記憶指示信号WRTがHレベルに変化する。そして、記憶指示信号WRTがHレベルに変化すると、キャプチャレジスタ23に保持されているカウント値が、メモリ24のアドレスADRで指定される領域に格納される。
【0019】
時刻T3の次にクロック信号CLKがHレベルに変化する時刻T4のタイミングで、D−FF32の反転データ出力端子/Qから出力される信号DがLレベルに変化する。そして、信号DがLレベルに変化すると、AND回路35から出力される記憶指示信号WRTがLレベルに変化する。記憶指示信号WRTがLレベルに変化すると、アドレス生成回路36は、メモリ24に出力するアドレスADRを、次にカウント値を格納するアドレスに更新する。
【0020】
このように、マイコン10では、時刻T1に信号INTがHレベルに変化すると、次にクロック信号CLKがHレベルに変化する時刻T2に、フリーランカウンタ22のカウント値がキャプチャレジスタ23に取りこまれる。そして、次にクロック信号CLKがLレベルに変化する時刻T3に、キャプチャレジスタ23に保持されているカウント値がメモリ24に格納される。すなわち、キャプチャレジスタ23に取りこまれたカウント値は、クロック信号CLKの半周期の時間後にメモリ24に格納されることとなり、信号INTにおけるパルスの発生間隔が短い場合であっても、キャプチャレジスタ23に取りこまれたカウント値がメモリ24に格納される前に更新されてしまうことがない。
【0021】
以上、本実施形態について説明した。前述したように、マイコン10では、信号INTに応じてフリーランカウンタ22のカウント値がキャプチャレジスタ23に取りこまれるとともに、信号INTに応じて記憶指示信号WRTが生成されることにより、キャプチャレジスタ23に保持されているカウント値がメモリ24に格納される。つまり、キャプチャレジスタ23に取りこまれたカウント値が、CPU20の割り込み処理を介することなくメモリ24に迅速に格納されることとなり、短い時間間隔の計測が可能となる。
【0022】
そして、マイコン10では、信号INTに応じて、クロック信号CLKに同期した取り込み指示信号CPTが出力されるとともに、取り込み指示信号CPTより後のタイミングで、クロック信号CLKに同期した記憶指示信号WRTが出力される。すなわち、フリーランカウンタ22からキャプチャレジスタ23へのカウンタ値の取り込みと、キャプチャレジスタ23に保持されているカウント値のメモリ24への格納とをクロック信号CLKに同期させて行うことが可能となる。
【0023】
さらに、マイコン10では、信号INTに応じて、メモリ24に対する記憶指示信号WRTがHレベルに変化するとともに、アドレス生成回路36においてアドレスADRが更新される。したがって、メモリ24にカウント値が格納される際に、以前にカウント値が格納された領域とは異なる領域にカウント値を格納することができる。
【0024】
また、マイコン10では、信号INTがHレベルに変化した次にクロック信号CLKがHレベルに変化するタイミング(例えば時刻T2)で取り込み指示信号CPTがHレベルとなり、クロック信号CLKが次にLレベルに変化するタイミング(例えば時刻T3)で記憶指示信号WRTがHレベルとなる。これにより、キャプチャレジスタ23に取りこまれたカウント値はクロック信号CLKの半周期後にメモリ24に格納されることとなり、信号INTにおけるパルスの発生間隔が短い場合であっても、キャプチャレジスタ23に取りこまれたカウンタ値をメモリ24に格納することが可能となり、短い時間間隔を計測することができる。
【0025】
さらに、マイコン10では、記憶指示信号WRTがHレベルに変化した次にクロック信号CLKがLレベルに変化するタイミング(例えば時刻T4)で記憶指示信号WRTがLレベルとなり、記憶指示信号WRTがLレベルになることによって、アドレス生成回路36においてアドレスADRが更新される。すなわち、カウント値がメモリ24に格納されてからクロック信号CLKの半周期後にアドレスADRが更新されるため、短い時間間隔を計測することが可能となる。
【0026】
なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【0027】
【図1】本発明に係る計時装置の一実施形態であるマイコンの構成を示す図である。
【図2】制御回路の構成例を示す図である。
【図3】制御回路の動作の一例を示すタイミングチャートである。
【図4】時間の計測機能を有するマイコンの一般的な構成例を示す図である。
【符号の説明】
【0028】
10 マイコン
20 CPU
21 クロック生成回路
22 フリーランカウンタ
23 キャプチャレジスタ
24 メモリ
25 制御回路
30〜32 D型フリップフロップ
33 NOT回路
34,35 AND回路
36 アドレス生成回路

【特許請求の範囲】
【請求項1】
所定の時間間隔でカウント値を更新するカウンタと、
入力信号に応じて、前記カウンタの前記カウント値を取りこむキャプチャ回路と、
記憶指示信号に応じて、前記キャプチャ回路に取りこまれた前記カウント値を記憶する記憶回路と、
前記入力信号に応じて、前記記憶指示信号を生成する指示信号生成回路と、
を備えることを特徴とする計時装置。
【請求項2】
請求項1に記載の計時装置であって、
前記指示信号生成回路は、
前記入力信号に応じて、所定周波数のクロック信号と同期させた取り込み指示信号を生成するとともに、前記取り込み指示信号より後のタイミングで、前記クロック信号と同期させた前記記憶指示信号を生成し、
前記キャプチャ回路は、
前記取り込み指示信号に応じて、前記カウンタの前記カウント値を取りこむこと、
を特徴とする計時装置。
【請求項3】
請求項1又は2に記載の計時装置であって、
前記指示信号生成回路は、
前記入力信号に応じて、前記記憶指示信号を生成するとともに、前記記憶回路における前記カウント値が記憶されるアドレスを更新すること、
を特徴とする計時装置。
【請求項4】
請求項2に記載の計時装置であって、
前記指示信号生成回路は、
前記入力信号が一方の論理レベルから他方の論理レベルに変化した次に、前記クロック信号が一方の論理レベルから他方の論理レベルに変化するタイミングで前記取り込み指示信号を生成し、前記クロック信号が次に一方の論理レベルに変化するタイミングで前記記憶指示信号を生成すること、
を特徴とする計時装置。
【請求項5】
請求項4に記載の計時装置であって、
前記指示信号生成回路は、
前記クロック信号が前記一方の論理レベルに変化する前記タイミングで、前記記憶指示信号を生成し、前記クロック信号が次に前記他方の論理レベルに変化するタイミングで、前記記憶回路における前記カウント値が記憶されるアドレスを更新すること、
を特徴とする計時装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−241460(P2008−241460A)
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願番号】特願2007−82487(P2007−82487)
【出願日】平成19年3月27日(2007.3.27)
【出願人】(000001889)三洋電機株式会社 (18,308)
【出願人】(506227884)三洋半導体株式会社 (1,155)
【Fターム(参考)】