クイックスタート:MAX6954を使って14セグメントディスプレイを駆動

要約

このアーティクルは、MAX6954を使用して14セグメントのモノカラーLEDを駆動することを検討している技術者が迅速に学ぶことを目的に作られたガイドブックです。

MAX6954は汎用のディスプレイドライバであり、シリアルインタフェースを通して、個別の7セグメント、14セグメント、および16セグメントLEDディスプレイを混在して駆動することができます。このアプリケーションノートでは、8個のモノカラー、14セグメントLEDを駆動するための標準的なアプリケーションと構成を示します。

MAX6954の機能の詳細についてはMAX6954のデータシートをご覧ください。

クイックスタート:MAX6954を使って7セグメントディスプレイを駆動」および「クイックスタート:MAX6954を使って16セグメントディスプレイを駆動する」は、MAX6954を7セグメントおよび16セグメントのアプリケーションとして構成することを述べた同様のアプリケーションノートです。

図1. MAX6954 14セグメントのアプリケーション回路

図1. MAX6954 14セグメントのアプリケーション回路

表1. 14セグメント、8桁の接続方式
DIGIT O0 O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 O11 O12 O13 O14 O15 O16 O17 O18
0 CCO -- a -- b c d -- e f g1 g2 h i j k l m dp
1 -- CC1 a -- b c d -- e f g1 g2 h i j k l m dp
2 a -- CC2 -- b c d -- e f g1 g2 h i j k l m dp
3 a -- -- CC3 b c d -- e f g1 g2 h i j k l m dp
4 a -- b c CC4 -- d -- e f g1 g2 h i j k l m dp
5 a -- b c -- CC5 d -- e f g1 g2 h i j k l m dp
6 a -- b c d -- CC6 -- e f g1 g2 h i j k l m dp
7 a -- b c d -- -- CC7 e f g1 g2 h i j k l m dp

図2. 14セグメントディスプレイのセグメントラベリング

図2. 14セグメントディスプレイのセグメントラベリング

図3. 14セグメントディスプレイのフォントマップ

図3. 14セグメントディスプレイのフォントマップ

MAX6954の標準的なアプリケーションの一例は、最大8個までの14セグメントモノカラーLEDの駆動です。このアプリケーションノートでは、MAX6954を14セグメントディスプレイに接続し内蔵の104キャラクタのフォントマップを使ってディスプレイを制御するための内蔵レジスタを構成するプロセスを、ユーザに解説します。

MAX6954はマルチプレクス技術を使用します。これは使用するポートのピン数を少なくして、これを交互にカソードおよびアノードドライバとして使うものです。これはアノード用とカソード用に別のドライバを用いる標準的なLEDマルチプレクス接続とは異なります。この技術はアプリケーションノート1880にて説明されています。表1はMAX6954マルチプレクス方式に対応した14セグメントの各桁に対する接続方法と内蔵の104種の文字フォントマップを示しています。表1における文字は図2に示したセグメントラベルに対応しています。図1はMAX6954に対する8桁の14セグメントのアプリケーションを図示しています。

MAX6954を14セグメントのディスプレイに接続した後、接続を確認するためにディスプレイのテストモードを使うことができます。ディスプレイのテストモードはすべての制御用レジスタと桁レジスタに優先して、しかし、その内容を変更することなく、すべてのセグメントをオンとします。0x01をレジスタ0x07に書き込むことによってディスプレイテストモードがイネーブルとなります。ディスプレイテストモードでセグメントが点灯しない場合は接続に問題があるため、調べる必要があります。0x00をレジスタ0x07に書き込むとディスプレイテストモードを解除します。

MAX6954と14セグメントディスプレイ間の接続確認が終わった後、14セグメントディスプレイを動作させるようにデバイスのレジスタを構成しなければなりません。表2はMAX6954の重要なレジスタの電源投入時の初期状態リストです。電源がMAX6954に最初に印加されたとき、デバイスはシャットダウンモードとなっており、すべての桁は消灯であり、デバイスは最大の8桁をスキャンするようにセットされています。レジスタ0x0Cに0xFFを書き込み、MAX6954を14セグメント動作用に構成してください。Decode Modeレジスタ(0x01)のデフォルト設定は14セグメントのアプリケーションに正しい値となっています。

