<第1アスペクト>
本願発明の目的は、簡単な作法で製造され、そして好ましくは誤ったキースイッチ検知の問題を対処し、及び/又は同時に押圧されたキースイッチの複数のキースイッチ検知の入力設定器を供することである。
さらに、これに対応する方法が供される。
これらの問題は請求項に記載の入力設定器によって、また、方法により解決される。実施形態は従属クレームで述べられる。
本願は、上述された形態を有する入力設定器に関する。直列接続は、例えば、プレスダウン動作によって、ユーザによってアクティブ化され得るスイッチング素子を備える。例えば抵抗などのスイッチング素子の端部間の電気特性は、スイッチング素子がアクティブ化されれば変わる。直列接続もまた、例えば1の抵抗又は2つの抵抗など、少なくとも1の電気成分(要素または装置)を備える。通常、直列接続において、スイッチング素子に追加される電子部品は2以上ではない。
第1導線及び第3導線は、例えばマトリックスの横列を形成する。第2導線及び更なる導線は、例えばマトリックスの縦列を形成する。しかし、また、1の縦列のみ、すなわち、第2導線のみ又は1の読出し線のみでマトリックスを使うことができる。
接続は、導電性の接続であり、例えば、柔軟な又は硬い原料から成る印刷回路基板(PCB)上にある。
AD変換器は、すなわち、追加の電気要素なしに、直接、第2導線に接続されるかもしれない。その代わりに、マルチプレクサが、それぞれ異なる時点で、幾つかの導線を1のAD変換器の入力にのみマッピングするために使用されるかもしれない。また、第2導線上に第1AD変換器を、さらなる導線上に第2AD変換器を使用することが可能である。
入力装置は、例えば、
−キーボード、特に少なくとも50のキースイッチ、通常、150以下のキースイッチ又は2000以下のキースイッチを有する英数字キーボードである。キーボードは、コンピュータと分離した装置又はコンピュータの一部であり、又は
−10〜20のキースイッチを有するキーパッド、特に、入口制御のために使用されるキーパッドである。
例えば、キーボードは下記の少なくとも1,2,3,4,5又は全てを備え、
−少なくともa, b, cなどの文字を入力するための25キー、
−より好ましくは、例えば"!", """, "§", "$"などの更なる入力キャラクタと結合され、少なくとも0, 1, 2などの数字、を入力するための10キー、
−F1,F2などの少なくとも10のファンクションキー、
−少なくとも、0,1,2などの数字を入力するためのキーパッドの10キー、特に、これらの数の更なるグループであり、
−更なる入力キャラクタがこの更なるグループのキーのために使用されることはなく、
−すなわち、左CTRL、左SHIFT、左ALT、左GUI (Graphic User interface)、すなわち、Microsoft left Win key, Macintosh Left Apple key, Sun left Meta keyなど、右CTRL、右SHIFT、右ALT、右GUIなど、HID(ヒューマン・インターフェース・デバイス)仕様で定義される修飾子キー、
−Caps Lock、Tab、スペースバー、Page Down、Page Up、右矢印、左矢印、上矢印、下矢印などの補助キーである。
AD変換器は、漸次接近法又は並列型符号化に基づく変換器となる。また、少なくとも2の参照値及び第2導線上の信号を比較する少なくとも2つの変換器、又は変換器を実現するために少なくとも2つの参照値及び更なる導線上の信号を比較する2つの変換器を使用することが可能である。
第1導線及び第3導線は、駆動線と名付けられる。第2導線及び更なる導線は、読出し線と名付けられる。
駆動線は、予め決められた動作機構に応じて、駆動線をストロボし又はスキャンする駆動に接続される。1を除く全ての駆動線は、好ましくは第1電位に設定され、残りの駆動線は好ましくは、第1電位に関連した異なる第2電位に設定される。ストロボ又はスキャンは、全ての駆動線に順になされる。第1電位は、好ましくは第2電位より高い。第2電位は、好ましくはグランド電位である。
読出し線は、AD変換器に直接接続される。代わりに、マルチプレクサが、各読出し線及びAD変換器入力の間に接続されるかもしれない。
第3導線は、第2入力エレメント及び第2電子部品の第2直列接続に、又はアクティブならば高いオーミック状態を有する第2入力装置に接続される。好ましくは、少なくとも6又は少なくとも8の導線(駆動線)を有する。
第1導線は、さらに入力エレメント及び更なる電子部品の更なる直列接続に接続され、又はアクティブならば高いオーミック状態を有する更なる入力装置に接続される。
更なる導線は、更なる直列接続又は更なる入力装置及びより好ましくはまた他の直列接続又は入力装置に接続される。このようにして、例えば少なくとも6又は少なくとも8となる多くの縦列の数又は読出し線の数がある。
AD変換器は選択的に第1導線又は更なる導線からの入力を受ける。代わりに、第2AD変換器は第1AD変換器の代わりに更なる導線に組み合わされる。
入力エレメント若しくは入力装置、又は入力エレメント若しくは入力装置の全ては、2つのみの端部を備える。特に、押圧ボタンや対応する半導体装置などの単極単投スイッチが使用される。単極単投スイッチは、単極双投スイッチ又はプッシュボタンと比べてより簡単な構成を有する。入力エレメントは、すなわち、アクティブ化されておらず又は押圧されていないなら通常は開状態である。
AD変換器は、少なくとも2ビット、少なくとも3ビット、少なくとも4ビット、少なくとも8ビットの出力語長の変換器である。これは、変換器の分解能が4値、8値、16値、又は256値又はそれ以上であることを意味する。長い語長を有するAD変換器はまた、12ビット語長、すなわち4096値の分解能を有するものとして使用される。通常、20ビット語長未満が使用される。
第1電子部品及び第2電子部品は、それぞれ、少なくとも1の抵抗又は抵抗素子を備える。抵抗又は抵抗素子は、4.5KΩ又は5KΩ又は10KΩ以上の抵抗値を有する。抵抗は、典型的には100KΩ以下の値を有する。抵抗素子は、タッチスクリーンに統合されるトランジスタとなるかもしれない。さらに、抵抗又は抵抗素子がスイッチングのために使用されるトランジスタのような入力装置の一部であるなど、仮に別々の電子部品が使用されないなら同じことがいえる。
抵抗の夫々は、例えば抵抗の算術平均値又はノーマル値から±5%などの耐性内での同じノーマル値又は同じオーミック値を有する。これは、キーボードの簡易な生産を許容する。
代わりに、同じ値が直列接続又は入力装置のグループ内で使用される。しかし、異なる値が、例えば同じ読出し線など、同じマトリックスの導線の異なるグループに使用される。抵抗率の量は、同じ読出し線の別のグループの値と比較して、1グループで少なくとも50%大きくなる。
各入力エレメントはスイッチング素子を備える。スイッチング素子は、より好ましくはスイッチがアクティブ又は押圧されて物理接触がされて接触となる機械スイッチを備える。代わりに、機械パーツの動作を含まない感知又は感圧デバイスが使用される。例はタッチスクリーンや感知トランジスタである。
代わりに、例えば、機械パーツの動作を含まない感知スイッチ、特に、操作者やユーザによりアクティブ化され抵抗値を変えるトランジスタのような、他種類のスイッチも使用可能である。
さらに、スイッチのハイブリッドが使用される。例えば、2つの交差指型接触に反してユーザの指によって押圧される電気導体ドームを備えるドームスイッチが使用される。
入力装置は、特にAD変換器に接続され又はAD変換器を備えるマイクロコントローラたるプロセッサを備える。マイクロコントローラはまたメモリ及び周辺装置を備える。
入力装置は、例えばPS/2(personal system 2)のように、入力装置及びコンピュータ間のデータ転送のための国際標準に応じた機能となるインターフェース装置から成り、すなわち、キースイッチ信号を作り又は壊し、又はUSB(Universal Serial Bus)すなわち、キースイッチがアクティブである以上、複数の信号を送るものである。
入力設定器は、例えばアクティブ化の最初で信号値及びスイッチのアクティブ化の最終での信号値の信号変化の最後の3分の1以内の閾値電圧に依存しているスイッチなどの入力エレメント又は入力装置のアクティブを検出する制御装置を備える。これは、信号のデバウンシングが既に低下し、信号が検知か容易なほど比較的低レベルにあるという下降信号レベルを意味する。
代わりに、入力設定器は、例えばアクティブ化の最初で信号値及びスイッチのアクティブ化の最終での信号値の信号変化の最初の半分又は最初の4分の1以内の閾値電圧に依存しているスイッチなどの入力エレメント又は入力装置のアクティブを検出する制御装置を備える。
これは、信号のデバウンシングが未だ比較的高いことを意味する。しかし、AD変換器の使用が、正確な検知を可能にし、というのも、幾度かのデバウンシングの間、信号のサンプル化が可能だからである。閾値は、例えば、キーボードのスイッチの感度を設定するなど、入力装置のユーザにより設定又は選択される。
例えば、最適統計分析との組み合わせで、平滑コンデンサを使うことによって、速く変化するデバウンシング関数とは対照的にスムーズな値を得ることができる。代わりに、キースイッチのアクティブ化の最初で、高電位より低いデバウンシング信号又は値の最小値を検出できる。低信号値より高いと考えられる最大値又は値は、もし信号が最初低いなら検知される。
制御装置はプロセッサ、マイクロプロセッサ又はマイクロコントローラ及び対応するプログラムにより実現される。代わりに、プロセッサのない電気回路が制御装置として使用される。
入力設定器は、少なくとも2つの閾値に依存するアクティブ化の間、入力エレメント又は入力装置の少なくとも3状態、又は少なくとも4状態を検知する。3状態の例としては、未押圧、半押圧、及び完全押圧である。この新たな出願は、この複数状態検知機構に基づく。関数は、アクティブ化の最初に準備され、例えば仮にスイッチが完全に押圧された場合にのみ実行される。
入力装置は、アクティブ入力エレメントの数、若しくは第2導線に接続された入力装置、及び/又はアクティブ入力エレメントの数、若しくは更なる導線に接続された入力装置を検出する第2制御装置を備える。
第2制御装置は、別のプログラムに基づくプロセッサにより実現される。代わりに、別のハードウェア、すなわち、プロセッサのない回路などが使用される。
第2制御装置は、少なくともAD変換器の出力値の2のレンジを設定する閾値ユニットを備える。第2制御装置は、一度に1の導線上でアクティブ化されたスイッチの数を決めるために、レンジ内のAD変換器の出力を比較する比較器を備える。レンジは、各レンジのための唯一の値、及びこれらのレンジの長さのための共通値、又は各レンジのための2値、すなわち低境界値及び高境界値によって予め定められる。検知精度は、仮に使用されないこれら決められたレンジ間のレンジがあるならば増加する。
少なくとも第1電子部品はカーボン抵抗を備え又はカーボン抵抗であり、又は少なくとも第1入力装置はカーボン抵抗を備える。カーボン抵抗は、好ましくはカーボン印刷により製造される。カーボン抵抗には少なくとも炭素を90原子パーセント有する。好ましくは、全ての入力設定器の抵抗電気素子は、特に全ての入力マトリックス内の抵抗電気部品は、カーボン抵抗である。
入力設定器は、最大で20cm未満にまで拡張し、及び/又は500g未満又は250g未満の重さの装置の一部である。抵抗又は抵抗素子は、少なくとも20KΩ又は少なくとも30KΩの抵抗率を有する。
重量は完全重量、すなわち装置及び蓄電池又はバッテリーを備えるものに関連する。そのような小さな装置は持ち運び可能で、すなわち携帯用として使用される。そのような装置では、低エネルギー消費が重要である。これは、キーボードやキーパッドにおいても同様である。
ここでの抵抗率の値は、押圧される各キーにおいて約0.15mAのみの電流が許容される。この値は、例えば0.3mAの値を有する現行知られているキーボードよりかなり低い。電流の低い値は、より効率的なエネルギー消費に至る。
読取り線でのプルアップレジスタはまた、キーボードやキーパッドにより必要とされる電流に影響する。
代わりに、入力設定器は、最大で20cmにまで拡張し、及び/又は500g以上又は1kg以上の重さの装置の一部である。抵抗又は抵抗素子は少なくとも20KΩ又は少なくとも30KΩの抵抗率を有する。
エネルギー効率は、また例えばパソコン、サーバなどの大きな装置にとって問題となる。これらの装置は通常、100Vから300Vの範囲内の電圧を有する加速された現行のネットワーク、すなわち、ユーティリティプラントによって駆動されるネットワークで操作される。
入力設定器が、最大で20cmにまで拡張し、及び/又は500g以上又は1kg以上の重さの装置の一部である。抵抗又は抵抗素子は20KΩ未満、15KΩ未満、又は10KΩ未満の抵抗率を有する。
抵抗率の値の減少の影響は、検知がより早くなされるということである。これは、コンピュータゲームをするために使用されるキーボードにおいては重要である。10KΩの抵抗率は、約1msの検知時間になる。
本願はまた、上述の特徴をなす入力方法に関する。この方法は、さらにデジタル値であるキーコードを生成することを含む。
電位の検知は、電流の検知に反して好ましいかもしれない、というのも検知が簡単でより信頼できるからである。
この方法は、スイッチや入力装置の1のアクティブ化の中間状態を決定することを含む。
例えば統計分析との組み合わせで、平滑コンデンサを使うことによって、速く変化するデバウンシング関数とは対照的にスムーズな値を得ることができる。代わりに、キースイッチのアクティブ化の最初で、高電位より低いデバウンシング信号又は値の最小値を検出できる。低信号値より高いと考えられる最大値又はその値は、もし信号が最初低いなら検知される。
閾値は、キースイッチの押圧状態と開状態との間の信号レベル変化の最初の半分以内にある。閾値は、例えば、キーボードのスイッチの感度を設定するなど、入力装置のユーザにより設定又は選択される。
この方法は、スイッチ又は入力装置の1のアクティブ化の間、少なくとも3つの状態又は4つの状態を決定することを含む。少なくとも、2の閾値は、開状態及び閉状態の間の第3の状態を検知するために使用される。他の形態では、3又は3以上の閾値が使用され、例えば4,5,6,又は6以上となる。新たな出願がこの方法を使用することで可能であり、例えば、スイッチが充分に押圧されれば、アクティブ化の最初で、及び関数を実行するのみで、関数の実行を準備する。
この方法は、デジタル値に依存する導線(読取り線)に接続されたアクティブ化されたスイッチ又は入力装置の数を決定することを含み、この数は1以上であることが好ましい。このように、ゴーストキーを防ぐのみでなく、同時にアクティブ化された誤りの複数キースイッチなしに検知できる。
第1抵抗又は第2抵抗は、カーボン印刷を用いて、すなわちとても効果的な生産過程で生産される。
第1抵抗又は第1入力装置の高オーミック状態、及び第2抵抗又は第2入力装置の高オーミック状態は、少なくとも20KΩ又は少なくとも30KΩの抵抗率を有する。
エネルギー効率はポータブル装置においては重要で、しかも例えばパソコンのようなより大きな装置においてはそうである。高抵抗率は、低電流消費に至り、従って、全体でのエネルギー消費を低くする。
代わりに、第1抵抗又は第1入力装置の高オーミック状態、及び第2抵抗又は第2入力装置の高オーミック状態は、少なくとも20KΩ未満、少なくとも15KΩ未満、又は10KΩ未満の抵抗率を有する。
仮に高い検知電流が使用されると、とても高い検知レートを得ることが可能である。検知レートは、シュミレーションプログラム及びコンピュータゲームとして使用される高スピードアプリケーションで使用されるキーボード及びキーパットにおいて重要である。
方法は、上述した装置の1つにおいて使用して実行される。上述したものと同じ技術効果がまた、対応する装置を使用する方法において有効である。
<明細書−第2アスペクト>
回路設定器及び光学エレメントの制御方法
<技術分野>
本願発明は制御回路及び少なくとも光学エレメントの制御、又は光学エレメントのための少なくとも1の駆動、又は複数の光学エレメントのための制御方法に関する。
本願発明は、特に高いエネルギー効率及び低いエネルギー消費で操作され得る回路設定器に関する。
<背景技術−第2アスペクト>
多くの制御原理が光学エレメント、特に例えばLEDなどの半導体光学エレメントを通って流れる電流を制御するために知られており、
−電流制限抵抗
−電圧レギュレータのような線形駆動部
−駆動部の出力電圧の2の閾値電圧に依存したスイッチングトランジスタのオンオフをスイッチに使用する発振ドライバである。
<発明の概要−第2アスペクト>
本願は光学エレメントの制御のための回路設定器に関し、
−パルス幅変調信号によって制御される変換器
―少なくとも1の光学エレメント、又は変換器の出力に接続された少なくとも1の光学エレメントのための駆動回路
−光学エレメント又は駆動部を備える第1回路分岐に接続され又は接続可能な第1検知部
−第1検知部、及び変換器の制御用の入力に接続され、少なくとも1の光学エレメント又は変換器の出力電圧を制御することによりドライバを通して流れる電流を制御するデジタル制御部と、を備える。
さらに、本願発明は光学エレメントの制御方法に関し、
−少なくとも1の光学エレメントを流れる電流、又はパルス幅変調方式(PWM)、追加的にパルス周波数変調方式(PFM)により制御される変換器の出力電圧をデジタル制御することによって少なくとも1の光学エレメントのための駆動回路を流れる電流を制御することを含む。
<発明を実施するための形態−第2アスペクト>
本願発明の目的は、特に高効率、低エネルギー消費での操作及び/又は光学エレメントの高輝度値を可能とする光学エレメントの制御、特に輝度と光学エレメントに関しての制御のための回路設定器を提供することである。さらに、これに対応する方法が供される。
これらの問題は請求項に記載の装置によって、また、方法により解決される。実施形態は従属クレームで述べられる。
回路設定器は、上述された特徴を備える。この回路設定器は変換器、例えば光学エレメント又はドライバの電流を制御するため、変圧器の電圧制御を使用する。これは、光学エレメント又はドライバの強い非直線電圧電流特性の場合に使用される電流制御と反する。それにも関わらず、回路設定器は電圧制御を使用する、というもの、デジタル制御は、光学エレメント又はドライバの特性、特に電圧電流特性曲線又は電流電圧特性曲線の個別の検知に基づくためである。代わりに又は追加的に、他の特性曲線、例えばデューティ比対変圧器の電圧特性曲線のようなものが考慮される。
さらに、回路は電流制御の代わりに電圧制御を使用可能である、というのは変圧器の非直線特性及びLEDの非直線特性は共にまた制御のため考慮される。
検知部は、AD変換器(ADC)である。ADCのビット長は、4ビットから12ビット又はそれ以上の範囲である。マルチプレクサが、第1回路分岐と検知部の間で使用される。
光学エレメントは例えばLED、レーザダイオード、IR(Infra Red)ダイオード又はUV(Ultra Violet)ダイオードなどの半導体素子から成り、又は半導体素子を備える。
光学エレメント又は一列の光学エレメント又は光学エレメントの一列の束の非直線特性は、指数関数となり、又は指数関数に似ている。これは、操作のポイントの調整は、直線特性又は直接電流制御を有する素子に比較して難しく、というもの電圧の小さな変化が特にレンジ端で比較的大きな電流の変化となるためである。例えば、完全個別特性をサンプル化によることによるなど、適切な操作ポイントを見つけることが適切な制御戦略に使用可能である。同じことが光学エレメントのためのドライバに関しても言える。
変換器は、DC/DC(Direct Current/ Direct Current)変換器などの変圧器である。変換器は、降圧コンバータ(バックコンバータ)、インバータ又は昇圧コンバータ(ブーストコンバータ)である。これらのコンバータは、1の誘導性素子と1のスイッチと1のダイオード、又は代わりに1の誘導性素子及び2つのスイッチを備える。スイッチは、好ましくは電気スイッチ、すなわちFET(Field Effect Transistor)やMOSFET(Metal Oxide Semiconductor FET)などのトランジスタである。変換器の他の種類、例えばフライバック型コンバータなどがまた使用されるかもしれない。
変圧器の非直線特性曲線がまたある。変換器は、低負荷又は低出力パワー(PWMモード)の操作モードで低効率となる。負荷又は出力パワーが大きいと、高効率となる。変換器は通常この通常モードに合わせて設定される。しかし、変圧器及び光学エレメント/ドライバの非直線特性は、例えば回路設定器の生産の終了時に、回路設定器がスイッチオンされるたび、又は温度変化が検出されるならば、又は他の戦略に応じて、変圧器及び光学エレメント/ドライバの全ての特性が少なくとも一度検知されるなら考慮される。
例えば、AD変換器などの第1検知部は、第1回路分岐に直接接続され、又はマルチプレクサが、第1回路分岐及び第1検知部又は第1AD変換器の間で使用される。
制御は、閉回路を使用して成される。代わりに、開回路制御が使用される。
第1回路分岐は、変換器に加えて第1回路分岐内で、電流調整のための更なる電子装置がない。特に、第1回路分岐は、電流制御のためのトランジスタを備えない。これは、電圧制御のみが光学エレメント又は自動的に光学エレメントのドライバを制御するために使用されることを意味する。抵抗が第1回路分岐内で使用されても、抵抗率の値は電流制限抵抗の値未満となる。
第1回路分岐は抵抗素子又は抵抗から成り、第1検知部は少なくとも1の光学エレメント又はドライバ回路、及び抵抗素子又は抵抗の間の接続に接続され、又は接続可能である。抵抗は、例えば1%又は1%未満の低耐性である。抵抗又は抵抗素子は、第1検知部を使用することにより、分岐内で、電流の検知を許容する。
抵抗の値は好ましくは、光学エレメント又は複数の光学エレメントのために必要な電流制限抵抗(保護抵抗)の値より小さい。抵抗のオーミック値は、例えば1Ω〜50Ωの範囲である。
検出された電流値は、電流パワー、すなわち、さしあたって光学エレメントで消費されるパワーを計算するために使用される。
第1検知部は、少なくとも1の更なる光学エレメント又は少なくとも更なる1の光学エレメントのための更なるドライバを備える少なくとも1の更なる回路分岐に接続され、又は接続可能である。これは、電流の合計値又は平均値が特に算術平均値で検知されることを意味する。
電流のみを検知し、及び電流を設定又は電流を変更する変換器の電圧を使用するための多くのアプリケーションにとって十分となる。
代わりに、第1検知部は変圧器の出力電圧を検知する。
第2検知部が第1回路分岐に、特に変換器の出力に接続され、又は接続可能となる。第2検知部は、特に第1検知部が電流の検知に使用されている場合に、変圧器の出力電圧を検知する第2AD変換器である。第2ADCのビット長は、4ビットから12ビット又はそれ以上の範囲である。代わりに、第2検知部は、マルチプレクサ及び例えば第1AD変換器のようなAD変換器の一部を備える。
第2検知部は、直列接続、すなわち分圧器に接続される2つの抵抗のタップに接続される。この直列接続は、回路分岐に、及び/又は変圧器の出力に接続される。ユニティゲイン増幅器又は電圧フォロワが、分圧器及び第2検知部の間に接続される。
第2検知部は、第1検知部と共に又は無しに使用される。
変圧器の出力電圧の検知、回路分岐内の電流の検知は、1の回路分岐内、又は唯一の光学エレメント又は複数の光学エレメント又はドライバを含む複数の回路分岐内で、電気出力パワーを決定することを許容する。出力電圧及び電流は、光学エレメントの電圧対電流特性のペアを得るために使用される。出力電圧単独では、変圧器、光学エレメント又は光学エレメントのドライバの全体での非直線デューティ比対電圧特性を検知するために使用される。
第3検知部が変圧器又は回路設定器の入力に接続され、又は接続可能となる。第3検知部は、第3AD変換器である。第3ADCのビット長は、4ビットから12ビット又はそれ以上の範囲である。代わりに、第3検知部は、マルチプレクサ及び例えば第1AD変換器又は第2AD変換器のようなAD変換器を備える。第3検知部は、変圧器又は回路設定器の入力の電圧又は電流を決定する。
電圧検知において、分圧器及び/又はユニティゲイン増幅器が使用される。回路設定器の入力電圧値は、電圧のブレークダウン状態を検知し、それに応じた行動をとるために使用される。これは特に、回路設定器がUSBインターフェースを介して操作されるなら重要である。
第3検知器は、第1検知器と共に又は無しに、第2検知器と共に又は無しに使用される。
第4検知器は、変圧器又は回路設定器の入力に接続され、又は接続可能となる。第4検知部は、AD変換器である。このADCのビット長は、4ビットから12ビット又はそれ以上の範囲である。代わりに、第4検知部は、マルチプレクサ及び例えば第1AD変換器、第2AD変換器又は第3AD変換器のようなAD変換器を備える。
第4検知器は、回路設定器、すなわち変圧器及びマイクロコントローラなどの入力電流を検知する。電圧レギュレータ又は回路設定器の入力線内の抵抗又は抵抗素子は、電流検知のために使用される。抵抗素子は、例えば、USB標準を満たすために使用される誘導性素子の一部である。抵抗容量ネットワークは、誘導性素子における入力電流を検知するために使用される。これは、DCR(Direct Current Resistance)読取りとして知られる。入力電流の読取りの他の方法がまた知られている。
入力電圧の検知及び変圧器の入力電流は、入力パワーを決定することを許容する。
入力電流値は、例えば国際標準、特にコンピュータにキーボードを接続するために使用されるUSB(Universal Serial Bus)やPS/2(personal system 2)などの標準の最大電流値と比較される。
第4検知器は、第3検知器と共に又は無しに、及び/又は第1検知器と共に又は無しに、及び/又は第2検知器と共に又は無しに使用される。
このため、ADCに接続されたいかなるマルチプレクサを使用することなしに可能である。1つ又は2つのみのAD変換器及びマルチプレクサ回路を使用することをも可能である。1のみのマルチプレクサ及び1以上のマルチプレクサを使用することができる。
回路設定器は、プロセッサを備え、このプロセッサは、第1検知部の出力、及び変圧器、特に変圧器の制御端子に接続される。プロセッサは、また使用される他の検知部に接続される。プロセッサは、マイクロプロセッサ又はマイクロコントローラである。マイクロコントローラはプロセッサ、メモリ及び入力/出力装置を備える。
回路設定器は、コンピュータとキーボード又は別の周辺装置との間のインターフェースを形成するインターフェース回路を備え、この周辺装置は特に、USB(Universal Serial Bus)標準、すなわち1.0、2.0、3.0又はこれ以上の一つ、又はPS/2(personal system 2)に応じている。これらのインターフェースにおいては特別の問題がある。
−インターフェースでの電圧、パワー、及び/又は電流は、特に最大電圧未満、又は最大電流未満の、ノーマルな範囲内とならなければならず、及び/又は、
−標準内で定義された限界値を超える電流状態及び/又は電圧状態を避けることが重要となる。
回路設定器は、少なくとも1の光学エレメントによってイルミネートされる複数の入力エレメントを備える。ガラス又はプラスチックから作られる導波路は、光を入力エレメントに誘導するために使用される。入力エレメントは、機械スイッチ、可動スイッチ又はスイッチの接触素子である。これらの種のイルミネーションのための特別な要求は、例えば、
−最大輝度、及び/又は
−インターフェース標準によって設定される限界は、従わせなければならない、及び/又は低パワー消費は必須である。
これらの要求は、少なくとも1の検知器又はADC(AD変換器)、2の検知器/ADC、3の検知器/ADC、4の検知器/ADCの検知値に基づく制御戦略を使用することにより果たされる。代わりに、マルチプレクサ、及びマルチプレクサにより回路設定器の異なる検知ポイントに接続され又は接続可能である1のADCにのみ使用できる。変圧器及び光学エレメント又は光学エレメントのためのドライバの非直線特性は、制御戦略に含まれる。
回路設定器は、更に、この回路設定器の全動作範囲の少なくとも50%又は少なくとも75%からなるレンジ内で、回路設定器の少なくとも1の特性曲線を決定する制御部を備える。レンジは、例えばマイクロアンペアの電流、及び数ミリアンペアの電流など、30以上からなる。レンジ内で、変圧器の操作のいくつかのモードがある。このため、回路設定器の全ての特性を自動的に決定する。
特性曲線は例えば、以下により決定され、すなわち、
−例えばキーボードなど、回路設定器を備える電気装置の生産の終わりに一度のみ、
−回路設定器のスイッチオンごとに、
−回路設定器のスイッチオンとスイッチオフとの間の何回か、
−特に、定期的に、例えば1度、10倍以上、100倍以上、又は各分で1000倍以上しかし好ましくは各分で10000倍未満、
−温度変化に依存することなどがある。
値のペアは、メモリに記憶される。補間法は、記憶された値のペアの間の値を得るために使用される。スプライン補間法及び/又は補外法が例えば適当である。
回路設定器は、更に、変圧器の出力での負荷に応じて、変圧器を制御するために使用されるパルス幅信号の周波数を変える制御部を備える。光学エレメントを介してマイクロアンペアのみの流れがあるなら、第1PWMモードである。第1PWMモード内での周波数は、高負荷のための、又は変換器の出力パワーのための周波数より高い。
デューティ比と変圧器の出力電圧の間には第1相関がある。平坦域は、デューティ比の増加に伴い出力電圧の変化がないときに従う。操作のノーマルモード又は誘導モードでは、デューティ比及び変圧器の出力電圧の間の第3相関がある。
第1PWM内の高周波数は、平坦域の幅を減らす。
PWM信号の周波数は、レンジの端で、すなわち、制御を容易化するために、高負荷のために減らされている。減少する周波数は、より正確な制御を許容する。周波数は、25〜75%の範囲内、好ましくはステップ状に減らされる。
PFM(pulse frequency modulation)は、変換器の出力パワーを低い出力パワーのために、代わりに第1PFMモード内での高周波数にするために使用される。PFMは、より少ない正確な制御となるより低い周波数に至る。しかし、これは、より低いパワーの範囲内で許容であり、というのも、より小さなパワーのために確実な相対変化によって起こされる絶対変化がとにかくより小さいからである。低いパワーは、例えば500mW又は100mW未満である。
検知部の少なくとも1つ、又は検知部の全ては、AD変換器を備え、又はから成る。AD変換器は、4ビットから12ビット又はそれ以上の範囲での分解能を有する。AD変換器は、アナログデータ処理と比較してより柔軟なデジタルデータ処理を可能にする。
制御部は、好ましくは第1検知部に接続される第1サブユニットを備える。第1サブユニットは、変換器の制御信号のデューティ比、及び少なくとも1の光学エレメントを通して流れる電流の対応する電流の現在値のペアを検知する。代わりに、変換器の出力電圧、及び少なくとも1の光学エレメントを通して流れる電流の対応する電流の現在値のペアが検知される。
第1サブユニットは、最大パワー、電流又は電圧から充分に離れた操作ポイントでの輝度の制御の責任を負う。第2サブユニットは、最大パワー、電流又は電圧から近く又は近い操作ポイントに近いポイントでの制御の責任を負う。第2サブユニットは、より詳細が後述される。
ここで、重要な役目を果たす指数関数があるのだが、チャレンジが、制御のためになされる。指数関数の傾きは、X−値の増加に伴いますます急になる。さらに、光学エレメント又は複数の素子の輝度は、デューティ比の最も小さな変化又は変圧器の出力電圧に関して非常に敏感である。本実施の形態は、異なる制御戦略が異なる操作ポイントに使用されるという考えに基づいている。
第1サブユニットは、電流値に応じて変換器のデューティ比又は出力電圧を算出する演算部を備える。演算部は、マイクロコントローラ又は電子メモリに記憶された指示を実行する別のプロセッサを備える。
第1サブユニットは、値のペアを通過する曲線を見つける補間部を備える。スプライン補間が、例えば三次式スプラインや二次式スプラインを使用することにより使用される。しかし、他の補間法も適用できる。
代わりに又は追加的に、第1サブユニットは、電流値又は与えられた電流値に有効であるデューティ比又は出力電圧を見つける反復部を備える。ニュートン反復又は他の反復が使用される。反復は、各ステップの結果の改善を生じる。更なる制御部が適切な開始の値を見つけるために使用される。
第1サブユニットは、少なくとも1の光学エレメントを流れる電流(I)の値の偏差、及び参照電流値又は別の参照値の偏差に依存する変換器のデューティ比又は出力電圧を変更する変更部を備える。このデジタル閉回路制御は、より高い電流値へのドリフトの補償、及びより低い電流値へのドリフトの補償に至る。電流は、例えば長期操作などで回路設定器の温度が上がるとより高い値にドリフトする。温度は、例えば窓を開けるなど外部状態によって下がる。
第1サブユニットは、参照電流より上の電流で曲線の傾きを算出し、デューティ比又は出力電圧の新たな値を算出するためこの傾きを用いる第1傾き算出部を備える。代わりに又は追加的に、第1サブユニットは、参照電流で曲線の傾きを算出し、デューティ比又は出力電圧の新たな値を算出するためこの傾きを用いる第2傾き算出部を備える。これら両方は、相関曲線のより大きな値でのより大きな傾き、すなわち、指数関数を用いるより急な傾きを使用する。これは、とても正確で速い計算を可能にする。
第2傾き算出部は、第1傾き算出部と共に又は無しに使用される。
制御部は、第2サブユニット及び好ましくは最大電気パワー又は電圧又は電流を決定するユニットを備える。このため、第2サブユニットは、最大値を考慮する。最大値の近くには従わざるを得ない制限がある。さらに、最大値の近くの制御は、他の操作のポイントでの制御より複雑である。従って、特別な第2サブユニットが使用される。更なる動作又は代わりの動作が、例えば変換器を制御するPWM信号の周波数を減らすなど、最大値の近くでなされる。
第2サブユニットは、第1サブユニットと共に又は無しに使用される。
最大電気パワー又は電圧又は電流は、相関曲線の検知の間、又は相関曲線を見つけるためのベースである値のペアの検知の間、考慮される。さらに、最大値は、もしさらに装置が例えばUSBポートになど同じ電源を有するいくつかのインターフェースの1の周辺インターフェースに挿し込まれるなら、キーボードの操作の間、低くせざるを得ない。コンピュータのこれらの周辺インターフェースから装置を取り除くことは、最大値の増加に至る。
第2サブユニットは、好ましくは、第1検知部に接続され、第2サブユニットは、好ましくは変換器の制御信号のデューティ比の値、及び少なくとも1の光学エレメントを流れる電流の対応する電流の現在値のペアを検知する。代わりに、変換器の出力電圧の値、及び(前述した)少なくとも1の光学エレメントを流れる電流の対応する電流の現在値のペアが検知される。第1検知部は、一列の光学エレメントを通るすべての電流又はこれら一列を通る中間電流を検知するAD変換器である。全電流は、k、すなわち光学エレメントの平行列の数による中間電流を掛け算して算出される。代わりに、1の光学エレメントのみが、単一の光学エレメントの平行接続、又は別々に測定された列の電流の合計、で使用される。
最大値は、ペアの値の検知の間、考慮される。このように、最大値を超えない要求をする仕様の範囲内である操作エリア又は操作レンジ内にとどまることが可能である。
第2サブユニットは、少なくとも下記の処理部の1、2、又はすべてを備える。
−最大値にまで延長する曲線を計算する補外部、及び/又は、
−最大値での曲線の傾きを計算する傾き算出部、及び/又は、
−傾き算出部に接続され、デューティ比又は他のペアの値より最大値に近い出力電圧を計算する演算部である。
スプラインはまた、良い補外法を許可する関数のための良い選択であり、特に、概して関数を有するドメイン又はレンジは、少なくとも1の補外曲線の特定位置での傾きを得るために連続的に区別される。
他の値のペアは、すでに検知される。新しいデューティ比又は出力電圧が変圧器を制御するために使用される。それから、値の新たなペアは検知される。この新たな値のペアは、それから、より最大値に近いものを得るために使用される。
第2サブユニットは、第2サブユニットの傾き算出部及び演算部に接続される反復部を備える。反復は、最大値を超えない範囲で、相関曲線の連続延長を許容する。
反復部は、補外部に接続される。補外曲線は、反復の間、複数回アップデートされる。これは、アップデートされた補外曲線無しにの反復よりも最終的に速く、とても正確な反復を許容する。例えば、10未満又は5反復ステップ未満など、数回の反復ステップのみである。
反復は、補外曲線のアップデートなしに実行される。これは、いくつかのアプリケーションでは有効である。
第2サブユニットは、デューティ比又は少なくとも1の光学エレメントを流れる電流値の偏差、及び参照電流値の偏差に依存する変換器の出力電圧を変更する変更部を備える。このため、輝度のデジタル制御がまた、パワー、電流又は電圧の最大値の近くで可能である。
第2サブユニットは、参照電流より上の電流で曲線の傾きを算出し、デューティ比又は出力電圧の新たな値を算出するためこの傾きを用いる第1傾き算出部を備える。
代わりに又は追加的に、第2サブユニットは、参照電流で曲線の傾きを算出し、デューティ比又は出力電圧の新たな値を算出するためこの傾きを用いる第2傾き算出部を備える。これら両方は、算出される傾きの値が真のものにとても近くなる。これは、とても正確で速い計算を可能にする。
第2傾き算出部は、第1傾き算出部と共に又は無しに使用される。
回路設定器は、最大の電気パワー、電圧又は電流を決定する処理部を備える。最大値を決定する処理部は、回路設定器及び/又は変圧器の入力電圧を決定する検知部、及び/又は回路設定器及び/又は変圧器の入力電流を決定する検知部に接続される。両方の検知部はAD変換器である。例えば、回路設定器の入力電圧の電圧降下に基づく最大パワーの算出が可能である。代わりに、入力電流は、例えば、電圧制御のために、回路設定器の比較的一定の入力電圧など、電気パワーを算出するために使用され検知される。
さらに、本願発明は光学エレメントの制御方法に関し、
−少なくとも1の光学エレメントを流れる電流、又はパルス幅変調方式(PWM)、追加的にパルス周波数変調方式(PFM)により制御される変換器の出力電圧をデジタル制御することによって少なくとも1の光学エレメントのための駆動回路を流れる電流を制御することを含む。
この方法において、同じ技術効果がまた、回路設定器のために上述された相関となる。デジタル制御はここでは、少なくとも1のAD変換器及び/又はプロセッサが使用されることを意味し、例えば純粋なアナログ回路ではない。
回路設定器の特性曲線は、この回路設定器の全動作範囲の少なくとも50%又は少なくとも75%からなるレンジ内で決定される。技術効果は上述した。
変圧器を制御するために使用されるパルス幅信号の周波数は、変圧器の出力での負荷に応じて変えられる。高い周波数は、高いデューティ比のために使用される周波数に比較して、より低いデューティ比のために使用される。より低い周波数は、変圧器の最大出力パワーの近くで使用される。周波数は、25〜75%の範囲内、好ましくはステップ状に減らされる。
PFM(pulse frequency modulation)は、変換器の出力パワーを低くし、代わりに第1PFMモード内での高周波数にするために使用される。PFMは、より少ない正確な制御となる、より低い周波数に至る。しかし、これは、より低いパワーの範囲内で許容であり、というのも、より小さなパワーのために確実な相対変化によって起こされる絶対変化がとにかくより小さいからである。
後述する電流又は電圧の少なくとも1、少なくとも2、少なくとも3、少なくとも4又はすべては、以下で検知される。
−変圧器又は回路設定器の入力電圧、
−変圧器又は回路設定器の入力電流、
−変圧器の出力電圧、
−少なくとも1の光学エレメント、又は光学エレメントのドライバを流れる電流、及び
−変圧器の出力電流である。
1の検知部のみ、及びマルチプレクサ又はいくつかの検知部は、好ましくはAD変換器が使用される。
上述された回路設定器の1つは、上述した方法で実行される。回路設定器の処理部に対応する方法のステップとなる。
<明細書−第3アスペクト>
キーコード送信のための方法、及びこれに対応するキーボード
<技術分野−第3アスペクト>
本願は、キーコード送信のための方法、及びこれに対応するキーボード、特にバーチャルキーボードに関する。
<背景技術−第3アスペクト>
そのような方法が、例えばUSBx.0(Universal Serial Bus)仕様内、及び/又はHID(Human Interface Device)仕様内、又は他の仕様内で特定されている。しかし、これらの仕様は、全ての関連する方法及びパラメータを特定していない。このため、これらの仕様の実行フェーズの間、更なる進歩の余地がある。
<発明の概要−第3アスペクト>
本願はキーコードの送信方法に関し、
−キーコードの第1グループの送信のための第1レポート識別子を含む第1レポートデータを使用し、
−キーコードの第2グループの送信のための第2レポート識別子を含む第2レポートデータを使用し、
ここで、第2レポート識別子は、第1レポート識別子とは異なる値を有する。
本願はまたキーボードに関し、レポート記述子が記憶されたメモリを備え、このレポート記述子は、以下で定義され、
−キーコードの第1グループの送信のための第1レポート識別子を含む第1レポートデータと、
−キーコードの第2グループの送信のための第2レポート識別子を含む第2レポートデータと、を含み、ここで、第2レポート識別子は、第1レポート識別子とは異なる値を有するものである。
さらに、本願はキーコード送信方法に関し、
−キーコードの第1グループの送信のために第1エンドポイント識別子を含む第1エンドポイントデータを使用し、
−キーコードの第2グループの送信のために第2エンドポイント識別子を含む第2エンドポイントデータを使用し、
ここで、第2エンドポイント識別子は、第1エンドポイント識別子とは異なる値を有するものであり、
−ここで、第1グループ内のキーコードの数は、好ましくは1〜6の範囲内であり、
−ここで、第2グループ内のキーコードの数は、7〜20又は7〜500の範囲内である。
本願はまたキーボードに関し、第1エンドポイント記述子及び第2エンドポイント記述子が記憶されたメモリを備え、これらの記述子は、以下で定義され、
−キーコードの第1グループの送信のため第1エンドポイント識別子を定義する第1エンドポイント記述子、
−キーコードの第2グループの送信のため第2エンドポイント識別子を定義する第2エンドポイント記述子、
ここで、第2エンドポイント識別子は、第1エンドポイント識別子とは異なる値を有するものであり、
−さらに、第1グループ内でキーコードの第1数の送信を制御、及び第2グループ内でキーコードの第2数の送信を制御する制御部を備え、
−ここで、第1グループ内のキーコードの数は、好ましくは1〜6の範囲内であり、
−ここで、第2グループ内のキーコードの数は、7〜20又は7〜500の範囲内である。
<一般形態の記述−第3アスペクト>
本願の目的は、シンプルだが効果的なキーコードの送信方法を供することである。さらに、対応するキーボードを供することである。特に、速い方法が与えられ、及び/又は低コストのICで実行される方法である。さらに、この方法や、それを実行するキーボードが異なる種類のBIOS (Basic Input Output System)及び/又はメインOS(operating systems)と共に協働することができることが重要である。
これらの問題の少なくとも1つは、又はこれら問題の全ては、請求項77に対応する方法によって、及びキーコードの送信方法たる他の独立した方法により、及び独立クレームに応じたキーボードにより解決される。実施形態は従属クレームで述べられる。
キーコードの送信方法に関し、
−キーコードの第1グループの送信のための第1レポート識別子を含む第1レポートデータを使用し、
−キーコードの第2グループの送信のための第2レポート識別子を含む第2レポートデータを使用し、
ここで、第2レポート識別子は、第1レポート識別子とは異なる値を有することを含む。
レポートデータは、データのセットの範囲内で構成される。このセットの境界は、例えばパーサへの指示、データパケットの定義済みペイロードデータなど、様々な方法で定義される。レポート識別子は数である。代わりに、一連のデータセットが識別子の関数を有し、すなわち、第1識別子に属する第1データセット、第2識別子に属する第2データセットなどである。
各データセットは、少なくとも1のキーコード又は典型的には複数のキーコードを備える。キーコードは、少なくとも1のオペレーティングシステム、例えばMac OS, Windows, Linux/Unixなどのために定義される。
キーコードのグループは、多くのキーコードを備える。異なるグループの使用は、とても速い送信方法となり、特に、キーコードを含むグループのみを送信無し又はその瞬間にキーコードを含んでいないグループの短いデータのみ送ることを許容するときである。
多くのキーコードの送信がゲーム、マクロ、すなわち以前に記憶された入力データを使用するアプリケーションにおいて必要となる。多くのキーコードは、もし複数キーが同時に押圧されるなら送信されなければならない。これは、ゲームだけでなく他のアプリケーションでもあることである。
異なるレポートを使用する技術効果は、例えば、USBx.0の枠組み内で定義されるエンドポイントなど、あまりに多くのエンドポイントを使用する必要がない。有効エンドポイントの数は、チップ又はICのデザインによって制限される。2のエンドポイントのみ、又は4未満又は5未満のエンドポイントがサポートされる。レポートの数は制約されない。
前もって各グループ、すなわち、第1グループ、第2グループ又は更なるグループのキーコードの最大数を定義することができる。多くのオペレーティングシステムはBIOS(Basic Input Output System)を立ち上げるためのブートプロトコルを及び又は考慮する。
BIOSは、コンピュータのハードウェアを密接に関係し、例えばキーボードからの簡単な入力及びスクリーンへの簡単な出力を可能にする。BIOSは、例えばWindows, Mac OS, Linux/Unixなどのオペレーティングシステムの開始を許容する方法を備える。オペレーティングシステムは通常BIOSの方法を使用し、好ましくは割り込みベクトルを使用する。
識別子のない単一のレポートのみがBIOSの起動に際して使用される。このため、レポートの1のタイプのみが起動の間に使用される。
第1レポートデータがHID仕様を満たし、及び/又は第2レポートデータがHID仕様を満たす。
HID仕様のフルネームは、Universal Serial Bus(USB)−Human Interface Devices(HID)のためのデバイスクラス定義、ファームウェア仕様6/27/01、バージョン1.11、又はhigher or lower, USB Implementers' Forumである。代わりに、ある仕様がこれらの仕様の1つに基づき使用される。
しかし、HID仕様/プロトコルは、USBのみに有効ではなく、他のプロトコル又は仕様、例えばBluetooth(登録商標)においても有効である。
HID仕様はレポートの定義を許容する。しかし、幾つかのレポートが、同じ入力装置、特に1のキーボードのみに使用されることを述べるのではない。
第1レポートデータのデータ構造は、HID仕様を満たすレポート記述子に応じて定義され、及び/又は第2レポートデータは、HID仕様を満たすレポート記述子に応じて定義される。また、第2レポートデータは、第1レポートデータを定義するのと同じレポート記述子で定義される。このため、簡単なプログラミングやメンテナンスを許容している同じデータ構造内でレポートデータを定義することができる。
第1レポートデータのレポート記述子は、下記のデータ領域の少なくとも1又は全てを備え、
−すなわち、各レポートの数又は長さであるレポートサイズ、
−すなわち、同じ種類のレポートデータの反復数であるレポート数、
−例えば、第1レポートを示す数などのレポート識別子、
−すなわち、特定の入力フォーマットを与える指示たる入力、
−すなわち、特定の出力フォーマットを与える指示たる出力を含む。
全てこれらの領域は、HID仕様に沿うものである。一連の領域は、再度、上記一連の与えられたものとは異なる。第1レポート記述子は、例えば、最大値及び/又は最小値としてのデータの詳細を与えているなど、更なるデータ領域を備える。
第2レポートデータのレポート記述子は、下記のデータ領域の少なくとも1又は全てを備え、
−すなわち、各レポートの数又は長さであるレポートサイズ、
−すなわち、同じ種類のレポートデータの反復数であるレポート数、
−例えば、第2レポートを示す数などのレポート識別子、
−すなわち、特定の入力フォーマットを与える指示たる入力、
−すなわち、特定の出力フォーマットを与える指示たる出力を含む。
再度だが、全てこれらの領域は、HID仕様に沿うものである。一連の領域は、再度、上記一連の与えられたものとは異なる。第2レポート記述子は、例えば、最大値及び/又は最小値としてのデータの詳細を与えているなど、更なるデータ領域を備える。
第1レポート記述子及び第2レポート記述子のデータ領域の全ては、HID仕様に沿うものである。このため、キーボード及び異なるハードウェア製造のコンピュータは問題なく協働する。
キーコードは、例えば1のキーコードのみのキーなど、同じ入力装置のキーに応ずる。キーボードの例は後述で詳細される。
代わりに又は追加的に、各キーコードは、2〜8、典型的には8ビットすなわち1バイトのレンジの多ビットを備える。このため、キーボードのキーコード、及び論理スイッチ又はすなわちオンオフなど1と0の信号状態を有するボタンの間に差異がある。
入力装置はキーボードであり、又はキーボードを備え、ここでキーボードは少なくとも100のキースイッチを有する。
例えば、キーボードは下記の少なくとも1,2,3,4,5又は全てを備え、
−少なくともa, b, cなどの文字を入力するための25キー
−少なくとも0, 1, 2などの数字を入力するための10キー、より好ましくは、例えば"!", """, "§", "$"などの更なる入力キャラクタと結合され、
−F1,F2などの少なくとも10のファンクションキー
−少なくとも、0,1,2などの数字を入力するためのキーパッドの10キー、特に、これらの数の更なるグループであり、
−更なる入力キャラクタがこの更なるグループのキーのために使用されることはなく、
−すなわち、左CTRL、左SHIFT、左ALT、左GUI(Graphic User Interface)、すなわち、Microsoft left Win key, Macintosh Left Apple key, Sun left Meta keyなど、右CTRL、右SHIFT、右ALT、右GUIなど、HID(ヒューマン・インターフェース・デバイス)仕様で定義される修飾子キー、
−Caps Lock、Tab、スペースバー、Page Down、Page Up、右矢印、左矢印、上矢印、下矢印などの補助キーである。
しかし、他の、又は更なるキーコードがまた使用される。
キーコードは、HID仕様及び/又はオペレーティングシステム製造者のキーボードスキャンコード仕様に応じて定義される。
これらのキーのキーコードの全て又は少なくとも幾つかは、マイクロソフト、ウインドウズプラットフォームデザインノート−これはマイクロソフト・ウインドウズファミリーオペレーティングシステムのためのハードウェアをデザインしている−キーボードスキャンコード仕様、改定1.3a−3.16.2000又はhigher or lowerに対応する。代わりに、ある仕様がこれらの仕様の1つに基づき使用される。特に、Appendix Cが、すなわち、USBキーボード/キーボードページ(0x07)に関連する。コンピュータ及び/又はオペレーティングシステムの他の製造者はまた、例えばアップルなど同じ値を使う対応する仕様を有する。
キーコードの例としては、
−"a" or "A" = hex 04 (16進数), "b", or "B" = hex 05, "c" or "C" = hex 06などである。
−"0" = hex 27, "1" = hex 1E, "2" = hex 1Fなどであり、
−function F1 = hex 3A, function F2 = hex 3Bなどであり、
−キーパット:"0" = hex 62, "1" = hex 59, "2" = hex 5Aなどであり、
−補助キー:Caps Lock = hex 39, Tab = hex 2B, Spacebar = hex 2Cなどである。
修飾子の例は、
−left CTRL = hex E0、
−left SHIFT = hex E1などである。しかし、8ビットの、すなわち1バイトのビットマップのUSBに応じて、コードの代わりに修飾子を使用する。
第1グループのキーコード及び/又は第2グループのキーコードは、1秒未満又は500ms未満の期間内で押圧されるキーに属する。
この期間は、例えば1マイクロ秒より大きい。これらの期間は、すなわち人又はユーザが例えば同時に8の指で8のキーを押し、親指で更なるキー又は同時に更なるキーを押すようなゲームに関連する。さらに、これらの期間は、もしマクロがより早く記憶されて実行されるのなら関連する。この期間内に押されたキー及びこの期間内にマクロにより実行されたキーの組み合わせを使用することもまた可能である。
第1グループのキーコード及び/又は第2グループのキーコードは、1分より長い期間の間メモリに蓄積される。この期間は、例えば10年又は1年未満でも良い。これは、マクロがキーコードのため実行された場合のみのケースである。マクロは、記憶され又はより早期にプログラムされる。
マウスマクロがまた使用される。しかし、コンピュータマウスの入力は、異なるレポートを使用していると送信される。他の入力又は出力装置がまた使用される。
第1及び/又は第2グループの少なくとも1のキーコードがマクロ内に記憶されない。第1及び/又は第2グループの少なくとも1のキーコードがマクロ内に記憶される。これは、ユーザにより押圧されたキーの組み合わせ、及び記憶され又はより早期にプログラムされたマクロが使用されることを意味する。押圧キーのキーコードは、第1グループ内のみであり、マクロのキーコードが第2グループ内のみであり、逆もある。代わりに、押圧キー及びマクロのキーコードは、第1グループ内であり、及び/又は押圧キー及びマクロのキーコードが第2グループ内である。
第1グループ内のキーコードの数は、特に修飾子がないと、1〜6の範囲となる。オペレーティングシステムの多くはこれらの範囲で操作する。これは、例えばキーボードなどの入力装置が2又はそれ以上のオペレーティングシステムとともに選択的に使用されることを意味する。
第2グループ内のキーコードの数もまた、特に修飾子がないと、1〜6の範囲となる。オペレーティングシステムの多くはこれらの範囲で操作する。両方のレポートがこれらの範囲内の多くのキーコードを備えるなら、全てのキーコードの完全な送信が可能である。これは、例えばゲーム等の幾つかのアプリケーションにおいて重要である。
代わりに、第2グループ内のキーコードの数が、例えば10以上又は20以上又は50以上など、第1グループ内のキーコードの数より多い。このとても大きなレポートは、送信期間内に多量のキーコードにレポートの数を減らすことを許容する。第2レポート内のキーコードの数は500又は200又は100より小さくなる。メインのオペレーティングシステムがより大きな第2グループを処理できないなら、少なくとも第1グループが使用される。
本願はまたキーボードに関し、レポート記述子が記憶されるメモリを備え、当該レポート記述子は、
−キーコードの第1グループの送信のために第1レポート識別子を含む第1レポートデータと、
−キーコードの第2グループの送信のために第2レポート識別子を含む第2レポートデータと、を有し、
ここで、第2レポート識別子は、第1レポート識別子とは異なる値を有するものである。
従って、同じ技術効果が、キーコードの送信の方法、すなわち請求項1に応じる方法のために記述されたものの有効である。
キーボードは、上述の形態の1に応じる方法を実行するために使用される。再度、これら上記形態で与えられたのと同じ技術効果がまた、キーボードのために有効である。
コンピュータドライバ又は装置ドライバ、例えば入力装置などは、ウインドウズ又は上述した他のオペレーティングシステムの一つのために調整される必要はない。しかし、仮に本願が使用されるなら、ドライバソフトウェアの調整を必要とするオペレーティングシステムとなる。
さらに、本願はまた、更なるキーコードの送信方法に関する。この方法は、
−キーコードの第1グループの送信のために第1エンドポイント識別子を含む第1エンドポイントデータを使用し、
−キーコードの第2グループの送信のために第2エンドポイント識別子を含む第2エンドポイントデータを使用し、ここで、第2エンドポイント識別子は、第1エンドポイント識別子とは異なる値を有するものであり、
−ここで、第1グループ内のキーコードの数は、特に修飾子がないなら、好ましくは1〜6の範囲内であり、
−ここで、第2グループ内のキーコードの数は、特に修飾子がないなら、7〜20又は7〜500の範囲内である。
このように、第1グループのキーコードの数は、第2グループのキーコードの数より小さい。
第2グループの範囲は、特に、仮に修飾子がカウントされないなら、7〜20又は7〜500である。
エンドポイントは、USB2.0又はhigher or lowerに応じて定義される。代わりに、エンドポイントは、標準又はこれらの仕様の1に基づく仕様に応じて定義される。
技術効果は、レポート及び/又はエンドポイントの数の減少である。少なくとも、仮にメインのオペレーティングシステムがより大きなレポートを扱えないなら、第1エンドポイントが使用される。
キーコードの種類及び/又はキーボードの種類に関しては、上記のキーコードの第1の送信方法、及び対応する従属クレームの記述、上述の実施形態の記述を参照できる。
本願はキーボードに関し、第1エンドポイント記述子及び第2エンドポイント記述子が記憶されるメモリを備え、
−第1エンドポイント識別子は、キーコードの第1グループの送信のために第1エンドポイント識別子を定義し、
−第2エンドポイント識別子は、キーコードの第2グループの送信のために第2エンドポイント識別子を定義し、ここで、第2エンドポイント識別子は、第1エンドポイント識別子とは異なる値を有するものであり、
−さらに、第1グループ内でキーコードの第1の数の送信を制御し、及び第2グループ内でキーコードの第2の数の送信を制御する制御部を備え、
−ここで、第1グループ内のキーコードの数は、特に修飾子がないなら、好ましくは1〜6の範囲内であり、
−ここで、第2グループ内のキーコードの数は、7〜20又は7〜500の範囲内である。
このように、第1グループのキーコードの数は、第2グループのキーコードの数より小さい。
第2グループの範囲は、仮に修飾子が第2グループ内でカウントされないなら、7〜20又は7〜500である。
両方のエンドポイント記述子は、上述したUSB仕様に応じて定義される。
技術効果は、レポート及び/又はエンドポイントの数の減少である。少なくとも、仮にメインのオペレーティングシステムがより大きなレポートを扱えないなら、第1エンドポイントが使用される。
キーコードの種類及び/又はキーボードの種類に関しては、上記のキーコードの第1の送信方法、及び対応する従属クレームの記述、上述の実施形態の記述を参照できる。
本願の及び本願の有利な点の、より完全な理解のため、以下の記述が図面に関連してなされ、ここで、
図1は、入力設定器のマトリクスを示す図である。
図2は、3つのキースイッチが押され、第1駆動線がグランド電位に設定されている場合の信号状態を示す図である。
図3は、3つのキースイッチが押され、第2駆動線がグランド電位に設定されている場合の信号状態を示す図である。
図4は、4つのキースイッチが押され、第1駆動線がグランド電位に設定されている場合の信号状態を示す図である。
図5は、4つのキースイッチが押され、第2駆動線がグランド電位に設定されている場合の信号状態を示す図である。
図6は、コンピュータのキーボードの構成を示す図である。
図6Bは、マトリクススキャンのサイクルの実行方法を示す図である。
図7は、押圧されたキースイッチの数に、ADC出力の範囲のマッピングを示す図である。
図7Bは、図7に比べてより実際例に応じて、押圧されたキースイッチの数に、ADC出力の範囲のマッピングを示す図である。
図8は、デバウンシング信号及び制御装置により処理された信号を示す図である。
図9は、特にLEDなど、一列の光学エレメントを通って流れる電流を制御するための回路設定器を示す図である。
図10は、LEDの2の電圧/電流特性を示す図である。
図11は、1のLED、一列のLED、一列のLEDのまとまりの特性曲線を決定するためのステップを示す図である。
図12は、デューティ比対回路設定器の電圧特性曲線を示す図である。
図13は、回路設定器の更なる構成を示す図である。
図14は、1のLED、一列のLED、一列のLEDのまとまりの輝度に対する電圧の特性曲線を示す図である。
図15は、例えばLEDの列を通って流れるデューティ比及び電流の値の検知されたペアを示す図である。
図16は、P_MAXから離れた操作の第1ポイントを検知するために使用されるニュートン反復法を示す図である。
図17は、P_MAXから離れた操作の第1ポイントを検知するための方法のステップを示す図である。
図18は、キーボードの操作の間、中間の輝度を制御することを示す図である。
図19は、キーボードの操作の間、中間の輝度を制御する方法のステップを示す図である。
図20は、P_MAXに近い特性曲線の決定を示す図である。
図21は、P_MAXに近い特性曲線の決定における方法ステップを示す図である。
図22は、実施の形態2において、P_MAXに近い特性曲線の決定を示す図である。
図23は、キーボードの操作の間、P_MAXに近い輝度の制御を示す図である。
図24は、キーボードの操作の間、P_MAXに近い輝度の制御のための方法のステップを示す図である。
図25は、P_MAXの決定のための方法ステップを示す図である。
図26は、USBケーブルを介してコンピュータに接続されるキーボードを示す図である。
図27は、USB仕様に応じる装置の記述子を示す図である。
図28は、USB仕様に応じる構成の記述子を示す図である。
図29は、USB仕様に応じるインターフェースの記述子を示す図である。
図30は、USB仕様に応じるHID記述子を示す図である。
図31は、USB仕様に応じるエンドポイント記述子を示す図である。
図32は、レポート記述子を示す図である。
図33は、コンピュータ及びキーボードの間のデータ交換を示す図である。
図34は、コンピュータの開始の間の方法のステップを示す図である。
図35は、実施の形態2において、USBケーブルを介してコンピュータに接続されるキーボードを示す図である。
[発明を実施するための形態]
(アスペクトA)
本願の好ましい形態の作り及び使用が詳細に後述される。しかし、本願が様々な特定の文脈中で具体化され得る多くの適用可能な発明のコンセプトを供することが、好ましい。論ぜられる特定の形態は、単に、本願発明を作り及び使用する特定方法を示し、本願発明の範囲を限定するものではない。さらに、もし他に述べられないなら、同じ参照符号は同じ技術形態を参照する。“may”がこの出願で使用される限り、実際の技術実行とともにそれをする可能性を意味する。
図1は、例えばキーボードなど、入力設定器10のマトリクスを示す。入力設定器10は、縦列を形成する導線Ca,Cb、及びマトリクスMの列を形成する導線L1,L2のマトリクスMを備える。導線L1,L2は駆動線で、導線Ca,Cbは読取り線である。2の横列及び2の縦列のみが図1に示されているが、各方向は通常、2以上の横列及び/又は2以上の縦列である。
本図では、導線L1,L3、Ca,Cbの交点で4の直列接点SC1〜SC4がある。 第1直列接点SC1は、キースイッチS1a及び抵抗R1aから成る。第2直列接点SC2は、キースイッチS2a及び抵抗R2aから成る。第3直列接点SC3は、キースイッチS1b及び抵抗R1bから成る。第4直列接点SC4は、キースイッチS2b及び抵抗R2bから成る。更なる直列接点は、図1には示さないが、マトリクスMの他の交点である。直列接点の他の例は、導線Ca,Cb、又は例えば駆動線すなわちL1,L2に直接された抵抗の一つ及び読取り線すなわちCa,Cbに直接された抵抗の一つである2の抵抗をそれぞれ有する直列接点に直接接続された抵抗を有する直列接点である。
代わりに、4.5KΩ又は5KΩのアクティブ状態で抵抗率Ronを有する例えばMOSFET(Metal Oxide Semiconductor Field Effect Transistor)トランジスタを、例えば半導体スイッチに使うことが可能である。トランジスタの抵抗率は、すなわち入力のない、非アクティブ状態でとても大きい。入力エレメント又はキースイッチの可動部内で、抵抗R1aを含む押しボタンを使用することもできる。この場合、離れた抵抗が直列接点SC1又は他の直列接点内で使用されない。可動抵抗は、マトリクス設定Maのキャリアー基板上に、導線L1,L2、Ca,Cbに抗して押される。
入力設定器10はまた、AD変換器たるADCを備える。AD変換器ADCの2の入力端部E1,E2が図1に示される。AD変換器ADCは、例えば8の入力端部など、2以上の入力端部を有するかもしれない。マルチプレクサが、1のみのAD変換器ADCに複数の読取り線を配置するためにAD変換器ADCの内部で使用される。代わりに、AD変換器ADCが、読取り線を形成する各導線Ca,Cb、及び/又はオプションの校正線Cccで使用される。AD変換器ADCに組み合わせる外部マルチプレクサを使用することも可能である。
さらに、AD変換器ADCに接続されない導線Caの端部側で導線Caに直列接続する抵抗Raがある。抵抗Rbは同様のマナーで導線Cbに接続される。
全ての抵抗R1a〜R2bとまたRa及びRbはオーム抵抗の同じ普通の値を有する。未定の電位が抵抗Ra,Rbの使用により防がれる。抵抗が、別々の素子/装置となり、又は例えばタッチスクリーンなどに統合される。抵抗は、抵抗素子、特にスイッチ機能を満たさないトランジスタによって置き換えられる。抵抗は、カーボン印刷により製造される。
入力設定器Maは、オプションとして、マトリクス設定Maの縦列の方向に走る校正線Cccを備える。プルアップレジスタRccは、正動作電位で校正線Cccに接続して使用される。校正線Cccの他端又は校正線Cccの他の場所は、検知回路、例えばAD変換器ADCの入力Ec又はADCの入力に入力Ecを接続可能にするマルチプレクサの入力Ecに接続される。
第1参照抵抗R1ccは、その端部の1が校正線Cccに、その第2の端部は第1駆動線L1に接続される。同様に、第2参照抵抗R2ccは、その端部の1が校正線Cccに、その第2の端部は第2駆動線L2に接続される。通常、2の駆動線及び2の読取り線以上がある。参照抵抗R1cc,R2ccなどの数は、たとえ2以上の駆動線L1,L2があっても、駆動線L1,L2などの数に対応する。
校正線CccのプルアップレジスタRccは、値、又は抵抗R1a〜R2b及び/又は他のプルアップレジスタRa,Rbのオーム抵抗の同じ普通値を有する。校正線Cccの抵抗R1cc,R2ccは、値、又は抵抗R1a〜R2b及び/又は他のプルアップレジスタRa,Rbのオーム抵抗の同じ普通値を有する。
スイッチS1a〜S1bは図1に示すように配置される。しかし、他の位置、例えば変更位置にスイッチS1a〜S1bを配置し、接続機構を保持することも可能である。
図1は、グランド/電源電位に抗したハードな駆動レベルの出力が可能な2つの駆動回路2,4を示す。駆動回路2の出力は、直接又は直列抵抗6の使用により、駆動線L1に接続される。駆動回路4の出力は、直接又は直列抵抗8の使用により、駆動線L2に接続される。プルアップ又はプルダウンレジスタが駆動線L1,L2上で使用されることはない。オプションの抵抗6及び8は、駆動線L1,L2などの上の信号の電磁放射を減らすために、200Ω又は100Ω以下の抵抗値を有する。
駆動回路2,4などの入力は、マトリクス設定Maのスキャン機構に応じて、制御装置により設定される。このことは、以下の図6Bにおいて詳細に説明する。
図2は、3つのキースイッチS1a,S1b,S2bが同時に押され、且つ第1駆動線L1がグランドに設定される場合の信号状態を示す図である。第2駆動線L2及び全ての他の駆動線が、例えば3.3〜5VのVccに設定される。
図2の左に示すように、線Caに関連する信号状態があり:
−抵抗Raの一端が、電位Vccに設定され、
−第1直列接点SC1(S1a,R1a)はグランドとなる。
第2直列接点SC2のスイッチS2aが開き、すなわち、線Caの電位又は電流に、この直列接点SC2は貢献しない。結果、第2直列接点SC2は図2には示されない。
これらの信号状態は、入力E1での1/2Vccの電位に至る。1/2Vccの電位は、縦列で1のスイッチのみが押されているなら、その場合のみ可能である。さらに、1/2Vccの電位は、押圧又はアクティブスイッチを示す。
図2の右に示すように、線Caに関連する以下の信号状態があり:
−抵抗Rbの一端が、Vccに設定され、
−第4直列接点SC4(S2b,R2b)が、Vccであり、
−第3直列接点SC3(S1b,R1b)はグランド電位となる。
これは、入力E2での2/3Vccの入力電圧に至る。これは、多くの従来のキーボードに反して、スイッチS1bのゴーストキーのないことを意味する。線Cbの電位は、グランド又はVcc電位のデカップリング効果のため、線Ca上の電位に影響を与えない。駆動線を介したカップリングはなく、というもの、駆動線は高いオーム値の抵抗R1a,Raなどと比較して、低いオーム値の固定電位に接続されるためである。これらの抵抗R1a,Raなどはまた、短絡を防止する。
図3は、3つのキースイッチS1a,S1b,S2bが押され、且つ第2駆動線L2がグランドに設定される場合の信号状態を示す図である。第2駆動線L2を除く第1駆動線L1及び全ての他の駆動線が、Vccに設定される。
図3の左図に示すように、線Caに関連する以下の信号状態があり:
−抵抗Raの一端が、Vccに設定され、
−第1直列接点SC1(S1a,R1a)はまたVccとなる。
第2直列接点SC2のスイッチS2aが開き、すなわち、線Caの電位又は電流に、この直列接点SC2は貢献しない。結果、第2直列接点SC2は図3には示されない。
これらの信号状態は、線CaでのVccの電位に至る。
図3の右に示すように、線Cbに関連する以下の信号状態があり:
−抵抗Rbの一端が、Vccに設定され、
−第3直列接点SC3(S1b,R1b)が、Vccであり、
−第4直列接点SC4(S2b,R2b)はグランド電位となる。
これらの信号状態は、線Cb上の2/3Vccの電圧に至る。このため、図2の右図と比較して、信号変化がない。ゴーストキーは再度発行されない。
図4は、4つのキースイッチS1a,S1b,S2a,S2bが押され、且つ第1駆動線L1がグランド又は0Vに設定される場合の信号状態を示す図である。第2駆動線L2及び全ての他の駆動線が、例えば3.3又は5VのVccに設定される。
図4の左図に示すように、線Caに関連する以下の信号状態があり:
−抵抗Raの一端が、Vccに設定され、
−第2直列接点SC2のスイッチS2aはまた、このとき閉じられ、及び、
−第1直列接点SC1(S1a,R1a)は再びグランドとなる。
これらの信号状態は、線Ca上の2/3Vccの電圧に至る。電流値が2/3Vccは、2のスイッチ、すなわちここでは全スイッチが押圧されることを意味する。
図4の右図に示すように、線Cbに関連する以下の信号状態があり:
−抵抗Rbの一端が、Vccに設定され、
−第4直列接点SC4(S2b,R2b)が、Vccであり、
−第3直列接点SC3(S1b,R1b)はグランド電位となる。
これは、入力E2での2/3Vccの入力電圧に至る。
図5は、4つのキースイッチS1a,S1b,S2a,S2bが押され、且つ第2駆動線L2がグランドに設定される場合の信号状態を示す図である。第2駆動線L2を除く第1駆動線L1及び全ての他の駆動線が、Vccに設定される。
図5の左図に示すように、線Caに関連する以下の信号状態があり:
−抵抗Raの一端が、Vccに設定され、
−第1直列接点SC1(S1a,R1a)はまたVccとなり、
−第2直列接点SC2の第2スイッチS2aは閉じられ、すなわち、第2直列接点SC2がグランドに設定される。
これらの信号状態は、線Cbの2/3Vccの電圧に至る。マトリクスMの縦列内での電位の変化がないことは、全てのキースイッチが押されず又は押されていることを示す。
電流の量はまた、これら2つのケースが有効、すなわち、ここではVccに関する信号差があるため第2のケースであることを示す。
図5の右に示すように、線Cbに関連する以下の信号状態があり:
−抵抗Rbの一端が、Vccに設定され、
−第3直列接点SC3(S1b,R1b)が、電位Vccであり、
−第4直列接点SC4(S2b,R2b)はグランド電位となる。
これらの信号状態は、線Caの2/3Vccの電圧に至る。駆動線L1,L2の電位は変化し、しかし、読取り線Caの電位は同じにとどまる。マトリクスMの縦列内での電位の変化がないことは、全てのキースイッチが押されず又は押されていることを示す。ゴーストキーは再度問題とならない。さらに、静的状態が、押圧キースイッチ又はアクティブキースイッチの検知に使用される。
下記のテーブルは、仮に3×3のマトリクスが使用される場合の、相関電流を示す。このテーブルの各列は、低電圧の駆動線に対応する。このテーブルの縦列は、マトリクスMの縦列、すなわち、読取り線Ca,Cbの1つ上に押圧されるキースイッチの数を参照する。
押圧されたキースイッチ : 0 1 2 3
グランドの第1駆動線 : 1 Vcc 1/2 Vcc 2/3 Vcc 3/4 Vcc
グランドの第2駆動線 : 1 Vcc 1 Vcc 2/3 Vcc 3/4 Vcc
グランドの第3駆動線 : 1 Vcc 1 Vcc 1 Vcc 3/4 Vcc
以下では、nが各読取り線でのスイッチの数を与え、すなわち、nが図2〜5の例では2であり、3×3のマトリクスでは3であることを意味する。
押されたキーの数を示すため、また、キーが押されること、すなわち、一連のストロボすること又はスキャンすることに関して以下の一般ルールがある。
1)駆動線電位の全ての組み合わせのための電圧の変化がないこと:
a)Vccの電位は、キースイッチが押されていないことを示す。
b)n/(n+1)の電位は、全てのキースイッチが押されることを示す。
2)すなわち、一連のストロボ又はスキャン内において、駆動線電位の異なる組み合わせのための電圧の変化がある。
a)押圧されたキーの数は、縦列内での最も低い値から決定され得る。
押圧されたキーの数は、直接、分数の分子に対応し、ここで、分母は、上述したテーブルを参照し、マトリクスの1の縦列内のキーの数によって与えられる。
b)キースイッチは、仮に対応する線の読取りの間、読取り線の電位がマトリクスの縦列の電位の最大値以下、すなわち例えばVcc以下の値を有すると、押圧されている。縦列で押されていないキーの数に依存する最大限の数に留意する。
他の一般則がまた使用される。
代わりに、他の構成がAD変換器ADCのデータを処理、及びAD変換器ADCを制御するために使用される。
代わりに、他の信号の組み合わせが駆動線、例えば2分法で使用される。もし例えば4以上又は10以上の駆動線があるならば、方法、すなわちより速い検知を可能にする、駆動線の数以下で使用される組み合わせを減らすものが使用される。これらの方法は例えば組み合わせから、特に、12のコインの問題から知られ、すなわち、駆動線の最初の半分が高レベルで、残りの半分が低レベルに設定されることである。更なる変化が読み取られた信号に基づいて成される。これはまた、ゴーストキーの防止及び1の縦列で押圧された複数キーの検知を許容する。
より好ましい形態では、特に第1検知ステップ内で、何個のキーが押圧され又はマトリクス設定Maの1の縦列内でアクティブ化されたかを決定することは必要ではない。現在アクティブの駆動線でキーが押圧/アクティブされ又はされていないかを知ることで充分である。仮に押圧されたキーが検知されれば、このキーのキーコードが更なる処理のため、例えばUSB(Universal Serial Bus)接続を介して又は他の接続を介してキーボードからコンピュータに送るために、メモリに記憶される。
1の形態において、図7及び図7Bに示すように、1の閾値SWのみが使用され、すなわち、キーの数から独立した、又はマトリクス設定Maの1の縦列内でアクティブ化されたキーの少なくとも2,3,4の異なる数から独立した閾値SWである。他の形態において、図7及び図7Bに示すように、閾値SWが使用され、更なる閾値又は閾範囲、例えばTR1からTR11が、特にマトリクスのより速いスキャンをするために、マトリクス設定Maの1の縦列内でアクティブ化された特定キーの指示が使用される。
図6は、コンピュータのキーボードの構成を示す。キーボードは、
−入力設定器10と、
−マイクロコントローラ26と、
−インターフェース36とを備える。
図6は、更に例えば11の線の導線20(読取り線)、及び例えばマトリクスMでの10の線の更なる導線22(駆動線)を示す。入力設定器10のAD変換器ADCは、データ線及び制御線を備える信号バス30によりマイクロコントローラ26に接続される。
マイクロコントローラ26は、
−メモリMem、例えばRAM(Random Access Memory), ROM(Read Only Memory), PROM(Programmable ROM)、又はEEPROM(Electrical Erasable PROM)、又は他の種類のメモリと、
−メモリMemに記憶される指示を実行するプロセッサPと、
−マトリクスMの駆動線、すなわち線L1,L2等に接続される駆動回路24と、
−駆動回路24及びプロセッサPの間の信号バス32と、
−プロセッサP及びメモリMemの間の信号バス34と、を備える。
代わりに、AD変換器がまたマイクロコントローラ26の一部となる。
信号バス30は直接プロセッサPに接続される。代わりに、マイクロコントローラ26のインターフェース回路が図示していないが使用される。信号バス36は、マイクロコントローラ26に接続される。信号バス36は、コンピュータの中心部へのインターフェースである。信号バス36のプロトコルは例えばPS/2又はUSBである。
図6Bは、図1に示すように、マトリクス設定Maのマトリクススキャンのサイクルを実行するための方法を示す。この方法はステップSx0から開始する。この方法のステップは以下に示すステップをシンプルに命名するものである。
ステップSx2がステップSx0に続く。ステップSx2において、駆動線L1,L2等の1つが、例えば第1駆動線L1からなどでアクティブ化される。アクティブ化とは、グランド/電源電位が駆動線に使用されることを意味する。他の駆動線、すなわち不アクティブの駆動線は、正電位に設定される。
ステップSx2の後に、校正線Cccが読み込まれるステップSx4が続く。校正線Cccは、縦列の全てのキーが押されたケースをシミュレーションする。正確に1の駆動線を低レベルに、又は校正線Cccの読取りにより校正値VCを得るために低電位に設定する必要がある。
校正線の読取り値は、後述する図7及び図7Bに関連して説明される校正値CVである。校正値CVは、閾値SWとして直接使用され、又は図7及び図7Bに関連して後述するように閾値SWを計算するために使用される。閾値SWは、マトリクス設定Maの1の縦列内で押圧されたキーの数からは独立し、すなわち、キーが押されたか否かを検知するために使用される。代わりに、マトリクス設定の1の縦列内で押されたキーの少なくとも2の異なる数、少なくとも3の異なる数などから独立した閾値SWを使用することができる。例えば、もし4のアクティブキーの最大値が各縦列において許容されるなら、4のキーの最大値以下の、すなわち4のキーの内の1のキー、2のキー、3のキーである限りにおいて、キーの数から独立するより低い閾値SWを使用できる。
現駆動線のアクティブ化の間、現読取り線がステップSx6において、例えば第1読取り線Caから読み取られる。読み取られた値は、閾値SWと比較される。仮に現に読み取られた値が閾値より低いなら、現アクティブの駆動線L1,L2など及び現に読み取られた読取り線Ca,Cbなどのしきりに位置するキーが押され又はアクティブ化される。検知されたアクティブキーのキーコードは、更なる処理のためデジタルメモリに記憶される。
次なるステップSx8において、現在アクティブの駆動線、例えばL1で未だ読み取られていない更なる読取り線があるか否か確認する。
もしこの方法が読取り線において第1カウンタを増加または減少するなら、再度ステップSx6に戻る。これは、全てのスキャン線が現在アクティブの駆動線のために読み取られることを意味する。ステップSx6及びステップSx8から成るループは、もし全ての読取り線がスキャンされ、すなわち、現在アクティブの駆動線において全てのアクティブキーが検知された場合にのみ、ステップSx8に留まる。
もし全ての読取り線Ca,Cbがスキャンされ、すなわち読取り線Ca,Cbのサブサイクルがなされたなら、ステップSx8のすぐ後にステップSx10が続く。ステップSx10において、マトリクス設定の現スキャンサイクル内でアクティブ化されていない更なる駆動線があるか否か確認する。もし、そのような駆動線が残っているなら、第2カウンターが、アクティブ化されなければならない現在の駆動線を示すため増加又は減少され、すなわちグランドに設定される。他の駆動線、すなわち非アクティブ駆動線が、正操作電位に設定される。この方法はその後ステップSx2に続く。これは、上述したのと同じステップを第2駆動線L2のために繰り返すことを意味し、第3駆動線など全ての駆動線がアクティブ化され、また、全てのキーS1a〜S2bなどがスキャンされるまで、及びアクティブ化されたキーのキーコードがデジタルメモリに記憶されるまで繰り返すことを意味する。この方法は、ステップSx2〜Sx10のループ内である。
校正線Cccは各駆動線L1,L2などのため読み取られる。これは、線ドライバ2,4の内部抵抗値から生じる偏差をも考慮することを許容する。さらに、耐性を考慮に入れるために校正線Cccで検知される値、及び/又はキーボードの操作を干渉する電磁放射線(例えばキーボードの外から)の平均値を計算することを可能とする。
また、図7及び図7Bに示すように、ソフトウェアのオフセットに関して、ハードウェアのオフセット値を有するためにプルアップレジスタRccの値を減らすことができる。
校正線及び読取り線の読み込みの手順はまた逆も可能で、すなわち、最初に読取り線をスキャンし、次に各駆動線サイクルの校正線のスキャンをすることもできる。この場合、読み取られた値は、校正線が読み取られまた比較が可能となるまで記憶される。
もし更なる駆動線がないなら、ステップSx2からステップSx10のループに留まる。マトリクス設定Maのスキャンの1サイクルが準備できる。
マトリクス設定Maのスキャンは、与えられた時間間隔で、例えば5msより小さな間隔で繰り返される。
全ての駆動線ための検定は必要ではない。他の形態では、ステップSx2が完全なマトリクス設定Maの1のスキャン内でのみ実行される。
オプション的として、下記の1によってマトリクスのスキャンをより速くすることができ、
−a)第1入力エレメントが、検知値及び閾値又はアクティブ入力エレメントの数を示す範囲に基づいてこの読取り線で検知されるやいなや、何個の入力エレメントが読み取られた読取り線上で押されているかを決定し、多くのアクティブ入力エレメントが入力エレメントの決定された数に等しく検知されるとすぐに、この読取り線Ca,Cbで更なる電気信号が検知されず、
−b)全ての駆動線L1,L2が第2電位に駆動され、読取り線Ca,Cbがアクティブ化された入力エレメントを有していないと決定され、これらの決定された読取り線Ca,Cbは、現状のスキャンサイクル内でこれ以上、マトリクス設定のスキャンの間、考慮されず、
−c)駆動している駆動線L1,L2などの順番は、対応する駆動線に接続されるアクティブ入力エレメントの可能性に依存し、
−d)2分法が駆動線L1,L2などの駆動のために使用される。
図7は、押されたスイッチの数に、AD変換器ADCの出力値の範囲のマッピングを示す。マトリクスMの1の縦列内に1のキースイッチがあるのが確定される。従って、1/12〜11/12Vccの電位値に対応する1のレンジTR1〜TR11がある。TR12はキーが押されていない場合である。
レンジTR1〜TR11の長さは、均等であり、仮にマトリクスMの各縦列内に1のキースイッチがあるなら、最大出力値の2〜4%のレンジ内となる。
押されたスイッチの数、又はどのスイッチが押されたか、又は1の縦列内でどのスイッチが押されたかを決定するために使用されない隣接するレンジTR1〜TR12の間に、出力値がある。2の隣接するレンジ間の"距離"Diはまた、例えば、AD変換器ADCの最大の出力値の2〜4%のレンジ内である。より好ましくは、使用されないレンジは、分類のために使用されるレンジと同じ長さを有する。これは、四捨五入、量子化、及び分割できない与えられた整数の値のためにいつも可能というわけではない。
校正値CVが校正線Cccを使用することにより例えば検知され、ここで、全ての駆動線L1,L2は、マトリクス設定Maの1の縦列内の全てのキースイッチが押され、すなわち、例として11キーがアクティブ化された場合をシュミレーションするために、グランド又は電源電位に設定される。閾値SWは、ADCの最大値の差分、すなわち例として4095、及び校正値CV又は対応する電位値を算出することにより決定される。この差分は4で割られ、例えば閾値を得るために校正値に加算されなければならないオフセットOfに至る。全てのSWより小さな検知値は、マトリクス設定の読み取られた縦列Ca,Cb内で、それぞれの押圧されたキーの数の現状のアクティブ読取り線での押圧キーを示す。校正値CVは、マトリクス設定Ma及び/又はADC内での温度及び電圧変化に応じて変化する。ADCは、ADCの操作電位以上にフィルターされる参照電圧又は電位を有する。
図7Bは、図7に比べてより実際例に応じて、押圧されたキースイッチの数に対する、ADC出力の範囲のマッピングを示す図である。図2〜5に示す分圧器のタップにおける電位に関して以下の関係があり、
V = Vcc * k/(k+1),
ここで、kは1の縦列内で押されたキーの数であり、kは1以上となる。同じ式が、基本的にVccをADCの最大デジタル値に置き換えること、及び四捨五入エラーを考慮することで、ADCのデジタル値において有効である。
これは、1のみがアクティブのレンジTR1が、"1の半分"の値、又はADCのレンジの1/2、又は対応する電位の1/2の近傍に位置することを意味する。1の縦列内での2のアクティブキーに正確に対応するレンジTR2は、ADCのレンジの2/3、又は対応する電位の2/3などの近傍に位置する。11のアクティブキーとなる、すなわち全てのキーが押され、又は1のキーが押されること及び/又はマクロを使用することでアクティブ化されるレンジTR11は、ADCのレンジの端部に非常に近い、すなわち、もし追加のドリフトがないなら例として約3754の値である。これは、校正値CVが3754±ドリフト値を有することを意味する。閾値SWは、図7において説明したように、すなわち、末端値例えば4095からCV値が差し引き、及びその結果を、それによってオフセットOfを得るように、4で割るように計算される。オフセットOfは、閾値SWを得るために校正値CVに加算される。しかし、SWの決定又は計算のために他の方法がまた使用され、例えば4以外の数を用いて割られる。
図7Bはまた、もし現在読み取られた読取り線Ca,Cbなど内でいずれのキーも押されていない、ことに関連するレンジTR0を示す。閾レンジTR1〜TR11、及び/又はTR0は、再度、ADCの最大の出力値の2〜4%のレンジ内又は他のレンジ内にある長さを有する。代わりに、他のレンジよりアクティブキーの少ないのに関するより幅の広いレンジにすることができる。このため、レンジTR1はレンジTR2などに比較して広い。
この分の序説を参照し、校正線Cccを使う以外の方法で閾値SWを決定することも可能である。
もちろん、例えば16(SW、例えば3915)など1の駆動線以上又は以下を有することも可能である。
オフセットはまた、校正線上のプルアップ(又はプルダウン)レジスタRccの抵抗値を減らすことで実行される。
図8は、制御装置、例えば図6のマイクロコントローラ26により処理されるデバウンシング信号50及び平滑信号52を示す。
キースイッチが押される前の信号値V1(電圧又は電流)と、キースイッチが押された時点での信号値V2(電圧又は電流)との間の信号差分Dがある。
デバウンシング信号50は、数回上下し、それにより振幅を減少し、幅を減少するスパイクを示す。このため、中間状態を検知することに挑戦している。しかし、AD変換器ADCの使用が、中間値、例えば信号値V1の75%、50%及び25%などの検知を許容する。
例えば統計的分析との組み合わせで、平滑コンデンサを用いて、速く変化しているデバウンシング関数に反する平滑値を得ることができる。代わりに、キースイッチのアクティブの最初で高電位未満のデバウンシング信号又は値の最小値を検知することができる。最大値又は低信号値より大きいと考えられる値が、仮に信号が最初低ければ検知される。
高低の信号状態は、上述された全ての例で置換される。
本願発明の形態及びこれらの有利点が詳細に述べられたが、付加される請求項により定義される本願発明の精神および範囲から逸脱しない様々な変更、置換及び改造がなされ得ることに留意されたい。例えば、ここで述べられる特徴、関数、過程及び方法は、本願発明の範囲内において当業者によって変更されることは容易に理解される。さらに、本願発明の範囲は、特に本願で記述されたシステム、過程、製造、方法又はステップの特定の形態に限定されることを意図しない。当業者は、現在までに記載した又は実際的に同じ機能を実行又は同じ結果を達成する後述で発展された本願発明のシステム、過程、製造、方法又はステップの開示から容易に感謝し、というのも、ここで述べられる対応する形態は、本願に応じて利用されるからである。従って、付加された請求項は、そのようなシステム、過程、方法又はステップの範囲内を含むことが意図される。
[発明を実施するための形態]
<第1アスペクト>
本願の好ましい形態の製造及び使用は後述される。しかし、本願が様々な特定の文脈中で具体化され得る多くの適用可能な発明のコンセプトを供することが、好ましい。論ぜられる特定の形態は、単に、本願発明を作り及び使用する特定方法を示し、本願発明の範囲を限定するものではない。さらに、もし他に述べられないなら、同じ参照符号は同じ技術形態を参照する。“may”がこの出願で使用される限り、実際の技術実行とともにそれをする可能性を意味する。
図1は、例えばキーボードなど、入力設定器10のマトリクスを示す。入力設定器10は、縦列を形成する導線Ca,Cb、及びマトリクスMの列を形成する導線L1,L2のマトリクスMを備える。導線L1,L2は駆動線で、導線Ca,Cbは読取り線である。2の横列及び2の縦列のみが図1に示されているが、各方向は通常、2以上の横列及び/又は2以上の縦列である。
本図では、導線L1,L3、Ca,Cbの交点で4の直列接点SC1〜SC4がある。第1直列接点SC1は、キースイッチS1a及び抵抗R1aから成る。第2直列接点SC2は、キースイッチS2a及び抵抗R2aから成る。第3直列接点SC3は、キースイッチS1b及び抵抗R1bから成る。第4直列接点SC4は、キースイッチS2ba及び抵抗R2bから成る。更なる直列接点は、図1には示さないが、マトリクスMの他の交点である。直列接点の他の例は、導線Ca,Cbに直接接続された抵抗を有する直列接点、又は例えば駆動線すなわちL1,L2に直接された抵抗の一つ及び読取り線すなわちCa,Cbに直接された抵抗の一つである2の抵抗をそれぞれ有する直列接点に直接接続された抵抗を有する直列接点である。
代わりに、4.5KΩ又は5KΩのアクティブ状態で抵抗率Ronを有する例えばMOSFET(Metal Oxide Semiconductor Field Effect Transistor)トランジスタを、例えば半導体スイッチに使うことが可能である。トランジスタの抵抗率は、すなわち入力のない不アクティブ状態でとても大きい。
入力設定器10はまた、AD変換器たるADCを備える。AD変換器ADCの2つの入力端E1,E2が図1に示される。AD変換器ADCは、例えば8の入力端など、2以上の入力端を有するかもしれない。マルチプレクサが、1のみのAD変換器ADCに複数の読取り線を配置するためにAD変換器ADCの内部で使用される。代わりに、AD変換器ADCが、読取り線を形成する各導線Ca,Cbで使用される。AD変換器ADCに組み合わせる外部マルチプレクサを使用することも可能である。
さらに、AD変換器ADCに接続されない導線Caの端部側で導線Caに直列接続する抵抗Raがある。抵抗Rbは同様のマナーで導線Cbに接続される。
全ての抵抗R1a〜R2bとまたRa及びRbはオーム抵抗の同じ普通の値を有する。未定の電位が抵抗Ra,Rbの使用により防がれる。抵抗が、別々の素子/装置となり、又は例えばタッチスクリーンなどに統合される。抵抗は、抵抗素子、特にスイッチ機能を満たさないトランジスタによって置き換えられる。抵抗は、カーボン印刷により製造される。
図2は、3つのキースイッチS1a,S1b,S2bが同時に押され、且つ第1駆動線L1がグランドに設定される場合の信号状態を示す図である。第2駆動線L2及び全ての他の駆動線が、例えば3.3〜5VのVccに設定される。
図2の左に示すように、線Caに関連する信号状態があり:
−抵抗Raの一端が、電位Vccに設定され、
−第1直列接点SC1(S1a,R1a)はグランドとなる。
第2直列接点SC2のスイッチS2aが開き、すなわち、線Caの電位又は電流に、この直列接点SC2は貢献しない。結果、第2直列接点SC2は図2には示されない。
これらの信号状態は、入力E1での1/2Vccの電位に至る。1/2Vccの電位は、縦列で1のスイッチのみが押されているなら、その場合のみ可能である。さらに、1/2Vccの電位は、押圧又はアクティブスイッチを示す。
図2の右に示すように、線Caに関連する以下の信号状態があり:
−抵抗Rbの一端が、Vccに設定され、
−第4直列接点SC4(S2b,R2b)が、Vccであり、
−第3直列接点SC3(S1b,R1b)はグランド電位となる。
これは、入力E2での2/3Vccの入力電圧に至る。これは、多くの従来のキーボードに反して、スイッチS1bのゴーストキーのないことを意味する。線Cbの電位は、グランド又はVcc電位のデカップリング効果のため、線Ca上の電位に影響を与えない。駆動線を介したカップリングはなく、というもの、駆動線は高いオーム値の抵抗R1a,Raなどと比較して、低いオーム値の固定電位に接続されるためである。これらの抵抗R1a,Raなどはまた、短絡を防止する。
図3は、3つのキースイッチS1a,S1b,S2bが押され、且つ第2駆動線L2がグランドに設定される場合の信号状態を示す図である。第2駆動線L2を除く第1駆動線L1及び全ての他の駆動線が、Vccに設定される。
図3の左図に示すように、線Caに関連する以下の信号状態があり:
−抵抗Raの一端が、Vccに設定され、
−第1直列接点SC1(S1a,R1a)はまたVccである。
第2直列接点SC2のスイッチS2aが開き、すなわち、線Caの電位又は電流に、この直列接点SC2は貢献しない。結果、第2直列接点SC2は図3には示されない。
これらの信号状態は、線Caでの1/2のVccの電位に至る。
図3の右に示すように、線Cbに関連する以下の信号状態があり:
−抵抗Rbの一端が、Vccに設定され、
−第3直列接点SC3(S1b,R1b)が、Vccであり、
−第4直列接点SC4(S2b,R2b)はグランド電位となる。
これらの信号状態は、線Cb上の2/3Vccの電圧に至る。このため、図2の右図と比較して、信号変化がない。ゴーストキーは再度発行されない。
図4は、4つのキースイッチS1a,S1b,S2a,S2bが押され、且つ第1駆動線L1がグランド又は0Vに設定される場合の信号状態を示す図である。
第2駆動線L2及び全ての他の駆動線が、例えば3.3又は5VのVccに設定される。
図4の左図に示すように、線Caに関連する以下の信号状態があり:
−抵抗Raの一端が、Vccに設定され、
−第2直列接点SC2のスイッチS2aはまた、このとき閉じられ、及び、
−第1直列接点SC1(S1a,R1a)は再びグランドとなる。
これらの信号状態は、線Ca上の2/3Vccの電圧に至る。電流値が2/3Vccは、2のスイッチ、すなわちここでは全スイッチが押圧されることを意味する。
図4の右に示すように、線Cbに関連する以下の信号状態があり:
−抵抗Rbの一端が、Vccに設定され、
−第4直列接点SC4(S2b,R2b)が、Vccであり、
−第3直列接点SC3(S1b,R1b)はグランド電位となる。
これは、入力E2上で2/3Vccの電位に至る。
図5は、4つのキースイッチS1a,S1b,S2a,S2bが押され、且つ第2駆動線L2がグランドに設定される場合の信号状態を示す図である。
第2駆動線L2を除く第1駆動線L1及び全ての他の駆動線が、Vccに設定される。
図5の左図に示すように、線Caに関連する以下の信号状態があり:
−抵抗Raの一端が、Vccに設定され、
−第1直列接点SC1(S1a,R1a)はまたVccとなり、
−第2直列接点SC2のスイッチS2aは閉じられ、すなわち、第2直列接点SC2がグランドに設定される。
これらの信号状態は、線Cbの2/3Vccの電圧に至る。マトリクスMの縦列内での電位の変化がないことは、全てのキースイッチが押されず又は押されていることを示す。電流の量はまた、これら2つのケースが有効、すなわち、ここではVccに関する信号差があるため第2のケースであることを示す。
図5の右に示すように、線Cbに関連する以下の信号状態があり:
−抵抗Rbの一端が、Vccに設定され、
−第3直列接点SC3(S1b,R1b)が、Vccであり、
−第4直列接点SC4(S2b,R2b)はグランド電位となる。
これらの信号状態は、線Ca上の2/3Vccの電圧に至る。駆動線L1,L2の電位は変化し、しかし、読取り線Caの電位は同じにとどまる。
マトリクスMの縦列内での電位の変化がないことは、全てのキースイッチが押されず又は押されていることを示す。ゴーストキーは再度問題とならない。さらに、静的状態が、押圧キースイッチ又はアクティブキースイッチの検知に使用される。
下記のテーブルは、仮に3×3のマトリクスが使用される場合の、相関電流を示す。このテーブルの各横列は、低電圧の駆動線に対応する。このテーブルの縦列は、マトリクスMの縦列、すなわち、読取り線Ca,Cbの1つ上に押圧されるキースイッチの数を参照する。
押圧されたキースイッチ : 0 1 2 3
グランドの第1駆動線 : 1 Vcc 1/2 Vcc 2/3 Vcc 3/4 Vcc
グランドの第2駆動線 : 1 Vcc 1 Vcc 2/3 Vcc 3/4 Vcc
グランドの第3駆動線 : 1 Vcc 1 Vcc 1 Vcc 3/4 Vcc
以下では、nが各読取り線でのスイッチの数を与え、すなわち、nが図2〜5の例では2であり、3×3のマトリクスでは3であることを意味する。
押されたキーの数を示すため、また、キーが押されること、すなわち、一連のストロボすること又はスキャンすることに関して以下の一般ルールがある。
1)駆動線電位の全ての組み合わせのための電圧の変化がないこと:
a)Vccの電位は、キースイッチが押されていないことを示す。
b)n/(n+1)の電位は、全てのキースイッチが押されることを示す。
2)すなわち、一連のストロボ又はスキャン内において、駆動線電位の異なる組み合わせのための電圧の変化がある。
a)押圧されたキーの数は、縦列内での最も低い値から決定され得る。押圧されたキーの数は、直接、分数の分子に対応し、ここで、分母は、上述したテーブルを参照し、マトリクスの1の縦列内のキーの数によって与えられる。
b)キースイッチは、仮に対応する線の読取りの間、読取り線の電位がマトリクスの縦列の電位の最大値以下、すなわち例えばVcc以下の値を有すると、押圧されている。
縦列で押されていないキーの数に依存する最大限の数に留意する。
他の一般則がまた使用される。
代わりに、他の構成がAD変換器ADCのデータを処理、及びAD変換器ADCを制御するために使用される。
代わりに、他の信号の組み合わせが駆動線上で使用される。もし例えば4以上又は10以上の駆動線があるならば、方法、すなわちより速い検知を可能にする、駆動線の数以下で使用される組み合わせを減らすものが使用される。これらの方法は、例えば組み合わせから、特に、12のコインの問題から知られ、すなわち、駆動線の最初の半分が高レベルで、残りの半分が低レベルに設定されることである。更なる変化が読み取られた信号に基づいて成される。これはまた、ゴーストキーの防止及び1の縦列で押圧された複数キーの検知を許容する。
図6は、コンピュータのキーボードの構成を示す。キーボードは、
−入力設定器10と、
−マイクロコントローラ26と、
−インターフェース36とを備える。
図6は、更に例えば1の線の導線20(読取り線)、及び例えばマトリクスMでの10の線の更なる導線22(駆動線)を示す。
入力設定器10のAD変換器ADCは、データ線及び制御線を備える信号バス30によりマイクロコントローラ26に接続される。
マイクロコントローラ26は、
−メモリMem、例えばRAM (Random Access Memory), ROM (Read Only Memory), PROM (Programmable ROM)、EEPROM (Electrical Erasable PROM)、又は他の種類のメモリMemと、
−メモリMemに記憶される指示を実行するプロセッサPと、
−マトリクスMの駆動線、すなわち線L1,L2等に接続される駆動回路24と、
−駆動回路24及びプロセッサPの間の信号バス32と、
−プロセッサP及びメモリMemの間の信号バス34と、を備える。
代わりに、AD変換器がまたマイクロコントローラ26の一部となる。
信号バス30は直接プロセッサPに接続される。
代わりに、マイクロコントローラ26のインターフェース回路が図示していないが使用される。
信号バス36は、マイクロコントローラ26に接続される。
信号バス36は、コンピュータの中心部へのインターフェースである。信号バス36のプロトコルは例えばPS/2又はUSBである。
図7は、押されたスイッチの数に、AD変換器ADCの出力値の範囲のマッピングを示す。マトリクスMの1の縦列内に11のキースイッチがあるのが確定される。従って、1/12〜11/12Vccの電位値に対応する11のレンジTR1〜TR11がある。TR12はキーが押されていない場合である。
レンジTR1〜TR11の長さは、均等であり、仮にマトリクスMの各縦列内に11のキースイッチがあるなら、最大出力値の2〜4%のレンジ内となる。
押されたスイッチの数、又はどのスイッチが押されたか、又は1の縦列内でどのスイッチが押されたかを決定するために使用されない隣接するレンジTR1〜TR12の間に、出力値がある。2の隣接するレンジの"距離"Diはまた、例えば、AD変換器ADCの最大の出力値の2〜4%のレンジ内である。好ましくは、使用されないレンジは、分類のために使用されるレンジと同じ長さを有する。これは、四捨五入、量子化、及び分割できない与えられた整数の値のためにいつも可能というわけではない。
図8は、制御装置、例えば図6のマイクロコントローラ26により処理されるデバウンシング信号50及び平滑信号52を示す。
キースイッチが押される前の信号値V1(電圧又は電流)と、キースイッチが押された時点での信号値V2(電圧又は電流)の信号差分Dがある。
デバウンシング信号50は、数回上下し、それにより振幅を減少し、幅を減少するスパイクを示す。このため、中間状態を検知することに挑戦している。しかし、AD変換器ADCの使用が、中間値、例えば信号値V1の75%、50%及び25%などの検知を許容する。
例えば統計的分析との組み合わせで、平滑コンデンサを用いて、速く変化しているデバウンシング関数に反する平滑値を得ることができる。代わりに、キースイッチのアクティブの最初で高電位未満のデバウンシング信号又は値の最小値を検知することができる。最大値又は低信号値より大きいと考えられる値が、仮に信号が最初低ければ検知される。
高低の信号状態は、上述された全ての例で置換される。
本願発明の形態及びこれらの有利点が詳細に述べられたが、付加される請求項により定義される本願発明の精神および範囲から逸脱しない様々な変更、置換及び改造がなされ得ることに留意されたい。例えば、ここで述べられる特徴、関数、過程及び方法は、本願発明の範囲内において当業者によって変更されることは容易に理解される。さらに、本願発明の範囲は、特に本願で記述されたシステム、過程、製造、方法又はステップの特定の形態に限定されることを意図しない。当業者は、現在までに存在している又は実際的に同じ機能を実行又は同じ結果を達成する後年発展されるであろう本願発明のシステム、過程、製造、方法又はステップの開示から容易に感謝し、というのも、ここで述べられる対応する形態は、本願に応じて利用されるからである。従って、付加された請求項は、そのようなシステム、過程、方法又はステップの範囲内を含むことが意図される。
[発明を実施するための形態]
<第2アスペクト>
本願の好ましい形態の製造及び使用は後述される。しかし、本願が様々な特定の文脈中で具体化され得る多くの適用可能な発明のコンセプトを供することが、好ましい。論ぜられる特定の形態は、単に、本願発明を作り及び使用する特定方法を示し、本願発明の範囲を限定するものではない。“may”がこの出願で使用される限り、実際の技術実行とともにそれをする可能性を意味する。
図9は、特にLED32,42など、一列の光学素子を通って流れる電流を制御するための回路設定10を示す図である。唯一のLEDの代わりに、LED又は光学素子のドライバの一連の束が、似た方法で又は同じ方法で制御される。回路設定10は、本形態ではキーボードの一部である。
図9には示さないキーボード及びコンピュータの間には、インターフェース12で、正操作電圧Vccがある。キーボードのキースイッチ14は、LED32に隣接又は物理的に接触する位置にある。他のキーボードのキースイッチは図9には示されない。代わりに、導波路がキースイッチに光を誘導するために使用され、例えば、キースイッチの周囲に配置された枠である。
インターフェース12は変圧器18に電気的に導電で接続される。本形態では、USBインターフェース12が使用される。変圧器18は昇圧型に属する。
代わりに、バックコンバータ、インバータ、変圧器の他のタイプが使用され得る。入力電圧は、例えば、4〜5Vの範囲である。変圧器の出力電圧は、15〜25Vの範囲である。
変圧器18は、Vccと回路ノードN1の間のインダクタ20を備える。インダクタ20は、10〜100mHの範囲、例えば47mHのインダクタンスを有する。スイッチング電界効果トランジスタ(FET)T1のドレインは、ノードN1に接続される。スイッチングトランジスタT1のソースは、グランドに接続される。PWM信号26は、トランジスタT1のゲートに接続される。FETのバイポーラトランジスタの代わりにまた、同様の方法が使用され得る。
更に、ショットキーダイオード22又は別のダイオードのアノードはまた、ノードN1に接続される。ショットキーダイオード22のカソードは回路ノードN2に接続される。ショットキーダイオードは、高速スイッチングを可能にし、低い順方向電圧を有する。代わりに、特にMOSFETなど、適切に制御されたトランジスタが、ショットキーダイオード22の代わりに使用できる。
コンデンサ28がノードN2とグランド電位に接続される。変圧器18の主関数が知られている。ダイオード22は、トランジスタT1に加えて、変圧器18の第2スイッチを形成する。
LEDの第1列30は、ノードN2とノードN3に接続される。ノードN3とグランドに接続された検知抵抗60がある。このように、第1分岐、又は列30とレジスタ60から成る第1直列接続がある。
第1列30は、例えば、7又は8の又は他の数のLEDから成る。列30の第1LED32のみが図9において示される。
LEDの第2列40は、ノードN2とノードN4に接続される。ノードN4とグランドに接続された検知抵抗62がある。このように、第2分岐、又は列40とレジスタ62から成る第2直列接続がある。
例えば、7又は8の又は他の数のLEDから成る第2列40は、第1列30のそれに等しい電圧降下に至り、それは通常、第1列30中と同じ数のLEDであることを意味する。列40の第1LED42のみが図9において示される。
他の形態では、列30及び40に並列に接続されたLEDの2列以上がある。他の列は、抵抗60及び62に対応する抵抗を介してグランドに接続される。抵抗60,62はまた、抵抗R_Bとして名付けられ、低いオーム値を有し、それは例えば50Ω以下である。
分圧器50は、例えば10:1分圧であり、またノードN2とグランドに接続される。分圧器50は、2又はそれ以上の抵抗52,54を直列接続で有して成る。ノードN5は、抵抗52と54の間を接続する。
第1抵抗70は、ノードN3に接続される。抵抗72は、ノードN4に接続される。対応する抵抗がノードN2に接続された更なるLED列の対応するノードの接続される。抵抗70,72などの一端は、回路ノードN6に接続される。抵抗70,72などは、全て例えば4.5KΩや5KΩ以上の同じ高いオーム値を有する。
4つのAD変換器ADC1〜ADC4がある。AD変換器ADC1は、ノードN6に接続され、抵抗60,62などを通る電流の平均値I_Eを検知する。k、すなわちLEDの列の数によって積算された電流I_Eは、変圧器18の出力電流に対応する。
AD変換器ADC2は、ノードN5に接続され、LED列30,40などの電圧U_LEDを検知する。電圧U_LEDは変圧器18の出力電圧に対応する。更に、ユニティゲイン増幅器や電圧フォロワーがノードN5及びAD変換器ADC2の間に接続される。分圧器52,54及び/又はユニティゲイン増幅器はオプションである。
AD変換器ADC3は、図13に示すように、変圧器18及びマイクロコントローラーを備える回路の入力に接続される。AD変換器ADC3はU_IN(U入力)を検知する。再び、分圧器又はユニティゲイン増幅器が使用される。電圧U_INは変圧器18の入力電圧に対応し、しかしまた、マイクロコントローラーの操作電圧を生成するために使用される更なる変圧器の入力電圧に対応することもある。
AD変換器ADC4は、図9に示していない抵抗容量ネットワークを介して、インターフェース12のインダクタ(図示せず)に接続される。このネットワークは、DSR読み取り(直流電流レジスタンス)のために使用される。AD変換器は、変圧器18の入力電流に対応する、及びマイクロコントローラーの更なる変圧器の入力電流に対応するI_IN(I入力)を検知する。マイクロコントローラーの電力を決定するのにADC4を使用することが可能である。しかし、他の方法は、マイクロコントローラーによって使用される電流を決定するために使用される。この電流は、回路設定10の操作の間、比較的安定して残る。
以下の数式は、回路設定10の全電圧電流特性を決定するために、又は操作の適切点を見つけるために使用される。
I_E = U_ADC1/ R_B (1)
ここで、U_ADC1は、AD変換器ADC1で検知される電圧であり、R_Bは抵抗60,62のオーム値である。
P_OLED = U_LED * I_E *k (2)
ここで、kはLED列の数を与える整数、P_OLEDはLEDの全パワーである。
数式3は、変換器入力を記述している。P_OLED及び変換効率要素Nyにより、数式2に相関し、この数式2は実質上変換器の出力を述べている。Ny =1 - ガンマである。
I_ILED = P_OLED / ((1 - Gamma) * U_ILED) (3)
ここで、I_ILEDは、回路ポイント80を参照し、変換器18への入力電流であり、U_ILEDは、回路ポイント80を参照し、変圧器18への入力電圧であり、一方ガンマは、変換器18の損失要因(例えば十分な負荷を確約している0.02〜0.10の範囲)であり、
I_USB(MAX) = I_Proz + I_ILED(MAX) (4)
ここで、I_Prozは、プロセッサにより消費される電流であり、パワーコンバータへの最大電流であり、I_USB(MAX)はUSB標準に応じた最大電流である。
ADC4を用いることにより直接、入力電圧I_USBを検知することができる。
数式(1)〜(4)は、I_ILED(MAX)を算出するために用いられる。U_LEDは、I_ILEDがI_ILED(MAX)に至るまで増加される。
図10は、2のLED32,34又は異なる温度での1のLED32の電圧/電流特性曲線106,108を示す。代わりに、特性曲線106,108は、LEDの2列30,32又は異なる温度での一列30において有効である。
座標系100は、LED又はLED列にかかる電圧を示すX−軸102を有する。座標系100のY−軸104は、LED又はLED列を通る電流を示す。
LED又はLED列の特性曲線は、たとえLED又はLED列が許容内で予め選択されていても、個別に変化する。このため、特性曲線106,108はLED又はLED列又は特別な操作状態、例えば特別な温度などで有効であることは知られていない。
制約の1つは、LED又はLED列又はLEDの束の最大電流は従って動かされることである。他の制約は、USBインターフェース12から引き出される最大入力電流である。図10は、特性曲線106、すなわち電圧U1及び電流I1で有効なUSBインターフェース12での最大パワーP1の第1長方形を示す。第2長方形は、特性曲線108、すなわち電圧U2及び電流I2に関してUSBインターフェース12での最大パワーP2で有効である。電流I1は電流I2より大きく、電圧U1は電圧U2より小さい。
図11は、1のLED、一列のLED、LEDの列の束の特性曲線の電圧とデューディ比を決定するためのステップを示す。この方法はステップ200で開始する。後のステップ202において、開始値は、変圧器18の出力電圧のため選択される。10〜15%の開始のデューティ比Ducは、選択され、すなわち、トランジスタT1のドレインとソースは、与えられた(固定の)周波数fを使用する1のデューティ比の時間tの10〜15%のために接続される。1のLED列内で、電圧は例えば14Vで、電流は10μAとされる。さらに、15列あり、すなわち、全電流は330μAとなる。これは、3,6mWのパワーを与える。
ステップ206,208を参照し、特性曲線の検知の最初においてDucの増加に制約はない。これは、比率が、ステップ209を参照し、例えば5〜10%で、比較的大きなステップで増加されることを意味する。ステップ209において、デューティ比はステップ208において決定された値より増加される。デューティ比DuCの増加は、例えば図12の部分260に示すように、出力電圧を増加する。
しかし、この形態において図12に示すように、平坦部262は、例えば17Vの電圧U4で全特性曲線の中に至る。平坦部は、図12に示すように、例えば30%〜50,55%のデューティ比DuC1の間である。平坦部内で、変圧器の出力電圧はなかなか増加しない。変化しない電圧は、LED列30〜40を通る電流が変化しないことを意味する。
これは、デューティ比が再度、ステップ206,208に示すように、例えば5〜10%で、比較的大きなステップで増加されることを意味する。平坦部の最初及び最後で例えば1mAの電流、例えば、17V(U4)があることを確定する。さらに、周波数はまた、平坦部の幅に影響を有する。
仮にステップ209でデューティ比がさらに増加すると、図12に示すように、特性曲線256の再度の増加部264が生じる。しかし、部分264での曲線の形は、個別のLED、LED列、又は並列で使用されるLED列に依存する。
図12に示すように、増加部264の端部では、ステップ208においてとても小さなステップ幅が、少なくともできるだけ早く変圧器18の出力電圧の減少又は小さな増加を検知するために使用される。
仮に出力電圧の減少又は小さな増加が検知されると、図14〜25に示す下記に述べる方法によつて曲線をさらに延長することができる。
ステップ幅は電流のデューティ比の1%未満である。ステップ幅は、0.5%又は0.45%未満である。
仮にステップ206に示すように、デューティ比の増加が不可能ならば、ステップ210がステップ206の直後に来る。仮に限界が例えばUSB標準によって、標準の記述により設定されたものに至るなら、増加が不可能である。この方法はステップ210で終了する。
図12は、デューティ比(DuC)対回路設定10の電圧特性曲線256を示す図である。座標系250は、変圧器のデューティ比、すなわちPWM信号26を示すX−軸252を有する。座標系100のY−軸254は、すなわち変圧器18の出力での電圧である電圧U_LEDを示す。
特性曲線256の第1部分260がある。第1部分内では、0%のDuC及び電圧0からDuC1及びU4までの第1増加がある。DuC1は例えば30%である。U4は例えば17Vである。
特性曲線256の第2部262は、平坦部を形成し、ここでは仮にデューティ比がDuC1からDuC2に増加されるなら、電圧は大きく変化しない。DuC2は例えば50〜55%である。例えば周波数を増加など、部262内でPWM信号26の周波数を変化できる。
特性曲線256の第3部264はDuC2で開始する。第3部内では、変圧器18の出力で、デューティ比DuC3及び電圧U5に再度増加する。下記の数式は、部264で真実であり、
U(DuC) = 1/(1-DuC) * U0
ここで、U0は変圧器18の入力電圧である。
PWMの周波数は部260,262で部264の主要部より高い。代わりに、PFMが部260,262内で使用される。
部264の端部でのPWMの周波数は、部260の主部内のPWMの周波数より小さい。部264の主部内では例えば1,5MHzの周波数であり、部264の端部では0,75MHzであり、すなわち、周波数は好ましくはステップ状に、25〜75%の範囲内で減少される。
特性曲線256の第4部266で電圧は更に増加する。部266は、USBインターフェース12の仕様の限界外となる。従って、部266は検知されない。しかし、後述する図14〜25で説明するように、部266にとても近くに動くことは可能である。
図13は、回路設定10の更なる構成を示す。AD変換器ADC1〜ADC4は、データ線及び制御線を備える信号バスによってマイクロコントローラー300に接続される。
マイクロコントローラ300は、
−メモリM、例えばRAM (Random Access Memory), ROM (Read Only Memory), PROM (Programmable ROM)、又はEEPROM (Electrical Erasable PROM)、又は他の種類のメモリと、
−メモリMに記憶される指示を実行するプロセッサPとを備える。
代わりに、AD変換器ADC1〜ADC4がまた、マイクロコントローラー300の一部となる。
マイクロコントローラ300はさらに、
−特性曲線決定部302又は例えばキーボードのファームウェアの一部など対応のプログラム、
−オプション周波数決定部304又は例えばキーボードのファームウェアの一部など対応のプログラム、
−例えばプログラムとハードウェアを備えるデューティ比決定部306、を備える。
特性曲線決定部302は、図11に示す方法を実行する。
オプション周波数決定部304は、部264の端部で使用される。更に、決定部302は、部260及び262内でPWM信号26の周波数fを増加するために使用される。代わりに、PFMが部260,262内で使用される。
しかし、変調のDuc2の別の手段での残りは、単にPFMの周波数を増加する代わりに適用され、ここでPFM(pulse frequency modulation):それは、DuC2で適用されるフェーズ上での長さのフェーズ上でのコンスタントスイッチを利用すること、U4(図4)より低い電圧のオフフェーズを伸ばすことを意味する。これは、実質的には、低い電圧において連続的に周波数を下げることさえ意味する。そこでの電圧は、厳密に均一な周波数の増加機能となり、理論的には、直線に実質的に近くなる。これは、同じ方法であり、パワー有のスイッチングが、より効率的な低いパワーモードで利用されている。これはまた、部260,262の他の場合に適用する。
デューティ比決定部306は、特性曲線決定部302の一部となり、しかしまた、例えば、ユーザ依存の値や温度値に依存してデューティ比を決定するために使用される。
代わりに、他のハードウェアがマイクロコントローラ300の代わりに使用され、すなわち、別体のマイクロコントローラ又はプロセッサなしのハードウェアである。
制御部308は、P_MAXよりかなり低い輝度に関するPWM信号26のデューティ比を制御するために使用される。詳細は、図15〜19を参照して後述される。制御部310は、P_MAXに近い輝度に関するPWM信号26のデューティ比を制御するために使用される。詳細は、図20〜25を参照して後述される。
図14は、LED32,42、又はLED列30,40の電流対輝度特性曲線356を示す図である。同じ曲線356が全てのLED列30,40において有効であり、すなわち、電流値は、LED列30,40の数によって積算されなければならない。これらのデータは、LEDの製造のデータシートにおいて発見される。テーブル又はスプラインを使用する、例えば三次式スプラインを使用することにより、メモリMにデータを記憶することができる。
座標系350は、LEDにかかる電圧Uの値を示す水平X−軸352を有する。垂直Y−軸354は、対数目盛を用いる輝度Bの値を示す。ほとんどすべてのドメインにおける電流対輝度の相関は、わずかなオフセットを伴う直線であり、すなわち、とても低い電流のためのデッド領域で、より大きな値の端部でやや直線である。
特性曲線356のポイント360は、P_MAXより低い輝度360に関連し、すなわち、通常LED32,42の中間輝度又は低輝度に関連する。特性曲線356のポイント362は、P_MAX近くの輝度362に関連し、すなわち、高輝度に関連する。P_MAXは、装置の実際の入力電圧及びUSB標準により設定される最大電流を有する製品により決定される。LED32,42及びLED列30,42に使用され得るパワーP_MAXLEDは、P_MAX及びUSBインターフェース12又はUSBハブに接続される他の回路に依存する。P_MAXは、例えばUSB2.0で普通2.5Wである。P_MAXLEDは、他の装置及び/又は回路のエネルギー消費、すなわち、マイクロコントローラー300又は同じUSBインターフェース12で操作される他の装置の消費が考慮されるため、P_MAX未満である。これは、図25を参照して詳細を後述される。
図15は、デューティ比、及びLED32,42、LED列30,40、又は好ましくは並列に接続された全てのLED列30,40を通って流れる電流の値の検知されたペアを示す図である。AD変換器ADC1を用いてI値を検知又は測定さえできる。対応のPWM信号26の値のデューティ比DuCは、マイクロコントローラ300内で知られる。
座標系370は、PWM信号26のデューティ比DuCの値を示す水平X−軸372を有する。座標系370の垂直Y−軸374は、全てのLED32,42を流れる、すなわち、上記式I_LED = I_E * kで定義される電流値I_LEDを示す。
参照電流I_Sがまた、座標系370に示される。参照電流I_Sは、キースイッチ14を備えるキーボードの使用により選択される中間輝度Bに対応する。特性曲線356は、選択された輝度に属する電流I_Sを決定するために使用される。
デューティ比DuCの値と対応電流Iの値のペア380,386は、AD変換器ADC1及びマイクロコントローラ300を用いて検知される。また、デューティ比DuCの値、電圧U、及び対応電流Iの3組を算出することも容易である。ポイント380,382,384,及び386で接続するだろう増加曲線があるのが分かる。デューティ比DuCは、ポイント380のD1から、ポイント382のD2、ポイント384のD3を介して、ポイント386のD4まで増加される。デューティ比D1〜D4も同じ増加となる。しかし、図15に示すI_S近くに位置するポイントにおいて、より小さなインターバルを有することも可能である。マイクロコントローラ300は、仮に電流Iが参照電流I_Sより高いと検知されるならポイントの検知を止め、すなわち、ポイント386が本形態で自動的に検知される最後のポイントである。
図16は、P_MAXから離れた操作の第1ポイントを検知するために使用されるニュートン反復法を示す図である。図16は、参照電流I_Sに近いポイント384,386に関連するデューティ比D3、D4間の相関範囲のための座標系370の拡大図を示す。
マイクロコントローラ300のタスクは、ポイント384,386及び電流I_Sを示す水平線の接続するだろう曲線390間の交点を見つけることである。曲線390は、本形態では3次スプラインである。他の補間法も使用できる。
ニュートン反復法はポイント386で開始する。直線392は、ポイント386での曲線390の傾きを示す。ニュートン反復法に応じて、直線392及びI_Sの水平線の交点がポイント394に示すように計算される。ポイント394は、デューティ比D5を与える。曲線390の公式(スプライン)は、デューティ比D5、すなわちポイント396に属する電流Iを決定するために使用される。次のニュートン反復法は、ポイント396である。仮に、デューティ比が電流I_Sに関して与えられるデルタ範囲内である電流に与えられて決定された場合、ニュートン反復は終了する。
図17は、P_MAXから離れた操作の第1ポイントを検知するための方法のステップを示す図である。この方法は、上述の図14〜16に関して図的に既に述べられた。図17に示される全てのステップS2〜S20は、自動的にマイクロコントローラ300により実行される。
この方法は、方法ステップS2、すなわち、短く言うとステップS2で開始する。輝度Bが、ステップS2に続くステップS4で決定される。輝度Bは、例えばキーボードのユーザによって入力された値に基づく。輝度Bは、メモリM又は入力バッファから読まれる。
特性曲線356は、ユーザに選択された輝度Bに属する参照電流I_Sを決定するステップS6で使用される。
デューティ比DuC及びI_LEDの値のペアは、ステップS6に続くステップS8で決定される。第1ペアは、例えば図15のポイント380で示される。
それから、電流I_LED又は最後に検知された値のペアに属するIがI_S、すなわち参照値より高いか否かを確認する。仮に値I_LEDが高くないなら、方法はステップS12で続く。
デューティ比DuCが、例えば、固定値によって又はデューティ比DuCを増加するための戦略に応じて、ステップS12で増加される。
方法は、今ステップS8〜S12のループ内であり、例えば図15のポイント382,384を参照し、DuC及びIの値の幾つかのペアを決定する。ステップS8〜S12のループは、仮に電流I_LEDが参照電流I_Sより大きいなら、ステップS10内に残される。
仮に、電流I_LEDが参照電流I_Sより高い、すなわち最終ポイント386が検知されるなら、ステップS14がステップS10のすぐ後に続く。マイクロコントローラ300が、上述の図16を参照してニュートン反復法を実行する。他の反復法又は他の相関交点を決定する方法も使用される。仮に、曲線390の交点又は交点近くでデューティ比DuC及び参照電流I_Sが見つけられるなら、反復法は終了する。
ステップS14で決定されたデューティ比DuCは、PWM信号26及び変圧器18を制御するためにステップS16で使用される。それから、この方法はステップS20で終了する。
しかし、例えば、キーボード内又はキーボード外での温度変化に起因して曲線390また曲線356のドリフトがある。ドリフトは、最初に決定されたデューティ比DuCに関して、より高い又はより低い電流Iに至る。従って、好ましくは、図18に示すように閉回路制御が必要である。
図18は、キーボードの操作の間、中間の輝度を制御することを示す図である。最終の操作ポイントはポイント398であるものとされる。ポイント398は、例えば、図14〜17に関して述べられた方法によって決定された。代わりに、ポイント398が前述の閉回路制御によって決定される。
図18は、参照電流I_Sより高い電流I_2を示す。AD変換器ADC1で検知されるIのデルタD_Iがある。仮にデルタD_Iが、例えば閾値T1で定義されるデルタ範囲外ならば、デューティ比の訂正が必要となる。訂正値は、複数の方法の1を使用して決定される。とてもシンプルでしかしにも拘らず効果的な方法が本形態では使用される。
ポイント386のドリフトが起きた場合を想定する。代わりに、どんな他のポイントでも同じ方法で扱われる。直線392の傾きは、ポイント386での曲線390の傾きに対応する。ポイント386は、実際で又は曲線390での電流値である。
この傾きm及びデルタD_Iは、下記の式に応じてD_DuCを計算するために使用され、式はD_DuC = D_I/mであり、ここで、mは直線392の傾きである。それからD_DuCがDuCを減らすために使用される。
仮にドリフトが他の方向、すなわち、電流I_LEDがI_Sに関する閾値の下に減るならば、同じ方法がD_DuCを決定するために使用される。しかし、ポイント398での曲線390の傾きは使用され、すなわち、ターゲットポイントになる。
図19は、キーボードの操作の間、中間の輝度をデジタル制御する方法のステップを示す図である。この方法は、この方法は、上述の図18において図的に既に述べられた。図19に示される全てのステップS102〜S106は、自動的にマイクロコントローラ300により実行される。
この方法は、方法ステップS102、すなわち、短く言うとステップS102で開始する。デルタI、すなわちD_Iが、ステップS102に続くステップS104で決定される。AD変換器ADC1がI_LEDを決定するために使用される。マイクロコントローラ300は、I_LED及び参照電流I_Sの差分を算出する。
それから、D_Iの絶対値が閾値T1より高いか否かを確認する。仮にD_Iの絶対値が高くないなら、方法はステップS104で続く。
この方法は、今ステップS104及びS106のループ内であり、ドリフトの発生を待っている。代わりに、仮にドリフトが検知されると、その時のみこの方法が開始する。中断が、マイクロコントローラ300の対応ルーティンを開始するために使用される。
仮にD_Iの絶対値が閾値T1より高いなら、ステップS104,S106のループはステップS106に留まる。
ステップS108は、もしD_Iの絶対値が閾値T1より高い、すなわち最終のポイント386が検知されたなら、ステップS106のすぐ後に続く。
それから、電流I及び電流I_LEDの実値が参照電流I_Sより高いか否かが確認される。仮に電流Iの値がI_Sより高くない、すなわち、電流Iの値より低いドリフトがあるならば、この方法はステップS110に続く。
ターゲットポイントでの曲線390の傾き値は、例えば図18に示すポイント398で、ステップS110で決定される。この方法は、次にステップS114に続く。
しかし、仮に電流Iの値がI_Sより高い、すなわち、電流Iの値より高いドリフトがあるならば、この方法はステップS112中のステップS108の後に続く。電流又は操作の実値での曲線390の傾き値は、例えば図18に示すポイント386で、ステップS112で決定される。この方法は、次にステップS114に続く。
ステップS114は、上述の公式に応じるデューティ比DuCの相関値又はデルタ値D_DuCの計算に関連する。
電流のデューティ比DuCは、D_DuCのため計算された値に基づいてステップS116で訂正される。
ステップS104はステップS116の後に再度続き、すなわち、この方法は、ステップS104〜116のループの範囲内であり、LED32,42の輝度を制御することを実行する。仮にコンピュータやキーボードが例えばスイッチオフならば、この方法は終了する。
図20は、P_MAXLEDに近い特性曲線の決定を示す図である。P_MAXLEDの計算は、下記の図25に関連して詳述される。
座標系400は、U_LEDの値を示す水平X−軸402を有する。U_LEDは、AD変換器ADC2を使用して検知される。座標系400の垂直Y−軸404は、I_LEDの値を示す。I_LEDは、AD変換器ADC1を使用して検知される。
電流I3及び電圧U3bが、LED32,42のために、すなわちその時で列30,42のために許容される最大パワー消費のために有効であると想定される。これは、電流I3及び電圧U3bの製品が電気パワーP_MAXLEDに等しいことを意味する。
後述される方法が、パワー限界P_MAXLEDを超えることはない。というのも、関数が凹形であり、補間法のために使用される傾きは、本当のものよりきつく、計算された新たなU_LEDがU_LED_U3bより低いことを保証している。仮に幾つかの他の装置がパワーを減らしている追加のパワー、ライトシステムによって使用されるために残されたパワーを消費している場合にのみ、これが起こる。しかし、MCU(micro controller unit)又は他の処理部がこれを起こす全ての構成を制御しているために、追加のパワーを消費している装置を開始する前にLED−電流を減らすことができる。温度ドリフトは、限界を超えるP_MAXの前に検知されるほどゆっくりである。
さらに、パワー限界P_MAXLEDが変化しやすい。しかし、この方法は、固定されたパワー限界のために使用され得る。
検知値410〜414のペアは、マイクロコントローラ300によって検知され、すなわち、電圧U0b及び対応電流を有するポイント410、電圧U1b及び対応電流を有するポイント412、電圧U2b及び対応電流を有するポイント414である。ポイント410〜414は、USB標準の又は例えばファイヤーワイヤーなど他の標準の記述内にある。これは、ポイント410,412,414の電気パワーが最大パワーP_MAXLEDより小さいことを意味する。従って、これらポイント410,412,414の検知は、固定されたステップ幅を伴う増加しているUによって、又は他の適切な戦略に応じて、可能である。ポイント410〜414より下の曲線又は複数曲線420を見つけるために補間法を使用できる。スプライン補間法は、例えば3次元スプライン又は2次元スプラインなど、使用される。
しかし、より洗練された方法が、仮に操作ポイントが最大パワーの近くならば、最大パワーP_MAXLEDが超えられていないか確認する為に使用される。これに関しては後述する。
曲線422は、最大パワーに対応し、また電圧U3b及び電流I3を有するポイント414〜416で、補外される。再度、スプラインはまた、補外法のために使用される。しかし、他の補外法はまた、使用される。
ポイント416での曲線422の傾きmは、例えば、曲線422の最初の偏差を用いることにより決定される。直線430は、この傾きmを示す。曲線422の傾きmは、Uの値の増加に伴い増加することが確定される。ポイント416での傾きmはまた、U_LEDの次の値を決定するためにポイント414で使用される。
これは、図的に、直線432を参照し、線430をポイント414に平行移動することによりなされる。それから、線432と水平線I3の交点が計算され、例えば、電流I3及びポイント414での電流及び線432の傾きmの差分を使用することによりなされる。これは、デルタUがポイント414で電圧U2bに追加される結果になる。結果の電圧は、電圧U4bである。
電圧U4bは、対応するデューティ比DuCを、例えば、図12を参照し、特性曲線256を使用することにより決定するために使用される。記憶された曲線256の値のペアは、この目的のために使用される。代わりに、式が、上述されたU(DuC)のために与えられた式の再アレンジによって得られるかもしれず、使われる。言い換えると、変換器の特性関数の逆関数を使用することは、必要なデューティ比の良い推定を与え、又は逆スプラインを生成するために曲線256からデータを使用すること、すなわち、斜めに曲線256をミラー転写することのいずれかである。
このデューティ比DuCは、変圧器18を制御するために使用される。それから、電圧U_LEDは、再度AD変換器ADC2によって検知され、対応の電流Iは、AD変換器ADC1によって検知され、電圧U_LED及び電流I_LEDの間の関係を記述する更なるポイント440に至る。
次の反復ステップは、ポイント414の代わりにポイント440、ポイント416のため決定される傾きmを再度使用することにより実行される。仮に最終ポイントのためのパワーが最大パワーP_LEDMAXに充分に近いなら、反復法は終了される。唯一の反復法、又は他の方法を使用して失っているポイントを見つけることも可能である。
図21は、P_MAXに近い特性曲線の決定のために方法ステップを示す図である。この方法は、上記図20に関連して既に図的に述べられた。図21に示される全てのステップS202〜S218は、自動的にマイクロコントローラ300により実行される。
この方法は、方法ステップS202、すなわち、短く言うとステップS202で開始する。USB標準内である電気パワーを有する最後の知られたポイント414は、ステップS202の後のステップS204で決定される。
最後のポイント414及びオプションでまた他のポイント410,412は曲線422をポイント416に補外するためにステップS204で使用され、ポイント416は、列30,40内でのLED32,42のための最大電気パワーを示す。
それから、ポイント416での派生、すなわち、最大パワーのポイントが、ステップS208を参照し、このポイント416での傾きmを得るために計算される。
ステップS210において、最後に検知されるポイントは、ステップS208において計算される傾きmを使用する次の補外のための開始点として使用される。例えば、これは、第1反復においてポイント414であり、第2反復においてポイント440である。U_LEDのための新たな値は、傾きmを使用する補外に基づき算出される。
その後、ステップS212において、U_LEDのための新たな値が、変圧器18のための適切なデューティ比を選択することにより設定される。アップデートされた特性曲線256は、その目的のために使用される。
電圧U_LEDの値、及び電流I_LEDの値は、ステップS214での新たなデューティ比のために検知される。AD変換器ADC1は、電流I_LEDを検知するために、AD変換器ADC2は、電圧U_LEDを検知するために使用される。
それから、更なる反復ステップが必要か否か確認される。この方法は、仮に更なる反復ステップが必要な場合、矢印442を参照し、ステップS210において継続される。
この方法は、今、ステップS210〜S216のループ内であり、電圧U_LED及び電流I_LEDの新たなペアの値を見つけている。全てのペア又はポイントは、P_MAXLED未満の電気パワーを有する。
ステップS210〜S216のループは、仮に更なる反復が必要でないなら、ステップS216のみが残り、例えば、なぜなら、値の最後のペアの値は、P_MAXLEDに非常に近い電気パワーを有するためである。もしこの場合には、ステップS216のすぐ後にステップS218が続く。
図22は、実施の形態2において、P_MAX又はP_MAXLEDにより正確に近い特性曲線の決定を示す図である。図22は、図20に対応する。しかし、ポイント440は、補外曲線422を改善するために使用される。新たな曲線450は、ポイント414,440とまたポイント410,412を使用して計算される。
ポイント440での曲線450の傾きm2は、ポイント416での曲線422の傾きmの代わりに、次の反復で使用される。この反復は、図20と比較して、より正確、及び/又はより速くなる。
図21に第2形態を示し、ステップS216からステップS206までの点線444を参照する。従って、この方法は、ステップS206からステップS216までのループであり、改善された補外曲線422,450などを用いて電圧U_LED及び電流I_LEDのペアの値を見つけている。全てのペア又はポイントは、P_MAXLED未満の電気パワーを有する。
図23は、キーボードの操作の間、P_MAX又はP_MAXLEDに近い輝度の制御を示す図である。Iのより高い電流値、すなわち例えば電流I4に、ドリフトがあるのが分かる。マイクロコントローラ300は、Iの差分、すなわち、デルタD2_Iを検知する。仮にデルタD2_Iが閾値T2より増加したら、マイクロコントローラ300は、閉ループ制御ステップを実行する。
曲線422の派生、又はポイント498でアップデートされた曲線450の派生が計算される。ポイント498は、電流I3より高い電流値I4を有する。
ポイント498での派生は、傾きm3の直線500によって示される。直線500は、ポイント498での曲線422,450の接線を示す。電圧のデルタD_Uは、デルタD2_I及び傾きm3を用いて計算される。デルタD_Uは、例えば電圧U4b及び電圧U3bの間だった電圧U_LEDの最後の値から差し引かれる。
新たなデューティ比DuCが、電圧U_LEDのための新たな値に基づいてアップデートされた特性256から決定される。PWM信号26は、U_LED及びI_LEDの減少となる新たなデューティ比に応じて調整される。
高い値へのドリフトに反して、ターゲットポイントの傾きは、仮に図18に示すように電流Iのより低いほうへのドリフトがあるなら、使用されなければならない。
図24は、キーボードの操作の間、P_MAXに近い輝度Bの制御のための方法のステップを示す図である。この方法は、図23において図的に既に述べられた。図24に示される全てのステップS302〜S312は、自動的にマイクロコントローラ300により実行される。
この方法は、方法ステップS302、すなわち、短く言うとステップS302で開始する。デルタI、すなわちD2_Iが、ステップS302に続くステップS304で決定される。AD変換器ADC1がI_LEDを決定するために使用される。マイクロコントローラ300は、I_LED及び参照電流I3又はI_Sの差分を算出する。
それから、D2_Iの絶対値が閾値T2より高いか否かを確認する。仮にD2_Iの絶対値が高くないなら、方法はステップS304で続く。
この方法は、今ステップS304及びS306のループ内であり、ドリフトの発生を待っている。代わりに、仮にドリフトが検知されると、その時のみこの方法が開始する。中断が、マイクロコントローラ300の対応ルーティンを開始するために使用される。
仮にD2_Iの絶対値が閾値T2より高いなら、ステップS304,S306のループはステップS306に留まる。
ステップS308は、もしD2_Iの絶対値が閾値T2より高いなら、ステップS306のすぐ後に続く。
それから、I又はI_LEDの実値が参照電流I_Sより高いか否かが確認される。仮に電流Iの値がI_Sより高くない、すなわち、電流Iの値より低いドリフトがあるならば、この方法はステップS310に続く。
ターゲットポイントでの曲線390の傾き値は、ステップS310で決定される。この方法は、次にステップS314に続く。
しかし、仮に電流Iの値がI_Sより高い、すなわち、電流Iの値より高いドリフトがあるならば、この方法はステップS312中のステップS308の後に続く。曲線422又は操作の電流点での曲線450の傾き値は、例えば図23に示すポイント498で、ステップS312で決定される。
仮にポイント498がドリフトのために第1時間に至ったなら、単純に最後に意図的に調整されたポイントでの傾きが適切に縮小され、というのも、ドリフトが曲線の基本形を変えず、しかし大雑把に曲線が単に延長されたと考えられるためである。もちろん、結果たる調整は、新たなペア値を生成し、通常の補間法による新たな曲線を更に改善するために使用できる。温度ドリフトが全ての曲線を縮小し、一方、他のほとんどの影響が、単に、触らずに存在する曲線の、許容された最大の移動となる。許容範囲の最後では、既に説明したようになり、一方、他のポイントにおいては、既にその派生が傾きを与える知られた補間機能がある。
その後、この方法はステップS314に続く。
ステップS314は、傾きm及びデルタI、すなわち例えばD2_Iを使って訂正値及びデルタ値D_Uを計算するために使用される。新たなU_LEDがデルタD_Uを用いて計算される。
電流のデューティ比DuCは、D_Uのため計算された値に基づいてステップS316で訂正される。特性曲線256は、新たな電圧U_LEDのために新たなDuCを計算するために使用される。PWM信号26は、新たなデューティ比DuCに応じて適用される。これは、電流Iの増加又は減少に至る。
ステップS304はステップS316の後に再度続き、すなわち、この方法は、ステップS304〜316のループの範囲内であり、最大パワーP_MAXLEDの近く、LED32,42の輝度を制御することを実行する。仮にコンピュータやキーボードが例えばスイッチオフならば、この方法は終了する。
異なる曲線が図19,24に応じて、すなわち、電流対デューティ比(図19)、及び電流対電圧(図24)に応じて使用される。デューティ比DuC対電流I依存の十分な良い近似値が、電圧U対電流I依存から計算され、操作ポイントがP_MAXから離れている限りにおいて逆も真である。P_MAXから離れた操作ポイントでの制御のために、電圧U対電流I依存を使用することもできる。というのも、等しく使われるデューティ比及び電圧の間に、厳密に単調な増加相関があるためである。
図25は、P_MAXの決定の方法ステップを示す。図25に示される全てのステップS400〜S412は、自動的にマイクロコントローラ300により実行される。
この方法は、方法ステップS400、すなわち、短く言うとステップS400で開始する。回路設定10の入力電圧U_INは、ステップS400に続くステップS404で検知される。AD変換器ADC3は、U_INを検知するために使用される。
参照電圧U_REFの関するU_INの相関減少は、ステップ402の後に続くステップS404で計算される。USの参照電圧U_REFは、例えば5ボルトである。
全体の最大電気パワーP_MAX及び/又はLED32,42及び列40,42のために使用されるパワーP_MAXLEDは、ステップS404の結果に基づいて、ステップS408で計算される。最大パワーP_MAX、P_MAXUSB、又はパワーP_MAXLEDの減少は、例えば、入力電圧U_INの減少に比例する。これは、例えば、仮にU_INがまたU_REFに相関して10%まで減るならば、P_MAXLEDが10%まで減ることを意味する。他の計算機構がまた、使用され得る。
例えば、図21及び24に示す方法で、新たなP_MAXLEDがステップS410で使用される。
オプションのステップS412は、遅延を備える。この方法は、ステップS402からの開始を再び繰り返させる。
以下の公式は、P_MAXLEDの計算に使用される。
P_MAXUSB = U_USB * 500 mA (milli Amperes),
ここで、U_USBは、背後にあるダイオードの内部電圧である。
P_USB = P_LED + P_PROZ,
P_MAXLED = (P_USB - P_PROZ) * (1-GAMMA),
ここで、GAMMAは、変圧器内の損失比率である。
最大パワーP_MAX及び/又はパワーP_MAXLEDは、仮に入力電圧U_INの電圧降下があるなら、減らされる。電圧降下は、他のUSBインターフェースとパワー有を共有するUSBインターフェースで、更なる装置にプラグ接続のため、生じる。更に、電圧降下は、LED自体を通した高い電流のために、生じる。これは、輝度は、仮にユーザはあまりに高い輝度を選択する場合、上述した方法で自動的に限定されることを意味する。その良く定義されない性質のため、可能な生じるUSB電圧降下は、この方法が全体としてすることを介して、効果的にP_MAXLEDを限定することに適していない。
図21は、仮にパワーP_MAXLEDが増加するならば関連し、例えば、なぜなら、USB装置が、他のUSBインターフェースとパワー有を共有するUSBインターフェース12から取り除かれるからである。参照電流I3又はI_Sは、この場合、増加する。更なるレンジに入る特性曲線420の補外法は、発見されなければならない。
しかし、図24のように、仮にパワーP_MAXLED及び参照電流I_Sが減少するならば、ステップS312が関連し、例えば、なぜなら、USB装置が、同じパワー有を共有する他のUSBインターフェース12に接続されるからである。特性曲線420は、既にこの場合、知られている。
他の方法が、P_MAX又はP_MAXLEDを決定するために使用される。例えば、AD変換器ADC4を使用することができる。入力電流I_INがADC4で検知される。仮に入力電流I_INが例えばUSB標準や他の関連標準により特定されるI_MAXより高いなら、パワーP_MAX及び/又はP_MAXLEDが減らされなければならない。最大電気パワーP_MAXの減少量は、本明細書により記載される電流に至るに必要なI_INの減少に比例する。
図25の方法の結果は、図20の方法のために考慮されなければならない。両方の方法が、仮に限界で操作するならば、適用されなければならない。図25に示す方法は、仮に限界から充分に離れて操作するならば、不可欠である。
特にインバータ、バックコンバータ、ブーストコンバータの代わりのフライバックコンバータなど変換器の他の種類を用いることも可能である。仮にバックコンバータが使用されるなら、回路の1の枝に、1のLED又は2のLEDのみがある。
他の形態において、LED駆動部の操作電圧は、同じ又は対応の回路又は方法を使用することで制御される。LED列は、複数のLEDを駆動する1の駆動回路で置換される。
予め選択されたLEDが使用され、例えば、このLEDは、LEDの製造者が、参照電流のとても小さな範囲内で、例えば、±5%より小さな範囲内、又は例えば範囲の中間の範囲内にある参照輝度に関しては1%内で、輝度を保証する。しかし、本願はまた、予め選択されたLED/オプションの素子に適当である。一定の入力電圧が、USB電圧の代わりに他の形態中で使用される。
本願は、車、トラック、船、航空機などの自動制御装置のディスプレイやパワーLEDのためのキーボードLED、バックライトLEDのために使用される。
本願発明の形態及びこれらの有利点が詳細に述べられたが、付加される請求項により定義される本願発明の精神および範囲から逸脱しない様々な変更、置換及び改造がなされ得ることに留意されたい。例えば、ここで述べられる特徴、関数、過程及び方法は、本願発明の範囲内において当業者によって変更されることは容易に理解される。さらに、本願発明の範囲は、特に本願で記述されたシステム、過程、製造、方法又はステップの特定の形態に限定されることを意図しない。当業者は、現在までに記載した又は実際的に同じ機能を実行又は同じ結果を達成する後述で発展された本願発明のシステム、過程、製造、方法又はステップの開示から容易に感謝し、というのも、ここで述べられる対応する形態は、本願に応じて利用されるからである。従って、付加された請求項は、そのようなシステム、過程、方法又はステップの範囲内を含むことが意図される。互いに紹介の形態を組み合わせることが可能である。さらに、互いに図の記述の例を組み合わせることが可能である。
さらに、序章の形態及び図の記述例を組み合わせることが可能である。
[発明を実施するための形態]
<第3アスペクト>
本願の好ましい形態の製造及び使用は後述される。しかし、本願が様々な特定の文脈中で具体化され得る多くの適用可能な発明のコンセプトを供することが、好ましい。論ぜられる特定の形態は、単に、本願発明を作り及び使用する特定方法を示し、本願発明の範囲を限定するものではない。“may”がこの出願で使用される限り、実際の技術実行とともにそれをする可能性を意味する。さらに、もし他に延べられないなら、同じ参照符号は同じ技術形態を参照する。
図26は、USBケーブル14を介してコンピュータ12に接続されるキーボード10を示す図である。
キーボード10は、
−プロセッサ、メモリ、及び周辺回路、又はマイクロプロセッサ、又は単なるプロセッサチップなどのマイクロコントローラ16と、
−例えばプッシュボタン17、又はタッチスクリーンなどの他の入力エレメントである複数のプッシュボタンと、
−マイクロコントローラ16の一部たるメモリ18と、
マイクロコントローラ16又は異なるUSBチップの一部かもしれないUSB装置機能20と、を備える。
全ての入力エレメントは、例えばプッシュボタン17に加えるプッシュボタンヘッド17aなど、同じ素子を備える。キーコード、すなわち17bは、各プッシュボタン、すなわち17、又はプッシュボタンヘッド、すなわち17aのために定義され、使用される。プッシュボタン17は、文字"A"を実行しているプッシュボタンヘッドに属する。従って、対応するキーコード17bは、すなわちここでは十進法で04と同じの、「hex 04」である。
メモリM又は18は、プロセッサやコントローラ16のための操作指示を含むファームウェア22を備える。下記で述べられる方法は、仮にファームウェア22の指示がプロセッサ又はコントローラ16で処理されるなら、実行される。代わりに、例えばFPGA(Field Programmable Gate Array)など、プロセッサやコントローラ16のない回路が使用される。
コンピュータ12は、
−例えば、マイクロプロセッサなどのプロセッサ24と、
−プロセッサ24の指示データ、及び/又は指示の処理の間に使用される他のデータを記憶するメモリ26と、
−例えば、USB仕様に沿って操作するUSBホスト28と、を備える。
メモリM又は30は、
−キーボード10のためのデバイスドライバ30のプログラムと、及び/又は、
−特に図32に関連し、後述するようにレポート記述子を読むことができ、及び/又はそのようなレポート記述子に沿ってレポートを受けることができるパーサー・プログラム32と、を備える。
パーサー・プログラム32は、デバイスドライバ30の一部である。
USBホスト28は、USBケーブル14を介して、キーボード10内で定義され実行される複数のエンドポイントと通信し:
−主に、USB装置20、すなわちキーボード10の構成目的のために使用されるエンドポイントEP0、
−例えばBIOSのブートプログラムに接続して使用されるエンドポイントEP1、
−オペレーションシステムの制御下で、キーコードの伝達のために使用されるエンドポイントEP2、
−オペレーションエンドポイントEPx、ここでxは3〜32のレンジの範囲内の数である。
エンドポイントEP0はまた、デフォルトエンドポイントと呼ばれ、構成データ40を参照し、BIOS及びオペレーションシステムの開始の間、他のエンドポイントの構成のために使用される。BIOSの開始の間、エンドポイントEP0及びEP1のみが使用される。エンドポイントEP1は、このフェーズ内で、エンドポイントEP0を介して構成される。双方向性データの移動41が、USBホスト28からUSB装置20へ、及び反対のUSB装置20からUSBホスト28に、行われる。
エンドポイントEP1は、ブートプロトコルデータ44を参照し、修飾子のために1〜6のキーコードバイト+1バイトを送信するために使用される。8番目のバイトは、「RESERVED」であると明細書中に定義され、キーコードのため又は修飾子のために使用されることができない。ほとんどのBIOS’sは、送信ごとのそのような多くのキーコードを扱うことができる。エンドポイントEP1からのキーコードは、ペイロードデータ42中、USBホスト28に送信される。USBホスト28は、キーコードデータをドライバ30に仕向ける。ドライバ30は、コンピュータ12のメインのオペレーティングシステムと通信し、又はオペレーションモードに依存して直接BIOSと通信する。
ペイロードデータ46は、USBホスト28からエンドポイントEP2に向かわされ、又は他の方向、すなわち、USB装置20からUSBホスト28に向かわされる。ペイロードデータ46は、幾つかのレポートを備え、すなわち、
−レポートデータ48、
−レポートデータ50、及び
−オプションのレポートデータ52である。
レポートデータ48は、例えば数値0を有する第1レポート識別子ID0により特定される。第1レポートデータ48の定義に応じて、6までのノーマルキーコード、すなわち、修飾子なし、及び最大8修飾子のための1バイトを含むことが可能である。
レポートデータ50は、例えば数値1を有する第2レポート識別子ID1により特定される。第2レポートデータ50の定義に応じて、6までのノーマルキーコード、すなわち、修飾子なし、及び最大8修飾子のための1バイトを含むことが可能である。
レポート識別子IDxを参照して、同じことがオプションのレポートデータ52及び可能な更なるレポートデータに言える。再度、これらの更なるレポート内で、6までのノーマルキーコード、すなわち、修飾子なし、及び最大8修飾子のための1バイトを含むことが可能である。
USBホスト28は、BIOSブートの間及びOSオペレーションモードの間、USB装置からレポートデータ48〜52と、レポートデータ44を要求する。これは、ポーリングと呼ばれる。NAK(not acknowledged、すなわち要求データの否定)は、仮にキーコードがレポートのためにそこにないなら、USB装置20から送られる。これは、いずれのキーも押されていない、又は押されたキーのキーコードが同じ送信フェーズ又は期間内でより早いレポートにより送信され得る場合である。
レポートデータ48〜52のフォーマットの定義は、図32に関し、後述される。レポート記述子内でのレポートデータ48〜52の定義に基づいて、パーサー32は、ペイロードデータ46からキーコードを抽出できる。パーサー32は、コンピュータ12のオペレーティングシステムにキーコードを仕向けるキーボードドライバ30の一部である。
このため、2のエンドポイントEP1及びEP2のみが、2のポーリングフェーズ間で押された全てのキーコードを送信するために使用される。更に、オーバヘッドデータがほとんどなく、というのも、6のノーマルキーコードのみがレポートごとに送信され、すなわち、仮に1のみのキーコードがグループ内で送信されなければならないなら、修飾子のための5バイトのオーバヘッド排除データがある。
図27は、USB仕様に応じる装置記述子100を示し、例えばUSB2.0、2000年4月27日、頁262,263を参照する。下記では、これらのフィールドのみが、本願のよりよい理解のために述べられる。他のフィールドはまた、しかし本願に近い関係を有しないものが使用される。
デバイス記述子100は、例えば、
−記述子の最初から0バイトのオフセットを有する長さ(length)データ102、
−1バイト及び2バイトのオフセットを有する記述子データ(descriptor)104、
−4バイトのオフセットを有するデバイスクラス(device class)データ106、
−5〜16バイトのオフセットを有する更なる記述子(descriptor)データ108、
−17バイトのオフセットを有する構成(configuration)記述子110の数、を備え、又はから成る。
長さデータ102は、バイト中のデバイス記述子100のサイズを特定する。デバイスクラスデータ106はキーボードのクラスコード、すなわち、クラスコードhex 03のHID (Human Interface Device)を記述する。構成記述子110の数は、可能な構成の数を参照する。後述の図28に関し説明される構成記述子によって述べられる少なくとも1の構成がある。
図28は、USB仕様に応じる構成記述子を示し、例えばUSB2.0、2000年4月27日、頁265,266を参照する。下記では、これらのフィールドのみが、本願のよりよい理解のために述べられる。他のフィールドはまた、しかし本願に近い関係を有しないものが使用される。
構成記述子120は、例えば、
−記述子の最初から0バイトのオフセットを有する長さデータ122、
−1バイト及び2バイトのオフセットを有する記述子データ124、
−4バイトのオフセットでインターフェース記述子の数126、
−5〜7バイトのオフセットで更なる記述子データ128、
−8バイトのオフセットでデータ特定最大パワー130、を備え、又はから成る。
長さデータ122は、構成記述子120の長さを特定する。インターフェース記述子126の数は、この構成によりサポートされるインターフェースの数を参照する。少なくとも、インターフェースはサポートされる。インターフェース記述子の例を図29下に示す。
最大パワーを特定するデータ130は、この特定構成で、装置が充分に操作で2mAユニットすなわち50=100mAで表される時に、バスからUSB装置の最大パワー消費を与える。
図29は、USB仕様に応じるインターフェース記述子140を示し、例えばUSB2.0、2000年4月27日、頁268,269を参照する。下記では、これらのフィールドのみが、本願のよりよい理解のために述べられる。他のフィールドはまた、しかし本願に近い関係を有しないものが使用される。
インターフェース記述子140は、
−0バイトのオフセットを有する長さ(length)データ142、
−記述子の最初から1バイト、2バイト又は3バイトのオフセットを有する記述子データ(descriptor)144、
−4バイトのオフセットでのエンドポイント146の数、
−5〜7バイトのオフセットでの更なる記述子(descriptor)データ148、
−8バイトのオフセットでの列(string)データ150のインデックス、を備え、又はから成る。
長さデータ142は、インターフェース記述子140のサイズを特定する。エンドポイント146の数は、エンドポイントゼロを除いて、このインターフェースによって使用されるエンドポイントの数を参照する。エンドポイント記述子の例が図31以下に示される。列データ150のインデックスは、このインターフェース、すなわち、インターフェース記述子140により特定されるインターフェースを記述する列記述子のインデックスを参照する。
図30は、USB仕様に応じるHID記述子160を示す図であり、例えば、HID仕様;Universal Serial Bus (USB)-Human Interface Devices (HID)のための装置クラス定義、ファームウェア仕様6/27/01、バージョン1.11, ページ22を参照する。下記では、これらのフィールドのみが、本願のよりよい理解のために述べられる。他のフィールドはまた、しかし本願に近い関係を有しないものが使用される。
HID記述子160は、
−0バイトのオフセットで長さ(length)データ162、
−1バイト、2バイト及び4バイトのオフセットを有する記述子データ(descriptor)164、
−5バイトでのオフセットでレポート記述子166の数、
−6バイトのオフセットで更なる記述子(descriptor)データ168、
−7バイトのオフセットでのレポート記述子170の長さを特定する長さデータ、
−9バイト、可能なら10バイトのオフセットで更なるデータ172、を備え、又はから成る。
長さデータ162は、HID記述子160の全サイズである数値表現である。レポート記述子166の数は、常に少なくとも1つであるクラス記述子、すなわちレポート記述子の数を特定する数値表現である。レポート記述子170の長さを特定する長さデータは、レポート記述子の全サイズである数値表現である。レポート記述子の例が図32以下に説明される。
図31は、USB仕様に応じるエンドポイント記述子180を示す図であり、例えばUSB2.0、4月27日、2000、ページ269〜271を参照する。下記では、これらのフィールドのみが、本願のよりよい理解のために述べられる。他のフィールドはまた、しかし本願に近い関係を有しないものが使用される。
エンドポイント記述子180は、
−0バイトのオフセットで長さ(length)データ182、
−1バイトのオフセットを有する記述子データ(descriptor)184、
−2バイトのオフセットでエンドポイントアドレスデータ186、
−4バイト及び5バイトのオフセットで更なる記述子(descriptor)データ188、
−6バイトのオフセットでインターバル(interval)データ190を備え、又はから成る。
長さデータ182は、この記述子180のサイズを特定する。エンドポイントのアドレスデータ186は、図26を参照して、USB装置20のアドレス、又はエンドポイントのエンドポイント識別子を記述する。インターバルデータ190は、データ送信のエンドポイントのポーリングのためのインターバルを特定する。インターバルは、すなわち1ms又は125μsユニットのいずれか、装置の操作スピードに依存しているフレーム又はマイクロフレームで表される。フルスピード又はロースピードインターラプトエンドポイントにとって、このフィールドの値は1〜255となる。
図32は、HID記述子160に参照されるレポート記述子200を示す。レポート記述子及び/又はレポート記述子のシングルデータフィールドは、HID仕様で述べられ、特定される。しかし、更なる定義の余地がある。ここで、リポート記述子は、HID仕様で述べられない同じキーボードのために、2のレポートを定義する。
HID仕様;Universal Serial Bus (USB)-Human Interface Devices (HID)のための装置クラス定義、ファームウェア仕様6/27/01、バージョン1.11, ページ23から25を参照する。下記では、これらのフィールドのみが、本願のよりよい理解のために述べられる。他のフィールドはまた、しかし本願に近い関係を有しないものが使用される。
レポート記述子200は、
ヘッドデータ202
−第1レポート定義204、
−第2レポート定義206、を備え、又はから成る。
ヘッドデータ202は、
−記述子データ210、例えば、USAGE_PAGE(...),
−更なる記述子データ212、例えば、USAGE(...)
−コレクション214の開始の定義、例えば、COLLECTION()を備え、又はから成る。
第1レポート定義204は、
−第1レポート識別子216、例えば、REPORT ID(0)、
−第1レポート218の記述子データ、例えば、usage(...), usage minimum(...), usage maximum(...), logical minimum(...), logical maximum(...),
−レポートサイズ220、例えば、report size(x)、ここでxは1〜nの範囲の数であり、例えばnは32又はそれ以上、
−レポートカウント222、例えば、report count(y)、ここで、yは、1〜nの範囲の数であり、例えばnは32又はそれ以上、
−入力定義又は出力定義224、例えば、input (data, variable, absolute)、
−更なる記述子データ226、例えば、input(constant)、すなわち、スペーサーバイト、を備え、又はから成る。
第2レポート定義206は、
−第2レポート識別子228は、例えば、REPORT ID(1)、
−第2レポート230の記述子データ、例えば、usage(...), usage
−レポートサイズ232、例えば、report size(y)、ここでyは1〜nの範囲の数であり、例えばnは32又はそれ以上、
−レポートカウント234、例えば、report count(w)、ここで、wは、1〜nの範囲の数であり、例えばnは32又はそれ以上、
−入力定義又は出力定義236、例えば、input (data, variable, absolute)、
−更なる記述子データ238、例えば、input(constant)、すなわち、スペーサーバイト、を備え、又はから成る。
データ240を参照し、異なるレポート識別子で、2のレポートより以上の定義をも可能にする。
以下は、キーボードレポート記述子の実行例であり:
const uchar code keyboardReportDescriptor[KEYBOARD_SIZ_REPORT_DESC] = { 0x05, 0x01, // usage page (generic desktop)
0x09, 0x06, // usage (keyboard)
0xA1, 0x01, // collection (application)
0x85, 0x00, // REPORT ID(0)
0x05, 0x07, // usage (Key codes)
0x19, 0xE0, // usage minimum (224)
0x29, 0xE7, // usage maximum (231)
0x15, 0x00, // logical minimum (0)
0x25, 0x01, // logical maximum (1)
0x75, 0x01, // report size (1)
0x95, 0x08, // report count (8) = Modifier Bits (x8)
0x81, 0x02, // Input (data, variable, absolute) = Modifier Byte
0x81, 0x01, // Input (Constant) = Reserved Byte
0x19, 0x00, // usage minimum (0)
0x29, 0x65, // usage maximum (101)
0x15, 0x00, // logical minimum (0)
0x25, 0x65, // logical maximum (101)
0x75, 0x08, // report size (8)
0x95, 0x06, // report count (6)
0x81, 0x00, // input (data, array) = Keycode Bytes (6)
0x85, 0x01, // REPORT ID(1)
0x05, 0x07, // usage (Key codes)
0x19, 0xE0, // usage minimum (224)
0x29, 0xE7, // usage maximum (231)
0x15, 0x00, // logical minimum (0)
0x25, 0x01, // logical maximum (1)
0x75, 0x01, // report size (1)
0x95, 0x08, // report count (8) = Modifier Bits (x8)
0x81, 0x02, // Input (data, variable, absolute) = Modifier Byte
0x81, 0x01, // Input (Constant) = Reserved Byte
0x19, 0x00, // usage minimum (0)
0x29, 0x65, // usage maximum (101)
0x15, 0x00, // logical minimum (0)
0x25, 0x65, // logical maximum (101)
0x75, 0x08, // report size (8)
0x95, 0x06, // report count (6)
0x81, 0x00, // input (data, array) = Keycode Bytes (6)
0x05, 0x08, // usage page (page# for LEDs)
0x19, 0x01, // Usage minimum (1)
0x29, 0x03, // Usage maximum (3)
0x15, 0x00, // logical minimum (0)
0x25, 0x01, // logical maximum (1)
0x75, 0x01, // report size (1)
0x95, 0x05, // report count (5)
0x91, 0x02, // output (data, variable, absolute) = LED Bits (x3)
0x95, 0x03, // report count (3)
0x91, 0x01, // output (constant) = Spacer Bits(
x3)
0xC0 // end collection
} ;
図33は、コンピュータ12及びキーボード10の間のデータ交換250を示す図である。
コンピュータ12又はより正確にはコンピュータ12のUSBホスト28は、IR(Interrupt Request) 送信リクエスト252をキーボード10に、すなわち、キーボード10内で実行されるUSB装置20に、送信する。リクエスト252は、所定間隔で送信される。これはまた、ポーリングとして知られる。
キーボード10内のUSB装置は、レポートデータ256を備えるアンサーを有するリクエスト252に答える。レポートデータ258は、同じアンサー内、すなわち、DATA0及びDATA1フェーズ内でより詳細に、又は同じポーリングサイクル内で更なるリクエスト252に応じて、送られる。
レポートデータ256は、第1レポート識別子ID(0)、及びキーコードの第1グループを備える。レポートデータ258は、第2レポート識別子ID(1)、及びキーコードの第2グループを備える。仮に第2グループのため残されたキーコードがないなら、空の第2レポート又はナック(NAK)が送信される。
図34は、コンピュータの開始の間の方法のステップを示す図である。この方法は、方法ステップS2、すなわち、短く言うとステップS2で開始する。この方法は、例えばコンピュータ12のリセットで開始する。ステップS4〜S8は、BIOSのブートプロセスに関係する。ステップS12〜S24は、ブートプロセス、及びコンピュータ12のメインのオペレーティングシステムの通常操作モードに関係する。
ステップS4はステップS2に続く。ステップS4において、BIOSは、例えば、エンドポイントEP1の構成を決定するためのエンドポイントEP0と通信する。他のエンドポイントEP2などは、BIOSにより使用はされない。
ステップS6において、BIOSは、キーがその時押されたか否か、エンドポイントEP1を要求し、例えば、BIOS内でセットアップを変えるためキーF1や他のキー又はキーの組み合わせである。キーボード20は、その時ステップS8で押されたキーのキーコードを送信する。
ステップS10を参照し、BIOSブート処理が完了した後、リセット信号が、USBホストをリセットし生成される。同時に、コンピュータ12のオペレーティングシステムが開始又はブートされる。
ステップS12において、メインのオペレーティングシステムは、データを、エンドポイントEP0、すなわちデフォルトのエンドポイントに、及び/又は、から送信する。この送信の間、全てのエンドポイントEP0, EP1, EP2, EPxなどのために記述子データがUSBホスト28に送信される。対応するエンドポイントは、必要なら構成され及び初期化される。初期化の後、エンドポイントが通常モードで使用される。
エンドポイントEP1は、ステップS14で要求される。エンドポイントEP1はステップS16で答え、例えば、第1グループ、もしあるなら第1形態での少なくとも2のレポートを使う第2グループの各キーコードを送信することによって答える。
エンドポイントEP2は、ステップS18で要求される。エンドポイントEP2はステップS20で答え、例えば、第1形態での他の入力装置の各データを送信することによって答える。第2形態において、仮に第2グループのためのいずれかのキーコードがあるなら、エンドポイントEP2は、第2グループのキーコードの送信のために使用される。
エンドポイントEPxは、ステップS22で要求される。エンドポイントEPxはステップS24で答え、例えば、エンドポイント特定データを送信することによって答える。
ステップS24を参照し、ステップS12〜22は繰り返される。例えば、コンピュータ12のスイッチオフなどにより、ステップS26でこの方法は終了する。
図35は、USBケーブル314を介してコンピュータ312に接続されるキーボード310を使う第2形態を示す図である。
キーボード310は、
−プロセッサ、メモリ、及び周辺回路、又はマイクロプロセッサ、又は単なるプロセッサチップなどのマイクロコントローラ316と、
−例えばプッシュボタン317、又はタッチスクリーンなどの他の入力エレメントである複数のプッシュボタンと、
−マイクロコントローラ316の一部たるメモリ318と、
マイクロコントローラ316又は異なるUSBチップの一部かもしれないUSB装置機能320と、を備える。
全ての入力エレメントは、例えばプッシュボタン317に加えるプッシュボタンヘッド317aなど、同じ素子を備える。キーコード、すなわち317bは、各プッシュボタン、すなわち317、又はプッシュボタンヘッド、すなわち317aのために定義され、使用される。プッシュボタン317は、文字"A"を実行しているプッシュボタンヘッドに属する。従って、対応するキーコード317bは、すなわちここでは十進法で04と同じの、「hex 04」である。
メモリM又は318は、プロセッサやコントローラ316のための操作指示を含むファームウェア322を備える。下記で述べられる方法は、仮にファームウェア322の指示がプロセッサ又はコントローラ316で処理されるなら、実行される。代わりに、例えばFPGA(Field Programmable Gate Array)など、プロセッサやコントローラ316のない回路が使用される。
コンピュータ312は、
−例えば、マイクロプロセッサなどのプロセッサ324と、
−プロセッサ324の指示データ、及び/又は指示の処理の間に使用されるデータを記憶するメモリ326と、
−例えば、USB仕様に沿って操作するUSBホスト328と、を備える。
メモリM又は330は、
−キーボード310のためのデバイスドライバ330のプログラムと、及び/又は、
−レポート記述子を読むことができ、及び/又はそのようなレポート記述子に沿ってレポートを受けることができるパーサー・プログラム332と、を備える。
パーサー・プログラム332は、デバイスドライバ330の一部である。
USBホスト328は、USBケーブル314を介して、キーボード310内で定義され実行される複数のエンドポイントと通信し:
−主に、USB装置320、すなわちキーボード310の構成目的のために使用されるエンドポイントEP0a、
−例えばBIOSのブートプロトコルに接続して使用されるエンドポイントEP1a、
−コンピュータ312のオペレーションシステムの制御下で、キーコード317bの伝達のために使用されるエンドポイントEP2a、
−オペレーションエンドポイントEPxa、ここでxは3〜32のレンジの範囲内の数である。
エンドポイントEP0aはまた、デフォルトエンドポイントと呼ばれ、構成データ340を参照し、BIOS及びメインオペレーションシステムの開始の間、他のエンドポイントの構成のために使用される。BIOSの操作の開始の間、エンドポイントEP0a及びEP1aのみが使用される。エンドポイントEP1aは、このフェーズ内で、エンドポイントEP0aを介して構成される。双方向性データの移動341が、USBホスト328からUSB装置320へ、及び反対のUSB装置320からUSBホスト328に、行われる。
エンドポイントEP1aは、ブートプロトコルデータ344を参照し、修飾子のために1〜6のキーコードバイト+1バイトを送信するために使用される。
ほとんどのBIOS’sは、送信ごとのそのような多くのキーコードを扱うことができる。エンドポイントEP1aからのキーコードは、ペイロードデータ342中、USBホスト328に送信される。USBホスト328は、キーコードデータをドライバ330に仕向ける。ドライバ330は、コンピュータ312のメインのオペレーティングシステムと通信し、又はオペレーションモードに直接BIOSと通信する。
ペイロードデータ346は、USBホスト328からエンドポイントEP2aに向かわされ、又は他の方向、すなわち、USB装置320からUSBホスト328に向かわされる。ペイロードデータ346は、レポートデータ348を備える。
レポートデータ348は、必ずしもレポート識別子を有する必要はない。レポートデータ348の定義に応じて、例えば100までのノーマルキーコード317b、すなわち、修飾子なし、及び修飾子のための1バイトを含むことが可能である。
オプションのペイロードデータ350は、USBホスト346からエンドポイントEPxaに向かわされ、又は他の方向、すなわち、USB装置320、エンドポイントEPxaからUSBホスト28に向かわされる。ペイロードデータ350は、オプションのレポートデータ352を備える。
オプションのレポートデータ352は、必ずしもレポート識別子を有する必要はない。レポートデータ352の定義に応じて、例えば100までのノーマルキーコード317b、すなわち、修飾子なし、及び修飾子のための1バイトを含むことが可能である。
USBホスト328は、BIOSブートの間及びOSオペレーションモードの間、USB装置320からレポートデータ348〜352と同様に、レポートデータ344とオプションのレポートデータ350を要求する。
これは、ポーリングと呼ばれる。NAK(not acknowledged)は、仮にキーコードがレポートのためにそこにないなら、USB装置320から送られる。
これは、いずれのキーも押されていない、又は押されたキーのキーコードが同じ送信フェーズ又は期間内でより低い識別子を伴うエンドポイントによって送信され得る場合である。
第2形態においては、レポートデータのフォーマットの定義はまた、USB仕様及び/又はHID仕様に沿っている。レポート識別子は必要でなく、というのも、1のレポートのみが各相関するエンドポイントのために定義される。しかし、レポート識別子は使用される。
このため、1のみのレポートがエンドポイントEP1a、EP2a、及びEPxaのために使用される。これは、レポートのシンプルな定義を許容する。少なくともレポートの1つは、例えば、1のポーリングサイクルで送信されなければならない7のキーコード以上、20のキーコード以上、又は50のキーコード以上を備える大変大きなレポートである。これらキーコードに属するキーは押され、及び/又は例えばマクロレコーダープログラムによって実行される。
好ましくは、第2エンドポイントは、大きな又はより大きなレポートを生成する。これは、仮にメインのオペレーティングシステムがキーコードの送信のためにより大きなレポートを扱うことができないなら、キーコードの送信のための第1エンドポイントの使用を可能にする。
本願は、キーボード又は入力装置は出力装置のために使用される。
HID仕様は、USBのみに有効ではなく、しかしまた、他の送信プロトコル、例えばBluetooth(登録商標)などのワイヤレスプロトコルにおいても有効である。
本願発明の形態及びこれらの有利点が詳細に述べられたが、付加される請求項により定義される本願発明の精神および範囲から逸脱しない様々な変更、置換及び改造がなされ得ることに留意されたい。例えば、ここで述べられる特徴、関数、過程及び方法は、本願発明の範囲内において当業者によって変更されることは容易に理解される。さらに、本願発明の範囲は、特に本願で記述されたシステム、過程、製造、方法又はステップの特定の形態に限定されることを意図しない。当業者は、現在までに記載した又は実際的に同じ機能を実行又は同じ結果を達成する後述で発展された本願発明のシステム、過程、製造、方法又はステップの開示から容易に感謝し、というのも、ここで述べられる対応する形態は、本願に応じて利用されるからである。従って、付加された請求項は、そのようなシステム、過程、方法又はステップの範囲内を含むことが意図される。
互いに紹介の形態を組み合わせることが可能である。さらに、互いに図の記述の例を組み合わせることが可能である。さらに、序章の形態及び図の記述例を組み合わせることが可能である。