bonxer
New Member
I am about to start an LED grid project that will use sixteen 8x8 LED matrices (1024 LEDs total), and wish to control them with 40 pin PICs. I am basically going to have one master pic to do all of the pattern manipulations in memory, and then send that 1024 bit snapshot out to slave PICs to handle the display strobing. Speed isn't really a consideration, just as long as the patterns can be fully updated to all PICs at least once per second. A fast update on the order or micro- or milliseconds would be usable too for getting the patterns and storing them until they'r ready to display. But I don't require it to be that fast, as it wouldn't make sense for me to have an LED matrix changing patterns before you can see them. 8)
I was just wondering what would be the best method of inter-PIC communication? I was thinking of just setting up an 8-bit port on the master as an output bus, and then setting up the same 8-bit port on all of the salve PICs as input busses, and read the bits directly. With this method, I would have 4 PICs inputting the data stream on 8 pins, each controlling 4 latches through 8 other pins, and then the row-by-row LED patterns on another 8 pins. I'd still have some pins to spare.
Would it make more sense to try an I2C or serial peripheral interface method? I haven't done either, so I don't know what the benefits/tradeoffs would be. Less wires / soldering would make a 2 or 3 wire channel more attractive, while a very simple 8-bit direct read/write would make simpler coding more attractive.
I was just wondering what would be the best method of inter-PIC communication? I was thinking of just setting up an 8-bit port on the master as an output bus, and then setting up the same 8-bit port on all of the salve PICs as input busses, and read the bits directly. With this method, I would have 4 PICs inputting the data stream on 8 pins, each controlling 4 latches through 8 other pins, and then the row-by-row LED patterns on another 8 pins. I'd still have some pins to spare.
Would it make more sense to try an I2C or serial peripheral interface method? I haven't done either, so I don't know what the benefits/tradeoffs would be. Less wires / soldering would make a 2 or 3 wire channel more attractive, while a very simple 8-bit direct read/write would make simpler coding more attractive.