表2. MAX6954の電源投入時のレジスタ初期状態
REGISTER POWER-UP
CONDITION
ADDRESS
(HEX)
REGISTER DATA
D7 D6 D5 D4 D3 D2 D1 D0
Decode Mode Font map enabled 0x01 1 1 1 1 1 1 1 1
Global Intensity 1/16 (minimum intensity) 0x02 X X X X 0 0 0 0
Scan Limit Display eight digits: 0, 1, 2, 3, 4, 5, 6, 7 0x03 X X X X X 1 1 1
Control Register Shutdown enabled, blink disabled, blink
speed is slow
0x04 0 0 X X 0 0 0 0
Display Test Normal operation (display test disabled) 0x07 X X X X X X X 0
Digit Type Digits 0 through 7 are 16 segment digits 0x0C 0 0 0 0 0 0 0 0
Intensity10 1/16 (min on), digits 1 and 0 0x10 0 0 0 0 0 0 0 0
Intensity32 1/16 (min on), digits 3 and 2 0x11 0 0 0 0 0 0 0 0
Intensity54 1/16 (min on), digits 5 and 4 0x12 0 0 0 0 0 0 0 0
Intensity76 1/16 (min on), digits 7 and 6 0x13 0 0 0 0 0 0 0 0
Digit 0 Blank digit, both planes 0x60 0 0 1 0 0 0 0 0
Digit 1 Blank digit, both planes 0x61 0 0 1 0 0 0 0 0
Digit 2 Blank digit, both planes 0x62 0 0 1 0 0 0 0 0
Digit 3 Blank digit, both planes 0x63 0 0 1 0 0 0 0 0
Digit 4 Blank digit, both planes 0x64 0 0 1 0 0 0 0 0
Digit 5 Blank digit, both planes 0x65 0 0 1 0 0 0 0 0
Digit 6 Blank digit, both planes 0x66 0 0 1 0 0 0 0 0
Digit 7 Blank digit, both planes 0x67 0 0 1 0 0 0 0 0

コンフィギュレーションレジスタ(0x01)は、シャットダウンの設定、ブリンク機能の制御、すべての桁のデータクリア、全体または桁ごとの輝度制御の選択を行うために使われます。コンフィギュレーションレジスタは7ビットで構成されています(表3):

  • Sビットはシャットダウンまたは通常動作を選択(リード/ライト可能)。
  • Bビットはブリンク速度を選択(リード/ライト可能)。
  • Eビットは全桁のブリンク機能を許可/禁止(リード/ライト可能)。
  • Tビットはブリンクタイミングをリセット(過渡ビットであり、記憶されません)。
  • Rビットはすべての桁に対してP0とP1の両面の桁データをクリア(過渡ビットであり、記憶されません)。
  • Iビットは全体または桁ごとの輝度を選択(リード/ライト可能)。
  • Pビットは現在のブリンクタイミング位相(phase)を反映(リード専用、このビットへのライトは無視)。

レジスタ0x04に0x01を書き込むことによってブリンクさせるのではなく、全体の輝度制御をディスプレイドライバに許可してください。MAX6954がシャットダウンから抜け出して内蔵の発振器が給電されると、OSC_OUTの発振器出力が有効になります。このとき、まだ、14セグメントディスプレイは消灯(ブランク)のままです。それは桁制御レジスタ0x60~0x67の電源投入時の状態は0x20、または点灯セグメントなしの状態だからです(表2と図3を参照)。

