Alright, I need help selecting an MCU, and some design input. Sure I can be given suggestions on what I need to look for, but having my options reduced from 100k to 5k, doesn't really help me. Here are some design ideas on what I'd like to accomplish per cell.
LED Matrix spec: 4x4 resolution, I think a 16-bit packet to define what is on and off per address is a reasonable size for serial communication
LED Matrix Driver options:
a.) 8 I/O's, directly from MCU driving matrix across 4x4 grid
b.) 5 I/O's, 4 across matrix column, 1 clock signal for multiplexing.
c.) 2 I/O's, 1 signal for 16 LED's, 1 clock for multiplexing.
When it comes to serial communication, I think something like I2C would work out well cause it doesn't really matter how many nodes you have as long as you can handle the address lengths. But there are some things I'd like that are kind of unique from the standard I2C implementation.I would like to have all nodes listen on a global address. Lets say the master node broadcasts on the global address for the children to announce their current pixel status. They will each know they have to go in order of their address cue. so 0x0001 announces first, and address 0x0002 knows it has to go after 0x0001. At the same time, each node is listening for the addresses top, bottom, left, and right of themselves of their current state, so they may store it for the next cycle. This will also come in handy when the next step command comes through, I don't have to send a command to each node individually for reading and exchanging. So what kind of MCU would allow me to adjust the I2C protocol at this level to listen for multiple addresses?
I'd also like to implement something unique, auto location identification. By default the MCU has all ports disconnected except two ports, lets say the left and bottom port. Master will connect to the left port of the bottom left most node, master will broadcast on global address something to the effect of (Who hasn't initialized). Since the node by default has the communication lines cut to everyone, the child node responds to master. Master assigns address, then tells child node to open right port communication. Master continues same cycle again for next node opened on right port. This would require 2 additional I/O's to control top and right ports. Bottom and left will be open to receive when top and/or right has opened.
So when it comes to I/O's needed anywhere from 4-7-10, not including 2 more for I2C.
Any thoughts?