We use a 2 line comms system.
One line is a transmit request (TR) and the second is a common data line.
All chips poll the TR for a high state. Chip that requested transmit then waits 5 mSec (pause 5) for all the other chips to listen in, then the message is passed. At the end of the transmit sequence, chip changes its serout2 port pin to an input, freeing up the bus for the next chip.
Both port pins (TR & D_LOOP) are set as inputs.
Fit pull down resistor to TR to hold line normally low and pull up for D_LOOP.
Protocoll between chips can be anything you like, but in general you will want a header, ident (who sent it and who it is destined for), command index, data values & a checksum.
I have used the hardware serial port for multi-chip transmision, simply drive a PNP transistor from the hardware serial out. Transistor then drives the data line in a open collector (emitter!) mode. Use a lowish (1k) pull up resistor on the data line.
I have attached a couple of examples if it helps.




Bookmarks