(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】周波数計測装置、マイクロコントローラー及び電子機器
(51)【国際特許分類】
G01R 23/10 20060101AFI20240409BHJP
【FI】
G01R23/10 A
(21)【出願番号】P 2020108578
(22)【出願日】2020-06-24
【審査請求日】2023-04-04
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100179475
【氏名又は名称】仲井 智至
(74)【代理人】
【識別番号】100216253
【氏名又は名称】松岡 宏紀
(74)【代理人】
【識別番号】100225901
【氏名又は名称】今村 真之
(72)【発明者】
【氏名】橋本 敬介
【審査官】島田 保
(56)【参考文献】
【文献】特開平10-170564(JP,A)
【文献】特開2000-088899(JP,A)
【文献】実開昭59-162666(JP,U)
【文献】特開2005-009916(JP,A)
【文献】米国特許出願公開第2016/0043727(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01R 23/00-23/20
(57)【特許請求の範囲】
【請求項1】
入力信号の周波数を計測する周波数計測装置であって、
基準クロック信号に基づいて、前記入力信号の周波数の計測期間を設定する計測期間設定回路と、
前記計測期間中の前記入力信号に基づく期間の前記基準クロック信号のパルス数をカウントする第1のカウンター回路と、
前記計測期間中の前記入力信号のパルス数をカウントする第2のカウンター回路と、
前記基準クロック信号の周波数をf
R、前記計測期間中の前記基準クロック信号のパルス数をn
R、前記第2のカウンター回路のカウント値をn
IN、前記第1のカウンター回路のカウント値をn
Eとして、第1の周波数f
1を、f
1=f
R×n
IN/n
Rによって計算する第1の周波数計算回路と、
第2の周波数f
2を、f
2=f
R×n
IN/n
Eによって計算する第2の周波数計算回路と、
前記入力信号の周波数として第1の周波数f
1又は第2の周波数f
2を選択する周波数選択回路と、
前記第2のカウンター回路のカウント値に基づいて、計測誤差を計算する計測誤差計算回路と、
を有し、
前記周波数選択回路は、前記計測誤差に基づいて、第1の周波数f
1又は第2の周波数f
2を前記入力信号の周波数として選択する、周波数計測装置。
【請求項2】
前記計測誤差は±1/n
INである、請求項1に記載の周波数計測装置。
【請求項3】
入力信号の周波数を計測する周波数計測装置であって、
基準クロック信号に基づいて、前記入力信号の周波数の計測期間を設定する計測期間設定回路と、
前記計測期間中の前記入力信号に基づく期間の前記基準クロック信号のパルス数をカウントする第1のカウンター回路と、
前記計測期間中の前記入力信号のパルス数をカウントする第2のカウンター回路と、
前記基準クロック信号の周波数をf
R、前記計測期間中の前記基準クロック信号のパルス数をn
R、前記第2のカウンター回路のカウント値をn
IN、前記第1のカウンター回路のカウント値をn
Eとして、第1の周波数f
1を、f
1=f
R×n
IN/n
Rによって計算する第1の周波数計算回路と、
第2の周波数f
2を、f
2=f
R×n
IN/n
Eによって計算する第2の周波数計算回路と、
前記入力信号の周波数として第1の周波数f
1又は第2の周波数f
2を選択する周波数選択回路と、
を有し、
前記第1のカウンター回路は、基準カウント値保持回路を有し、
前記基準カウント値保持回路は、前記計測期間において、前記入力信号を前記基準クロック信号でサンプリングして前記入力信号の立ち上がりエッジ又は立ち下がりエッジを検出し、前記計測期間の開始時点から前記入力信号の前記立ち上がりエッジ又は前記立ち下がりエッジの検出時点までの前記基準クロック信号のパルス数を保持する、
周波数計測装置。
【請求項4】
前記基準クロック信号を生成する基準クロック信号生成回路を有する、請求項1乃至3のいずれか一項に記載の周波数計測装置。
【請求項5】
前記第1の周波数計算回路、前記第2の周波数計算回路、及び前記周波数選択回路の処理は、CPUによりソフトウェアで行われる、請求項1乃至4のいずれか一項に記載の周波数計測装置。
【請求項6】
前記第1の周波数計算回路、前記第2の周波数計算回路、及び前記周波数選択回路の処理は、ロジック回路により行われる、請求項1乃至4のいずれか一項に記載の周波数計測装置。
【請求項7】
請求項1乃至6のいずれか一項に記載の周波数計測装置を有する、マイクロコントローラー。
【請求項8】
請求項1乃至6のいずれか一項に記載の周波数計測装置又は請求項7に記載のマイクロコントローラーを有する、電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、周波数計測装置、マイクロコントローラー及び電子機器に関する。
【背景技術】
【0002】
基準となるクロック信号を用いて入力信号の周波数を計測する方式として、ダイレクトカウント方式とレシプロカルカウント方式が知られている。ダイレクトカウント方式は、クロック信号の所定周期に相当する計測期間における入力信号のパルス数をカウントして入力信号の周波数を直接的に計測する方式である。ダイレクトカウント方式では、入力信号の周波数が高いほど最大計測誤差が小さくなるという利点があるが、換言すれば入力信号の周波数が低いほど最大計測誤差が大きくなるという欠点がある。計測期間を長くすることで入力信号の周波数が低い場合でも計測誤差を小さくすることができるが、計測に要する時間が長くなってしまう。
【0003】
一方、レシプロカルカウント方式は、入力信号の所定周期に相当する計測期間におけるクロック信号のパルス数をカウントして入力信号の1周期の時間を計測し、その逆数をとることで入力信号の周波数を間接的に計測する方式である。レシプロカルカウント方式では、入力信号の周波数が低いほど最大計測誤差が小さくなるという利点があるが、換言すれば入力信号の周波数が高いほど最大計測誤差が大きくなるという欠点がある。計測期間を長くすることで入力信号の周波数が高い場合でも計測誤差を小さくすることができるが、計測に要する時間が長くなってしまう。
【0004】
したがって、ダイレクトカウント方式とレシプロカルカウント方式のいずれの場合も、入力信号の周波数の計測可能範囲が制限されるという問題がある。このような問題に対して、特許文献1には、入力信号の周波数によってダイレクトカウント方式とレシプロカルカウント方式を切り替えることで、周波数の計測範囲を広くすることが可能な周波数測定装置が記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した特許文献1に記載の周波数測定装置では、入力信号の周波数によって2種類のクロック信号を切り替える必要がある。そのため、測定装置の回路が複雑になってしまい、装置のコストアップを招くという問題がある。
【課題を解決するための手段】
【0007】
本発明に係る周波数計測装置の一態様は、
入力信号の周波数を計測する周波数計測装置であって、
基準クロック信号に基づいて、前記入力信号の周波数の計測期間を設定する計測期間設定回路と、
前記計測期間中の前記入力信号に基づく期間の前記基準クロック信号のパルス数をカウントする第1のカウンター回路と、
前記計測期間中の前記入力信号のパルス数をカウントする第2のカウンター回路と、
前記基準クロック信号の周波数をfR、前記計測期間中の前記基準クロック信号のパルス数をnR、前記第2のカウンター回路のカウント値をnIN、前記第1のカウンター回路のカウント値をnEとして、第1の周波数f1を、f1=fR×nIN/nRによって計算する第1の周波数計算回路と、
第2の周波数f2を、f2=fR×nIN/nEによって計算する第2の周波数計算回路と、
前記入力信号の周波数として第1の周波数f1又は第2の周波数f2を選択する周波数選択回路と、
を有する。
【0008】
本発明に係るマイクロコントローラーの一態様は、
前記周波数計測装置の一態様を有する。
【0009】
本発明に係る電子機器の一態様は、
前記周波数計測装置の一態様又は前記マイクロコントローラーの一態様を有する。
【図面の簡単な説明】
【0010】
【
図1】本実施形態の周波数計測装置の構成を示す図。
【
図2】第1のカウンター回路の具体的な構成例を示す図。
【
図3】周波数計測装置の動作手順の一例を示すフローチャート図。
【
図4】周波数計測装置における各種信号の波形の一例を示すタイミングチャート図。
【
図5】本実施形態のマイクロコントローラーの構成を示す図。
【
図6】マイクロコントローラーの動作手順の一例を示すフローチャート図。
【
図7】マイクロコントローラーにおける各種信号の波形の一例を示すタイミングチャート図。
【
図8】本実施形態の電子機器の構成例を示す機能ブロック図。
【
図9】本実施形態の電子機器の他の構成例を示す機能ブロック図。
【
図10】電子機器の一例としてのデジタルマルチメーターの構成例を示す図。
【発明を実施するための形態】
【0011】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【0012】
1.周波数計測装置
図1は、本実施形態の周波数計測装置の構成を示す図である。
図1に示すように、本実施形態の周波数計測装置1は、計測期間設定回路10と、第1のカウンター回路20と、第2のカウンター回路30と、第1の周波数計算回路40と、第2の周波数計算回路50と、周波数選択回路60と、を有し、入力信号INの周波数を計測する。周波数計測装置1は、ASIC(Application Specific Integrated Circuit)等の1チップの集積回路で実現されてもよいし、複数チップの集積回路で実現されてもよいし、ディスクリート部品を含んでもよい。
【0013】
計測期間設定回路10は、基準クロック信号CKに基づいて、入力信号INの周波数の計測期間Tを設定し、計測期間Tを示す計測期間信号TSを出力する。本実施形態では、計測期間T中の基準クロック信号CKのパルス数nRがあらかじめ決められている。そして、計測期間設定回路10は、基準クロック信号CKの所定の立ち上がりエッジで計測期間信号TSをローレベルからハイレベルに遷移させ、基準クロック信号CKのパルス数がnRと一致すると、基準クロック信号CKの次の立ち上がりエッジで計測期間信号TSをハイレベルからローレベルに遷移させる。計測期間Tは、計測期間信号TSがハイレベルの期間である。
【0014】
周波数計測装置1は、基準クロック信号CKを生成する基準クロック信号生成回路70を有してもよい。基準クロック信号CKは、入力信号INの周波数を計測するための基準となるクロック信号である。そのため、本実施形態では、基準クロック信号CKは、周波数精度の高いクロック信号であり、例えば、基準クロック信号生成回路70が水晶振動子を発振させて基準クロック信号CKを生成してもよい。また、本実施形態では、基準クロック信号CKは、例えば32.768kHz等の1MHz以下の比較的低い周波数のクロック信号である。以下では、基準クロック信号CKの周波数をfRとする。計測期間Tは、基準クロック信号CKの周波数fRと計測期間T中の基準クロック信号CKのパルス数nRとを用いて式(1)で表される。すなわち、計測期間Tは、基準クロック信号CKの1周期のnR倍の長さの期間である。
【0015】
【0016】
第1のカウンター回路20は、計測期間T中の、入力信号INに基づく期間T’中における、基準クロック信号CKのパルス数をカウントする。例えば、期間T’は、計測期間T中の入力信号INの最初の立ち上がりエッジと最後の立ち上がりエッジとの間の期間であってもよいし、計測期間T中の入力信号INの最初の立ち下がりエッジと最後の立ち下がりエッジとの間の期間であってもよい。以下では、第1のカウンター回路20のカウント値CN1、すなわち、期間T’の基準クロック信号CKのパルス数をnEとする。
【0017】
第2のカウンター回路30は、計測期間T中の入力信号INのパルス数をカウントし。以下では、第2のカウンター回路30のカウント値CN2、すなわち、計測期間T中の入力信号INのパルス数をnINとする。
【0018】
第1の周波数計算回路40は、第1の周波数f1を式(2)によって計算する。第1の周波数f1は、基準クロック信号CKの1周期のnR倍の長さの計測期間T=nR/fRにおける入力信号INのパルス数nINをカウントして入力信号INの周波数を計測する周波数計測方式によって得られる周波数である。計測期間Tは基準クロック信号CKのnR周期に相当し、前述の通りnRはあらかじめ決められた一定の値であるため、この周波数計測方式は、前述のダイレクトカウント方式と同じである。
【0019】
【0020】
第2の周波数計算回路50は、第2の周波数f2を式(3)によって計算する。第2の周波数f2は、計測期間T中の入力信号INのパルス数をnIN回カウントする期間T’における基準クロック信号CKのパルス数nEをカウントして入力信号INの1周期の時間を計測し、その逆数をとることで入力信号INの周波数を計測する周期計測方式によって得られる周波数である。この周期計測方式は、入力信号INの周期を計測する点では前述のレシプロカルカウント方式と同じであるが、前述のレシプロカルカウント方式では、入力信号INの1周期の時間を計測しているのに対し、周期計測方式では入力信号INの1周期に限定されない時間を計測する。即ち入力信号INのパルス数nINは、入力信号INの周波数によって変わるため、前述のレシプロカルカウント方式と異なる。
【0021】
【0022】
周波数選択回路60は、入力信号INの周波数fとして第1の周波数f1又は第2の周波数f2を選択する。
【0023】
周波数計測装置1は、計測誤差計算回路80を有してもよい。計測誤差計算回路80は、第2のカウンター回路30のカウント値CN2、すなわち、計測期間T中の入力信号INのパルス数nINに基づいて、計測誤差Errを計算する。本実施形態では、計測誤差Errは、第1の周波数f1の最大誤差Err1であり、式(4)で計算される。
【0024】
【0025】
本実施形態では、周波数選択回路60は、計測誤差計算回路80が計算する計測誤差Errに基づいて、第1の周波数f1又は第2の周波数f2を入力信号INの周波数fとして選択する。具体的には、周波数選択回路60は、計測誤差Errの絶対値が所定の閾値VTE以下であれば第1の周波数f1を選択し、計測誤差Errの絶対値が閾値VTEよりも大きければ第2の周波数f2を選択する。
【0026】
ここで、第2の周波数f2の最大誤差Err2は、式(5)で表される。
【0027】
【0028】
ここで、計測期間T中の基準クロック信号CKのパルス数nRがあらかじめ決められているため、第2の周波数f2の最大誤差Err2は入力信号INの周波数によらず一定値である。したがって、計測誤差Errの絶対値が最大誤差Err2の絶対値よりも小さい場合は第1の周波数f1の方が第2の周波数f2よりも精度が高く、計測誤差Errの絶対値が最大誤差Err2の絶対値よりも大きい場合は第2の周波数f2の方が第1の周波数f1よりも精度が高くなる。そのため、例えば、閾値VTEを最大誤差Err2の絶対値とすることで、周波数選択回路60は、第1の周波数f1と第2の周波数f2のうちの精度が高い方を選択して周波数fとすることができる。ここで閾値VTEは最大誤差Err2の絶対値以外でもよい。例えば簡略の為、Err2に近似した定数であってもよい。
【0029】
なお、第1の周波数計算回路40、第2の周波数計算回路50、及び周波数選択回路60の処理は、ロジック回路によりハードウェアで行われてもよい。このようにすれば、周波数計測装置1は、第1の周波数f1の計算、第2の周波数f2の計算及び第1の周波数f1又は第2の周波数f2の選択を高速に行うことができる。あるいは、第1の周波数計算回路40、第2の周波数計算回路50、及び周波数選択回路60の処理は、CPU(Central Processing Unit)によりソフトウェアで行われてもよい。このようにすれば、周波数計測装置1は、第1の周波数f1の計算、第2の周波数f2の計算及び第1の周波数f1又は第2の周波数f2の選択の方式を容易に変更することができる。
【0030】
図2は、第1のカウンター回路20の具体的な構成例を示す図である。
図2に示すように、第1のカウンター回路20は、基準クロックカウント回路21と、基準カウント値保持回路22と、を有する。
【0031】
基準クロックカウント回路21は、計測期間信号TSによって示される計測期間Tにおいて、基準クロック信号CKのパルス数をカウントし、カウント値CTを出力する。
【0032】
基準カウント値保持回路22は、計測期間Tにおいて、入力信号INを基準クロック信号CKでサンプリングして入力信号INの立ち上がりエッジ又は立ち下がりエッジを検出し、計測期間Tの開始時点から入力信号INの立ち上がりエッジ又は立ち下がりエッジの検出時点までの基準クロック信号CKのパルス数であるカウント値CTを保持する。
【0033】
本実施形態では、基準カウント値保持回路22は、入力信号エッジ検出回路23と、基準クロック初回カウント値保持回路24と、基準クロック更新カウント値保持回路25と、を有する。
【0034】
入力信号エッジ検出回路23は、計測期間Tにおいて、入力信号INを基準クロック信号CKでサンプリングして入力信号INの立ち上がりエッジ又は立ち下がりエッジを検出し、エッジ検出信号EDを出力する。本実施形態では、エッジ検出信号EDは、入力信号INの立ち上がりエッジ又は立ち下がりエッジの検出時点でローレベルからハイレベルに遷移し、基準クロック信号CKの1周期後にハイレベルからローレベルに遷移する信号である。
【0035】
基準クロック初回カウント値保持回路24は、計測期間Tにおいて、エッジ検出信号EDの最初のハイレベルの期間のカウント値CTを、カウント値CN1_1として保持する。
【0036】
基準クロック更新カウント値保持回路25は、計測期間Tにおいて、エッジ検出信号EDの2回目以降のハイレベルの期間のカウント値CTを、カウント値CN1_2として保持する。カウント値CN1_2は、エッジ検出信号EDがハイレベルとなる毎に、最新のカウント値CTに更新される。
【0037】
したがって、計測期間Tの終了時点におけるカウント値CN1_1をnE1、カウント値CN1_2をnE2とすると、nE2とnE1との差分は、計測期間T中の、入力信号INの最初の立ち上がりエッジ又は立ち下がりエッジから最後の立ち上がりエッジ又は立ち下がりエッジまでの期間T’における基準クロック信号CKのパルス数nEに相当する。したがって、前出の式(3)にnE=nE2-nE1を代入し、式(6)が得られる。第2の周波数計算回路50は、第2の周波数f2を式(6)によって計算してもよい。
【0038】
【0039】
なお、カウント値CN1_1及びカウント値CN1_2が
図1のカウント値CN1に相当する。また、カウント値CN1_1が固定値であれば、基準クロック初回カウント値保持回路24は不要である。この場合は、カウント値CN1_2が
図1のカウント値CN1に相当する。
【0040】
図3は、周波数計測装置1の動作手順の一例を示すフローチャート図である。
図3に示すように、まず、基準クロック信号生成回路70が基準クロック信号CKを生成する(ステップS1)。
【0041】
次に、計測期間設定回路10が計測期間Tを設定し、計測期間Tを開始する(ステップS2)。
【0042】
次に、第1のカウンター回路20の基準クロックカウント回路21が、基準クロック信号CKのパルス数のカウントを開始する(ステップS3)。
【0043】
次に、第2のカウンター回路30が入力信号INのパルス数のカウントを開始する(ステップS4)。
【0044】
次に、第1のカウンター回路20の入力信号エッジ検出回路23が入力信号INの立ち上がりエッジを検出するまで待機する(ステップS5のN)。そして、入力信号エッジ検出回路23が入力信号INの立ち上がりエッジを検出した場合(ステップS5のY)、第1のカウンター回路20の基準クロック初回カウント値保持回路24が基準クロックカウント回路21のカウント値CTをカウント値CN1_1として保持する(ステップS6)。
【0045】
次に、計測期間Tが終了するまで(ステップS9のN)、入力信号エッジ検出回路23が入力信号INの次の立ち上がりエッジを検出する毎に(ステップS7のY)、第1のカウンター回路20の基準クロック更新カウント値保持回路25が基準クロックカウント回路21のカウント値CTをカウント値CN1_2として保持する(ステップS8)。
【0046】
そして、計測期間Tが終了すると(ステップS9のY)、第2のカウンター回路30のカウント値CN2をnINとして、基準クロック信号CKの周波数fRと計測期間T中の基準クロック信号CKのパルス数nRとを用いて、第1の周波数計算回路40が、式(2)により第1の周波数f1を計算する(ステップS10)。
【0047】
次に、カウント値CN1_1をnE1、カウント値CN1_2をnE2として、第2の周波数計算回路50が、式(6)により第2の周波数f2を計算する(ステップS11)。
【0048】
次に、計測誤差計算回路80が、式(4)により計測誤差Errを計算する(ステップS12)。
【0049】
最後に、計測誤差Errが閾値以下の場合は(ステップS13のY)、周波数選択回路60が入力信号INの周波数fとして第1の周波数f1を選択し(ステップS14)、計測誤差Errが閾値VTEよりも大きい場合は(ステップS13のN)、周波数選択回路60が入力信号INの周波数fとして第2の周波数f2を選択する(ステップS15)。
【0050】
図4は、周波数計測装置1における各種信号の波形の一例を示すタイミングチャート図である。
【0051】
図4の例では、まず、時刻t1において計測期間信号TSがローレベルからハイレベルに遷移し、計測期間Tが開始する。そして、計測期間Tにおいて、基準クロック信号CKの立ち上がりエッジ毎に、基準クロック信号CKのパルス数のカウント値CTが0から1ずつ増加する。
【0052】
時刻t2において、入力信号INがローレベルからハイレベルに遷移する。この入力信号INの立ち上がりエッジに同期して、カウント値CN2が0から1に変化する。また、時刻t3における基準クロック信号CKの立ち上がりエッジに同期して、エッジ検出信号EDがローレベルからハイレベルに遷移する。
【0053】
時刻t4において、エッジ検出信号EDがハイレベルであるので、基準クロック信号CKの立ち上がりエッジに同期して、カウント値CN1_1がカウント値CTである1に更新される。
【0054】
時刻t5において、入力信号INがローレベルからハイレベルに遷移する。この入力信号INの立ち上がりエッジに同期して、カウント値CN2が1から2に変化する。また、時刻t6における基準クロック信号CKの立ち上がりエッジに同期して、エッジ検出信号EDがローレベルからハイレベルに遷移する。
【0055】
時刻t7において、エッジ検出信号EDがハイレベルであるので、基準クロック信号CKの立ち上がりエッジに同期して、カウント値CN1_2がカウント値CTである5に更新される。
【0056】
以降は時刻t8まで、時刻t5~時刻t7と同様に、入力信号INがローレベルからハイレベルに遷移する毎に、入力信号INの立ち上がりエッジに同期して、カウント値CN2が1ずつ増加し、基準クロック信号CKの立ち上がりエッジに同期して、カウント値CN1_2がカウント値CTに更新される。
【0057】
時刻t8において、入力信号INがローレベルからハイレベルに遷移する。この入力信号INの立ち上がりエッジに同期して、カウント値CN2がnIN-1からnINに変化する。また、時刻t9における基準クロック信号CKの立ち上がりエッジに同期して、エッジ検出信号EDがローレベルからハイレベルに遷移する。
【0058】
時刻t10において、エッジ検出信号EDがハイレベルであるので、基準クロック信号CKの立ち上がりエッジに同期して、カウント値CN1_2がカウント値CTであるnR-3に更新される。
【0059】
時刻t11において、カウント値CTがnR-1であるので、計測期間信号TSがハイレベルからローレベルに遷移し、計測期間Tが終了する。時刻t11におけるカウント値CN2であるnINは計測期間Tにおける入力信号INのパルス数に相当する。また、時刻t11におけるカウント値CN1_1である1をnE1とし、時刻t11におけるカウント値CN1_2であるnR-3をnE2とすると、nE2-nE1は、時刻t2から時刻t8までの期間T’における基準クロック信号CKのパルス数に相当する。
【0060】
時刻t12において、基準クロック信号CKの立ち上がりエッジに同期して、第1の周波数f1が前出の式(2)によって算出され、第2の周波数f2が前出の式(6)によって算出され、計測誤差Errが前出の式(4)によって算出される。そして、計測誤差Errに基づいて、入力信号INの周波数fとして第1の周波数f1又は第2の周波数f2が選択される。
【0061】
以上に説明したように、本実施形態の周波数計測装置1では、計測期間設定回路10が、基準クロック信号CKに基づいて、入力信号INの周波数fの計測期間Tを設定し、第1のカウンター回路20が、計測期間T中の入力信号INに基づく期間T’の基準クロック信号CKのパルス数nEをカウントし、第2のカウンター回路30が、計測期間T中の入力信号INのパルス数nINをカウントする。また、基準クロック信号CKの周波数をfR、計測期間T中の基準クロック信号CKのパルス数をnRとして、第1の周波数計算回路40が前出の式(2)によって第1の周波数f1を計算し、第2の周波数計算回路50が前出の式(3)によって第2の周波数f2を計算し、周波数選択回路60が、入力信号INの周波数fとして第1の周波数f1又は第2の周波数f2を選択する。
【0062】
すなわち、本実施形態の周波数計測装置1は、周波数計測方式によって第1の周波数f1を計算し、周期計測方式によって第2の周波数f2を計算し、入力信号INの周波数として第1の周波数f1又は第2の周波数f2を選択することで、周波数の計測範囲を広くすることができる。また、本実施形態の周波数計測装置1によれば、周波数計測方式による第1の周波数f1の計算と周期計測方式による第2の周波数f2の計算に基準クロック信号CKが共通に用いられるので、複数のクロック信号を必要とせず、低コスト化が可能である。
【0063】
また、本実施形態の周波数計測装置1では、計測誤差計算回路80が、第2のカウンター回路30がカウントした計測期間T中の入力信号INのパルス数nINに基づいて、式(4)により計測誤差Errを計算し、周波数選択回路60が、計測誤差Errに基づいて、第1の周波数f1又は第2の周波数f2を入力信号INの周波数として選択する。具体的には、周波数選択回路60は、計測誤差Errの絶対値が所定の閾値VTE以下であれば第1の周波数f1を選択し、計測誤差Errの絶対値が閾値VTEよりも大きければ第2の周波数f2を選択する。したがって、本実施形態の周波数計測装置1によれば、閾値VTEを適切に設定することにより、周波数選択回路60は、第1の周波数f1と第2の周波数f2のうち計測誤差の小さい方を選択することができるので、入力信号INの周波数fを高い精度で計測することができる。
【0064】
2.マイクロコントローラー
図5は、本実施形態のマイクロコントローラーの構成を示す図である。
図5に示すように、本実施形態のマイクロコントローラー100は、基準クロック信号生成回路110と、第1タイマー120と、第2タイマー130と、メモリー140と、CPU(Central Processing Unit)150と、を有する。第1タイマー120、第2タイマー130、メモリー140及びCPU150は、バス160と接続されている。なお、マイクロコントローラー100は、これらの構成要素の一部を有していなくてもよいし、他の構成要素を有していてもよい。
【0065】
基準クロック信号生成回路110、第1タイマー120、第2タイマー130、メモリー140及びCPU150は、前述した周波数計測装置1として機能する。すなわち、マイクロコントローラー100は、周波数計測装置1を含む。
【0066】
マイクロコントローラー100は水晶振動子等の振動子200と接続されており、基準クロック信号生成回路110は、振動子200を発振させて周波数精度の高い基準クロック信号CKを生成する。
【0067】
第1タイマー120は、比較値レジスター121、カウンター122、コンパレーター123、出力制御部124、キャプチャーレジスター125及びエッジ検出部126を有する。
【0068】
比較値レジスター121には、前述の計測期間Tを決めるための値が設定される。例えば、前述した計測期間T中の基準クロック信号CKのパルス数nRに対して、比較値レジスター121にはn1=nR-1が設定される。
【0069】
カウンター122は、計測期間Tが開始すると値が0にリセットされて基準クロック信号CKのパルス数をカウントする。
【0070】
コンパレーター123は、カウンター122のカウント値CT1と比較値レジスター121の値とを比較し、両者が一致しているか否かを示す信号を出力する。
【0071】
出力制御部124は、計測期間Tを示す計測期間信号TSを生成し、マイクロコントローラー100の外部に出力する。出力制御部124は、基準クロック信号CKに同期して出力する計測期間信号TSをローレベルからハイレベルに遷移させて計測期間Tが開始し、コンパレーター123の出力信号がカウント値CT1と比較値レジスター121の値とが一致していることを示すと、基準クロック信号CKに同期して計測期間信号TSをハイレベルからローレベルに遷移させて計測期間Tを終了する。
【0072】
エッジ検出部126は、計測期間Tにおいて、マイクロコントローラー100の外部から入力される入力信号INを基準クロック信号CKでサンプリングして入力信号INの立ち上がりエッジ又は立ち下がりエッジを検出し、エッジ検出信号ED1を出力する。本実施形態では、エッジ検出信号ED1は、入力信号INの立ち上がりエッジ又は立ち下がりエッジの検出時点でローレベルからハイレベルに遷移し、基準クロック信号CKの1周期後にハイレベルからローレベルに遷移する信号である。
【0073】
キャプチャーレジスター125は、エッジ検出信号ED1がハイレベルのときに、基準クロック信号CKの立ち上がりエッジでカウント値CT1を取得し、キャプチャー値CP1として保持する。キャプチャーレジスター125は、計測期間Tにおいて、エッジ検出信号ED1の最初のハイレベルの期間に取得して保持したキャプチャー値CP1を、バス160を介してメモリー140に転送し、メモリー140に第1タイマー第1キャプチャー値141として記憶させる。また、キャプチャーレジスター125は、計測期間Tにおいて、エッジ検出信号ED1の2回目以降のハイレベルの期間に取得して保持したキャプチャー値CP1を、バス160を介してメモリー140に転送し、メモリー140に第1タイマー第2キャプチャー値142として記憶させる。第1タイマー第2キャプチャー値142は、エッジ検出信号ED1がハイレベルとなる毎に、最新のキャプチャー値CP1に更新される。
【0074】
第2タイマー130は、カウンター131、キャプチャーレジスター132及びエッジ検出部133を有する。
【0075】
カウンター131は、計測期間T中の入力信号INのパルス数をカウントする。
【0076】
エッジ検出部133は、マイクロコントローラー100の外部から入力される計測期間信号TSを入力信号INでサンプリングして計測期間信号TSの立ち上がりエッジ又は立ち下がりエッジを検出し、エッジ検出信号ED2を出力する。本実施形態では、エッジ検出信号ED2は、計測期間信号TSの立ち上がりエッジ又は立ち下がりエッジの検出時点でローレベルからハイレベルに遷移し、入力信号INの1周期後にハイレベルからローレベルに遷移する信号である。
【0077】
キャプチャーレジスター132は、エッジ検出信号ED2がハイレベルのときに、入力信号INの立ち上がりエッジでカウンター131のカウント値CT2を取得し、キャプチャー値CP2として保持する。キャプチャーレジスター132は、計測期間Tの開始後、エッジ検出信号ED2の最初のハイレベルの期間に取得して保持したキャプチャー値CP2を、バス160を介してメモリー140に転送し、メモリー140に第2タイマー第1キャプチャー値143として記憶させる。また、キャプチャーレジスター132は、エッジ検出信号ED2の2回目のハイレベルの期間に取得して保持したキャプチャー値CP2を、バス160を介してメモリー140に転送し、メモリー140に第2タイマー第2キャプチャー値144として記憶させる。
【0078】
CPU150は、メモリー140に記憶されている周波数計算プログラム145を実行し、ソフトウェア処理により入力信号INの周波数fを計算する。具体的には、まず、CPU150は、計測期間Tの終了後、バス160を介してメモリー140から、第1タイマー第1キャプチャー値141、第1タイマー第2キャプチャー値142、第2タイマー第1キャプチャー値143及び第2タイマー第2キャプチャー値144を読み出す。次に、第1タイマー第1キャプチャー値141をnE1、第1タイマー第2キャプチャー値142をnE2、第2タイマー第1キャプチャー値143をnT1、第2タイマー第2キャプチャー値144をnT2としたとき、CPU150は、nIN=nT2-nT1として、既知である基準クロック信号CKの周波数fRと計測期間T中の基準クロック信号CKのパルス数nRとを用いて、前出の式(2)によって第1の周波数f1を計算する。さらに、CPU150は、前出の式(6)によって第2の周波数f2を計算する。また、CPU150は、前出の式(4)によって計測誤差Errを計算する。そして、CPU150は、計測誤差Errに基づいて、第1の周波数f1又は第2の周波数f2を入力信号INの周波数fとして選択する。具体的には、CPU150は、計測誤差Errの絶対値が所定の閾値VTE以下であれば第1の周波数f1を選択し、計測誤差Errの絶対値が閾値VTEよりも大きければ第2の周波数f2を選択する。
【0079】
なお、基準クロック信号生成回路110は、
図1の基準クロック信号生成回路70として機能する。また、第1タイマー120及びメモリー140は、
図1の計測期間設定回路10及び第1のカウンター回路20として機能する。第2タイマー130及びメモリー140は、
図1の第2のカウンター回路30として機能する。すなわち、マイクロコントローラー100において、
図1の基準クロック信号生成回路70、計測期間設定回路10、第1のカウンター回路20及び第2のカウンター回路30の処理は、ロジック回路によりハードウェアで行われる。ただし、計測期間設定回路10、第1のカウンター回路20及び第2のカウンター回路30の処理の少なくとも一部が、CPU150によりソフトウェアで行われてもよい。
【0080】
また、CPU150及びメモリー140は、
図1の第1の周波数計算回路40、第2の周波数計算回路50、周波数選択回路60及び計測誤差計算回路80として機能する。すなわち、マイクロコントローラー100において、
図1の第1の周波数計算回路40、第2の周波数計算回路50、周波数選択回路60及び計測誤差計算回路80の処理は、CPU150によりソフトウェアで行われる。これにより、マイクロコントローラー100は、第1の周波数f
1の計算、第2の周波数f
2の計算及び第1の周波数f
1又は第2の周波数f
2の選択の方式を容易に変更することができる。ただし、第1の周波数計算回路40、第2の周波数計算回路50、周波数選択回路60及び計測誤差計算回路80の処理の少なくとも一部が、ロジック回路によりハードウェアで行われてもよい。このようにすれば、周波数計測装置1は、第1の周波数f
1の計算、第2の周波数f
2の計算及び第1の周波数f
1又は第2の周波数f
2の選択の少なくとも一部を高速に行うことができる。
【0081】
図6は、マイクロコントローラー100の動作手順の一例を示すフローチャート図である。
図6に示すように、まず、基準クロック信号生成回路110が基準クロック信号CKを生成する(ステップS101)。
【0082】
次に、第1タイマー120の出力制御部124が計測期間信号TSを立ち上げ、計測期間Tを開始する(ステップS102)。
【0083】
次に、第1タイマー120のカウンター122が基準クロック信号CKのパルス数のカウントを開始する(ステップS103)。
【0084】
次に、第2タイマー130のカウンター131が入力信号INのパルス数のカウントを開始する(ステップS104)。
【0085】
次に、第2タイマー130のエッジ検出部133が計測期間信号TSの立ち上がりエッジを検出し、キャプチャーレジスター132がカウンター131のカウント値CT2を取得し、第2タイマー第1キャプチャー値143としてメモリー140に記憶させる(ステップS105)。
【0086】
次に、第1タイマー120のエッジ検出部126が入力信号INの立ち上がりエッジを検出するまで待機する(ステップS106のN)。そして、エッジ検出部126が入力信号INの立ち上がりエッジを検出した場合(ステップS106のY)、第1タイマー120のキャプチャーレジスター125がカウンター122のカウント値CT1を取得し、第1タイマー第1キャプチャー値141としてメモリー140に記憶させる(ステップS107)。
【0087】
次に、第1タイマー120のカウンター122のカウント値CT1が比較値レジスター121の値と一致するまで(ステップS110のN)、第1タイマー120のエッジ検出部126が入力信号INの次の立ち上がりエッジを検出する毎に(ステップS108のY)、第1タイマー120のキャプチャーレジスター125がカウンター122のカウント値CT1を取得し、第1タイマー第2キャプチャー値142としてメモリー140に記憶させる(ステップS109)。
【0088】
次に、第1タイマー120の出力制御部124が計測期間信号TSを立ち下げ、計測期間Tを終了する(ステップS110)。
【0089】
次に、第2タイマー130のエッジ検出部133が計測期間信号TSの立ち下がりエッジを検出し、キャプチャーレジスター132がカウンター131のカウント値CT2を取得し、第2タイマー第2キャプチャー値144としてメモリー140に記憶させる(ステップS111)。
【0090】
次に、CPU150が、第1の周波数f1、第2の周波数f2及び計測誤差Errを計算する(ステップS112)。具体的には、第2タイマー第1キャプチャー値143をnT1、第2タイマー第2キャプチャー値144をnT2、nIN=nT2-nT1として、基準クロック信号CKの周波数fRと計測期間T中の基準クロック信号CKのパルス数nRとを用いて、CPU150は、前出の式(2)により第1の周波数f1を計算する。また、第1タイマー第1キャプチャー値141をnE1、第1タイマー第2キャプチャー値142をnE2として、CPU150は、前出の式(6)により第2の周波数f2を計算する。また、CPU150は、前出の式(4)により計測誤差Errを計算する。
【0091】
最後に、計測誤差Errが閾値以下の場合は(ステップS114のY)、CPU150が入力信号INの周波数fとして第1の周波数f1を選択し(ステップS115)、計測誤差Errが閾値VTEよりも大きい場合は(ステップS114のN)、CPU150が入力信号INの周波数fとして第2の周波数f2を選択する(ステップS116)。
【0092】
図7は、マイクロコントローラー100における各種信号の波形の一例を示すタイミングチャート図である。
【0093】
図7の例では、まず、時刻t1において計測期間信号TSがローレベルからハイレベルに遷移し、計測期間Tが開始する。そして、基準クロック信号CKのパルス数のカウント値CT1が0にリセットされた後、計測期間Tにおいて、基準クロック信号CKの立ち上がりエッジ毎に、カウント値CT1が0から1ずつ増加する。
【0094】
時刻t2において、入力信号INがローレベルからハイレベルに遷移する。この入力信号INの立ち上がりエッジに同期して、カウント値CT2が0から1に変化するとともに、エッジ検出信号ED2がローレベルからハイレベルに遷移する。また、時刻t3における基準クロック信号CKの立ち上がりエッジに同期して、エッジ検出信号ED1がローレベルからハイレベルに遷移する。
【0095】
時刻t4において、エッジ検出信号ED1がハイレベルであるので、基準クロック信号CKの立ち上がりエッジに同期して、キャプチャー値CP1がカウント値CT1である1に更新される。キャプチャー値CP1は、第1タイマー第1キャプチャー値141としてメモリー140に記憶される。
【0096】
時刻t5において、入力信号INがローレベルからハイレベルに遷移する。エッジ検出信号ED2がハイレベルであるので、この入力信号INの立ち上がりエッジに同期して、キャプチャー値CP2がカウント値CT2である1に更新される。キャプチャー値CP2は、第2タイマー第1キャプチャー値143としてメモリー140に記憶される。また、この入力信号INの立ち上がりエッジに同期して、カウント値CT2が1から2に変化する。また、時刻t6における基準クロック信号CKの立ち上がりエッジに同期して、エッジ検出信号ED1がローレベルからハイレベルに遷移する。
【0097】
時刻t7において、エッジ検出信号ED1がハイレベルであるので、基準クロック信号CKの立ち上がりエッジに同期して、キャプチャー値CP1がカウント値CT1である4に更新される。キャプチャー値CP1は、第1タイマー第2キャプチャー値142としてメモリー140に記憶される。
【0098】
以降は時刻t8まで、時刻t5~時刻t7と同様に、入力信号INがローレベルからハイレベルに遷移する毎に、入力信号INの立ち上がりエッジに同期して、カウント値CT2が1ずつ増加し、基準クロック信号CKの立ち上がりエッジに同期して、第1タイマー第2キャプチャー値142がキャプチャー値CP1であるカウント値CT1に更新される。
【0099】
時刻t8において、入力信号INがローレベルからハイレベルに遷移し、時刻t9における基準クロック信号CKの立ち上がりエッジに同期して、エッジ検出信号ED1がローレベルからハイレベルに遷移する。
【0100】
時刻t10において、エッジ検出信号ED1がハイレベルであるので、基準クロック信号CKの立ち上がりエッジに同期して、キャプチャー値CP1がカウント値CT1であるn1-1に更新される。キャプチャー値CP1は、第1タイマー第2キャプチャー値142としてメモリー140に記憶される。
【0101】
時刻t11において、カウント値CT1が比較値レジスター121の値n1と一致するので、計測期間信号TSがハイレベルからローレベルに遷移し、計測期間Tが終了する。
【0102】
また、時刻t11において計測期間信号TSがハイレベルからローレベルに遷移した直後に入力信号INがローレベルからハイレベルに遷移する。この入力信号INの立ち上がりエッジに同期して、カウント値CT2がn2に変化するとともに、エッジ検出信号ED2がローレベルからハイレベルに遷移する。
【0103】
時刻t12において、入力信号INがローレベルからハイレベルに遷移する。エッジ検出信号ED2がハイレベルであるので、この入力信号INの立ち上がりエッジに同期して、キャプチャー値CP2がカウント値CT2であるn2に更新される。キャプチャー値CP2は、第2タイマー第1キャプチャー値143としてメモリー140に記憶される。
【0104】
時刻t12以降において、第1タイマー第1キャプチャー値141をnE1とし、第1タイマー第2キャプチャー値142をnE2とすると、nE2-nE1は、時刻t2から時刻t8までの期間T’における基準クロック信号CKのパルス数に相当する。また、第2タイマー第1キャプチャー値143をnT1とし、第2タイマー第2キャプチャー値144をnT2とすると、nT2-nT1は、計測期間Tにおける入力信号INのパルス数に相当する。
【0105】
その後、CPU150により、第1の周波数f1が前出の式(2)によって算出され、第2の周波数f2が前出の式(6)によって算出され、計測誤差Errが前出の式(4)によって算出される。そして、計測誤差Errに基づいて、入力信号INの周波数fとして第1の周波数f1又は第2の周波数f2が選択される。
【0106】
以上に説明したように、本実施形態のマイクロコントローラー100では、第1タイマー120が、基準クロック信号CKに基づいて入力信号INの周波数fの計測期間Tを設定し、基準クロック信号CKのパルス数をカウントする。また、第1タイマー120が、計測期間Tにおける入力信号INの最初の立ち上がりエッジ又は立ち下がりエッジの検出時点での基準クロック信号CKのパルス数のカウント値CT1をnE1としてメモリー140に記憶させる。また、第1タイマー120が、計測期間Tにおける入力信号INの最後の立ち上がりエッジ又は立ち下がりエッジの検出時点でのカウント値CT1をnE2としてメモリー140に記憶させる。換言すれば、第1タイマー120は、基準クロック信号CKに基づいて、入力信号INの周波数fの計測期間Tを設定し、計測期間T中の入力信号INに基づく期間T’の基準クロック信号CKのパルス数nE=nE2-nE1をカウントする。
【0107】
また、本実施形態のマイクロコントローラー100では、第2タイマー130が、入力信号INのパルス数をカウントする。また、第2タイマー130が、計測期間信号TSの立ち上がりエッジの検出時点での入力信号INのパルス数のカウント値CT2をnT1としてメモリー140に記憶させる。また、第2タイマー130が、計測期間信号TSの立ち下がりエッジの検出時点でのカウント値CT2をnT2としてメモリー140に記憶させる。換言すれば、第2タイマー130は、計測期間T中の入力信号INのパルス数nIN=nT2-nT1をカウントする。
【0108】
また、本実施形態のマイクロコントローラー100では、基準クロック信号CKの周波数をfR、計測期間T中の基準クロック信号CKのパルス数をnRとして、CPU150が、周波数計算プログラム145を実行することにより、前出の式(2)によって第1の周波数f1を計算し、前出の式(3)又は式(6)によって第2の周波数f2を計算し、入力信号INの周波数fとして第1の周波数f1又は第2の周波数f2を選択する。
【0109】
すなわち、本実施形態のマイクロコントローラー100は、周波数計測方式によって第1の周波数f1を計算し、周期計測方式によって第2の周波数f2を計算し、入力信号INの周波数として第1の周波数f1又は第2の周波数f2を選択することで、周波数の計測範囲を広くすることができる。また、本実施形態のマイクロコントローラー100によれば、周波数計測方式による第1の周波数f1の計算と周期計測方式による第2の周波数f2の計算に基準クロック信号CKが共通に用いられるので、複数のクロック信号を必要とせず、低コスト化が可能である。
【0110】
また、本実施形態のマイクロコントローラー100では、CPU150が、第2タイマー130がカウントした計測期間T中の入力信号INのパルス数nINに基づいて、式(4)により計測誤差Errを計算し、計測誤差Errに基づいて、第1の周波数f1又は第2の周波数f2を入力信号INの周波数として選択する。具体的には、CPU150は、計測誤差Errの絶対値が所定の閾値VTE以下であれば第1の周波数f1を選択し、計測誤差Errの絶対値が閾値VTEよりも大きければ第2の周波数f2を選択する。したがって、本実施形態のマイクロコントローラー100によれば、閾値VTEを適切に設定することにより、CPU150は、第1の周波数f1と第2の周波数f2のうち計測誤差の小さい方を選択することができるので、入力信号INの周波数fを高い精度で計測することができる。
【0111】
また、本実施形態のマイクロコントローラー100によれば、汎用性を有する第1タイマー120、第2タイマー130、メモリー140及びCPU150によって、入力信号INの周波数fを計測する周波数計測装置1を実現することができる。さらに、本実施形態のマイクロコントローラー100によれば、周波数計算プログラム145を変更することにより、CPU150による第1の周波数f1の計算、第2の周波数f2の計算及び第1の周波数f1又は第2の周波数f2の選択の方式を容易に変更することができる。
【0112】
3.電子機器
図8は、本実施形態の電子機器の構成例を示す機能ブロック図である。また、
図9は、本実施形態の電子機器の他の構成例を示す機能ブロック図である。
【0113】
図8及び
図9に示すように、本実施形態の電子機器300は、周波数計測装置310又はマイクロコントローラー330を有する。また、本実施形態の電子機器300は、振動子320、操作部340、通信部350、表示部360及び音出力部370を有してもよい。なお、本実施形態の電子機器300は、
図8又は
図9の構成要素の一部を省略又は変更し、あるいは、他の構成要素を付加した構成としてもよい。
【0114】
周波数計測装置310及びマイクロコントローラー330は、不図示の記憶部に記憶されているプログラムに従い、各種の計算処理や制御処理を行う。具体的には、周波数計測装置310及びマイクロコントローラー330は、操作部340からの操作信号に応じた各種の処理、他の機器とデータ通信を行うために通信部350を制御する処理、表示部360に各種の情報を表示させるための表示信号を送信する処理、音出力部370から各種の音を出力させるための音信号を送信する処理等を行う。
【0115】
特に、本実施形態では、周波数計測装置310及びマイクロコントローラー330は、外付けの振動子320を発振させて基準クロック信号を生成し、基準クロック信号に基づいて、外部から入力される入力信号INの周波数を計測する。
【0116】
操作部340は、操作キーやボタンスイッチ等により構成される入力装置であり、ユーザーによる操作に応じた操作信号を周波数計測装置310又はマイクロコントローラー330に出力する。
【0117】
通信部350は、周波数計測装置310又はマイクロコントローラー330の外部機器との間のデータ通信を成立させるための各種制御を行う。
【0118】
表示部360は、LCD(Liquid Crystal Display)等により構成される表示装置であり、入力される表示信号に基づいて各種の情報を表示する。表示部360には操作部340として機能するタッチパネルが設けられていてもよい。
【0119】
音出力部370は、スピーカー等によって構成され、周波数計測装置310又はマイクロコントローラー330からの出力信号である音信号に基づいて音を出力する。
【0120】
周波数計測装置310として、例えば上述した実施形態の周波数計測装置1を適用し、あるいは、マイクロコントローラー330として、例えば上述した実施形態のマイクロコントローラー100を適用することにより、周波数の計測精度の高い電子機器300を実現することができる。
【0121】
このような電子機器300としては種々の電子機器が考えられ、例えば、デジタルマルチメーター、車速センサー、回転数計等が挙げられる。
【0122】
図10は、電子機器300の一例としてのデジタルマルチメーターの構成例を示す図である。
図10に示すように、デジタルマルチメーター301は、
図9に示した振動子320、マイクロコントローラー330及び表示部360を有する。
【0123】
マイクロコントローラー330は、基準クロック信号生成回路331、コンパレーター332、測定回路333、CPU(Central Processing Unit)334、メモリー335及びLCD駆動回路336を含む。測定回路333、CPU334及びメモリー335は、バス337と接続されている。
【0124】
マイクロコントローラー330は水晶振動子等の振動子320と接続されており、基準クロック信号生成回路331は、振動子320を発振させて周波数精度の高い基準クロック信号CKを生成する。
【0125】
コンパレーター332は、サイン波、三角波、鋸歯波等の入力信号INを基準電圧と比較してパルス状の入力信号IN’に変換する。
【0126】
測定回路333は、基準クロック信号CKに基づいて設定された計測期間T中の入力信号IN’に基づく期間T’の基準クロック信号CKのパルス数をカウントし、カウント値を、バス337を介してメモリー335に転送して記憶させる。また、測定回路333は、計測期間T中の入力信号IN’のパルス数をカウントし、カウント値を、バス337を介してメモリー335に転送して記憶させる。
【0127】
CPU334は、バス337を介してメモリー335から各種のカウント値を読み出し、前出の式(2)により、周波数計測方式によって得られる第1の周波数f1を計算する。また、CPU334は、前出の式(3)または式(6)により、周期計測方式によって得られる第2の周波数f2を計算する。また、CPU334は、前出の式(4)により、計測誤差Errを計算する。そして、CPU334は、計測誤差Errに基づいて、第1の周波数f1又は第2の周波数f2を入力信号INの周波数fとして選択し、バス337を介してLCD駆動回路336に転送する。
【0128】
基準クロック信号生成回路331、コンパレーター332、測定回路333、CPU334及びメモリー335は、
図8に示した周波数計測装置310として機能する。
【0129】
LCD駆動回路336は、バス337を介してCPU334から転送される周波数fに基づいて、LCDである表示部360を駆動して表示部360に周波数fの情報を表示させるための表示信号を生成する。
【0130】
表示部360は、LCD駆動回路336から出力される表示信号に基づいて、周波数計測装置310が計測した入力信号INの周波数を表示する。
【0131】
周波数計測装置310として、例えば上述した実施形態の周波数計測装置1を適用し、あるいは、マイクロコントローラー330として、例えば上述した実施形態のマイクロコントローラー100を適用することにより、周波数の計測精度の高いデジタルマルチメーター301を実現することができる。
【0132】
なお、基準クロック信号生成回路331、CPU334及びメモリー335は、それぞれ、
図5の基準クロック信号生成回路110、CPU150及びメモリー140に相当する。また、測定回路333は、
図5の第1タイマー120及び第2タイマー130に相当する。
【0133】
本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0134】
例えば、上記実施形態の周波数計測装置1では、基準クロック信号生成回路70が水晶振動子を発振させて基準クロック信号CKを生成する例を挙げ、上記実施形態のマイクロコントローラー100では、基準クロック信号生成回路110が水晶振動子等の振動子200を発振させて基準クロック信号CKを生成しているが、基準クロック信号生成回路70,110は他の構成でもよい。例えば、基準クロック信号生成回路70,110は、水晶振動子以外の圧電振動子、SAW(Surface Acoustic Wave)共振子、MEMS(Micro Electro Mechanical Systems)振動子等を発振させて基準クロック信号CKを生成してもよいし、CR発振回路であってもよい。
【0135】
また、上記実施形態の周波数計測装置1又はマイクロコントローラー100では、内部で基準クロック信号CKが生成されているが、基準クロック信号CKは、周波数計測装置1又はマイクロコントローラー100の外部から入力されてもよい。
【0136】
また、上記実施形態の周波数計測装置1又はマイクロコントローラー100では、第1の周波数f1と第2の周波数f2をともに計算しているが、入力信号INの周波数fとして第1の周波数f1を選択する場合には第2の周波数f2を計算せずに第1の周波数f1を計算し、入力信号INの周波数fとして第2の周波数f2を選択する場合には第1の周波数f1を計算せずに第2の周波数f2を計算してもよい。
【0137】
上述した実施形態および変形例は一例であって、これらに限定されるわけではない。例えば、各実施形態および各変形例を適宜組み合わせることも可能である。
【0138】
本発明は、実施の形態で説明した構成と実質的に同一の構成、例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【0139】
上述した実施形態および変形例から以下の内容が導き出される。
【0140】
周波数計測装置の一態様は、
入力信号の周波数を計測する周波数計測装置であって、
基準クロック信号に基づいて、前記入力信号の周波数の計測期間を設定する計測期間設定回路と、
前記計測期間中の前記入力信号に基づく期間の前記基準クロック信号のパルス数をカウントする第1のカウンター回路と、
前記計測期間中の前記入力信号のパルス数をカウントする第2のカウンター回路と、
前記基準クロック信号の周波数をfR、前記計測期間中の前記基準クロック信号のパルス数をnR、前記第2のカウンター回路のカウント値をnIN、前記第1のカウンター回路のカウント値をnEとして、第1の周波数f1を、f1=fR×nIN/nRによって計算する第1の周波数計算回路と、
第2の周波数f2を、f2=fR×nIN/nEによって計算する第2の周波数計算回路と、
前記入力信号の周波数として第1の周波数f1又は第2の周波数f2を選択する周波数選択回路と、
を有する。
【0141】
この周波数計測装置では、第1の周波数計算回路は、基準クロック信号の1周期のnR倍の長さの計測期間T=nR/fRにおける入力信号のパルス数nINをカウントして入力信号の周波数を計測する周波数計測方式によって第1の周波数f1を計算する。また、第2の周波数計算回路は、計測期間中の入力信号のパルス数をnIN回カウントする期間における基準クロック信号のパルス数nEをカウントして入力信号の1周期の時間を計測し、その逆数をとることで入力信号の周波数を計測する周期計測方式によって第2の周波数f2を計算する。そして、周波数選択回路が入力信号の周波数として周波数計測方式によって計算された第1の周波数f1又は周期計測方式によって計算された第2の周波数f2を選択することで、周波数の計測範囲を広くすることができる。また、この周波数計測装置によれば、周波数計測方式による第1の周波数f1の計算と周期計測方式による第2の周波数f2の計算に基準クロック信号が共通に用いられるので、複数のクロック信号を必要とせず、低コスト化が可能である。
【0142】
前記周波数計測装置の一態様は、
前記第2のカウンター回路のカウント値に基づいて、計測誤差を計算する計測誤差計算回路を有し、
前記周波数選択回路は、前記計測誤差に基づいて、第1の周波数f1又は第2の周波数f2を前記入力信号の周波数として選択してもよい。
【0143】
この周波数計測装置によれば、周波数選択回路が計測誤差に基づいて第1の周波数f1又は第2の周波数f2を選択することで、入力信号の周波数を高い精度で計測することができる。
【0144】
前記周波数計測装置の一態様において、
前記計測誤差は±1/nINであってもよい。
【0145】
前記周波数計測装置の一態様において、
前記第1のカウンター回路は、基準カウント値保持回路を有し、
前記基準カウント値保持回路は、前記計測期間において、前記入力信号を前記基準クロック信号でサンプリングして前記入力信号の立ち上がりエッジ又は立ち下がりエッジを検出し、前記計測期間の開始時点から前記入力信号の前記立ち上がりエッジ又は前記立ち下がりエッジの検出時点までの前記基準クロック信号のパルス数を保持してもよい。
【0146】
前記周波数計測装置の一態様は、
前記基準クロック信号を生成する基準クロック信号生成回路を有してもよい。
【0147】
前記周波数計測装置の一態様において、
前記第1の周波数計算回路、前記第2の周波数計算回路、及び前記周波数選択回路の処理は、CPUによりソフトウェアで行われてもよい。
【0148】
この周波数計測装置によれば、第1の周波数f1の計算、第2の周波数f2の計算及び第1の周波数f1又は第2の周波数f2の選択の方式を容易に変更することができる。
【0149】
前記周波数計測装置の一態様において、
前記第1の周波数計算回路、前記第2の周波数計算回路、及び前記周波数選択回路の処理は、ロジック回路により行われてもよい。
【0150】
この周波数計測装置によれば、第1の周波数f1の計算、第2の周波数f2の計算及び第1の周波数f1又は第2の周波数f2の選択を高速に行うことができる。
【0151】
マイクロコントローラーの一態様は、
前記周波数計測装置の一態様を有する。
【0152】
電子機器の一態様は、
前記周波数計測装置の一態様又は前記マイクロコントローラーの一態様を有する。
【符号の説明】
【0153】
1…周波数計測装置、10…計測期間設定回路、20…第1のカウンター回路、21…基準クロックカウント回路、22…基準カウント値保持回路、23…入力信号エッジ検出回路、24…基準クロック初回カウント値保持回路、25…基準クロック更新カウント値保持回路、30…第2のカウンター回路、40…第1の周波数計算回路、50…第2の周波数計算回路、60…周波数選択回路、70…基準クロック信号生成回路、80…計測誤差計算回路、100…マイクロコントローラー、110…基準クロック信号生成回路、120…第1タイマー、121…比較値レジスター、122…カウンター、123…コンパレーター、124…出力制御部、125…キャプチャーレジスター、126…エッジ検出部、130…第2タイマー、131…カウンター、132…キャプチャーレジスター、133…エッジ検出部、140…メモリー、141…第1タイマー第1キャプチャー値、142…第1タイマー第2キャプチャー値、143…第2タイマー第1キャプチャー値、144…第2タイマー第2キャプチャー値、145…周波数計算プログラム、150…CPU、160…バス、200…振動子、300…電子機器、301…デジタルマルチメーター、310…周波数計測装置、320…振動子、330…マイクロコントローラー、331…基準クロック信号生成回路、332…コンパレーター、333…測定回路、334…CPU、335…メモリー、336…LCD駆動回路、337…バス、340…操作部、350…通信部、360…表示部、370…音出力部