Migrating from the MAX7219 and MAX7221 to the MAX6950 and MAX6951 LED Drivers

2002年07月17日
myAnalogに追加

myAnalog のリソース セクション、既存のプロジェクト、または新しいプロジェクトに記事を追加します。

新規プロジェクトを作成

要約

This application note discusses the similarities and differences, both hardware and software, between the older MAX7219 and MAX7221 LED display drivers and the newer MAX6950 and MAX6951 drivers. These drivers are five-digit or eight-digit common-cathode LED display drivers controlled through a high-speed serial interface.

This application note discusses the similarities and differences, both hardware and software, between the older MAX7219 and MAX7221 LED display drivers and the newer MAX6950 and MAX6951 drivers. These drivers are five-digit or eight-digit common-cathode LED display drivers controlled through a high-speed serial interface. Table 1 shows the hardware differences between the drivers.

Table 1. Comparison of Hardware Features
MAX7219 MAX7221 MAX6950 MAX6951
Supply voltage minimum 4V 2.7V
Supply voltage maximum 5.5V 5.5V
Maximum segment current 40mA 40mA (V+ = 3.0V)
12mA (2.7V = V+ = 3.0V)
Maximum number of seven-segment digits 8 5 8
Types of seven-segment digits that can be used Any common-cathode type Common-cathode types where each digit has independent anode or segment connections
Maximum number of discrete LEDs 64 40 64
Can drive 8x8 matrix digits? Both packaged and discrete No Discrete only
Interface type 4-wire serial SPI
Interface speed maximum 10Mbits-1 26Mbits-1
Interface Dout pin for cascading devices? Yes No
Interface logic input thresholds Low: 0.8V max, high: 3.5V min Low: 0.4V max, high: 2.4V min
Through-hole package 24 narrow DIP  
Surface-mount package 24 wide SO 16 QSOP
Slew-limited LED drive outputs? Yes Yes
Multiplex clock generation Internal fixed External or internal, 1MHz to 8MHz
Multiplex timing period per digit 150µs 200µs
Automatic segment blinking? No Yes
LED intensity levels 16 levels - off, then 1/16 to 15/16 PWM with 1/16 steps
Character decoding Code B: 0 - 9, -, E, H, L, P, blank Hexadecimal: 0 - 9, A - F

The newer MAX6950 and MAX6951 drivers are the only choice for systems where 3V or 3.3V is the highest supply voltage available. Their lower logic input thresholds also allow them to be interfaced directly to a microprocessor running from as low as 2.5V. The use of the lowest-possible supply voltage naturally minimizes driver dissipation, making it easier to run the driver at full output current for the brightest display.

The MAX7219 or MAX7221 drivers should be used where the display employed is the "stick" type with the segment connections communed internally. An eight-digit common-cathode stick display would have 8 cathode pins (one for each digit cathode) and 8 segment pins (wired internally to each digit). The MAX6950 and MAX6951 drivers use a multiplexing scheme that changes the segment connections for each digit and cannot be used with internally communed multi-digit types.

Table 2 shows the MAX7219/MAX7221 register set compared with the MAX6950/MAX6951 register set. Although the register functionality is broadly similar, the register addresses are different. However, it is possible to write software code that will interface both register sets correctly. This would allow a processor to write either a MAX7221 or a MAX6951 and achieve the same result. The technique involves selecting a subaddress range for the MAX7221 that does not conflict with the MAX6951 registers. This is shown below as the recommended hex codes. When these MAX7221 registers are written, the appropriate MAX6951 registers are written also, to the addresses in italics. The only problem with this approach is that the MAX6950/MAX6951 control registers (addresses 01 to 07) conflict with the MAX7219/MAX7221 digit registers. The solution is to rewrite the conflicting digit register after every change to the corresponding control register. This seems to be a burden at first, but in practice the control registers are rarely changed after initialization, with the exception of the Intensity register.

Dual-target code will not be able to take advantage of the blink features of the MAX6950/MAX6951 in order to maintain lowest-common-denominator functionality. Also, the decoded font characters above nine are different between the parts.

Table 2. Register Address Map Comparison
MAX7219 AND MAX7221 REGISTERS HEX CODE RECOMMENDED HEX CODE No-Op HEX CODE
No-Op X0 00 00
Digit 1 X1 11 60
Digit 2 X2 12 61
Digit 3 X3 13 62
Digit 4 X4 14 63
Digit 5 X5 15 64
Digit 6 X6 16 65
Digit 7 X7 17 66
Decode Mode X8 18 77
Intensity X9 19 Conflicts with MAX7219/MAX7221 Digit 0 01
Scan Limit XA 1A Conflicts with MAX7219/MAX7221 Digit 1 02
Configuration XB 1B  Conflicts with MAX7219/MAX7221 Digit 2 03
Display Test XC 1C Conflicts with MAX7219/MAX7221 Digit 3 04
XF 1D  Conflicts with MAX7219/MAX7221 Digit 6 07
      Decode Mode 01
      Intensity 02
      Scan Limit 03
      Configuration 04
      Display Test 07
Digit 0 plane P0 only (plane 1 unchanged) 20
Digit 1 plane P0 only (plane 1 unchanged) 21
Digit 2 plane P0 only (plane 1 unchanged) 22
Digit 3 plane P0 only (plane 1 unchanged) 23
Digit 4 plane P0 only (plane 1 unchanged) 24
Digit 5 plane P0 only (plane 1 unchanged) 25
      Digit 6 plane P0 only (plane 1 unchanged) 26
      Digit 7 plane P0 only (plane 1 unchanged)
27



Digit 0 plane P0 only (plane 1 unchanged) 40
      Digit 1 plane P0 only (plane 1 unchanged) 41
Digit 2 plane P0 only (plane 1 unchanged) 42
Digit 3 plane P0 only (plane 1 unchanged) 43
Digit 4 plane P0 only (plane 1 unchanged) 44
Digit 5 plane P0 only (plane 1 unchanged) 45
Digit 6 plane P0 only (plane 1 unchanged) 46
Digit 7 plane P0 only (plane 1 unchanged) 47
Digit 0 plane P0 and plane P1 (with same data) 60
Digit 1 plane P0 and plane P1 (with same data) 61
Digit 2 plane P0 and plane P1 (with same data) 62
Digit 3 plane P0 and plane P1 (with same data) 63
Digit 4 plane P0 and plane P1 (with same data) 64
Digit 5 plane P0 and plane P1 (with same data) 65
Digit 6 plane P0 and plane P1 (with same data) 66
    Digit 7 plane P0 and plane P1 (with same data) 67


最新メディア 20

Subtitle
さらに詳しく
myAnalogに追加

myAnalog のリソース セクション、既存のプロジェクト、または新しいプロジェクトに記事を追加します。

新規プロジェクトを作成