(57)【特許請求の範囲】
【請求項１】
キースキャン等の制御を行う中央処理装置と、プログラムや各種データを記憶しておくメモリ装置と、複数の入出力手段を有する入出力ポートと、前記中央処理装置に対し割り込み処理を実行する割り込みコントローラとを備えたキースキャン回路において、前記入出力ポートの入力端に、チャタリング除去回路と、該チャタリング除去回路バイパス回路と、キースイッチ入力信号を前記チャタリング除去回路か前記バイパス回路かに切替える切替回路とを設け、前記切替回路をソフトウエアで制御するように構成したことを特徴とするキースキャン回路。
【請求項２】
前記チャタリング除去回路が、縦続接続した複数のフリップフロップ回路と、該フリップフロップ回路にクロック信号を供給する手段と、前記各フリップフロップ回路のＱ出力信号を入力信号とする論理和回路とを備え、前記キースイッチ信号を最前段のフリップフロップ回路のＤ入力端に供給すると共に、他のフリップフロップ回路のＤ入力端には、その前段のフリップフロップ回路のＱ端子出力を供給するように構成したことを特徴とする請求項１記載のキースキャン回路。
【請求項３】
前記チャタリング除去回路は、クロック信号を分周する可変分周機能を備え、その分周比をソフトウエアでコントロールすることによってチャタリング除去期間を制御できるように構成したことを特徴とする請求項１又は２記載のキースキャン回路。
【請求項４】
前記中央処理装置がスリープ状態でキースイッチ信号が入力されたとき、前記チャタリング除去回路をバイパスしてキースイッチ信号を前記入力ポートに供給し、所要時間経過後に前記チャタリング除去回路側に切替えるように前記切替回路を制御する手段を備えたことを特徴とする請求項１乃至３の何れか一項記載のキースキャン回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はキースキャン回路に関し、特に、ワンチップマイクロコンピュータを用いて構成する場合に好適なキースキャン回路に関するものである。
【背景技術】
【０００２】
各種コンピュータには、テン・キーを始めとして、種々の入力手段が付加されることが多いが、少ない信号ラインで効率よくキー操作信号をコンピュータに伝達するために、どのキーが操作されたかを検出するキースキャン処理を行う。また、機械的なスイッチを操作してＯＮ／ＯＦＦすると瞬間的に信号が立ち上がり、もしくは立ち下がるものの、実際には電位がｍｓオーダーの時間でばたつく。これをチャタリングと云い、計数回路等においてこのばたつきをカウントしてしまうと誤動作の原因となるので、チャタリング除去回路が付加される。従来、チャタリング除去回路の基本的な機能は、キースイッチが操作されたことを検出すると、チャタリングが発生する一定時間キー信号検出をマスキングした後、中央処理装置（Central Processing Unit：以下「ＣＰＵ」と略す）に割り込み要求を発生するようにしていた。しかし、いずれかのキーが操作される毎に、全体のキー信号検出をマスキングする方法では、マスキング途中に操作された他のキーについても検出できなくなる。そこで、例えば、特開平２−１７０６１５「チャタリング防止装置」では、入力されるキーグループ信号夫々について、個別にマスキング手段を備えた方法が提案されている。
また一方、キースキャン回路を実現する方法としては、従来、キースキャン専用のマイクロコンピュータ（カスタムＬＳＩ）を使用していたが、近年、ワンチップマイクロコンピュータを用いたものが主流となった。ワンチップマイクロコンピュータ（以下「ワンチップマイコン」という）は、一つの集積回路（Large Scale Integrated Circuit：ＬＳＩ）チップのなかに、メモリ、入出力インターフェース回路（Ｉ／Ｏ）、ＣＰＵ等を構成し、単体でマイクロコンピュータとしての機能を備えたものである。これらワンチップマイコンは、キーボード等のコンピュータ周辺機器に搭載されてメインＣＰＵに代わり夫々の周辺機器の制御を分担することによって、メインＣＰＵの負担を軽減するといった使用方法の他、家電製品、自動車、産業機器、ゲーム機器等、あらゆる分野の装置の制御にも使用されている。
【０００３】
図８は、ワンチップマイコンの一例を示すブロック構成図である。この例に示すワンチップマイコン１００は、全体の制御を行うＣＰＵ１０１と、外部メモリ等に接続する外部パラレルコントローラ（EXT MEMORY INTERFACE：外部メモリインターフェース）１０２と、前記ＣＰＵ１０１の制御を受けることなくデータの転送を行うＤＭＡ（Direct Memory Controller）１０３と、内部ＲＡＭ（INTERNAL RAM）１０４と、内部ＲＯＭ（INTERNAL ROM）１０５と、割り込みコントローラ（ＩＣＴＬ）１０６と、アナログ・デジタル変換回路（ＡＤＣ）１０７と、デジタル・アナログ変換回路（ＤＡＣ）１０８と、同期式シリアルインターフェース（ＳＰＩ）１０９と、パラレル信号をシリアル信号に変換したり、逆にシリアルデバイスから送られるシリアル信号をパラレル信号に変換したりする調歩同期シリアルインターフェース（Universal Asynchronous Receiver Transmitter：ＵＡＲＴ）１１０と、汎用入出力ポートとしての機能を有するパラレルインターフェース（General Purpose Input Output Port：ＧＰＩＯ）１１１と、キースキャンの対象となる外部キーボード等のキーマトリクスを接続するキースキャン回路１１２と、カウンターを搭載し時間を計数するタイマ（ＴＩＭＥＲ）１１３と、低消費電力モードに移行する制御を行う電源管理部（POWER MANAGEMENT）１１４と、各クロック信号を発生し各機能ブロック回路にクロック信号の供給／停止を制御するクロック回路（ＣＬＫＧＥＮ）１１５とを備え、夫々は内部バスライン１１６で接続されている。
【０００４】
図９は従来の、ワンチップマイコンのキースキャン回路１１２を使用したキースキャン回路であって、前記キースキャン回路１１２はターゲットとするキーボードのキーマトリクス１１７に合わせた専用のハードウエア構成を有している。図１０は、通常ワンチップパソコンに搭載されているＧＰＩＯ１１１を利用したキースキャン回路の例を示す概要構成図である。いずれの回路においても、キースキャン回路１１２やＧＰＩＯ１１１の入出力ポートにキーマトリクス１１７の入出力端が接続され、夫々の出力ポートから順次所要信号が供給され、その間に入力ポートの電位を順次スキャンしてセンシングすることによって、キーマトリクス１１７のいずれかのキーが操作されると、割り込みコントローラ（ＩＣＴＬ）１０６を介してＣＰＵ１０１に割り込みを実行し、ＣＰＵ１０１の制御によって操作されたキーを検出して、図示を省略したメインＣＰＵに伝達するものである。
【特許文献１】特開平２−１７０６１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術によれば、夫々、次のような問題点があった。先ず、特許文献１に開示されたように全ての制御をソフトウエアによって実現すると、ＣＰＵの負担が増えて処理が遅くなる。公報に例示されたＰＣＭレコーダのように家庭用電子機器の簡単な設定に使用するキーボードであれば処理負担も少ないが、パソコン等のキーボードのように短時間に多くのキー操作が行われるものにおいては、ＣＰＵの処理能力として高速のものが必要となる欠点があった。
また、ワンチップマイコンを使用すると、メインＣＰＵの負担軽減が可能であるが、図９に示すように、キーボード等毎に合わせたキースキャン専用の回路（ハードウエア）を備えたものでは、入出力ポート数が固定されている他、チャタリング除去期間（時間的なタイミング）がある程度固定されているので、キーの数が異なる場合や種類の異なるキーボードに対しては、夫々に合わせた構成のハードウエアを用意する必要があり、設計の自由度が大幅に損なわれるものであった。
一方、図１０に示したように、ワンチップマイコンのＧＰＩＯを利用するものにおいては、設計の自由度は向上するが、ＧＰＩＯは基本的に入出力ポートの制御機能であることから、ソフトウエアによってチャタリング除去機能の全てを制御する必要があり、キースキャン制御に関わるソフトウエアの処理量が大幅に増えるという問題があった。
また一般に、コンピュータでは一定時間新たな操作をしない場合、省電力等の観点からＣＰＵをスリープ状態にするが、スリープ状態から通常の起動状態に立ち上げる際には、僅かではあるが所要時間が必要となる。キースキャン操作において、関連するＣＰＵがスリープ状態にある場合、キー操作が発生したとき、先ずＣＰＵをスリープ状態から立ち上げるための時間が必要で、その次にチャタリング除去期間が必要となるので、両方の時間が時系列的に加算されたものとなり迅速な処理を妨げる原因となっていた。
本発明は、このような従来のキースキャン回路の諸問題に鑑みてなされたものであって、設計の自由度を確保しながら、ソフトウエア処理負担を軽減することができるキースキャン回路、更には、ＣＰＵがスリープ状態にある際にも、迅速な処理を可能とした、キースキャン回路を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の請求項１のキースキャン回路では、キースキャン等の制御を行う中央処理装置（ＣＰＵ）と、プログラムや各種データを記憶しておくメモリ装置と、複数の入出力手段を有する入出力ポートと、前記ＣＰＵに対し割り込み処理を実行する割り込みコントローラとを備えたキースキャン回路において、前記入出力ポートの入力端に、チャタリング除去回路と、該チャタリング除去回路バイパス回路と、キースイッチ入力信号を前記チャタリング除去回路か前記バイパス回路かに切替える切替回路とを設け、前記切替回路をソフトウエアで制御するように構成したことを特徴としている。
請求項２記載のキースキャン回路では、請求項１において、前記チャタリング除去回路が、縦続接続した複数のフリップフロップ回路（ＦＦ回路）と、該フリップフロップ回路にクロック信号を供給する手段と、前記各フリップフロップ回路のＱ出力信号を入力信号とする論理和回路とを備え、前記キースイッチ信号を最前段のフリップフロップ回路のＤ入力端に供給すると共に、他のフリップフロップ回路のＤ入力端には、その前段のフリップフロップ回路のＱ端子出力を供給するように構成したことを特徴とする。
請求項３記載のキースキャン回路では、請求項１又は２において、前記チャタリング除去回路はクロック信号を分周する可変分周機能を備え、その分周比をソフトウエアでコントロールすることによって、チャタリング除去期間を制御できるように構成したことを特徴としている。
請求項４記載のキースキャン回路では、請求項１乃至３の何れか一項において、前記中央処理装置（ＣＰＵ）がスリープ状態でキースイッチ信号が入力されたとき、前記チャタリング除去回路をバイパスしてキースイッチ信号を前記入力ポートに供給し、所要時間経過後に前記チャタリング除去回路側に切替えるように前記切替回路を制御する手段を備えたことを特徴としている。
【発明の効果】
【０００７】
本発明の請求項１のキースキャン回路では、キースキャン等の制御を行う中央処理装置（ＣＰＵ）と、プログラムや各種データを記憶しておくメモリ装置と、複数の入出力手段を有する入出力ポートと、前記ＣＰＵに対し割り込み処理を実行する割り込みコントローラとを備えた、例えばワンチップマイコンを使用したキースキャン回路において、前記入出力ポートの入力端に、チャタリング除去回路と、該チャタリング除去回路バイパス回路と、キースイッチ入力信号を前記チャタリング除去回路か前記バイパス回路かのどちらかに切替える切替回路とを設け、前記切替回路をソフトウエアで制御するように構成したので、必要に応じてチャタリング除去回路をバイパスし、直接キースイッチ信号を割り込みコントローラを介して前記ＣＰＵに供給することが可能となる。また、前記入出力ポートをワンチップマイコンに搭載された汎用入出力ポート（ＧＰＩＯ）を使用すれば、ターゲットとするキーボード等の種類に対応して、入力又は出力ポート数を変更することが、ソフトウエア制御によって可能となり、設計の自由度が大幅に向上する。
請求項２記載のキースキャン回路では、請求項１において、前記チャタリング除去回路が、縦続接続した複数のフリップフロップ回路（ＦＦ回路）と、該フリップフロップ回路にクロック信号を供給する手段と、前記各フリップフロップ回路のＱ出力信号を入力信号とする論理和回路とを備え、前記キースイッチ信号を最前段のフリップフロップ回路のＤ入力端に供給すると共に、他の回路のＤ端子には、その前段回路のＱ端子出力を供給するようにチャタリング除去回路をハードウエアで構成したので、ＣＰＵの負荷が軽減され、処理のスピードアップを図ることが可能となる。
【０００８】
請求項３記載のキースキャン回路では、請求項１又は２において、前記チャタリング除去回路はクロック信号を分周する可変分周機能を備え、その分周比をソフトウエアでコントロールすることによってチャタリング除去期間を制御できるように構成したので、ターゲットとするキー入力装置のチャタリング発生時間に合わせて、チャタリング除去タイミング時間を変更することが可能となる。
請求項４記載のキースキャン回路では、請求項１乃至３において、前記中央処理装置（ＣＰＵ）がスリープ状態でキースイッチ信号が入力されたとき、前記チャタリング除去回路をバイパスしてキースイッチ信号を前記入力ポートに供給し、所要時間経過後に前記チャタリング除去回路側に切替えるように前記切替回路を制御する手段を備えたので、ＣＰＵがスリープ状態にあるとき、キースイッチ入力発生に際して直ちにＣＰＵを起動させ、その後にチャタリング除去回路を機能させるように制御することが可能となり、夫々に要する時間を一部並列にすることができるので処理の迅速化が可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
図１は、本発明に係るキースキャン回路の一実施態様例を示すブロック構成図である。この例に示すキースキャン回路１は、キースキャン回路１の制御を行う中央処理装置（ＣＰＵ）２と、キースイッチが操作されたとき前記ＣＰＵに割り込みを実行する割り込みコントローラ（ＩＣＴＬ）３と、キースキャン部４とを含み、これらは内部バスライン５で接続されている。更に、前記キースキャン部４は、汎用入出力ポートＧＰＩＯ６が含まれており、その入力ポートのうち、外部のキーボード等のキーマトリクス７からキースイッチ信号が供給される第一入力ポートＩＮ１、第二入力ポートＩＮ２、第三入力ポートＩＮ３夫々には、チャタリング除去回路ｃｈ１、ｃｈ２、ｃｈ３とそれをバイパスするバイパスルートＢＰ１、ＢＰ２、ＢＰ３と両者を切替えるスイッチＳＷ１、ＳＷ２、ＳＷ３とが付加されている。そして、制御のターゲットである外部キーボード等のキーマトリクス７（この例では３×３マトリクス）のＹ軸信号ライン（横ライン）Ｙ１、Ｙ２、Ｙ３は、夫々、出力端子ＯＵＴ１、ＯＵＴ２、ＯＵＴ３を介してＧＰＩＯ６の三つの出力ポートＯＰ１、ＯＰ２、ＯＰ３に直接接続するが、Ｘ軸信号ライン（縦ライン）Ｘ１、Ｘ２、Ｘ３は、端子Ｉ１、Ｉ２、Ｉ３に接続され、更に、前記切替スイッチＳＷ１、ＳＷ２、ＳＷ３夫々のコモン端子を介して前記ＧＰＩＯ６の入力ポートＩＮ１、ＩＮ２、ＩＮ３に接続するように構成されている。なお、入力端Ｉ１、Ｉ２、Ｉ３夫々と電源ラインＶＣＣとの間に挿入されている抵抗器Ｒは、夫々に電圧を印可するためのプルアップ抵抗である。
【００１０】
また、図２に示すキースキャン回路は、構成は前記図１と全く同一であるが、前記切替スイッチＳＷ１、ＳＷ２、ＳＷ３が前記チャタリング除去回路ｃｈ１、ｃｈ２、ｃｈ３をバイパスする側に設定されている部分が相違しており、その説明については後述する。
この構成において、先ず、キースキャン回路の基本的な動作について説明する。この回路において電源が投入されると、種々の制御方法があるが、例えば、ＧＰＩＯ６の出力ポートＯＰ１、ＯＰ２、ＯＰ３を介してキーマトリクス７のＹ軸信号ラインＹ１、Ｙ２、Ｙ３を一定時間毎に低電位に切替えるスキャン制御を行う（具体的には、順次アースする）、その際一つのＹ軸信号ラインに低電位を与えている間に、ＧＰＩＯ６の入力ポートＩＮ１、ＩＮ２、ＩＮ３を順次スキャンすることによって、各入力端子Ｉ１、Ｉ２、Ｉ３の電位、即ち、キーマトリクス７のＸ軸信号ラインＸ１、Ｘ２、Ｘ３の電位を監視する。このとき各入力端子Ｉ１、Ｉ２、Ｉ３には高電位がプルアップ抵抗Ｒを介して印可されているから、キーが押されていない場合は前記高電位が保持されているが、キーが操作されている（押されている）ものについてはＹ軸ラインと接続されるので、低電位となる。従って、前記ＣＰＵ２は、出力ポート側のＹ軸信号ラインのスキャン情報と入力ポートのＸ軸信号ラインのスキャン情報及び各ポートの電位情報とから、押されたキーがどれであるかを判断することができる。
なお、電位の関係は、この例に限る必要はなく逆に出力ポートから高電位を供給し、入力ポートではスキャン操作によって高電位を検出する方式であってもかまわない。
【００１１】
図３は、本発明において使用するチャタリング除去回路ｃｈ１、ｃｈ２、ｃｈ３の一例を示す構成図である。この例では、縦続接続した４つの遅延型フリップフロップ回路（Delay flip-flop：Ｄ−ＦＦ）８乃至１１と、各フリップフロップ回路に供給するクロック信号を分周する分周回路（ＤＩＶＩＤＥＲ）１２と、前記各フリップフロップ回路のＱ出力信号を入力信号とする論理和回路１３とを備え、外部からのキースイッチ信号を最前段のフリップフロップ回路８のＤ入力端に供給すると共に、他のフリップフロップ回路のＤ入力端には、その前段のフリップフロップ回路のＱ端子出力を供給するように構成したものである。遅延型フリップフロップ回路（Ｄ−ＦＦ回路）は周知のとおりＤ端子に入力された状態が、クロック信号の供給に呼応してＱ端子に伝達されるので、一つのフリップフロップ回路で一クロック分信号を遅延させることになる。この例では、４段縦続接続しているので、最前段のフリップフロップ回路８のＤ入力端子の高／低電位が順次伝達され、結果的に四クロック分遅延して第四のフリップフロップ１１のＱ端子に至る。また、論理和回路１３は、入力信号の全てが低電位の時にのみ、その出力が低電位となるので、入力のいずれか一つでも高電位の場合出力は高電位となる。即ち、論理和回路１３の入力の一つでも高電位であると、その出力は高電位となる。
【００１２】
図４及び図５は、前記図３に示したチャタリング除去回路の動作を説明するための図であって、図４はチャタリングが発生しない場合、図５はチャタリングが発生する場合の信号波形図である。以下、この信号波形図を参照しながら、本発明のスキャン回路の動作例を説明する。
同図（ａ）は前記フリップフロップ回路に供給されるクロック信号波形である。この図に示すチャタリング除去回路に属するキーが押されると、上述したように前記ＧＰＩＯ６の入力端子ＩＮ１、ＩＮ２、ＩＮ３のうち、その系統に属する入力端子は同図（ｂ）に示すように低電位となる。この信号が第一段のフリップフロップ回路８のＤ端子に入力されると、次のクロック信号入力に呼応して、当該フリップフロップ回路８のＱ出力端子に移行し、同図（ｃ）に示すように出力Ａとして低電位が伝達される。同様にして、この信号は順次後段のフリップフロップ回路９、１０、１１に伝達されて、図４（ｄ）に示す出力Ｂ、同図（ｅ）の出力Ｃ、同図（ｆ）の出力Ｄとなる。このときチャタリングが発生しないものとすれば、押されたキーは、少なくともチャタリング除去期間は同一状態を保つので、各フリップフロップ回路８乃至１１のＱ出力端の信号Ａ、Ｂ、Ｃ、Ｄは全て低電位となって、論理回路１３に入力される。その結果、前記論理和回路１３の出力は低電位となって、前記図１のＧＰＩＯ６の該当する入力ポート（ＩＮ）に供給される。
【００１３】
図４は、チャタリングが発生する場合の信号波形図であり、図４（ｂ）に示すように、押されたキー信号入力が一旦低電位になった後、例えば三クロック後に再び高電位になった場合は、フリップフロップ回路８のＤ端子に入力した低電位が最後のフリップフロップ回路１１のＱ出力に伝達される時点では、初段フリップフロップ回路８のＱ出力信号（出力Ａ）の電位が高電位になっているので、結局、論理回路１３の出力が低電位にならず、高電位がＣＰＵ２に伝達される。
このようにしてチャタリングが発生したことが判断できれば、その後の処理は種々の方法で対応可能である。例えば、チャタリング発生が検出されない場合は、直ちに検出されたキー信号が真のものとして処理を開始することもできるし、あるいはチャタリング発生が検出されたときは、一度だけキー操作が行われたものとして処理するか、又は、チャタリング除去期間経過後の入力検出信号のみを真のキー信号入力として処理する等の対応を行うことができる。上述したように、チャタリングが発生していないことが確認されたとき、直ちに真のキー入力として処理する方法は、チャタリング発生度合いの少ないキーボードを使用する場合、迅速で効率的な処理を実施し得る可能性がある。
【００１４】
図６は、本発明の他の実施態様例を説明するめのフローチャートであり、この例に示す処理手順は、前記ＣＰＵ２がスリープ状態にあるときの処理に関するものである。即ち、処理がスタートすると、先ず、キースイッチの操作を待機し（Ｓ１）、キー操作が行われたことを検出すると（Ｓ１  Ｙｅｓ）ＣＰＵ２がスリープ状態であるか否かを判断し、ＣＰＵ２がスリープ状態である場合は（Ｓ２  Ｙｅｓ）、前記図１、２に示したチャタリング除去回路ｃｈのバイパスルートＢＰに前記スイッチＳＷを切替える（Ｓ３）。その後所定時間（チャタリング除去期間）が経過したか否かを判断し、その経過を待って（Ｓ４  Ｙｅｓ）前記スイッチＳＷをチャタリング除去回路ｃｈ側に切替え（Ｓ５）、チャタリング除去機能を経て、キースイッチ信号の処理をＣＰＵ２に伝達する（Ｓ６）。なお、前記Ｓ２において、ＣＰＵ２がスリープ状態ではないと判断したときは（Ｓ２  Ｎｏ）、Ｓ５に移行して前記スイッチＳＷをチャタリング除去回路側に切替え（Ｓ５）、チャタリング機能を動作させてキースイッチ信号をＣＰＵ２に伝達する。この例によれば、スリープ状態にあるＣＰＵ２に直接キースキャン処理を行わせる場合に比べて処理を速くする効果がある。即ち、ＣＰＵ２がスリープ状態である場合、前記図２に示したようにキースキャン部４のチャタリン部除去回路をバイパスするバイパスルートＢＰ１乃至ＢＰ３のいずれかを介して、キースイッチ信号をＧＰＩＯ６の入力ポートＩＮ１乃至ＩＮ３のどれかに伝達するので、この信号が直ちにＣＰＵ２に供給され、あるいはＣＰＵ２のスリープを解除する制御を行う回路に伝達されるので、チャタリング除去期間を経過した後に、同様にＣＰＵ２のスリープを解除するよりＣＰＵ２の立ち上がりが早くなることは明らかである。そして、チャタリン部除去回路ｃｈをバイパスしてＣＰＵ２にスリープ状態解除トリガを供給したら、ＣＰＵ２の立ち上がりを待つことなく直ちにチャタリング除去回路側に前記スイッチＳＷを切替える。この処理によればチャタリング除去時間経過中にＣＰＵ２が立ち上がり、チャタリング除去期間経過後には、直ちにキースキャン処理を開始することができるので、迅速な処理が可能となる。
【００１５】
図７は、本発明の更に他の変形実施態様例を示すブロック構成図であり、ＧＰＩＯ６の設計の自由度を利用して、制御対象のキーボードに対応してＧＰＩＯ６の余剰ポートを他の機能制御に利用する場合を示している。即ち、この例では制御対象キーボードのキーマトリクス７の数が、２×３と、前記図１に示すものより少ないので、ＧＰＩＯ６の入力ポートが一つ余ることになる。そこで、このポートを第四の出力ポートＯＰ４として制御し、その出力でインバータ回路１４を介して発光ダイオード（ＬＥＤ）１５の点灯を制御するものである。このようにＧＰＩＯは、ソフトウエアによって各ポートを入力として、あるいは出力として機能させることができるので、従来のように専用のキースキャン回路に代えて、ＧＰＩＯによってキースキャン回路を構成すれば、装置毎に本来のＧＰＩＯの特徴を生かしたフレキシブルな利用方法を駆使することが可能となる。
なお、図示は省略するが、前記図３に示した分周回路では、供給されるクロック信号の周波数を種々分周可能である。そこで、複数の分周比にソフトウエアで設定できるように構成し、前記フリップフロップ回路Ｄ−ＦＦに供給するクロック周波数を可変すれば、チャタリング除去期間を自由に変化させることができる。従って、対象とするキーボードの特性に応じて、最適な値に変えることが可能となる。例えば、供給されるクロック周波数が３２．７６８ｋＨｚであり、前記分周回路（ＤＩＶＩＤＥＲ）の分周比が１／１６、１／３２、１／６４、１／１２８、１／２５６である場合、夫々、分周後の周波数が、２．０４８ｋＨｚ、１．０２ｋＨｚ、５１２Ｈｚ、２５６Ｈｚ、１２８Ｈｚとなるので、これを時間に直せば１．４６ｍｓｅｃ乃至２３．４４ｍｓｅｃの範囲でチャタリング除去期間を調整することができることになる。このチャタリン部除去期間の調整は、前記図３に示した回路において、フリップフロップの段数を増加すれば細かい刻みでの調整が可能である。
【００１６】
以上いくつかの実施態様例について説明したが、本発明の実施に際しては、これらの例に限定する必要は全くなく、種々変形が可能である。例えば、チャタリング除去回路とそのバイパスの切替を、ＣＰＵのスリープ状態時だけではなく通常のキー操作においても適用し、割り込み処理に要する時間をチャタリング除去期間に吸収する処理も可能である。即ち、ＣＰＵの割り込み制御を早めに行うために、通常はチャタリング除去回路バイパスルートに切替えておき、キー操作を検出したらＣＰＵへの割り込み処理のための信号入力を行った後、直ちにチャタリング除去回路側に切替えるように制御すれば、ＣＰＵへの割り込みに要する時間中にチャタリング除去の時間が一部並列に経過するように制御できるので、処理の迅速化をもたらす上で有効である。
また、前記図８に示したワンチップマイコンの構成例では、キースキャンとＧＰＩＯとの両方を備えた場合を例示したが、本発明ではＧＰＩＯをキースキャンとして機能させているので、他の理由で専用のキースキャンが必要である場合を除き、これを削除することもできる。更に、本発明において使用するチャタリング除去回路は、図３に示したものに限る必要はなく、広く知られている種々のものが適用可能であることはいうまでもなく、なお更に、図４に示したブロック構成図における論理和回路ＯＲは、これに限らず同様に機能するものであれば如何なる回路でも良い。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係るキースキャン回路の概要ブロック図である。
【図２】本発明の一実施形態に係るキースキャン回路の動作を説明する概要ブロック図である。
【図３】本発明の一実施形態に使用するチャタリング除去回路の一例を示すブロック図である。
【図４】本発明の一実施形態に使用するチャタリング除去回路の動作を説明する信号波形図である。
【図５】本発明の一実施形態に使用するチャタリング除去回路の動作を説明する信号波形図である。
【図６】本発明の一実施形態に係るキースキャン回路の制御例を示すフローチャートである。
【図７】本発明の変形実施形態に係るキースキャン回路の概要ブロック図である。
【図８】ワンチップマイクロコンピュータの一例を示すブロック構成図である。
【図９】従来のキースキャン回路の一例を示す概要ブロック図である。
【図１０】従来のキースキャン回路の一例を示す概要ブロック図である。
【符号の説明】
【００１８】
１  キースキャン回路、２、１０１  中央処理装置（ＣＰＵ）、３、１０６  割り込みコントローラ、４  キースキャン部、５、１１６  バスライン、６、１１１  汎用入出力ポート（ＧＰＩＯ）、７、１１７  キーマトリクス、８〜１１  フリップフロップ回路、１２  分周回路、１３  論理和回路、１４  インバータ回路、１５  発光ダイオード（ＬＥＤ）、１００  ワンチップマイクロコンピュータ、１０２  パラレルコントローラ、１０３  ＤＭＡ、１０４  内部ＲＡＭ、１０５  内部ＲＯＭ、１０７  アナログ・デジタル変換回路（ＡＤＣ）、１０８  デジタル・アナログ変換回路（ＤＡＣ）、１０９  同期式シリアルインターフェース（ＳＰＩ）、１１０  調歩同期シリアルインターフェース（ＵＡＲＴ）、１１１  汎用入出力ポート（ＧＰＩＯ）、１１２  キースキャン回路、１１３  タイマ（ＴＩＭＥＲ）、１１４  電源管理部、１１５  クロック回路（ＣＬＫＧＥＮ）、ＳＷ１、ＳＷ２、ＳＷ３  バイパス切替スイッチ。
【図１】
0004670574.tif 000002
【図２】
0004670574.tif 000003
【図３】
0004670574.tif 000004
【図４】
0004670574.tif 000005
【図５】
0004670574.tif 000006
【図６】
0004670574.tif 000007
【図７】
0004670574.tif 000008
【図８】
0004670574.tif 000009
【図９】
0004670574.tif 000010
【図１０】
0004670574.tif 000011