マキシム >
設計サポート
> アプリケーションノート
>
[ディスプレイドライバ ]
キーワード: MAX6954, MAX6955, LEDドライバ, ディスプレイドライバ, I2C, キー, スイッチ, キースキャン, キースイッチ, デバウンス, DS3123, DS31230, DS9123O
関連製品
APP 3462: Aug 17, 2005
ダウンロード、PDFフォーマット (124kB)
アプリケーションノート 3462
MAX6954とMAX6955のキースキャンを32キーを超えて拡張
要約:このアプリケーションノートでは、MAX6954とMAX6955のLEDディスプレイドライバのキースキャン機能を32キーから最大80キーに拡張する方法について詳しく説明します。
MAX6954/MAX6955は、4線式と2線式のシリアルインタフェースのLEDドライバであり、最大7セグメント、14セグメント、および16セグメントのLED桁、あるいは16 x 8のLEDの配列を制御します。ドライバは、5つのI/Oエキスパンダ(GPIO)ポートを備え、またこれらのポートの一部または全部を使用して最大32のキースイッチを自動的にスキャンしてデバウンスするためのロジックも備えています。このロジックには、割込み出力端子を経由してシステムプロセッサにキーのデバウンスを通知するオプション機能があります。ここで説明する手法は、特別なダイオードを追加することによって、MAX6954/MAX6955の機能を32から80以上のキーに拡張するものです。
表1. MAX6954/MAX6955への標準32キー接続
P0
P1
P2
P3
LED Output O0
SW A1
SW B1
SW C1
SW D1
LED Output O1
SW A2
SW B2
SW C2
SW D2
LED Output O2
SW A3
SW B3
SW C3
SW D3
LED Output O3
SW A4
SW B4
SW C4
SW D4
LED Output O4
SW A5
SW B5
SW C5
SW D5
LED Output O5
SW A6
SW B6
SW C6
SW D6
LED Output O6
SW A7
SW B7
SW C7
SW D7
LED Output O7
SW A8
SW B8
SW C8
SW D8
図1. MAX6954/MAX6955への標準32キー接続
表1 と図1 は、MAX6954/MAX6955への標準キースイッチ接続を示しています。キースイッチ回路は、4 x 8のマトリックス(4列8行)で構成された32のキーを読み取ります。キーマトリックスの8行は、8つのLEDカソード駆動出力(LED Output O0~LED Output O7)によって駆動されます。これらのLEDカソード駆動出力は、複合LED駆動の一部として、順に320μs(定格)の間ローとなり、これによってLEDを順次駆動します。また、これらの駆動出力を使用して、2つのキースイッチのそれぞれ一端をローにプルダウンしています。キーのもう一端は4つの入力端子(P0~P3)に接続され、MAX6954/MAX6955の内部でV+にプルアップされています。スイッチが押された場合、該当するLED Output Ox出力によってP0、P1、P2、またはP3がローにプルダウンされるため、MAX6954/MAX6955はキーが押されたことを検出し、デバウンスを実施します。
スイッチに直列に接続されたダイオードは、複数のキーが同時に押された場合に2つ以上のLEDカソード駆動出力が同時に短絡しないようにしています。たとえば、SW A1とSW A2が同時に押された場合、キーに直列に接続されたダイオードによってLED Output O0がLED Output O1に短絡されることを防止しています(常に少なくとも1つのダイオードに逆バイアスがかかるためです)。通常、ダイオードには、低コストなSOT23のコモンアノードBAW56が実装されます。
MAX6954/MAX6955は、任意の時点で押される(または離される)可能性のある32のキーのいずれの組み合わせも区別して識別します。製品にはこれら32のキーの状態を示せるだけのレジスタしかありません。したがって、このスキャニングトポロジを、MAX6954/MAX6955を設計したときの32キーを超えて拡張する方法がないことは明らかです。このため、より独創的な別の手法を考える必要があります。
具体的には、冗長的な状況を利用することが可能かどうかを探すことになります。多くの場合、アプリケーションに必要なことは、多数のキーの1つが押されたかどうかを検出するということだけです。通常、装置で2つのキーが押された場合、間違って入力したか、あるいは特殊な方法で工場診断モードに移行したかのいずれかです。つまり、冗長的な状況とは、2つのキーが押された場合です。ここで提案する独創的な方法とは、追加キーを、特定のキーのペアが同時に押されたかのように思わせることです。表2 と図2 の例では、P0とP1、およびP2とP3を組み合わせることによって、16のキーを追加しています。たとえば、SW AB1が押されたとき、SW A1とSW B1が同時に押されたかのようにMAX6954/MAX6955に思わせる必要があります。この拡張アーキテクチャは、元のキーの組み合わせ(たとえば、SW A1とSW B1)が物理的に隣接しておらず、したがって誤って同時に押されることのない限り、正しく機能します。1回のキースキャンパスの結果が確実に解析されるようにするために、MAX6954/MAX6955のデバウンスサイクルタイム以内にキーの/IRQ出力に反応するようにソフトウェアを記述する必要があります。ソフトウェアの/IRQ反応が遅いと、2つのキーが同時に押されたのか(追加した特別キーの識別)、同じ2つのキーが連続して押されたのかを区別することができなくなります。どちらの場合でも、キーデバウンスレジスタ0x08~0x0Bは、各キーに対応するビットのセットを示すだけです
表2. MAX6954/MAX6955への拡張48キーの接続
P0
P1
P2
P3
P0 & P1
P2 & P3
LED Output O0
SW A1
SW B1
SW C1
SW D1
SW AB1
SW CD1
LED Output O1
SW A2
SW B2
SW C2
SW D2
SW AB2
SW CD2
LED Output O2
SW A3
SW B3
SW C3
SW D3
SW AB3
SW CD3
LED Output O3
SW A4
SW B4
SW C4
SW D4
SW AB4
SW CD4
LED Output O4
SW A5
SW B5
SW C5
SW D5
SW AB5
SW CD5
LED Output O5
SW A6
SW B6
SW C6
SW D6
SW AB6
SW CD6
LED Output O6
SW A7
SW B7
SW C7
SW D7
SW AB7
SW CD7
LED Output O7
SW A8
SW B8
SW C8
SW D8
SW AB8
SW CD8
特別キーのそれぞれにデュアルダイオード(低コストなSOT23のコモンカソードBAV70など)が必要となります。スイッチが押されたとき、このデュアルダイオードがP0とP1(またはP2とP3)をローにプルダウンします。
図2. MAX6954/MAX6955への拡張48キーの接続
図2(表2)の方式では、P0とP1、およびP2とP3を組み合わせることによって、16のキーが追加されています。実際には、P0~P3のキースキャン入力について可能な2つのキーの組み合わせは、さらに4通りあります。2つのキーの組み合わせ(6通り)をすべて使用すると、表3 に示すように、キーの数を80スイッチに拡張することができます。図3 は、6つの特別キーをLED Output O0の行に接続する方法を示しています。ここでも、特別キーのそれぞれが1つのデュアルダイオードを使用します。
表3. MAX6954/MAX6955への拡張80キーの接続
P0
P1
P2
P3
P0 & P1
P0 & P2
P0 & P3
P1 & P2
P1 & P3
P2 & P3
LED Output O0
SW A1
SW B1
SW C1
SW D1
SW AB1
SW AC1
SW AD1
SW BC1
SW BD1
SW CD1
LED Output O1
SW A2
SW B2
SW C2
SW D2
SW AB2
SW AC2
SW AD2
SW BC2
SW BD2
SW CD2
LED Output O2
SW A3
SW B3
SW C3
SW D3
SW AB3
SW AC3
SW AD3
SW BC3
SW BD3
SW CD3
LED Output O3
SW A4
SW B4
SW C4
SW D4
SW AB4
SW AC4
SW AD4
SW BC4
SW BD4
SW CD4
LED Output O4
SW A5
SW B5
SW C5
SW D5
SW AB5
SW AC5
SW AD5
SW BC5
SW BD5
SW CD5
LED Output O5
SW A6
SW B6
SW C6
SW D6
SW AB6
SW AC6
SW AD6
SW BC6
SW BD6
SW CD6
LED Output O6
SW A7
SW B7
SW C7
SW D7
SW AB7
SW AC7
SW AD7
SW BC7
SW BD7
SW CD7
LED Output O7
SW A8
SW B8
SW C8
SW D8
SW AB8
SW AC8
SW AD8
SW BC8
SW BD8
SW CD8
図3. MAX6954/MAX6955への拡張80キーの接続
しかし、特別キーを識別するために、なぜキーの二重押しに限定するのでしょうか? 3つおよび4つのキーの組み合わせを、キーの二重押しの代わりに、あるいは二重押しに加えて使用することもできます。表4 は、これらの特別な構成を示しています。3つのキーの組み合わせ(4通り)はトリプルダイオードを必要とし、4つのキーの組み合わせはクワッドダイオードを必要とすることに留意してください。
表4. 3つおよび4つのキーの接続
P0 & P1 & P3
P0 & P1 & P4
P0 & P2 & P3
P1 & P2 & P4
P0 & P1 & P2 &P3
LED Output O0
SW ABC1
SW ABD1
SW ACD1
SW BCD1
SW ABCD1
LED Output O1
SW ABC2
SW ABD2
SW ACD2
SW BCD2
SW ABCD2
LED Output O2
SW ABC3
SW ABD3
SW ACD3
SW BCD3
SW ABCD3
LED Output O3
SW ABC4
SW ABD4
SW ACD4
SW BCD4
SW ABCD4
LED Output O4
SW ABC5
SW ABD5
SW ACD5
SW BCD5
SW ABCD5
LED Output O5
SW ABC6
SW ABD6
SW ACD6
SW BCD6
SW ABCD6
LED Output O6
SW ABC7
SW ABD7
SW ACD7
SW BCD7
SW ABCD7
LED Output O7
SW ABC8
SW ABD8
SW ACD8
SW BCD8
SW ABCD8
3つおよび4つのキーの組み合わせを採用しないのには、十分な理由があります。なぜなら、より多くのダイオードを必要とするからです。ただし、アプリケーションが32のキーの制限をわずかに超える特別キーだけを必要とする場合には、これらの5つを最初に考慮することも可能です。これは、ユーザが3つまたは4つのキーを誤って打ち間違える可能性は、2つのキーを間違える可能性よりも低いからです。
注:説明した拡張キーをそれぞれ接続することで、同じLEDカソード駆動出力(LED Output O0~LED Output O7)上のキーの複数押下をシミュレートしています。このように接続することで、キーの複数押下の組み合わせに関与するキーが同時にスキャンされてデバウンスが実施されるため、結果は同時に表示されます。異なるLEDカソード駆動出力によってスキャンされるキーの複数押しを特別キーでシミュレートする場合には、キーが同時にデバウンスされないため、信頼性は低下します。
関連製品
APP 3462: Aug 17, 2005
自動アップデート
お客様が関心のある分野でアプリケーションノートが新規に掲載された際に自動通知Eメールの受信を希望する場合は、EE-Mail™にご登録ください。
フィードバックをお寄せください。 内容に満足されましたか、あるいは満足されていませんか?もっと良いページにできると思いますか?あるいは、単なるコメントでも結構です。フィードバックをお待ちしています。 —マキシムはお客様からいただく訂正、提案を元に改善していきます。
このページを評価し、フィードバックを送信する。