I know to many this might seem a very bad idea, but still here I am!
I'm thinking about making an 8 x 8 x 8 led cube based on 8 Max7219 chips, each one driving a row and all sharing the planes.
So plane 1 will be shared among the 8 ICs as DIG1, plane 2 as DIG2 and so forth while IC 1 drives row 1 col 1 as SEGA, row 1 col 2 as SEG2 and so forth.
Now, I'm aware each Max7219 drives up to 64 LEDs by multiplexing on digit pins and I'm not so fool by not understanding the huge timing issues: I'm expecting to see a big mess of flashing LEDs with some possible blue smoke, but if they get nicely synched it would be a very easy and simple setup!
I think you'll have a hard time making it work, or you will need additional components, namely diodes, to provide isolation between parts as you bounce them in & out of shutdown mode:
Shutdown Mode
When the MAX7219 is in shutdown mode, the scan oscillator
is halted, all segment current sources are pulled to
ground, and all digit drivers are pulled to V+, thereby
blanking the display. The MAX7221 is identical, except
the drivers are high-impedance. Data in the digit and
control registers remains unaltered. Shutdown can be
used to save power or as an alarm to flash the display by
successively entering and leaving shutdown mode. For
minimum supply current in shutdown mode, logic inputs
should be at ground or V+ (CMOS-logic levels).
Typically, it takes less than 250?s for the MAX7219/
MAX7221 to leave shutdown mode. The display driver
can be programmed while in shutdown mode, and
shutdown mode can be overridden by the display-test
function.
I'm not sure I do understand your replies guys: I'm not going to drive an LED matrix nor to shutdown any IC: all the ICs will be enabled at once.
IC1 drives LEDs 0 to 7 (col 1) as segments and planes 1 to 8 as digits
IC2 drives LEDs 8 to 15 (col 2) as segments and planes 1 to 8 as digits
IC3 drives LEDs 16 to 23 (col 3) as segments and planes 1 to 8 as digits
IC4 drives LEDs 24 to 31 (col 4) as segments and planes 1 to 8 as digits
IC5 drives LEDs 32 to 39 (col 5) as segments and planes 1 to 8 as digits
IC6 drives LEDs 40 to 47 (col 6) as segments and planes 1 to 8 as digits
IC7 drives LEDs 48 to 55 (col 7) as segments and planes 1 to 8 as digits
IC8 drives LEDs 56 to 63 (col 8) as segments and planes 1 to 8 as digits
As you can see all the ICs are ON all the time, sharing the the current sinking from all the planes.
I believe your suggestions would apply to a different LED wiring which implies additional 56 wires coming down from the LEDs corresponding to each column: each chip would then drive one single plane and that would be quite easy but visually messy.
sharing the the current sinking from all the planes.
I don't think that's gonna work. You're going to need each plane to be isolated from each other then - the MAX7219s multiplex at around 800 Hz, independent of each other, with no means to synchronize.
That was my same assumption and source of troubles.... I know there's no internal way to sync them, but I posted this in case anybody already had a try and failed or have a suggestion or bizarre idea on how to externally sync them: we have a 20MHz uController which should be able to sense 800Hz pulses and adjust accordingly... Just speaking off my mind!