JP2003223263A - キー入力装置、情報処理装置、及びキー入力処理方法 - Google Patents

キー入力装置、情報処理装置、及びキー入力処理方法

Info

Publication number
JP2003223263A
JP2003223263A JP2002024219A JP2002024219A JP2003223263A JP 2003223263 A JP2003223263 A JP 2003223263A JP 2002024219 A JP2002024219 A JP 2002024219A JP 2002024219 A JP2002024219 A JP 2002024219A JP 2003223263 A JP2003223263 A JP 2003223263A
Authority
JP
Japan
Prior art keywords
value
key input
binary data
counting
key
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
Application number
JP2002024219A
Other languages
English (en)
Inventor
Hiroshi Ichimura
啓 市村
Hiroki Horikoshi
宏樹 堀越
Tadashi Takahashi
匡 高橋
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2002024219A priority Critical patent/JP2003223263A/ja
Publication of JP2003223263A publication Critical patent/JP2003223263A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Input From Keyboards Or The Like (AREA)

Abstract

(57)【要約】 【課題】 複数のキーを連続もしくは同時に操作された
場合のチャタリング除去を迅速に行うことを可能とした
キー入力装置、情報処理装置、及びキー入力処理方法を
提供する。 【解決手段】 キー入力装置は、スイッチ102、10
3、104から得られる電気信号を少なくとも2ビット
以上のバイナリデータとして記憶するキーデータレジス
タ201、バイナリデータのサンプリング周期を提供す
るサンプル周期カウンタ206、サンプリング周期を変
更するサンプル周期規定値変更カウンタ207、バイナ
リデータの1ビット以上の値が変化したことを検知する
コンパレータ202、バイナリデータが連続して同一値
が続いた場合の回数を計数する同一値カウンタ205、
同一値カウンタ205の計数回数が規定値に達した時の
バイナリデータを確定値として保持するキー確定値レジ
スタ203を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キー入力装置、情
報処理装置、及びキー入力処理方法に関し、特に、情報
処理装置に装備されるキーボード等の機械式接点を有す
るスイッチにより電気信号をオン・オフするときに発生
するチャタリングを、複数のキーを多ビットのバイナリ
データとして扱うことで除去する場合に好適なキー入力
装置、情報処理装置、及びキー入力処理方法に関する。
【0002】
【従来の技術】情報処理装置に装備されるキーボード等
の機械式接点を有するスイッチを用いて電気信号をオン
・オフし、該スイッチをオン・オフする際にチャタリン
グと呼ばれる状態が発生し、動作が不安定になることが
ある。この場合、チャタリングが発生している時間は、
スイッチや、そのスイッチの操作方法によって異なるも
のである。
【0003】従来、チャタリング時に発生するノイズを
除去するために、キースイッチの値が変化してから、一
定時間後のキースイッチの値を参照することにより、チ
ャタリング時に対応していた。この様子を図9のタイミ
ングチャートを使用して説明する。キー入力値をサンプ
リング周期でサンプルし、その値が以前の確定値と異な
るまでが、キー入力待ちステータスの状態である。ある
サンプル値が以前のキー入力確定値と異なったときか
ら、チャタリング除去用のタイマ待ちステータスとな
り、一定の時間をおいた後の入力値をキー入力値の確定
としていた。また、チャタリング時に発生するノイズを
除去する回路による他のノイズ除去方法としては、キー
スイッチからの入力データを一定間隔でサンプリング、
もしくは周期を可変してサンプリングし、サンプリング
出力の値が連続して何回か一致していることでチャタリ
ングを除去し、キースイッチのオン・オフを検出してい
た。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来技術においては次のような問題があった。即ち、昨今
の半導体技術の進歩によりASIC(Application Spec
ific Integrated Circuit)などの回路の集積化が進ん
でおり、年々シリコン・プロセスの微細化により回路の
集積度が増し、より多くの機能を1つのチップに実装す
ることが可能となっている。その一方で、回路外部との
間で信号の入出力を行うための入出力ピンの数の増加
は、ASICのシリコンサイズやパッケージサイズに関
わってきてしまう可能性があり、ASICの価格上昇の
要因にもなりかねないため、パラレルにデータを転送す
るのではなく、シリアルにデータを転送するシリアル転
送を用いる必要がある。
【0005】複数キーの入力信号の場合も同様で、スイ
ッチとASICを一対一でパラレル接続するのではな
く、複数のスイッチデータを同時にサンプルし、そのビ
ットバイナリデータをパラレル−シリアル変換すること
で、入出力ピンの増加を抑える工夫が必要となる。この
ようにパラレル−シリアル変換を行ってキー入力を行う
場合は、複数のキーすべてをある間隔でサンプリングす
ることが一般的である。
【0006】複数のスイッチの入力データを多ビットの
バイナリデータとして扱う機器においては、複数のキー
を連続して操作する、もしくは複数のキーを同時に操作
する場合が考えられる。従来技術にある1つのキースイ
ッチデータのチャタリング除去方法を多ビットバイナリ
データにおいて採用すると、1つのキースイッチデータ
が確定した後にすぐ別のキーが操作されても、最初のキ
ースイッチデータが確定した後の、次のキー操作による
キースイッチデータを検出するまでの時間や、ほぼ同時
に複数のキーが操作された(同時押し)際のキースイッ
チデータを検出するまでの時間がかかってしまう。
【0007】この様子を図10のタイミングチャートを
使用して説明する。3つのキー入力を3ビットのキー入
力データとして使い、それをサンプリング信号の立ち上
がり時点においてサンプリングを行う。最初はキーの状
態が000ですべてのキーが0の状態にある。図10で
は、キー入力データの1ビット目のキーが押され0から
1へ変化する過程を示している。また、1ビット目のキ
ーが押されて0から1へ変化する際にチャタリングが発
生している。そのため、この例では、サンプルしたデー
タが3回同じ値になったとき、チャタリングが収束して
いると見なし確定データとして扱っている。
【0008】通常はサンプリングを長く行っており、何
かのキーが変化したことを検出してからサンプリング周
期を速くするものである。同一値カウンタにおいて、サ
ンプリングを行うたびに前回サンプリングしたキー入力
データとの比較を行い、前回と同じ値であった場合のみ
1カウントアップを行う。それ以外のときは該同一値カ
ウンタの値をクリアする。同一値カウンタの値が2にな
ったときに確定データとして扱う仕組みである。データ
が確定した後に、再びサンプリング周期を遅くして新た
なるキーの入力変化を監視する。そして、前回の確定値
である001と異なる値が3回連続したときに、次のキ
ー入力データ確定値として101が検出されることにな
る。
【0009】このように、複数のキーの入力データをバ
イナリデータとして扱う機器においては、上述したよう
に連続したキー操作や同時押しなどの操作が可能であ
り、複数のキーを同一のバイナリ値として扱った場合、
該操作を迅速に検出することは困難であった。
【0010】本発明は、上記課題に鑑みなされたもので
あり、複数のキーを連続もしくは同時に操作された場合
のチャタリング除去を迅速に行うことを可能としたキー
入力装置、情報処理装置、及びキー入力処理方法を提供
することを目的とする。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、複数の機械式接点を有するスイッチを用
いて電気信号をオン・オフし、該スイッチをオン・オフ
する際に発生するチャタリング除去を行うキー入力装置
であって、前記複数の機械式接点から得られる電気信号
を少なくとも2ビット以上のバイナリデータとして処理
する処理手段と、前記バイナリデータをサンプリングす
る周期を変更する周期変更手段と、前記バイナリデータ
の少なくとも1ビット以上の値が変化したことを検知す
る検知手段と、前記バイナリデータが連続して同一値が
続いた場合の回数を計数する同一値計数手段と、前記同
一値計数手段の計数回数が規定値に達したことを通知す
る通知手段と、前記同一値計数手段の計数回数が規定値
に達したときの前記バイナリデータを確定値として保持
する確定値保持手段とを有することを特徴とする。
【0012】また、本発明は、情報処理装置が、前記キ
ー入力装置を備えたことを特徴とする。
【0013】また、本発明は、複数の機械式接点を有す
るスイッチを用いて電気信号をオン・オフし、該スイッ
チをオン・オフする際に発生するチャタリング除去を行
うキー入力装置におけるキー入力処理方法であって、前
記複数の機械式接点から得られる電気信号を少なくとも
2ビット以上のバイナリデータとして処理する処理ステ
ップと、前記バイナリデータをサンプリングする周期を
変更する周期変更ステップと、前記バイナリデータの少
なくとも1ビット以上の値が変化したことを検知する検
知ステップと、前記バイナリデータが連続して同一値が
続いた場合の回数を計数する同一値計数ステップと、前
記同一値計数ステップの計数回数が規定値に達したこと
を通知する通知ステップと、前記同一値計数ステップの
計数回数が規定値に達したときの前記バイナリデータを
確定値として保持する確定値保持ステップとを有するこ
とを特徴とする。
【0014】
【発明の実施の形態】先ず、本発明の実施の形態の詳細
を説明する前に要旨を説明する。本発明の実施の形態
は、複数の機械式接点から得られる電気信号を少なくと
も2ビット以上のバイナリデータとして処理すると共
に、バイナリデータをサンプリングする周期を変更可能
とし、バイナリデータが連続して同一値が続いた場合の
回数が規定値に達したときのバイナリデータを確定値と
して保持するものである。また、バイナリデータの少な
くとも1ビット以上の値の変化を検知したことを要因と
してサンプリング周期を変更し、また、バイナリデータ
が連続して同一値が続いた場合の計数回数によってサン
プリング周期を変更し、また、計数回数が規定値に達し
た後もサンプリング周期を一定期間変更せず、また、バ
イナリデータの同一値が連続しなかったことを要因とし
て計数動作を初期化し、また、バイナリデータの同一値
が連続しなかったときでも、バイナリデータが確定値と
同一の場合は計数動作の初期化を行わない、ように制御
するものである。以下、本発明の実施の形態を図面に基
づいて詳細に説明する。
【0015】[第1の実施の形態]図1は本発明の第1
の実施の形態に係る情報処理装置に装備されたキー入力
装置を中心とした概略構成を示すブロック図である。情
報処理装置151には、本発明のキー入力装置101が
接続されている。キー入力装置101は、複数の機械式
接点を有するスイッチを用いて電気信号をオン・オフ
し、該スイッチをオン・オフする際に発生するチャタリ
ングの除去を行い、且つ該複数の機械式接点から得られ
るオン・オフのスイッチの電気信号を2ビット以上のバ
イナリデータとして処理するものであり、スイッチ1・
102、スイッチ2・103、スイッチ3・104、チ
ャタリング除去ブロック105を備えている。また、情
報処理装置151は、CPU152、ROM153、R
AM154、表示部155を備えている。
【0016】上記構成を詳述すると、キー入力装置10
1において、スイッチ1・102、スイッチ2・10
3、スイッチ3・104のそれぞれが、チャタリング除
去ブロック105に接続されている。チャタリング除去
ブロック105は、多ビットのキー入力データからチャ
タリングを除去したキーの値としてのキー確定値(3ビ
ット)信号と、キー確定値が確定したことを通知するキ
ー確定割り込み信号を情報処理装置151のCPU15
2へ出力し、キー確定値を参照したことを示すキー確定
割り込みクリア信号を情報処理装置151のCPU15
2から入力する。
【0017】情報処理装置151において、CPU15
2は、キー入力装置101のチャタリング除去ブロック
105から出力されるキー確定値信号、キー確定割り込
み信号を入力し、該入力に基づいて所定の処理を行い、
また、キー確定割り込みクリア信号をキー入力装置10
1のチャタリング除去ブロック105へ出力するなどの
制御を司る中央処理装置である。ROM153は、CP
U152で実行するプログラムや固定データ等を格納す
るメモリである。RAM154は、CPU152の作業
領域や一時記憶領域として使用されるメモリである。表
示部155は、各種画面を表示する。尚、図1はキー入
力装置101、情報処理装置151の要部の構成を図示
したものであり、他の構成の図示及び説明は省略する。
【0018】図2は第1の実施の形態に係るキー入力装
置101のチャタリング除去ブロック105の構成を示
すブロック図である。チャタリング除去ブロック105
は、キーデータレジスタ201、コンパレータ202、
キー確定値レジスタ203、制御回路204を備えてい
る。更に、制御回路204は、同一値カウンタ205、
サンプル周期カウンタ206、サンプル周期規定値変更
カウンタ207を備えている。
【0019】上記構成を詳述すると、キーデータレジス
タ201は、スイッチ1・102、スイッチ2・10
3、スイッチ3・104からの出力(オン・オフ信号)
をサンプリング周期ごとに例えば3ビットのバイナリデ
ータとして記憶するレジスタである。コンパレータ20
2は、キーデータレジスタ201に記憶してあるデータ
と、スイッチ・102、スイッチ2・103、スイッチ
3・104からの出力値とを比較するブロックである。
キー確定値レジスタ203は、スイッチ1・102、ス
イッチ2・103、スイッチ3・104のチャタリング
を除去した確定データを格納するためのレジスタであ
る。
【0020】制御回路204は、チャタリング除去ブロ
ック105の制御を司るブロックであり、プログラムに
基づき後述の各フローチャートに示す処理を実行する。
制御ブロック204には、コンパレータ202によって
生成されるキーデータ比較結果より制御される同一値カ
ウンタ205と、キーデータレジスタ201にスイッチ
1・102、スイッチ2・103、スイッチ3・104
をサンプルする周期を提供するためのサンプル周期カウ
ンタ206と、サンプル周期カウンタ206のサンプル
周期を変更するためのサンプル周期規定値変更カウンタ
207を備えている。制御回路204は、これらのカウ
ンタ値を元に、キー確定値レジスタ203の制御を行う
と共に、キー確定割り込み信号の制御及びキー確定割り
込みクリア信号による制御を司っている。
【0021】図3は第1の実施の形態に係るキー入力装
置101における各種信号を示すタイミングチャートで
ある。図3により信号名とその機能について説明する。
キー入力データは、例えば3ビットのキー入力データで
ある。サンプリング信号は、制御回路204からキーレ
ジスタ201へ伝達する信号である。キーデータレジス
タ201は、サンプリング信号の立ち上がりを検出し
て、該キーデータレジスタ201内部に、スイッチ1・
102、スイッチ2・103、スイッチ3・104の値
を記憶するレジスタである。
【0022】同一値カウンタ205は、コンパレータ2
02の比較結果に基づき、前回のサンプリング時(キー
データレジスタ201)のサンプリングデータと現在の
サンプリングデータが同じであった場合、カウントアッ
プしていくカウンタである。キー割り込み信号は、制御
回路204の出力信号であり、キーデータが確定したこ
とを情報処理装置151のCPU152に知らせる信号
である。割り込みクリア信号は、制御回路204の入力
信号であり、情報処理装置151のCPU152がキー
確定値を参照したことを示す信号である。割り込みクリ
ア信号が有効になるまで、キー入力確定データ出力信号
は有効を保持する。
【0023】次に、上記の如く構成された第1の実施の
形態に係るキー入力装置101の動作について図1乃至
図6を参照しながら詳細に説明する。
【0024】図5は第1の実施の形態に係るキー入力装
置101の制御回路204のサンプル周期カウンタ20
6の動作を示すフローチャートである。ステップS20
1で、本処理を開始し、サンプル周期カウンタ206の
規定値を設定する。ステップS202では、サンプル周
期カウンタ206の初期化を行い、サンプル周期カウン
タ値を0とする。ステップS203では、サンプル周期
カウンタ206の規定値の変更要求がないかどうかを判
別する。サンプル周期カウンタ206の規定値の変更要
求がある場合は、ステップS204へ進み、サンプル周
期カウンタ206の値をクリアすると共に、サンプル周
期カウンタ206の規定値を変更する。
【0025】他方、サンプル周期カウンタ206の規定
値の変更要求がない場合は、ステップS205へ進み、
サンプル周期カウンタ206を1インクリメントする。
ステップS206では、サンプル周期カウンタ206が
サンプル周期カウンタ規定値に達したかどうかを判別す
る。サンプル周期カウンタ206がサンプル周期カウン
タ規定値に達している場合は、ステップS207で、サ
ンプル周期カウンタ206をクリアし、上記ステップS
203へ戻る。他方、サンプル周期カウンタ206がサ
ンプル周期カウンタ規定値に達していない場合は、サン
プル周期カウンタ206をクリアすることなく、そのま
ま上記ステップS203へ戻る。
【0026】図6は第1の実施の形態に係るキー入力装
置101の制御回路204のサンプル周期規定値変更カ
ウンタ207の動作を示すフローチャートである。ステ
ップS301で、本処理を開始する。ステップS302
では、サンプル周期規定値変更カウンタ207の初期化
を行う。ステップS303では、サンプル周期カウンタ
206の規定値に変更があるかどうかをチェックする。
サンプル周期カウンタ206の規定値に変更がない場合
は、再びステップS303へ戻り変更があるまでループ
する。他方、サンプル周期カウンタ206の規定値に変
更があった場合は、ステップS304へ進み、サンプル
周期規定値変更カウンタ207をクリアし、その後、ス
テップS305で、サンプル周期規定値変更カウンタ2
07を1インクリメントする。
【0027】ステップS306では、サンプル周期規定
値変更カウンタ207が規定値に達したかどうかを判別
する。サンプル周期規定値変更カウンタ207が規定値
に達していない場合は、ステップS307で、サンプル
周期カウンタ206の規定値に変更があるかないかをチ
ェックする。サンプル周期カウンタ206の規定値に変
更があった場合は、上記ステップS304で、サンプル
周期規定値変更カウンタ207のクリアを行う。他方、
サンプル周期カウンタ206の規定値に変更がない場合
は、上記ステップS304でサンプル周期規定値変更カ
ウンタ207をクリアすることなくステップS305へ
移行する。他方、上記ステップS306でサンプル周期
規定値変更カウンタ207が規定値に達していた場合
は、ステップS308で、サンプル周期規定値変更カウ
ンタ207をクリアし、ステップS309で、サンプル
周期規定値を初期値に変更する。
【0028】図4は第1の実施の形態に係るキー入力装
置101におけるキー確定値決定動作を示すフローチャ
ートである。ステップS101において、本処理を開始
し、サンプル周期カウンタ206とキー確定値レジスタ
203及び同一値カウンタ205の規定値の初期化を行
う。この例では、同一値カウンタ205の規定値の初期
値は3となっている。ステップS102で、サンプル周
期カウンタ206が規定値に達したかどうかを判別す
る。サンプル周期カウンタ206が規定値に達している
(上記図3のサンプリング信号の立ち上がりと同義)場
合は、ステップS103で、キーデータレジスタ201
にスイッチ1・102、スイッチ2・103、スイッチ
3・104のデータを記憶する。ステップS104で
は、キーデータレジスタ201の値と、スイッチ1・1
02、スイッチ2・103、スイッチ3・104のデー
タとを比較する。
【0029】比較結果がキー確定値レジスタ203の値
と同一である場合は、キー入力に変化がなかったと見な
し上記ステップS102へ戻る。他方、比較結果がキー
確定値レジスタ203の値と異なる場合は、何かしらキ
ー入力データが変化したことがわかった状態である。ス
テップS107で、同一値カウンタ205を1インクリ
メントする。ステップS108で、サンプル周期カウン
タ206の規定値を小さくする。ステップS109で
は、同一値カウンタ205が規定値に達したかどうかを
判別する。同一値カウンタ205が規定値に達していな
い場合は、ステップS112へ進み、サンプル周期カウ
ンタ206が規定値に達するのを待つ。ステップS11
3では、キーデータをキーデータレジスタ201に記憶
する。
【0030】サンプル周期カウンタ206が規定値に達
した場合、ステップS105へ進み、キーデータレジス
タ201に記憶されている前回のキーデータと現在のキ
ーデータとの比較結果をコンパレータ202から取得
し、前回のキーデータと現在のキーデータに変化がある
かどうかを判別する。前回のキーデータと現在のキーデ
ータに変化がある場合は、ステップS106へ進み、同
一値カウンタ205をクリアし上記ステップS112へ
戻る。前回のキーデータと現在のキーデータに変化がな
い場合は、上記ステップS107へ進む。
【0031】上記ステップS109で同一値カウンタ2
05が規定値に達していた場合は、ステップS110
で、前回確定したキー確定値レジスタ203の値が参照
されたかどうかを確認する。キー確定値レジスタ203
の値が参照されていない場合は、参照されるまでステッ
プS110に止まる。上記図3のタイミングチャートで
は割り込みクリア信号が有効になり、確定値データを参
照したことを示すまで止まるのと同義である。他方、キ
ー確定値レジスタ203の値が参照されている場合は、
ステップS111で、キー確定値レジスタ203にキー
データを記憶すると共に、キー確定割り込み信号を有効
にし、同一値カウンタ205をクリアする。そして、再
び上記ステップS102へ戻る。
【0032】この場合、図4の処理においては、同一値
カウンタ205が規定値に達した後も、サンプル周期カ
ウンタ206の規定値を一定期間変更しない。また、キ
ー入力データの同一値が連続しなかったことを要因とし
て、同一値カウンタ205をクリアする。また、キー入
力データの同一値が連続しなかったときでも、キー入力
データがキー確定値レジスタ203に記憶されている確
定値と同一の場合は、同一値カウンタ205のクリアを
行わない。
【0033】以上説明したように、本発明の第1の実施
の形態によれば、複数の機械式接点を有するスイッチを
用いて電気信号をオン・オフし、該スイッチをオン・オ
フする際に発生するチャタリングの除去を行い、且つ該
複数の機械式接点から得られるオン・オフのスイッチの
電気信号を2ビット以上のバイナリデータとして処理す
るキー入力装置において、複数のキーを連続もしくは同
時に操作された場合のチャタリング除去を迅速に行うこ
とが可能となるという効果を奏する。
【0034】[第2の実施の形態]本発明の第2の実施
の形態に係る情報処理装置に装備されたキー入力装置1
01を中心とした概略構成(図1)、キー入力装置10
1におけるチャタリング除去ブロック105の概略構成
(図2)、キー入力装置101におけるサンプル周期カ
ウンタ206の動作(図5)、キー入力装置101にお
けるサンプル周期規定値変更カウンタ207の動作(図
6)は、第1の実施の形態と同様であり説明を省略す
る。第2の実施の形態は、キー入力装置101の制御回
路204の制御方法が第1の実施の形態と異なる。
【0035】次に、上記の如く構成された第2の実施の
形態に係るキー入力装置101の動作について図1及び
図2、図7及び図8を参照しながら詳細に説明する。
【0036】図7は第2の実施の形態に係るキー入力装
置101における各種信号を示すタイミングチャート、
図8は第2の実施の形態に係るキー入力装置101にお
けるキー確定値決定動作を示すフローチャートである。
【0037】ステップS701において、本処理を開始
し、サンプル周期カウンタ206とキー確定値レジスタ
203及び同一値カウンタ205の規定値の初期化を行
う。この例では、同一値カウンタ205の規定値の初期
値は3となっている。ステップS702で、サンプル周
期カウンタ206が規定値に達したかどうかを判別す
る。サンプル周期カウンタ206が規定値に達している
(図7のサンプリング信号の立ち上がりと同義)場合
は、ステップS703で、キーデータレジスタ201に
スイッチ1・102、スイッチ2・103、スイッチ3
・104のデータを記憶する。ステップS704では、
キーデータレジスタ201の値と、スイッチ1・10
2、スイッチ2・103、スイッチ3・104のデータ
とを比較する。
【0038】比較結果がキー確定値レジスタ203の値
と同一である場合は、キー入力に変化がなかったと見な
し上記ステップS702へ戻る。他方、比較結果がキー
確定値レジスタ203の値と異なる場合は、何かしらキ
ー入力データが変化したことがわかった状態である。ス
テップS705で、キーデータレジスタ201に格納さ
れている前回のキーデータと現在のキーデータとを比較
する。現在のキーデータが前回のキーデータと比較して
変化がある場合は、ステップS706で、同一値カウン
タ205をクリアし上記ステップS702へ戻る。他
方、現在のキーデータが前回のキーデータと比較して変
化がない場合は、ステップS707で、同一値カウンタ
205を1インクリメントする。ステップS708で
は、サンプル周期カウンタ206の規定値を小さくす
る。
【0039】ステップS709では、同一値カウンタ2
05が規定値に達したかどうかを判別する。同一値カウ
ンタ205が規定値に達していない場合は、上記ステッ
プS702へ戻る。他方、同一値カウンタ205が規定
値に達していた場合は、ステップS710で、前回確定
したキー確定値レジスタ203の値が参照されたかどう
かを確認する。キー確定値レジスタ203の値が参照さ
れていない場合は、参照されるまでステップS710に
止まる。図7のタイミングチャートでは割り込みクリア
信号が有効になり、確定値データを参照したことを示す
まで止まるのと同義である。他方、キー確定値レジスタ
203の値が参照されている場合は、ステップS711
で、キー確定値レジスタ203にキーデータを記憶する
と共に、キー確定割り込み信号を有効にし、同一値カウ
ンタ205をクリアする。そして、再び上記ステップS
702へ戻る。
【0040】この場合、図8の処理においては、同一値
カウンタ205が規定値に達した後も、サンプル周期カ
ウンタ206の規定値を一定期間変更しない。また、キ
ー入力データの同一値が連続しなかったことを要因とし
て、同一値カウンタ205をクリアする。また、キー入
力データの同一値が連続しなかったときでも、キー入力
データがキー確定値レジスタ203に記憶されている確
定値と同一の場合は、同一値カウンタ205のクリアを
行わない。
【0041】上記のような処理を行うことで、前回確定
したキー入力値以外のキー入力が連続した場合、キー確
定値として扱うこととなり、より速くキー入力値を確定
することが可能となる。
【0042】以上説明したように、本発明の第2の実施
の形態によれば、複数の機械式接点を有するスイッチを
用いて電気信号をオン・オフし、該スイッチをオン・オ
フする際に発生するチャタリングの除去を行い、且つ該
複数の機械式接点から得られるオン・オフのスイッチの
電気信号を2ビット以上のバイナリデータとして処理す
るキー入力装置において、複数のキーを連続もしくは同
時に操作された場合のチャタリング除去を迅速に行うこ
とが可能となるという効果を奏する。
【0043】[他の実施の形態]上記第1、第2の実施
の形態では、説明を容易にするために、図1におけるス
イッチ1・102、スイッチ2・103、スイッチ3・
104を直接チャタリング除去ブロック105へ接続し
ているが、本発明はこれに限定されるものではなく、キ
ーボードブロックからシリアルデータでキーデータを転
送し、それをシリアル−パラレル変換した信号とする場
合でも、本発明を適用することが可能である。
【0044】上記第1、第2の実施の形態では、本発明
のキー入力装置を備える情報処理装置の種類については
限定されるものではなく、デスクトップ型パーソナルコ
ンピュータ、ノート型パーソナルコンピュータ、ワーク
ステーション、ワードプロセッサ等の各種情報処理装置
に本発明を適用することが可能である。
【0045】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器からなる装置に適用
してもよい。上述した実施形態の機能を実現するソフト
ウエアのプログラムコードを記憶した記憶媒体等の媒体
をシステム或いは装置に供給し、そのシステム或いは装
置のコンピュータ(またはCPUやMPU)が記憶媒体
等の媒体に格納されたプログラムコードを読み出し実行
することによっても、本発明が達成されることは言うま
でもない。
【0046】この場合、記憶媒体等の媒体から読み出さ
れたプログラムコード自体が上述した実施形態の機能を
実現することになり、そのプログラムコードを記憶した
記憶媒体等の媒体は本発明を構成することになる。プロ
グラムコードを供給するための記憶媒体等の媒体として
は、例えば、フロッピー(登録商標)ディスク、ハード
ディスク、光ディスク、光磁気ディスク、CD−RO
M、CD−R、磁気テープ、不揮発性のメモリカード、
ROM、或いはネットワークを介したダウンロードなど
を用いることができる。
【0047】また、コンピュータが読み出したプログラ
ムコードを実行することにより、上述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼動しているOSなどが
実際の処理の一部または全部を行い、その処理によって
上述した実施形態の機能が実現される場合も、本発明に
含まれることは言うまでもない。
【0048】更に、記憶媒体等の媒体から読み出された
プログラムコードが、コンピュータに挿入された機能拡
張ボードやコンピュータに接続された機能拡張ユニット
に備わるメモリに書き込まれた後、そのプログラムコー
ドの指示に基づき、その機能拡張ボードや機能拡張ユニ
ットに備わるCPUなどが実際の処理の一部または全部
を行い、その処理によって上述した実施形態の機能が実
現される場合も、本発明に含まれることは言うまでもな
い。
【0049】
【発明の効果】以上説明したように、本発明によれば、
複数の機械式接点を有するスイッチを用いて電気信号を
オン・オフし、該スイッチをオン・オフする際に発生す
るチャタリングの除去を行い、且つ該複数の機械式接点
から得られるオン・オフのスイッチの電気信号を2ビッ
ト以上のバイナリデータとして処理するキー入力装置に
おいて、複数の機械式接点から得られる電気信号を少な
くとも2ビット以上のバイナリデータとして処理する処
理手段と、前記バイナリデータをサンプリングする周期
を変更する周期変更手段と、前記バイナリデータの少な
くとも1ビット以上の値が変化したことを検知する検知
手段と、前記バイナリデータが連続して同一値が続いた
場合の回数を計数する同一値計数手段と、前記同一値計
数手段の計数回数が規定値に達したことを通知する通知
手段と、前記同一値計数手段の計数回数が規定値に達し
たときの前記バイナリデータを確定値として保持する確
定値保持手段とを備えているため、複数のキーを連続も
しくは同時に操作された場合のチャタリング除去を迅速
に行うことが可能となるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1、第2の実施の形態に係る情報処
理装置に装備されたキー入力装置を中心とした概略構成
を示すブロック図である。
【図2】第1、第2の実施の形態に係るキー入力装置に
おけるチャタリング除去ブロックの概略構成を示すブロ
ック図である。
【図3】第1の実施の形態に係るキー入力装置における
各種信号を示すタイミングチャートである。
【図4】第1の実施の形態に係るキー入力装置における
キー確定値決定動作を示すフローチャートである。
【図5】第1の実施の形態に係るキー入力装置における
サンプル周期カウンタの動作を示すフローチャートであ
る。
【図6】第1の実施の形態に係るキー入力装置における
サンプル周期規定値変更カウンタの動作を示すフローチ
ャートである。
【図7】第2の実施の形態に係るキー入力装置における
各種信号を示すタイミングチャートである。
【図8】第2の実施の形態に係るキー入力装置における
キー確定値決定動作を示すフローチャートである。
【図9】従来例に係るキー入力装置のチャタリング除去
を説明するためのタイミングチャートである。
【図10】従来例に係るキー入力装置のチャタリング除
去を説明するためのタイミングチャートである。
【符号の説明】
101 キー入力装置 102 スイッチ1 103 スイッチ2 104 スイッチ3 105 チャタリング除去ブロック 151 情報処理装置 152 CPU(信号入出力手段) 201 キーデータレジスタ(処理手段) 202 コンパレータ(検知手段) 203 キー確定値レジスタ(確定値保持手段) 204 制御回路(通知手段、周期変更停止手段、初期
化手段、初期化停止手段) 205 同一値カウンタ(同一値計数手段) 206 サンプル周期カウンタ 207 サンプル周期規定値変更カウンタ(周期変更手
段)
フロントページの続き (72)発明者 高橋 匡 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 Fターム(参考) 5B020 EE15

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 複数の機械式接点を有するスイッチを用
    いて電気信号をオン・オフし、該スイッチをオン・オフ
    する際に発生するチャタリング除去を行うキー入力装置
    であって、 前記複数の機械式接点から得られる電気信号を少なくと
    も2ビット以上のバイナリデータとして処理する処理手
    段と、前記バイナリデータをサンプリングする周期を変
    更する周期変更手段と、前記バイナリデータの少なくと
    も1ビット以上の値が変化したことを検知する検知手段
    と、前記バイナリデータが連続して同一値が続いた場合
    の回数を計数する同一値計数手段と、前記同一値計数手
    段の計数回数が規定値に達したことを通知する通知手段
    と、前記同一値計数手段の計数回数が規定値に達したと
    きの前記バイナリデータを確定値として保持する確定値
    保持手段とを有することを特徴とするキー入力装置。
  2. 【請求項2】 前記周期変更手段は、前記検知手段によ
    り前記バイナリデータの少なくとも1ビット以上の値の
    変化を検知したことを要因として前記サンプリング周期
    を変更することを特徴とする請求項1記載のキー入力装
    置。
  3. 【請求項3】 前記周期変更手段は、前記同一値計数手
    段の計数回数によって前記サンプリング周期を変更する
    ことを特徴とする請求項1記載のキー入力装置。
  4. 【請求項4】 前記同一値計数手段の計数回数が規定値
    に達した後も、前記サンプリング周期を一定期間変更し
    ない周期変更停止手段を有することを特徴とする請求項
    1乃至3の何れかに記載のキー入力装置。
  5. 【請求項5】 前記バイナリデータの同一値が連続しな
    かったことを要因として、前記同一値計数手段を初期化
    する初期化手段を有することを特徴とする請求項1乃至
    4の何れかに記載のキー入力装置。
  6. 【請求項6】 前記バイナリデータの同一値が連続しな
    かったときでも、前記バイナリデータが前記確定値保持
    手段に保持されている前記確定値と同一の場合は、前記
    同一値計数手段の初期化を行わない初期化停止手段を有
    することを特徴とする請求項1乃至5の何れかに記載の
    キー入力装置。
  7. 【請求項7】 情報処理装置に接続されると共に、該情
    報処理装置との間で信号の送受信が可能であることを特
    徴とする請求項1乃至6の何れかに記載のキー入力装
    置。
  8. 【請求項8】 前記請求項1乃至7の何れかに記載のキ
    ー入力装置を備えたことを特徴とする情報処理装置。
  9. 【請求項9】 前記キー入力装置から出力される前記確
    定値を示す信号及び前記確定値が確定したことを通知す
    る信号を入力すると共に、前記確定値を参照したことを
    示す信号を前記キー入力装置へ出力する信号入出力手段
    を有することを特徴とする請求項8記載の情報処理装
    置。
  10. 【請求項10】 複数の機械式接点を有するスイッチを
    用いて電気信号をオン・オフし、該スイッチをオン・オ
    フする際に発生するチャタリング除去を行うキー入力装
    置におけるキー入力処理方法であって、 前記複数の機械式接点から得られる電気信号を少なくと
    も2ビット以上のバイナリデータとして処理する処理ス
    テップと、前記バイナリデータをサンプリングする周期
    を変更する周期変更ステップと、前記バイナリデータの
    少なくとも1ビット以上の値が変化したことを検知する
    検知ステップと、前記バイナリデータが連続して同一値
    が続いた場合の回数を計数する同一値計数ステップと、
    前記同一値計数ステップの計数回数が規定値に達したこ
    とを通知する通知ステップと、前記同一値計数ステップ
    の計数回数が規定値に達したときの前記バイナリデータ
    を確定値として保持する確定値保持ステップとを有する
    ことを特徴とするキー入力処理方法。
  11. 【請求項11】 前記周期変更ステップでは、前記検知
    ステップにより前記バイナリデータの少なくとも1ビッ
    ト以上の値の変化を検知したことを要因として前記サン
    プリング周期を変更することを特徴とする請求項10記
    載のキー入力処理方法。
  12. 【請求項12】 前記周期変更ステップでは、前記同一
    値計数ステップの計数回数によって前記サンプリング周
    期を変更することを特徴とする請求項10記載のキー入
    力処理方法。
  13. 【請求項13】 前記同一値計数ステップの計数回数が
    規定値に達した後も、前記サンプリング周期を一定期間
    変更しない周期変更停止ステップを有することを特徴と
    する請求項10乃至12の何れかに記載のキー入力処理
    方法。
  14. 【請求項14】 前記バイナリデータの同一値が連続し
    なかったことを要因として、前記同一値計数ステップを
    初期化する初期化ステップを有することを特徴とする請
    求項10乃至13の何れかに記載のキー入力処理方法。
  15. 【請求項15】 前記バイナリデータの同一値が連続し
    なかったときでも、前記バイナリデータが前記確定値保
    持ステップに保持されている前記確定値と同一の場合
    は、前記同一値計数ステップの初期化を行わない初期化
    停止ステップを有することを特徴とする請求項10乃至
    14の何れかに記載のキー入力処理方法。
