JPH0765664A - スイッチ制御回路 - Google Patents
スイッチ制御回路Info
- Publication number
- JPH0765664A JPH0765664A JP5207697A JP20769793A JPH0765664A JP H0765664 A JPH0765664 A JP H0765664A JP 5207697 A JP5207697 A JP 5207697A JP 20769793 A JP20769793 A JP 20769793A JP H0765664 A JPH0765664 A JP H0765664A
- Authority
- JP
- Japan
- Prior art keywords
- switch
- state
- output
- counter
- state machine
- 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.)
- Pending
Links
Landscapes
- Input From Keyboards Or The Like (AREA)
- Keying Circuit Devices (AREA)
Abstract
(57)【要約】
【目的】 スイッチのチャタリングやスイッチの誤操作
を抑制する。 【構成】 スイッチ1の状態をディジタル回路により読
み出し、ディジタル回路の動作あるいはコンピュータの
動作を制御する。ステートマシンは一定時間以上、スイ
ッチ1が投入あるいは解除されていることを検知して、
スイッチ1のオン/オフ状態を出力する。このようにし
てパラメータのばらつきがちな従来のCRによる積分回路
に比べて、閾値の設定が厳密にでき、製造上のバラツキ
が起こらない。
を抑制する。 【構成】 スイッチ1の状態をディジタル回路により読
み出し、ディジタル回路の動作あるいはコンピュータの
動作を制御する。ステートマシンは一定時間以上、スイ
ッチ1が投入あるいは解除されていることを検知して、
スイッチ1のオン/オフ状態を出力する。このようにし
てパラメータのばらつきがちな従来のCRによる積分回路
に比べて、閾値の設定が厳密にでき、製造上のバラツキ
が起こらない。
Description
【0001】
【産業上の利用分野】本発明は、スイッチ制御回路に関
し、より詳細には、ステートマシンを使用してスイッチ
の入力の検知を行うことで、スイッチ操作の操作余裕と
チャタリング防止を行うようにしたスイッチ制御回路に
関する。例えば、スイッチを有するディジタル制御機器
全般に適用されるものである。
し、より詳細には、ステートマシンを使用してスイッチ
の入力の検知を行うことで、スイッチ操作の操作余裕と
チャタリング防止を行うようにしたスイッチ制御回路に
関する。例えば、スイッチを有するディジタル制御機器
全般に適用されるものである。
【0002】
【従来の技術】図6は、従来のTTLレベルコンバータに
おけるスイッチ回路を示す図で、図中、11はスイッ
チ、12は入力バッファ(Input Buffer)である。従来の
スイッチの状態をセンスする回路は、図6に示すよう
に、スイッチをディジタル的に読み出すためのバッファ
ゲートを使ってTTL論理出力に変換していた。しかし、
図6に示す構成ではスイッチがチャタリングを起こすた
め、そのTTL出力は、図7(a),(b)に示すように、
チャタリングを反映していた。そこで、図8に示すよう
に、チャタリングを抑制する回路としてキャパシタンス
Cと抵抗Rによる積分回路が広く知られている。
おけるスイッチ回路を示す図で、図中、11はスイッ
チ、12は入力バッファ(Input Buffer)である。従来の
スイッチの状態をセンスする回路は、図6に示すよう
に、スイッチをディジタル的に読み出すためのバッファ
ゲートを使ってTTL論理出力に変換していた。しかし、
図6に示す構成ではスイッチがチャタリングを起こすた
め、そのTTL出力は、図7(a),(b)に示すように、
チャタリングを反映していた。そこで、図8に示すよう
に、チャタリングを抑制する回路としてキャパシタンス
Cと抵抗Rによる積分回路が広く知られている。
【0003】
【発明が解決しようとする課題】前述のように、従来の
CRによる積分回路では、図9(a)〜(c)に示すよう
に、時定数CR(秒)程度の時間遅れで、バッファゲート
のしきい値で決まる時間程度遅れてゲートの出力にスイ
ッチの状態が現われるので、スイッチオンあるいはオフ
の直後にCR秒時間以内にスイッチを元に戻せば、結局、
論理出力はスイッチを操作しなかったことと同じになる
効果がある。しかし、回路定数のバラツキやスイッチの
信号線に載ったノイズの影響あるいはゲート回路のしき
い値のバラツキなどで正確なチャタリング抑制回路を実
現することには困難があった。
CRによる積分回路では、図9(a)〜(c)に示すよう
に、時定数CR(秒)程度の時間遅れで、バッファゲート
のしきい値で決まる時間程度遅れてゲートの出力にスイ
ッチの状態が現われるので、スイッチオンあるいはオフ
の直後にCR秒時間以内にスイッチを元に戻せば、結局、
論理出力はスイッチを操作しなかったことと同じになる
効果がある。しかし、回路定数のバラツキやスイッチの
信号線に載ったノイズの影響あるいはゲート回路のしき
い値のバラツキなどで正確なチャタリング抑制回路を実
現することには困難があった。
【0004】本発明は、このような実情に鑑みてなされ
たもので、パラメータのばらつきがちなCRによる積分回
路に比べて、閾値の設定を厳密にできるようにし、回路
の定数である閾値の値を変えることにより、自由に時定
数を変えられるようにしたスイッチ制御回路を提供する
ことを目的としている。
たもので、パラメータのばらつきがちなCRによる積分回
路に比べて、閾値の設定を厳密にできるようにし、回路
の定数である閾値の値を変えることにより、自由に時定
数を変えられるようにしたスイッチ制御回路を提供する
ことを目的としている。
【0005】
【課題を解決するための手段】本発明は、上記目的を達
成するために、投入あるいは解除を行うスイッチと、該
スイッチの出力信号を読み出し、一定時間以上スイッチ
が投入あるいは解除されていることを検知し、前記スイ
ッチのオン/オフの状態を出力するステートマシンとか
ら成り、前記スイッチのチャタリングやスイッチ誤操作
を抑制するようにしたことを特徴としたものである。
成するために、投入あるいは解除を行うスイッチと、該
スイッチの出力信号を読み出し、一定時間以上スイッチ
が投入あるいは解除されていることを検知し、前記スイ
ッチのオン/オフの状態を出力するステートマシンとか
ら成り、前記スイッチのチャタリングやスイッチ誤操作
を抑制するようにしたことを特徴としたものである。
【0006】
【作用】スイッチの状態をディジタル回路にて読み出す
方式において、デイジタル回路の動作あるいはコンピュ
ータの動作を制御する目的に使用する場合において、ス
イッチの出力をセンスする回路により、一定時間以上ス
イッチが投入あるいは解除されていることを検知してス
イッチのオン/オフの状態を出力する。これを使用する
ことでスイッチのチャタリングやスイッチ操作のミスを
抑制し、スイッチ操作に一定の時間的余裕をおくことが
できる。
方式において、デイジタル回路の動作あるいはコンピュ
ータの動作を制御する目的に使用する場合において、ス
イッチの出力をセンスする回路により、一定時間以上ス
イッチが投入あるいは解除されていることを検知してス
イッチのオン/オフの状態を出力する。これを使用する
ことでスイッチのチャタリングやスイッチ操作のミスを
抑制し、スイッチ操作に一定の時間的余裕をおくことが
できる。
【0007】
【実施例】実施例について、図面を参照して以下に説明
する。図1は、本発明によるスイッチ制御回路の一実施
例を説明するための構成図で、図中、1はスイッチ、2
はステートマシンである。ステートマシン2は、入力端
子(Input)と、出力端子(Output)と、クロック信号
入力端子(CLK)と、リセット端子(Reset)とを有して
おり、スイッチ1からの信号は入力端子に入力される。
する。図1は、本発明によるスイッチ制御回路の一実施
例を説明するための構成図で、図中、1はスイッチ、2
はステートマシンである。ステートマシン2は、入力端
子(Input)と、出力端子(Output)と、クロック信号
入力端子(CLK)と、リセット端子(Reset)とを有して
おり、スイッチ1からの信号は入力端子に入力される。
【0008】本発明では、CRによる積分回路の代わり
に、図1に示すようなブロックで表現されるステートマ
シンを使用して論理出力に変換する。このステートマシ
ンの状態図は、図2のようになる。このときステートマ
シンを駆動するクロック周波数をCLK(Hz)とし、ステ
ートマシンの内部カウンタはMbitであるとする。すなわ
ち、2のM乗数値がカウントできるものとする。ステー
トマシンは、入力が一定サイクル(N)の間連続してHig
h(Low)でなければ出力(Output)をLow(High)にしないよ
うな論理である。このときのステートマシンは、N/CLK
(秒)の時定数を持った積分回路として振舞うのでCRに
よる積分回路と同様な動作が得られる。
に、図1に示すようなブロックで表現されるステートマ
シンを使用して論理出力に変換する。このステートマシ
ンの状態図は、図2のようになる。このときステートマ
シンを駆動するクロック周波数をCLK(Hz)とし、ステ
ートマシンの内部カウンタはMbitであるとする。すなわ
ち、2のM乗数値がカウントできるものとする。ステー
トマシンは、入力が一定サイクル(N)の間連続してHig
h(Low)でなければ出力(Output)をLow(High)にしないよ
うな論理である。このときのステートマシンは、N/CLK
(秒)の時定数を持った積分回路として振舞うのでCRに
よる積分回路と同様な動作が得られる。
【0009】図3(a)〜(c)は、動作例の説明図
で、チャタリングを伴う入力がどのように出力されるか
を示している。入力状態はswitchで1か0,出力状態は
outputで1か0,カウンタ(counter)は初期値が0であ
る。クロックが入るごとに論理に基づいて以下の3つの
状態を遷移する。 CHECK;LOWからHIGHへの移行またはHIGHからLOWへ
の移行をチェックする状態(CHECK) LOWTOHIGH;LOWからHIGHへの移行を実行する
状態(LOWTOHIGH) HIGHTOLOW;HIGHからLOWへの移行を実行する
状態(HIGHTOLOW)
で、チャタリングを伴う入力がどのように出力されるか
を示している。入力状態はswitchで1か0,出力状態は
outputで1か0,カウンタ(counter)は初期値が0であ
る。クロックが入るごとに論理に基づいて以下の3つの
状態を遷移する。 CHECK;LOWからHIGHへの移行またはHIGHからLOWへ
の移行をチェックする状態(CHECK) LOWTOHIGH;LOWからHIGHへの移行を実行する
状態(LOWTOHIGH) HIGHTOLOW;HIGHからLOWへの移行を実行する
状態(HIGHTOLOW)
【0010】DATA I/O社のAbel言語で動作を記述するな
らば、以下のようになる。また、このステートマシンに
はリセット入力があり、リセット終了後、ただちにCHEC
K状態から動作を開始する。ここではM=8 bit,N=10(=cm
ax)にしている。なお、入力状態switchは一旦内部のフ
リップフロップでラッチしたlswitchという変数に変換
している。
らば、以下のようになる。また、このステートマシンに
はリセット入力があり、リセット終了後、ただちにCHEC
K状態から動作を開始する。ここではM=8 bit,N=10(=cm
ax)にしている。なお、入力状態switchは一旦内部のフ
リップフロップでラッチしたlswitchという変数に変換
している。
【0011】 module integral declarations integral device ‘MACH130A'; “inputs switch pin ; CLK pin ;“clock _RESET pin ;“reset signal “outputs output pin ; “hidden nodes s7,s6,s5,s4,s3,s2,s1,s0 node istype ‘ reg_d' ; st1,st0,node istype‘reg_d'; lswitch pin istype‘reg_d'; H,L,X,C,Z,P=1,0,.X.,.C.,.Z.,.P.; counter=[s7,s6,s5,s4,s3,s2,s1,s0]; cmax =10 ; integra= [st1,st0]; CHECK=[0,0]; HIGHTOLOW=[1,0]; LOWTOHIGH=[0,1]; equations output.clk=CLK; output.re =!_RESET; counter.clk :=CLK; counter.re =!_RESET; lswitch :=switch; lswitch.clk =CLK; Integra.re=!_RESET; Integra.clk =CLK; when(lswitch&(counter<(cmax+1))&(integra==CHECK))then counter := counter + 1 ; else when((!lswitch&(counter>0)&(integra==CHECK))then counter := counter - 1 ; else counter := counter; state_diagram Integra state CHECK: output :=output; if((output==0)&(counter>cmax))then goto LOWTOHGH; else if((output==1)&(counter==0))then goto HIGHTOLOW; else goto CHECK; state LOWTOHIGH: output :=1; goto CHECK; state HIGHTOLOW: output :=0; goto CHECK; end integral;
【0012】次に、図2に示すステートマシンの状態図
と前述のAbelソースをもとに説明する。カウンタが+1
加算されるのは、次の条件の時である。すなわち、入力
swichが1であり、かつステートマシンがCHECKであり、
counterが閾値N(cmax)以下である場合である。カウン
タが1減算されるのは、次の条件の時である。すなわ
ち、入力lswichが0であり、かつステートマシンがCHEC
Kであり、counterが0よりも大きい場合である。また、
出力outputが0から1へ変化する条件は、outputが0で
counterが閾値cmaxより大きい時である。また、出力ou
tputが1から0へ変化する条件は、outputが1でcounte
rが0になった時である。以上のような条件の論理回路
ブロックは、ヒステリシスを持つため、一定サイクルcm
ax以上連続して入力論理がHIGHまたはLOWになったとき
のみ、出力がHIGHまたは、LOWになる。
と前述のAbelソースをもとに説明する。カウンタが+1
加算されるのは、次の条件の時である。すなわち、入力
swichが1であり、かつステートマシンがCHECKであり、
counterが閾値N(cmax)以下である場合である。カウン
タが1減算されるのは、次の条件の時である。すなわ
ち、入力lswichが0であり、かつステートマシンがCHEC
Kであり、counterが0よりも大きい場合である。また、
出力outputが0から1へ変化する条件は、outputが0で
counterが閾値cmaxより大きい時である。また、出力ou
tputが1から0へ変化する条件は、outputが1でcounte
rが0になった時である。以上のような条件の論理回路
ブロックは、ヒステリシスを持つため、一定サイクルcm
ax以上連続して入力論理がHIGHまたはLOWになったとき
のみ、出力がHIGHまたは、LOWになる。
【0013】次に、本発明によるスイッチ制御回路をコ
ンピュータのソフト電源スイッチに応用した場合につい
て説明する。前述のAbel 言語ソースは、AMD社のMACH13
0A FPGA(Field Programmable Gate array)を前提に記述
したもので実際に動作する。ソフト電源スイッチとは、
コンピュータのソフトウエアによりこのスイッチの状態
をセンスし、電源断を検知することにより終了処理を開
始する目的で使うものである。本発明によるスイッチ制
御回路のステートマシンへの供給クロックは10Hzとす
ると、また閾値N=100であるから、時定数は 100×1/10Hz=1秒 である。
ンピュータのソフト電源スイッチに応用した場合につい
て説明する。前述のAbel 言語ソースは、AMD社のMACH13
0A FPGA(Field Programmable Gate array)を前提に記述
したもので実際に動作する。ソフト電源スイッチとは、
コンピュータのソフトウエアによりこのスイッチの状態
をセンスし、電源断を検知することにより終了処理を開
始する目的で使うものである。本発明によるスイッチ制
御回路のステートマシンへの供給クロックは10Hzとす
ると、また閾値N=100であるから、時定数は 100×1/10Hz=1秒 である。
【0014】図3(a)〜(c)と図4(a)〜(c)
と図5(a)〜(c)は、動作例の説明図で、各々図
(a)が入力、図(b)が内部カウンタの値、図(c)
が出力の例である。誤ってこのスイッチを切っても、時
定数の時間内であればただちにこのスイッチをもとに戻
すことによりスイッチ断にならなかったことになる。ス
イッチがプッシュボタンであれば、1秒以上の時間を押
すことで初めてスイッチを押したことが検知できること
になる。またチャタリングの影響を防ぐことが出来る。
と図5(a)〜(c)は、動作例の説明図で、各々図
(a)が入力、図(b)が内部カウンタの値、図(c)
が出力の例である。誤ってこのスイッチを切っても、時
定数の時間内であればただちにこのスイッチをもとに戻
すことによりスイッチ断にならなかったことになる。ス
イッチがプッシュボタンであれば、1秒以上の時間を押
すことで初めてスイッチを押したことが検知できること
になる。またチャタリングの影響を防ぐことが出来る。
【0015】
【発明の効果】以上の説明から明らかなように、本発明
によると、スイッチのチャタリングを防止する方法とし
て利用でき、また、スイッチを操作するものが人間であ
る場合は、誤った操作でスイッチを投入/解除した場合
でも、一定時間であればもとに戻すことによってスイッ
チの投入/解除をキャンセルでき、操作に慎重さが求め
られるコンピュータの電源制御スイッチとしての応用が
できる。さらに、パラメータのばらつきがちな従来のCR
による積分回路に比べて、閾値の設定が厳密にできるの
で、製造上のバラツキが起こり得ない。また、回路の定
数である閾値の値を変えることで、自由に時定数が変え
られる。
によると、スイッチのチャタリングを防止する方法とし
て利用でき、また、スイッチを操作するものが人間であ
る場合は、誤った操作でスイッチを投入/解除した場合
でも、一定時間であればもとに戻すことによってスイッ
チの投入/解除をキャンセルでき、操作に慎重さが求め
られるコンピュータの電源制御スイッチとしての応用が
できる。さらに、パラメータのばらつきがちな従来のCR
による積分回路に比べて、閾値の設定が厳密にできるの
で、製造上のバラツキが起こり得ない。また、回路の定
数である閾値の値を変えることで、自由に時定数が変え
られる。
【図1】本発明によるスイッチ制御回路の一実施例を説
明するための構成図である。
明するための構成図である。
【図2】本発明におけるステートマシンの状態図であ
る。
る。
【図3】本発明によるスイッチ制御回路の応用例の動作
説明図(その1)である。
説明図(その1)である。
【図4】本発明によるスイッチ制御回路の応用例の動作
説明図(その2)である。
説明図(その2)である。
【図5】本発明によるスイッチ制御回路の応用例の動作
説明図(その3)である。
説明図(その3)である。
【図6】従来のTTLレベルコンバータのスイッチ回路を
示す図である。
示す図である。
【図7】従来例における入力バッファの入出力信号を示
す図である。
す図である。
【図8】従来例であるCR積分回路を示す図である。
【図9】従来例におけるCRフィルタの動作説明図であ
る。
る。
1…スイッチ、2…ステートマシン。
Claims (1)
- 【請求項1】 投入あるいは解除を行うスイッチと、該
スイッチの出力信号を読み出し、一定時間以上スイッチ
が投入あるいは解除されていることを検知し、前記スイ
ッチのオン/オフの状態を出力するステートマシンとか
ら成り、前記スイッチのチャタリングやスイッチ誤操作
を抑制するようにしたことを特徴とするスイッチ制御回
路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5207697A JPH0765664A (ja) | 1993-08-23 | 1993-08-23 | スイッチ制御回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5207697A JPH0765664A (ja) | 1993-08-23 | 1993-08-23 | スイッチ制御回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0765664A true JPH0765664A (ja) | 1995-03-10 |
Family
ID=16544076
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5207697A Pending JPH0765664A (ja) | 1993-08-23 | 1993-08-23 | スイッチ制御回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0765664A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6530634B1 (en) | 1998-09-16 | 2003-03-11 | Seiko Epson Corporation | Ink jet recording apparatus |
| JP2011049070A (ja) * | 2009-08-27 | 2011-03-10 | Fujitsu Component Ltd | 制御装置 |
| WO2023188139A1 (ja) * | 2022-03-30 | 2023-10-05 | 三菱自動車工業株式会社 | 電動車両の電源管理装置 |
-
1993
- 1993-08-23 JP JP5207697A patent/JPH0765664A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6530634B1 (en) | 1998-09-16 | 2003-03-11 | Seiko Epson Corporation | Ink jet recording apparatus |
| JP2011049070A (ja) * | 2009-08-27 | 2011-03-10 | Fujitsu Component Ltd | 制御装置 |
| WO2023188139A1 (ja) * | 2022-03-30 | 2023-10-05 | 三菱自動車工業株式会社 | 電動車両の電源管理装置 |
| JPWO2023188139A1 (ja) * | 2022-03-30 | 2023-10-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR950007267B1 (ko) | 리모콘신호의 펄스폭 측정회로 | |
| JPH0765664A (ja) | スイッチ制御回路 | |
| US5388225A (en) | Time-domain boundary bridge method and apparatus for asynchronous sequential machines | |
| JPH0133052B2 (ja) | ||
| JP2002043902A (ja) | チャタリング除去回路 | |
| JPH04101535A (ja) | インタフェース回路 | |
| JP3475589B2 (ja) | 信号読み取り装置 | |
| JP3201445B2 (ja) | チャタリング防止回路 | |
| JP3025702B2 (ja) | ロック検出回路 | |
| JP3138090B2 (ja) | レベル検出回路及びそれを用いたad変換器 | |
| JP2973613B2 (ja) | プログラマブルカウンタ | |
| JP2606458Y2 (ja) | 信号レベル監視回路 | |
| JPH0366855B2 (ja) | ||
| JPH0553703A (ja) | チヤタリング除去回路 | |
| JPH07152815A (ja) | 論理回路 | |
| JPH035804A (ja) | チャタリング防止回路 | |
| JP3142071B2 (ja) | ディジタル・デファジィファイヤ回路 | |
| JP2864779B2 (ja) | パルス入力回路 | |
| CN120160666A (zh) | 一种具有复用管脚的传感芯片及管脚复用方法 | |
| JPH09198367A (ja) | マイクロコンピュータ | |
| JP2613916B2 (ja) | データ非周期読出し回路 | |
| JPH0550760B2 (ja) | ||
| JPS59144938A (ja) | 接点式エンコ−ダスイツチ読み取り装置 | |
| JPH09146980A (ja) | 論理遅延シミュレーション方法 | |
| JPS60151876A (ja) | 情報再生装置 |