On Feb 23, 2007, at 12:44 PM, Christopher Whitt wrote:

The issue that I need help with is how to start codecs in several systems simultaneously.  I would like to find a way to do this in hardware to have a clear idea of the maximum skew between sampling times on different units.  For reference I would really like each system to start sampling within 2 or 3 microseconds of the rest.  This will keep the relative phase errors to tolerable levels at 24kHz (based on sampling at the max rate of 48kHz).  One cycle of 24kHz is about 42 us, so if I can only synchronize to within 10 or 20 us, the relative phase uncertainty between systems will make high frequencies in my data unusable.

How about starting the sampling non-synchronously, but having something in the data recording which marks a start-of-real-data point.  In other words, if you have all the UCB1400 clocked from a single clock source, then you could presumably also do something where you have all the data inputs pulled high too.  Then, you start recording on all the gumstix at roughly the same time, and they all start off recording "high, high, high, high, high, high...".  Then at some point where you actually want to start recording, you pull all the inputs low, then stop pulling them.  Later, when you're done recording, you just trim the variable length "11111..1111110" prefix off all the recordings.  Since they all transition from "1" to "0" at the same moment, you should then be good...

C