(57)【要約】  改良型キーマトリックススキャン技術は、キーマトリックス中の第１の接続配列に対して第１のプレスキャンを行い、第１の配列に関連づけられたアクティブにされたキーまたはボタンを識別する。アクティブにされたキーがあると検出された第１の配列中の接続に関してのみ、キーマトリックス中の第２の接続配列に対して第２のサブスキャンが行われる。【選択図】  図４
2008506186.tif 000002
【特許請求の範囲】
【請求項１】
接続マトリックスをスキャンする方法であって、
アクティブにされたキーまたはボタンに関連づけられたマトリックスの第１の配列中の接続を識別する第１のプレスキャンを行い、
アクティブにされたキーまたはボタンとして識別された第１の配列中の接続に対してのみ、アクティブにされたキーまたはボタンに関連づけられたマトリックスの第２の配列中の接続を識別する第２のサブスキャンを行う方法。
【請求項２】
接続の１つの列に対して第１のプレスキャンを行い、プレスキャンから識別された列接続に関してのみ、接続の１つの行に対して第２のサブスキャンを行うことを含む請求項１に記載の方法。
【請求項３】
行接続に対して第１のプレスキャン信号を励振し、
プレスキャン信号に対して列接続をモニタし、
プレスキャン信号によりアクティブにされたキーまたはボタンを有するものとして検出された列接続を識別することを含む請求項２に記載の方法。
【請求項４】
アクティブにされたキーまたはボタンにより識別された列接続に対してのみ第２のサブスキャン信号を励振し、
サブスキャン信号に対してすべての行接続をモニタし、
サブスキャン信号により検出された行接続を識別し、
識別された列と行に関連づけられたキーまたはボタンを押し下げられたものとして識別することを含む請求項３に記載の方法。
【請求項５】
第１の接続配列のそれぞれを既知のインピーダンス状態に接続し、
第２の接続配列のそれぞれに第１の既知の電圧を印加し、
第１の接続配列上の電圧を検知し、
第１の既知の電圧を有する第１の接続配列のリストを生成し、
第２の接続配列のそれぞれを既知のインピーダンス状態に接続し、
上記リストにおいて識別された第１の配列中の接続に対してのみ、第１の既知の電圧を印加し、
上記リストにおいて識別された第１の配列中の接続に対してのみ、第２の接続配列のそれぞれの電圧を検知し、
第１の既知の電圧を有する第２の接続配列に関連づけられた押し下げられたキーまたはボタンを識別することを含む請求項１に記載の方法。
【請求項６】
プルダウンまたはプルアップ抵抗を介して第１の既知のインピーダンス状態を与え、
第１の既知のインピーダンス状態とは異なる論理値を有する第１の既知の電圧を印加することを含む請求項５に記載の方法。
【請求項７】
マイクロコントローラまたは論理を低電力スリープモードにおき、
プレスキャンおよびサブスキャンを行う期間中、マイクロコントローラまたは論理を周期的に復帰させ、
押されたキーまたはボタンをプレスキャンおよびサブスキャンにより識別し、
次の周期的なプレスキャンおよびサブスキャンまでマイクロコントローラまたは論理をスリープモードに戻しておくことを含む請求項１に記載の方法。
【請求項８】
ワイヤレスキーボードでプレスキャンおよびサブスキャンを行い、識別された押されたキーまたはボタンをホスト処理装置に無線で送信することを含む請求項１に記載の方法。
【請求項９】
プレスキャンにおいては第１の接続配列を出力、第２の接続配列を入力として構成し、
サブスキャンにおいては第２の接続配列を出力、第１の接続配列を入力として構成することを含む請求項１に記載の方法。
【請求項１０】
接続マトリックスをモニタするための回路であって、
第１の配列中のアクティブな接続を識別するために接続マトリックスの第１のスキャンを行い、識別された第１の配列中のアクティブな接続に対してのみ、第２の配列中のアクティブな接続を識別するために接続マトリックスの第２のスキャンを行う処理回路部を備えた回路。
【請求項１１】
第１および第２の配列を既知の論理状態におくように構成された論理回路部を含み、上記処理回路部は、第１のスキャンにおいて上記論理回路部を用いて第１の配列を第１の論理状態におき、第２の配列に第２の論理状態を与える請求項１０に記載の回路。
【請求項１２】
処理回路部は、第２のスキャンにおいて上記論理回路部を用いて第２の配列を第１の論理状態におき、第１のスキャンにおいて第２の論理状態により検出された第２の配列中の接続に対してのみ第２の論理状態を与える請求項１１に記載の回路。
【請求項１３】
処理回路部はプルアップまたはプルダウン抵抗を備えている請求項１０に記載の回路。
【請求項１４】
処理回路部は、第１および第２の配列に連結された双方向接続を含み、上記双方向接続は、第１のスキャンにおいては、第１の配列に対しては入力として、第２の配列に対しては出力として動作し、第２のスキャンにおいては、第１の配列に対しては出力として、第２の配列に対しては入力として動作する請求項１０に記載の回路。
【請求項１５】
上記処理回路部を含み、第１および第２の配列についてのアクティブな接続に関連づけられたコンピュータにキーまたはボタン情報を無線で送信する無線送信器を含むワイヤレスキーボードを含む請求項１０に記載の回路。
【請求項１６】
第１の配列はキーマトリックスにおける列接続の配列であり、第２の配列はキーマトリックスにおける行接続の配列である請求項１０に記載の回路。
【請求項１７】
プロセッサは、ある期間スリープモードに繰り返し入って、第１および第２のスキャンを行うために周期的に繰り返し復帰する請求項１０に記載の回路。
【請求項１８】
キーまたはボタンの作動をモニタするシステムであって、
キーまたはボタンの列に対応する第１の接続セットと、キーまたはボタンの行に対応する第２の接続セットとを含むマトリックスと、
第１または第２の接続セットに対応する接続に対して第１のスキャンを行い、作動されたキーまたはボタンを示した第１のスキャンにおける接続についてのみ、他方の接続セットに対して第２のスキャンを行うことにより、いずれかのキーまたはボタンがアクティブにされたことについて、マトリックスをモニタする処理回路とを備えたシステム。
【請求項１９】
第１のスキャンについては、第１の接続セットを入力、第２の接続セットを出力として用い、第２のスキャンについては、第１の接続セットを出力、第２の接続セットを入力として用いる双方向インタフェイスを含む請求項１８に記載のシステム。
【請求項２０】
第１の接続セットを第１の既知の論理状態にセットし、第１のスキャン中に第２の接続セットを第２の論理状態に励振し、第２のスキャン中に第２の接続セットを第１の既知の論理状態にセットし、第１のスキャン中に第２の論理状態を有すると検出された第１の接続セットに対してのみ、第２の論理状態を与える論理回路部を含む請求項１９に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
図１は、典型的なキーボードマトリックス１２がどのように構成されているかを示している。プラスチックまたはポリマー材料からなる２枚の薄いシート１４と１６は、プリント導電トレース１８と２０をそれぞれ備えている。トレース１８および２０は、キーボード上のキー２２が押されたときのように、ある位置に圧力がかかったときに、シート１４上の１つのトレースが他方のシート１６の対応する位置で１つのトレース２０と電気的に接続されるように構成されている。
【０００２】
典型的には、シート１４と１６とは、プリントトレースのない第３のシート２４によって分離されている。この第３のシート２４は、ボタン２２の位置に揃えられた穴２６を含んでいる。穴２６の上の領域に圧力がかかっていないとき、導電トレース１８と２０は接触しない。キー２２のうちの１つが押されたとき、シート１４上のトレース１８の１つが、対応する穴２６に押し込まれシート１６上のトレース２０の１つと電気的に接触する。トレース１８とトレース２０との間の電気的な交差接続は、特定のキーまたはボタン２２に関連づけられている。識別されたキーまたはボタン２２に関連づけられた情報がコンピュータ、プロセッサ、または他の計算装置に送られる。
【０００３】
分かりやすくするために、図１においては、少数の行と列だけのトレースが示されている。２枚のプリントシート１４および１６のトレース１８および２０は、上側シート１４の各トレース１８が１回だけ下側シート１６の各トレース２０と穴２６越しに交わるように構成されている。このように、キーボード上の各ボタン２２は、上側シート１４上のトレース１８の１つと下側シート１６上のトレース２０の１つとの間で唯一の接触を生じさせる。典型的には、あるシートはキーマトリックス行（key matrix row）と呼ばれる８個のトレースを有し、他のシートはキーマトリックス列（key matrix column）と呼ばれる１６から２４個のトレースを有している。このように、８×１６〜２４のキーマトリックスが形成され、各ボタン２２はそのマトリックス内の１つの交差接続点に対応している。
【０００４】
一般に、機械的剛性を与え、静電放電事故を防止するために、金属シート（通常、接地されている）が下部シート１６の下に置かれる。トレース１８および２０をプリントするために使用される導電インクの抵抗率はかなり高いので、プリントトレースはかなり幅が広く、典型的には約２ミリ（ｍｍ）幅のオーダーである。
【０００５】
多くのキーボードのサイズに起因して、トレース１８および２０もかなり長く、特にそれぞれの列トレースに交わるためにキーボードの長さ方向を横断して交互にジグザグを描くことのある行トレースは長い。０.５メートル（ｍ）を越える長さが通常である。比較的高い抵抗率のために、トレース１８および２０のインピーダンスは、１０オーム毎平方（ｓ）または数百オームまでとなり得る。トレース幅および長さ、ポリマーシート１４および１６の厚さ、および金属接地シートの近接度の組み合わせは、トレース１８および２０に大きなキャパシタンスを生み出す。
【０００６】
典型的には、キーボードは、行および列トレース１８および２０に接続された入力／出力（Ｉ／Ｏ）ピンを備えたマイクロコントローラを含んでいる。このマイクロコントローラは、Ｉ／Ｏピンに信号を加え、他のＩ／Ｏピンで信号を検知してキーボードボタン２２の作動を検出する。典型的には、このプロセスを実行するために、デジタル論理またはファームウェアが用いられる。この構成は、例えば多くのキーの状態を検出しなければならないリモコンなど、キーボード以外の用途でも用いられる。
【０００７】
ファームウェアまたは論理は、それぞれの行トレースと例えば５ボルト（Ｖ）の高電圧との間にプルアップ抵抗を最初に接続することにより、ボタン２２が押されているのであればそれがどのボタン２２であるのかを検知する。典型的には、この抵抗は、行トレースに接続されたマイクロコントローラユニット（ＭＣＵ）ピンのＩ／Ｏセルの内部に含まれている。列に接続されたＭＣＵのＩ／Ｏピンは、典型的には、高インピーダンス状態に保持される。その後、図２の列０のような第１の列が低電圧で励振される。そして、ＭＣＵは、列０に対して８行の論理状態を読み取る。すべての行が論理「１」状態であれば、ファームウェアは、マトリックスの第１の列０上ではどのボタンも押されていないと判断する。
【０００８】
１以上の行が論理「０」状態であれば、ＭＣＵは、列０と論理０状態の行に対応するマトリックスの交差接続位置に対応するボタンが押されていると判断する。列０は高インピーダンス状態に戻され、残りの列１〜ｎのそれぞれについてこのプロセスが繰り返される。ＭＣＵは、それぞれの列を既知の論理状態に励振し、その後その既知の論理状態に対してそれぞれの行をスキャンするという全体のプロセスを周期的に繰り返す。
【０００９】
その後、ＭＣＵは、検出されたキーの押し下げに対して後処理も行う。例えば、キーマトリックスにおいて互いに直角三角形をなす位置にある３つのキーを同時に押すと、４つ目の「疑似（phantom）」キーが押されたことが検出される。ファームウェアは、検出されたキーの押し下げのリストに対して後処理を行い、その押されたキーのリストから「疑似」キーを取り除くためのアルゴリズムを実行する。
【００１０】
トレースの一端が接地された場合に、トレースとプルアップ抵抗器により形成される分圧器の出力が低電圧になるように、プルアップ抵抗は最長のトレースのインピーダンスよりも極めて高い必要がある。典型的には、プルアップ抵抗は約１０キロ（ｋ）オームである。
【００１１】
トレース１８および２０の非常に大きなキャパシタンスおよび比較的高いプルアップ抵抗によって、形成された抵抗／キャパシタンス（ＲＣ）の時定数は、典型的には約１０マイクロ秒（μｓ）である。したがって、列ピンが低電圧に励振された後、図２に示されるように、かなりの時間（ｔ）の間、キーマトリックスにおけるそれぞれの交差接続をモニタする必要がある。行Ｉ／Ｏピンの状態が関連するキー２２（図１）の状態を正しく確実に反映するように、時としてこの遅延時間が１００μｓも必要なときがある。
【００１２】
したがって、典型的なパーソナルコンピュータ（ＰＣ）キーボードに使用されているスキャン型８×２０キーマトリックスの全体をスキャンするために必要な時間は、時間（ｔ）に列の数（ｎ）を乗じたものとなる。このため、全スキャン時間は、（ｎ＊ｔ）であり２ミリ秒（ｍｓ）もある。キーボードに取り付けられたコンピュータによって電力が供給される通常の有線キーボードにおいては、これは大きな問題とならない。しかしながら、電池式キーボード、特にワイヤレスキーボードにおいては、電池の寿命を最大限にすることが求められる。
【００１３】
キーの跳ね返りを検出しフィルタするために、典型的には、キーマトリックスが１０ｍｓ毎にスキャンされる。したがって、２ｍｓの全スキャン期間に対して、キーボードが使用中である時間の２０％もＭＣＵがマトリックススキャンアルゴリズムを行っている。
【００１４】
典型的なワイヤレスキーボードは、使用時に平均２〜３ミリアンペア（ｍＡ）を消費する。エネルギーを節約するために、ＭＣＵがマトリックスを積極的にスキャンしておらず、また各スキャンの結果を処理しておらず、（キーの押し下げがあり）キーの押し下げに関連したデータを送っていないときには、ＭＣＵは低電力スリープモードになる。この種の用途におけるＭＣＵによる典型的な電流使用は、使用時（すなわち指示を実行しているとき）には約３ｍＡである。しかしながら、スリープモードにおける電力使用は無視できる程度である。このため、マトリックスのスキャンの処理に起因すると考えられる平均電流は約６００μＡ（３ｍＡの２０％）である。これは、結果的にキーボードの全電流消費の２０〜３０％となる。
【００１５】
これらの既存のキーボードマトリックススキャン方法は、遅く、多くの電力を消費し、マトリックスをスキャンするかなりの時間の間ＭＣＵが他のタスクを行うことを阻害する。本発明は、この問題および従来技術に関連する他の問題を解決するものである。
【発明の概要】
【００１６】
改良型キーマトリックススキャン技術は、キーマトリックス中の第１の接続配列に対して第１のプレスキャンを行い、第１の配列に関連づけられたアクティブにされたキーまたはボタンを識別する。アクティブにされたキーがあると検出された第１の配列中の接続に関してのみ、キーマトリックス中の第２の接続配列に対して第２のサブスキャンが行われる。
【００１７】
上述したものおよび他の本発明の目的、特徴、および利点は、添付した図面を参照して進められる本発明の好ましい実施形態についての以下の詳細な説明から直ちに明らかになるであろう。
【詳細な説明】
【００１８】
図３は、改良型キーマトリックススキャンシステム３０を示している。このスキャンシステム３０は、マイクロコントローラユニット（ＭＣＵ）３２がキーマトリックス３４をスキャンするのに必要な時間を短縮することにより、ワイヤレスキーボードや他の種類のリモコンおよび電池駆動式装置の電池寿命を長くすることができる。
【００１９】
ＭＣＵ３２は、どのような種類のプログラマブル処理装置であってもよい。他の実施形態においては、ＭＣＵ３２は、以下に述べる動作を行うようにハードコードされたプログラマブル論理装置（ＰＬＤ）のようなファームウェアである。キーマトリックス３４は、ユーザ制御装置上での押し下げを検知するために使用される回路部であればどのようなものであってもよい。以下の説明においては、キーおよびボタンという用語は交換可能に用いられ、ユーザ入力を計算装置に通信するために使用されるあらゆる種類の作動装置を意味する。
【００２０】
典型的には、キーマトリックス３４とともに用いられるキーボードまたはキーパッド上で一度に１つのボタン２２だけが押される。同時に２つのキー２２が押される場合もある。結果的にキーマトリックス３４が使用されている時間が無視できる程度になるような稀なケースでは、２つよりも多くのキーまたはボタン２２が同時に押される。
【００２１】
ＭＣＵ３２は、プレスキャンルーチン３３の間、アクティブなキー（例えば押し下げられたキー）のあるキーマトリックス３４の列があればそれはどの列であるのかを素早く判断する。ＭＣＵ３２は、すべての列をスキャンするのではなく、プレスキャン３３中にアクティブなキーにより識別された列に対してのみ第２のサブスキャン３５を行う。第１の列プレスキャン中にアクティブなキーにより１つの列だけが検出された場合には、第２のサブスキャンではその１つの識別された列に対してのみ行サブスキャンが行われる。プレスキャン中に２つのキーが押されていると検出された場合には、押されたキーにより検出された２つの列に対してのみ第２のサブスキャンが行われる。
【００２２】
これは、すべての列に対してキーマトリックスの行をスキャンしていた現状のスキャン技術に対する改良である。どの列に押し下げられたキーがあるのかを決定するのにかかる時間は、１つの列をスキャンするのに必要とされる時間とほぼ同じである。このため、プレスキャン中に１つのキーだけが押し下げられていると検出された場合には、２０列のマトリックスをスキャンするのにかかる時間が９０％短縮される。プレスキャン中に２つのキーが押し下げられていると検出された場合には、マトリックスをスキャンするのにかかる時間は８５％短縮される。
【００２３】
図４は、第１のプレスキャン動作３３を行うための図３のスキャンシステム３０に用いられる構成例を示している。キーマトリックス３４は、列接続（columns connection）４２と行接続（rows connection）４４の配列として示されている。しかしながら、これは説明のためであって、接続４２と４４のための２つの重なりエッチパターンが、物理的に列と行に揃えられていなくてもよいことは理解されよう。これは、接続４２と４４が重なっており、キーまたはボタンの押し下げにより接続４２と４４との間の交差接続が生じることを示すのを意図したものである。例えば、行２と列１との交点上に位置するキー２２が押し下げられたときには交差接続３７が生じる。ＭＣＵ３２上のピン４０は列接続４２に接続され、ピン３８は行接続４４に接続されている。
【００２４】
図４のプレスキャン構成においては、ＭＣＵ３２は、ピン４０を入力として構成する。プルアップ抵抗器３６が列４２に接続され、列３６をハイレベル論理状態に引き上げる。ＭＣＵ３２は、ピン３８が出力として動作するようにＩ／Ｏバッファ３９を構成する。プルアップ抵抗器３６はＭＣＵ３２の内部に設けられていてもよいし、ＭＣＵ３２とは分離された別個のインタフェイス回路部であってもよいことは理解されよう。
【００２５】
プレスキャン中に、ＭＣＵ３２は、ピン３８にローレベル論理信号４６を生成し、ピン４０で受信する信号をモニタする。この例においては、ローレベル論理信号４６が列１の接続で検出されると、ＭＣＵ３２は、キーマトリックス３４内の交差接続位置３７でキーまたはボタン２２が押し下げられたことを検出する。他に押されたキーがないため、プレスキャン動作中は他の列接続０および２〜ｎはハイレベル論理状態のままである。
【００２６】
図５は、第２のサブスキャン動作３５のためのスキャンシステム３０の構成を示している。ＭＣＵ３２は、ピン４０に接続されたＩ／Ｏバッファ５０を出力として構成し、ピン３８に接続されたＩ／Ｏバッファ３９（図４）を入力として構成する。この例においては、ＭＣＵ３２は、プルアップ抵抗器４８をピン３８に接続し、すべての行４４を既知のハイレベル論理状態に引き上げる。そして、ＭＣＵ３２は、以前の図４のプレスキャン動作において論理０パルスが検出された列接続４２に対してのみ、ローレベル論理（「０」）パルスを生成する。
【００２７】
この例では、ローレベル論理信号４６が図４の列１でのみ検出された。したがって、図５の列接続１に対してのみ、ローレベル論理信号５４が生成される。ＭＣＵ３２はローレベル論理信号５４について行４４をスキャンする。押し下げられたキー２２によってキーマトリックス３４内に１つの交差接続３７だけが確立されるので、ローレベル論理信号５４は行２でのみ検出されることになる。ＭＣＵ３２は、行２と列１に関連づけられたキー２２が押し下げられていると判断し、関連するホスト装置に情報を送信する。ＭＣＵ３２は、列接続０および２〜ｎ上で論理信号５４を生成する必要なしに、また列０および２〜ｎのそれぞれに対してすべての行４４をスキャンする必要なしに、どのキーが押し下げられているかを判断している。
【００２８】
これは１つの例に過ぎず、ピン３８および４０がプルアップ抵抗器に接続されている必要も、行および列で論理ゼロ信号をアサートする必要もないことは理解されよう。その代わりに、プルダウン抵抗器を用いて、列および行接続で論理１の値をアサートしてもよい。
【００２９】
また、プルアップまたはプルダウン抵抗器は必ずしもＭＣＵ３２の内部にあるものではない。他の実施形態においては、ＭＣＵ３２から分離した回路部内に抵抗器が位置していてもよい。他の実施形態においては、ＭＣＵ３２内の論理、Ｉ／Ｏバッファ３９と５０、および抵抗器３６と４８の一部またはすべてが集積回路と別個の論理回路の異なる組み合わせにより実現される。
【００３０】
図６のフロー図および図４と図５を参照すると、ブロック６０において、ＭＣＵ３２はすべての行接続４４を信号４６により論理０の状態にし、プルアップ抵抗器３６を列接続４２（図４）に接続する。ＭＣＵ３２は、トレースキャパシタンスの充電または放電を考慮して遅延時間の間待機する。例えば、ＭＣＵ３２は、約１００μｓ待機する。そして、ブロック６４において、ＭＣＵ３２は、それぞれの列接続４２の論理状態を読み取ることによりプレスキャン動作を行う。ブロック６６においてすべての列が論理１状態であれば、キーが押されておらず、残りのプロセスが省略される。ＭＣＵ３２は戻って次のプレスキャン動作に備えて待機する。
【００３１】
ブロック６６において列接続４２でローレベル論理状態が検出されると、ブロック６８でＭＣＵ３２が図５のプルアップ抵抗器４８をピン３８に接続することによってサブスキャン動作を開始する。ブロック７０では、プレスキャン動作中に論理０信号により検出された第１の列がＭＣＵのＩ／Ｏピン４０でローレベルに励振される。ブロック７２において、ＭＣＵ３２は行接続４４のすべてについて論理状態を読み取る。ＭＣＵ３２は、図５の交差接続位置３７のように、論理０状態により検出された列と行に対応する位置に対応するボタンが押し下げられていると判断する。ブロック７０でローレベルに励振された列は、ブロック７４で高インピーダンス状態に戻される。そして、ＭＣＵ３２は、ブロック６６において論理０状態が検出された列が他にあればその列のそれぞれについてブロック７０〜７４における動作を繰り返す。ＭＣＵ３２は、押されたキーのリストを作成し、これは従来のキーボード処理と同様の方法により後処理される。
【００３２】
図７は、最初に列プレスキャンを行うことにより全スキャン時間がどのように短縮されるかを示している。従来のマトリックススキャン方式においては、押されたキーの数にかかわらず、列があるだけ多くの遅延が生じる。図７は、すべての行４４に与えられた第１のローレベル論理信号４６に対してすべての列がスキャンされる例を示している。プレスキャン動作中にすべての列４２をスキャンするのに必要な時間は（ｔ）である。
【００３３】
この例では、ローレベル論理信号により列１だけが検出された。したがって、列１に与えられたローレベル論理信号５４に対して１回の行スキャンだけですむ。この列１の動作に対する１回の行スキャンには１つの遅延時間ｔだけが必要である。このため、図７に示される例についての全スキャン時間は（２＊ｔ）となる。
【００３４】
したがって、改良型スキャン技術は、遅延の数を１＋（キーが押された列の数）に減らすことができる。典型的には、それぞれの動作を行うのにかかる時間は遅延時間よりもずっと短い。このため、２０列キーマトリックス３４については、キーが押されていないときは９５％、１つのキーが押されたときは９０％、２つのキーが押されたときは８５％．．．とスキャン時間が短縮される。２０個のキーが押され、各キーが異なる列にある場合にのみスキャン時間が長くなるが、それは５％に過ぎない。
【００３５】
キーが押されていないとき、一般に、ＭＣＵ３２はスリープモードにあり、キーマトリックス３４をスキャンしていない。スリープモードに入る前に、ＭＣＵ３２は、ブロック６０〜６４（図６）におけるプレスキャン動作を行い、マトリックス列４２に接続されたすべてのＩ／Ｏピンにおけるローレベルでの推移状態に対する割り込みを可能にする。したがって、いずれかのキーが押されると、割り込みが発生し、ＭＣＵ３２がスリープモードから復帰し、スキャン動作を開始する。
【００３６】
一般に、「キーが押されていない」状態は、最後に押されたキーが離された直後のキーストローク毎に１回検出される。最も頻繁に起こるスキャン結果は、１つのキーが押されている状態である。２番目に多いのはキーが押されていない状態であり、３番目に多いのは２つのキーが押されている状態であり、３つ以上のキーが押されている状態は普通ではない。
【００３７】
図８は、改良型キーマトリックススキャンを行うＭＣＵ３２を含むワイヤレスキーボード９０を示すものである。このワイヤレスキーボード９０は、ユーザにより押し下げられるキーまたはボタンを含むキーボード９８を含んでいる。キーマトリックス３４は、キーボード９８の下に含まれている。ＭＣＵ３２は、上述したように、周期的にキーマトリックス３４をスキャンし、キーボード９８上で押し下げられたキーを識別する。
【００３８】
ＭＣＵ３２は、ある種の計算装置９２に押し下げられたキーの情報１００を無線で送信するアンテナ９６を含む無線送信器９４にキー情報を送信する。計算装置９２は、キー情報１００により表された情報に応答してある種の適切な動作をする。
【００３９】
一例においては、プレスキャン動作は、キーマトリックス３４をスキャンするのに費やされる時間を約９５％短縮する。これは、スキャンに起因する平均電流消費を上述した例に関して言えば６００マイクロアンペア（μＡ）から３０μＡに低減する。平均有効電流が２．５ｍＡのワイヤレスキーボードの場合、電力低減は約２３％となる。これは、約３０％の電池寿命の増加ということに言い換えられる。
【００４０】
（他の実施形態）
キーマトリックススキャン時間を短縮することが利点となり得るワイヤレスキーボード９０、リモコン、および他のキーパッド装置が最も一般的な用途である。しかしながら、短縮されたスキャン時間が有用でもあるような他の場合も考えられる。例えば、ユニバーサルシリアルバス（ＵＳＢ）キーボードハブのような組み合わせられた他の機能を有する有線キーボードにおいてである。そのような場合には、ＭＣＵ３２は、キーマトリックスを走査し、キーボードデータを送信することに加えて、他にもすべき動作がある。これらの他の動作は、常時または他の機能に関連したイベントを処理するときに、ＭＣＵ処理電力の多くを消費し得る。これらの場合においては、キーマトリックス３４をスキャンするのに費やされる時間を短縮することにより、他の処理を行うためにＭＣＵ３２を自由に使えるようになる。
【００４１】
改良型キーマトリックススキャン動作は、ＭＣＵスキャン時間を大幅に短縮する。これは、ＭＣＵがより多くの時間を低電力スリープモードで過ごすことになるため、全体の平均電力消費を低減する。１つの用途における改良型スキャンシステムは、図８のキーボード９０のようなワイヤレスＵＳＢキーボードの電力消費を低減し、その競争力を有線キーボードに勝るまでに高める。
【００４２】
上述したシステムは、専用プロセッサシステム、動作の一部または全部を行うマイクロコントローラ、プログラマブル論理装置、またはマイクロプロセッサを用いることができる。上述した動作の一部をソフトウェアにより実現し、他の動作をハードウェアにより実現してもよい。
【００４３】
簡単のため、様々な相互接続された機能ブロックまたは別個のソフトウェアモジュールとして動作を述べている。しかしながら、これは必要ではなく、これらの機能ブロックまたはモジュールが明確な境界のない単一の論理装置、プログラム、または動作に等価的に結合される場合もある。いずれにしても、機能ブロックおよびソフトウェアモジュールまたはフレキシブルインタフェイスの特徴をそれ自身で、あるいはハードウェアまたはソフトウェアにおける他の動作との組み合わせで実現することができる。
【００４４】
本発明の原理をその好ましい実施形態において説明し図示したが、そのような原則を逸脱することなくその構成および詳細において本発明を変更できることは明らかであろう。以下の請求項の精神および範囲から生じるすべての変更および改良について請求するものである。
【図面の簡単な説明】
【００４５】
【図１】図１は、キーマトリックスの図である。
【図２】図２は、図１のキーマトリックスがどのようにスキャンされるかを示すタイミング図である。
【図３】図３は、改良型キーマトリックススキャンシステムを示すブロック図である。
【図４】図４は、第１のプレスキャンを行うために使用される回路部のより詳細な図である。
【図５】図５は、第２のサブスキャンを行うために構成された図４の回路部の図である。
【図６】図６は、図４および図５の回路部がプレスキャンおよびサブスキャンをどのように行うかを示すブロック図である。
【図７】図７は、改良型キーマトリックススキャンに関してスキャン時間がどのように短縮されるかを示すタイミング図である。
【図８】図８は、改良型キーマトリックススキャンに関する用途の一例を示すシステム図である。
【図１】
2008506186.tif 000003
【図２】
2008506186.tif 000004
【図３】
2008506186.tif 000005
【図４】
2008506186.tif 000006
【図５】
2008506186.tif 000007
【図６】
2008506186.tif 000008
【図７】
2008506186.tif 000009
【図８】
2008506186.tif 000010
【国際調査報告】
2008506186.tif 000011