JP2002024219A 2002-01-31 2002-01-31 キー入力装置、情報処理装置、及びキー入力処理方法 Pending JP2003223263A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002024219A JP2003223263A (ja) 2002-01-31 2002-01-31 キー入力装置、情報処理装置、及びキー入力処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002024219A JP2003223263A (ja) 2002-01-31 2002-01-31 キー入力装置、情報処理装置、及びキー入力処理方法

Publications (1)

Publication Number Publication Date
JP2003223263A true JP2003223263A (ja) 2003-08-08

Family

ID=27746722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002024219A Pending JP2003223263A (ja) 2002-01-31 2002-01-31 キー入力装置、情報処理装置、及びキー入力処理方法

Country Status (1)

Country Link
JP (1) JP2003223263A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310279A (ja) * 2007-06-18 2008-12-25 Samsung Electronics Co Ltd タイミングコントローラ、これを含む液晶表示装置及び液晶表示装置の駆動方法
JP2010057935A (ja) * 2009-10-27 2010-03-18 Daito Giken:Kk 遊技台
JP2010157975A (ja) * 2009-01-05 2010-07-15 Brother Ind Ltd チャタリング除去装置
JP2011014005A (ja) * 2009-07-03 2011-01-20 Ricoh Co Ltd 制御装置と画像形成装置
CN112361534A (zh) * 2020-10-26 2021-02-12 海信(山东)空调有限公司 按键采样滤波方法及空调器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008310279A (ja) * 2007-06-18 2008-12-25 Samsung Electronics Co Ltd タイミングコントローラ、これを含む液晶表示装置及び液晶表示装置の駆動方法
US8659530B2 (en) 2007-06-18 2014-02-25 Samsung Display Co., Ltd. Timing controller counts clock signals to produce a control signal only after a number of clock pulses are counted
KR101503684B1 (ko) * 2007-06-18 2015-03-19 삼성디스플레이 주식회사 타이밍 컨트롤러, 이를 포함하는 액정 표시 장치 및 액정표시 장치의 구동 방법
JP2010157975A (ja) * 2009-01-05 2010-07-15 Brother Ind Ltd チャタリング除去装置
JP2011014005A (ja) * 2009-07-03 2011-01-20 Ricoh Co Ltd 制御装置と画像形成装置
JP2010057935A (ja) * 2009-10-27 2010-03-18 Daito Giken:Kk 遊技台
CN112361534A (zh) * 2020-10-26 2021-02-12 海信(山东)空调有限公司 按键采样滤波方法及空调器

