要約:このアプリケーションノートは、より大型のLEDディスプレイやドットマトリックス素子をサポートするための、複数の8 x 8マトリックスLEDドライバMAX696xの配列およびプログラム方法について詳述します。このドライバファミリは最大256のICのデイジーチェーンに対応しており、大型のマトリックスディスプレイを駆動、制御、およびプログラムすることができます。このアプリケーションノートでは、様々なデバイス間の相違点と、それらをマルチプレーン、マルチロウ、およびマルチカラムの用途に利用する方法を説明します。
デバイスの概要
LEDドライバMAX6960は、多重化された8行x16列のポートを通して、外付け部品を使用せずに2つの単色、8 x 8ドットマトリックスディスプレイを駆動します。1つのオープンドレインの行ポートが、16列すべてのポートから各40mAの最大定ソース電流で電流をシンクすることができます。これらの8つの行ポートは時間軸で多重化され、特定の時点では1つの行ポートだけが電流シンク用に作動します。したがって、個々の列ポートを通る平均電流は5mAになります。
また、MAX6960は単一の2色(赤、緑)、8 x 8ドットマトリックスディスプレイを駆動することもできます。個々のドットマトリックス素子を独立してオンまたはオフするか、または4段階(オフを含む)の輝度レベルに設定することができます。すべてのディスプレイの発光強度を、256ステップでPWM制御することができます。最大256のMAX6960デバイスをデイジーチェーンして、より大きな制御単位を形成することが可能であり、ホストコントローラからそのディスプレイメモリへは、DIN、DOUT、CLK、およびアクティブローのCSで構成される4線式シリアルインタフェースを通してアクセスすることができます。デイジーチェーンされたすべてのチップ間で使用される、ADDCLK、ADDIN、およびADDOUTで構成されたもう1つの3線式インタフェースによって相互接続の設定が自律的に行われるため、ホストコントローラからの介入は不要です。
図1は、2つのMAX6960を使用して4つの単色ディスプレイを駆動する簡単なアプリケーションを示しています。LDM-24288NIは、Lumex®製の8 x 8緑色、ドットマトリックスLEDです。4つのディスプレイ(D1、D2、D3、およびD4)は左から右に配置されて、8行x32列のディスプレイを形成します。U1のRISET0とRISET1、U2のRISET0とRISET1がすべてグランドに接続されているため、列の電流レベルはすべて一定の40mAに設定されます。
ディスプレイメモリへのアクセスは一度に8ビットずつ行われます。ピクセル当り1ビットの場合は、ディスプレイメモリへの書込みに当たって、最初の8ビットが第1の列、第2の8ビットが第2の列、というようになります。ピクセル当り1ビットでの8 x 8ピクセルのディスプレイは、8バイトで書き込まれます。すなわち、第1のディスプレイの第1の列のアドレスは0、第1のディスプレイの第2の列は1、第2のディスプレイの第1の列は8、というようになります。複数のドライバを使用している場合、すべてのディプレイメモリが結合され、ディスプレイメモリアドレスが次式のように決定されます。
メモリアドレス = (ドライバ番号 - 1) x 16 + (ディスプレイ番号 - 1) x 8 + (列番号 - 1)
間接方式を使用する場合、ディスプレイメモリへのアクセスは一度に1桁(8 x 8)ずつ、左から右のピクセル列に向かって行われます。次に、左から右に向かって、1桁ずつMAX6960のドライバの行の終りまで進みます。最後に、MAX6960ドライバの行を上から下に順次処理します。間接方式では、最初にディスプレイ全体の赤のメモリにアクセスして、次に緑のメモリにアクセスします。0x0Eに位置するグローバルドライバデバイスレジスタを初期化して、ディスプレイ間接アドレスカウントが正しい数でリセットすることができるようにする必要があります。これを図2と3で示します(DANはDigit Access Numberの略です)。1つの単一桁アクセスで、8バイト(ピクセル当り1ビットの場合とピクセル当り2ビットの場合で、それぞれ8 x 8または4 x 8のディスプレイマトリックス)のディスプレイメモリが更新されます。グローバルドライバデバイス数レジスタは、MAX6960の総数から1を減じた値に初期化してください。
0x0E, 0x01, // Write to global driver devices register with two total devices.
0x0F, 0x01, // Write to global driver rows register with two MAX6960s in a row.
次のコードは、図1の回路構成を持つ8 x 32マトリックスフォーメーションの中で、4つの8 x 8ピクセルで構成された部分の周囲をオンにする8ビット転送と16ビット転送の例です。
0xFF, // Light up the left edge.
0x81, // Light up top and bottom pixels of the second column.
0x81, // Light up top and bottom pixels of the third column.
...
0x81, // Light up top and bottom pixels of the fourteenth column.
0x81, // Light up top and bottom pixels of the fifteenth column.
0xFF, // Light up the left edge.
0x0D, 0x31, // Turn on the shutdown bit.