(57)【要約】【課題】ハードウェア回路規模を増大させないで計数可能なカウント数を増やすことの出来るカウンタ回路の提供を目的とする。【解決手段】ｎbitのハードウェアカウンタ１２が、可変周波数のパルス信号を発生させるパルス列発生手段１６の出力信号を、所定の時間間隔で順次カウントし、そのカウント結果を上記所定の時間間隔以上の一定間隔で、今回カウント値記憶部１４１に読み込み、今回カウント値から前回カウント値記憶部１４２に記憶された一回前のカウント値を引いた値から、オーバーフロー判定手段１４３が、ハードウェアカウンタ１２のオーバーフローの有無を判定し、その判定結果に基づいてオーバーフローの回数を決定し、カウント値生成手段１４６が今回カウント値と上記オーバーフロー判定手段１４３の値とからカウント値を計算する。【選択図】図１
2008085543.tif 000002
【特許請求の範囲】
【請求項１】
物理量をパルス周波数信号に変換するパルス列発生手段と、
上記パルス列発生手段から出力されるパルス周波数信号を所定の時間間隔でカウントするｎbitのハードウェアカウンタと、ここでｎは２以上の整数であり、
上記ハードウェアカウンタの計数値を上記所定の時間間隔以上の一定間隔で読み込むファームウェアとから成るカウンタ回路とを備え、
上記ファームウェアは、
上記ハードウェアカウンタの前回カウント値を記憶する前回カウント値記憶部と、
上記ハードウェアカウンタの今回のカウント値を記憶する今回カウント値記憶部と、
上記今回カウント値から上記前回カウント値を引いた値に基づき上記ハードウェアカウンタの桁上げ又は桁下げの有無を判定し、その判定結果により今回のパルス周波数信号に対する上記ハードウェアカウンタの桁上げ回数を決定するオーバーフロー判定手段と、
上記今回カウント値と上記オーバーフロー判定手段の値とからカウント値を計算するカウント値生成手段と、
を具備することを特徴とするカウンタ回路。
【請求項２】
請求項１に記載のカウンタ回路において、
上記オーバーフロー判定手段は、今回カウント値から前回カウント値を引き算する手段と、
その引き算結果が負であれば負の閾値−Ｘthと比較し、引き算結果が正であれば正の閾値Ｘthと比較する比較手段と、
負の引き算結果が負の閾値−Ｘthよりも小であればオーバーフローカウンタを＋１し、正の引き算結果が正の閾値Ｘthより大であればオーバーフローカウンタを−１するオーバーフロー計算手段と、
を具備し、
上記閾値Ｘthは、上限が２ｎ/２以下で、下限が測定範囲に対応する上記（今回カウント値−上記前回カウント値）の最大値の絶対値より大きな値に設定されていることを特徴とするカウンタ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば計測の分野に適用され、時間的に周波数が変化するパルス信号を一定間隔ごとに計数する技術に関する。
【背景技術】
【０００２】
従来からカウンタ回路の最大カウント値を増やす方法としては、例えば非特許文献１のような教科書に示されているように、縦続に接続するトグルタイプフリップフロップ（Toggle type Flip Flop以下ＴＦＦと略す）の数を増やす方法が知られている。また、同様に図８に示すものが特許文献１に開示されている。この回路は、４桁のカウント値を得るもので、１桁がシフトレジスタ１と、シフトレジスタ１のシフト状態を例えばバイナリ値にエンコードするエンコーダ５とによって構成される。この構成が４段縦続に接続されて、４桁のカウンタ回路を構成している。カウント値を増やす場合は、シフトレジスタを構成するフリップフロップ（以下ＦＦと略す）の数を増やすか、又はシフトレジスタ１とエンコーダ５との組を組単位で増やす変更を行う。
【０００３】
ところで、各種機器を構成する場合、カウンタ回路単独では成り立たず、通常はカウンタ回路の他に、その値を表示する表示回路や、その値を変換する変換回路が一緒になって、ある機器を構成する。その構成は、全てハードウェアで構成する場合と、ＲＯＭ、ＲＡＭ、ＣＰＵから成るマイクロコントローラが、ソフトウェアによってハードウェアの動作を制御する、いわゆるファームウェア（firmware）で構成する場合の何れかで行われる。この従来のファームウェアは、例えば、温度センサや圧力センサからの物理量をカウントしたカウント値を温度や圧力などの、人間が見て分かる数値に変換する処理を行うものであり、温度や圧力の測定範囲を増やす際には、ハードウェアを変更してカウント値を増やすことで対応していた。
【非特許文献１】「集積回路時代のディジタル電子回路」、１３０〜１３８頁、藤井信生著、（株）昭晃堂。
【特許文献１】特開２００２−２０４１５７号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記したように、カウント値を増やす仕様変更に対応するにあたって、ハードウェアを増やす対応を取ると、仕様変更に時間が掛かる、コストが上がるなどの課題が発生する。
この発明は、このような点に鑑みてなされたものであり、ハードウェアを増やすことなく、簡単にカウント値を増やすことが出来るカウンタ回路を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明のカウンタ回路は、連続的に値が変化する物理量がパルス周波数信号に変換されたパルス信号を発生するパルス列発生手段の出力信号を、所定の時間間隔でカウントするｎbitのハードウェアカウンタと、そのカウント結果を上記所定の時間間隔以上の一定間隔で読み込むファームウェアとから成る。そのファームウェアは、前回カウント値を前回カウント値記憶部に記憶し、今回のカウント値を今回カウント値記憶部に記憶する。オーバーフロー判定手段が、今回カウント値から前回カウント値を引いた値からｎbitハードウェアカウンタの桁上げ又は桁下げの有無を判定する。その判定結果に基づいて桁上げ回数を決定し、カウント値生成手段が今回カウント値と上記オーバーフロー判定手段の値とからカウント値を計算するものである。
【発明の効果】
【０００６】
以上のようにこの発明のカウンタ回路によれば、ハードウェアの規模を増やさないでカウント値の増加に対応することが可能になる。ｎbitのハードウェアカウンタは固定のまま、２ｎ以上の計数を可能にする。
【発明を実施するための最良の形態】
【０００７】
以下、この発明の実施の形態を図面を参照して説明する。図面中において対応するものには同じ参照符号を付し、説明は繰り返さない。
【実施例１】
【０００８】
図１にこの発明の実施例１を示す機能構成ブロック図を示す。カウンタ回路２０は、ｎbitのハードウェアカウンタ１２と、そのハードウェアカウンタ１２を制御する図示しないＲＯＭとＲＡＭとＣＰＵとから成るファームウェア１４０とで構成される。ＲＯＭとＲＡＭに記憶されたソフトウェアによって、ハードウェアカウンタ１２が制御されてカウンタ回路２０として動作する。パルス列発生手段１６は、図示しない角速度を検出する光ファイバジャイロの出力信号を、例えばＶＣＯ(Voltage Control Oscillator)などでパルス周波数信号ｆに変換してｎbitのハードウェアカウンタ１２に出力するものである。ハードウェアカウンタ１２は、所定の間隔でパルス列発生手段１６の出力するパルス周波数信号ｆ（Ｈｚ）をカウントする。この実施例１では、ｎbitのハードウェアカウンタ１２のbit数を例えば１０bitとする。
【０００９】
所定の間隔でカウントされたハードウェアカウンタ１２のカウント値は、ファームウェア１４０の一部を構成する今回カウント値記憶部１４１と前回カウント値記憶部１４２に順次読み込まれる。この読み込みが行われるごとに、オーバーフロー判定手段１４３の引き算手段１４４が、今回カウント値記憶部１４１に記憶されたカウント値から、前回カウント値記憶部１４２に記憶されたカウント値を引き算する。その引き算結果からハードウェアカウンタ１２の桁上げ又は桁下げの有無を判定して、その判定結果に基づいてオーバーフローの回数を決定する。オーバーフローの回数が決定されると、カウント値生成手段１４６が、今回カウント値記憶部１４１のカウント値とオーバーフロー判定手段１４３のオーバーフロー回数とから、カウンタ回路２０としてのカウント値を計算する。
【００１０】
また、ハードウェアカウンタ１２がパルス列発生手段１６の出力するパルス周波数信号ｆをカウントする時間幅は、この実施例１の場合、ハードウェアカウンタ制御手段１４７が生成するハードウェアカウンタ１２をリセットするリセット信号１４ｒの周期によって決まっている。つまり、例えばリセット信号１４ｒの周期を１ｍｓとすれば、パルス周波数信号ｆは１ｍｓの間、ハードウェアカウンタ１２でカウントされる。そのカウント値は、カウント値＝パルス周波数信号ｆ（Ｈｚ）×１ｍｓである。角速度の大きさに基づいて決まるパルス周波数信号ｆの、ある時点の周波数が例えば１ＭＨｚだとすれば、ハードウェアカウンタ１２のその時点のカウント値は１０００となる。
【００１１】
このように、ハードウェアカウンタ制御手段１４７が、ハードウェアカウンタ１２をリセットする直前のハードウェアカウンタ１２のカウント値を、今回カウント値記憶部１４１に順次読み込み、それまでの今回カウント値記憶部１４１内のカウント値を予め前回カウント値記憶部１４２に読み込んで置くことで、パルス列発生手段１６の出力するパルス周波数信号ｆを数値化することができる。
【００１２】
次に、ファームウェア１４０の動作フローを図２に示し、この発明の実施例１の動作を更に詳しく説明する。動作フローは、ファームウェア１４０を構成する図示しないＣＰＵが動作する割り込み動作のフローを示したものである。ＣＰＵに割り込みが掛かると、ハードウェアカウンタ１２のカウント値Ｃｎは、今回カウント値記憶部１４１に読み込まれる（ステップＳ２００）。カウント値Ｃｎを、今回カウント値記憶部１４１に読み込むと、ハードウェアカウンタ制御手段１４７はハードウェアカウンタ１２をリセットする（ステップＳ２０１）。今回カウント値Ｃｎが、最初のデータであるか否かがステップＳ２０２で判断され、Ｃｎが最初のデータの場合は、ステップ２０３で前回カウント値記憶部の値Ｃｎ-1＝Ｃｎとされ、オーバーフローの回数を数えるオーバーフローカウンタ（以下ＯＦＣと略す）をリセット（ステップＳ２０４）し、ステップＳ２０５でカウント値を計算する。ステップＳ２０５がカウント値生成手段１４６である。今は、最初のデータであるので、今回カウント値記憶部１４１に記憶されているカウント値Ｃｎがカウント値になる。そして、処理を終了し、次の割り込みが発生するまでの間、ＣＰＵは停止（ホルト）する。
【００１３】
この動作フローでは省略しているが、ステップＳ２０５で計算されたカウンタ回路２０のカウント値は、光ファイバジャイロが検出した角速度データであるので、例えば、式（１）に示す演算をＣＰＵがホルトする前に行ってカウント値を角速度Ｙ（°/秒）に変換する。
Ｙ＝（カウント値×F×Ω）／３６００      式（１）
Fは、パルス列発生手段１６の出力するパルス周波数信号ｆをハードウェアカウンタ１２が取り込む周波数であり、この例では１０００Ｈｚである。Ωは、光ファイバジャイロのパルスウェイト（秒角、arcsec）で、例えば５arcsecと言った値であり、光ファイバジャイロが検出できる最小角速度を意味し、ジャイロの性能で決まる固有の値である。３６００は秒角を°に変換するための定数である。
【００１４】
次の割り込みが在ると、再びハードウェアカウンタ１２のカウント値Ｃｎが、今回カウント値記憶部１４１に読み込まれる。今回は２個目のカウント値Ｃｎであるので、オーバーフロー判定手段１４３の引き算手段１４４によって、今回カウント値Ｃｎから前回カウント値Ｃｎ-１が引き算される（ステップＳ２０６）。次の割り込みに備えて今回カウント値Ｃｎを前回カウント値Ｃｎ-１に保存（ストア）する（ステップＳ２０７）。そして、オーバーフロー判定手段１４３を構成するオーバーフロー計算手段１４５の比較手段１４５ａは、引き算結果Ｄｎが、正か負かをステップＳ２０８で判定する。引き算結果Ｄｎが負の場合、比較手段１４５ａは、そのＤｎと、閾値Ｘth１４５ｂと絶対値が等しく、極性が負の閾値−Ｘth１４５ｄとを比較する（ステップＳ２０９）（以降、閾値Ｘthの参照符号１４５ｂと１４５ｄは、特に表記しなくとも判別できるので省略する）。
【００１５】
引き算結果Ｄｎが負の場合、Ｄｎが負の閾値−Ｘthよりも小であれば、オーバーフロー計算手段１４５内のＯＦＣ１４５ｃを＋１する（ステップＳ２１０）ルートαを経る。引き算結果Ｄｎが正の場合、ステップＳ２１１でＤｎとＸthを比較して、ＤｎがＸthよりも大であればＯＦＣ１４５ｃを−１する（ステップＳ２１２）ルートγを経る。上記以外のＤｎが−Ｘthよりも大の場合はルートβ、ＤｎがＸthより小の場合はルートδを経る。これらのルートγ，δでは、ＯＦＣ１４５ｃのカウントは変えないでカウント値計算（ステップＳ２０５）に移る。次の割り込みが在るまでＣＰＵはホルトする。以降、割り込みがある度に、上記した動作を繰り返して、カウンタ回路２０が動作する。
【００１６】
〔閾値Ｘthの説明〕
閾値Ｘthの決め方を式（２）に示す。閾値Ｘthの下限値は、本願発明のカウンタ回路２０が適用される測定機の測定範囲に対応する今回カウント値Ｃｎと前回カウント値Ｃｎ-１との、差の最大値の絶対値より大きな値に設定する。閾値Ｘthの上限値は、ハードウェアカウンタのbit数ｎで決まる２ｎ/２以下に設定する。
（今回カウント値Ｃｎ−前回カウント値Ｃｎ-１）＜Ｘth≦２ｎ/２        式（２）
下限値についての測定範囲に対応するとは、例えば本願発明のカウンタ回路２０が角速度計に適用され、その角速度計の測定範囲として、例えば５００°/秒以上の角速度の変化を測定しない仕様とした場合、その５００°/秒に対応したカウント値に閾値Ｘthを設定するという意味である。上記したカウント値を角速度Ｙに変換する式（１）のＦを１０００Ｈｚ、パルスウエイトΩを５arcsecとして、５００°/秒に相当するカウント値を逆算すると３６０と計算される。したがって、閾値Ｘthの下限値はそれよりも大きな３６１以上の値に設定する必要がある。
【００１７】
〔閾値Ｘthの下限値の検証〕
式（２）に示した閾値Ｘthの範囲を検証する。まず、閾値Ｘth＝３６１として下限値から検証する。図３（ａ）にハードウェアカウンタ１２の動作を示す。図３（ａ）の横軸は、パルス列発生手段１６が発生するパルス数であり、縦軸はそれをカウントするハードウェアカウンタ１２のカウント値である。ハードウェアカウンタ１２を例えば１０bitとするとカウント値は０〜１０２３の範囲で変化し、１０２４でオーバーフローするカウンタとして動作する。
このように動作するハードウェアカウンタ１２を前提に、前回カウント値Ｃｎ-１（○印）＝１０２３として、今回カウント値Ｃｎ（●印）を減少方向に変化させた場合のオーバーフロー計算手段１４５の動作状況を図３（ｂ）に示す。
【００１８】
図３（ｂ）に示す状態（ア）は、桁上げ桁下げの発生しないＯＦＣ１４５ｃが変化しない場合である。状態（ア）は、今回カウント値Ｃｎ＝６６３の場合であり、Ｄｎ＝今回カウント値−前回カウント値＝−３６０（６６３−１０２３＝−３６０）である。Ｄｎがマイナスの場合は、図２に示すオーバーフロー計算手段１４５のステップＳ２０９で、Ｄｎ≦−ＸthはＮo（−３６０≦−３６１→ステップＳ２０９でＮo）と判定されて、ルートβを経てカウント値計算Ｓ２０５に移行する。したがって、ＯＦＣ１４５ｃは変化しない。
【００１９】
図３（ｂ）に示す状態（イ）は、カウント値が１０２３から６６２に変化する。状態（ア）と同様にハードウェアカウンタ１２に桁上げも桁下げも無い状態である。状態（イ）では、誤カウントを説明するための都合で、カウント値の変化Ｄｎを３６１と、閾値Ｘth＝３６１以上の本来は有り得ない値にしている。この時、Ｄｎ＝今回カウント値−前回カウント値＝−３６１（６６２−１０２３＝−３６１）である。この場合、上記したように本来は、ＯＦＣ１４５ｃに変化が無い。しかし、図２に示すオーバーフロー計算手段１４５のステップＳ２０９で、Ｄｎ≦−ＸthはＹes（−３６１≦−３６１→ステップＳ２０９でＹes）と判定されて、ルートαを経てＯＦＣ１４５ｃが＋１カウントされてしまう。つまり、正しいカウント値は６６２であるのに対してカウント値計算（ステップＳ２０５）で計算されたカウント値は、１６８６になってしまう。
【００２０】
このように、Ｄｎが閾値Ｘth以上変化すると誤カウントが発生してしまうので、閾値Ｘthの下限は今回カウント値Ｃｎと前回カウント値Ｃｎ-１との差の最大値の絶対値より大きな値に設定する必要がある。
【００２１】
〔閾値Ｘthの上限値の検証〕
次に、閾値Ｘth＝５１２として上限値を検証する。図３（ｃ）に示す状態（ウ）は、ＯＦＣ１４５ｃのカウント値が変化しない場合である。状態（ウ）は、前回カウント値Ｃｎ-１＝１０２３で今回カウント値Ｃｎ＝５１２の場合であり、Ｄｎ＝今回カウント値−前回カウント値＝−５１１（５１２−１０２３＝−５１１）である。Ｄｎがマイナスの場合は、図２に示すオーバーフロー計算手段１４５のステップＳ２０９で、Ｄｎ≦−ＸthはＮo（−５１１≦−５１２→ステップＳ２０９でＮo）と判定されて、ルートβを経てカウント値計算Ｓ２０５に移行する。したがって、ＯＦＣ１４５ｃは変化しない。
【００２２】
図３（ｃ）に示す状態（エ）は、カウント値が１０２３から５１１に変化するハードウェアカウンタ１２に桁上げも桁下げも発生しない状態である。状態（エ）では、誤カウントを説明するための都合で、カウント値の変化Ｄｎを５１２と、閾値Ｘth＝５１２以上の本来は有り得ない値にしている。この時、Ｄｎ＝今回カウント値−前回カウント値＝−５１２（５１２−１０２３＝−５１２）である。この場合、上記したように本来は、ＯＦＣ１４５ｃに変化は無い。しかし、図２に示すオーバーフロー計算手段１４５のステップＳ２０９で、Ｄｎ≦−ＸthはＹes（−５１２≦−５１２→ステップＳ２０９でＹes）と判定されて、ルートαを経てＯＦＣ１４５ｃが＋１カウントされてしまう。この結果、正しいカウント値は５１１であるのに対してカウント値計算（ステップＳ２０５）で計算されたカウント値は、１５３５になってしまう。
【００２３】
このように、閾値Ｘthの上限は、ハードウェアカウンタのbit数ｎで決まる２ｎ/２以下に設定する必要がある。したがって、Ｄｎの最大値を３６０とし、ハードウェアカウンタ１２のbit数を１０bitとすると、閾値Ｘthは、３６１〜５１２の範囲の値に設定すればよい。なお、誤カウントの発生をカウント値の減少方向で説明したが、増加方向でも同じである。増加方向の説明は、以降のカウント値の事例の中で説明する事とし、ここでの説明は省略する。
ここで閾値Ｘth＝３６１でハードウェアカウンタ１２のbit数を１０bitとして、具体的なカウント値の変化の事例を示して、本願発明のカウント動作を説明する。
【００２４】
［カウント値の事例］
図４〜図７にカウント値の事例を示す。図の横軸はハードウェアカウンタ１２のオーバーフローの回数を、縦軸左はカウント値を、縦軸右はカウント値を式（１）で変換した角速度（°/秒）を示す。縦軸のカウント値は、０〜１０２３までのカウント値を実線で示し、それ以上のカウント値を破線で表している。以下の説明において、動作フローの図２も参照のこと。
【００２５】
〔前回パルス数１０２３→今回パルス数１３８３の事例〕
図４は、前回パルス数（◇印、パルス数とカウント値が一致しているので前回カウント値の○印を省略）が１０２３で、今回パルス数（◆印）が１３８３の閾値Ｘthギリギリのパルス数の増加があった場合のカウント値の変化を示す。この場合、カウント値は前回カウント値Ｃｎ-１（○印省略）１０２３から今回カウント値Ｃｎ（●印）３５９（１３８３−１０２４＝３５９）に変化する。今回カウント値Ｃｎ（●印）から前回カウント値Ｃｎ-１（○印）を引いた値Ｄｎは、−６６４（３５９−１０２３＝−６６４）の負であるので、Ｄｎ≦−ＸthはＹes（−６６４≦−３６１→ステップＳ２０９でＹes）と判定されＯＦＣ１４５ｃは＋１カウントされる（ステップＳ２１０）。図２のルートαを経て、ステップＳ２０５におけるカウント値計算は、１０２４×１＋３５９＝１３８３と、今回パルス数（◆印）と同じ値が計算される。
【００２６】
〔前回パルス数１３８３→今回パルス数１０２３の事例〕
図５に逆方向の変化、前回パルス数（◇印）が１３８３で、今回パルス数（◆印、パルス数とカウント値が一致しているので今回カウント値の●印を省略）が１０２３の閾値Ｘthギリギリのパルス数の減少があった場合のカウント値の変化を示す。この場合のカウント値は、前回カウント値Ｃｎ-１（○印）３５９（１３８３−１０２４＝３５９）から今回カウント値Ｃｎ（●印省略）１０２３に変化する。今回カウント値Ｃｎ（●印省略）から前回カウント値Ｃｎ-１（○印）を引いた値Ｄｎは、６６４（１０２３−３５９＝６６４）で正、Ｄｎ≦ＸthはＮo（６６４≦３６１→ステップＳ２１１でＮo）と判定されＯＦＣ１４５ｃは−１カウントされる（ステップＳ２１２）。図２のルートγを経て、ステップＳ２０５におけるカウント値計算は、１０２４×０＋１０２３＝１０２３と、今回パルス数（◆印）と同じ値が計算される。
【００２７】
〔前回パルス数１３２４→今回パルス数１５２４の事例〕
図６は、前回パルス数（◇印）が１３２４で今回パルス数（◆印）が１５２４の場合である。この場合は、ＯＦＣ１４５ｃが１の状態において、前回カウント値Ｃｎ-１（○印）が３００（１３２４−１０２４＝３００）、今回カウント値Ｃｎ(●印)が５００（１５２４−１０２４＝５００）となる。この時はＤｎが２００（５００−２００＝３００）で正、Ｄｎ≦ＸthはＹes（２００≦３６１→Ｙes）であるのでルートδを経てカウント値計算（ステップS２０５）に移行する。この時のカウントの計算値は１０２４×１＋５００＝１５２４と、今回パルス数（◆印）と同じ値になる。
【００２８】
〔前回パルス数１９００→今回パルス数２１４８の事例〕
図７は、前回パルス数（◇印）が１９００で今回パルス数（◆印）が２１４８の場合である。この場合は、ＯＦＣ１４５ｃが１で、前回カウント値Ｃｎ-１（○印）が８７６（１９００−１０２４＝８７６）、今回カウント値Ｃｎ(●印)が１００（２１４８−２０４８＝１００）となる。この時はＤｎが−７７６（１００−８７６＝−７７６）の負となり、Ｄｎ≦−ＸthもＹes（−７７６≦−３６１→Ｙes）であるので、ルートαを経てＯＦＣ１４５ｃが＋１され（ステップＳ２１０）ＯＦＣ１４５ｃの値は２となり、カウント値計算（ステップS２０５）に移行する。カウント値計算は１０２４×２＋１００＝２１４８と、今回パルス数（◆印）と同じ値になる。
【００２９】
以上説明したように、オーバーフロー判定手段１４３が、今回カウント値から前回カウント値を引いた値からｎbitハードウェアカウンタ１２のオーバーフローの有無を判定し、その判定結果に基づいてオーバーフローの回数を決定する。カウント値生成手段１４６が今回カウント値と上記オーバーフロー判定手段の値とからカウント値を計算することで、ハードウェアカウンタ１２のbit数で決まるカウント数以上の数をカウントすることが可能になる。
【００３０】
なお、実施例の説明は、角速度を検出する光ジャイロを例に説明を行ったが、他の物理量、例えば加速度を検出する際のカウンタ回路に本願発明を適用することも出来る。また、他の物理量である温度や輝度の検出等にも本願発明によるカウンタ回路を応用することが可能である。
【図面の簡単な説明】
【００３１】
【図１】この発明の実施例１の機能構成ブロックを示す図。
【図２】ファームウェア１４０の動作フローの例を示す図。
【図３】図３（ａ）はハードウェアカウンタ１２の動作を示す図、図３（ｂ）は閾値Ｘth＝３６１で今回カウント値Ｃｎを減少方向に変化させた場合のオーバーフロー計算手段１４５の動作状況を示す図、図３（ｃ）閾値Ｘth＝５１２で今回カウント値Ｃｎを減少方向に変化させた場合のオーバーフロー計算手段１４５の動作状況を示す図である。
【図４】今回カウント値Ｃｎ（●印）が３５９で、前回カウント値Ｃｎ-１（○印）が１０２３の場合のカウント値の事例を示す図。
【図５】今回カウント値Ｃｎ（●印）が１０２３で、前回カウント値Ｃｎ-１（○印）が３５９の場合のカウント値の事例を示す図。
【図６】ＯＦＣ１４５ｃが１の状態において、今回カウント値Ｃｎ(●印)が５００で、前回カウント値Ｃｎ-１（○印）が３００の場合のカウント値の事例を示す図。
【図７】ＯＦＣ１４５ｃが１の状態において、今回カウント値Ｃｎ(●印)が１００で、前回カウント値Ｃｎ-１（○印）が８７６の場合のカウント値の事例を示す図。
【図８】特許文献１に開示されたカウンタ回路を示す図。
【図１】
2008085543.tif 000003
【図２】
2008085543.tif 000004
【図３】
2008085543.tif 000005
【図４】
2008085543.tif 000006
【図５】
2008085543.tif 000007
【図６】
2008085543.tif 000008
【図７】
2008085543.tif 000009
【図８】
2008085543.tif 000010