JPH11160338A - 回転検出用のパルス幅計測装置及びパルス幅計測方法 - Google Patents
回転検出用のパルス幅計測装置及びパルス幅計測方法Info
- Publication number
- JPH11160338A JPH11160338A JP32745497A JP32745497A JPH11160338A JP H11160338 A JPH11160338 A JP H11160338A JP 32745497 A JP32745497 A JP 32745497A JP 32745497 A JP32745497 A JP 32745497A JP H11160338 A JPH11160338 A JP H11160338A
- Authority
- JP
- Japan
- Prior art keywords
- pulse
- interrupt request
- overflow
- detection signal
- pulse width
- 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.)
- Granted
Links
Landscapes
- Transmission And Conversion Of Sensor Element Output (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
ーフロー割込み要求が相次いで発生しても、パルス幅を
正確に算出できるようにする。 【解決手段】 コンピュータ3は、すでに発生したある
割込み要求によるある割込み処理の実行中に、オーバー
フロー割込み要求とパルス割込み要求が発生したら、保
留した2つの要求の中で前者を優先する設定を行い、あ
る割込み処理が終了してオーバーフロー割込み要求によ
る割込み処理を実行するとき、パルス割込み要求が発生
していると、この要求が発生したときに取得したカウン
ト値がゼロ又は最大値のどちらに近いかを調べる。カウ
ント値が最大値に近いときは、今回と前回のカウント数
とオーバーフロー回数を用いて、検出信号のパルスの幅
を算出する。一方、カウント値がゼロに近いときは、オ
ーバーフロー回数をインクリメントしてパルス割込み要
求をクリアし、この後でパルスの幅を算出する。
Description
ルス幅計測装置及びパルス幅計測方法に係り、詳しく
は、被計測物が回転する場合、この被計測物の回転をパ
ルスに変換するとき、このパルスの幅を計測する回転検
出用のパルス幅計測装置及びパルス幅計測方法に関す
る。
から、車両の走行制御装置等に用いられている。走行制
御装置は、車両のアンチロック・システムや定速走行装
置において、エンジンや車輪等の、回転する被計測物の
回転状態を表すパルスから、このパルスの幅を計測す
る。すなわち、凹凸を持つ回転体を被計測物に配置し、
さらに、この回転体に磁界を与える。これにより、上記
被計測物が回転するとき、上記回転体の凹凸で発生する
磁界の変化を検出し、この変化をパルス状の検出信号に
変換する。上記変換で得られた検出信号のパルスの幅、
すなわちパルスが発生する時間が、被計測物の回転速度
に対応する。
Processing Unit)、タイマ及びカウンタを用いて、次
のようにして行われる。すなわち、上記カウンタが上記
タイマからのパルスをカウントアップする。上記カウン
タの値(以下、カウント値と記す)は、図9に示すよう
にカウントアップされる。カウント値は、最大値に達す
ると、オーバーフローする。この後、カウント値は、再
びゼロからカウントアップされる。
る間に、上記検出信号のパルス101が時間t111で
発生すると、パルス割込み処理をするための割込み要求
が発生する。このとき、上記CPUは、実行中の処理を
中断して、割込み要求に応じてパルス割込み処理を起動
する。すなわち、上記CPUは、上記カウンタのカウン
ト値をこのCPU内部のレジスタに記憶する記憶処理及
び後述するパルス幅算出処理を、パルス割込み処理とし
て実行する。このとき記憶されたカウント値をDoとす
る。パルス割込み処理が終了すると、上記CPUは、通
常の処理に復帰する。
ーバーフローすると、オーバーフロー割込み処理をする
ための割込み要求が発生する。このとき、上記CPU
は、実行中の処理を中断して、割込み要求に応じたオー
バーフロー割込み処理を起動する。すなわち、上記CP
Uは、オーバーフローした回数(以下、オーバーフロー
回数と記す)をインクリメントして、通常の処理に復帰
する。このときのオーバーフロー回数をNとする。
が発生すると、パルス割込み要求が発生し、上記CPU
は、上記記憶処理及び上記パルス幅算出処理を実行す
る。このときに記憶される、カウント値をDnとする。
また、上記CPUは、次のようにして上記パルス幅算出
処理を実行する。すなわち、上記カウンタが、例えば、
kビットのアップカウンタである場合、このカウンタの
カウント値は、値「0(ゼロ)」から値「2k−1」ま
での、計2kカウントである。したがって、カウント値
が値Doから値Dnに変化し、この間、オーバーフロー
回数が値Nであるとき、パルス101のパルス幅Tを示
すカウント数Nwは、次式のようになる。 Nw=Dn−Do+2k・N (カウント) …(1) こうして、上記CPUは、パルス幅算出式(1)を用い
た上記パルス幅算出処理を実行して、上記被計測物の回
転速度に対応するパルス幅Tを求める。
来技術には、次のような課題がある。すなわち、上記C
PUが割込み要求による割込み処理を実行していると
き、別の割込み要求が発生すると、新たな割込み要求を
保留する。そして、現在実行中の割込み処理が終了する
と、上記新たな割り込み要求による割込み処理を実行す
る。また、上記CPUが割込み処理を実行していると
き、別の複数の割込み要求が発生すると、これらの割込
み要求を保留する。そして、現在実行中の割込み処理が
終了すると、上記CPUは、上記新たな割込み要求にあ
らかじめ設定されている優先順位に従って、割込み処理
を順に実行する。
パルス103が時間t114で発生した後、上記CPU
が別の割込み処理を実行しているとき、オーバーフロー
割込み要求が時間t115で発生し、続いて、次のパル
スであるパルス104の発生による、パルス割込み要求
が時間t116で発生する。このとき、上記CPUは、
発生した2つの割込み要求を保留し、現在実行中の割込
み処理を継続する。そして、実行中の上記割込み処理が
終了すると、上記CPUは、上記割込み要求の優先順位
に従って、パルス割込み処理とオーバーフロー割込み処
理とを実行する。
オーバーフロー割込み要求より優先するとき、図10に
示すように、上記CPUは、時間t115の後で発生し
た割込み要求によるパルス割込み処理を先に実行する。
この後、上記CPUは、時間t115で発生した割込み
要求によるオーバーフロー割込み処理を実行する。この
結果、パルス103のパルス幅算出に際して、上記CP
Uが、時間t115で発生したオーバーフローによるオ
ーバーフロー回数をインクリメントしないので、上記パ
ルス幅算出式(1)の 2k・N の値が小さくなる。これにより、カウント数Nwの値が
小さくなるので、実際に発生したパルス103に比べ
て、上記CPUは、パルス幅を小さく算出してしまう。
ルス105が時間t117で発生した後、上記CPUが
別の割込み処理を実行しているとき、パルス106の発
生による、パルス割込み要求が時間t118で発生し、
続いて、オーバーフロー割込み要求が時間t119で発
生する。この場合に、オーバーフロー割込み要求がパル
ス割込み要求より優先するとき、上記CPUは、時間t
119で発生した割込み要求によるオーバーフロー割込
み処理を先に実行する。この後、上記CPUは、時間t
118で発生した割込み要求によるパルス割込み処理を
実行する。この結果、上記CPUは、オーバーフロー回
数をインクリメントするので、パルス幅算出式(1)の 2k・N の値が大きくなる。これにより、オーバーフロー割込み
要求がパルス割込み要求より優先するときには、カウン
ト数Nwの値が大きくなり、上記CPUが、実際に発生
したパルス105に比べて、パルス幅を大きく算出して
しまう。
み要求やオーバーフロー割込み要求が相次いで発生する
と、優先順位に従って、これらの割込み要求による割込
み処理を実行する。このとき、優先順に割込み要求が発
生しないと、割込み要求による割込み処理の起動順序が
逆転するので、パルス幅を誤って算出するという課題が
発生する。
ので、割込み処理中に、パルス割込み要求やオーバーフ
ロー割込み要求が相次いで発生しても、パルス幅を正確
に算出することができる回転検出用のパルス幅計測装置
及びパルス幅計測方法を提供することを目的としてい
る。
に、請求項1記載の発明は、所定間隔で生成されるパル
スをカウントし、パルスのカウントがオーバーフローし
たときにオーバーフロー割込み要求を発生し、このオー
バーフロー割込み要求が発生すると、現在実行中の処理
を中断して、オーバーフロー回数をインクリメントし、
被計測物の回転に応じて生成される検出信号を受け取
り、この検出信号にパルスが含まれるときにパルス割込
み要求を発生し、このパルス割込み要求が発生すると、
現在実行中の処理を中断して、今回と前回のカウント数
とオーバーフロー回数とを用いて、前記検出信号のパル
スの幅を算出する回転検出用のパルス幅計測方法に係
り、すでに発生したある割込み要求によるある割込み処
理の実行中に、前記オーバーフロー割込み要求とパルス
割込み要求が発生したら、保留した2つの要求の中でオ
ーバーフロー割込み要求を優先する設定を行う第1の処
理と、前記ある割込み処理が終了して前記オーバーフロ
ー割込み要求による割込み処理を実行するとき、前記パ
ルス割込み要求が発生していると、このパルス割込み要
求が発生したときに取得したカウント値がゼロ又は最大
値のどちらに近いかを調べる第2の処理と、この第2の
処理の結果、カウント値が最大値に近いときは、今回と
前回のカウント数とオーバーフロー回数とを用いて、前
記検出信号のパルスの幅を算出する第3の処理と、前記
第2の処理の結果、カウント値がゼロに近いときは、オ
ーバーフロー回数をインクリメントしてパルス割込み要
求をクリアし、この後で、今回と前回のカウント数とオ
ーバーフロー回数とを用いて、検出信号のパルスの幅を
算出する第4の処理とを含んでなることを特徴としてい
る。
載の回転検出用のパルス幅計測方法に係り、今回と前回
のカウント数とオーバーフロー回数とを用いて、前記検
出信号のパルスの幅を算出する処理を処理ブロックと
し、前記第3の処理及び前記第4の処理の処理の中で、
今回と前回のカウント数とオーバーフロー回数とを用い
て、前記検出信号のパルスの幅を算出する代わりに、前
記処理ブロックを呼び出して、前記検出信号のパルスの
幅を算出することを特徴としている。
応じて検出信号を出力する回転検出部と、この回転検出
部からの検出信号を受け取ると、この検出信号に含まれ
るパルスの幅を算出する演算部とを備え、この演算部
が、所定間隔で生成されるパルスをカウントし、パルス
のカウントがオーバーフローしたときにオーバーフロー
割込み要求を発生し、このオーバーフロー割込み要求が
発生すると、現在実行中の処理を中断して、オーバーフ
ロー回数をインクリメントし、前記検出信号にパルスが
含まれるときにパルス割込み要求を発生し、このパルス
割込み要求が発生すると、現在実行中の処理を中断し
て、今回と前回のカウント数とオーバーフロー回数とを
用いて、前記検出信号のパルスの幅を算出する回転検出
用のパルス幅計測装置に係り、前記演算部には、すでに
発生したある割込み要求による割込み処理の実行中に、
前記オーバーフロー割込み要求と前記パルス割込み要求
が発生したら、保留した2つの要求の中でオーバーフロ
ー割込み要求を優先する設定を行う第1の処理と、前記
ある割込み処理が終了して前記オーバーフロー割込み要
求による割込み処理を実行するとき、前記パルス割込み
要求が発生していると、このパルス割込み要求が発生し
たときに取得したカウント値がゼロ又は最大値のどちら
に近いかを調べる第2の処理と、この第2の処理の結
果、カウント値が最大値に近いときは、今回と前回のカ
ウント数とオーバーフロー回数とを用いて、前記検出信
号のパルスの幅を算出する第3の処理と、前記第2の処
理の結果、カウント値がゼロに近いときは、オーバーフ
ロー回数をインクリメントして前記パルス割込み要求を
クリアし、この後で、今回と前回のカウント数とオーバ
ーフロー回数とを用いて、検出信号のパルスの幅を算出
する第4の処理とを行う機能が付加されていることを特
徴としている。
転検出用のパルス幅計測装置に係り、前記演算部は、今
回と前回のカウント数とオーバーフロー回数とを用い
て、検出信号のパルスの幅を算出する処理を処理ブロッ
クとし、前記第3の処理及び前記第4の処理の処理の中
で、今回と前回のカウント数とオーバーフロー回数とを
用いて、前記検出信号のパルスの幅を算出する代わり
に、前記処理ブロックを呼び出して、前記検出信号のパ
ルスの幅を算出することを特徴としている。
れるパルスをカウントし、パルスのカウントがオーバー
フローしたときにオーバーフロー割込み要求を発生し、
このオーバーフロー割込み要求が発生すると、現在実行
中の処理を中断して、オーバーフロー回数をインクリメ
ントし、被計測物の回転に応じて生成される検出信号を
受け取り、前記検出信号にパルスが含まれるときにパル
ス割込み要求を発生し、このパルス割込み要求が発生す
ると、現在実行中の処理を中断して、今回と前回のカウ
ント数とオーバーフロー回数とを用いて、前記検出信号
のパルスの幅を算出する回転検出用のパルス幅計測方法
であって、すでに発生したある割込み要求による割込み
処理の実行中に、前記オーバーフロー割込み要求と前記
パルス割込み要求が発生したら、保留した2つの要求の
中でパルス割込み要求を優先する設定を行う第1の処理
と、前記ある割込み処理が終了して前記パルス割込み要
求による割込み処理を実行するとき、前記オーバーフロ
ー割込み要求が発生していると、この割込み要求で取得
したカウント値がゼロ又は最大値のどちらに近いかを調
べる第2の処理と、この第2の処理の結果、カウント値
が最大値に近いときは、今回と前回のカウント数とオー
バーフロー回数とを用いて、前記検出信号のパルスの幅
を算出する第3の処理と、前記第2の処理の結果、カウ
ント値がゼロに近いときは、オーバーフロー回数をイン
クリメントして前記オーバーフロー割込み要求をクリア
し、この後で、今回と前回のカウント数とオーバーフロ
ー回数とを用いて、前記検出信号のパルスの幅を算出す
る第4の処理とを含むことを特徴としている。
転検出用のパルス幅計測方法であって、オーバーフロー
回数をインクリメントする処理を処理ブロックとし、前
記第4の処理の処理の中で、オーバーフロー回数をイン
クリメントして前記オーバーフロー割込み要求をクリア
する代わりに、前記処理ブロックを呼び出して実行した
後で前記オーバーフロー割込み要求をクリアすることを
特徴としている。
応じて検出信号を出力する回転検出部と、この回転検出
部からの検出信号を受け取ると、この検出信号に含まれ
るパルスの幅を算出する演算部とを備えてなり、前記演
算部は、所定間隔で生成されるパルスをカウントし、パ
ルスのカウントがオーバーフローしたときにオーバーフ
ロー割込み要求を発生し、このオーバーフロー割込み要
求が発生すると、現在実行中の処理を中断して、オーバ
ーフロー回数をインクリメントし、前記検出信号にパル
スが含まれるときにパルス割込み要求を発生し、このパ
ルス割込み要求が発生すると、現在実行中の処理を中断
して、今回と前回のカウント数とオーバーフロー回数と
を用いて、前記検出信号のパルスの幅を算出する回転検
出用のパルス幅計測装置に係り、前記演算部には、すで
に発生したある割込み要求による割込み処理の実行中
に、前記オーバーフロー割込み要求と前記パルス割込み
要求が発生したら、保留した2つの要求の中でパルス割
込み要求を優先する設定を行う第1の処理と、前記ある
割込み処理が終了してパルス割込み要求による割込み処
理を実行するとき、前記オーバーフロー割込み要求が発
生していると、この割込み要求で取得したカウント値が
ゼロ又は最大値のどちらに近いかを調べる第2の処理
と、この第2の処理の結果、カウント値が最大値に近い
ときは、今回と前回のカウント数とオーバーフロー回数
とを用いて、前記検出信号のパルスの幅を算出する第3
の処理と、第2の処理の結果、カウント値がゼロに近い
ときは、オーバーフロー回数をインクリメントして前記
オーバーフロー割込み要求をクリアし、この後で、今回
と前回のカウント数と、オーバーフロー回数とを用い
て、前記検出信号のパルスの幅を算出する第4の処理と
を行う機能が付加されていることを特徴としている。
載の回転検出用のパルス幅計測装置、に係り前記演算部
は、オーバーフロー回数をインクリメントする処理を処
理ブロックとし、前記第4の処理の処理の中で、オーバ
ーフロー回数をインクリメントして前記オーバーフロー
割込み要求をクリアする代わりに、前記処理ブロックを
呼び出して実行した後で前記オーバーフロー割込み要求
をクリアすることを特徴としている。
の実施の形態について説明する。 ◇第1の実施の形態 図1は、この発明の第1の実施の形態である回転検出用
のパルス幅計測装置の構成を概略示すブロック図、図2
は、同回転検出用のパルス幅計測装置の通常の処理手順
を示すフローチャート、図3は、同回転検出用のパルス
幅計測装置のパルス割込み処理を示すフローチャート、
図4は、同回転検出用のパルス幅計測装置のオーバーフ
ロー割込み処理を示すフローチャート、図5は、同回転
検出用のパルス幅計測装置によるパルス幅の計測を説明
する説明図、また、図6は、同回転検出用のパルス幅計
測装置によるパルス幅の計測を説明する説明図である。
1に示すように、回転センサ1、波形整形回路2及びコ
ンピュータ3を備えてなっている。回転センサ1は、凹
凸を持つ回転体(図示を省略する)を被計測物に配置
し、さらに、この回転体に磁界を与えるものである。こ
れにより、回転センサ1は、上記回転体の凹凸で発生す
る磁界の変化を検出して、検出結果を示す電気信号を発
生し、この電気信号を波形整形回路2に送る。波形整形
回路2は、回転センサ1からの電気信号を受け取ると、
この電気信号の波形を整形して、電気信号が示す変化を
パルス状の検出信号に変換する。波形整形回路2は、上
記検出信号をコンピュータ3に送る。
力ポート3A、カウンタ3B、タイマ3C、メモリ3
D、CPU(Central Processing Unit)3Eを備えて
なっている。入力ポート3Aは、波形整形回路2をバス
3Fに接続するものである。入力ポート3Aにより、波
形整形回路2からの検出信号がコンピュータ3に取り込
まれる。このとき、検出信号のパルスの立ち上がりで、
パルス割込み要求が発生する。タイマ3Cは、時間を計
測する時計回路である。タイマ3Cは、時間の計測に伴
って、一定の時間間隔でパルスをバス3Fに出力する。
ルスをバス3Fを経由して受け取ると、このパルスをカ
ウントアップして、カウント値を生成する。上記カウン
ト値が最大値に達すると、カウンタ3Bは、オーバーフ
ローし、再びゼロからカウントを始める。このとき、上
記カウント値が最大値に達した時点で、オーバーフロー
割込み要求が発生する。メモリ3Dは、CPU3Eの処
理手順をあらかじめ記憶していると共に、カウンタ3B
のオーバーフロー回数を記憶する。
行する。つまり、CPU3Eは、処理を開始すると、割
込み要求の順位を設定する(ステップS1)。ステップ
S1で、CPU3Eは、オーバーフロー割込み要求の順
位を、パルス割込み要求より高く設定する。すなわち、
CPU3Eは、オーバーフロー割込み要求を優先する。
ステップS1の後、CPU3Eは、装置の制御等に係る
通常処理を実行する(ステップS2)。この後、電源オ
フ等による上記通常処理の終了かどうかを判断する(ス
テップS3)。ステップS3で処理を終了しなければ、
CPU3Eは、処理をステップS2に戻す。
入力ポート3Aからの割込み要求によるパルス割込み処
理を開始する場合、図3に示す処理を実行する。すなわ
ち、CPU3Eは、処理ブロックである関数f1を行う
(ステップS11)。関数f1は、後述するオーバーフ
ロー割込み処理の際の呼び出しのために定義されたもの
であり、前回のパルスの幅を計測するためのパルス幅算
出処理である。関数f1では、CPU3Eは、前回のカ
ウント値Doと今回のカウント値Dnとをレジスタから
読み出す。そして、CPU3Eは、カウント値Do,D
nとオーバーフロー回数の値Nとから、パルス幅算出式
(1)を用いて、前回のパルスの幅に対応するカウント
数Nwを算出する。この後、CPU3Eは、今回のカウ
ント値Dnを値Doとしてレジスタに保存し、また、オ
ーバーフロー回数をクリアして、次のパルスの幅を計測
する。
うな関数f1を行う。ステップS11が終了すると、C
PU3Eは、ステップS2の上記通常処理に復帰する
(ステップS12)。また、CPU3Eは、ステップS
2の処理中に、カウンタ3Bからの割込み要求により、
図4に示すオーバーフロー割込み処理を開始する。すな
わち、CPU3Eは、パルス割込み要求の有無を調べる
(ステップS21)。ステップS21で、パルス割込み
要求が発生していると、CPU3Eは、この割込み要求
が発生したときのカウンタ3Bのカウント値を調べて、
このカウント値が最大値に近いかゼロに近いかを判断す
る(ステップS22)。ステップS22で、上記カウン
ト値がゼロに近いときは、CPU3Eは、カウンタ3B
のオーバーフローが次のパルスの前に発生すると判断
し、オーバーフロー回数をインクリメントし、オーバー
フロー回数の値を「1」だけ増やす(ステップS2
3)。
f1を呼び出して、前回のパルスの幅を計測するための
処理を行う。また、ステップS22で、上記カウント値
が最大値に近いときは、CPU3Eは、カウンタ3Bの
オーバーフローが次のパルスの後で発生すると判断し、
オーバーフロー回数をそのままにして、ステップS23
の処理を行う。
バーフロー割込み要求に対するパルス割込み要求の発生
タイミングを調べ、この発生タイミングに基づいて、オ
ーバーフロー回数をインクリメントするかどうかを決め
る。ステップS24の処理が終了すると、CPU3E
は、上記パルス幅算出処理を終了したので、パルス割込
み処理をクリアする(ステップS25)。この後、CP
U3Eは、上記通常処理に復帰する(ステップS2
6)。また、先のステップS21で、パルス割込み処理
が発生していなければ、CPU3Eは、オーバーフロー
回数をインクリメントし(ステップS27)、ステップ
S26の処理をする。こうして、CPU3Eは、オーバ
ーフロー割込み処理を実行する。
動作について説明する。つまり、CPU3Eが図2に示
すステップS2を行っているときに、時間t1で、検出
信号のパルス41の立ち上がりによる割込み要求が発生
する。この割込み要求により、CPU3Eは、図3に示
すパルス割込み処理を開始する。CPU3Eは、前回の
パルス幅を算出すると共に、パルス41のカウント値を
レジスタに保存する。
すると、割込み要求が発生する。この割込み要求によ
り、CPU3Eは、図4に示すオーバーフロー割込み処
理を開始する。これにより、CPU3Eは、ステップS
21で時間t2の前にパルス割込み要求が発生していな
いので、ステップS27の処理を行い、オーバーフロー
回数をインクリメントして、オーバーフロー割込み処理
を終了する。
し、CPU3Eは、この割込み要求による割込み処理を
実行する。さらに、上記割込み処理の実行中に、時間t
4でカウンタ3Bのオーバーフローによる割込み要求が
発生し、この割込み要求に続いて、時間t5で、パルス
41の次のパルス発生による割込み要求が発生すると、
CPU3Eは、これら2つの割込み要求を保留する。上
記他の割込み処理を終了すると、CPU3Eは、保留し
た上記2つの割込み要求による割込み処理を開始する。
オーバーフロー割込み要求が優先するので、CPU3E
は、時間t4で発生した割込み要求によるオーバーフロ
ー割込み処理(図4)を開始する。このとき、CPU3
Eは、ステップS21で、時間t5によるパルス割込み
要求が発生しているので、ステップS22で、現在のカ
ウンタ3Bのカウント値がゼロに近いか最大値に近いか
を判断する。図5に示すように、時間t4でのカウント
値がゼロに近いので、CPU3Eは、カウンタ3Bのオ
ーバーフローが次のパルスの立ち上がり前に発生すると
判断し、ステップS23〜ステップS25の処理を行
う。この後、CPU3Eは、通常処理に戻る。
る場合、CPU3Eは、次のような処理を行う。CPU
3Eが図2に示すステップS2を行っているときに、時
間t11で、検出信号のパルス51の立ち上がりによる
割込み要求が発生する。この割込み要求により、CPU
3Eは、図3に示すパルス割込み処理を開始する。時間
t12でカウンタ3Bがオーバーフローすると、割込み
要求が発生する。この割込み要求により、CPU3E
は、図4に示すオーバーフロー割込み処理を開始する。
時間t13のときに、他の割込み要求が発生し、CPU
3Eは、この割込み要求による割込み処理を実行する。
さらに、上記割込み処理の実行中に、時間t14で、パ
ルス51の次のパルス発生によるパルス割込み要求が発
生し、この割込み要求に続いて、時間t15で、カウン
タ3Bのオーバーフローによるオーバーフロー割込み要
求が発生すると、CPU3Eは、これら2つの割込み要
求を保留する。
3Eは、保留した上記2つの割込み要求による割込み処
理を開始する。このとき、オーバーフロー割込み要求が
優先するので、CPU3Eは、時間t15で発生した割
込み要求によるオーバーフロー割込み処理(図4)を開
始する。CPU3Eは、ステップS21で、パルス割込
み要求が発生しているので、ステップS22で、カウン
タ3Bのカウント値がゼロに近いか最大値に近いかを判
断する。図6に示すように、時間t14でのカウント値
が最大値に近いので、CPU3Eは、カウンタ3Bのオ
ーバーフローが次のパルスの立ち上がりの後で発生する
と判断し、ステップS24,S25の処理を行う。この
後、CPU3Eは、通常処理に戻る。
ーバーフロー要求が優先する場合、時間t14で発生し
たパルス割込み要求によるパルス51のパルス幅を算出
するときに、時間t15で発生したオーバーフローを取
り込むことがないので、パルス51のパルス幅を正確に
計測することを可能にする。
図7は、この発明の第2の実施の形態である回転検出用
のパルス幅計測装置のオーバーフロー割込み処理を示す
フローチャート、図8は、同回転検出用のパルス幅計測
装置のパルス割込み処理を示すフローチャートである。
この実施の形態では、CPU3Eの制御だけが第1の実
施の形態と異なるので、この異なる点だけを説明する。
この実施の形態のCPU3Eは、第1の実施の形態と同
じように、図2に示す処理を実行する。このとき、CP
U3Eは、ステップS1で、パルス割込み要求を優先す
る設定を行う。この後、CPU3Eは、第1の実施の形
態と同じように、ステップS2,S3の処理を行う。
カウンタ3Bからの割込み要求によるオーバーフロー割
込み処理を開始する場合、図7に示す処理を実行する。
すなわち、CPU3Eは、処理ブロックである関数f2
を行う(ステップS31)。関数f2は、後述するパル
ス割込み処理の際の呼び出しのために定義されたもので
あり、カウンタ3Bのオーバーフローにより、オーバー
フロー回数をインクリメントするものである。ステップ
S31で、CPU3Eは、このような関数f2を行う。
ステップS31が終了すると、CPU3Eは、図2に示
す上記通常処理に復帰する(ステップS32)。
中に、入力ポート3Aからの割込み要求により、図8に
示すパルス割込み処理を開始する。すなわち、CPU3
Eは、オーバーフロー割込み要求の有無を調べる(ステ
ップS41)。ステップS41で、オーバーフロー割込
み要求が発生していると、CPU3Eは、パルス割込み
要求が発生したときのカウンタ3Bのカウント値を調べ
て、このカウント値が最大値に近いかゼロに近いかを判
断する(ステップS42)。ステップS42で、上記カ
ウント値がゼロに近いときは、CPU3Eは、カウンタ
3Bのオーバーフローが次のパルスの前に発生すると判
断し、図7の関数f2を呼び出して実行する(ステップ
S43)。ステップS43の後、CPU3Eは、オーバ
ーフロー割込み要求をクリアする(ステップS44)。
ステップS44の後、CPU3Eは、上記パルス幅の算
出処理を実行し(ステップS45)、上記通常処理に復
帰する(ステップS46)。また、先のステップS41
で、パルス割込み処理が発生していない場合、CPU3
Eは、ステップS45の処理を行う。さらに、先のステ
ップS42で、カウント値が最大であれば、CPU3E
は、オーバーフローが次のパルスの後で発生すると判断
して、ステップS45の処理を行う。こうして、CPU
3Eは、パルス割込み要求に対するオーバーフロー割込
み要求の発生タイミングに基づいて、パルス割込み処理
を実行する。
の図5を併せ用いて説明する。時間t1でのパルス割込
み処理と、時間t2でのオーバーフロー割込み処理は、
第1の実施の形態と同じである。この後、時間t3のと
きに、他の割込み要求が発生し、CPU3Eは、この割
込み要求による割込み処理を実行する。さらに、上記割
込み処理の実行中に、時間t4でオーバーフローによる
割込み要求が発生し、この割込み要求に続いて、時間t
5で、パルス41の次のパルス発生による割込み要求が
発生すると、CPU3Eは、これら2つの割込み要求を
保留する。
3Eは、保留した上記2つの割込み要求による割込み処
理を開始する。このとき、パルス割込み要求が優先する
ので、CPU3Eは、時間t5で発生した割込み要求に
よるパルス割込み処理(図8)を開始する。CPU3E
は、ステップS41で、時間t4によるオーバーフロー
割込み要求が発生しているので、ステップS42で、現
在のカウント値がゼロに近いか最大値に近いかを判断す
る。図5に示すように、時間t5でのカウント値がゼロ
に近いので、CPU3Eは、オーバーフローが次のパル
スの立ち上がり前に発生すると判断し、ステップS4
3,S44でカウント値を「1」だけインクリメント
し、この後、ステップS45で上記パルス幅算出処理を
行う。この後、CPU3Eは、通常処理に戻る。
る場合、CPU3Eは、次のような処理を行う。時間t
11でのパルス割込み処理と、時間t12でのオーバー
フロー割込み処理は、第1の実施の形態と同じである。
この後、時間t13のときに、他の割込み要求が発生
し、CPU3Eは、この割込み要求による割込み処理を
実行する。さらに、上記割込み処理の実行中に、時間t
14で、パルス51の次のパルス発生による割込み要求
が発生し、この割込み要求に続いて、時間t15で、オ
ーバーフローによる割込み要求が発生すると、CPU3
Eは、これら2つの割込み要求を保留する。
3Eは、保留した上記2つの割込み要求による割込み処
理を開始する。このとき、パルス割込み要求が優先する
ので、CPU3Eは、時間t14で発生した割込み要求
によるパルス割込み処理(図8)を開始する。ステップ
S41で、オーバーフロー割込み要求が発生しているの
で、CPU3Eは、ステップS42でカウンタ3Bのカ
ウント値がゼロに近いか最大値に近いかを判断する。図
6に示すように、時間t14でのカウント値が最大値に
近いので、CPU3Eは、オーバーフローが次のパルス
の立ち上がりの後で発生すると判断し、ステップS45
の処理を行う。この後、CPU3Eは、通常処理に戻
る。
ルス割込み要求が優先する場合、時間t5で発生したパ
ルス割込み要求によるパルス41のパルス幅を算出する
ときに、時間t14で発生したオーバーフローを取り込
むので、パルス41のパルス幅を正確に算出することを
可能にする。以上、この発明の第1、第2の実施の形態
を図面により詳述してきたが、具体的な構成は、上記実
施の形態に限られるものではなく、この発明の要旨を逸
脱しない範囲の設計変更等があっても、この発明に含ま
れる。例えば、コンピュータ3を用いたソフト的な処理
で、この発明を実施したが、ハード的な構成で、この発
明を実施してもよい。
割込み要求を優先する設定を行った場合、オーバーフロ
ー割込み要求による割込み処理を実行するとき、優先順
位が次のパルス割込み要求が発生していると、この要求
の発生タイミングに基づいてオーバーフロー割込み処理
を実行する。この結果、割込み処理中に、パルス割込み
要求やオーバーフロー割込み要求が相次いで発生した
ら、優先順に割込み要求が発生しなくても、パルス幅を
正確に算出することができる。
行った場合、パルス割込み要求による割込み処理を実行
するとき、優先順位が次のオーバーフロー割込み要求が
発生していると、この要求に対するパルス割込み要求の
発生タイミングに基づいてパルス割込み処理を実行す
る。この結果、割込み処理中に、パルス割込み要求やオ
ーバーフロー割込み要求が相次いで発生したら、優先順
に割込み要求が発生しなくても、パルス幅を正確に算出
することができる。
のパルス幅計測装置の構成を概略示すブロック図であ
る。
手順を示すフローチャートである。
み処理手順を示すフローチャートである。
ロー割込み処理を示すフローチャートである。
幅の計測を説明する説明図である。
幅の計測を説明する説明図である。
のパルス幅計測装置のオーバーフロー割込み処理を示す
フローチャートである。
み処理を示すフローチャートである。
を説明する説明図である。
説明する説明図である。
説明する説明図である。
Claims (8)
- 【請求項1】 所定間隔で生成されるパルスをカウント
し、パルスのカウントがオーバーフローしたときにオー
バーフロー割込み要求を発生し、このオーバーフロー割
込み要求が発生すると、現在実行中の処理を中断して、
オーバーフロー回数をインクリメントし、被計測物の回
転に応じて生成される検出信号を受け取り、この検出信
号にパルスが含まれるときにパルス割込み要求を発生
し、このパルス割込み要求が発生すると、現在実行中の
処理を中断して、今回と前回のカウント数とオーバーフ
ロー回数とを用いて、前記検出信号のパルスの幅を算出
する回転検出用のパルス幅計測方法であって、 すでに発生したある割込み要求によるある割込み処理の
実行中に、前記オーバーフロー割込み要求とパルス割込
み要求が発生したら、保留した2つの要求の中でこのオ
ーバーフロー割込み要求を優先する設定を行う第1の処
理と、 前記ある割込み処理が終了して前記オーバーフロー割込
み要求による割込み処理を実行するとき、前記パルス割
込み要求が発生していると、このパルス割込み要求が発
生したときに取得したカウント値がゼロ又は最大値のど
ちらに近いかを調べる第2の処理と、 この第2の処理の結果、カウント値が最大値に近いとき
は、今回と前回のカウント数とオーバーフロー回数とを
用いて、前記検出信号のパルスの幅を算出する第3の処
理と、 前記第2の処理の結果、カウント値がゼロに近いとき
は、オーバーフロー回数をインクリメントして前記パル
ス割込み要求をクリアし、この後で、今回と前回のカウ
ント数とオーバーフロー回数とを用いて、前記検出信号
のパルスの幅を算出する第4の処理とを含んでなること
を特徴とする回転検出用のパルス幅計測方法。 - 【請求項2】 今回と前回のカウント数とオーバーフロ
ー回数とを用いて、前記検出信号のパルスの幅を算出す
る処理を処理ブロックとし、前記第3の処理及び前記第
4の処理の処理の中で、今回と前回のカウント数とオー
バーフロー回数とを用いて、前記検出信号のパルスの幅
を算出する代わりに、前記処理ブロックを呼び出して、
前記検出信号のパルスの幅を算出することを特徴とする
請求項1記載の回転検出用のパルス幅計測方法。 - 【請求項3】 被計測物の回転に応じて検出信号を出力
する回転検出部と、この回転検出部からの検出信号を受
け取ると、この検出信号に含まれるパルスの幅を算出す
る演算部とを備え、この演算部が、所定間隔で生成され
るパルスをカウントし、パルスのカウントがオーバーフ
ローしたときにオーバーフロー割込み要求を発生し、こ
のオーバーフロー割込み要求が発生すると、現在実行中
の処理を中断して、オーバーフロー回数をインクリメン
トし、前記検出信号にパルスが含まれるときにパルス割
込み要求を発生し、このパルス割込み要求が発生する
と、現在実行中の処理を中断して、今回と前回のカウン
ト数とオーバーフロー回数とを用いて、前記検出信号の
パルスの幅を算出する回転検出用のパルス幅計測装置で
あって、 前記演算部には、 すでに発生したある割込み要求によるある割込み処理の
実行中に、前記オーバーフロー割込み要求と前記パルス
割込み要求が発生したら、保留した2つの要求の中でオ
ーバーフロー割込み要求を優先する設定を行う第1の処
理と、 前記ある割込み処理が終了して前記オーバーフロー割込
み要求による割込み処理を実行するとき、前記パルス割
込み要求が発生していると、このパルス割込み要求が発
生したときに取得したカウント値がゼロ又は最大値のど
ちらに近いかを調べる第2の処理と、 この第2の処理の結果、カウント値が最大値に近いとき
は、今回と前回のカウント数とオーバーフロー回数とを
用いて、前記検出信号のパルスの幅を算出する第3の処
理と、 前記第2の処理の結果、カウント値がゼロに近いとき
は、オーバーフロー回数をインクリメントして前記パル
ス割込み要求をクリアし、この後で、今回と前回のカウ
ント数とオーバーフロー回数とを用いて、検出信号のパ
ルスの幅を算出する第4の処理とを行う機能が付加され
ていることを特徴とする回転検出用のパルス幅計測装
置。 - 【請求項4】 前記演算部は、今回と前回のカウント数
とオーバーフロー回数とを用いて、検出信号のパルスの
幅を算出する処理を処理ブロックとし、前記第3の処理
及び前記第4の処理の処理の中で、今回と前回のカウン
ト数とオーバーフロー回数とを用いて、前記検出信号の
パルスの幅を算出する代わりに、前記処理ブロックを呼
び出して、前記検出信号のパルスの幅を算出することを
特徴とする請求項3記載の回転検出用のパルス幅計測装
置。 - 【請求項5】 所定間隔で生成されるパルスをカウント
し、パルスのカウントがオーバーフローしたときにオー
バーフロー割込み要求を発生し、このオーバーフロー割
込み要求が発生すると、現在実行中の処理を中断して、
オーバーフロー回数をインクリメントし、被計測物の回
転に応じて生成される検出信号を受け取り、前記検出信
号にパルスが含まれるときにパルス割込み要求を発生
し、このパルス割込み要求が発生すると、現在実行中の
処理を中断して、今回と前回のカウント数とオーバーフ
ロー回数とを用いて、前記検出信号のパルスの幅を算出
する回転検出用のパルス幅計測方法であって、 すでに発生したある割込み要求によるある割込み処理の
実行中に、前記オーバーフロー割込み要求と前記パルス
割込み要求が発生したら、保留した2つの要求の中でパ
ルス割込み要求を優先する設定を行う第1の処理と、 前記ある割込み処理が終了してパルス割込み要求による
割込み処理を実行するとき、前記オーバーフロー割込み
要求が発生していると、この割込み要求で取得したカウ
ント値がゼロ又は最大値のどちらに近いかを調べる第2
の処理と、 この第2の処理の結果、カウント値が最大値に近いとき
は、今回と前回のカウント数とオーバーフロー回数とを
用いて、前記検出信号のパルスの幅を算出する第3の処
理と、 前記第2の処理の結果、カウント値がゼロに近いとき
は、オーバーフロー回数をインクリメントして前記オー
バーフロー割込み要求をクリアし、この後で、今回と前
回のカウント数とオーバーフロー回数とを用いて、前記
検出信号のパルスの幅を算出する第4の処理とを含むん
でなることを特徴とする回転検出用のパルス幅計測方
法。 - 【請求項6】 オーバーフロー回数をインクリメントす
る処理を処理ブロックとし、前記第4の処理の処理の中
で、オーバーフロー回数をインクリメントして前記オー
バーフロー割込み要求をクリアする代わりに、前記処理
ブロックを呼び出して実行した後で前記オーバーフロー
割込み要求をクリアすることを特徴とする請求項5記載
の回転検出用のパルス幅計測方法。 - 【請求項7】 被計測物の回転に応じて検出信号を出力
する回転検出部と、この回転検出部からの検出信号を受
け取ると、この検出信号に含まれるパルスの幅を算出す
る演算部とを備え、この演算部が、所定間隔で生成され
るパルスをカウントし、パルスのカウントがオーバーフ
ローしたときにオーバーフロー割込み要求を発生し、こ
のオーバーフロー割込み要求が発生すると、現在実行中
の処理を中断して、オーバーフロー回数をインクリメン
トし、前記検出信号にパルスが含まれるときにパルス割
込み要求を発生し、このパルス割込み要求が発生する
と、現在実行中の処理を中断して、今回と前回のカウン
ト数とオーバーフロー回数とを用いて、前記検出信号の
パルスの幅を算出する回転検出用のパルス幅計測装置で
あって、 前記演算部には、 すでに発生したある割込み要求による割込み処理の実行
中に、前記オーバーフロー割込み要求と前記パルス割込
み要求が発生したら、保留した2つの要求の中でパルス
割込み要求を優先する設定を行う第1の処理と、 前記ある割込み処理が終了してパルス割込み要求による
割込み処理を実行するとき、前記オーバーフロー割込み
要求が発生していると、この割込み要求で取得したカウ
ント値がゼロ又は最大値のどちらに近いかを調べる第2
の処理と、 この第2の処理の結果、カウント値が最大値に近いとき
は、今回と前回のカウント数とオーバーフロー回数とを
用いて、前記検出信号のパルスの幅を算出する第3の処
理と、 第2の処理の結果、カウント値がゼロに近いときは、オ
ーバーフロー回数をインクリメントして前記オーバーフ
ロー割込み要求をクリアし、この後で、今回と前回のカ
ウント数と、オーバーフロー回数とを用いて、前記検出
信号のパルスの幅を算出する第4の処理とを行う機能が
付加されていることを特徴とする回転検出用のパルス幅
計測装置。 - 【請求項8】 前記演算部は、オーバーフロー回数をイ
ンクリメントする処理を処理ブロックとし、前記第4の
処理の処理の中で、オーバーフロー回数をインクリメン
トして前記オーバーフロー割込み要求をクリアする代わ
りに、前記処理ブロックを呼び出して実行した後で前記
オーバーフロー割込み要求をクリアすることを特徴とす
る請求項7記載の回転検出用のパルス幅計測装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32745497A JP2998727B2 (ja) | 1997-11-28 | 1997-11-28 | 回転検出用のパルス幅計測装置及びパルス幅計測方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32745497A JP2998727B2 (ja) | 1997-11-28 | 1997-11-28 | 回転検出用のパルス幅計測装置及びパルス幅計測方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11160338A true JPH11160338A (ja) | 1999-06-18 |
JP2998727B2 JP2998727B2 (ja) | 2000-01-11 |
Family
ID=18199352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32745497A Expired - Fee Related JP2998727B2 (ja) | 1997-11-28 | 1997-11-28 | 回転検出用のパルス幅計測装置及びパルス幅計測方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2998727B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007057446A (ja) * | 2005-08-26 | 2007-03-08 | Fujitsu Ten Ltd | パルス信号測定装置及び方法 |
JP2015010832A (ja) * | 2013-06-26 | 2015-01-19 | 株式会社デンソー | 車載電子制御装置 |
CN110307861A (zh) * | 2019-07-05 | 2019-10-08 | 上海托菲机电科技有限公司 | 一种光电传感器装置及控制系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102778610B (zh) * | 2012-08-16 | 2015-01-21 | 漳州市东方智能仪表有限公司 | 一种脉宽测量方法及电路 |
-
1997
- 1997-11-28 JP JP32745497A patent/JP2998727B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007057446A (ja) * | 2005-08-26 | 2007-03-08 | Fujitsu Ten Ltd | パルス信号測定装置及び方法 |
JP2015010832A (ja) * | 2013-06-26 | 2015-01-19 | 株式会社デンソー | 車載電子制御装置 |
CN110307861A (zh) * | 2019-07-05 | 2019-10-08 | 上海托菲机电科技有限公司 | 一种光电传感器装置及控制系统 |
CN110307861B (zh) * | 2019-07-05 | 2024-04-09 | 托菲传感技术(上海)股份有限公司 | 一种光电传感器装置及控制系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2998727B2 (ja) | 2000-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2065939A (en) | Arrangement having a programmabel electrical circuit and monitoring menas | |
CN109005002B (zh) | 传感器数据处理装置、传感器系统和在使用传感器系统的情况下确定换算参数的方法 | |
KR20040068971A (ko) | 광대역 주파수 범위에서 펄스 입력 신호의 주파수를 높은정확도로 결정하는 방법 | |
JP2998727B2 (ja) | 回転検出用のパルス幅計測装置及びパルス幅計測方法 | |
CN113804914A (zh) | 电机测速方法、装置、计算机设备和存储介质 | |
JPH1038907A (ja) | パルス信号の周期検出装置 | |
CN111175573A (zh) | 交流电压频率的检测方法、装置、设备及介质 | |
JP2000074962A (ja) | 周期計測装置および周期計測方法、並びに記録媒体 | |
US7417571B2 (en) | Method for providing a correlation | |
JP2604562B2 (ja) | パルス間隔計測装置 | |
JPH0150866B2 (ja) | ||
KR19990043005A (ko) | 증분형 엔코더를 이용한 전동기 속도 검출 장치 | |
JPH034174A (ja) | 車両用速度検出装置 | |
CN115166284A (zh) | 频率信号采集系统及频率信号采集方法 | |
JPH0377067A (ja) | 回転速度計測装置 | |
JPH04233467A (ja) | モータの速度測定方法及びその装置 | |
JPH09114541A (ja) | 割り込み発生時刻確認回路、処理装置 | |
JP2827446B2 (ja) | 電動機の速度検出方法 | |
JP2001221807A (ja) | 回転速度検出装置 | |
JPH0894660A (ja) | パルス計測装置 | |
KR20240008740A (ko) | 레졸버 신호 처리 장치 및 방법 | |
JP2000055958A (ja) | デューティ比判定回路及びデューティ比判定方法 | |
JPH0326970A (ja) | パルス周期計測装置 | |
JP2533707Y2 (ja) | 可変周期パルスのカウント装置 | |
JP2587762Y2 (ja) | 車輪速計測装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071105 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081105 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081105 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091105 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101105 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101105 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111105 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111105 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121105 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131105 Year of fee payment: 14 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |