JP2015507806A - Hidi2cデータバスのホスト側実装 - Google Patents

Hidi2cデータバスのホスト側実装 Download PDF

Info

Publication number
JP2015507806A
JP2015507806A JP2014551389A JP2014551389A JP2015507806A JP 2015507806 A JP2015507806 A JP 2015507806A JP 2014551389 A JP2014551389 A JP 2014551389A JP 2014551389 A JP2014551389 A JP 2014551389A JP 2015507806 A JP2015507806 A JP 2015507806A
Authority
JP
Japan
Prior art keywords
hid
driver
computing system
data
interrupt
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.)
Granted
Application number
JP2014551389A
Other languages
English (en)
Other versions
JP6210516B2 (ja
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015507806A publication Critical patent/JP2015507806A/ja
Application granted granted Critical
Publication of JP6210516B2 publication Critical patent/JP6210516B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)
  • Information Transfer Systems (AREA)

Abstract

HID I2Cデータバスのホスト側実装の実施形態において、コンピューティングシステムは、I2C上でHIDを介して当該コンピューティングシステムを周辺装置にインタフェースする、例えば組み込みデバイスなどに関する、装置ソフトウェアを実装するヒューマンインタフェース装置(HID)ソフトウェアスタックを含む。HID I2Cドライバが、HIDソフトウェアスタックを、I2Cデータバスを介して当該コンピューティングシステム内でデータを通信する装置へのHID I2Cインタフェースを各々が含む複数の周辺装置にインタフェース接続する。HID I2Cドライバは、それらの装置のI2Cコントローラドライバ及びGPIOコントローラドライバと互換性を有し、且つそれらとインタフェースをとる。それらのI2Cコントローラドライバ及びGPIOコントローラドライバは各々、異なる実装構成を有し得る。

Description

本開示は、ヒューマンインタフェース装置のICデータバスのホスト側実装に関する。
例えば携帯電話、メディアプレーヤ、及びタブレットコンピュータなどの消費者装置は、典型的に、例えばインター−インテグレイテッドサーキット(IC 2線式インタフェースバス)及び/又はシリアルペリフェラルインタフェース(SPI)バスなどのシンプルペリフェラルバス(SPB)上で内部接続される装置用プラットフォームを可能にしている。しかしながら、これらのシンプルペリフェラルバスは、例えばタッチスクリーンディスプレイ、キーボード、マウス入力装置、センサ、加速度計、及び装置のその他のヒューマンインタフェース装置(HID)クラスなどの、内部装置、外部装置及び/又は組み込みデバイスを動作させるための定められた規格を有していない。シンプルペリフェラルバス上で通信を行うための標準プロトコルがこれらのクラスの装置には存在していないため、これらの装置の製造者は一般に、これらの装置用の専用ドライバを提供している。消費者システムは、幾つかの異なるサードパーティ製造者及びハードウェア業者からの複数の内部接続された装置を含むことがあり、それらに対応するドライバは相異なるインタフェースを有する。これにより、システムインテグレーションの課題がもたらされ、システム品質上の欠陥及び安定性の懸念がもたらされ、且つ/或いは統合されたシステムドライバ更新及びドライバ検証を実行する能力が制限されてしまい得る。消費者システムは、複数の異なる専用ベンダドライバを含むことがあり、それらの多くはカーネルドライバとなり、典型的に、システム・オン・チップ(SoC)ICチップドライバでロゴ及び検証に合格しなければならない。
この概要は、HID ICデータバスのホスト側実装の概念を簡略化して紹介するものであり、この概念は、以下の詳細な説明にて更に説明され、且つ/或いは図面に示される。この概要は、特許請求に係る事項の本質的な特徴を記述していると見なされるべきでなく、また、特許請求に係る事項の範囲を決定あるいは限定するために使用されるべきでない。
実施形態により、HID ICデータバスのホスト側実装を提供する。
HID ICデータバスのホスト側実装の実施形態が記載される。実施形態において、コンピューティングシステムは、IC上でHIDを介して当該コンピューティングシステムを周辺装置にインタフェースする、例えば組み込みデバイスなどに関する、装置ソフトウェアを実装するヒューマンインタフェース装置(HID)ソフトウェアスタックを含む。HID ICドライバが、HIDソフトウェアスタックを、ICデータバスを介して当該コンピューティングシステム内でデータを通信する装置へのHID ICインタフェースを各々が含む複数の周辺装置にインタフェース接続する。HID ICドライバは、それらの装置のICコントローラドライバ及び必要に応じてのGPIOコントローラドライバと互換性を有し、且つそれらとインタフェースをとる。それらのICコントローラドライバ及びGPIOコントローラドライバは各々、異なるICコントローラハードウェアをサポートする異なる実装構成を有し得る。
他の実施形態において、HID ICドライバは、コンピューティングシステムのオペレーティングシステムにおける性能及び電力の最適化のため、カーネルモード・ツー・ユーザモードトランザクションを削減する。HID ICドライバは、当該HID ICドライバがIC装置上のアドレスの暗黙データ読み出しを該IC装置への先行IC書き込みトランザクションなしで実行するように、高速読み出しトランザクションに関して実装されることができる。HID ICドライバはまた、当該HID ICドライバがトランザクションごとの先行データ書き込みのない各データ読み出しに関してICデータバス上の同じアドレスから暗黙的にデータ読み出しを行うように、単一トランザクションデータ読み出しに関して実装されることができる。
他の実施形態において、HID ICドライバは、当該HID ICドライバが割り込みによって開始されるときに装置データを読み出し、ソフトウェアに該割り込みの処理をアンロードして素早く該割り込みの優先順位を下げるように、パッシブ割り込み処理を実装する。これは、オペレーティングシステムが、この特定の装置によって遅延されることなく、他の装置からの高い優先度の要求を処理し続けることを可能にする。HID ICドライバはまた、当該HID ICドライバが割り込みによって開始されるときに装置データを読み出し、このデータ読み出しが黙示的にこの装置割り込みに肯定応答するように、パッシブ割り込みアクナリッジメントを実装する。HID ICドライバはまた、コンピューティングシステムがより低い電力状態に入るとき、及び/又は装置ファームウェアが装置レベルのアクティビティを検出しないとき、低電力状態へと装置をアイドリングさせることを開始し得る。さらに、HID ICドライバは、ピン数の最適化のため、割り込みと装置ウェイクイベントとに共有あるいは唯一の入力接続を使用するように実装される。HID ICドライバはまた、ICデータバス上で検出されたエラー状態のエラー訂正及びスマートエラー処理を実装する。
以下の図を参照して、HID ICデータバスのホスト側実装の実施形態を説明する。図面中に示される同様の機構及びコンポーネントを参照するために、同じ参照符号を全体を通して使用することがある。
HID ICデータバスのホスト側実装の実施形態が実装され得るシステム例を示す図である。 HID ICデータバスのホスト側実装の実施形態が実装され得る実装例にて上記システム例を更に示す図である。 HID ICデータバスのホスト側実装の実施形態が実装され得るシステム・オン・チップ(SoC)例を示す図である。 1つ以上の実施形態に従ったHID ICデータバスのホスト側実装に係る方法例を示す図である。 HID ICデータバスのホスト側実装の実施形態を実装することが可能な装置例の様々なコンポーネントを示す図である。
C仕様上の標準化されたHIDを提供するものであるHID ICデータバスのホスト側実装の実施形態を説明する。HID ICドライバは、IC仕様上でHIDを実装し、シンプルペリフェラルバス(SPB)クラス拡張をコンピューティングシステム内のヒューマンインタフェース装置(HID)ソフトウェアスタックと接続する。HID ICドライバは、既存のHIDスタックとICスタックとの間のインタフェースをとるクラスドライバである。コンピューティングシステムのホスト側は、HID ICドライバと、コンピューティング装置のオペレーティングシステムプラットフォーム内に実装されたHID ICドライバと相互に関連するHIDソフトウェアスタックとを含む。HID ICドライバは、オペレーティングシステムSPB仕様に準拠してICトランスポートと汎用入出力(GPIO)トランスポートとをエクスポーズする如何なるホスト上でも動作することができる(プラットフォームごとを基礎にしてドライバを開発する必要がある従来のプラットフォームとは異なる)。SPBの標準化がないと、HID ICクラスドライバはさらに発展されることができるが、それはIC実装ごとにカスタマイズされる必要があることになる。
実施形態において、HID ICドライバは、適応可能であり、様々なベンダからの複数の異なるICコントローラドライバとともに実装されることができる。このHID ICドライバはまた、コンピューティングシステムとインタフェース接続される装置の既存のHIDアプリケーションとのソフトウェア互換性を維持する。このHID ICドライバはまた、コンピューティングシステムのオペレーティングシステムにおける効率に関して、HID ICドライバの電力、性能及びピン数の最適化を行う。
HID ICデータバスのホスト側実装の特徴及び概念は、様々な装置、システム、環境及び/又は構成にて実現されることができるが、ここでは、HID ICデータバスのホスト側実装の実施形態を以下の例に係る装置、システム及び方法との関連で説明する。
図1は、HID ICデータバスのホスト側実装の実施形態が実装され得る一例のシステム100を示している。このシステムは、例えばコンピュータ、サーバ、通信装置、ポータブル装置、タブレットコンピュータ、移動電話、ナビゲーション装置、メディアプレーヤ、及びゲーム装置など、如何なる種類のコンピューティング装置にて実現されてもよいコンピューティングシステム102を含んでいる。実施形態において、コンピューティングシステムは、システム・オン・チップ(SoC)として実装され(図3に示すSoCシステム例を参照して説明する)、X86型PCにて実装され、あるいはその他の種類のコンピューティング装置設計として実装され得る。コンピューティングシステム102を含んだコンピューティング装置は、例えば、プロセッサ及び/又はメモリ装置システム、並びに任意数の様々なコンポーネントの組み合わせ(図5に示す装置例を参照して更に説明する)など、様々なコンポーネントを用いて実現されることができる。また、コンピューティングシステムは、図3に示すSoCシステム例を参照して更に説明するような追加コンポーネントとともに実装されることができる。
コンピューティングシステム102はまた、ICデータバス104と周辺装置106とを含むコンピュータチップとして図示されており、周辺装置106は、HID ICインタフェース108を拡張性アプリケーション110とともに実装している。HID ICインタフェースは、センサ、組み込みデバイス、内部装置及び/又は外部装置(例えば、ヒューマンインタフェース装置(HID))、及び/又はその他の集積コンポーネントを、コンピューティングシステムにインタフェース接続することができる。周辺装置106のHID ICインタフェース108及び拡張性アプリケーション110は、例えばファームウェアなどのコンピュータ実行可能命令として実装されることができる。それに代えて、あるいは加えて、HID ICインタフェースは、ハードウェアにて実装されてもよい。周辺装置の拡張性アプリケーション110は、該装置に専用の機能及び/又は機構に関する拡張性データを、ICデータバス104を介して、コンピューティングシステム102にインタフェースするように実装されることができる。
HID ICインタフェース108は、周辺装置のオペラビリティ(操作性)基準を構築する。サードパーティの独立ハードウェアベンダは、周辺装置106のHID ICインタフェース108により、内部装置、外部装置又は組み込みデバイスをインタフェース接続するとともに、周辺装置の拡張性アプリケーション110により、違いを付けて専用の機能及び/又は機構を実装することができる。周辺装置106のHID ICインタフェース108はまた、内部装置、外部装置、及び/又は組み込むデバイス若しくはセンサがHID互換装置であることを、コンピューティングシステム102に指し示すように実装される。周辺装置106はまた、装置及び/又はセンサの構成を(例えば、データ構造や報告の記述などから)導出し、コンピューティングシステム102から設定データを受信して装置又はセンサを設定し、且つ/或いはコンピューティングシステムからの設定データを装置又はセンサに通信することができる。
周辺装置106の例は、例えば温度センサ、加速度計、ジャイロスコープ、方位計、又はその他の種類のセンサなどの、センサとして実装され得る周辺装置112を含む。周辺装置112のHID ICインタフェース108は、当該周辺装置をコンピューティングシステム102にICデータバス104を介してインタフェース接続する。他の実装例において、周辺装置のHID ICインタフェース108は、HIDデータフォーマットにて、当該周辺装置をコンピューティングシステム102にICデータバス104を介してインタフェース接続するように実装されることができ、データは、HIDデータ構造として、ICデータバスを介して通信される。周辺装置106のその他の例は、例えばタブレットコンピュータのタッチスクリーン表示装置などのタッチパネル116を、ICデータバスを介してコンピューティングシステムとインタフェース接続する周辺装置114を含む。他の一例において、周辺装置118が、例えばキーボード又はマウス入力装置などのコンピュータ入力装置120を、ICデータバスを介してコンピューティングシステムとインタフェース接続する。
周辺装置118はまた、センサ又はその他の集積装置(例えば、内部装置、外部装置、若しくは組み込みデバイス)を、ICデータバスを介してコンピューティングシステム102とインタフェース接続する。例えば、周辺装置118は、センサ又は装置の出力を、HIDデータの形態でICインタフェース上を橋渡しするように実装されることができる。装置製造者は、装置(例えば、タッチパネル、入力装置、組み込みデバイス、センサなど)を、該装置の機能をHIDを通じて提示(エクスポーズ)するように実装することができる。例えば、タッチスクリーンコントローラは、アナログセンサとし得るタッチセンサのロー(生)データを読み取って、コンピューティングシステムのCPUに伝達されるデジタル信号を生成するように実装され得る。これらのタイプのコントローラは、HIDプロトコルを通じてタッチデータをCPUに提示するように更新されることが可能である。
この例において、コンピューティングシステム102内のソフトウェアスタックは、センサスタック122、入力スタック124、及びHIDソフトウェアスタック126を含んでいる。このコンピューティングシステムはまた、HID ICドライバ128を含んでいる。HID ICドライバ128は、HID ICデータバスのホスト側実装の実施形態を実装するとともに、ICコントローラドライバ130及び汎用入出力(GPIO)コントローラドライバ132とインタフェースしている。実装例において、周辺装置106のこれらの例(例えば、周辺装置112、114及び118)の各々がHID ICインタフェース108を含み、ICコントローラと相互に関連するHID ICドライバが、周辺装置とHIDソフトウェアスタックとの間でHIDデータを通信するように実装される。
実施形態において、HID ICドライバ128は、HIDソフトウェアスタック126内の装置アプリケーションとのソフトウェア互換性を管理する。HID ICドライバ128は、ICデータバス104を介してコンピュータシステム内でデータを通信する装置へのHID ICインタフェース108を各々が含んだ周辺装置(例えば、周辺装置106)と、HIDソフトウェアスタック126とのインタフェースをとる。HID ICドライバはまた、それら装置のICコントローラドライバ130及びGPIOコントローラドライバ132と、HIDソフトウェアスタック126とのインタフェースをとる。HID ICドライバはまた、例えば異なるベンダからのコントローラドライバなどの複数の異なるICコントローラハードウェアをサポートするため、各々が異なる実装構成を有し得るICコントローラドライバ130との互換性に関して実装される。HID ICドライバ128は、複数の異なる、専用のサードパーティコントローラに適応可能であり、実装例において、API入力を介して適応されることができ、あるいはプログラム可能なレジストリを含み得る。
実施形態において、HID ICドライバ128は、オペレーティングシステムのカーネルモードに既に存在しているカーネルモード電力最適化に関するカーネルモード・ツー・ユーザモードトランザクションを削減するように実装される。HID ICドライバはまた、HID ICドライバがIC装置への先行IC書き込みトランザクションなしでIC装置上のアドレスの暗黙データ読み出しを実行するように、高速読み出しトランザクション関して実装される。例えば、データバス上での従来のデータ書き込みとそれに次ぐデータ読み出しとのトランザクションではなく、HID ICドライバは、データバス性能を最適化するために、単一の入力データ読み出しトランザクションを起こすことができる。“ライトレス−リード”トランザクションとも呼ばれる高速読み出しトランザクションでは、データバス上のレジスタアドレスに対するデータ書き込みからデータ読み出しが黙示される。大抵の一般的なホスト・ツー・装置オペレーションのように、レジスタアドレスは暗黙であり、装置ファームウェアは入力レジスタにデフォルトである。装置ファームウェアは、それが実行している“レジスタアドレスポインタ”を、暗黙レジスタアドレスを使用するトランザクションの後に入力レジスタに戻るように移動させることをサポートすることができる。
HID ICドライバ128はまた、HID ICドライバがトランザクションごとの先行データ書き込みのない各データ読み出しに関してICデータバス上の同じアドレスから暗黙的にデータ読み出しを行うように、単一トランザクションデータ読み出しに関して実装される。SPBマルチトランスファシーケンスが、データ書き込みとデータ読み出しとを単一のトランザクションに結合する。
実施形態において、HID ICドライバ128はまた、HID ICドライバが、割り込みによって開始されるときに装置データを読み出し、ソフトウェアにその割り込み処理をアンロードして素早くその割り込みの優先順位を下げるように、パッシブ割り込み処理に関して実装される。一実装例において、HID ICドライバは、入力レポートを上位のドライバスタック(例えば、HIDソフトウェアスタック126)へと届ける機構としてワークアイテムを利用することができる。これは、割り込みサービスルーチン(ISR)からワークをアンロードし、より低い優先順位のワークアイテム又はサービスプロバイダが割り込み要求を完了することを可能にする。HID ICドライバ128はまた、HID ICドライバが割り込みによって開始されるときに装置データを読み出し、そのデータ読み出しが黙示的に装置割り込みに肯定応答するように、パッシブ割り込みアクナリッジメントに関して構成される。HID ICドライバは、パッシブGPIO割り込みをサポートし、シンプルペリフェラルバス(SPB)入力/出力を用いて割り込み処理に肯定応答することができる。
実施形態において、HID ICドライバ128は、電力最適化に使用され、コンピューティングシステム102がより低い電力状態に入るとき、又は装置ファームウェアが装置レベルのアクティビティを検出しないときに、低電力状態へと装置のアイドリングを開始することができる。HID ICドライバ128はまた、ピン数の最適化に使用され、割り込み及び装置ウェイク(目覚まし)イベントに共有あるいは唯一の入力接続を使用することができる。例えば、HID ICドライバは、ウェイク可能な割り込みラインをサポートし、装置ウェイクイベントをアイドリング移行と同期させる前処理ルーチンを使用することができる。
実施形態において、HID ICドライバ128はまた、エラー処理と、ICデータバス上で検出されたエラー状態のエラー訂正に関して実装される。HID ICドライバは、エンドユーザの使い勝手に影響を及ぼすことなく、ICデータバス上のエラー状態を特定し、それを自動的に訂正するよう試みる。例えば、コンピューティングシステムのホスト側(例えば、HID ICドライバによってインタフェースされる)は、周辺装置106によりコンピューティングシステムにインタフェースした例えば組み込みデバイス又はセンサなどの装置から、予期せぬNAK(否定応答)を受信することがある。HID ICドライバ128は、自動的に装置へのデータ送信をリトライするか、そのトランザクションを破棄して次のトランザクションに進むか、の何れかを行うように実装される。それに代えて、あるいは加えて、装置がハングアップして部分的にのみ応答することがあり、既定値のタイマーが経過した後に、ホスト側のソフトウェアは装置へのデータトランザクションを取り消して次のトランザクションを続ける。これは、例えばキーの打ち間違い又は間違ったマウス入力動作のなどの可能性ある入力損害に拘わらずに、ユーザが装置を使用し続けることを可能にする。それに代えて、あるいは加えて、装置がハングアップして応答しないことがあり、その場合、ホストのソフトウェアは、エラー状態を特定し、ユーザにエラー状態を示すことなく、また、ユーザが知覚可能な影響なく、装置の機能状態を回復させるよう、装置のリセットを開始する。
図2は更に、実装例200にて、図1に示したシステム例の構成要素及び装置ソフトウェアを示している。実装例200は、ICコントローラドライバ130及びGPIOコントローラドライバ132とインタフェースして通信を行うHID ICドライバ128を含んでいる。1つのICコントローラドライバ130及び1つのGPIOコントローラドライバ132のみが図示されているが、HID ICドライバは、複数のICコントローラドライバ及び/又はGPIOコントローラドライバとインタフェースするように実装されることができる。
HID ICドライバ128はまた、例えばHIDクラス202などの、コンピューティングシステムアプリケーション及びソフトウェアスタックとインタフェースして通信を行うように実装される。例えば、HID ICドライバ128は、装置206がその装置のタッチスクリーン上でのタッチ接触入力208を検出するときに、ICコントローラドライバ130から且つ/或いはGPIOコントローラドライバ132から、割り込み204を受信し得る。そのとき、HID ICドライバ128は、例えばタッチ接触入力を処理するデジタイザソフトウェアに対してなど、その割り込みをシステムアプリケーション及びソフトウェアスタックへと伝達することができる。
HID ICドライバ128はまた、装置の電力状態を監視する電力制御インタフェース(advanced configuration and power interface;ACPI)210とインタフェースして通信を行うように実装されている。ACPIはGPIO物理デバイスオブジェクト(PDO)212、IC PDO214、及びHID PDO216とインタフェースしており、先ずこれらのデバイスを列挙し、次いでこれらのデバイスの電力状態を監視する。
図3は、ここに記載されるHID ICデータバスのホスト側実装の様々な実施形態を実装し得る一例に係るシステム・オン・チップ(SoC)300を示している。SoC300は、例えば消費者装置、電子装置、通信装置、ナビゲーション装置、メディア装置、コンピューティング装置、及び/又はその他の種類の電子機器のうちの何れか1つ又は何らかの組み合わせなどの、固定式あるいは移動式の装置内に実装され得る。SoC300は、電子回路、マイクロプロセッサ、メモリ、入力/出力(I/O)ロジック制御、通信インタフェース及びコンポーネント、並びに、コンピュータ装置を実現するためのその他のハードウェア、ファームウェア及び/又はソフトウェアとともに集積されることができる。
この例において、SoC300は、マイクロプロセッサ302(例えば、マイクロコントローラ又はデジタル信号プロセッサの何れか)、及び入力/出力(I/O)ロジック制御304(例えば、電子回路を含む)と集積されている。このSoCはまた、メモリコントローラ306(例えば何らかの種類の不揮発性メモリ及び/又はその他好適な電子データストレージなどのメモリを含む)を含んでいる。このSoCはまた、例えばメモリによって維持されてマイクロプロセッサによって実行されるオペレーティングシステム308などの、様々なファームウェア及び/又はソフトウェアを含むことができる。オペレーティングシステムは、例えば図1及び2を参照して説明されたものなどの、ここに記載のHID ICデータバスのホスト側実装の実施形態を実現するHID ICドライバ310を含んでいる。
SoC300は、例えばコンピューティング装置に子ストールされるときなどに装置、センサ、組み込みデバイス、又はその他の集積コンポーネントとインタフェースするデバイスインタフェース312を含んでいる。SoC300はまた、当該SoCの様々なコンポーネントを、これらのコンポーネント間でのデータ通信のために結合する集積データバス314を含んでいる。この例において、SoC内のデータバスは、ICデータバス、その他の種類のシンプルペリフェラルバス(SPB)、又はシリアルペリフェラルインタフェース(SPI)データバスとして実装されることができ、また、複数の異なるバス構造及び/又はバスアーキテクチャの何れか1つ又は何らかの組み合わせとして実装されてもよい。
SoC300はまた、例えば図1に示した周辺装置の様々な例(例えば、周辺装置106)を参照して説明したものなどの、1つ以上の周辺装置320をインタフェース接続するICドライバ316及び/又はGPIOドライバ318を含んでいる。ICドライバ316及びGPIOドライバ318に関連するドライバソフトウェアが、オペレーティングシステム308に組み込まれる。周辺装置320は、HID ICインタフェース322及び/又はGPIOインタフェース324を実装している。HID ICインタフェース及びGPIOインタフェースの例、並びに、対応する機能及び機構は、図1及び2に示したそれぞれのコンポーネントを参照して説明されている。それに代えて、あるいは加えて、周辺装置のコンポーネントは、I/Oロジック制御304及び/又はSoC若しくは周辺装置のその他の処理・制御回路と接続して実装されるハードウェア、ファームウェア、固定ロジック回路、又はこれらの何らかの組み合わせとして実装されることができる。
図4を参照して、HID ICデータバスのホスト側実装の1つ以上の実施形態に係る方法例400を説明する。概して、ここに記載されるサービス、関数、メソッド、プロシージャ、コンポーネント、及びモジュールは何れも、ソフトウェア、ファームウェア、ハードウェア(例えば、固定ロジック回路)。マニュアル処理、又はこれらの何らかの組み合わせを用いて実装されることができる。ソフトウェア実装は、コンピュータプロセッサによって実行されるときに指定されたタスクを実行するプログラムコードを表す。これらの方法例は、全体的に、ソフトウェア、アプリケーション、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、関数、及びこれらに類するものを含み得るコンピュータ実行可能命令の状況で説明され得る。プログラムコードは、コンピュータプロセッサに対してローカルであろうと遠隔であろうと、1つ以上のコンピュータ読み取り可能記憶媒体装置に格納されることができる。これらの方法はまた、分散コンピューティング環境において複数のコンピュータ装置によって実行されてもよい。また、ここに記載される特徴は、プラットフォームに依存するものではなく、多様なプロセッサを有する多様な計算プラットフォーム上で実現されることができる。
図4は、HID ICデータバスのホスト側実装に係る方法例400を示しており、HID ICドライバを参照して説明される。方法ブロックが記載される順序は、限定として解釈されることを意図したものではなく、また、記載の方法ブロックのうちの任意数が、方法又は代替方法を実行するように如何なる順序で組み合されてもよい。
ブロック402にて、コンピューティングシステムのヒューマンインタフェース装置(HID)ソフトウェアスタック内に、装置ソフトウェアが実装される。例えば、コンピューティングシステム102(図1)のホスト側のHIDソフトウェアスタック126が、例えば、HID ICドライバ128を介してコンピュータシステムとインタフェースし、またICデータバス104を介して周辺装置106とインタフェースする内部装置、外部装置、及び/又は組み込みデバイス若しくはセンサなどに関する装置ソフトウェアを実装する。
ブロック404にて、HIDソフトウェアスタックが、装置へのHID ICインタフェースを各々が含む複数の周辺装置とインタフェースをとられる。例えば、コンピューティングシステム102のホスト側のHID ICドライバ128が、HIDソフトウェアスタック126を、装置(例えば、組み込みデバイス又はその他の集積コンポーネント)へのHID ICインタフェース108を各々が含む複数の周辺装置(例えば、周辺装置106)とインタフェース接続する。装置は、ICデータバス104を介してコンピューティングシステム102内でデータ通信するように実装される内部装置、外部装置、又は、組み込みデバイス及び/又はセンサとし得る。
ブロック406にて、HIDソフトウェアスタックが、装置のICコントローラドライバ及び汎用入出力(GPIO)コントローラドライバとインタフェースをとられる。例えば、コンピューティングシステム102のホスト側のHID ICドライバ128がまた、HIDソフトウェアスタック126を、装置のICコントローラドライバ130及び汎用入出力(GPIO)コントローラドライバ132とインタフェース接続する。
ブロック408にて、高速読み出しトランザクションのため、装置への先行IC書き込みトランザクションなく、IC装置上のアドレスの暗黙データ読み出しが実行される。例えば、コンピューティングシステム102のホスト側のHID ICドライバ128が、装置への先行IC書き込みトランザクションなく、IC装置上のアドレスの暗黙データ読み出しとして高速読み出しトランザクションを実行する。ブロック410にて、単一トランザクションデータ読み出しで、先行データ書き込みのない暗黙データ読み出しのため、ICデータバス上の同じアドレスからデータが読み出される。例えば、コンピューティングシステム102のHID ICドライバ128が、先行データ書き込みのない暗黙データ読み出しのためICデータバス104上の同じアドレスからデータが読み出されるよう、単一トランザクションデータ読み出しを開始する。
ブロック412にて、割り込みによって開始されるときに装置データが読み出され、その割り込み処理がソフトウェアにアンロードされてその割り込みの優先が解除される。例えば、コンピューティングシステム102のホスト側のHID ICドライバ128が、割り込みによって開始されるときに装置データを読み出し、その割り込み処理がソフトウェアにアンロードされて、素早くその割り込みが優先解除される。ブロック414にて、割り込みによって開始されるときの装置データの読み出しに基づき、装置割り込みが黙示的に肯定応答される。例えば、コンピューティングシステム102のホスト側のHID ICドライバ128が、割り込みによって開始されるときの装置データの読み出しに基づき、装置割り込みに黙示的に肯定応答する。
ブロック416にて、コンピューティングシステムがより低い電力状態に入るとき、又は装置ファームウェアが装置レベルのアクティビティを検出しないとき、装置が低電力状態へとアイドリングされる。例えば、コンピューティングシステム102がより低い電力状態に入るとき、又は装置ファームウェアが装置レベルのアクティビティを検出しないとき、コンピューティングシステム102のホスト側のHID ICドライバ128が、装置(例えば、コンピューティングシステム102にインタフェースしている組み込みデバイス又はセンサ)を低電力状態へとアイドリングさせる。
ブロック418にて、割り込みと装置ウェイクイベントとで入力接続が共有される。例えば、コンピューティングシステム102のホスト側のHID ICドライバ128が、割り込みと装置ウェイクイベントとでGPIO入力接続を共有する。ブロック420にて、ICデータバス上で検出されるエラー状態が訂正される。例えば、コンピューティングシステム102のHID ICドライバ128が、ICデータバス104上で検出されるHID ICプロトコルレベルのエラー状態を訂正する。上述のように、記載された方法ブロックは、方法又は代替方法を実行するように如何なる順序で組み合わされてもよい。従って、ブロック420でのICデータバス上のエラー状態の検出及び訂正は、記載されたその他の方法ブロック402−418の何れかの前、最中又は後に行われてもよい。
図5は、図1−4を参照して説明した、装置又はそれにより実行されるサービス及びソフトウェアのうちの何れかとして実装されることが可能な装置例500の様々なコンポーネントを示している。実施形態において、この装置は、固定式あるいは移動式の装置の何れか一方又は組み合わせとして、消費者装置、コンピュータ装置、サーバ装置、ポータブル装置、ユーザ装置、通信装置、電話装置、ナビゲーション装置、テレビジョン装置、家庭用電気機器、ゲーム装置、メディア再生装置、カメラ、及び/又は電子装置のうちの何れの形態で実装されてもよい。この装置はまた、ユーザ、ソフトウェア、ファームウェア、ハードウェア、及び/又は装置の組み合わせを含め、装置が論理装置を記述するように装置を操作するユーザ(すなわち、人物)及び/又はエンティティに関連付けられ得る。
装置500は、装置データ504の有線通信及び/又は無線通信を可能にする通信デバイス502を含んでいる。装置データ又はその他の装置コンテンツは、装置のコンフィギュレーション設定、装置に格納されたメディアコンテンツ、及び/又は装置のユーザに関連付けられた情報を含むことができる。装置に格納されたメディアコンテンツは、如何なる種類のオーディオデータ、ビデオデータ、及び/又は画像データをも含み得る。当該装置は、1つ以上のデータ入力506を含んでおり、それを介して、例えばユーザ選択可能な入力、並びに何らかのコンテンツ及び/又はデータの供給源から受信されるその他種類のオーディオデータ、ビデオデータ及び/又は画像データなど、任意の種類のデータ、メディアコンテンツ、及び/又は入力を受信することができる。
装置500はまた、例えばシリアルインタフェース、パラレルインタフェース、ネットワークインタフェース、又は無線インタフェースのうちの何れか1つ以上などの、通信インタフェース508を含んでいる。通信インタフェースは、その他の電子装置、コンピューティング装置、及び通信装置が当該装置と通信するための、当該装置と通信ネットワークとの間の接続及び/又は通信リンクを提供する。
装置500は、様々なコンピュータ実行可能命令を処理して当該装置の動作を制御する1つ以上のプロセッサ510(例えば、マイクロプロセッサ、コントローラ、及びこれらに類するもののうちの何れか)、又はプロセッサとメモリのシステム(例えば、SoCにて実装される)を含んでいる。これに代えて、あるいは加えて、当該装置は、参照符号512にて全体として特定される処理・制御回路とともに実装されるソフトウェア、ハードウェア、ファームウェア、又は固定ロジック回路のうちの何れか1つ又は組み合わせを用いて実装されることができる。図示していないが、当該装置は、当該装置内の様々なコンポーネントを結合するシステムバス又はデータ転送システムを含むことができる。システムバスは、例えばメモリバス若しくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス、及び/又は多様なバスアーキテクチャのうちの何れかを利用するプロセッサ若しくはローカルバスなどの、様々なバス構造のうちの何れか1つ又は組み合わせを含むことができる。
装置500はまた、例えばランダムアクセスメモリ(RAM)、不揮発性メモリ(例えば、読み出し専用メモリ(ROM)、フラッシュメモリなど)、及びディスク記憶デバイスなどの、データ記憶を可能にする1つ以上の記憶デバイス514を含んでいる。ディスク記憶デバイスは、例えばハードディスクドライブ、記録可能ディスク及び/又は書換可能ディスクなど、何らかの種類の磁気記憶装置又は光記憶装置として実現され得る。コンピュータ読み取り可能媒体は、コンピューティング装置によってアクセスされる如何なる利用可能な媒体又はメディアともし得る。
記憶デバイス514は、装置データ504、その他の種類の情報及び/又はデータ、並びに装置アプリケーション516を格納するデータ記憶機構を提供する。例えば、オペレーティングシステム518が、記憶デバイスを用いてソフトウェアアプリケーションとして管理され、プロセッサ上で実行され得る。この例においては、ここに記載されたHID ICデータバスのホスト側実装の実施形態を実行するよう、オペレーティングシステム内にHID ICドライバ520が実装されている。装置アプリケーションはまた、例えば制御アプリケーション、ソフトウェアアプリケーション、信号処理・制御モジュール、特定の装置に自生するコード、特定の装置のハードウェア抽象化レイヤなどのうちの何れかの形態などであるデバイスマネジャを含み得る。この例において、装置はまた、組み込みデバイス524とインタフェースする1つ以上の周辺装置522を含んでいる。
装置500はまた、オーディオシステム528用のオーディオデータの生成、及び/又はディスプレイシステム530用の表示データの生成、を行うオーディオ及び/又はビデオ処理システム526を含んでいる。オーディオシステム及び/又はディスプレイシステムは、オーディオデータ、ビデオデータ、表示データ、及び/又は画像データを処理し、表示し、且つ/或いはその他の方法で表現する如何なる装置を含んでいてもよい。実装例において、オーディオシステム及び/又はディスプレイシステムは、装置の外付けコンポーネントであり、あるいは、この装置例の一体化コンポーネントである。
以上、HID ICデータバスのホスト側実装の実施形態を機構及び/又は方法に特有の言葉で説明してきたが、添付の請求項に係る事項は必ずしも、記載した特定の機構又は方法に限定されるものではない。むしろ、これらの機構及び方法は、HID ICデータバスのホスト側実装の実装例として開示されたものである。

Claims (10)

  1. 装置ソフトウェア実装に関して構成されたヒューマンインタフェース装置(HID)ソフトウェアスタックと、
    前記HIDソフトウェアスタックと1つ以上の周辺装置とのインタフェースをとるように構成されたHID ICドライバであり、前記1つ以上の周辺装置は各々、ICデータバスを介して当該コンピューティングシステム内でデータ通信するように構成された装置へのHID ICインタフェースを含む、HID ICドライバと、
    を有するコンピューティングシステム。
  2. 前記HID ICドライバは、前記装置の1つ以上のICコントローラドライバと互換性を有するように構成され、前記1つ以上のICコントローラドライバは各々、異なるICコントローラハードウェアをサポートする異なる実装構成を有する、請求項1に記載のコンピューティングシステム。
  3. 前記HID ICドライバは、カーネルモード電力最適化のためカーネルモード・ツー・ユーザモードトランザクションを削減するように構成される、請求項1に記載のコンピューティングシステム。
  4. 前記HID ICドライバは、当該HID ICドライバがIC装置上のアドレスの暗黙データ読み出しを前記IC装置への先行IC書き込みトランザクションなしで実行するように、高速読み出しトランザクションに関して構成される、請求項1に記載のコンピューティングシステム。
  5. 前記HID ICドライバは、当該HID ICドライバがトランザクションごとの先行データ書き込みのない各データ読み出しに関して前記ICデータバス上の同じアドレスから暗黙的にデータ読み出しを行うように、単一トランザクションデータ読み出しに関して構成される、請求項1に記載のコンピューティングシステム。
  6. 前記HID ICドライバは、当該HID ICドライバが割り込みによって開始されるときに装置データを読み出し、ソフトウェアに該割り込みの処理をアンロードして素早く該割り込みの優先順位を下げるように、パッシブ割り込み処理に関して構成される、請求項1に記載のコンピューティングシステム。
  7. 前記HID ICドライバは、当該HID ICドライバが割り込みによって開始されるときに装置データを読み出し、このデータ読み出しが黙示的にこの装置割り込みに肯定応答するように、パッシブ割り込みアクナリッジメントに関して構成される、請求項1に記載のコンピューティングシステム。
  8. 前記HID ICドライバは、当該コンピューティングシステムがより低い電力状態に入る、又は装置ファームウェアが装置レベルのアクティビティを検出しない、のうちの一方のときに、低電力状態へと装置をアイドリングさせることを開始するように構成される、請求項1に記載のコンピューティングシステム。
  9. 前記HID ICドライバは、割り込みと装置ウェイクイベントとに共有あるいは唯一の入力接続を使用するように構成される、請求項1に記載のコンピューティングシステム。
  10. 前記HID ICドライバは、前記ICデータバス上で検出されたエラー状態のエラー訂正及びエラー処理に関して構成される、請求項1に記載のコンピューティングシステム。
JP2014551389A 2012-01-07 2013-01-07 Hidi2cデータバスのホスト側実装 Active JP6210516B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/345,690 2012-01-07
US13/345,690 US8725916B2 (en) 2012-01-07 2012-01-07 Host side implementation for HID I2C data bus
PCT/US2013/020501 WO2013103951A1 (en) 2012-01-07 2013-01-07 Host side implementation for hid i2c data bus

Publications (2)

Publication Number Publication Date
JP2015507806A true JP2015507806A (ja) 2015-03-12
JP6210516B2 JP6210516B2 (ja) 2017-10-11

Family

ID=48744753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014551389A Active JP6210516B2 (ja) 2012-01-07 2013-01-07 Hidi2cデータバスのホスト側実装

Country Status (6)

Country Link
US (1) US8725916B2 (ja)
EP (1) EP2801034B1 (ja)
JP (1) JP6210516B2 (ja)
KR (1) KR102024959B1 (ja)
CN (1) CN104040519B (ja)
WO (1) WO2013103951A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521942B2 (en) 2011-03-21 2013-08-27 Microsoft Corporation HID over simple peripheral buses
US9921981B2 (en) * 2013-08-24 2018-03-20 Qualcomm Incorporated Method to minimize the number of IRQ lines from peripherals to one wire
US9892087B2 (en) 2013-09-12 2018-02-13 The Boeing Company Mobile computing device and method of transmitting data therefrom
KR102169033B1 (ko) * 2013-12-31 2020-10-22 엘지디스플레이 주식회사 전력 최적화 시스템과 이의 구동 방법
US9417801B2 (en) * 2014-03-27 2016-08-16 Intel Corporation Virtual general-purpose I/O controller
US11016796B2 (en) * 2019-04-10 2021-05-25 Red Hat, Inc. Hypervisor protection of a controllable device
US10909048B1 (en) 2019-07-30 2021-02-02 Microsoft Technology Licensing, Llc Declarative transactional communications with a peripheral device via a low-power bus
CN110502928B (zh) * 2019-08-28 2022-03-29 上海金卓科技有限公司 双操作系统、工作状态控制方法、装置及存储介质
WO2022051607A1 (en) * 2020-09-04 2022-03-10 Nemedio Inc. Systems and methods for dynamic configuration of external devices
CN117421257B (zh) * 2023-10-24 2024-06-25 上海合芯数字科技有限公司 一种内存条的初始化方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002534734A (ja) * 1999-01-07 2002-10-15 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) I2cスレーブのプラグ及び運転
JP2002328878A (ja) * 2001-05-07 2002-11-15 Science Park Corp 電子計算機のインターフェースドライバプログラム及びその記録媒体
JP2007124517A (ja) * 2005-10-31 2007-05-17 Toshiba Corp 無線通信装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892933A (en) 1997-03-31 1999-04-06 Compaq Computer Corp. Digital bus
US6021446A (en) * 1997-07-11 2000-02-01 Sun Microsystems, Inc. Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine
US6311228B1 (en) 1997-08-06 2001-10-30 Microsoft Corporation Method and architecture for simplified communications with HID devices
US6263392B1 (en) 1999-01-04 2001-07-17 Mccauley Jack J. Method and apparatus for interfacing multiple peripheral devices to a host computer
US10216259B2 (en) 2000-02-14 2019-02-26 Pierre Bonnat Method and system for processing signals that control a device using human breath
US6678830B1 (en) * 1999-07-02 2004-01-13 Hewlett-Packard Development Company, L.P. Method and apparatus for an ACPI compliant keyboard sleep key
US6899627B2 (en) 1999-10-06 2005-05-31 Igt USB device protocol for a gaming machine
US6813650B1 (en) * 1999-10-26 2004-11-02 International Business Machines Corporation Multimode non-standard universal serial bus computer input device
US6725320B1 (en) 2001-02-08 2004-04-20 International Business Machines Corporation I2C bus switching devices interspersed between I2C devices
US7209470B2 (en) 2001-03-16 2007-04-24 Intel Corporation Method and apparatus for encapsulating universal serial bus messaging over link layer communication protocol
US7287273B2 (en) * 2002-02-15 2007-10-23 Science Park Corporation Individual authentication method using input characteristic of input apparatus by network, program thereof, and recording medium containing the program
US6792506B2 (en) * 2002-03-29 2004-09-14 Emc Corporation Memory architecture for a high throughput storage processor
US7313678B2 (en) 2003-03-05 2007-12-25 Broadcom Corporation Installation procedure for wireless human interface device
US20040203363A1 (en) * 2002-04-19 2004-10-14 Carlton Stephen J. Portable communication apparatus and method for match-making with unique user ID
US7032039B2 (en) 2002-10-30 2006-04-18 Atmel Corporation Method for identification of SPI compatible serial memory devices
US7240223B2 (en) * 2003-05-07 2007-07-03 Apple Inc. Method and apparatus for dynamic power management in a processor system
US7047343B2 (en) 2003-11-26 2006-05-16 Dell Products L.P. System and method for communication of keyboard and touchpad inputs as HID packets embedded on a SMBus
US20050182978A1 (en) * 2004-02-17 2005-08-18 Anderson Jason M. Always ready computing device
US7660611B1 (en) 2004-03-25 2010-02-09 Cypress Semiconductor Corporation Wireless human interface device packet compression system and method for reducing power consumption
US8401588B2 (en) 2004-10-28 2013-03-19 Broadcom Corporation Dual mode human interface device
KR100668976B1 (ko) 2005-01-13 2007-01-16 삼성전자주식회사 버스확장장치
KR20070020998A (ko) 2005-08-17 2007-02-22 삼성전자주식회사 I2c통신을 통해 튜너를 공용화하는 영상수신장치 및튜너공용화방법
US7952937B2 (en) * 2006-03-16 2011-05-31 Freescale Semiconductor, Inc. Wordline driver for a non-volatile memory device, a non-volatile memory device and method
US7800439B2 (en) * 2006-10-27 2010-09-21 Ut-Battelle, Llc High speed preamplifier circuit, detection electronics, and radiation detection systems therefrom
US20090054069A1 (en) 2007-08-24 2009-02-26 Zeetoo, Inc. Platform Independent Communication Protocol
US7664894B2 (en) 2007-09-14 2010-02-16 Broadcom Corporation Wireless human interface device (HID) coordination
US7873764B2 (en) 2008-08-15 2011-01-18 Video Products, Inc. Switch with enhanced human interface device support
US20100180067A1 (en) 2009-01-14 2010-07-15 International Business Machines Corporation System for emulating and expanding a spi configuration rom for io enclosure
US8180933B2 (en) 2009-01-21 2012-05-15 Microsoft Corporation Dynamic call handling from multiple attached devices wherein devices advertize its capabililes before facilitating call through appropriate device
US20100262929A1 (en) 2009-04-08 2010-10-14 Panasonic Automotive Systems Company Of America, Division Of Panasonic Corporation Of North America Method and system for dynamic configuration of remote control inputs
US8521942B2 (en) 2011-03-21 2013-08-27 Microsoft Corporation HID over simple peripheral buses

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002534734A (ja) * 1999-01-07 2002-10-15 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) I2cスレーブのプラグ及び運転
JP2002328878A (ja) * 2001-05-07 2002-11-15 Science Park Corp 電子計算機のインターフェースドライバプログラム及びその記録媒体
JP2007124517A (ja) * 2005-10-31 2007-05-17 Toshiba Corp 無線通信装置

