JP4299850B2 - Counter circuit device - Google Patents
Counter circuit device Download PDFInfo
- Publication number
- JP4299850B2 JP4299850B2 JP2006261887A JP2006261887A JP4299850B2 JP 4299850 B2 JP4299850 B2 JP 4299850B2 JP 2006261887 A JP2006261887 A JP 2006261887A JP 2006261887 A JP2006261887 A JP 2006261887A JP 4299850 B2 JP4299850 B2 JP 4299850B2
- Authority
- JP
- Japan
- Prior art keywords
- count value
- value
- counter
- current
- overflow
- 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
Links
Images
Landscapes
- Gyroscopes (AREA)
- Manipulation Of Pulses (AREA)
Description
この発明は、例えば計測の分野に適用され、時間的に周波数が変化するパルス信号を一定間隔ごとに計数する技術に関する。 The present invention relates to a technique which is applied to, for example, the field of measurement and counts pulse signals whose frequency changes with time at regular intervals.
従来からカウンタ回路の最大カウント値を増やす方法としては、例えば非特許文献1のような教科書に示されているように、縦続に接続するトグルタイプフリップフロップ(Toggle type Flip Flop以下TFFと略す)の数を増やす方法が知られている。また、同様に図8に示すものが特許文献1に開示されている。この回路は、4桁のカウント値を得るもので、1桁がシフトレジスタ1と、シフトレジスタ1のシフト状態を例えばバイナリ値にエンコードするエンコーダ5とによって構成される。この構成が4段縦続に接続されて、4桁のカウンタ回路を構成している。カウント値を増やす場合は、シフトレジスタを構成するフリップフロップ(以下FFと略す)の数を増やすか、又はシフトレジスタ1とエンコーダ5との組を組単位で増やす変更を行う。
Conventionally, as a method for increasing the maximum count value of the counter circuit, for example, as shown in a textbook such as Non-Patent
ところで、各種機器を構成する場合、カウンタ回路単独では成り立たず、通常はカウンタ回路の他に、その値を表示する表示回路や、その値を変換する変換回路が一緒になって、ある機器を構成する。その構成は、全てハードウェアで構成する場合と、ROM、RAM、CPUから成るマイクロコントローラが、ソフトウェアによってハードウェアの動作を制御する、いわゆるファームウェア(firmware)で構成する場合の何れかで行われる。この従来のファームウェアは、例えば、温度センサや圧力センサからの物理量をカウントしたカウント値を温度や圧力などの、人間が見て分かる数値に変換する処理を行うものであり、温度や圧力の測定範囲を増やす際には、ハードウェアを変更してカウント値を増やすことで対応していた。
上記したように、カウント値を増やす仕様変更に対応するにあたって、ハードウェアを増やす対応を取ると、仕様変更に時間が掛かる、コストが上がるなどの課題が発生する。
この発明は、このような点に鑑みてなされたものであり、ハードウェアを増やすことなく、簡単にカウント値を増やすことが出来るカウンタ回路を提供することを目的とする。
As described above, when dealing with a specification change that increases the count value, taking measures to increase the hardware causes problems such as a long time for the specification change and an increase in cost.
The present invention has been made in view of these points, and an object of the present invention is to provide a counter circuit that can easily increase the count value without increasing hardware.
この発明のカウンタ回路は、連続的に値が変化する物理量がパルス周波数信号に変換されたパルス信号を発生するパルス列発生手段の出力信号を、所定の時間間隔でカウントするnbitのハードウェアカウンタと、そのカウント結果を上記所定の時間間隔以上の一定間隔で読み込むファームウェアとから成る。そのファームウェアは、前回カウント値を前回カウント値記憶部に記憶し、今回のカウント値を今回カウント値記憶部に記憶する。オーバーフロー判定手段が、今回カウント値から前回カウント値を引いた値からnbitハードウェアカウンタの桁上げ又は桁下げの有無を判定する。その判定結果に基づいて桁上げ回数を決定し、カウント値生成手段が今回カウント値と上記オーバーフロー判定手段の値とからカウント値を計算するものである。 The counter circuit according to the present invention includes an nbit hardware counter that counts an output signal of a pulse train generating means for generating a pulse signal in which a physical quantity whose value continuously changes is converted into a pulse frequency signal at a predetermined time interval, And firmware that reads the count result at a constant interval that is equal to or greater than the predetermined time interval. The firmware stores the previous count value in the previous count value storage unit, and stores the current count value in the current count value storage unit. An overflow determination means determines whether the nbit hardware counter has a carry or a carry from the value obtained by subtracting the previous count value from the current count value. The number of carry is determined based on the determination result, and the count value generation means calculates the count value from the current count value and the value of the overflow determination means.
以上のようにこの発明のカウンタ回路によれば、ハードウェアの規模を増やさないでカウント値の増加に対応することが可能になる。nbitのハードウェアカウンタは固定のまま、2n以上の計数を可能にする。 As described above, according to the counter circuit of the present invention, it is possible to cope with an increase in count value without increasing the scale of hardware. The n-bit hardware counter remains fixed, allowing counting of 2 n or more.
以下、この発明の実施の形態を図面を参照して説明する。図面中において対応するものには同じ参照符号を付し、説明は繰り返さない。 Embodiments of the present invention will be described below with reference to the drawings. Corresponding parts are designated by the same reference numerals in the drawings, and description thereof will not be repeated.
図1にこの発明の実施例1を示す機能構成ブロック図を示す。カウンタ回路20は、nbitのハードウェアカウンタ12と、そのハードウェアカウンタ12を制御する図示しないROMとRAMとCPUとから成るファームウェア140とで構成される。ROMとRAMに記憶されたソフトウェアによって、ハードウェアカウンタ12が制御されてカウンタ回路20として動作する。パルス列発生手段16は、図示しない角速度を検出する光ファイバジャイロの出力信号を、例えばVCO(Voltage Control Oscillator)などでパルス周波数信号fに変換してnbitのハードウェアカウンタ12に出力するものである。ハードウェアカウンタ12は、所定の間隔でパルス列発生手段16の出力するパルス周波数信号f(Hz)をカウントする。この実施例1では、nbitのハードウェアカウンタ12のbit数を例えば10bitとする。
FIG. 1 is a functional configuration block
所定の間隔でカウントされたハードウェアカウンタ12のカウント値は、ファームウェア140の一部を構成する今回カウント値記憶部141と前回カウント値記憶部142に順次読み込まれる。この読み込みが行われるごとに、オーバーフロー判定手段143の引き算手段144が、今回カウント値記憶部141に記憶されたカウント値から、前回カウント値記憶部142に記憶されたカウント値を引き算する。その引き算結果からハードウェアカウンタ12の桁上げ又は桁下げの有無を判定して、その判定結果に基づいてオーバーフローの回数を決定する。オーバーフローの回数が決定されると、カウント値生成手段146が、今回カウント値記憶部141のカウント値とオーバーフロー判定手段143のオーバーフロー回数とから、カウンタ回路20としてのカウント値を計算する。
The count value of the
また、ハードウェアカウンタ12がパルス列発生手段16の出力するパルス周波数信号fをカウントする時間幅は、この実施例1の場合、ハードウェアカウンタ制御手段147が生成するハードウェアカウンタ12をリセットするリセット信号14rの周期によって決まっている。つまり、例えばリセット信号14rの周期を1msとすれば、パルス周波数信号fは1msの間、ハードウェアカウンタ12でカウントされる。そのカウント値は、カウント値=パルス周波数信号f(Hz)×1msである。角速度の大きさに基づいて決まるパルス周波数信号fの、ある時点の周波数が例えば1MHzだとすれば、ハードウェアカウンタ12のその時点のカウント値は1000となる。
In the case of the first embodiment, the time width in which the
このように、ハードウェアカウンタ制御手段147が、ハードウェアカウンタ12をリセットする直前のハードウェアカウンタ12のカウント値を、今回カウント値記憶部141に順次読み込み、それまでの今回カウント値記憶部141内のカウント値を予め前回カウント値記憶部142に読み込んで置くことで、パルス列発生手段16の出力するパルス周波数信号fを数値化することができる。
As described above, the hardware
次に、ファームウェア140の動作フローを図2に示し、この発明の実施例1の動作を更に詳しく説明する。動作フローは、ファームウェア140を構成する図示しないCPUが動作する割り込み動作のフローを示したものである。CPUに割り込みが掛かると、ハードウェアカウンタ12のカウント値Cnは、今回カウント値記憶部141に読み込まれる(ステップS200)。カウント値Cnを、今回カウント値記憶部141に読み込むと、ハードウェアカウンタ制御手段147はハードウェアカウンタ12をリセットする(ステップS201)。今回カウント値Cnが、最初のデータであるか否かがステップS202で判断され、Cnが最初のデータの場合は、ステップ203で前回カウント値記憶部の値Cn-1=Cnとされ、オーバーフローの回数を数えるオーバーフローカウンタ(以下OFCと略す)をリセット(ステップS204)し、ステップS205でカウント値を計算する。ステップS205がカウント値生成手段146である。今は、最初のデータであるので、今回カウント値記憶部141に記憶されているカウント値Cnがカウント値になる。そして、処理を終了し、次の割り込みが発生するまでの間、CPUは停止(ホルト)する。
Next, the operation flow of the firmware 140 is shown in FIG. 2, and the operation of the first embodiment of the present invention will be described in more detail. The operation flow shows an interrupt operation flow in which a CPU (not shown) constituting the firmware 140 operates. When the CPU is interrupted, the count value Cn of the
この動作フローでは省略しているが、ステップS205で計算されたカウンタ回路20のカウント値は、光ファイバジャイロが検出した角速度データであるので、例えば、式(1)に示す演算をCPUがホルトする前に行ってカウント値を角速度Y(°/秒)に変換する。
Y=(カウント値×F×Ω)/3600 式(1)
Fは、パルス列発生手段16の出力するパルス周波数信号fをハードウェアカウンタ12が取り込む周波数であり、この例では1000Hzである。Ωは、光ファイバジャイロのパルスウェイト(秒角、arcsec)で、例えば5arcsecと言った値であり、光ファイバジャイロが検出できる最小角速度を意味し、ジャイロの性能で決まる固有の値である。3600は秒角を°に変換するための定数である。
Although omitted in this operation flow, the count value of the counter circuit 20 calculated in step S205 is the angular velocity data detected by the optical fiber gyro, and therefore, for example, the CPU halts the calculation shown in Expression (1). Go ahead and convert the count value to angular velocity Y (° / sec).
Y = (count value × F × Ω) / 3600 formula (1)
F is a frequency at which the
次の割り込みが在ると、再びハードウェアカウンタ12のカウント値Cnが、今回カウント値記憶部141に読み込まれる。今回は2個目のカウント値Cnであるので、オーバーフロー判定手段143の引き算手段144によって、今回カウント値Cnから前回カウント値Cn-1が引き算される(ステップS206)。次の割り込みに備えて今回カウント値Cnを前回カウント値Cn-1に保存(ストア)する(ステップS207)。そして、オーバーフロー判定手段143を構成するオーバーフロー計算手段145の比較手段145aは、引き算結果Dnが、正か負かをステップS208で判定する。引き算結果Dnが負の場合、比較手段145aは、そのDnと、閾値Xth145bと絶対値が等しく、極性が負の閾値−Xth145dとを比較する(ステップS209)(以降、閾値Xthの参照符号145bと145dは、特に表記しなくとも判別できるので省略する)。
When there is a next interrupt, the count value Cn of the
引き算結果Dnが負の場合、Dnが負の閾値−Xthよりも小であれば、オーバーフロー計算手段145内のOFC145cを+1する(ステップS210)ルートαを経る。引き算結果Dnが正の場合、ステップS211でDnとXthを比較して、DnがXthよりも大であればOFC145cを−1する(ステップS212)ルートγを経る。上記以外のDnが−Xthよりも大の場合はルートβ、DnがXthより小の場合はルートδを経る。これらのルートγ,δでは、OFC145cのカウントは変えないでカウント値計算(ステップS205)に移る。次の割り込みが在るまでCPUはホルトする。以降、割り込みがある度に、上記した動作を繰り返して、カウンタ回路20が動作する。
If subtraction result Dn is negative, if Dn is smaller than the negative threshold -X th, the OFC145c in the
〔閾値Xthの説明〕
閾値Xthの決め方を式(2)に示す。閾値Xthの下限値は、本願発明のカウンタ回路20が適用される測定機の測定範囲に対応する今回カウント値Cnと前回カウント値Cn-1との、差の最大値の絶対値より大きな値に設定する。閾値Xthの上限値は、ハードウェアカウンタのbit数nで決まる2n/2以下に設定する。
(今回カウント値Cn−前回カウント値Cn-1)<Xth≦2n/2 式(2)
下限値についての測定範囲に対応するとは、例えば本願発明のカウンタ回路20が角速度計に適用され、その角速度計の測定範囲として、例えば500°/秒以上の角速度の変化を測定しない仕様とした場合、その500°/秒に対応したカウント値に閾値Xthを設定するという意味である。上記したカウント値を角速度Yに変換する式(1)のFを1000Hz、パルスウエイトΩを5arcsecとして、500°/秒に相当するカウント値を逆算すると360と計算される。したがって、閾値Xthの下限値はそれよりも大きな361以上の値に設定する必要がある。
[Explanation of threshold value X th ]
How to determine the threshold X th shown in equation (2). The lower limit threshold value X th is the current count value Cn and the previous count value Cn-1 which corresponds to the measuring range of the measuring counter circuit 20 of the present invention is applied, a value larger than the absolute value of the maximum value of the difference Set to. The upper limit threshold value X th is set to 2 n / 2 or less determined by the bit number n of the hardware counter.
(Current count value Cn−previous count value Cn−1) <X th ≦ 2 n / 2 Formula (2)
Corresponding to the measurement range for the lower limit is, for example, when the counter circuit 20 of the present invention is applied to an angular velocity meter, and the measurement range of the angular velocity meter is, for example, a specification that does not measure a change in angular velocity of 500 ° / second or more. This means that the threshold value X th is set to the count value corresponding to 500 ° / second. When the count value corresponding to 500 ° / second is calculated backwards by assuming that F in the formula (1) for converting the above count value into the angular velocity Y is 1000 Hz and the pulse weight Ω is 5 arcsec, 360 is calculated. Therefore, it is necessary to set the lower limit value of the threshold value X th to a value of 361 or more which is larger than that.
〔閾値Xthの下限値の検証〕
式(2)に示した閾値Xthの範囲を検証する。まず、閾値Xth=361として下限値から検証する。図3(a)にハードウェアカウンタ12の動作を示す。図3(a)の横軸は、パルス列発生手段16が発生するパルス数であり、縦軸はそれをカウントするハードウェアカウンタ12のカウント値である。ハードウェアカウンタ12を例えば10bitとするとカウント値は0〜1023の範囲で変化し、1024でオーバーフローするカウンタとして動作する。
このように動作するハードウェアカウンタ12を前提に、前回カウント値Cn-1(○印)=1023として、今回カウント値Cn(●印)を減少方向に変化させた場合のオーバーフロー計算手段145の動作状況を図3(b)に示す。
[Verification of lower limit value of threshold value X th ]
The range of the threshold value X th shown in Expression (2) is verified. First, the threshold value X th = 361 is verified from the lower limit value. FIG. 3A shows the operation of the
On the premise of the
図3(b)に示す状態(ア)は、桁上げ桁下げの発生しないOFC145cが変化しない場合である。状態(ア)は、今回カウント値Cn=663の場合であり、Dn=今回カウント値−前回カウント値=−360(663−1023=−360)である。Dnがマイナスの場合は、図2に示すオーバーフロー計算手段145のステップS209で、Dn≦−XthはNo(−360≦−361→ステップS209でNo)と判定されて、ルートβを経てカウント値計算S205に移行する。したがって、OFC145cは変化しない。
The state (a) shown in FIG. 3B is a case where the
図3(b)に示す状態(イ)は、カウント値が1023から662に変化する。状態(ア)と同様にハードウェアカウンタ12に桁上げも桁下げも無い状態である。状態(イ)では、誤カウントを説明するための都合で、カウント値の変化Dnを361と、閾値Xth=361以上の本来は有り得ない値にしている。この時、Dn=今回カウント値−前回カウント値=−361(662−1023=−361)である。この場合、上記したように本来は、OFC145cに変化が無い。しかし、図2に示すオーバーフロー計算手段145のステップS209で、Dn≦−XthはYes(−361≦−361→ステップS209でYes)と判定されて、ルートαを経てOFC145cが+1カウントされてしまう。つまり、正しいカウント値は662であるのに対してカウント値計算(ステップS205)で計算されたカウント値は、1686になってしまう。
In the state (A) shown in FIG. 3B, the count value changes from 1023 to 662. As in the state (a), the
このように、Dnが閾値Xth以上変化すると誤カウントが発生してしまうので、閾値Xthの下限は今回カウント値Cnと前回カウント値Cn-1との差の最大値の絶対値より大きな値に設定する必要がある。
As described above, when Dn changes by more than the threshold value X th, an erroneous count occurs. Therefore, the lower limit of the threshold value X th is larger than the absolute value of the maximum value of the difference between the current count value Cn and the previous count
〔閾値Xthの上限値の検証〕
次に、閾値Xth=512として上限値を検証する。図3(c)に示す状態(ウ)は、OFC145cのカウント値が変化しない場合である。状態(ウ)は、前回カウント値Cn-1=1023で今回カウント値Cn=512の場合であり、Dn=今回カウント値−前回カウント値=−511(512−1023=−511)である。Dnがマイナスの場合は、図2に示すオーバーフロー計算手段145のステップS209で、Dn≦−XthはNo(−511≦−512→ステップS209でNo)と判定されて、ルートβを経てカウント値計算S205に移行する。したがって、OFC145cは変化しない。
[Verification of upper limit value of threshold value X th ]
Next, the upper limit value is verified with the threshold value X th = 512. The state (c) shown in FIG. 3C is a case where the count value of the
図3(c)に示す状態(エ)は、カウント値が1023から511に変化するハードウェアカウンタ12に桁上げも桁下げも発生しない状態である。状態(エ)では、誤カウントを説明するための都合で、カウント値の変化Dnを512と、閾値Xth=512以上の本来は有り得ない値にしている。この時、Dn=今回カウント値−前回カウント値=−512(512−1023=−512)である。この場合、上記したように本来は、OFC145cに変化は無い。しかし、図2に示すオーバーフロー計算手段145のステップS209で、Dn≦−XthはYes(−512≦−512→ステップS209でYes)と判定されて、ルートαを経てOFC145cが+1カウントされてしまう。この結果、正しいカウント値は511であるのに対してカウント値計算(ステップS205)で計算されたカウント値は、1535になってしまう。
The state (d) shown in FIG. 3C is a state in which neither a carry nor a carry occurs in the
このように、閾値Xthの上限は、ハードウェアカウンタのbit数nで決まる2n/2以下に設定する必要がある。したがって、Dnの最大値を360とし、ハードウェアカウンタ12のbit数を10bitとすると、閾値Xthは、361〜512の範囲の値に設定すればよい。なお、誤カウントの発生をカウント値の減少方向で説明したが、増加方向でも同じである。増加方向の説明は、以降のカウント値の事例の中で説明する事とし、ここでの説明は省略する。
ここで閾値Xth=361でハードウェアカウンタ12のbit数を10bitとして、具体的なカウント値の変化の事例を示して、本願発明のカウント動作を説明する。
Thus, the upper limit of the threshold X th needs to be set to 2 n / 2 or less determined by the bit number n of the hardware counter. Therefore, the maximum value of Dn and 360, if the bit number of the
Here, the threshold operation X th = 361, the number of bits of the
[カウント値の事例]
図4〜図7にカウント値の事例を示す。図の横軸はハードウェアカウンタ12のオーバーフローの回数を、縦軸左はカウント値を、縦軸右はカウント値を式(1)で変換した角速度(°/秒)を示す。縦軸のカウント値は、0〜1023までのカウント値を実線で示し、それ以上のカウント値を破線で表している。以下の説明において、動作フローの図2も参照のこと。
[Count value example]
Examples of count values are shown in FIGS. In the figure, the horizontal axis represents the number of overflows of the
〔前回パルス数1023→今回パルス数1383の事例〕
図4は、前回パルス数(◇印、パルス数とカウント値が一致しているので前回カウント値の○印を省略)が1023で、今回パルス数(◆印)が1383の閾値Xthギリギリのパルス数の増加があった場合のカウント値の変化を示す。この場合、カウント値は前回カウント値Cn-1(○印省略)1023から今回カウント値Cn(●印)359(1383−1024=359)に変化する。今回カウント値Cn(●印)から前回カウント値Cn-1(○印)を引いた値Dnは、−664(359−1023=−664)の負であるので、Dn≦−XthはYes(−664≦−361→ステップS209でYes)と判定されOFC145cは+1カウントされる(ステップS210)。図2のルートαを経て、ステップS205におけるカウント値計算は、1024×1+359=1383と、今回パルス数(◆印)と同じ値が計算される。
[Previous number of
4, the previous number of pulses (◇ mark, since the number of pulses and the count value match omitted ○ mark of the previous count value) in 1023, this number of pulses (◆ symbol) is the threshold value X th marginal 1383 The change in the count value when the number of pulses increases is shown. In this case, the count value changes from the previous count value Cn-1 (o mark omitted) 1023 to the current count value Cn (● mark) 359 (1383-1024 = 359). Since the value Dn obtained by subtracting the previous count value Cn-1 (◯ mark) from the current count value Cn (● mark) is negative of −664 (359-1023 = −664), Dn ≦ −X th is Yes ( −664 ≦ −361 → Yes in step S209, and
〔前回パルス数1383→今回パルス数1023の事例〕
図5に逆方向の変化、前回パルス数(◇印)が1383で、今回パルス数(◆印、パルス数とカウント値が一致しているので今回カウント値の●印を省略)が1023の閾値Xthギリギリのパルス数の減少があった場合のカウント値の変化を示す。この場合のカウント値は、前回カウント値Cn-1(○印)359(1383−1024=359)から今回カウント値Cn(●印省略)1023に変化する。今回カウント値Cn(●印省略)から前回カウント値Cn-1(○印)を引いた値Dnは、664(1023−359=664)で正、Dn≦XthはNo(664≦361→ステップS211でNo)と判定されOFC145cは−1カウントされる(ステップS212)。図2のルートγを経て、ステップS205におけるカウント値計算は、1024×0+1023=1023と、今回パルス数(◆印)と同じ値が計算される。
[Previous pulse number 1383 → Current pulse number 1023]
FIG. 5 shows a change in the reverse direction, the previous pulse number (◇ mark) is 1383, and the current pulse number (♦ mark, the number of pulses and the count value are the same, so the current count value is omitted) is 1023. It shows the change in the count value when a number of pulses decreases in the X th last minute. In this case, the count value changes from the previous count value Cn-1 (◯ mark) 359 (1383-1024 = 359) to the current count value Cn (o mark omitted) 1023. The value Dn obtained by subtracting the previous count value Cn-1 (circle mark) from the current count value Cn (circle mark omitted) is 664 (1023-359 = 664), and Dn ≦ X th is No (664 ≦ 361 → step) NO is determined in S211 and the
〔前回パルス数1324→今回パルス数1524の事例〕
図6は、前回パルス数(◇印)が1324で今回パルス数(◆印)が1524の場合である。この場合は、OFC145cが1の状態において、前回カウント値Cn-1(○印)が300(1324−1024=300)、今回カウント値Cn(●印)が500(1524−1024=500)となる。この時はDnが200(500−200=300)で正、Dn≦XthはYes(200≦361→Yes)であるのでルートδを経てカウント値計算(ステップS205)に移行する。この時のカウントの計算値は1024×1+500=1524と、今回パルス数(◆印)と同じ値になる。
[Previous pulse number 1324 → Current pulse number 1524 example]
FIG. 6 shows a case where the previous pulse number ((mark) is 1324 and the current pulse number (♦ mark) is 1524. In this case, when the
〔前回パルス数1900→今回パルス数2148の事例〕
図7は、前回パルス数(◇印)が1900で今回パルス数(◆印)が2148の場合である。この場合は、OFC145cが1で、前回カウント値Cn-1(○印)が876(1900−1024=876)、今回カウント値Cn(●印)が100(2148−2048=100)となる。この時はDnが−776(100−876=−776)の負となり、Dn≦−XthもYes(−776≦−361→Yes)であるので、ルートαを経てOFC145cが+1され(ステップS210)OFC145cの値は2となり、カウント値計算(ステップS205)に移行する。カウント値計算は1024×2+100=2148と、今回パルス数(◆印)と同じ値になる。
[Previous pulse number 1900 → Current pulse number 2148]
FIG. 7 shows a case where the previous pulse number ((mark) is 1900 and the current pulse number (♦ mark) is 2148. In this case, the
以上説明したように、オーバーフロー判定手段143が、今回カウント値から前回カウント値を引いた値からnbitハードウェアカウンタ12のオーバーフローの有無を判定し、その判定結果に基づいてオーバーフローの回数を決定する。カウント値生成手段146が今回カウント値と上記オーバーフロー判定手段の値とからカウント値を計算することで、ハードウェアカウンタ12のbit数で決まるカウント数以上の数をカウントすることが可能になる。
As described above, the overflow determination unit 143 determines whether or not the
なお、実施例の説明は、角速度を検出する光ジャイロを例に説明を行ったが、他の物理量、例えば加速度を検出する際のカウンタ回路に本願発明を適用することも出来る。また、他の物理量である温度や輝度の検出等にも本願発明によるカウンタ回路を応用することが可能である。 In the description of the embodiment, the optical gyro for detecting the angular velocity has been described as an example. However, the present invention can be applied to a counter circuit for detecting other physical quantities, for example, acceleration. In addition, the counter circuit according to the present invention can be applied to detection of temperature and luminance which are other physical quantities.
Claims (1)
上記パルス列発生手段から出力されるパルス周波数信号を所定の時間間隔でカウントするnbitのハードウェアカウンタと、ここでnは2以上の整数であり、
上記ハードウェアカウンタの計数値を上記所定の時間間隔以上の一定間隔で読み込むファームウェアとから成るカウンタ回路とを具備し、
上記ファームウェアは、
上記ハードウェアカウンタの前回カウント値を記憶する前回カウント値記憶部と、
上記ハードウェアカウンタの今回のカウント値を記憶する今回カウント値記憶部と、
上記今回カウント値から上記前回カウント値を引いた値に基づき上記ハードウェアカウンタの桁上げ又は桁下げの有無を判定し、その判定結果により今回のパルス周波数信号に対する上記ハードウェアカウンタの桁上げ回数を決定するオーバーフロー判定手段と、
上記今回カウント値と上記オーバーフロー判定手段の値とからカウント値を計算するカウント値生成手段とを具備し、
上記オーバーフロー判定手段は、今回カウント値から前回カウント値を引き算する手段と、
その引き算結果が負であれば負の閾値−Xthと比較し、引き算結果が正であれば正の閾値Xthと比較する比較手段と、
負の引き算結果が負の閾値−Xthよりも小であればオーバーフローカウンタを+1し、 正の引き算結果が正の閾値Xthより大であればオーバーフローカウンタを−1するオーバーフロー計算手段とを具備し、
上記閾値Xthは、上限が2n/2以下で、下限が測定範囲に対応する上記(今回カウント値−上記前回カウント値)の最大値の絶対値より大きな値に設定されていることを特徴とするカウンタ回路装置。 Pulse train generating means for converting a physical quantity into a pulse frequency signal;
An n-bit hardware counter that counts the pulse frequency signal output from the pulse train generating means at a predetermined time interval, where n is an integer of 2 or more;
The count value of the hardware counter and a counter circuit including a firmware to read at regular intervals over the predetermined time interval,
The above firmware
A previous count value storage unit for storing the previous count value of the hardware counter;
A current count value storage unit for storing the current count value of the hardware counter;
Based on a value obtained by subtracting the previous count value from the current count value, it is determined whether or not the hardware counter carries or carries a carry, and the determination result determines the number of times the hardware counter carries the current pulse frequency signal. Overflow determination means;
Comprising the count value generating means for calculating a count value from the value of the current count value and the overflow determination means,
Upper Symbol overflow determination means includes means for subtracting a previous count value from the count value currently,
A comparison means for comparing with a negative threshold value −X th if the subtraction result is negative, and comparing with a positive threshold value X th if the subtraction result is positive;
Negative subtraction result overflow counter is incremented if smaller than the negative threshold -X th, and a overflow calculation means for -1 overflow counter if positive subtraction result is larger than the positive threshold value X th And
Upper Symbol threshold X th, the upper limit is at 2 n / 2 or less, the lower limit corresponds to the measuring range - it is set to a value larger than the absolute value of the maximum value of (current count value the previous count value) A characteristic counter circuit device .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006261887A JP4299850B2 (en) | 2006-09-27 | 2006-09-27 | Counter circuit device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006261887A JP4299850B2 (en) | 2006-09-27 | 2006-09-27 | Counter circuit device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008085543A JP2008085543A (en) | 2008-04-10 |
JP4299850B2 true JP4299850B2 (en) | 2009-07-22 |
Family
ID=39355961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006261887A Expired - Fee Related JP4299850B2 (en) | 2006-09-27 | 2006-09-27 | Counter circuit device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4299850B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016181118A (en) * | 2015-03-24 | 2016-10-13 | 住友精密工業株式会社 | Pulse counter |
CN112152608B (en) * | 2020-08-21 | 2024-06-14 | 广东韶钢松山股份有限公司 | PLC pulse signal counting method and device, computer equipment and storage medium |
-
2006
- 2006-09-27 JP JP2006261887A patent/JP4299850B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008085543A (en) | 2008-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6466151B2 (en) | A/D converter | |
KR100550871B1 (en) | The automatic calibration methods of the electronic compass | |
US5907298A (en) | Interpolation circuit for encoder | |
JP2004274157A (en) | Nonlinearity correction method and nonlinearity correction apparatus for a/d converted output data | |
CN110017836B (en) | Accelerometer digital sampling sliding window filtering cross-clock domain synchronous data transmission method | |
JP2019165365A (en) | Signal processing device | |
JP4299850B2 (en) | Counter circuit device | |
JP4907647B2 (en) | Waveform shaping device and error measuring device | |
JP5817992B2 (en) | Flow meter, control program for flow meter, and control method for flow meter | |
JP3203909B2 (en) | A / D converter | |
JPH06118090A (en) | Speed detector | |
KR101424106B1 (en) | Method for detecting free fall and free fall detecting apparatus using the method | |
JP2009008536A (en) | Device for detecting rotation position of rotator using resolver | |
JP3596942B2 (en) | Speed detector | |
KR20160061814A (en) | Inertial sensor module | |
JP4519183B2 (en) | AB phase signal generator, RD converter and angle detection device | |
KR100286043B1 (en) | speed detecting system and method thereof | |
JP2649486B2 (en) | Interpolation circuit | |
JP5018793B2 (en) | Rotational speed measuring device | |
JP6101117B2 (en) | Pulse motor control device | |
WO2021149240A1 (en) | Computation device, indicator, temperature controller, and method | |
JP2002311040A (en) | Speed detector | |
US9483231B2 (en) | Signal processing device and method | |
JP4243623B2 (en) | Moving average value calculating circuit and moving average value calculating method | |
WO2023028967A1 (en) | Absolute position measurement device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090209 |
|
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: 20090414 |
|
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: 20090417 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4299850 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: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140424 Year of fee payment: 5 |
|
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 |