スマートフォンでおなじみの静電容量式タッチ・センサを組み込みシステムに実装 ―― マイコンの周辺機能を利用すれば,追加コストは不要

Jonathan Dillon

tag: 組み込み 半導体

技術解説 2011年4月22日

●充電時間計測ユニット(CTMU)を使用する

 定電流ソースを備えたマイコンを使用すると,センサを一定時間充電し,その間の電圧変化を計測することができます(図7).

 

図7 充電時間計測ユニット(CTMU)におけるセンサ電圧の変化

 

 指のタッチによってセンサに追加の静電容量が生じると,A-Dコンバータが計測する電圧が低下します.センサの電圧は,以下のようになります.

   ...(3)

     V:A-Dコンバータが計測する電圧
     i:定電流ソースからの電流
     tcharge:センサ充電時間(一定)
     Chold:ホールド・コンデンサの静電容量(本稿の試験デバイスでは10pF)
     Cp:センサの寄生容量
     Cf:ユーザの指と電極パッドの間に生じる静電容量

 この方式では,A-Dコンバータのチャネル選択用アナログ・マルチプレクサを使用してマイコンのピンを選択します(図8).これにより,複数センサをスキャンすることが可能です.また,センサとホールド・コンデンサを同時に充電するため,静電容量式分圧器は不要です.

 

図8 A-Dコンバータ回路と電流ソース

 

 電流ソースを有効にする前に,コンデンサの充電状態を既知の状態にする必要があります.このため,マイコン内部のゲートを通してコンデンサをグラウンドに接続して完全に放電させます.ソフトウェアによる電流調整で充電時間を短縮し,複数センサを高速に計測してスキャンすることが可能です.例えば米国Microchip Technology社の多ピン・マイコンの多くは定電流ソースを内蔵しています.これらのデバイスは,多数のアナログ・チャネルを備えており,多くの静電容量式タッチ・センサを実装できます.

●静電容量検出モジュール(CSM)を使用する

 一部の最新の汎用マイコンは,特殊な回路を備えた静電容量検出モジュール(CSM:Cap Sense Module)を内蔵しています(図9).こうしたデバイスは多チャネルのアナログ・マルチプレクサも備えており,マルチボタン・インターフェース向けに複数の静電容量式タッチ・センサをスキャンできます.また,静電容量検出モジュールに加えて1対のカウンタ・タイマも内蔵しています.

 

図9 静電容量検出モジュールの接続とリソース

 

 静電容量検出モジュールは内部の定電流ソースとシンクを使用し,上下のトリップ点に基づいてセンサの充電と放電を交互に繰り返します.その波形を図10に示します.

 

図10 静電容量検出モジュールのセンサ波形

 

 静電容量検出モジュールは電流ソースとシンクを自動的に切り換えます.充電・放電の周期はセンサの静電容量に依存します.静電容量が増えると,この周期は長くなります.

 充放電サイクルの周波数を計測するために,この波形を用いてディジタル論理のカウンタ/タイマへクロック信号を提供します.カウンタをリセットしたあと,特定の時間ウィンドウ内でクロックをカウントすることにより,その時間ウィンドウ内で発生した充放電の回数が分かります.指のタッチによって静電容量が増加すると,波形の周波数が下がってカウント値が低下します(図11).時間ウィンドウの長さは別のカウンタによって制御できます.また,波形のカウントを停止して,プロセッサにほかのタスクを処理させることもできます.超低消費電力のウォッチドッグ・スーパバイザ・タイマ(WDT)からのオシレータを用いて時間ウィンドウを提供することも可能です.この場合,マイコンがスリープ・モード中であっても,静電容量検出モジュールの動作を維持してカウンタ/タイマをインクリメントできます.ウォッチドッグ・スーパバイザ・タイマは周期的にマイコンをウェイクアップし,その際にソフトウェアがカウンタ値を読み取って処理します.

 

図11 内部カウンタ/タイマへのクロック信号

 

 回路の寄生容量の変動に対処するため,現在の寄生容量に応じたベース・ライン値を維持する必要があります.このため,通常はセンサ計測値に対して移動平均フィルタを適用します.メモリ・サイズが限られているため,複数の計測値を保存する必要のないIIR(Infinite Impulse Response)式の移動平均を使用します.

 このようにして求めたセンサ静電容量の結果値をベース・ラインと比較することにより,タッチ操作の発生を判定します.静電容量の変化が設定した基準を超えるとタッチが発生したと判定し,ソフトウェアによる処理が必要であると判断します.アプリケーションによっては,フィルタ処理または平均化処理を行わずに静電容量の計測値を直接使用する場合もあります.

 静電容量検出モジュールは,タッチ・センサの場合だけでなく近接センサでも使用できます.両者の動作は実質的に同じですが,近接センサでは電極間の距離が大幅に大きくなります.この場合,計測時間ウィンドウを大きくして静電容量の低下に対処します.また,過渡ノイズも長期間の平均化によって低減できます.しかし,タイムラグによりインターフェースの応答が遅くなるため,こうした対処法はセンサが一つだけの場合にのみ有効です.

 近接センサの場合,波形の一定サイクル数の時間をカウンタ/タイマで計測して分解能を改善します.これにより,電極間の距離の増加による分解能の低下を補うことができます.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日