JP4912511B2 - 速度検出装置 - Google Patents

速度検出装置 Download PDF

Info

Publication number
JP4912511B2
JP4912511B2 JP2011532411A JP2011532411A JP4912511B2 JP 4912511 B2 JP4912511 B2 JP 4912511B2 JP 2011532411 A JP2011532411 A JP 2011532411A JP 2011532411 A JP2011532411 A JP 2011532411A JP 4912511 B2 JP4912511 B2 JP 4912511B2
Authority
JP
Japan
Prior art keywords
pulse
value
clock
unit
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011532411A
Other languages
English (en)
Other versions
JPWO2011114438A1 (ja
Inventor
広 吉川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP4912511B2 publication Critical patent/JP4912511B2/ja
Publication of JPWO2011114438A1 publication Critical patent/JPWO2011114438A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • G01P3/48Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
    • G01P3/481Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage of pulse signals
    • G01P3/489Digital circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • G01P3/48Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
    • G01P3/481Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage of pulse signals

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Measuring Frequencies, Analyzing Spectra (AREA)

Description

本発明は、運動物体の速度、回転速度、または回転数等に比例した周波数を有する交流信号を検出する速度検出装置に関する。
従来から、パルス信号から運動物体(電気車両等)の速度を検出し、種々の制御(例えば、空転や滑走の防止)等に用いる装置がよく知られている。例えば、下記特許文献1〜2に示される速度検出装置が挙げられる。
特開平8−233842号公報 特開平8−136563号公報
しかし、上記特許文献1に示される速度検出装置は、パルス計数レジスタとパルス計時レジスタとのセットが得られる周期であるキャプチャー周期が一定していないため、後段でデジタルフィルタ処理を入れ難いという課題があった。そのためデジタルフィルタ処理を後段に入れる場合には、マイクロプロセッサ側の演算周期毎に、そのとき得られている最新のパルス計数レジスタとパルス計時レジスタとのセットを用いて周波数を求め、バッファリングしていくことになる。そのため、場合によっては一部のデータは使われずに捨てられる状況もあり、周波数の精度劣化の要因になっているという課題があった。
また、上記特許文献2に示される速度検出装置では、パルスの時間を測定するためのカウンターの値をラッチするのに、パルスエッジでラッチし、さらにキャプチャークロックでさらにラッチさせるため、ハードウェアリソースが余分に必要であるという課題があった。
また、上記特許文献2に示される速度検出装置では、所定の周期内にパルスエッジが1個も入力されなかった場合と、オーバーフローが発生している場合との処置内容が明示されていないという課題があった。
本発明は、上記に鑑みてなされたものであって、周波数の精度劣化がなく、常にデータ更新され、回路規模も比較的小さく、ソフトウェアへのオーバーヘッドも少ない速度検出装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、外部からの入力信号のパルス数を計数するパルス計数部と、計時クロックによりカウントアップし、パルスによってクリアされることで、最後のパルスからの時間を計時するパルス計時部と、前記パルス計時部がオーバーフローしたことを検出しオーバーフローレジスタに保持するオーバーフロー検出部と、一定周期毎に測定結果を得るキャプチャークロックのタイミングで割込要求を出力することにより、前記パルス計数部からの出力をパルス計数レジスタに保持すると共に、前記パルス計時部からの出力をパルス計時レジスタに保持するキャプチャー部と、前記パルス計数レジスタの値と、前記パルス計時レジスタの値と、前記オーバーフローレジスタの値と、を読み取り、所定の演算により、周波数演算値を算出する周波数算出部と、を備え、前記周波数算出部は、前記パルス計時部がオーバーフローした場合、前回割込時における最後のパルスからの時間/前記計時クロックの周期であるパルス計時データに、前記キャプチャークロックの周期/前記計時クロックの周期で得られる所定の定数を加算して、最後のパルスからの時間/前記計時クロックの周期であるパルス計時データを求めることにより、前記周波数演算値を算出し、所定の周期内に入力されたパルスが0個の場合、直後にパルスが入力されると仮定した周波数演算値と、前回の周波数演算値と、の低い方の値を選択することにより、周波数演算値を推定すること、を特徴とする。
この発明によれば、キャプチャー周期を一定にしているため、周波数の精度劣化がなく、常にデータ更新され、回路規模も比較的小さく、ソフトウェアへのオーバーヘッドも少なくできるという効果を奏する。
図1は、本発明の実施の形態1にかかる速度検出装置の構成例を示す図である。 図2は、図1のオーバーフロー検出部と演算部との構成例を示す図である。 図3は、本発明の実施の形態2にかかる速度検出装置のオーバーフロー検出部と演算部との構成例を示す図である。 図4は、本発明の実施の形態3にかかる速度検出装置のオーバーフロー検出部と演算部との構成例を示す図である。 図5は、図1の速度検出装置の設計手順の一例を示す図である。 図6は、図1の演算部の処理手順の一例を示す図である。 図7は、図1の演算部の処理内容の説明図である。 図8は、図1の速度検出装置のハードウェア部分の一の動作を説明するための図である。 図9は、図1の速度検出装置のハードウェア部分の他の動作を説明するための図である。 図10は、本発明の実施の形態4にかかる演算部の構成例を示す図である。 図11は、本発明の実施の形態4にかかる速度検出装置の設計手順の一例を示す図である。 図12は、図10のバッファ処理部の処理手順の一例を示す図である。 図13は、図10の演算処理部の処理手順の一例を示す図である。 図14は、図10の演算部の処理内容の説明図である。 図15は、図10の演算部の他の処理内容の説明図である。 図16は、本発明の実施の形態5にかかる速度検出装置の構成例を示す図である。 図17は、本発明の実施の形態6にかかる速度検出装置の構成例を示す図である。 図18は、特許文献1に示される速度検出装置の精度劣化の一例を示す図である。 図19は、特許文献1に示される速度検出装置のシミュレーション結果の一例を示す図である。 図20は、本発明の実施の形態4にかかる速度検出装置のシミュレーション結果の一例を示す図である。
以下に、本発明にかかる速度検出装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかる速度検出装置の構成例を示す図である。速度検出装置1の役割は、入力信号INの周波数を検出することである。関連図は、図1〜図9である。
実施の形態1の速度検出装置1は、主たる構成として、波形整形部101と、エッジ検出部106と、パルス計数部107と、計時クロック発生部103と、パルス計時部109と、キャプチャークロック発生部104と、オーバーフロー検出部108と、キャプチャー部110と、割込要求部111と、演算部(周波数算出部)113と、を有して構成されている。
速度検出装置1は、図1では単体の装置のように記載しているが、ある装置の一部の機能であってもよい。名前も速度検出装置でなくてもよく、「**制御装置」や、「**制御システム」と呼ばれることもある。
本明細書の中では、数式の中に右辺と左辺に同じ変数名が出てくることがある。その場合右辺の変数前回値を使うことを意味している。
波形整形部101は、入力信号INを波形整形して矩形波(パルス信号P)に変換すると共に、フォトカプラなどを用いて入力信号INと装置内部の信号の絶縁を行う。
エッジ検出部106は、パルス信号Pの立ち上がりまたは立下りのどちらか一方のエッジのみを検出し、パルスエッジ(パルス)PEとして出力する。このパルスエッジPEは、エッジが検出された瞬間だけ所定のパルス幅のHとなり、それ以外はLとなる。
計時クロック発生部103は、パルス計時部109が時間を計測するための計時クロックCK_TIMを発生する。
キャプチャークロック発生部104は、一定周期毎に測定結果を得るためのタイミングであるキャプチャークロックCK_CAPを発生する。
パルス計数部107は、出力値の初期状態が0であり、エッジ検出部106からのパルスエッジPEによって、出力値をカウントアップするように構成されている。つまり、このカウンターにはリセット条件はなく、フリーランで動作する。
パルス計時部109は、計時クロック発生部103からの計時クロックCK_TIMによりカウントアップし、エッジ検出部106からのパルスエッジPEによってクリアされることで、最後のパルスエッジPEからの時間を測定する。
キャプチャー部110は、キャプチャークロック発生部104からのキャプチャークロックCK_CAPのタイミングで、パルス計数部107からのライブパルス計数値LNをパルス計数レジスタCNに保持する。また、キャプチャー部110は、キャプチャークロック発生部104からのキャプチャークロックCK_CAPのタイミングで、パルス計時部109からのライブパルス計時値LTをパルス計時レジスタCTに保持する。
ここで、パルス計時部109とキャプチャー部110とオーバーフロー検出部108との関係を説明する。パルス計時部109は、最後に入力したパルスエッジPEからの時間を計測していて、キャプチャーが発生した際に、キャプチャー部110によって、その瞬間の値がキャプチャーされる。キャプチャー部110は、最後に入力したパルスエッジPEからキャプチャーが発生するまでの時間を保持していることになる。また、このタイマー(パルス計時部109)は、キャプチャー周期Tcapの間を十分に測定可能なビット幅を用意すればよく、それ以上に長い間パルスエッジPEが入力されない場合、オーバーフローして、オーバーフロー検出部108でオーバーフローが検出される。
割込要求部111は、キャプチャークロック発生部104からのキャプチャークロックCK_CAPのタイミングで、割込要求IRQを出力する。また、割込要求部111は、演算部113からの割込要求クリア要求ICRQ(図示せず)によって、割込要求IRQを取りやめる。なお、割込要求クリア要求ICRQに関しては、後述する。
図2は、図1のオーバーフロー検出部と演算部との構成例を示す図である。オーバーフロー検出部108は、パルス計時部109からのライブパルス計時値LTが所定の最大値を超えたことを検出してオーバーフローレジスタOVFをセット(OVF=1)し、演算部113からリセットされるまでオーバーフローレジスタOVFを保持する。
演算部113は、オーバーフローレジスタOVFがセットされている場合であっても、前回割込時のパルス計数レジスタの値と、今回割込時のパルスレジスタの値と、の差があるとき、オーバーフローが発生していないと判断するとともに、オーバーフローレジスタOVFをリセットする。また、演算部113は、前回割込時のパルス計数レジスタの値と、今回割込時のパルス計数レジスタの値と、の差が無い場合には、オーバーフローレジスタOVFの値により、オーバーフローが発生しているか否かを判断する。オーバーフローしているか否かは、オーバーフローフラグOVFFに設定される。
図8および図9に、実施の形態1にかかる速度検出装置1の動作の一例を示す。
図8は、図1の速度検出装置のハードウェア部分の一の動作を説明するための図である。図8には、オーバーフローが発生していない場合における各信号のタイミングチャートが示されている。ライブパルス計数値LNは、パルスエッジPEに応じてカウントアップされ、キャプチャークロックCK_CAPのタイミングでパルス計数レジスタCNに保持される。ライブパルス計時値LTは、最後のパルスエッジPEが入力されてから次のパルスエッジPEによってクリアされるまで増加し、キャプチャークロックCK_CAPのタイミングでパルス計時レジスタCTに保持される。
図9は、図1の速度検出装置のハードウェア部分の他の動作を説明するための図である。図9には、オーバーフローが発生している場合における各信号のタイミングチャートが示され、ライブパルス計数値LNは、パルス計数レジスタCNに保持され、ライブパルス計時値LTは、パルス計時レジスタCTに保持される。
例えば、図9の場合、演算部113は、2つめのキャプチャークロックCK_CAPの後、前回割込時のパルス計数レジスタの値と、今回割込時のパルス計数レジスタの値と、の差があるため、オーバーフローが発生していないと判断し、オーバーフローレジスタOVFの値をクリアする。ここで、図9の2つめのキャプチャークロックCK_CAPから3つめのキャプチャークロックCK_CAPまでの間で、ライブパルス計時値LTが所定の最大値を超えたため、オーバーフロー検出部108は、オーバーフローレジスタOVFをセット(OVF=1)する。演算部113は、前回割込時のパルス計数レジスタの値と、今回割込時のパルス計数レジスタの値との差が無く、かつ、OVFの値が1であることで、オーバーフローが発生していると判断する。
図5は、図1の速度検出装置の設計手順の一例を示す図である。以下、速度検出装置1の設計手順例を説明する。
・スペック設定ステップ301
キャプチャー周期Tcap、最大入力周波数Fmax、最小入力周波数Fmin、目標精度ACCtを設定する。例えば、
キャプチャー周期 Tcap=2.5ms
最大入力周波数 Fmax=8000Hz
最小入力周波数 Fmin=1Hz
目標精度 ACCt=200ppm*2.5ms=0.5ppm・s
とする。
・計時クロック周波数設定ステップ302
計時クロック周波数 Ftim≧1/ACCt−1/Tcap(例えば、≧1.9996MHzで、ここでは2.5MHzに設定する。)
・ハードウェア設定ステップ303
パルス計数必要ビット数 Nwidth=Roundup(log(Fmax*Tcap)/log(2),0)
パルス計時必要ビット数 Twidth=Roundup(log(Ftim*Tcap)/log(2),0)
例えば、両者は、それぞれ、5、13となるため、パルス計数部107のビット数を5、パルス計時部109のビット数を13に設定する。
・各種演算定数算出ステップ304
各種定数を求める。この値は、後述する演算部113で用いられる。
パルス計数マスク値0 NMASK0=2^Nwidth−1
パルス計数最大値 NMAX=Fmax*Tcap
パルス計時マスク値0 TMASK0=2^Twidth−1
キャプチャー周期指数 TCAP=Tcap*Ftim
パルス計時最大値 TMAX=Ftim/Fmin
例えば、上記はそれぞれ、0x1f、160、0x1fff、6250、2500000となる。
図6は、図1の演算部の処理手順の一例を示す図である。演算部113は、割込要求IRQにより起動し、主たる構成として、データ読込ステップ201と、オーバーフロー処理ステップ202と、割込要求クリアステップ203と、分子演算ステップ204と、分母演算ステップ205と、周波数演算ステップ206と、前回値設定ステップ207と、を有して構成されている。なお、計時クロック周期は、1/計時クロック周波数Ftimである。
・読込ステップ201
演算部113は、キャプチャー部110よりCN、CTを読み取りローカル変数XN、XTにコピーする。
・オーバーフロー処理ステップ202
演算部113は、図2、図3、図4の何れかを実施してオーバーフローフラグOVFFを得る。
・割込要求クリアステップ203
演算部113は、割込要求クリア要求ICRQを出力する。
・分子演算ステップ204
演算部113は、下記の式にて、ローカル変数NUMを求める。
NUM=MIN((XN−YN)&NMASK0,NMAX)
即ち、今回割込時におけるパルス計数レジスタの値(XN)から、前回割込時におけるパルス計数レジスタの値(YN)を減じた値に基づき、前回割込時から今回割込時の間(直前のキャプチャー周期Tcapの間)に入力されたパルスエッジの数NUMを求める。
・分母演算ステップ205
演算部113は、下記の式にて、XTを求める。
OVFF=0即ちオーバーフローなしの時、
XT=XT&TMASK0
即ち、演算部113は、パルス計時部109でオーバーフローが発生していない場合、パルス計時レジスタCTの値により、パルス計時データXTを求める。
それ以外、即ちオーバーフローありの時、
XT=MIN(YT+TCAP,TMAX)
このオーバーフローありの時の設定については、パルス計時レジスタCTがオーバーフローで無効であるため、前回値YTから計算しているのである。ただし、上限TMAXを設けている。なお、ソフトウェアで値を足しこんでいるので、周波数の精度劣化が発生するのかというと、そうではない。仮にパルス計時部109のビット幅が十分あったとしたら、キャプチャー周期Tcapの時間にキャプチャー周期指数TCAP分増加する。従って、これによる周波数の精度劣化はない。ハードウェア(パルス計時部109)は短い時間に関して分担し、ソフトウェアは長い時間に関して分担しているのである。即ち、演算部113は、パルス計時部109がオーバーフローしている場合、前回のパルス計時データ(YT)に、キャプチャークロック周期/計時クロック周期で得られる所定の定数値(TCAP)を加算して、最後のパルスエッジPEからの時間/計時クロック周期であるパルス計時データ(XT)を求める。
・周波数演算ステップ206
演算部113は、ステップ205で得られたパルス計時データ(XT)を用いて、下記演算式にて周波数演算値Fを算出する。
NUMが0のとき、
F=MIN(Ftim/XT,F)
即ち、演算部113は、所定の周期内に入力されたパルスエッジPEが0個の場合、直後にパルスエッジPEが入力されると仮定した周波数演算値(Ftim/XT)と、前回の周波数演算値Fと、の低い方の値を選択することにより、周波数演算値Fを推定する。
それ以外のとき、
F=NUM*Ftim/(TCAP+YT−XT)
・前回値設定ステップ207
演算部113は、次回の演算のために、XTと、XNを、前回値YTとYNとへ保存する。ここでひとつ注意点がある。※前回値YTはパルス計数最大値TMAXで初期化しなければならない。
ここで、図7を用いて、演算部113の処理を解説する。図7は、図1の演算部の処理内容の説明図である。CASE1は、図7の1つめのキャプチャークロックCK_CAPが入力されてから、2つめのキャプチャークロックCK_CAPが入力されるまでの間に、パルスエッジPEが1個以上入ってきている例である。図では、パルスエッジPEの数NUMが12個であり、また(TCAP+YT−XT)/Ftimと記載した区間には、パルス周期が12周期ある。よって、周波数演算値Fを求める式の分子として、NUMの値で問題ないことが分かる。
また、周波数演算値Fを求める式の分母、つまり12周期分の時間については、(TCAP+YT−XT)/Ftim、と図示したところをみれば、TCAP/Ftim、と図示した時間より、YT/Ftim分左側が長く、XT/Ftim分右側が短くなっていることから、(TCAP+YT−XT)/Ftimで正しいことは明白だろう。
そのため、周波数演算値Fを求める式として「F=NUM*Ftim/(TCAP+YT−XT)」が正しいことが分かる。
次にCASE2では、図7の1つめのキャプチャークロックCK_CAPが入力されてから、2つめのキャプチャークロックCK_CAPが入力されるまで間(所定の周期内)に、パルスエッジPEが1つも入ってきていない状態である。このとき、情報としては、パルスエッジPEが入ってきていないからといって何もないのではなく、現時点で、最後のパルスエッジPEからXT/Ftimだけ経過しているため、少なくとも、周波数としてFtim/XTよりは小さいことは明白である。従って、演算部113は、前回の周波数演算値FとFtim/XTとの小さい方を、新しい周波数演算値Fとして出力する。つまり「F=MIN(Ftim/XT,F)」という式を使っている。
このように、演算部113は、所定の周期内に入力されたパルスエッジの数が0個であっても、直後に仮にパルスエッジPEが入力されると仮定した周波数演算値(即ち、計時クロック周波数/パルス計時データで得られる値)と、前回の周波数演算値(F)と、の低い方の値を選択することにより、周波数演算値Fを推定する。
図18は、特許文献1に示される速度検出装置の精度劣化の一例を示す図である。図18には、パルス計数レジスタとパルス計時レジスタとのセットが得られる周期であるキャプチャー周期Tcap(キャプチャータイミング)と、マイクロプロセッサ側の演算周期Tcalとが示されている。図18に示すように、特許文献1に示される速度検出装置では、キャプチャー周期Tcapが一定でないため、デジタルフィルタ処理を後段に入れた場合には、マイクロプロセッサ側の演算周期毎に得られる最新のパルス計数レジスタとパルス計時レジスタとのセットを用いて周波数を求め、バッファリングしていくことになる。従って、図18に示すように、一部のデータが使われずに捨てられる場合があり、周波数の精度劣化の要因になっていた。一方、実施の形態1にかかる速度検出装置1では、このような問題が発生しない。
以上説明したように、実施の形態1にかかる速度検出装置1は、パルス計数部107と、パルス計時部109と、計時クロック発生部103と、キャプチャークロック発生部104と、オーバーフロー検出部108と、キャプチャー部110と、演算部113とを有し、キャプチャー周期Tcapが一定になるようにしたので、特許文献1に示される速度検出装置のように、一部のデータが使われずに捨てられるというケースがなく、周波数の精度劣化が生じない。
また、実施の形態1にかかる速度検出装置1は、パルスエッジPEが入ってくるかどうかに関わらず、キャプチャークロックCK_CAPによって定期的にデータ(周波数演算値F)の取得が行われ、データが更新されるので、下記特許文献1に示される速度検出装置であったような、パルスエッジPEが無いときにデータが更新されないといった問題は発生しない。即ち、特許文献1に示される速度検出装置では、パルスエッジPEが入力されない場合、パルス計数レジスタとパルス計時レジスタとのセット(キャプチャー周期Tcap)が得られないため、最新の周波数演算値Fが求めることができないという問題があった。さらに、その対処方法として、パルス信号が長期に渡って入力されていないことを検出するパルス欠落検出手段を設け、パルス欠落しているときには、周波数演算値を0と認識するという処理を行わなければならなかったが、本発明の実施の形態1にかかる速度検出装置1では、このようなパルス欠落検出手段は不要である。
また、実施の形態1にかかる速度検出装置1では、キャプチャークロックCK_CAPによって定期的にデータ取得が行われるため、ハードウェアのタイマーに大きな値を格納する必要がなく、格段に小さなリソースによって低い周波数に対応できる。即ち、特許文献1に示される速度検出装置では、低い周波数まで認識可能とするためには、その周波数に相当する周期分の時間を測定可能な容量の時間計測回路を設けなければならない。例えば、計時用クロック=1MHz、16ビット幅のパルス計時部で計時する場合、1MHz/65536=15.3Hzが測定可能な下限周波数となる。このように、特許文献1に示される速度検出装置では、低い周波数に対応するために大きなハードウェアリソースが必要となるという問題があったのに対して、本発明の実施の形態1にかかる速度検出装置1では、このような大きなハードウェアリソースが不要である。
また、実施の形態1にかかる速度検出装置1によれば、パルスの時間測定用カウンターを1つのラッチのみで構成すればよい(本実施の形態では、キャプチャー部110のパルス計時レジスタCT)。即ち、特許文献2に示される速度検出装置では、パルスの時間を測定するためのカウンターの値をラッチするためにパルスエッジでラッチし、さらにキャプチャークロックでさらにラッチさせるため、二重のラッチが必要であったが、本発明の実施の形態1にかかる速度検出装置1では、余分なハードウェアリソースが不要である。
また、実施の形態1にかかる速度検出装置1は、パルス計時部109がオーバーフローした場合、前回割込時におけるパルス計時データ(YT)に、キャプチャークロック周期/計時クロック周期で得られる所定の定数値(TCAP)を加算することで、最後のパルスエッジPEからの時間/計時クロック周期であるパルス計時データ(XT)を求めるように構成されている。特許文献2に示される速度検出装置は、オーバーフローが発生している場合の処置内容が明示されていなかったが、本発明の実施の形態1にかかる速度検出装置1では、これらの処置内容も明確に示している。
また、実施の形態1にかかる速度検出装置1によれば、所定の周期内に入力されたパルスエッジの数が0個の場合、直後に仮にパルスエッジPEが入力されると仮定した周波数演算値と、前回の周波数演算値と、の低い方の値を選択するようにしたので、パルスエッジPEが入ってくるかどうかに関わらず、計時クロックCK_TIMによって、定期的に周波数演算値Fを得ることが可能である。特許文献2に示される速度検出装置は、所定の周期内にパルスエッジPEが1つも入力されなかった場合の処置内容が明示されていなかったが、本発明の実施の形態1にかかる速度検出装置1では、これらの処置内容も明確に示している。
実施の形態2.
次に、オーバーフローの検出方法が若干異なるものを紹介する。実施の形態1では、オーバーフローしているか否かをオーバーフロー検出部108のオーバーフローレジスタOVFで管理していた。実施の形態2では、オーバーフローしているか否かを、メモリーで管理する。それ以外は全く変わらないので、変更のある部分のみの説明を行う。
図3は、本発明の実施の形態2にかかる速度検出装置のオーバーフロー検出部と演算部との構成例を示す図である。オーバーフロー検出部108は、実施の形態1と同様である。
演算部113は、オーバーフローしているか否かを判断し、オーバーフローフラグOVFFをメモリーに保持するように構成され、オーバーフローレジスタOVFがセットされている場合、オーバーフローが発生していると判断してオーバーフローフラグOVFFをセットするとともに、オーバーフロー検出部108のオーバーフローレジスタOVFをクリアする。また、前回割込時のパルス計数レジスタの値と、今回割込時のパルス計数レジスタの値と、の差がある場合、演算部113は、オーバーフローが発生していないと判断してオーバーフローフラグOVFFをクリアする。
図3のオーバーフロー検出部108および演算部113の動作を説明する。図3のオーバーフロー検出部108は、ライブパルス計時値LTが最大値を超えたとき、オーバーフローレジスタOVFをセットする。演算部113は、割込処理によって、オーバーフローフラグOVFFをセットし、オーバーフローフラグOVFFを保持するとともに、オーバーフロー検出部108のオーバーフローレジスタOVFをクリアする。即ち、オーバーフローレジスタOVFが0から1に変化したとき、オーバーフローフラグOVFFが保持されるとともに、オーバーフローレジスタOVFがクリアされる。
以上説明したように、実施の形態2にかかる速度検出装置1は、オーバーフローしているか否かを判断し、オーバーフローフラグOVFFをメモリーに保持するように構成されているので、実施の形態1と同様の効果と共に、演算部113の構成を簡素化することが可能である。
実施の形態3.
次に、さらにオーバーフローの検出方法が若干異なるものを紹介する。実施の形態1、2では、オーバーフローしているか否かをオーバーフロー検出部108および演算部113で協調して行うが、実施の形態3では、オーバーフローしているか否かを、オーバーフロー検出部108で自動的に判定し、演算部113では、このオーバーフローレジスタOVFを読み込んでオーバーフローフラグOVFFに設定する。
図4は、本発明の実施の形態3にかかる速度検出装置のオーバーフロー検出部と演算部との構成例を示す図である。オーバーフロー検出部108は、ライブパルス計時値LTが最大値を超えたときオーバーフローレジスタOVFをセットするとともに、パルスエッジPEによりオーバーフローレジスタOVFをクリアする。即ち、実施の形態1および2は、演算部113の割込処理によって、オーバーフローレジスタOVFをクリアする態様であるが、実施の形態3は、パルスエッジPEによって、オーバーフローレジスタOVFをクリアするように構成されている。さらに、オーバーフロー検出部108は、オーバーフローレジスタOVFの値(1または0)を、キャプチャークロックCK_CAPのタイミングで保持するように構成されている。演算部113は、オーバーフロー検出部108で保持されたオーバーフローレジスタOVFを読み込んでオーバーフローフラグOVFFに設定する。
以上説明したように、実施の形態3にかかる速度検出装置1は、オーバーフローしているか否かをオーバーフロー検出部108で判定するようにしたので、実施の形態1と同様の効果と共に、演算部113の構成を一層簡素化することが可能である。
実施の形態4.
次に、ハードウェアの制約などにより、パルス計数部107のビット数や、パルス計時部109のビット数をあまり大きく出来ないが、精度を高める目的で、周波数を求める分母にあたるベース時間(=演算周期)を大きくしたいケースのために、実施の形態3に比べて、演算部113の構成を変更した実施の形態4を説明する。
図10は、本発明の実施の形態4にかかる演算部の構成例を示す図である。関連図は、図10〜図14である。実施の形態4にかかる速度検出装置1は、ソフトウェアに少しだけ負担をかけることで、ハードウェアの規模(パルス計数部107のビット数、パルス計時部109)を小さく保つように設計されている。
図10に示される演算部113は、バッファ処理部901と、演算処理部902とを有して構成されている。
バッファ処理部901は、周波数を求めるところは行わず、割込要求IRQによって、リングバッファへの書き込み処理を行う。周波数を演算する部分は、演算周期Tcal毎の演算処理部902に移す。より具体的には、バッファ処理部901は、パルス計数レジスタCNの値を時系列的に記憶するパルス計数リングバッファN[ ]と、パルス計時レジスタCTの値を時系列的に記憶するパルス計時リングバッファT[ ]と、リングバッファの現在の位置を保持するリングバッファポインタPNTとを有している。
演算処理部902は、キャプチャークロックの周期の整数倍の演算周期Tcal(所定の演算周期)毎に起動し、バッファ処理部901でバッファされたデータに基づいて、周波数演算値Fを算出する。
図11は、本発明の実施の形態4にかかる速度検出装置の設計手順の一例を示す図である。
・スペック設定ステップ601
演算周期Tcal、最大入力周波数Fmax、最小入力周波数Fmin、目標精度ACCtを設定する。例えば、
演算周期 Tcal=20ms
最大入力周波数 Fmax=8000Hz
最小入力周波数 Fmin=1Hz
目標精度 ACCt=25ppm*20ms=0.5ppm・s
とする。
・計時クロック周波数設定ステップ602
Ftim≧1/ACCt−1/Tcal 例えば、≧1.99995MHzで、ここでは2.5MHzに設定する。
・キャプチャー周期設定ステップ603
ハードウェア制約、ソフトウェア制約を考慮し、以下の条件を満たす様にキャプチャー周期Tcapを設定する。
パルス計数必要ビット数 Nwidth=Roundup(log(Fmax*Tcap)/log(2),0)
パルス計時必要ビット数 Twidth=Roundup(log(Ftim*Tcap)/log(2),0)
上記必要ビット数が大きくなると、ハードウェア制約となり、Tcapが小さくなると、割込頻度が増え、ソフトウェア制約となる。バランスを考慮して決定する。例えば、Tcap=2.5ms、Nwidth=5、Twidth=13に設定する。
・各種演算定数算出ステップ604
各種定数を求める。この値は後述する演算部113で用いられる。
パルス計数マスク値0(第1のマスク値) NMASK0 = 2^Nwidth−1
パルス計数最大値 NMAX = Fmax * Tcal
パルス計数マスク値1(第2のマスク値) NMASK1 = 2^(Roundup(log(NMAX)/log(2),0))−1
パルス計時マスク値0 TMASK0 = 2^Twidth−1
キャプチャー周期指数 TCAP = Tcap * Ftim
パルス計時最大値 TMAX = Ftim / Fmin
演算周期指数 TCAL = Tcal * Ftim
例えば、上記はそれぞれ、0x1f、160、0xff、0x1fff、6250、2500000、50000となる。
図12は、図10のバッファ処理部の処理手順の一例を示す図である。バッファ処理部901は、割込要求IRQにより起動し、主たる構成として、データ読込ステップ401と、オーバーフロー処理ステップ402と、割込要求クリアステップ403と、計数値編集ステップ404と、計時値編集ステップ405と、バッファ更新ステップ406と、ポインタ更新ステップ407と、前回値設定ステップ408と、を有して構成されている。
・データ読込ステップ401
バッファ処理部901は、キャプチャー部110よりCN、CTを読み取り、ローカル変数XN、XTにコピーする。
・オーバーフロー処理402
バッファ処理部901は、図2、図3、図4の何れかを実施してオーバーフローフラグOVFFを得る。
・割込要求クリアステップ403
バッファ処理部901は、割込要求クリア要求ICRQを出力する。
・計数値編集ステップ404
バッファ処理部901は、下記の式にて、キャプチャー周期Tcap用から演算周期Tcal用にビット拡張した値XNを求める。
XN=(YN+(XN−YN)&NMASK0)&NMASK1
即ち、バッファ処理部901は、今回割込時におけるパルス計数レジスタXNの値から前回割込時におけるパルス計数レジスタYNの値を減じた値と、NMASK0と、の論理積から、前回割込時から今回割込時の間に入力されたパルスエッジの数を求める。さらに、バッファ処理部901は、前回のパルス計数データ(YN)に、前回割込時から今回割込時の間に入力されたパルスエッジの数を加算した値と、NMASK1と、の論理積により今回のパルス計数データ(XN)を求める。
・計時値編集ステップ405
バッファ処理部901は、下記の式にて、最後にパルスエッジPEが入力されてから、キャプチャークロックCK_CAPまでの時間XTを求める。
OVFF=0即ちオーバーフローなしの時、
XT=XT&TMASK0
即ち、バッファ処理部901は、パルス計時部109でオーバーフローが発生していない場合、パルス計時レジスタCTの値によって、パルス計時データXTを求める。
それ以外のとき、
XT=MIN(YT+TCAP,TMAX)
即ち、バッファ処理部901は、パルス計時部109でオーバーフローが発生している場合、前回のパルス計時データ(YT)に、キャプチャークロック周期/計時クロック周期で得られる所定の定数値(TCAP)を加算することで、最後のパルスエッジPEからの時間/計時クロック周期であるパルス計時データ(XT)を求める。
・バッファ更新ステップ406
バッファ処理部901は、次のリングバッファポインタの位置PNT2を求める。
下記の式にて、リングバッファを更新する。
N[PNT2]=XN
T[PNT2]=XT
・ポインタ更新ステップ407
バッファ処理部901は、リングバッファポインタPNTを更新する。
・前回値設定ステップ408
バッファ処理部901は、下記の式にて、前回値を設定する。
YN=XN
YT=XT
ここでひとつ注意点がある。パルス計時リングバッファT[ ]はパルス計数最大値TMAXで初期化されていなければならない。
図13は、図10の演算処理部の処理手順の一例を示す図である。演算処理部902は、演算周期Tcal毎に起動し、主たる構成として、ポインタ読込ステップ501と、分子演算ステップ502と、周波数演算値Fを求める周波数演算ステップ503と、を有して構成されている。
・ポインタ読込ステップ501
演算処理部902は、リングバッファポインタPNTを一度だけ参照し、ローカル変数C0には今回のポインタ位置を設定し、ローカル変数C1にはC0からTCAL/TCAP個分遡ったポインタ位置を設定する。
・分子演算ステップ502
演算処理部902は、下記の式にて、NUMを求める。
NUM = MIN((N[C0]−N[C1])&MASK1,NMAX)
即ち、演算処理部902は、リングバッファを参照して、今回のパルス計数データ(N[C0])から、所定の演算周期(TCAL/TCAP)分遡った位置のパルス計数データ(N[C1])を減じた値と、MASK1との論理積から、所定の演算周期の間に入力されたパルスエッジの数NUMを求める。
・周波数演算ステップ503
演算処理部902は、下記の式にて、Fを求める。
NUMが0のとき、
F=MIN(Ftim/T[C0],F)
それ以外のとき、
F=NUM*Ftim/(TCAL+T[C1]−T[C0])
ここで、図14および図15を用いて、演算部113の処理を解説する。図14は、図10の演算部の処理内容の説明図であり、図15は、図10の演算部の他の処理内容の説明図である。
図14において、CASE1は、パルスエッジPEが1個以上入ってきている例である。図では、NUMが12個であり、また(TCAL+T[C1]−T[C0])/Ftimと記載した区間には、パルス周期が12周期ある。よって、周波数を求める式の分子としてNUMの値で問題ないことが分かる。
また、周波数演算値Fを求める式の分母、つまり12周期分の時間については、(TCAL+T[C1]−T[C0])/Ftimと図示したところをみれば、TCAL/Ftimと図示した時間より、T[C1]/Ftim分左側が長く、T[C0]/Ftim分右側が短くなっていることから、(TCAL+T[C1]−T[C0])/Ftimで正しいことは明白だろう。
そのため、周波数演算値Fを求める式として、「F = NUM*Ftim/(TCAL+T[C1]−T[C0])」が正しいことが分かる。
次にCASE2では、パルスエッジPEが1つも入ってきていない状態である。このとき、情報としては、パルスエッジPEが入ってきていないからといって何もないのではなく、現時点で、最後のパルスエッジPEからT[C0]/Ftimだけ経過しているため、少なくとも、周波数として、Ftim/T[C0]よりは小さいことは明白である。従って、演算部113は、前回の周波数演算値FとFtim/T[C0]との小さい方を、新しい周波数演算値Fとして出力する。つまり、「F=MIN(Ftim/T[C0],F)」という式を使っている。
なお、図15のCALは、本演算部113が動作している部分を示すが、これはソフトウェアの負荷変動の都合上、ぴったり演算周期Tcalとはならず、毎回多少変動する。しかし、これは演算には全く影響しない。なぜなら、ポインタ読込ステップ501でリングバッファポインタPNTを一度だけ参照することで、直前のキャプチャデータの位置を憶え、それから所定の数だけポインタを遡ることできっちり演算周期Tcal間のデータを参照することができるからである。よって、非常に稀ではあるが、図15に示すようなタイミングで本演算部113が動作した場合には、CASE1では、図中G(ギャップ)と示されている区間のデータは用いられず、CASE2では、図中W(ラップ)と示されている区間のデータは2度使われる。
ここで、図19および図20を用いて、シミュレーション結果の説明を行う。図19は、特許文献1に示される速度検出装置のシミュレーション結果の一例を示す図であり、図20は、本発明の実施の形態4にかかる速度検出装置のシミュレーション結果の一例を示す図である。
図19において、従来の速度検出装置では、701の動作で、周波数演算値Fが、15.3Hzで飽和しているは、パルス信号Pが入力されない期間であるためである。また、従来の速度検出装置では、702の動作が示すように、入力周波数0の状態から1パルスだけ、入力信号INが入力された場合、最低認識周波数を認識してしまう。
図20において、実施の形態4にかかる速度検出装置1では、パルスエッジPEが入ってくるかどうかに関わらず、計時クロックCK_TIMによって定期的にデータ取得が行われる。図20の801の動作を図19の701の動作と比較すると、図20の801の動作には図19の701に見られるような飽和は見られない。さらに、図19の702の動作に見られるような、最低周波数を認識してしまう現象も見られない。
以上説明したように、実施の形態4にかかる速度検出装置1によれば、ソフトウェアに少し負担をかけるだけで、ハードウェアの規模(パルス計数部107のビット数、パルス計時部109)を更に小さく保つことができる。特許文献1に示される速度検出装置のように、データが使われることなく失われるケースは稀にあるものの、周波数の精度劣化とはいえない。
実施の形態5.
次に、ノイズの影響を除去するために、フィルタ部105を追加した実施の形態5について説明する。図16は、本発明の実施の形態5にかかる速度検出装置の構成例を示す図である。以下、実施の形態1と同一部分には同一符号を付してその説明を省略し、ここでは異なる部分についてのみ述べる。
図16の速度検出装置1は、主たる構成として、波形整形部101と、フィルタクロック発生部102と、フィルタ部105と、エッジ検出部106と、パルス計数部107と、計時クロック発生部103と、パルス計時部109と、キャプチャークロック発生部104と、オーバーフロー検出部108と、キャプチャー部110と、割込要求部111と、演算部113と、を有して構成されている。実施の形態5では、実施の形態1と異なる要素として、波形整形部101の後段に設置されたノイズ除去用のフィルタ部105と、フィルタ部105に必要なクロックを供給するフィルタクロック発生部102とを有している。
フィルタ部105は、フィルタクロックCK_FILでパルス信号Pをサンプリングし、所定回数の連続一致を条件に、出力を変化させるように構成されている。
ノイズの周波数は一般的に高く、回路に混入した場合、パルス信号Pが高速に変化する。そのため、フィルタクロックCK_FILと連続一致の回数を適切に設定すれば、ノイズ成分は完全にカットできる。また、入力信号INに重畳されるノイズではなくても、波形整形部101の出力波形が振動的になった場合には、ノイズと同様に高い周波数成分を含んでしまうが、この場合も同様に、本フィルタ回路で除去することができる。さらに、フィルタ部105はフィルタであるので、若干の応答遅れが発生するが、キャプチャー周期Tcapに比べて十分短いものであり、図示しない後段のシステムへは全く影響を与えない。
ここで、フィルタを設定する上での注意点がある。波形整形部101ではフォトカプラを用いて絶縁することがある。この場合、フォトカプラのON時間とOFF時間との違いによって、高い周波数を入力信号INに入力したとき、入力信号INのデューティ比がたとえ50:50だとしても、パルス信号Pのデューティ比が大きく偏ってしまうことがある。フィルタクロックCK_FILと連続一致の回数によって得られる帯域については、このデューティ比の偏りを考慮して、実際に使用する帯域より十分高い帯域に設定しなければならない。例えば、スペック上の最大入力周波数で、パルス信号Pのデューティ比1:99となった場合でも認識可能な帯域としてもよいだろう。
以上説明したように、実施の形態5にかかる速度検出装置1は、波形整形部101の後段に設置され、フィルタクロックCK_FILでパルス信号Pをサンプリングし、数回の連続一致を条件に出力を変化させるフィルタ部105を備えるようにしたので、実施の形態1〜4の効果に加えて、波形整形部101の出力波形が振動的になった場合でも、高いノイズフィルタ効果を得ることが可能である。
実施の形態6.
次に、多チャンネル化した実施の形態6について説明する。図17は、本発明の実施の形態6にかかる速度検出装置の構成例を示す図である。以下、実施の形態5と同一部分には同一符号を付してその説明を省略し、ここでは異なる部分についてのみ述べる。
図17の速度検出装置1は、主たる構成として、波形整形部101と、フィルタクロック発生部102と、フィルタ部105と、エッジ検出部106と、パルス計数部107と、計時クロック発生部103と、パルス計時部109と、キャプチャークロック発生部104と、オーバーフロー検出部108と、キャプチャー部110と、割込要求部111と、演算部113と、を有して構成されている。実施の形態5では、実施の形態1と異なる要素として、波形整形部101の後段に設置されたノイズ除去用のフィルタ部105と、フィルタ部105に必要なクロックを供給するフィルタクロック発生部102とを有している。
図17の速度検出装置1は、波形整形部101、フィルタ部105、エッジ検出部106、パルス計数部107、パルス計時部109、オーバーフロー検出部108、およびキャプチャー部110を複数有し、さらに、フィルタクロック発生部102、計時クロック発生部103、キャプチャークロック発生部104、および割込要求部111を有して構成されている。即ち、図17の速度検出装置1は、複数のチャンネルに対して、フィルタクロック発生部102、計時クロック発生部103、キャプチャークロック発生部104、および割込要求部111を共用する構成である。
以上説明したように、実施の形態6にかかる速度検出装置1は、計時クロック発生部103と、キャプチャークロック発生部104と、フィルタクロック発生部102と、割込要求部111と共用するようにしたので、多チャンネル化した場合でも割込要求IRQ発生頻度は変わらないため、ソフトウェアへのオーバーヘッドを抑えることが可能である。特許文献1に示される速度検出装置では、多チャンネル化した際に、チャンネル毎に、ばらばらに割込要求IRQが発生するため、この割込要求IRQが割込頻度を上げ、ソフトウェアへのオーバーヘッドが発生する場合があるという問題があったが、実施の形態6の速度検出装置1では、多チャンネル化しても割込要求IRQ発生頻度は変わらず、ソフトウェアへのオーバーヘッドを抑えることが可能である。
なお、本発明の実施の形態1〜6にかかる速度検出装置は、波形整形部101と、エッジ検出部106と、計時クロック発生部103と、キャプチャークロック発生部104とを有して構成されているが、これに限定されるものではなく、波形整形部101と、エッジ検出部106と、計時クロック発生部103と、キャプチャークロック発生部104とを速度検出装置の外部に設置し、そこから得られたパルスエッジPE、キャプチャークロックCK_CAP、計時クロックCK_TIMを用いてもよい。
また、本発明の実施の形態1〜6にかかる速度検出装置は、鉄道車両の向けの速度検出装置を例に説明したが、他にも周波数信号を測定するあらゆる機器にも適用可能である。その他、本発明は、その趣旨を逸脱しない範囲で種々変形して実施可能である。
以上のように、本発明にかかる速度検出装置は、鉄道車両向け速度検出装置を始め、他にも周波数信号を測定するあらゆる機器に適用可能であり、特に、周波数の精度劣化がなく、常にデータ更新され、回路規模も比較的小さく、ソフトウェアへのオーバーヘッドも少ない発明として有用である。
1 速度検出装置
101 波形整形部
102 フィルタクロック発生部
103 計時クロック発生部
104 キャプチャークロック発生部
105 フィルタ部
106 エッジ検出部
107 パルス計数部
108 オーバーフロー検出部
109 パルス計時部
110 キャプチャー部
111 割込要求部
113 演算部(周波数算出部)
701,702,801周波数演算値の波形
901 バッファ処理部
902 演算処理部
ACCt 目標精度
CK_CAP キャプチャークロック
CK_FIL フィルタクロック
CK_TIM 計時クロック
CN パルス計数レジスタ
CT パルス計時レジスタ
F 周波数演算値
Fmax 最大入力周波数
Fmin 最小入力周波数
Ftim 計時クロック周波数
ICRQ 割込要求クリア要求
IN 入力信号
IRQ 割込要求
LN ライブパルス計数値
LT ライブパルス計時値
N[ ] パルス計数リングバッファ
NMASK0 パルス計数マスク値0(第1のマスク値)
NMASK1 パルス計数マスク値1(第2のマスク値)
NMAX パルス計数最大値
NUM パルスエッジの数
Nwidth パルス計数必要ビット数
OVF オーバーフローレジスタ
OVFF オーバーフローフラグ
P パルス信号
PE パルスエッジ(パルス)
PNT リングバッファポインタ
T[ ] パルス計時リングバッファ
TCAL 演算周期指数
TCAP キャプチャー周期指数(所定の定数)
Tcap キャプチャー周期
Tcal 演算周期
TMASK0 パルス計時マスク値0
TMAX パルス計時最大値
Twidth パルス計時必要ビット数

Claims (10)

  1. 外部からの入力信号のパルス数を計数するパルス計数部と、
    計時クロックによりカウントアップし、パルスによってクリアされることで、最後のパルスからの時間を計時するパルス計時部と、
    前記パルス計時部がオーバーフローしたことを検出しオーバーフローレジスタに保持するオーバーフロー検出部と、
    一定周期毎に測定結果を得るキャプチャークロックのタイミングで割込要求を出力することにより、前記パルス計数部からの出力をパルス計数レジスタに保持すると共に、前記パルス計時部からの出力をパルス計時レジスタに保持するキャプチャー部と、
    前記パルス計数レジスタの値と、前記パルス計時レジスタの値と、前記オーバーフローレジスタの値と、を読み取り、所定の演算により、周波数演算値を算出する周波数算出部と、
    を備え、
    前記周波数算出部は、前記パルス計時部がオーバーフローした場合、前回割込時における最後のパルスからの時間/前記計時クロックの周期であるパルス計時データに、前記キャプチャークロックの周期/前記計時クロックの周期で得られる所定の定数を加算して、最後のパルスからの時間/前記計時クロックの周期であるパルス計時データを求めることにより、前記周波数演算値を算出し、
    所定の周期内に入力されたパルスが0個の場合、直後にパルスが入力されると仮定した周波数演算値と、前回の周波数演算値と、の低い方の値を選択することにより、周波数演算値を推定すること、
    を特徴とする速度検出装置。
  2. 前記オーバーフロー検出部は、
    前記オーバーフローレジスタを、前記パルス計時部が所定の最大値を超えたことを検出してセットし、前記周波数算出部からクリアされるまで保持するように構成され、
    前記周波数算出部は、
    前回割込時のパルス計数レジスタの値と、今回割込時のパルス計数レジスタの値と、の差がない場合、オーバーフローが発生していないと判断すると共に、前記オーバーフローレジスタをクリアし、
    前回割込時のパルス計数レジスタの値と、今回割込時のパルス計数レジスタの値と、の差がある場合、前記オーバーフローレジスタの値によりオーバーフローが発生しているか否かを判断すること、
    を特徴とする請求項1に記載の速度検出装置。
  3. 前記オーバーフロー検出部は、
    前記オーバーフローレジスタを、パルス計時部が所定の最大値を超えたことを検出してセットし、前記周波数算出部からクリアされるまで保持するように構成され、
    前記周波数算出部は、
    前記オーバーフローレジスタがセットされている場合、所定のメモリーに、オーバーフローの発生を示すオーバーフローフラグをセットすると共に、前記オーバーフローレジスタをクリアし、
    前回割込時のパルス計数レジスタの値と、今回割込時のパルス計数レジスタの値と、の差がある場合、オーバーフローが発生していないと判断し、前記オーバーフローフラグをクリアすること、
    を特徴とする請求項1に記載の速度検出装置。
  4. 前記オーバーフロー検出部は、
    オーバーフロービットを、パルス計時部が所定の最大値を超えたことを検出してセットし、パルスによりクリアし、
    前記キャプチャークロックにあわせて、前記オーバーフロービットを前記オーバーフローレジスタに保持すること、
    を特徴とする請求項1に記載の速度検出装置。
  5. 前記周波数算出部は、
    パルス計時レジスタのビット数を拡張して保持する変数であるパルス計時データを備え、
    今回割込時におけるパルス計数レジスタの値から、前回割込時におけるパルス計数レジスタの値を減じた値に基づき、前回割込時から今回割込時の間に入力されたパルスの数を求め、
    前記パルス計時部でオーバーフローが発生していない場合、前記パルス計時レジスタの値により、パルス計時データを求め、
    前記パルス計時部でオーバーフローが発生している場合、前回のパルス計時データに、前記キャプチャークロックの周期/前記計時クロックの周期で得られる所定の定数を加算することで、最後のパルスからの時間/前記計時クロックであるパルス計時データを求め、
    下記演算式により周波数演算値を求めること、
    を特徴とする請求項1に記載の速度検出装置。
    NUMが0以外の場合、
    F=NUM*Ftim÷(TCAP+YT−XT)
    NUMが0の場合、
    F=MIN(Ftim÷XT,F)
    ここで、
    右辺に現れるFは、前回の周波数演算値。
    左辺に現れるFは、今回の周波数演算値。
    NUMは、前回割込時から今回割込時の間に入力されたパルスの数。
    Ftimは、計時クロック周波数。
    TCAPは、前記キャプチャークロックの周期を、計時クロックの周期で割った所定の定数。
    XTは、今回割込時における最後のパルスからの時間/計時クロックの周期であるパルス計時データ。
    YTは、前回割込時における最後のパルスからの時間/計時クロックの周期である前回のパルス計時データ。
    MINは、最小値を返す関数。
  6. 前記周波数算出部は、
    前記パルス計数レジスタの値と、前記パルス計時レジスタの値と、前記オーバーフローレジスタの値と、を読み取りバッファリングするバッファ処理部と、
    前記キャプチャークロックの周期の整数倍の演算周期毎に起動し、前記バッファ処理部でバッファしたデータに基づき、演算周波数を算出する演算処理部と、
    を有し、
    前記バッファ処理部は、
    前記パルス計数レジスタの値と前記パルス計時レジスタの値とを時系列的に記憶するリングバッファと、前記リングバッファの現在の位置を保持するリングバッファポインタとを備え、
    今回割込時におけるパルス計数レジスタの値から前回割込時におけるパルス計数レジスタの値を減じた値と、第1のマスク値と、の論理積から前回割込時から今回割込時の間に入力されたパルスの数を求め、
    前回のパルス計数データに、前回割込時から今回割込時の間に入力されたパルスの数を加算した値と、第2のマスク値と、の論理積により今回のパルス計数データを求め、
    ここで、マスク値は2のべき乗−1の形式で表され、第2のマスク値は第1のマスク値より大きい値であり、
    前記パルス計時部でオーバーフローが発生していない場合、前記パルス計時レジスタの値により、パルス計時データを求め、
    前記パルス計時部でオーバーフローが発生している場合、前回のパルス計時データに、前記キャプチャークロックの周期/前記計時クロックの周期で得られる所定の定数を加算することで、最後のパルスからの時間/前記計時クロックであるパルス計時データを求め、
    リングバッファの現在の位置の次の位置に、パルス計数データおよびパルス計時データを保存してからポインタを更新する処理を含み、
    前記演算処理部は、
    ポインタの値を参照し、今回のポインタ位置と、今回のポインタ位置から所定の演算周期分過去に遡ったポインタ位置と、を求め、
    リングバッファを参照して、今回のパルス計数データから、所定の演算周期分過去のパルス計数データを減じた値と、第2のマスク値と、の論理積から、所定の演算周期の間に入力されたパルスの数を求め、
    下記演算式により周波数演算値を求めること、
    を特徴とする請求項1に記載の速度検出装置。
    NUMが0以外の場合、
    F=NUM*Ftim÷(TCAL+T[C1]−T[C0])
    NUMが0の場合、
    F=MIN(Ftim÷T[C0],F)
    ここで、
    右辺に現れるFは、前回の周波数演算値。
    左辺に現れるFは、今回の周波数演算値。
    NUMは、所定の演算周期の間に入力されたパルスの数。
    Ftimは、計時クロック周波数。
    TCALは、所定の演算周期を、計時クロック周期で割った所定の定数。
    T[C0]は、今回のパルス計時データ。
    T[C1]は、所定の演算周期分過去のパルス計時データ。
    MINは、最小値を返す関数。
  7. 形整形部の後段に設置されたフィルタ部と、
    前記フィルタ部に必要なクロックを供給するフィルタクロック発生部と、
    を備え、
    前記フィルタ部は、フィルタクロックでパルス信号をサンプリングし、所定回数の連続一致を条件に、出力を変化させること、
    を特徴とする請求項1に記載の速度検出装置。
  8. ッジ検出部と、前記パルス計数部と、前記オーバーフロー検出部と、前記パルス計時部と、前記キャプチャー部と、前記フィルタ部とを複数備え、
    前記フィルタクロック発生部を共用すること、
    を特徴とする請求項7に記載の速度検出装置。
  9. 外部からの入力信号のパルス数を計数するパルス計数部と、
    計時クロックによりカウントアップし、パルスによってクリアされることで、最後のパルスからの時間を計時するパルス計時部と、
    前記パルス計時部がオーバーフローしたことを検出しオーバーフローレジスタに保持するオーバーフロー検出部と、
    一定周期毎に測定結果を得るキャプチャークロックのタイミングで割込要求を出力することにより、前記パルス計数部からの出力をパルス計数レジスタに保持すると共に、前記パルス計時部からの出力をパルス計時レジスタに保持するキャプチャー部と、
    前記パルス計数レジスタの値と、前記パルス計時レジスタの値と、前記オーバーフローレジスタの値と、を読み取り、所定の演算により、周波数演算値を算出する周波数算出部と、
    を備え、
    前記周波数算出部は、前記パルス計時部がオーバーフローした場合、前回割込時における最後のパルスからの時間/前記計時クロックの周期であるパルス計時データに、前記キャプチャークロックの周期/前記計時クロックの周期で得られる所定の定数を加算して、最後のパルスからの時間/前記計時クロックの周期であるパルス計時データを求めることにより、前記周波数演算値を算出し、
    前記オーバーフロー検出部は、
    オーバーフロービットを、パルス計時部が所定の最大値を超えたことを検出してセットし、パルスによりクリアし、前記キャプチャークロックにあわせて、前記オーバーフロービットを前記オーバーフローレジスタに保持すること、
    を特徴とする速度検出装置。
  10. 外部からの入力信号のパルス数を計数するパルス計数部と、
    計時クロックによりカウントアップし、パルスによってクリアされることで、最後のパルスからの時間を計時するパルス計時部と、
    前記パルス計時部がオーバーフローしたことを検出しオーバーフローレジスタに保持するオーバーフロー検出部と、
    一定周期毎に測定結果を得るキャプチャークロックのタイミングで割込要求を出力することにより、前記パルス計数部からの出力をパルス計数レジスタに保持すると共に、前記パルス計時部からの出力をパルス計時レジスタに保持するキャプチャー部と、
    前記パルス計数レジスタの値と、前記パルス計時レジスタの値と、前記オーバーフローレジスタの値と、を読み取り、所定の演算により、周波数演算値を算出する周波数算出部と、
    を備え、
    前記周波数算出部は、前記パルス計時部がオーバーフローした場合、前回割込時における最後のパルスからの時間/前記計時クロックの周期であるパルス計時データに、前記キャプチャークロックの周期/前記計時クロックの周期で得られる所定の定数を加算して、最後のパルスからの時間/前記計時クロックの周期であるパルス計時データを求めることにより、前記周波数演算値を算出し、
    パルス計時レジスタのビット数を拡張して保持する変数であるパルス計時データを備え、
    今回割込時におけるパルス計数レジスタの値から、前回割込時におけるパルス計数レジスタの値を減じた値に基づき、前回割込時から今回割込時の間に入力されたパルスの数を求め、
    前記パルス計時部でオーバーフローが発生していない場合、前記パルス計時レジスタの値により、パルス計時データを求め、
    前記パルス計時部でオーバーフローが発生している場合、前回のパルス計時データに、前記キャプチャークロックの周期/前記計時クロックの周期で得られる所定の定数を加算することで、最後のパルスからの時間/前記計時クロックであるパルス計時データを求め、
    下記演算式により周波数演算値を求めること、
    を特徴とする速度検出装置。
    NUMが0以外の場合、
    F=NUM*Ftim÷(TCAP+YT−XT)
    NUMが0の場合、
    F=MIN(Ftim÷XT,F)
    ここで、
    右辺に現れるFは、前回の周波数演算値。
    左辺に現れるFは、今回の周波数演算値。
    NUMは、前回割込時から今回割込時の間に入力されたパルスの数。
    Ftimは、計時クロック周波数。
    TCAPは、前記キャプチャークロックの周期を、計時クロックの周期で割った所定の定数。
    XTは、今回割込時における最後のパルスからの時間/計時クロックの周期であるパルス計時データ。
    YTは、前回割込時における最後のパルスからの時間/計時クロックの周期である前回のパルス計時データ。
    MINは、最小値を返す関数。
JP2011532411A 2010-03-16 2010-03-16 速度検出装置 Expired - Fee Related JP4912511B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/054428 WO2011114438A1 (ja) 2010-03-16 2010-03-16 速度検出装置

Publications (2)

Publication Number Publication Date
JP4912511B2 true JP4912511B2 (ja) 2012-04-11
JPWO2011114438A1 JPWO2011114438A1 (ja) 2013-06-27

Family

ID=44648570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011532411A Expired - Fee Related JP4912511B2 (ja) 2010-03-16 2010-03-16 速度検出装置

Country Status (4)

Country Link
US (1) US9151772B2 (ja)
JP (1) JP4912511B2 (ja)
CN (1) CN102792167B (ja)
WO (1) WO2011114438A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9686062B2 (en) * 2011-03-04 2017-06-20 Alcatel Lucent Virtual aggregation of fragmented wireless spectrum
FR3037392B1 (fr) * 2015-06-12 2018-11-09 Renault S.A.S. Procede de calcul d'une vitesse de roue et dispositif de mesure correspondant
US10788853B2 (en) * 2017-01-31 2020-09-29 Texas Instruments Incorporated Interrupt handling method and apparatus for slow peripherals
CN109375128B (zh) * 2018-10-15 2020-09-15 合肥本源量子计算科技有限责任公司 一种载频脉冲信号频率校准方法
CN111141926B (zh) * 2019-12-27 2022-06-03 宁波三星智能电气有限公司 一种充电桩内的风机转速检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59214920A (ja) * 1983-05-20 1984-12-04 Yaskawa Electric Mfg Co Ltd パルス周波数演算方式
JPH0618538A (ja) * 1992-02-05 1994-01-25 Shinko Electric Co Ltd 速度検出装置
JPH0757346A (ja) * 1993-08-17 1995-03-03 Rohm Co Ltd Vtrのマイコンサーボ系におけるモータ起動回路
JP2000074962A (ja) * 1998-08-28 2000-03-14 Nec Ic Microcomput Syst Ltd 周期計測装置および周期計測方法、並びに記録媒体
JP2007075395A (ja) * 2005-09-15 2007-03-29 Samii Kk 遊技機用基板ユニット

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH061279B2 (ja) * 1982-12-01 1994-01-05 株式会社日立製作所 デイジタル式速度検出装置
JPH04121085A (ja) * 1990-09-10 1992-04-22 Hitachi Ltd ディジタルパルス処理装置
JPH04350564A (ja) * 1991-05-28 1992-12-04 Zexel Corp パルスの発生周期演算方法
JP2945284B2 (ja) 1994-11-08 1999-09-06 神鋼電機株式会社 速度検出装置
JPH08233842A (ja) 1995-02-28 1996-09-13 Mitsubishi Electric Corp 速度検出装置およびその異常検出方法
US6219624B1 (en) * 1998-08-03 2001-04-17 Visteon Global Technologies, Inc. Synchronous timer vehicle speed measurement
DE102006032788A1 (de) 2005-07-15 2007-03-29 Denso Corp., Kariya Alternatives Eingabesteuerverfahren und -vorrichtung
JP2007045395A (ja) 2005-07-15 2007-02-22 Denso Corp 代替入力制御方法および代替入力制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59214920A (ja) * 1983-05-20 1984-12-04 Yaskawa Electric Mfg Co Ltd パルス周波数演算方式
JPH0618538A (ja) * 1992-02-05 1994-01-25 Shinko Electric Co Ltd 速度検出装置
JPH0757346A (ja) * 1993-08-17 1995-03-03 Rohm Co Ltd Vtrのマイコンサーボ系におけるモータ起動回路
JP2000074962A (ja) * 1998-08-28 2000-03-14 Nec Ic Microcomput Syst Ltd 周期計測装置および周期計測方法、並びに記録媒体
JP2007075395A (ja) * 2005-09-15 2007-03-29 Samii Kk 遊技機用基板ユニット

Also Published As

Publication number Publication date
CN102792167A (zh) 2012-11-21
CN102792167B (zh) 2014-09-03
US9151772B2 (en) 2015-10-06
WO2011114438A1 (ja) 2011-09-22
US20120323523A1 (en) 2012-12-20
JPWO2011114438A1 (ja) 2013-06-27

Similar Documents

Publication Publication Date Title
JP4912511B2 (ja) 速度検出装置
US7391240B2 (en) Clock anomaly detection circuit and clock anomaly detection method
EP3598179B1 (en) Seismic sensor and earthquake determination method
US9647606B2 (en) Counter based circuit for measuring movement of an object
KR101240798B1 (ko) 리얼타임클럭 주파수 오프셋 검출장치 및 그 방법
JP3750924B2 (ja) 放射線モニタ
JP5077815B2 (ja) パルス入力装置
JP6000652B2 (ja) パルスモータ制御装置およびパルス信号生成方法
JP6161682B2 (ja) 信号周期検出装置及び信号周期検出方法
JP5678868B2 (ja) 信号処理装置
KR19990043005A (ko) 증분형 엔코더를 이용한 전동기 속도 검출 장치
JP2018186639A (ja) 保護継電装置
EP3321764A1 (en) Clock frequency detection method and apparatus
JP2007010593A (ja) 周波数測定回路及びそれを用いた振動センサ式差圧・圧力伝送器
KR19980054686A (ko) 전동기에 있어서 속도검출방법 및 장치
JP3842880B2 (ja) クロックの周波数異常検出回路および方法
JP6374350B2 (ja) タイマ同期システム
JPS59214920A (ja) パルス周波数演算方式
KR19990001541A (ko) 속도검출방법 및 장치
JPH02295217A (ja) パルス計測回路
KR20140060931A (ko) 레지스터를 이용한 스마트 휠 센서 신호 처리 방법
JP2005009916A (ja) 周波数測定装置
JP2020031374A (ja) Pwm信号受信装置
JPH03100473A (ja) パルス列入力処理装置
JPH0314315A (ja) フィルタ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110802

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110802

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111220

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120117

R150 Certificate of patent or registration of utility model

Ref document number: 4912511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150127

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees