Synchronizing the threads on multi controllers

HI -

My project consists of 8 sensors on 8 nano's and are slaves(data accumulation values are stored in variables of a period of 20 msecs and master will fetch the data from the variables as soon as the 20msecs execution of slaves on i2c, on acknowledgement of data fetching the slaves will start accumulation of next set of data for 20msecs).

I, want to use a common clock signal between master and slaves for this entire process to synchronize, how can the multiprocessors be made to run on a single clock frequency?


How far about are they?

Still no guarantee that they will be "synced". You probably want to have the master send a periodic pulse to the slaves via an interrupt to sync things up.

Use one of the I2C broadcast addresses to send a time signal to all slaves simultaneously. Then they can all receive the timestamp at the same time.

Note the standard Arduino I2C library doesn't implement the broadcast mode.

If you can run extra wires, just one wire common to all slaves might be easier.