JP2018527645A - ハードウェア周辺装置デコーダ - Google Patents

ハードウェア周辺装置デコーダ Download PDF

Info

Publication number
JP2018527645A
JP2018527645A JP2017565125A JP2017565125A JP2018527645A JP 2018527645 A JP2018527645 A JP 2018527645A JP 2017565125 A JP2017565125 A JP 2017565125A JP 2017565125 A JP2017565125 A JP 2017565125A JP 2018527645 A JP2018527645 A JP 2018527645A
Authority
JP
Japan
Prior art keywords
memory location
integrated circuit
circuit according
decoder
cycle
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
JP2017565125A
Other languages
English (en)
Inventor
アムビュール、ロルフ
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.)
Nordic Semiconductor ASA
Original Assignee
Nordic Semiconductor ASA
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 Nordic Semiconductor ASA filed Critical Nordic Semiconductor ASA
Publication of JP2018527645A publication Critical patent/JP2018527645A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0312Detection arrangements using opto-electronic means for tracking the rotation of a spherical or circular member, e.g. optical rotary encoders used in mice or trackballs using a tracking ball or in mouse scroll wheels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0362Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 1D translations or rotations of an operating part of the device, e.g. scroll wheels, sliders, knobs, rollers or belts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • G06F3/0383Signal control means within the pointing device

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Microcomputers (AREA)

Abstract

【解決手段】 集積回路は、少なくとも2つの入力(18、20)と、第一サイクルにおいて前記入力をサンプリング(28)し、後の第二サイクルにおいて前記入力をサンプリングし、前記サンプリングした入力のうち1つだけが前記第一サイクルから前記第二サイクルの間に変化した場合に第一メモリ位置(34)を変更し、上記サンプリングした入力の両方が前記第一サイクルから前記第二サイクルの間に変化した場合に第二メモリ位置(46)を変更するデコーダ(24)とを有する。【選択図】 図1

Description