Also Published As

Publication number Publication date
CN104040519B (zh) 2017-06-20
KR20140113662A (ko) 2014-09-24
WO2013103951A1 (en) 2013-07-11
JP6210516B2 (ja) 2017-10-11
EP2801034B1 (en) 2020-09-23
EP2801034A4 (en) 2015-06-10
US8725916B2 (en) 2014-05-13
KR102024959B1 (ko) 2019-09-24
CN104040519A (zh) 2014-09-10
US20130179609A1 (en) 2013-07-11
EP2801034A1 (en) 2014-11-12

Similar Documents

Publication Publication Date Title
JP6210516B2 (ja) Hidi2cデータバスのホスト側実装
US8521942B2 (en) HID over simple peripheral buses
TWI447650B (zh) 中斷分佈方案
US9201661B2 (en) Booting method and electronic device
TWI526821B (zh) 於輸入輸出錯誤抑制事件後之回復技術
US8166349B2 (en) Communicating with USB devices after a computer system crash
WO2013173350A1 (en) Accessory device architecture
KR20160073294A (ko) 터치 센서 정보의 통신을 위한 장치, 시스템 및 방법
TWI742422B (zh) 聚集帶內中斷
KR20180066073A (ko) 컴퓨팅 디바이스에서 운영 시스템 독립적 에러 제어를 제공하는 시스템 및 방법
WO2020206879A1 (zh) Pcie宽度自动适配方法、装置及电子设备和存储介质
US20120311310A1 (en) Computer system and method for resetting the same
US9152588B2 (en) Race-free level-sensitive interrupt delivery using fabric delivered interrupts
US10642665B2 (en) Multimodal interface
US20040167999A1 (en) Data transfer control device, electronic instrument, program and method of fabricating electronic instrument
TWI413904B (zh) Universal Serial Bus (USB) controller and its execution method
Bhesania et al. Host side implementation for HID I 2 C data bus
US20130067477A1 (en) Computer system and control method thereof
US11836314B1 (en) Sensitivity adjustment for a touchpad of an information handling system
KR101768356B1 (ko) 신속 응답 용량성 터치 스크린 디바이스

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170808

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170906

R150 Certificate of patent or registration of utility model

Ref document number: 6210516

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250