Similar Documents

Publication Publication Date Title
US7934025B2 (en) Content terminated DMA
US6738794B2 (en) Parallel bit correlator
US7502953B2 (en) Dynamically adding additional masters onto multi-mastered IIC buses with tunable performance
US6834378B2 (en) System on a chip bus with automatic pipeline stage insertion for timing closure
JP2003223263A (ja) キー入力装置、情報処理装置、及びキー入力処理方法
US20030005190A1 (en) Method and apparatus for high throughput short packet transfers with minimum memory footprint
JP2000322259A (ja) データ処理装置
US10423743B2 (en) Context-dependent useful skew estimation for optimization, placement, and clock tree synthesis
US20110302391A1 (en) Digital signal processor
US6550015B1 (en) Scalable virtual timer architecture for efficiently implementing multiple hardware timers with minimal silicon overhead
US7120828B2 (en) System and method for in-order queue draining
JP2002149419A (ja) 割り込みをクリアするロジック・ユニット及び集積回路
EP1193609B1 (en) Apparatus and method for address modification in a direct memory access controller
JP2004348460A (ja) 半導体集積回路およびそれを用いたusbコントローラ
JP2000194647A (ja) デ―タ転送装置
US6513079B1 (en) Automatic nexus restore
JP2007026091A (ja) 割込み制御回路およびその制御方法
CN106155953B (zh) 一种信息处理方法及电子设备
JPH10224422A (ja) 通信制御装置
US7634609B2 (en) Data transmission coordinating method
JP2000003285A (ja) 割り込み処理方法および割り込み回路
JPH0612261A (ja) 割込制御回路
JPH05143320A (ja) 浮動小数点演算方式および浮動小数点演算装置
JPH10260931A (ja) 情報処理装置
JPH0830516A (ja) 情報処理装置のメモリ制御方式