資料ライブラリ

アプリケーション・ノート使用上の注意
本アプリケーションノートの英語以外の言語への翻訳はユーザの便宜のために提供されるものであり、リビジョンが古い場合があります。最新の内容については、必ず最新の英語版をご参照ください。
なお、日本語版のアプリケーションノートは基本的に「Rev.0」(リビジョン0)で作成されています。

AN-929: CapTouch アプリケーション用にAD714Xを調整
はじめに
AD714x CapTouch™コントローラは、各アプリケーションに対して最適性能を提供するように調整する必要があります。調整は、ボタン、スクロール・バー、ホイールのようなコントローラに接続されるセンサーのタイプに依存します。センサーのサイズ、周囲、オーバーレイはすべて、性能に影響を与えます。
調整プロセスは簡単な5 ステップから構成され、このアプリケーション・ノートではこれらについて説明します。これらのステップは次の2 つの方法で行われます。
- 方法A は、AD714x 評価ボードではなく、開発システムによるレジスタに対する読み書きから構成されます。
- 方法B は、AD714x 評価ボードとソフトウェアの使用から構成されます。
調整を開始する際には、最終製品または最終デザインが対象になっていることを確認してください(最終製品としてはセンサーPCB、または可能な限りそれに近いもの)。センサーのオーバーレイは、最終製品と同じように実装する必要があります。
センサーPCB、実装材料、オーバーレイ材料を変更した場合には、さらに調整が必要になります。
各センサーについて、5 つのステップを次に示します。
- 入力接続をセットアップします。
- バルク容量または漂遊容量を相殺します。
- 上側または下側のクランプ値を求めます。
- 上側または下側のオフセット値を求めます。
- 感度を設定します。
各変換ステージについて、ステップ1~ステップ5 を実行します。
各ステージ/センサーに対して8 個の調整レジスタが、次のようにレジスタ・バンク2 に配置されています。
- STAGEX_CONNECTION Bits[6:0]
- STAGEX_CONNECTION Bits[13:7]
- STAGEX_AFE_OFFSET
- STAGEX_SENSITIVITY
- STAGEX_OFFSET_LOW
- STAGEX_OFFSET_HIGH
- STAGEX_OFFSET_HIGH_CLAMP
- STAGEX_OFFSET_LOW_CLAMP
予備ステップ
AD714x が設定済みでないことの確認
開始する前に、AD714x が設定済みでないことを確認することは重要です。各ステージの最初の3 個のレジスタ(X =0 to 11)が次のように設定されていることを確認します。
- StageX_Connection Bits[6:0] = 0xFFFF
- StageX_Connection Bits[13:7] = 0x3FFF
- StageX_AFE_Offset = 0x0000
3 個のレジスタが上記のように設定された後に、調整プロセスを開始することができます。この作業を実施する2 つの方法の内方法A では、AD714x 評価ボードではなく開発システムを使用することを想定しています。一方、方法Bでは調整に対してAD714x 評価ボードの使用を想定しています。
外部センサーPCB のAD714x 評価ボードへの接続 (方法B を使用する場合)
評価ボード・ソフトウェアとホスト・マイクロコントローラを使用して、カスタム・センサーを評価することができます(方法B の場合)。方法B では、外部センサーPCB をボードに接続した後に次のステップを実行する必要があります。
- 評価ボードの電源をオンにします。
- スイッチS4 をオフ・ポジションにします。
- 外部センサーPCB をJ1 またはJ2 に接続します。
外部センサーPCB 上にあるAD714x のシリアル・インターフェースが、評価ボード上にあるADuC841 のシリアル・インターフェースに接続されるようになります。
外部センサーPCB では、ボード上にAD714x を実装している必要があります。外部センサーを制御するために、評価ボード上のAD714x を使うことはできません。
コントローラ・シーケンサの理解
AD714x シーケンサ(図 1 参照)は、時分割マルチプレクス(TDM)方式でAD714x 上の変換を制御します。このシーケンサは、AD7142 とAD7147 では12 ステージで、AD7143 では8ステージで、それぞれ構成されています。
センサーの各CIN 入力の容量を測定するときは、少なくとも1 変換ステージを使います。任意のCIN 入力を任意のステージに割り当てることができます。調整は1 ステージごとに行われます。
ステップ1: 入力接続のセットアップ
各CIN 入力は、コンバータの正または負の入力ピンに接続することができます(図 2 参照)。各CIN 入力は、内部でバイアス・ノードに接続するか、またはフローティングのままにしておくことができます。CDC に接続しないすべてのCIN は、バイアスに接続する必要があります。
各CIN 入力には、この接続を制御する2 ビットが設けてあります。
CIN 入力設定は、各変換ステージごとに異なります。一般的な規則としては、変換ステージで1 本のCIN 入力がCDC に接続され、そのCIN に接続されているセンサーを計測します。
ボタンの場合
ボタン・センサーを容量デジタル・コンバータ(CDC)の正または負の入力に接続することができます( 図 3 参照)。1つのボタンを正のCDC 入力へ、他のボタンを負のCDC 入力へ、それぞれ接続して、2 つのボタンで同じステージ(差動)を使うことができます。差動接続されたボタンは互いに相殺し合うので、同時にアクティブにすることはできません。
スライダとホイールの場合
スライダとホイールは、8 個のセンサー・セグメントから構成されています(図 4 参照)。各セグメントは、ボタンの接続と同様に、個別に正のCDC 入力に接続されます。
スクロール時、複数のセグメントが応答します。高分解能のポジションを得るためには、ソフトウェア・アルゴリズムを使用します。
レシオメトリック・スライダの場合(図 5 参照)、CIN 入力は2本のみ使用します。各CIN 入力は、正のCDC 入力に接続します。
キーパッドの場合
キーパッドの各列と各行は、それぞれ1 本の接続を使って正のCDC 入力に接続します( 図 6 参照)。マトリックス・キーパッド動作の場合、行と列のステータスをチェックして、押されたキーを見つけます。
コントローラの最大許容キーパッド・サイズは、
- AD7142 とAD147 の場合: 6 × 6 = 36 キー
- AD7143 の場合: 4 × 4 = 16 キー
方法A: AD714X への書き込み
- STAGEX_CONNECTION ビット[6: 0] レジスタとSTAGEX_CONNECTION ビット[13: 7]レジスタへ書き込みを行って、CIN 接続を設定します。
- 各ステージの各CIN 入力への接続を設定します。
- 00 = CINx をCDC 入力へ接続しない
- 01 = CINx をCDC 負入力へ接続
- 10 = CINx をCDC 正入力へ接続
- 11 = CINx をバイアスへ接続(未使用CIN 入力の接続)
- 多くのアプリケーションでは、1 本のCIN のみを各ステージのCDC 入力に接続します。
- すべての未使用CIN 入力をバイアスへ接続します。
たとえば、変換ステージ2 で計測対象のCIN4 は次のようにセットアップします。
STAGE2_CONNECTION [6:0] = 0xFEFF
STAGE2_CONNECTION [13:7] = 0x3FFF
各変換ステージに対して、ステップ1~ステップ4 を繰り返します。
方法B: 評価ソフトウェアの使用
入力設定ダイアログ・ボックス(図 7 参照)を開くときは、評価ソフトウェアを起動して、Register Configuration を選択し、CIN Configuration Block STAGEX を選択します。
すべてのCINx を正または負のCDC 入力、またはバイアス(未使用)に接続します(図 7 参照)。各変換ステージに対してこの手順を繰り返します。
ステップ2: バルク/漂遊容量の相殺
AD7142 とAD7143 の場合、CBULK はPCB 材料に起因する容量です。AD7147 CSTRAY の場合、グラウンドに対する容量です。次の点に注意してください。
- CBULK またはCSTRAYがCIN の計測に影響を与えないようにします。
- CINはフェムト・ファラッド(fF)単位で測定します。
- CBULK/CSTRAY はピコ・ファラッド(pF)単位で測定します。
内蔵の7 ビットDAC を使用して、CBULK/CSTRAY (20 pF オフセット機能)を相殺させます。
センサーに触れていないときに、DAC を使ってCDC 出力値をミッド・スケールCDC 出力コード(約32,000 コード)に設定します。
方法A: AD714X への書き込み
- CDC_RESULT_SX レジスタからセンサーのCBULK 値を読み出します。
- CINx が正のCDC 入力に接続されている場合、POS_AFE_OFFSET 値を1 LSB だけ増加させます。CINx が負のCDC 入力に接続されている場合、NEG_AFE_OFFSET 値を1 LSB だけ増加させます。
- CDC_RESULT_STAGEX レジスタから再度読み出します。
- CDC_RESULT_STAGEX 値ができるだけ32,768 に近づくまで、ステップ2 とステップ3 を繰り返します。POS_AFE_OFFSET とNEG_AFE_OFFSET の最適値はゼロであることに注意してください。
方法B: 評価ソフトウェアの使用
図 8 に示すダイアログ・ボックスを開くときは、評価ソフトウェアを起動して、Register Configuration を選択し、CIN Configuration Block STAGEX を選択します。
ショートカット・ボタンを使って、必要なオフセット値を取得します。オフセットが正しく設定されたとき、CDC の出力はミッド・スケール(約32,700 コード)に近い必要があります。そうでない場合には、POS_AFE_OFFSET ボックスまたはNEG_AFE_OFFSET ボックスの隣にある矢印をクリックして、値を変えます。
ステップ3: 上側と下側のクランプ値の取得
センサー・アクティブ化の登録
センサーから計測した値が上側スレッショールドを超えて増加した場合、または減少して下側スレッショールドを下回った場合、センサーがアクティブになります(図 9 参照)。
スレッショールド値は、内蔵ロジックにより連続的に更新されて、周囲(バックグラウンド)容量レベルの変化を反映させます。
クランプ値
内蔵デジタル・ロジックには初期値が必要です。
上側と下側のクランプ値は、最大および最小のセンサー応答を決めることにより、求められます。
これらのクランプ値は、環境補償と適応型スレッショールドの内蔵デジタル・ロジックにより使用されます。
CIN 入力が1 本だけCDC に接続されているステージの場合、上側クランプ値と下側クランプ値は等しくなります。
CINx が正のCDC 入力に、CINy が負のCDC 入力に、それぞれ接続されている場合は、上側と下側のクランプ値は異なります。これは、2 個のボタンが差動で接続されているケースに該当します。
方法A: AD714x への書き込み
センサーに触れていないときに、ADC_RESULT_SX(CDC_RESULT_SX とも呼ばれます)を読み出します。
センサーに触れているときに、ADC_RESULT_SX を読み出します。指が大きいほど、センサー応答が大きくなります。クランプ値は、触れたときの値と触れていないときの値の差になります。
クランプ= |触れたときのCDC 値–触れていないときのCDC 値|
上側クランプ値はSTAGEX_OFFSET_HIGH _CLAMP へ、下側クランプ値はSTAGEX_OFFSET_LOW_CLAMP へ、それぞれ書き込まれます。
CIN 入力が1 本だけCDC に接続されているステージの場合、上側クランプ値と下側クランプ値は等しくなります。
2 個のセンサーがCDC に接続されているステージの場合は、ステップ1 ~ステップ3 に従います。
- 各センサーに一度に一回触れます。
- センサーから上側クランプ値を取得します。この値は、触れたときにCDC コードの増加を示します。
- センサーから下側クランプ値を取得します。この値は、触れたときにCDC コードの減少を示します。
方法B: 評価ソフトウェアの使用
- 評価ソフトウェアを使用して各センサーのCDC 出力をプロットします(図 10 参照)。
評価ソフトウェアを起動してRegister Configuration を選択し、Calibration STAGEX を選択します。Read Continuously ボタンクリックして、CDC 値をプロットします。 - 最も太い指を使って、最大/最小のセンサー応答を取得します。
- クランプ値は次のように計算します。
クランプ= |触れたとき–触れないとき| CDC 値
この例では、
クランプ= | 34540 – 33450 |
STAGEX_OFFSET_HIGH _CLAMP = 1090
STAGEX_OFFSET_LOW _CLAMP = 1090
- ステップ3 で計測した値を各STAGE_OFFSET_CLAMPレジスタに設定します。
ステップ4: 上側と下側のオフセット値の取得
上側と下側のオフセット値を取得する手順は、方法A または方法B で使用した手順と同じです。
上側と下側のオフセット値は、パワーアップ時にセンサー・アクティブ化スレッショールドを計算するときに使用する値です。実際のスレッショールドは、感度の設定も考慮します。
計算は次のようになります。
オフセット=クランプ値× 0.8
STAGEX_OFFSET_LOW =
STAGEX_OFFSET_LOW_CLAMP × 0.8
STAGEX_OFFSET_HIGH =
(STAGEX_OFFSET_HIGH_CLAMP × 0.8
たとえば、LOW_CLAMP = 2000 でHIGH_CLAMP =2500 のとき、
STAGEX_OFFSET_LOW = 1600
STAGEX_OFFSET_HIGH = 2000
評価ソフトウェアを使用したクランプ値とオフセット値の変更
図11 に示すダイアログ・ボックスを開くときは、評価ソフトウェアを起動して、Register Configuration を選択し、Calibration STAGEX を選択します。
STAGEx_OFFSET_CLAMP 値とSTAGEx_OFFSET 値を変更するときは、該当する矢印を使って値を増減します。
ステップ5: 感度の設定
各センサーに対して独自の感度レベルを設定することができます。最大16 レベルの感度を使用することができます。感度設定では、周囲を基準とする平均最大センサー出力の25%~95%のアクティブ化スレッショールドを設定します。図 12 を参照してください。
感度設定での小さい値は、軽く触れるだけでセンサーがトリガーされることを意味します。一方、感度設定の大きい値は強く触れたときにのみセンサーがトリガーされることを意味します。
方法A: AD714x への書き込み
感度設定は全体として、センサーがユーザーを検出する方法に依存します。この検出方法は設計者が指定します。
感度を53%に設定することから開始します。
STAGEX_SENSITIVITY = 0110
感度応答を大きくする場合は、感度設定を小さくします。
たとえば、
STAGEX_SENSITIVITY = 0001 = 29%
感度応答を小さくする場合は、感度設定を大きくします。
たとえば、
STAGEX_SENSITIVITY = 1101 = 85%
方法B: 評価ソフトウェアの使用
感度設定は、ユーザーの設定に依存します(センサーのソフトタッチまたはハードタッチ)。図 13 を参照してください。
感度を公称50%に設定することから開始します。
感度を大きくする場合(ソフトタッチでセンサーをアクティブ化)、感度のパーセント値を小さくします。感度を小さくする場合(ハードタッチでセンサーをアクティブ化)、感度のパーセント値を大きくします。
結論
このアプリケーション・ノートでは、AD714x CapTouch コントローラを調整する次の5 ステップのプロセスについて説明しました。
- 入力接続をセットアップします。
- バルク容量または漂遊容量を相殺します。
- 上側または下側のクランプ値を求めます。
- 上側または下側のオフセット値を求めます。
- 感度を設定します。
各変換ステージに対してステップ1 ~ステップ5 を実行すると、AD714x のバンク2 の全設定値が得られます。デバイスのパワーアップ時に、これらの値をAD714x に書き込むことにより、アプリケーションに合わせた設定を行う必要があります。
評価ソフトウェアを使用したAD714x 設定の保存
評価ソフトウェアを起動してRegister Configuration を選択することにより、ウインドウ(図 14 参照)を開きます。
設定データをC コードで保存するときは、Create Config Fileボタンを選択します。AD714X のレジスタ設定がC コード・ヘッダー・ファイルに保存されます。
評価ソフトウェアを使ってAD714x に再ロードできるように設定データを保存するときは、Setup Registers ボタンを選択して、Save を選択します。