表3. コンフィギュレーションレジスタのフォーマット
CONFIGURATION
REGISTER
DATA BIT
DATA BIT LABEL STATE FUNCTION
D7 P 0 P1 Blink Phase
1 P0 Blink Phase
D6 I 0 Intensity for all digits is controlled by one setting in the Global
Intensity Register
1 Intensity for digits is controlled by the individual settings in the
Intensity10 through Intensity76 registers.
D5 R 0 Digit data for both planes P0 and P1 are unaffected
1 Digit data for both planes P0 and P1 are cleared on the rising edge
of /CS\
D4 T 0 Blink timing counters are unaffected.
1 Blink timing counters are reset on the rising edge of /CS\.
D3 E 0 Blink function disabled
1 Blink function enabled
D2 B 0 Slow Blinking. Segments blink on for 1s, off for 1s with fOSC = 4MHz.
1 Fast Blinking. Segments blink on for 0.5s, off for 0.5s with fOSC = 4MHz.
D1 X X Don't care
D0 S 0 Shutdown
1 Normal Operation
表4. 表示桁の組合せ構成例
DIGIT TYPE REGISTER SETTING ADDRESS
CODE (HEX)
REGISTER DATA
D7 D6 D5 D4 D3 D2 D1 D0
Digits 7-0 are 14-segment digits 0x0C 1 1 1 1 1 1 1 1

MAX6954は14セグメントディスプレイ用の104文字ASCIIフォントマップを持っています。文字は標準のASCIIフォントに従いますが、次のような一般的なシンボルが追加されています:£、€、¥、°、µ、±、 および。104文字を表すために7ビットが使われ、8番目のビットは少数点(DP)を点灯させるかどうかを選択します(表5)。桁レジスタはP0とP1の2つの面を使って実装されます。各桁は2バイトのメモリで表現され、1バイトがP0面に、もう1バイトがP1面にあります(表8を参照)。桁レジスタは桁データがP0面(レジスタ0x20~0x27)、P1面(レジスタ0x40~0x47)、または両面(レジスタ0x60~0x67)同時に更新することができるようにマッピングされています。桁レジスタの中のデータは、14セグメントディスプレイの場合、桁セグメントを直接制御せず、14セグメントのフォント用のデータを格納する文字ジェネレータのアドレス指定のために使用されます(図3)。桁データの下位7ビット(D6~D0)は、フォントから文字データを選択します。このレジスタデータの最上位ビット(D7)は桁のDPセグメントを制御します;1の設定でDP点灯、0で消灯します。

表5. Digit Type Dataレジスタのフォーマット
MODE ADDRESS
CODE
(HEX)
REGISTER DATA
D7 D6 D5 D4 D3 D2 D1 D0
14-segment mode, writing digit data to use font map data
with decimal place unlit
0x20 to 0x27
0x40 to 0x47
0x60 to 0x67
0 Bits D6 to D0 select font character 0 to
127
14-segment mode, writing digit data to use font map data
with decimal place lit
0x20 to 0x27
0x40 to 0x47
0x60 to 0x67
1 Bits D6 to D0 select font character 0 to
127

コンフィギュレーションレジスタのブリンクイネーブルビットE (表3)によってブリンク機能がディセーブルされている場合、P0面の桁レジスタデータはディスプレイをマルチプレクスするために使われます。P1にある桁レジスタデータは使われません。ブリンク機能がイネーブルとされている場合、P0面とP1面の両方の桁レジスタデータはディスプレイをマルチプレクスするために交互に使われます。ブリンキングは、ブリンククロックの交互の位相でP0面とP1面のデータを用いてLEDディスプレイをマルチプレクスすることによって行われます。

例として、MAX6954を用いて、「MAXIM-IC」という8文字を表示して見ましょう。コンフィギュレーションレジスタをプログラムしたとき、ブリンク機能をディセーブルとしたので、データは桁0から桁7を制御するために0x20~0x27レジスタに書き込むことができます。図3のフォントマップを用いて、各文字に対応したコードを決定してください。

