(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022153310
(43)【公開日】2022-10-12
(54)【発明の名称】相互容量タッチセンシングの異常検出
(51)【国際特許分類】
G06F 3/041 20060101AFI20221004BHJP
H03K 17/955 20060101ALI20221004BHJP
G06F 3/044 20060101ALI20221004BHJP
【FI】
G06F3/041 520
H03K17/955 G
G06F3/044
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022046664
(22)【出願日】2022-03-23
(31)【優先権主張番号】17/215,112
(32)【優先日】2021-03-29
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ブルートゥース
2.SMALLTALK
3.JAVA
4.VISUAL BASIC
5.JAVASCRIPT
6.SWIFT
7.MATLAB
(71)【出願人】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】クリストファー,セマンソン
(72)【発明者】
【氏名】オンカー,ラウト
(72)【発明者】
【氏名】ジェームズ,ペイジ
【テーマコード(参考)】
5J050
【Fターム(参考)】
5J050AA35
5J050BB22
(57)【要約】 (修正有)
【課題】センサ内の異常の発生可能性を判断するためのシステムと方法。
【解決手段】プロセッサは、センサに接続されたデバイスの第1のポートと第2のポートとの間の第1の容量変化の第1の測定値を受信する。第1の測定値は、第1のポートが第1の機能を実行するように構成されたことに対応して、かつ、第2のポートが第2の機能を実行するように構成されたことに対応して取得する。プロセッサは、第1のポートと第2のポートとの間の第2の容量変化の第2の測定値を受信する。第2の測定値は、第1のポートが第2の機能を実行するように構成されたことに対応して、かつ、第2のポートが第1の機能を実行するように構成されたことに対応して取得することができる。プロセッサは、第1および第2の測定値に基づいて異常の発生可能性を判断する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
以下のように構成されたプロセッサを含む装置:
第1のポートと第2のポートとの間の第1の容量変化の第1の測定値を受信し、前記第1のポートおよび前記第2のポートは、センサに接続されたデバイスのポートであり、前記第1の測定値は、前記第1のポートが第1の機能を実行するように構成されたことに対応して、かつ、前記第2のポートが第2の機能を実行するように構成されたことに対応して得られ、
前記第1のポートと前記第2のポートとの間の第2の容量変化の第2の測定値を受信し、前記第2の測定値は、前記第1のポートが前記第2の機能を実行するように構成されたことに対応して、かつ、前記第2のポートが前記第1の機能を実行するように構成されたことに対応して得られ、
前記第1の測定値と前記第2の測定値に基づいて前記センサ内の異常の発生可能性を判断する。
【請求項2】
請求項1に記載の装置において、
前記プロセッサは、
前記第1の測定値と前記第2の測定値の差を決定し、
前記差に基づいて、前記センサの前記異常の前記発生可能性を判断する
ように構成された装置。
【請求項3】
請求項2に記載の装置において、
前記プロセッサは、
前記差を閾値と比較し、
前記差が閾値未満であることに対応して、前記センサの前記異常の発生が低いと判断し、
前記差が前記閾値よりも大きいことに対応して、前記センサの前記異常の発生が高いと判断する、
ように構成された装置。
【請求項4】
請求項1に記載の装置において、
前記センサは相互容量センサである装置。
【請求項5】
請求項1に記載の装置において、
前記センサと、
前記センサに接続される前記デバイスと、
をさらに備え、
前記デバイスは、
前記第1のポートが前記第1の機能を実行するように構成されたことに対応して、かつ、前記第2のポートが前記第2の機能を実行するように構成されたことに対応して、前記第1のポートと前記第2のポートとの間の第1の容量変化を検出し、
前記第1の容量変化を前記第1の測定値に変換し、
前記第1の容量変化の検出に対応して前記第2の機能を実行するように前記第1のポートを構成し、
前記第1の容量変化の検出に対応して前記第1の機能を実行するように前記第2のポートを構成し、
前記第1のポートが前記第2の機能を実行するように構成されたことに対応して、かつ、前記第2のポートが前記第1の機能を実行するように構成されたことに対応して、前記第1のポートと前記第2のポートとの間の第2の容量変化を検出し、
前記第2の容量変化を前記第2の測定値に変換する、
ように構成された装置。
【請求項6】
請求項5に記載の装置において、
前記デバイスは、
前記第2の容量変化の検出に対応して前記第1の機能を実行するように前記第1のポートを構成し、
前記第2の容量変化の検出に対応して前記第2の機能を実行するように前記第2のポートを構成する、
ように構成された装置。
【請求項7】
請求項1に記載の装置において、
ディスプレイをさらに備え、
前記プロセッサは、前記ディスプレイ上の前記異常の前記発生可能性を出力するように構成された装置。
【請求項8】
請求項1に記載の装置において、
前記プロセッサは、前記異常の前記発生可能性を別のプロセッサに出力するように構成された装置。
【請求項9】
請求項1に記載の装置において、
前記プロセッサは、前記センサのユーザインタフェース上で前記異常の前記発生可能性の視覚的インジケータを出力するように構成された装置。
【請求項10】
方法であって、
プロセッサによって、センサに接続されたデバイスの第1のポートと第2のポートとの間の第1の容量変化の第1の測定値を受信し、前記第1の測定値は、前記第1のポートが第1の機能を実行するように構成されたことに対応して、かつ、前記第第2のポートが第2の機能を実行するように構成されたことに対応して得られ、
前記プロセッサによって、前記第1のポートと前記第2のポートとの間の第2の容量変化の第2の測定値を受信し、前記第2の測定値は、前記第1のポートが前記第2の機能を実行するように構成されたことに対応して、かつ、前記第2のポートが前記第1の機能を実行するように構成されたことに対応して得られ、
前記プロセッサによって、前記第1の測定値と前記第2の測定値に基づいて前記センサ内の異常の発生可能性を判断する方法。
【請求項11】
請求項10に記載の方法において、
前記センサにおける前記異常の前記発生可能性を判断することは、
前記プロセッサによって、前記第1の測定値と前記第2の測定値の差を決定し、
前記プロセッサによって、前記差に基づいて前記異常の前記発生可能性を判断する、
ことを含む方法。
【請求項12】
請求項11に記載の方法において、
前記差に基づいて前記異常の前記発生可能性を判断することは、
前記プロセッサによって、前記差を閾値と比較し、
前記差が前記閾値未満であることに対応して、前記プロセッサによって前記センサ内の前記異常の前記発生可能性は低いと判断し、
前記差が前記閾値よりも大きいことに対応して、前記プロセッサによって前記センサ内の前記異常の前記発生可能性が高いと判断する、
ことを含む方法。
【請求項13】
請求項10に記載の方法において、
前記プロセッサによって、ディスプレイ上に前記異常の前記発生可能性を出力することをさらに含む方法。
【請求項14】
請求項10に記載の方法において、
前記プロセッサによって、別のプロセッサに前記異常の前記発生可能性を出力することをさらに含む方法。
【請求項15】
請求項10に記載の方法において、
前記プロセッサによって、前記第1のポートが前記第1の機能を実行するように構成されたことに対応して、かつ、前記第2のポートが前記第2の機能を実行するように構成されたことに対応して、前記センサの前記第1のポートと前記第2のポートとの間の前記第1の容量変化を検出し、
前記プロセッサによって、前記第1の容量変化を前記第1の測定値に変換し、
前記プロセッサによって、前記第1の容量変化の検出に対応して前記第2の機能を実行するように前記第1のポートを構成し、
前記プロセッサによって、前記第1の容量変化の検出に対応して前記第1の機能を実行するように前記第2のポートを構成し、
前記第1のポートが前記第2の機能を実行するように構成されたことに対応して、かつ、前記第2のポートが前記第1の機能を実行するように構成されたことに対応して、前記センサの前記第1のポートと前記第2のポートとの間の前記第2の容量変化を前記プロセッサによって検出し、
前記プロセッサによって、前記第2の容量変化を前記第2の測定値に変換する、
ことを含む方法。
【請求項16】
コンピュータに少なくとも以下を実行させる命令を格納する非一時的なコンピュータ可読記憶媒体:
センサに接続されたデバイスの第1のポートと第2のポートとの間の第1の容量変化の第1の測定値を受信し、前記第1の測定値は、前記第1のポートが第1の機能を実行するように構成されたことに対応して、かつ、前記第2のポートが第2の機能を実行するように構成されたことに対応して得られ、
前記センサに接続された前記デバイスの前記第1のポートと前記第2のポートとの間の第2の容量変化の第2の測定値を受信し、前記第2の測定値が、前記第1のポートが前記第2の機能を実行するように構成されたことに対応して、かつ、前記第2のポートが前記第1の機能を実行するように構成されたことに対応して得られ、
前記第1の測定値と前記第2の測定値に基づいて前記センサ内の異常の発生可能性を判断する、
ことを含む非一時的なコンピュータ可読記憶媒体。
【請求項17】
請求項16に記載の非一時的なコンピュータ可読記憶媒体において、
前記センサ内の前記異常の前記発生可能性を判断することは、
前記第1の測定値と前記第2の測定値の差を決定し、
前記差に基づいて前記異常の前記発生可能性を判断する、
ことを含む非一時的なコンピュータ可読記憶媒体。
【請求項18】
請求項17に記載の非一時的なコンピュータ可読記憶媒体において、
前記差に基づいて前記異常の前記発生可能性を判断することは、
前記差を閾値と比較し、
前記差が前記閾値未満であることに対応して、前記センサ内の前記異常の前記発生可能性が低いと判断し、
前記差が前記閾値よりも大きいことに対応して、前記センサ内の前記異常の前記発生可能性が高いと判断する、
ことを含む非一時的なコンピュータ可読記憶媒体。
【請求項19】
請求項16に記載の非一時的なコンピュータ可読記憶媒体において、
前記命令はさらに、前記コンピュータに、前記異常の前記発生可能性をディスプレイに出力することを実行させる非一時的なコンピュータ可読記憶媒体。
【請求項20】
請求項16に記載の非一時的なコンピュータ可読記憶媒体において、
前記命令はさらに、前記コンピュータに、前記異常の前記発生可能性を別のプロセッサに出力することを実行させる非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、相互容量タッチセンシングを利用するデバイスおよびアプリケーションにおける異常を検出するためのシステムおよび方法に関する。
【背景技術】
【0002】
容量タッチ技術は、物体によって引き起こされる動きまたはジェスチャにより操作可能であるユーザインタフェース(例えば、ヒューマン・マシン・インタフェース(HMI))、例えば、当該ユーザインタフェース(例えば、スワイプ)による指のタッチまたは動きによって選択される量などに利用することができる。容量タッチ技術には、相互容量検出を含めることができ、容量素子は、電界を生成できる2つの導体素子によって形成できる。容量素子を形成する2つの導体素子間の相互容量は、電界を変化させるために容量素子に近接している物体に対応して変化する(例えば、減少する)ことができる。相互容量の減少は、ユーザインタフェースのタッチイベントとして検出できる。
【発明の概要】
【0003】
いくつかの例では、センサにおける異常の発生の可能性を決定するための装置が一般的に説明されている。装置には、プロセッサを含むことができる。プロセッサは、第1のポートと第2のポートとの間の第1の容量変化の第1の測定値を受信する(受け取る)ように構成することができる。第1のポートと第2のポートは、センサに接続されたデバイスのポートにすることができる。第1の測定値は、第1のポートが第1の機能を実行するように構成されていることに対応して、および、第2のポートが第2の機能を実行するように構成されていることに応答して取得することができる。プロセッサはさらに、第1のポートと第2のポートとの間の第2の容量変化の第2の測定値を受信するように構成することができる。第2の測定値は、第1のポートが第2の機能を実行するように構成されていることに応答して、および、第2のポートが第1の機能を実行するように構成されていることに応答して取得することができる。プロセッサはさらに、第1の測定値および第2の測定値に基づいて、センサ内の異常の発生する可能性を決定するように構成することができる。
【0004】
いくつかの例では、センサ内の異常の発生の可能性を決定するための方法が一般的に説明されている。この方法には、プロセッサによって、センサに接続されたデバイスの第1のポートと第2のポートとの間の第1の容量変化の第1の測定値を受信することを含むことができる。第1の測定値は、第1のポートが第1の機能を実行するように構成されていることに対応して、および、第2のポートが第2の機能を実行するように構成されていることに応答して取得することができる。この方法はさらに、プロセッサによって、第1のポートと第2のポートとの間の第2の容量変化の第2の測定値を受信することを含むことができる。第2の測定値は、第1のポートが第2の機能を実行するように構成されていることに対応して、および、第2のポートが第1の機能を実行するように構成されていることに応答して取得することができる。この方法はさらに、プロセッサによって、第1の測定および第2の測定に基づいて、センサ内の異常の発生の可能性を決定することを含むことができる。
【0005】
いくつかの例では、センサ内の異常の発生の可能性を決定するための非一時的なコンピュータ可読記憶媒体が一般的に説明される。非一時的なコンピュータ可読記憶媒体は、コンピュータに、センサに接続されたデバイスの第1のポートと第2のポートとの間の第1の容量変化の第1の測定値の受信を実行させる命令を格納できる。第1の測定値は、第1のポートが第1の機能を実行するように構成されていることに対応して、および、第2のポートが第2の機能を実行するように構成されていることに対応して取得することができる。命令はさらに、コンピュータに、センサに接続されたデバイスの第1のポートと第2のポートとの間の第2の容量変化の第2の測定値の受信を実行させることができる。第2の測定値は、第1のポートが第2の機能を実行するように構成されていることに対応して、および、第2のポートが第1の機能を実行するように構成されていることに対応して取得することができる。指示はさらに、コンピュータに、第1の測定値および第2の測定値に基づいて、センサ内の異常の発生の可能性の決定を実行させることができる。
【0006】
様々な実施形態のさらなる特徴ならびに構造および動作は、添付の図面を参照して以下に詳細に説明される。図面において、同様の参照番号は、同一または機能的に類似した要素を示す。
【図面の簡単な説明】
【0007】
【
図1】一実施形態において相互容量タッチセンシングの異常検出を実行できる例示的なシステムを示す図である。
【
図2】一実施形態において相互容量タッチセンシングの異常検出を実行できる別の例示的なシステムを示す図である。
【
図3A】一実施形態において相互容タッチセンシングの異常検出を実行できる複数のポートの例示的な構成を示す図である。
【
図3B】一実施形態における相互容量タッチセンシングの異常検出の実行から起因された測定値の比較例を示す図である。
【
図4】一実施形態において相互容量タッチセンシングの異常検出を実行するプロセスを示すフロー図である。
【
図5】一実施形態において相互容量タッチセンシングの異常検出を実行するプロセスを示すフロー図である。
【
図6】一実施形態における相互容量タッチセンシングの異常検出に関連する例示的なコンピュータまたは処理システムの概略を示す。
【発明を実施するための形態】
【0008】
いくつかの例では、相互容量タッチセンサ内にエラーまたは他のタイプの異常があるかどうかを決定するために、閾値ベースのシステムを使用して、センサ上に生成された電界を継続的に監視することができる。たとえば、相互容量変化を閾値と比較することで、タッチイベントがあるかどうかを判断(決定)できるが、その結果は、タッチイベントが誤検知(たとえば、ボタンの意図しないタッチ)であるかどうかを示さない。さらに、ある場合には、相互容量変化は、センサに接続されたトレースが損傷している場合でも、通常の動作と同じままであることが可能であり、それは、容量自体ではなく容量変化が閾値と比較されるためである。したがって、従来の閾値ベースのシステムは、相互容量タッチセンサの特定の異常を判断するには不十分な場合がある。エラーを特定するための他の従来のアプローチには、基準線間の最大タッチ差を使用すること、隣接する汎用入力/出力(GPIO)を利用してセンサが作動中かどうかを判断すること、既存のGPIOポートを採用してトレースが壊れているかどうかを判断すること、または、2つのマイクロコントローラを実装して同じセンサを測定することを含む。ただし、これらのアプローチは依然として同じ容量変化を利用しており、追加のハードウェアを必要とする場合がある。
【0009】
図1は、一実施形態において相互容量タッチセンシングの異常検出を実行できる例示的なシステム100を示す図である。システム100は、装置または機器101および/またはコンピュータデバイス102を含むことができる。コンピュータデバイス102は、プロセッサ120およびメモリ122を含むことができる。プロセッサ120は、メモリ122と通信するように構成することができる。コンピュータデバイス102は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、タブレットデバイス、および/または、他のタイプのコンピューティングデバイスであり得る。コンピュータデバイス102は、有線接続または無線接続を介して機器101と通信するように構成することができる。メモリ122は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、バッファ、キャッシュなどのメモリユニットを含むメモリデバイスであり得る。メモリ122は、命令セット124を格納するように構成され得る。命令セット124は、システム100を実行する1つまたは複数のタスクまたは機能を実行するためにプロセッサ120によって実行され得る、ソースコードおよび/または実行可能コードなどのコードを含むことができる。一例では、プロセッサ120は、機器101を監視できる、または、機器101の動作条件または動作状況に関して様々な診断プログラムを実行できる1つまたは複数のアプリケーションを起動するために命令セット124を実行するように構成することができる。
【0010】
機器101は、例えば、器具、白物製品、ヘルスケアデバイス、および/または、他のタイプのデバイスまたは機器であり得る。機器101は、デバイス110およびユーザインタフェース130を含むことができる。デバイス110は、機器101に埋め込まれたマイクロコントローラであり得る。ユーザインタフェース130は、例えば、ディスプレイやノブ、レバー、スイッチ、ボタンなどの制御キーを含むヒューマン・マシン・インターフェース(HMI)であり得る。例えば、
図1に示されるユーザインタフェース130は、ボタン131、132、133、134を含むことができる。デバイス110は、集積回路、論理ゲート、処理ユニット(例えば、マイクロコントローラまたは他のタイプのプロセッサ)、ネットワークカード、またはインタフェースなどを含むことができる。
図1に示される例では、デバイス110は、ポート141およびポート142などの少なくとも2つのポートを含むことができる。ポート141およびポート142は、センサ140に延長することができるトレースまたはワイヤに接続されたインタフェースまたはピンであり得、センサ140は、ユーザインタフェース130の構成要素(例えば、ボタン131、132、133、134の1つ)の下に位置する相互容量センサであり得る。
【0011】
ある例では、センサ140は、電極などの導体素子、または、トレース144およびトレース146などの金属トレース(例えば、銅トレース)を含むことができる。いくつかの例では、トレース144、146は、プリント回路基板(PCB)上に印刷されたトレースであり得る。トレース144は、ポート141に接続することができ、トレース146は、ポート142に接続することができる。いくつかの例では、トレース144、146のそれぞれは、個々の銅トレースなどの個々の電極であり得る。
図1の例は、センサ140を「C字型」電極として示している。しかしながら、当業者には、センサ140が、「2形状」電極、または、他の形状および寸法の電極などの他のタイプのセンサまたは電極であり得ることが明らかであろう。デバイス110は、センサ140上のトレース144、146の間に電界を生成または投射(投影)するようにポート141およびポート142を構成することができる。例えば、デバイス110は、送信機能または受信機能のいずれかを実行するようにポート141およびポート142のそれぞれを構成することができる。送信機能は、例えば、センサ140のトレース144、146のうちの1つを充電するための電流の出力であり得、充電されたトレースは、トレース144、146のうちの残りのトレースと電界を形成することができる。受信機能は、例えば、トレース144、146の間に形成される電界の受信であり得る。送信機能を実行するために1つのポートを構成し、受信機能を実行するために別のポートを構成する結果として、電界は、センサ140のトレース144、146の間に作成または投影され得る。ある例では、ポート141が送信機能を実行するように構成されていること、および、ポート142が受信機能を実行するように構成されていることにより、トレース144、トレース144の間に第1の電界を生成することができる。さらに、ポート142が送信機能を実行するように構成されていること、および、ポート141が受信機能を実行するように構成されていることにより、トレース144、146の間に第2の電界を生成することができ、第2の電界は第1の電界とは異なり得る。第1の電界および第2の電界に関連する初期の相互容量(例えば、タッチイベントからの干渉のない相互容量)は、互いに異なる可能性がある。
【0012】
一例では、タッチイベント136は、ユーザインタフェース130上で発生することができる。例えば、タッチイベント136は、物体(例えば、指先、タッチペンなど)を使用して、ユーザインタフェース130上のボタンの1つ(例えば、ボタン132)を押すことができる。タッチイベント136を引き起こす物体は、センサ140上に生成された電界を妨害し、電界を生成したトレース間の相互容量を減少させることができる。相互容量の減少は、デバイス110によって検出することができ、タッチイベントとして識別することができる。デバイス110は、検出された相互容量の減少を、プロセッサ120によって処理可能である測定値(例えば、アナログからデジタルへの変換)に変換するように構成することができる。
【0013】
図1に示される例では、センサ140は、ボタン132の下に配置することができ、タッチイベント136は、センサ140上で第1の容量変化を引き起こすことができる。デバイス110は、第1の容量変化を検出し、その第1の容量変化を第1の測定値111に変換することができる。タッチイベント136および第1の容量変化は、ポート141およびポート142の第1の構成の下で発生することができる。第1の構成は、例えば、ポート141が送信ポートでありポート142が受信ポートである場合に第1の電界がトレース144からトレース146に向けられた電気力を有することによって生成されるような構成であり得る。一例では、第1の容量変化もまた、第1の構成の下でのポート141、142の間で検出することができる。第1の容量変化を検出することに対応して、デバイス110は、ポート141およびポート142を第1の構成から第2の構成に構成(形成)することができる。第2の構成は、例えば、ポート141が受信ポートでありポート142が送信ポートである構成に、第2の電界がトレース146からトレース144に向けられる電気力を有することによって生成されるような構成であり得る。デバイス110は、第2の構成の下で第2の容量変化を取得し、その第2の容量変化を第2の測定値112に変換することができる。タッチイベント136および第2の容量変化は、ポート141およびポート142の第2の構成の下で発生し得る。一例として、第2の容量変化もまた、第2の構成の下でのポート141とポート142との間で検出することができる。第1の構成と第2の構成は、送信ポートと受信ポート、または、センサ140上の送信トレースと受信トレースが交換される場合には、異なる構成であり得る。第1の容量変化および第2の容量変化は、トレース144、146の間の相互容量変化であり得る。
【0014】
デバイス110は、第1の測定値111および第2の測定値112をプロセッサ120に送信することができる。プロセッサ120は、第1の測定値111および第2の測定値112を受信し、第1の測定値111および第2の測定値112に基づいて、異常可能性150を決定することができる。いくつかの例では、プロセッサ120は、第1の測定値111および第2の測定値112をメモリ122に格納するように構成することができる。異常可能性150は、ユーザインタフェース130上での異常の発生の可能性であり得る。一例では、プロセッサ120は、第1の測定値111と第2の測定値112とを比較して、第1の測定値111と第2の測定値112との間の差を決定することができる。プロセッサ120は、その差を、命令セット124で定義されるとともにメモリ122に格納され得る所定の閾値と比較することができる。
【0015】
その差が所定の閾値未満であることに対応して、プロセッサ120は、異常の存在がありそうにないと判断することができる。異常の存在がありそうにないと判断したことに対応して、プロセッサ120は、判断された異常可能性150を表すインジケータ(例えば、視覚的インジケータまたは音声インジケータ)を出力することができ、および/または、インジケータを何ら出力せずに通常の動作を維持することができる。
【0016】
その差が所定の閾値よりも大きいことに対応して、プロセッサ120は、異常の存在がありそうだと判断することができる。異常の存在がありそうだと判断したことに対応して、プロセッサ120は、判断された異常可能性150を表すインジケータ(例えば、視覚的インジケータまたは音声インジケータ)を出力して、機器101のユーザに、機器101の1つまたは複数の部分に異常が発生している可能性があることを通知することができる。いくつかの例では、プロセッサ120は、判断された異常可能性150を表す通知を別のプロセッサまたはデバイスに押し付けるように構成することができる。例えば、プロセッサ120は、判断された異常可能性150を表す通知を機器のユーザのユーザデバイス(例えば、携帯電話)に送信または押し付けることができ、または、判断された異常可能性150を表す通知を、機器101の製造業者によって管理されているデバイス、デバイス110,センサ140,またはユーザインタフェースに送信または押し付けて、潜在的な欠陥を製造業者に通知することができる。
【0017】
図2は、一実施形態において相互容量タッチセンシングの異常検出を実行することができる別の例示的なシステム200を示す図である。システム200は、装置またはデバイス210、ユーザインタフェース230、および1つまたは複数のセンサ(例えば、センサ240)によって実行することができる。機器201は、例えば、器具、白物製品、ヘルスケアデバイス、および/または他のタイプのデバイスまたは機器であり得る。機器201は、デバイス210、ユーザインタフェース230、および1つまたは複数のセンサを含むことができる。デバイス210は、機器201に埋め込まれたマイクロコントローラであり得る。ユーザインタフェース230は、例えば、ディスプレイや、ノブ、レバー、スイッチ、ボタンなどの制御キーを含むヒューマン・マシン・インタフェース(HMI)であり得る。例えば、
図2に示されるユーザインタフェース230は、ボタン231、232、233、234を含むことができる。デバイス210は、集積回路(例えば、集積回路216)、論理ゲート、処理ユニット(例えば、マイクロコントローラまたは他のタイプのpfプロセッサ)、ネットワークカード、またはインタフェースなどを含むことができる。一例では、集積回路216は、容量タッチセンシングユニット(CTUS)と呼ばれるオンボード周辺デバイスであり得る。
図2に示される例では、集積回路216は、ポート241およびポート242などの少なくとも2つのポートを含むことができる。ポート241およびポート242は、センサ240に延長可能なトレースまたはワイヤに接続されたインタフェースまたはピンであり得、センサ240は、ユーザインタフェース230の構成要素(例えば、ボタン231、232、233、234の1つ)の下に配置された相互容量センサであり得る。
【0018】
デバイス210は、プロセッサ220、メモリ222、および集積回路216を含むことができる。プロセッサ220は、メモリ222と通信するように構成することができる。プロセッサ220は、例えば、マイクロプロセッサまたはプログラマブルモジュール、例えば、フィールドプログラマブル論理アレイ(FPGA)モジュールのような処理ユニットであり得る。いくつかの例では、メモリ222は、プロセッサ220に集積されたローカルメモリであり得る。メモリ222は、読み取り専用メモリ(RОM)、ランダムアクセスメモリ(RAM)、レジスタ、バッファなどのメモリユニットを含むメモリデバイスであり得る。メモリ222は、命令セット224を格納するように構成することができる。命令セット224は、プロセッサ220によって実行可能なソースコードおよび/または実行可能コードなどのコードを含み、1つまたは複数のタスクまたは機能を実装してシステム200を実行することができる。一例では、プロセッサ220は、命令セット224を実行して、機器201を監視できる1つまたは複数のアプリケーションを起動するように、または、機器201の動作条件または状況に関して様々な診断ツールを実行できるように構成することができる。
【0019】
一例では、センサ240は、電極または金属トレース(例えば、銅トレース)、例えば、トレース244およびトレース246などの1つまたは複数の導体素子を含むことができる。いくつかの例では、トレース244、246は、プリント回路基板(PCB)上に印刷されたトレースであり得る。トレース244は、ポート241に接続することができ、トレース246は、ポート242に接続することができる。いくつかの例では、トレース244、246のそれぞれは、個別の電極であり得る。
図2の例は、センサ240を「C字型」電極として示している。しかしながら、当業者には、センサ240が、他のタイプのセンサまたは電極、例えば、「2形状」電極、または、他の形状および寸法の電極であり得ることが明らかであろう。集積回路216は、ポート241およびポート242を構成して、センサ240上のトレース244、246の間に電界を生成または投影することができる。例えば、集積回路216は、送信機能または受信機能のいずれかを実行するようにポート241およびポート242のそれぞれを構成することができる。送信機能は、例えば、センサ240のトレース244、246のうちの1つを充電するための電流の出力であり得、充電されたトレースは、トレース144、146のうちの残りのトレースと電界を形成することができる。受信機能は、例えば、トレース244、246の間に形成された電界の受容者であり得る。送信機能を実行するための1つのポートと、受信機能を実行するための別のポートとを構成した結果として、電界は、センサ240のトレース244、246の間に生成または投影され得る。一例では、送信機能を実行するように構成されたポート241と、受信機能を実行するように構成されたポート242とは、トレース244、246の間に第1の電界を生成することができる。さらに、送信機能を実行するように構成されたポート242と、受信機能を実行するように構成されたポート241とは、トレース244、246の間に第2の電界を生成することができ、第2の電界は、第1の電界と異ならせることができる。第1の電界および第2の電界に関連する初期の相互容量(例えば、タッチイベントからの干渉のない相互容量)は、互いに異ならせることができる。
【0020】
一例では、タッチイベント236は、ユーザインタフェース230上で発生することがある。例えば、タッチイベント236は、物体(例えば、指先、タッチペンなど)を使ってユーザインタフェース230上のボタンの1つ(例えば、ボタン232)を押すことができる。タッチイベント236を引き起こす物体は、センサ240上に生成された電界を妨害し、電界を生成したトレース間の相互容量を減少させることができる。相互容量の減少は、集積回路216によって検出され、タッチイベントとして識別することができる。集積回路216は、検出した相互容量の減少を、プロセッサ220によって処理することができる測定値(例えば、アナログからデジタルへの変換)に変換するように構成することができる。
【0021】
図2に示される例では、センサ240は、ボタン232の下に配置することができ、タッチイベント236は、センサ240上で第1の容量変化を引き起こすことができる。集積回路216は、第1の容量変化を検出し、第1の容量変化を第1の測定値211に変換することができる。タッチイベント236および第1の容量変化は、ポート241およびポート242の第1の構成の下で発生し得る。第1の構成は、例えば、ポート241が送信ポートでありポート242が受信ポートである場合にはトレース244からトレース246に向けられた電気力を有することによって第1の電界が生成されるような構成であり得る。一例では、第1の容量変化もまた、第1の構成の下でのポート241およびポート242との間で第1の容量変化を検出することができる。第1の容量変化を検出することに対応して、集積回路216は、ポート241およびポート242を第1の構成から第2の構成に構成(形成)することができる。第2の構成は、例えば、ポート241が受信ポートでありポート242が送信ポートである場合には第2の電界がトレース246からトレース244に向けられる電気力を有することによって生成されるような構成であり得る。一例では、第2の容量変化はまた、第2の構成の下でのポート241とポート242との間で検出することができる。集積回路216は、第2の構成の下で第2の容量変化を取得し、第2の容量変化を第2の測定値212に変換することができる。タッチイベント236および第2の容量変化は、ポート241およびポート242の第2の構成の下で起こり得る。第1の構成と第2の構成は、送信ポートと受信ポートまたはセンサ240上の送信トレースと受信トレースとが交換される場合には異なる構成であり得る。第1の容量変化および第2の容量変化は、トレース244、246の間の相互容量変化であり得る。
【0022】
集積回路216は、第1の測定値211および第2の測定値212をプロセッサ220に送ることができる。プロセッサ220は、第1の測定値211および第2の測定値212を受信し、第1の測定値211および第2の測定値212に基づいた異常可能性250を決定することができる。いくつかの例では、プロセッサ220は、第1の測定値211および第2の測定値212をメモリ222に格納するように構成することができる。異常可能性250は、ユーザインタフェース上で異常の発生の可能性であり得る。一例では、プロセッサ220は、第1の測定値211と第2の測定値212を比較して、第1の測定値211と第2の測定値212との間の差を判断することができる。プロセッサ220は、その差を、命令セット224内で定義されメモリ222内に格納され得る所定の閾値と比較することができる。
【0023】
その差が所定の閾値未満であることに対応して、プロセッサ220は、異常の存在がありそうにないと判断することができる。異常の存在がありそうにないと判断したことに対応して、プロセッサ220は、判断した異常可能性250を表すインジケータ(例えば、視覚的インジケータまたは音声インジケータ)を出力することができ、および/または何らのインジケータも出力せずに通常の動作を維持することができる。
【0024】
その差が所定の閾値よりも大きいことに対応して、プロセッサ220は、異常の存在がありそうだと判断することができる。異常の存在がありそうだと判断したことに対応して、プロセッサ220は、判断した異常可能性250を表すインジケータ(例えば、視覚的インジケータまたは音声インジケータ)を出力して、機器201のユーザに、機器201の一部分または複数の部分に関して異常が発生している可能性があることを通知することができる。例えば、ユーザインタフェース230は、発光ダイオード(LED)を含むことができ、プロセッサ220は、異常の可能性が高いと判断したことに対応して、制御信号を送信してLEDをオンにすることができる。いくつかの例では、プロセッサ220は、判断した異常可能性250を表す通知を別のプロセッサまたはデバイスに押し付けるように構成することができる。例えば、プロセッサ220は、判断した異常可能性250を表す通知を機器のユーザのユーザデバイス(例えば、携帯電話)に送信または押し付けることができ、または、判断された異常可能性250を表す通知を、機器201の製造業者によって管理されているデバイス、デバイス210、センサ240、またはユーザインタフェースに送信または押し付けて、潜在的な欠陥を製造業者に通知することができる。
【0025】
図3Aは、一実施形態において相互容量タッチセンシングの異常検出を実行することができる複数のポートの例示的な構成を示す図である。
図3Aに示される例では、マイクロコントローラユニット(MCU)は、TXまたはRXとしてラベル付けされ得る複数のポートTS01、TS02、TS03を含むことができる。
図3Aに示されるMCUは、例えば、それぞれ、
図1または
図2に示されるデバイス110またはデバイス210であり得る。TXポートは、ポートが送信機能を実行するように構成されていること、例えば、ボタンに接続されたセンサのTXポートに接続されたトレースを充電するためにMCUによって提供される電流を供給することを表すことができる。TXポートに接続されたトレースは充電でき、センサのRXポートに接続されたトレースと一緒に電界を生成することができる。センサのRXポートに接続されたトレースは、充電したトレース(例えば、TXポートに接続されたトレース)によって生成された電界の受信者になり得る。RXポートは、充電したトレースと受信トレース(RXポートに接続されたトレース)との間の相互容量変化をMCUに戻すことができ、相互容量変化は受信トレースから測定することができる。
【0026】
第1の構成310では、ポートTS01をTXポートとして割り当てることができ、ポートTS02、TS03をRXポートとして割り当てることができる。第1の構成310は、多数のTXポートと多数のRXポートとの比率を表すマトリックス構成として、例えば、1つのTXポートに対する2つのRXポートを表すa1x2マトリックスとして呼ぶことができる。第1の構成310は、ボタンB1、B2としてラベル付けされた2つの物理センサ(例えば、相互容量タッチセンサ)のための構成であり得る。
【0027】
第2の構成302では、ポートTS01をRXポートとして割り当てることができ、ポートTS02、TS03をTXポートとして割り当てることができる。第2の構成302は、多数のRXポートに対する多数のTXポートの別の比率を表す別のマトリックス構成として、例えば、2つのTXポートと1つのRXポートとを表すa2x1マトリックスとして呼ぶことができる。第2の構成302は、ボタンB1、B2としてラベル付けされた2つの物理センサのための構成であり得る。
【0028】
各ボタンB1、B2上のトレースの配置および形状は、第1の構成310と第2の構成302との間に異なる電界を生成させることができる。
図1に示されるトレース144、146をボタンB1、B2用の例示的なトレースとして使用すると、第1の構成310では、ポートTS01がTXポートとして構成されていることに応答して、B1のトレース144およびB2のトレース144を充電することができる。第1の構成310では、トレース144からトレース146に向けられた電気力を有する第1の電界を、B1、B2用に生成することができる。第2の構成302では、ポートTS02、TS03がTXポートとして構成されていることに対応して、B1のトレース146およびB2のトレース146を充電することができる。第2の構成302では、トレース146からトレース144に向けられた電気力を有する第2の電界を、B1、B2用に生成することができる。
【0029】
一例では、MCUは、MCUによって生成された1つまたは複数の駆動パルスを動的に再構成することによって、TXポートまたはRXポートになるポートを構成することができる。例えば、MCUは、周期的なパルスを有する駆動信号を生成するように構成された信号発生器を含むことができ、この駆動信号は、TS01ポートに接続されたドライバまたは駆動回路に入力されて、TS01ポートをTXポートとして構成することができる。別の例では、MCUは電流検出器をさらに含むことができ、MCUはTS02ポートを切り替えてTS02ポートを電流検出器に接続し、TS02ポートをRXポートとして構成することができる。MCUは、それぞれTXポートまたはRXポートになる各ポートを構成するために、ドライバまたは駆動回路に繋げて駆動信号を受信するように、または、電流検出器に繋いで入力電流を検出するようにそれぞれ個々のポートを構成することができる。それぞれ。ポートを動的に再構成し、2つの異なる電界から次から次に一連の測定を行うことができることによって、プロセッサは、一連の測定値を使用して、異常が存在するかどうかを判断することができる。いくつかの例では、MCUは、ファームウェアまたはアプリケーション・プログラミング・インタフェース(API)呼び出しを使用することによって、ドライバまたは駆動回路を使用してMCUを操作する構成にするようにポートを構成することができる。
【0030】
例えば、
図3Bは、タッチイベント310に対応し、第1の構成310および第2の構成302の下でのB1およびB2の相互容量変化を示す。ただし、タッチイベント310は、ボタンB1上のタッチイベントであり得、ボタンB2の一部分も意図せずにタッチされる(例えば、タッチイベント310を引き起こす物体が大きすぎる可能性があり、または、水などの他の物体がボタンB2に広がっている可能性がある)。第1の構成310の下では、ボタンB1、B2は、たとえそれらの相互容量変化がタッチ閾値321を超えても、タッチイベントを有すると見なすことができる。第2の構成302の下では、ボタンB1、B2は、たとえそれらの相互容量変化が別のタッチ閾値322を超えても、タッチイベントを有すると見なすことができる。異なるタッチ閾値321、322は、MCUによって構成された異なるTX、RXポートに起因する異なる電界(例えば、電気力の異なる方向)によって引き起こされ得る。第1の構成310では、その結果は、B1、B2の両方の相互容量変化がタッチ閾値321よりも大きいのでボタンB1、B2の両方がタッチされたことを示すことができる。しかしながら、このことは、タッチイベントがボタンB1のみを押すべきであるので、誤判定になり得る。第2の構成302では、その結果は、容量ボタンB1のみがタッチ閾値322を超えることを示している。第1の構成310と第2の構成302の下での相互容量変化の間の不一致は、タッチイベントに関連するエラーまたは異常が存在し得ることを示し得る。不一致は、異常可能性(例えば、
図1または
図2の異常可能性150または250)として(例えば、それぞれ、
図1または
図2に示されるプロセッサ120または220によって)出力され得る。たとえば、不一致は、検出されたハードウェア障害として、相互容量タッチセンサと一緒に埋め込まれた機器またはデバイスのアプリケーション層に伝播することができる。
【0031】
相互容量タッチセンサを有するデバイスのユーザインタフェースについての例示的な異常は、水を複数のボタンに及ばせるなどの環境イベントに対応して、特定のボタンがタッチされているか選択されているかをデバイスが識別できないことである可能性がある。複数のボタンに水がかかると、誤った多重のタッチイベントが潜在的に発生する可能性がある(たとえば、複数のボタンを押してコマンドを入力するなど)。
【0032】
別の例示的な異常は、相互容量タッチセンサの壊れた接続またはトレースであり得る。同じタッチイベントに対応して、異なる電界に起因する異なる相互容量変化の測定値を使用することにより(たとえば、送信ポートと受信ポートを交換することによって電界の方向を交換する)、異なる相互容量変化の測定値は、タッチイベントが異常であるかどうかの信頼要因として使用することができる。たとえば、2つ以上の相互容量変化の測定値が同一または非常に類似している場合、タッチイベントが異常である可能性は低いか、または、壊れたトレースまたは接続の存在の可能性は低い可能性がある。ただし、異なる相互容量変化の測定値が大幅に異なる場合、タッチイベントが異常であるか、または、壊れたトレースまたは接続の存在の可能性がある。
【0033】
例示的な実施形態では、本明細書に記載の方法およびシステムは、デバイス上のセンサまたはボタンのサブセットに使用することができる。たとえば、コンロなどの電化製品の場合、温度設定を間違えると危険な状況が発生する可能性があるため、温度設定用のボタンは重要であると見なすことができる。このように、これらの温度設定ボタンに接続されたポートは、ここで説明する交換ポートの動的構成を使用して(たとえば、ファームウェアおよびアプリケーション・プログラミング・インタフェース(API)呼び出しを介して)、潜在的なエラーおよび異常を検出することができる。したがって、比較的多数のセンサまたはボタンを備えたアプリケーションは、ハードウェアを変更せず、制限したソフトウェアを変更して、追加のエラー検出スキームを実行することができることにより、ここで説明する方法とシステムから恩恵を受けることができる。
【0034】
本明細書に記載のシステムおよび方法は、様々なタイプのデバイスおよび機器に実装された相互容量タッチセンサを監視するために使用できる追加のデータおよびパラメータ(例えば、TX、RXポートを交換した後の測定値)を提供することができる。さらに、TXポートとRXポートを交換することにより、センサを監視するための追加データを取得するために追加のハードウェアが不要になる場合があり、これにより、追加のコストと追加のハードウェア用の追加のボードスペースの要求を回避する。
【0035】
図4は、一実施形態において相互容量タッチセンシングの異常検出を実行するプロセス400を示すフロー図である。プロセス400は、デバイスのCTUSによって実施することができる。プロセス400は、複数のフェーズ401,402、403、404、405を含むことができる。フェーズ401は、送信(TX)ポートになるCTUSのポートTS01を構成し、受信(RX)ポートになるポートTS02を構成するための第1の構成フェーズであり得る。一例では、フェーズ401は、
図3の第1の構成301に示すポートTS01、TS02を構成するための構成フェーズであり得る。プロセス400は、フェーズ401からフェーズ402に進むことができる。
【0036】
フェーズ402は、送信パルスの生成から開始することができる。送信パルスは、TS01ポートに接続されたセンサ(例えば、相互容量タッチセンサ)上の第1の導電性構造(例えば、電極またはトレース)に送信でき、ポートTS01は、フェーズ40でTXポートとして構成されている。送信パルスは、センサの第1の導電性構造と第2の導電性構造との間に電界が生成されるようにするために、電流を流して第1の導電性構造を充電することができる。第2の導電性構造は、CTSUの別のポートTS02に接続することができ、ポートTS02はフェーズ401でRXポートとして構成される。CTSUはRXポートTS02で電流を測定でき、この測定値はM1とラベル付けされる。一例では、CTSUは、CTSUの電流制御発振器に接続された電流ミラーを使用することによってM1を測定することができる。測定値M1は、レジスタ(例えば、それぞれ
図1または
図2に示されるメモリ122または222の一部)に格納することができる。CTSUはさらに、センサの第2の導電性構造に電流を流すことができる受信パルスを生成できる。CTSUは、TXポートTS01で別の測定を実行することができ、この測定は、M2としてラベル付けされる。CTSUは、M1を格納するレジスタとは異なるレジスタにM2を格納できる。なお、測定値M1、M2は、CTSUの電流制御発振器を介してデジタルデータに変換できることに注意すべきである。CTSUは、測定値M1、M2を組み合わせた測定値(例えば、それぞれ、
図1または
図2の第1の測定値111または第1の測定値211)に結合し、結合した測定値をフェーズ401からの構成に関連付けられたレジスタに格納することができる。
【0037】
プロセス400は、フェーズ402からフェーズ403に進むことができる。フェーズ403は、RXポートになるCTSUのポートTS01を構成するため、および、TXポートになるポートTS02を構成するための第2の構成フェーズであり得る。一例では、フェーズ403は、
図3の第2の構成302に示されるポートTS01、TS02を構成するための構成フェーズであり得る。プロセス400は、フェーズ403からフェーズ404に進むことができる。
【0038】
フェーズ404は、TXポートおよびRXポートが交換された状態で、フェーズ402と同様である。フェーズ404では、CTSUは、TS02ポートが現在TXポートになっているため、TS02ポートに接続された第2の導電性構造を充電できる送信パルスを生成することができる。CTSUはRXポートTS01で電流を測定でき、この測定値はM3としてラベル付けされ、測定値M3はレジスタに格納することができる。CTSUはさらに、センサの第1の導電性構造に電流を流すことができる受信パルスを生成することができる。CTSUは、TXポートTS02で別の測定を実行でき、この測定値はM4としてラベル付けされ、CTSUはM3を格納するレジスタとは異なるレジスタにM4を格納することができる。CTSUは、測定値M3、M4を別の組み合わせた測定値(例えば、それぞれ、
図1または
図2の第2の測定値112または第2の測定値212)に結合し、フェーズ403から、構成に関連付けられたレジスタにM3、M4の結合した測定値を格納することができる。
【0039】
プロセス400は、フェーズ404からフェーズ405に進むことができる。フェーズ405では、CTSUまたは別のプロセッサ(例えば、プロセッサ120)は、組み合わされた測定値を分析して、タッチイベントの計算を実行することができる。例えば、
図3BのボタンB1に関連する結果は、フェーズ405におけるタッチイベントの計算の結果であり得る。タッチイベントの計算に基づくエラーまたは異常の検出に対応して、CTSUは、その結果(たとえば、
図1または
図2にそれぞれ示されている異常可能性150または250)を1つ以上のインジケータとして出力することができる。
【0040】
フェーズ402の別の例示的な実行では、フェーズ402で生成した送信パルスは、外部チューニングプログラムによって予め設定可能である特定の速度(例えば、送信パルスの周波数)で、構成したTXポートに接続されたセンサの導電性構造をストローブするためのものである。このストローブは、受信パルスを使用してRXポートに接続されたセンサの他の導電性構造にもミラーリングされ、フェーズ402の送信パルスと同相にすることができる。RXに接続された他の導電性構造にミラーリングしたストローブは、TXポートに接続された導電性構造を充電および平衡化するために、特定量の電流を引き出すことができる。この引き出した電流は、電流を周波数パルスに変換できるCTSU内の電流制御発振器を駆動するために使用できる。RXポートの測定値M1は、電流制御発振器から出力されるとともに一定期間にわたってCTSUによってカウントされる周波数パルスであり得、その結果、カウントと呼ばれるパラメータをもたらす。M1を取得した後、送信パルスは、位相がずれて駆動され、同じ切り替えと測定(たとえば、測定値M2)が、この位相のずれた測定値に対して再度繰り返される(たとえば、送信パルスと受信パルスは測定値M2に対して位相がずれている)。フェーズ402における2つの測定値M1、M2のこの反対の位相関係は、結果として生じる計算から寄生容量を除去することを可能にする。フェーズ404の実行は、同相信号それから続いて位相のずれた信号を使用するストローブの同じスキームを利用して、測定値M3、M4を取得する。
【0041】
別の例では、CTUSは、複数の層に分割可能、たとえば、抽象化層、CTSUのドライバを構成するとともにスキャンまたは測定を実行するドライバ層、および、測定値を処理してタッチイベントに分類する処理層に分割可能である命令(例えば、それぞれ、
図1または
図2の命令124または224)で実行することができる。ドライバ層は、複数のレジスタを順にロードする命令を含むことができ、この順番は、CTSUのどのポートがTXまたはRXとして割り当てるかを規定するとともにさまざまな測定と構成を実行する順序を規定できる。たとえば、フェーズ402の下では、TS01ポートとTS02ポートのみが構成されている場合、ドライバ層は、TS01ポートからの読み取りを行う前に、TS02ポートからの読み取りを行う順にレジスタをロードできる。TS01ポートの前にTS02ポートが読み取られるこの順序は、フェーズ402がTXポートの前にRXポートを測定するため、TS02ポートがRXポートでありTS01ポートがTXポートであるという指示であり得る。
【0042】
別の例では、本明細書に記載の方法(例えば、プロセス400)を実行するための命令(例えば、それぞれ
図1または
図2に示される命令124および224)は、アプリケーション・プログラミング・インタフェース(API)にカプセル化することができる。ユーザは、API呼び出しを介してCTSUと通信(対話)でき、たとえば、バイナリタッチ結果(たとえば、有効なタッチイベントまたは無効なタッチイベント)を示す視覚的なインジケータ(たとえば、数字、テキスト、グラフ)の形式でAPI呼び出しから結果を得ることができる。例えば、
図1または
図2で示された命令124または224はそれぞれ、プロセス400から測定結果の視覚的な出力をリクエストするために(ユーザによって入力される)API呼び出しを含むことができる。いくつかの例では、API呼び出しに、タッチスキャンを開始させ、完了時にタッチイベント(たとえば、
図3Bを参照)の有無のグラフィカル表現を示す結果を取得させることができる。こうして、命令124または224は、2つの異なる構成(TXポートとRXポートを交換した状態で)の測定を容易にし、診断アプリケーションを起動できる、例えば、異なるタイプのエラーとして潜在的な異常を分類できる外部プロセッサによって更なる分析を許容できる結果を出力することができる。API内に命令をカプセル化することで、ポータブルでモジュール式のアプローチを提供でき、リファクタリングなしで命令をアプリケーションからアプリケーションに、および、MCUからMCUに移植されることを許容することができる。
【0043】
図5は、一実施形態において相互容量タッチセンシングの異常検出を実行するためのプロセス500を図示するフロー図である。プロセスは、ブロック502、504、および/または506のうちの1つまたは複数によって図示されるように、1つまたは複数の動作、作用、または機能を含むことができる。個別のブロックによって図示されているけれども、希望する実装に応じて、さまざまなブロックは、追加のブロックに分割されたり、より少ないブロックに結合されたり、削除されたり、並行して実行されたりできる。
【0044】
プロセス500は、ブロック502で開始することができる。ブロック502で、プロセッサは、センサに接続されたデバイスの第1のポートと第2のポートとの間の第1の容量変化の第1の測定値を受け取ることができる。第1の測定値は、第1のポートが第1の機能を実行するように構成されていることに対応して、および、第2のポートが第2の機能を実行するように構成されていることに対応して、取得することができる。いくつかの例では、プロセッサは、第2のポートが第1の機能を実行するように構成されていることに対応して、かつ、第1のポートが第2の機能を実行するように構成されていることに対応して、センサの第1のポートと第2のポートとの間の第1の容量変化を検出することができる。プロセッサはさらに、第1の容量変化を第1の測定値に変換できる。プロセッサはさらに、第1の容量変化の検出に対応して第2の機能を実行するように第1のポートを構成することができる。プロセッサはさらに、第1の容量変化の検出に対応して第1の機能を実行するように第2のポートを構成することができる。
【0045】
プロセス500は、ブロック502からブロック504に進むことができる。ブロック504において、プロセッサは、第1のポートと第2のポートとの間の第2の容量変化の第2の測定値を受け取ることができる。第2の測定値は、第1ポートが第2の機能を実行するように構成されていることに対応して、かつ、第2のポートが第1の機能を実行するように構成された第2のポートに対応して取得することができる。プロセッサはさらに、第1のポートが第2の機能を実行するように構成されていることに対応して、かつ、第2のポートが第1の機能を実行するように構成されていることに対応して、センサの第1のポートと第2のポートとの間の第2の容量変化を検出することができる。プロセッサはさらに、第2の容量変化を第2の測定値に変換できる。
【0046】
プロセス500は、ブロック504からブロック506に進むことができる。ブロック506では、プロセッサは、第1の測定値および第2の測定値に基づいて、センサにおける異常の発生の可能性を判断することができる。いくつかの例では、プロセッサは、第1の測定値と第2の測定値との間の差を判断することができる。プロセッサはさらに、その差に基づいて、異常の発生の可能性を判断することができる。いくつかの例では、プロセッサは、その差を閾値と比較することができる。その差が閾値未満であることに対応して、プロセッサは、センサ内の異常の発生の能性が低いことに対応して、センサ内の異常の発生の可能性が低いと判断することができる。その差が閾値よりも大きいことに対応して、プロセッサは、センサ内の異常の発生の可能性が高いと判断することができる。いくつかの例では、プロセッサは、異常の発生の可能性をディスプレイに出力することができる。いくつかの例では、プロセッサは、異常の発生の可能性を別のプロセッサに出力することができる。
【0047】
図6は、本開示の一実施形態において相互容量タッチセンシングの異常検出を実行することができる例示的なコンピュータまたは処理システムの概略図を示す。コンピュータシステムは、適切な処理システムの一例に過ぎず、本明細書に記載の方法の実施形態の使用範囲または機能に関する制限を何ら示唆することを意図するものではない。図示した処理システムは、他の多くの汎用または特殊目的のコンピューティングシステム環境または構成で動作可能であってもよい。
図6に示した処理システムでの使用に適切であり得る周知のコンピューティングシステム、環境、および/または構成の例には、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、ハンドヘルドまたはラップトップデバイス、スマートフォンを含む携帯電話またはセル方式の携帯無線電話、ウェアラブルデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、スーパーコンピュータ、上記のシステムまたはデバイスのいくつかを含む分散型クラウドコンピューティング環境などを含んでもよいが、これらに限定されない。
【0048】
コンピュータシステムは、コンピュータシステムによって実行される、プログラムモジュールなどのコンピュータシステム実行可能命令の一般的なコンテクストで説明されてもよい。一般に、プログラムモジュールは、特定のタスクを実行したり、特定の抽象データ型を実行したりするルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでもよい。コンピュータシステムは、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散型クラウドコンピューティング環境で実践されてもよい。分散型クラウドコンピューティング環境では、プログラムモジュールは、メモリストレージデバイスを含むローカルおよびリモートの両方のコンピュータシステムストレージメディア内に配置されてもよい。
【0049】
コンピュータシステムの構成要素は、1つまたは複数のプロセッサまたは処理ユニット12、システムメモリ16、および、システムメモリ16を含む様々なシステム構成要素をプロセッサ12に結合するバス14を含んでもよいが、これらに限定されない。プロセッサ12は、本明細書で説明される方法を実行するモジュール30(例えば、容量タッチモジュール30)を含んでもよい。モジュール30は、プロセッサ12の集積回路にプログラムされても、プロセッサ12の集積回路に埋め込まれ若しくは統合されても、または、システムメモリ16、記憶装置18、または、ネットワーク24、若しくは、それらの組み合わせからロードされてもよい。
【0050】
バス14は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレートグラフィックスポート、および、様々なバスアーキテクチャのいずれかを使用するプロセッサまたはローカルバスを含む、いくつかのタイプのバス構造のいずれか1つまたは複数を表してもよい。例として、限定ではないが、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マイクロ・チャンネル・アーキテクチャ(MCA)バス、改良型ISA(EISA)バス、ぺサ(VESA)ローカルバス、周辺機器相互接続(PCI)バス、および、ユニバーサル・シリアル・バス(USB)を含む。
【0051】
コンピュータシステムは、様々なコンピュータシステム可読媒体を含んでもよい。そのような媒体は、コンピュータシステムによってアクセス可能である任意の利用可能な媒体であってもよく、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方を含んでもよい。
【0052】
システムメモリ16は、ランダムアクセスメモリ(RAM)および/またはキャッシュメモリなどの揮発性メモリの形式のコンピュータシステム可読媒体を含むことができる。コンピュータシステムはさらに、他の取り外し可能/取り外し不可能な、揮発性/不揮発性のコンピュータシステム記憶媒体を含んでもよい。ほんの一例として、記憶装置18は、取り外し不可能で不揮発性の磁気媒体(例えば、「ハードドライブ」)からの読み取りおよび書き込みのために提供することができる。図示されていないが、取り外し可能な不揮発性の磁気ディスク(例えば、「フロッピーディスク」)からの読み取りおよび書き込み用の磁気ディスクドライブと、CD-ROM、DVD-ROM、または他の光学媒体などの取り外し可能な不揮発性光ディスクからの読み取りまたは書き込み用の光ディスクドライブを設けることができる。不揮発性メモリまたは記憶媒体の他の例には、例えば、フラッシュメモリ、ソリッドステートドライブ(SDD)、磁気抵抗ランダムアクセスメモリ(MRAM)を含むことができる。そのような場合、それぞれが1つまたは複数のデータメディアインタフェースによってバス14に接続することができる。
【0053】
コンピュータシステムはまた、キーボード、ポインティングデバイス、ディスプレイ28などのような1つまたは複数の外部デバイス26と、ユーザがコンピュータシステムとやり取りできる1つ以上のデバイスと、および/または、コンピュータシステムが1つまたは複数の他のコンピューティングデバイスと通信できる任意のデバイス(例えば、ネットワークカード、モデムなど)と通信してもよい。そのような通信は、入力/出力(I / O)インタフェース20を介して発生する可能性がある。
【0054】
それでもなお、コンピュータシステムは、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、WI-FI、ブルートゥース、セルラーネットワーク(例えば、3G、4G、5G、ロング・ターム・エボリューション(LTE))、および/または、パブリックネットワーク(例えば、インターネット)などの1つまたは複数のネットワーク24とネットワークアダプタ22を介して通信することができる。図のように、ネットワークアダプタ22は、バス14を介してコンピュータシステムの他のコンポーネントと通信する。なお、図示されていないが、他のハードウェアおよび/またはソフトウェアコンポーネントがコンピュータシステムと組み合わせて使用され得ることを理解すべきである。例には、マイクロコード、デバイスドライバ、冗長処理装置、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、データアーカイブストレージシステムなどが含まれるが、これらに限定されない。
【0055】
本発明は、統合において任意の可能な技術的詳細レベルでのシステム、方法、および/またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含んでもよい。
【0056】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、または前述の任意の適切な組み合わせであってもよく、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下が含まれる:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フラッシュメモリ、フロッピーディスク、命令が記録された溝内のパンチカードまたは隆起構造物などの機械的に符号化されたデバイス、および、前述の任意の適切な組み合わせ。本明細書で使用されるコンピュータ可読記憶媒体は、電波または他の自由に伝播する電磁波、導波管または他の伝送媒体を通って伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、または、ワイヤを介して送信される電気信号などの一時的な信号自体であると解釈されるべきではない。
【0057】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/または、ワイヤレスネットワークを介して外部コンピュータまたは外部記憶装置にダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/または、エッジサーバで構成してもよい。各コンピューティング/処理デバイスのネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0058】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、またはSmalltalk、C++、C#、Java、C++、C#、Python、R、PHP、Visual Basic.NET、JavaScript、Ruby、Perl、Object Pascal、Objective-C、Dart、Swift、Scale、Kotlin、Common Lisp、MATLAB、などのオブジェクト指向プログラミング言語、および、「C」プログラミング言語や同様のプログラミング言語などの手続き型プログラミング言語を含めた1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードであってもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上でおよび部分的にリモートコンピュータ上で、または、完全にリモートコンピュータ上でまたはサーバ上で実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよいし、または、外部コンピュータに接続されてもよい(たとえば、インターネットサービスプロバイダを使用したインターネット経由)。いくつかの実施形態では、本発明の態様を実行するために、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用してパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0059】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して本明細書に記載されている。フローチャート図および/またはブロック図の各ブロックと、フローチャート図および/またはブロック図のブロックの組み合わせとは、コンピュータ可読プログラム命令によって実行できることが理解される。
【0060】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されて、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行する命令がフローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/行為を実行するための手段を作成するような機械を製造してもよい。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラム可能なデータ処理装置、および/または他のデバイスに、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/行為の態様を実行する命令を含んだ製造品を備えるような特定の方法で機能するように指示するコンピュータ可読記憶媒体に格納されてもよい。
【0061】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされて、一連の操作ステップをコンピュータ、他のプログラム可能な装置、または他のデバイス上で実行させて、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/行為を実行するコンピュータ、他のプログラム可能な装置、または他のデバイス上で実行するようなコンピュータ実行プロセスを製造してもよい。
【0062】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および動作を示している。これに関して、フローチャートまたはブロック図の各ブロックは、モジュール、セグメント、または命令の一部を表すことができ、これは、指定された論理機能を実行するための1つまたは複数の実行可能命令を含んでもよい。いくつかの代替の実装では、ブロックで言及されている機能は、図で言及されている順序から外れて発生するかもれしない。たとえば、連続して表示される2つのブロックは、実際には、実質的に同時に実行されてもよいし、または、そのブロックは、必要とされる機能に応じて、逆の順序で実行されてもよい。なお、ブロック図のそれぞれのブロックおよび/またはフローチャート図、および、ブロック図のブロックおよび/またはフローチャート図の組み合わせは、指定された機能または動作を実行し、または、特別な専用ハードウェアとコンピュータ命令の組み合わせを実行する特別な目的のハードウェアベースのシステムによって実行することができる。
【0063】
本明細書で使用される用語は、特定の実施形態のみを説明する目的であり、本発明を限定することを意図するものではない。本明細書で使用される場合、単数形「a」、「an」および「the」は、文脈が明らかに他のことを示さない限り、複数形も含むことを意図している。さらに、「comprises(含む)」および/または「comprising(含む)」という用語は、本明細書で使用される場合、定められた特徴、整数、ステップ、操作、要素、および/または構成要素の存在を指定するが、他の特徴、整数、ステップ、操作、要素、構成要素、および/または、それらのグループの1つまたは複数の存在または追加を除外しないことが、さらに理解されるだろう。
【0064】
以下の特許請求の範囲におけるすべての手段またはステッププラス機能要素の対応する構造、材料、行為、および同等物は、具体的に主張されたような他の請求項に記載された構成要素を組合わせて機能を実行するための任意の構造、材料、または行為を含むよう意図されている。本発明の説明は、例示および説明の目的で提示されたが、包括的であるよう意図されず、または、開示された形態の本発明に限定されるよう意図されない。多くの変更および変形は、本発明の範囲および主旨から逸脱することなく、当業者に明らかであろう。実施形態は、本発明の原理および実際の適用を最もよく説明するために、および、他の当業者が、企図される特定の使用に適した様々な変形を伴う様々な実施形態について本発明を理解可能にするために選択および説明された。