I'm looking to use a raspberry pi to speak to multiple "arduino" ATMEGA328p ICs (through a logic-level converter). I figure I can do this reasonably well over the GPIO RX/TX and use qualifiers to let each chip know if the Pi is talking to it or not. However, there may be instances in which all the chips want to be chatty at the same time, and the intended implementation is somewhat time-critical (there is a PID involved). I can't have one chip set a pin high or low unless another pin on another chip has been set to it's appropriate state in the sequence.
As far as planning goes, should I be looking at using the other GPIO pins to communicate to each 328p? Is there an approach to doing this outside "bit-banging" on the other GPIO pins? As far as coding goes, I assume I could have a 328p serial.print something that indicates the change was indeed made, and have that transmission read by the pi to issue the next Rx in the sequence, but I also don't want to be caught with the Pi waiting on a relevant Tx from a chip. Could adding a RTC and having pin state changes tied into that somehow help me out (assuming the pi is running a python script)?