表6. MAXIM-ICの例
REGISTER
ADDRESS (HEX)
DIGIT CHARACTER FONT MAP EQUIVALENT CODE
DECIMAL HEX
0x20 0 M 0100 1101 0x4D
0x21 1 A 0100 0001 0x41
0x22 2 X 0101 1000 0x58
0x23 3 I 0100 1001 0x49
0x24 4 M 0100 1101 0x4D
0x25 5 - 0010 1101 0x2D
0x26 6 I 0100 1001 0x49
0x27 7 C 0100 0011 0x43

全体の輝度制御レジスタであるレジスタ0x02に書き込むことによってディスプレイの輝度を調整してください。輝度は0x00 (最小オン、1/16の電流)と0xFF (最大オン、15/16の電流)の間で調整することができます。ディスプレイの明るさのディジタル制御は、また、各桁を個別に管理することができます。桁の明るさの調整およびその他のGPIOやKey-scanのような高度な機能については、MAX6954のデータシートを参照してください。

表7. クイックスタート例のコマンドサマリ
REGISTER (HEX) COMMAND (HEX) FUNCTION
0x07 0x01 Enter display test mode
0x07 0x00 Exit display test mode
0x0C 0xFF Set all eight digits to use the 14-segment font map
0x04 0x01 Exit shutdown mode, disable blinking and select global
intensity control
0x20 0x4D Write "M" to digit 0
0x21 0x41 Write "A" to digit 1
0x22 0x58 Write "X" to digit 2
0x23 0x49 Write "I" to digit 3
0x24 0x4D Write "M" to digit 4
0x25 0x2D Write "-" to digit 5
0x26 0x49 Write "I" to digit 6
0x27 0x43 Write "C" to digit 7
0x02 0xFF Set global intensity to full-scale
表8. MAX6954/MAX6955レジスタアドレスマップの抜粋
REGISTER ADDRESS
(COMMAND BYTE)
ADDRESS (HEX
CODE)
D15 D14 D13 D12 D11 D10 D9 D8
Decode Mode R//W\ 0 0 0 0 0 0 1 0x01
Global Intensity R//W\ 0 0 0 0 0 1 0 0x02
Scan Limit R//W\ 0 0 0 0 0 1 1 0x03
Configuration R//W\ 0 0 0 0 1 0 0 0x04
Display Test R//W\ 0 0 0 0 1 1 1 0x07
Digit Type R//W\ 0 0 0 1 1 0 0 0x0C
Intensity 10 R//W\ 0 0 1 0 0 0 0 0x10
Intensity 32 R//W\ 0 0 1 0 0 0 1 0x11
Intensity 54 R//W\ 0 0 1 0 0 1 0 0x12
Intensity 76 R//W\ 0 0 1 0 0 1 1 0x13
Digit 0 Plane P0 R//W\ 0 1 0 0 0 0 0 0x20
Digit 1 Plane P0 R//W\ 0 1 0 0 0 0 1 0x21
Digit 2 Plane P0 R//W\ 0 1 0 0 0 1 0 0x22
Digit 3 Plane P0 R//W\ 0 1 0 0 0 1 1 0x23
Digit 4 Plane P0 R//W\ 0 1 0 0 1 0 0 0x24
Digit 5 Plane P0 R//W\ 0 1 0 0 1 0 1 0x25
Digit 6 Plane P0 R//W\ 0 1 0 0 1 1 0 0x26
Digit 7 Plane P0 R//W\ 0 1 0 0 1 1 1 0x27
Digit 0 Plane P1 R//W\ 1 0 0 0 0 0 0 0x40
Digit 1 Plane P1 R//W\ 1 0 0 0 0 0 1 0x41
Digit 2 Plane P1 R//W\ 1 0 0 0 0 1 0 0x42
Digit 3 Plane P1 R//W\ 1 0 0 0 0 1 1 0x43
Digit 4 Plane P1 R//W\ 1 0 0 0 1 0 0 0x44
Digit 5 Plane P1 R//W\ 1 0 0 0 1 0 1 0x45
Digit 6 Plane P1 R//W\ 1 0 0 0 1 1 0 0x46
Digit 7 Plane P1 R//W\ 1 0 0 0 1 1 1 0x47