本発明は、ハードウェア周辺装置から回路(必ずしも専用ではないが、特に、マイクロプロセッサ集積回路)への入力を復号するためのデコーダに関する。
ワイヤレスコンピュータマウスはコンピュータまたはラップトップをコントロールするための一般的方法であり、通常、画面上でアイテムをスクロールするために回転することができるスクロールホイールを含んでいる。典型的な構成では、スクロールホイールの動きを検出するための光学的または機械的動作エンコーダーが使用される。動作エンコーダーはスクロールホイールによって回転されるエンコーダーホイールを有している。
1つの実施形態では、エンコーダーホイールは、発光ダイオード(LED)からの光をフォトトダイオードが検出するのを遮るため、LEDと対応するフォトダイオードとの間に置かれている。しかし、エンコーダーホイールには半径方向のスロットが多数形成されており、該スロットが、エンコーダーホイールを回転することによりLEDとフォトダイオード間の光路と並んだ場合、前記フォトダイオードに出力を発生させる。実際には、前記フォトダイオードは2つ設けられており、各フォトダイオードが出力を発生する順番からホイールの動作方向が確認できるように、互いに位置をずらしておかれている。例えば、フォトダイオードは、スロットおよび非空乏部分の円周方向反復パターン間の間隙の反復が4分の1だけ異なる位置に置かれている。つまり、スクロールホイールを回転させると、フォトダイオードからの信号は位相が必ず90度互いに異なっている。次に、回転方向は、どちらが先行しどちらが遅れているかによって決定される。
他の実施形態では、同様のパルスを発生するために、LEDおよびフォトダイオードの代わりにマイクロスイッチまたは他の電気機械式接点が使用される。
前記動作検出器のフォトダイオードまたはマイクロスイッチからの出力はサンプリングされ、復号されて、例えばBluetooth(商標)等の近距離無線インターフェースを通してホストコンピュータに入力される。そのためには、互いに位相が90度異なる2つの信号を復号しなければならないので、直交デコーダとして周知の装置が必要である。例えば、本出願者によるnRF51シリーズの低出力近距離無線通信チップは、上述の種類の動作検出器からの直交信号を復号するように構成された直交デコーダを含んでいる。前記直交デコーダのモジュールは、電力を節約するため、サンプリングした信号から有効動作が検出される場合にのみ、すなわち1つのチャネルで1つのサンプリング期間から次のサンプリング期間への出力遷移の遷移があり、他のチャネルでは遷移がない場合にのみ、中央処理装置(CPU)をウェイクアップするように構成されている。その結果、不確定な遷移が生じた場合、すなわち両方のチャネルが1つのサンプリング期間から次のサンプリング遷移期間の間に遷移した場合には、CPUはウェイクアップされない。
本発明は、少なくとも2つの入力と、第一サイクルにおいて前記入力をサンプリングし、後の第二サイクルにおいて上記入力をサンプリングし、前記のサンプリングした入力のうち1つだけが前記第一サイクルから前記第二サイクルにおいて変化した場合に第一メモリ位置を変更し、前記のサンプリングした入力の両方が前記第一サイクルから前記第二サイクルにおいて変化した場合に第二メモリ位置を変更するように構成されたデコーダとを有する集積回路を提供する。
従って、本発明によれば、単一の遷移および二重の遷移かを表示するために異なるメモリ位置が提供されていることを当業者は理解するであろう。これによって、両方の条件下で動作を選択することができる。本願の出願人の理解では、例えば、上述の動作エンコーダーの場合では、二重の遷移は、通常は、有効にサンプリングできる速度よりも速く前記スクロールホイールが移動したこと、およびそれに応答しなければならない十分な理由が実際に存在する可能性があることを意味している。例えば、前記動作エンコーダーは、画面上に内容をスクロールするかどうか決定することには使用されなくても、コンピュータを休止状態からウェイクアップさせることに使用される場合がある(この場合、ユーザーは前記動作エンコーダーに対応するマウス等の装置を操作していると推測することができる)。あるいは、二重の遷移が一定の方向における一連の通常の遷移の後に続いている場合は、前記通常の遷移に対応する動作の継続として前記二重の遷移を解釈するような決定をすることができる。
更に、本発明は、通常の入力を示す単一の遷移と不確定な入力を示す二重の遷移とに対して異なる動作をとることができるので、フレキシビリティを増大させることができる。例えば、エラーメッセージまたはフィードバックを発生したり、曖昧性を解決するのにサンプリング速度を増大させたりするのに使用できる。
いくつかの実施形態では、デコーダは、第一メモリ位置および/または第二メモリ位置が変更された場合に、例えば中央処理装置(CPU)に割込み信号を発生させるように構成される。
いくつかの実施形態では、デコーダは、第一メモリ位置が書き込まれると第一割込み信号を発生し、第二メモリ位置が書き込まれると第二割込み信号を発生するように構成される。別のいくつかの実施形態では、デコーダは、第一メモリ位置が所定の時間の間に変化すると(例えば特定回数のサンプリングが行われると)第一割込み信号を発生するように構成される。同様に、デコーダは、第二メモリ位置が所定の時間の間に変化すると(やはり特定回数のサンプリングが行われると)第二割込み信号を発生するように構成することができる。
いくつかの実施形態では、デコーダは、第一および/または第二メモリ位置に書き込まれた場合に割込みを発生するかどうか、かつ、サンプリング毎またはN回のサンプリング毎に第一および/または第二メモリ位置に書き込まれたかどうかを監視するかどうかを、ソフトウェアアプリケーションが決定可能にさせるように構成することができる。前記CPUは、メモリ位置の両方ではなく一つだけを読み取るように決定することができる。前記CPUは、いつメモリ位置(単数または複数)をクリアするかを決定することができる。
本明細書で使用される場合、メモリ位置の変更には、単にメモリ位置へ書き込むことを含むことができる。別の実施形態では、既にメモリ位置に書き込まれている値を考慮した(例えば、ある値を既存の値に加算するような)演算を行うことができる。
いくつかの実施形態では、前記第一メモリ位置は第一レジスタを含む。前記いくつかの実施形態では、第一のさらに別のメモリ部分が、前記第一レジスタに書き込まれる複数の値を記録するために第一レジスタに対応して設けられる。前記第一のさらに別のメモリ部分は、前記複数の値を別々に記憶することができるが、いくつかの実施形態では、例えば現在書き込まれている値に新しく発生された値を加算することにより、累積値または結果値を記憶するように構成されたアキュムレータを有する。
前記第二メモリ位置はレジスタを含むことができる。しかし、いくつかの実施形態では、前記第二メモリ位置は、渡された複数の値を記録するように構成された第二メモリ部分を含む。前記第二メモリ部分は前記複数の値を別々に記憶することができるが、いくつかの実施形態では、例えば現在書き込まれている値に新しく発生された値を加算することにより累積値または結果値を記憶するように構成されたアキュムレータを含む。
複数の値を記録するメモリ部分の具備は、サンプリングが行われる毎に前記第一および/または第二メモリ位置を読み取るという強行スケジュールを前記CPUに強要する代わりに、都合の良いときに前記CPUが値(単数または複数)を読み取ることを可能にすると言う点で有利である。従って前記CPUは真に必要なときだけ呼び出され、その結果、休止状態を維持できる、あるいは少なくともスイッチングおよび割込みのハンドリングの回数を削減できるので、前記CPUひいてはシステム全体がより効率的に動作可能とすることができる。前記CPUは、第一および/または第二メモリ位置または(更に別の部分(単数または複数)をクリアするかを決定することができる。
前述のように、本発明の可能な応用の一つは、LEDまたは他の低電力光源を通常使用する光学機械式動作エンコーダーである。いくつかの実施形態では、集積回路は、斯かる光源の照明をコントロールするための出力を有している。これは、照明とサンプリングとの調整が可能になり、その結果、必要なときだけ前記照明の光源が点灯され電力消費が削減されるので、有利である。例えば、前記出力により、各サンプリングの前に短い一定期間だけLEDを駆動、点灯し、そして、入力がサンプリングされたら即時に消灯することができる。同様の効果は、前記動作エンコーダーが電気機械式(代わりにスイッチまたは接点を使用)の場合も得ることができる。従って、より一般的には、いくつかの実施形態では、前記集積回路は動作エンコーダーに電力を選択的に供給するための出力を有している。
本発明は2つの入力に特に限定して説明しているが、本発明は2つの入力に限定されるものではなく、3つ以上の入力を備えることもできる。その場合、通常の遷移および不確定な遷移の可能性が広がるので、それに適応するため、更に別のメモリ位置および/または追加の更に別のメモリ位置および/または割込み源が必要になるが、それでも上述の原理は等しく適用される。
以下に、例示のみの目的であるが、本発明の実施形態を添付の図面を参照して説明する。
図1は、本発明による、典型的な条件で使用するデコーダの概略図である。 本発明に従って使用することができる動作デコーダの一部を示す図である。 マウスを反対方向に移動させる場合の、2つのフォトダイオードからの出力の典型例を示す図である。 マウスを反対方向に移動させる場合の、2つのフォトダイオードからの出力の典型例を示す図である。 不適切にサンプリングされた信号からどのように二重の遷移が生じるかを示す図である。 本発明によるデコーダの標本値、レジスタおよびアキュムレータの内容を示す表である。
図1は本発明を実施するための可能な構成を示す図である。この例においては、前記構成は、例えばBluetooth(商標)によって送られる信号を用いてデスクトップコンピュータまたはラップトップコンピュータを制御するために使用可能なワイヤレスコンピュータマウスの形態をとっている(勿論、本原理は、マウスがホストコンピュータに有線接続されている場合にも適用できる)。図1示されたシステムの一部は2つの部分、すなわち半導体集積回路または半導体チップ上のマイクロプロセッサの一部として提供される「オンチップ」部分2と、図2を参照して以下に詳細に記載される外部周辺装置を有するオフチップ部分4とに分割されている。
図2は、コンピュータマウスのいくつかの設計に使用される典型的な光学機械式動作エンコーダーの概略を示す図である。斯かる実施形態では、ユーザーの指の動作によりスクロールホイールが動く。スクロールホイールの動きにより、図2に部分的に示されているスロット式エンコーダーホイール6の回転が引き起こされる。エンコーダーホイール6は、円周に沿って間隔空けて置かれた多数の半径方向スロットを有する。前記エンコーダーホイールの一方の側にはLED10があり、該エンコーダーホイールの他方の側には、LED10が発生する光に感受性のあるフォトダイオードのペア12および14がある。エンコーダーホイール6の回転位置、結局はスロット8の位置によって、LED10からフォトダイオード12、14のいずれかまたは両方への光路が生じる。
図2に示される構成において、LED10からの光はスロット8aを通って一方のフォトダイオード12に至るが、ホイール6によってもう1つのフォトダイオード14への通過は妨げられる。しかし、ホイールが反時計回りに更に僅かだけ動くと、別のスロット8bが光を第二のフォトダイオード14まで通過させ、しかも第一のフォトダイオード12への光の通過は継続しているのがわかるであろう。反時計回りの動きが継続すると、第一のフォトダイオード12への光が妨げられ、光は第二のフォトダイオード14によってしか受け取られない。従って、フォトダイオード12、14からの信号はエンコーダーホイール6の動き、すなわちスクロールホイールの動きを示していることが理解できるであろう。実際、この例においては、第二のフォトダイオード14はスロットパターン8の円周方向の繰り返し期間の2.25倍の間隔が開けられている。余分な4分の1の期間の間隔は、2つのフォトダイオード12、14の出力の位相が常に互いに90度ずれていることを意味する。ホイール6を反時計回りに回転させると第一のフォトダイオード12は第二のフォトダイオード14に先行し、その反対の場合は先行順位が逆になる。
図1に戻ると、ホイール6は、機械的動きを電気信号に変換するための構成要素(LED10およびフォトダイオード12、14を含む)を有する動作エンコーダー16の一部として簡略化して図示されている。動作エンコーダー16は、フォトダイオード12、14からの信号に対応する2つの出力18、20をそれぞれ出力する。2つの出力18、20は、オンチップ部分2へ2つの直交信号A、Bを出力する。入力18、20は、直交デコーダモジュール24と通信している汎用インプット/アウトプットルータ22を通過する。インプット/アウトプットルータ22は、サンプリングが必要な場合にLED10を駆動するために使用される出力26も提供する。
直交デコーダモジュール24は、後述のように、A、B入力18、20から通常の遷移が検出されると値を記録するのに用いられるサンプリングレジスタ28と通信する。サンプリングレジスタ28には、アディティブコンバイナー32、アキュムレータレジスタ34およびアキュムレータ読み取りモジュール36を有するアキュムレータモジュール30が接続されている。アキュムレータ読み取りモジュール36は中央処理装置(CPU)に接続されているので、該CPUはアキュムレータ34の内容を読み取ることができる。該CPUは、また、アキュムレータ34の内容をクリアできるクリア(CLR)機能も有している。
デコーダモジュール24からの第二出力は、対応するアディティブコンバイナー44、アキュムレータレジスタ46および累算器読み取りモジュール48を有し、CPU38に接続されている第二「重複」アキュムレータモジュール42へ提供される。第二アキュムレータレジスタ46をクリアするのに使用することができる更に別のCLRライン50が提供されている。
図2に戻り、かつ図3Aおよび3Bを参照すると、ホイール6を回転するとき、パルス列52、54がそれぞれ発生されることがわかる。上のパルス列52は第一フォトダイオード12に対応し「位相A」出力18になり、下のパルス列54は第二フォトダイオード14に対応し「位相B」出力20になる。上述のように、スロット8の配置およびフォトダイオード12、14の位置は、パルス列52、54の位相が互いに90度異なるように設定されている。
図3Aは前記ホイールが反時計回りに回転する場合のパルス列52、54を示しており、図3Bは逆周りのパルス列、すなわち前記ホイールを時計回りに回転させるときに位相A出力18に対応する上のパルス列52が位相B出力20に対応する下のパルス列よりも遅れる状態を示している。従って、2つのパルス列52、54の相対的位相がホイールの回転方向を決定するために使用できる。前期パルス列の周波数がホイール6の回転速度を決定するために使用できることも理解されるであろう。
図3Aを見ると、通常の遷移の系列が2種類可能であることが理解されるであろう。すなわち、第一は、Aチャネル52がローからハイへ遷移し、4分の1波長の後、Bチャネル信号54がローからハイに遷移するものであり、第二はパルスの最後に生じるもので、Aチャネル信号52がハイからローに遷移し、4分の1波長の後、Bチャネル信号54がハイからローに遷移するものである。勿論、所定の時間ウインドウにおいて、両方がローまたはハイを維持している場合もある。
図3Bの場合、更に別の通常の遷移の2種類の系列が示されている。第一は、Bチャネル54がローからハイへ遷移し、4分の1波長の後、Aチャネル信号52がローからハイに遷移するものであり、第二はパルスの最後に生じるもので、Bチャネル信号54がハイからローに遷移し、4分の1波長の後、Aチャネル信号54がハイからローに遷移するものである。
しかし、図3Bは、設定するべきサンプリング周波数としては速過ぎて、パルスを明確にサンプリングすることができない周波数で発生されたパルスの影響を示している。Aチャネル18は1つのサンプリング期間のハイのサンプリング58から次のサンプリング期間のローのサンプリング60へ遷移し、下に示すBチャネル20の信号も、位相が90度ずれているにもかかわらず、第一サンプリング期間にはハイのサンプリング62を有し、これに続いて、第二サンプリング期間にはローのサンプリング64を有していることがわかるであろう。
従って、Aチャネル18、およびBチャネル20はハイからローへ同時に遷移している(不確定な遷移と定義される)状態を示しているのが理解されるであろう。しかし、本発明によれば、この入力信号を破棄するのではなく、別々に計算し、重複アキュムレータ46に記録しており、その結果、図1に示すように、CPU38によって別々に読み取ることが可能となる。本出願者は、標準アキュムレータ34と重複アキュムレータ46を互いに独立に読み取る機能は、種々の状況下において有利であると認識するものである。例えば、ホイールがサンプリング速度に対して速過ぎる速度で回転すると二重遷移が生じやすいが、以前の一連の正常な遷移によって、前記ホイールが特定の方向に移動していることが示されている場合には、前記情報は入力の連続性を示すことに使用できる。あるいは、極端に単純化しれば、画面の内容等をスクロールするための入力として前記入力を解釈するよう要求するのではなく、単純にシステムをウェイクアップさせるために使用することもできる。
前記システムの動作を図4の表を参照して以下で詳細に説明する。図4は、符号化されたサンプリング値の種々の候補およびその復号方法を示している。最初の2つの列は初期サンプリング時間におけるAおよびBチャネルのサンプリング結果を示しており、第三および第四列はその後のサンプリング時間におけるAおよびBチャネルのサンプリング結果を示している。
第五列はサンプリングレジスタ28に記録される値を示しており、この値は、AおよびBチャネルのサンプリングにおいて初期サンプリングとその後のサンプリングとの間に正常な遷移が行われたか否かに基づいて決定される。このことは最後の列で説明されている。例えば、第二行に見られるように、チャネルAが最初のサンプリングと第二サンプリングにおいて同じゼロに留まり、チャネルBがゼロから1に変化した場合、値1がサンプリングレジスタに記録され、それは正の方向(前の図面に示される例では時計回り)への動作を示している。同様に、第三行に示されるように、チャネルAがゼロから1に変化し、チャネルBに変化がなければ、−1の値がサンプリングレジスタ28に記録されるが、これは負の方向(反時計回り)の動作を示している。第一行に示されるように、チャネルAにもBにも変化がなければ、ゼロの値が記録される。
最後の可能性は二重遷移であり、第四行の行に示されるように、最初のサンプリングとその次のサンプリングの間にチャネルAおよびBの両方の値が変化している。この場合、遷移の不確定な性質を示すため、値2がサンプリングレジスタ28に記録される。
第六列は第一アキュムレータ34(図1を参照)の動作を示している。これは単純に、アディティブコンバイナーモジュール32を用いてサンプリングレジスタ28の現在値をアキュムレータ34の既存値に加算した結果である。従って、サンプリングレジスタ28が値1を記録していればアキュムレータ34は増加し、サンプリングレジスタ28が−1の値を記録していれば減少し、サンプリングレジスタ28がゼロまたは2の値を記録していれば変化はない。従って、アキュムレータ34は、通常の遷移から受け取る入力の累積演算結果を示すものである。これによって、CPU38は、記録された情報を失うことなく、CPU38の都合の良いときに、モジュール36を用いてアキュムレータ34の値を読み取ることができる。
重複アキュムレータ46の動作は第七列に示される。例えば第四行に示されるように、二重遷移が検出された場合には単純に増加し、正常な遷移または遷移なしの場合には変化しない。この場合も、アキュムレータ46が最後に読み取られてからまたはクリアされてから二重遷移が何回記録されたかを決定する必要がある場合には、CPU38の都合の良いときに、アキュムレータ46を読み取ることができる。
前記システムは、無線または有線接続を通して、マウスの動きあるいはCPU38によって決定されるシステムウェイクアップ信号の入力をホストコンピュータに連絡するための追加のモジュール(図示しない)を含むことができることは当然である。
このように、少なくとも本発明の実施形態により、動作エンコーダー用のデコーダは、二重遷移を独立して記録することが可能となり、その結果、本システムをどのように実現するか、並びに前記動作エンコーダーからの信号を実際の状況下でどのように使用することができるかという点で、より大きなフレキシビリティを得ることが可能になることを当業者は理解するであろう。しかし、本発明の原理はいくつかの異なる方法で実施可能であり、本明細書に記載された特定の実施形態によって限定されることがないことは理解されるであろう。例えば、本発明の原理は電気機械式スイッチまたは接点等の他の動作エンコーダーと一緒に用いてもよいし、コンピュータマウスあるいはコンピュータインターフェース装置内に動作エンコーダーを設ける必要もない。

Claims (15)

  1. 集積回路であって、
    少なくとも2つの入力と、
    デコーダとを有し、
    該デコーダは、
    第一サイクルで前記入力をサンプリングし、
    後の第二サイクルで前記入力をサンプリングし、
    前記サンプリングした入力のうち1つだけが前記第一サイクルから前記第二サイクルの間に変化した場合に第一メモリ位置を変更し、
    前記サンプリングした入力の両方が前記第一サイクルから前記第二サイクルの間に変化した場合に第二メモリ位置を変更すること、
    を特徴とする集積回路。
  2. 前記デコーダが、前記第一メモリ位置および/または前記第二メモリ位置が変更された場合に割込み信号をCPUに対して発生すること、
    を特徴とする、請求項1に記載の集積回路。
  3. 前記デコーダが、前記第一メモリ位置が書き込まれた場合に第一割込み信号を発生し、かつ、前記第二メモリ位置が書き込まれた場合に第二割込み信号を発生すること、
    を特徴とする、請求項1または2に記載の集積回路。
  4. 前記デコーダが、前記第一メモリ位置が所定の時間の間に変化した場合、第一割込み信号を発生すること、
    を特徴とする、請求項1または2に記載の集積回路。
  5. 前記デコーダが、前記第二メモリ位置が所定の時間の間に変化した場合、第二割込み信号を発生すること、
    を特徴とする、請求項1、2または4に記載の集積回路。
  6. 前記デコーダは、前記第一メモリ位置および/または前記第二メモリ位置が書き込まれた場合に割込みを発生するかどうかをソフトウェアアプリケーションに決定させること、
    を特徴とする、請求項1〜5のいずれか一項に記載の集積回路。
  7. 前記デコーダは、前記第一メモリ位置および/または前記第二メモリ位置が書き込まれたかどうかを検査するためのサンプリング速度をソフトウェアアプリケーションに決定させること、
    を特徴とする、請求項6に記載の集積回路。
  8. 前記第一メモリ位置および/または前記第二メモリ位置をいつクリアするかを決定する中央処理装置を備えること、
    を特徴とする、請求項1〜7のいずれか一項に記載の集積回路。
  9. 前記デコーダは、各メモリ位置に既に書き込まれている値を考慮した演算を行うことによって前記第一および/または第二メモリ位置の値を変更すること、
    を特徴とする、請求項1〜8のいずれか一項に記載の集積回路。
  10. 前記第一メモリ位置は第一レジスタを含むこと、
    を特徴とする、請求項1〜9のいずれか一項に記載の集積回路。
  11. 前記第一レジスタに書き込まれた複数の値を記録する第一の更に別のメモリ部分を備えること、
    を特徴とする、請求項10に記載の集積回路。
  12. 前記第一の更に別のメモリ部分は、累積値または結果値を記憶するアキュムレータを備えること、
    を特徴とする、請求項11に記載の集積回路。
  13. 前記第二メモリ位置は、転送された複数の値を記録する第二メモリ部分を備えること、
    を特徴とする、請求項1〜12のいずれか一項に記載の集積回路。
  14. 前記第二メモリ部分は、累積値または結果値を記憶するアキュムレータを備えること、
    を特徴とする、請求項13に記載の集積回路。
  15. 動作エンコーダーに選択的に電力を供給するための出力を備えること、
    を特徴とする、請求項1〜14のいずれか一項に記載の集積回路。
JP2017565125A 2015-06-16 2016-06-16 ハードウェア周辺装置デコーダ Pending JP2018527645A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1510557.0 2015-06-16
GB1510557.0A GB2539448A (en) 2015-06-16 2015-06-16 Hardware peripheral decoders
PCT/GB2016/051799 WO2016203244A1 (en) 2015-06-16 2016-06-16 Hardware peripheral decoders

Publications (1)

Publication Number Publication Date
JP2018527645A true JP2018527645A (ja) 2018-09-20

Family

ID=53784819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017565125A Pending JP2018527645A (ja) 2015-06-16 2016-06-16 ハードウェア周辺装置デコーダ

Country Status (8)

Country Link
US (1) US20180173328A1 (ja)
EP (1) EP3311255A1 (ja)
JP (1) JP2018527645A (ja)
KR (1) KR20180018733A (ja)
CN (1) CN107750353A (ja)
GB (1) GB2539448A (ja)
TW (1) TW201710839A (ja)
WO (1) WO2016203244A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783338A (zh) * 2019-11-08 2021-05-11 致伸科技股份有限公司 鼠标装置及利用鼠标装置进行控制的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6380927B1 (en) * 1999-11-17 2002-04-30 Microsoft Corporation Determining the position of a detented optical encoder
US6538640B1 (en) * 2000-04-19 2003-03-25 Microsoft Corporation Skipped-state method for mouse encoding
US20040021635A1 (en) * 2002-07-31 2004-02-05 Wenkwei Lou Error rejection for optical scroll wheel
US7649332B2 (en) * 2007-09-20 2010-01-19 Rockwell Automation Technologies, Inc. Motor controller having counter to count position error events and method of motor control using same
US8619911B2 (en) * 2009-12-15 2013-12-31 Stmicroelectronics International N.V. Quadrature signal decoding using a driver
CN102043915B (zh) * 2010-11-03 2013-01-23 厦门市美亚柏科信息股份有限公司 一种非可执行文件中包含恶意代码的检测方法及其装置

Also Published As

Publication number Publication date
EP3311255A1 (en) 2018-04-25
US20180173328A1 (en) 2018-06-21
KR20180018733A (ko) 2018-02-21
GB2539448A (en) 2016-12-21
TW201710839A (zh) 2017-03-16
CN107750353A (zh) 2018-03-02
GB201510557D0 (en) 2015-07-29
WO2016203244A1 (en) 2016-12-22

Similar Documents

Publication Publication Date Title
JP3943535B2 (ja) 分解能の入力検出
JP4875889B2 (ja) エンコーダのカウントミス検出回路およびエンコーダのカウントミス検出方法
US20070047687A1 (en) Phase detector and related phase detecting method thereof
CN103986454B (zh) 一种数字数据信号的采样方法及装置
US20170317761A1 (en) Decoding device and method for absolute positioning code
EP1760434B1 (en) Encoder signal processing circuit
JP2018527645A (ja) ハードウェア周辺装置デコーダ
JP2007151356A (ja) モータ制御回路及びモータ制御方法
CN203250170U (zh) 一种旋钮编码器的变频器操作面板
JP2003315099A (ja) 多回転エンコーダ
US11079256B2 (en) Device for determining the movement of a rotary element, particularly for readings of water and/or gas meters
US6486802B2 (en) Low power consumption encoder, control method therefor and coordinate input device using the same
JP2011149715A (ja) エンコーダ装置
US6538640B1 (en) Skipped-state method for mouse encoding
US8190956B2 (en) Quadrature decoder filtering circuitry for motor control
JP2017227457A (ja) 検出装置及び検出方法
CN110162196B (zh) 鼠标及其操控方法
JP3862690B2 (ja) 位相検出装置、ダイアル式検出装置及び位相検出方法
JP2550243B2 (ja) ディスクチェンジ信号発生回路
JP2006208270A (ja) エンコーダの信号処理回路
JPS60218029A (ja) エンコ−ダ
RU2290685C2 (ru) Цифровой процессор
JP2997079B2 (ja) 座標入力装置
JP2005017000A (ja) エンコーダ
JPH056647B2 (ja)