AnsweredAssumed Answered

synchronization of the ADIS16488 with GPS

Question asked by jekain314 on May 10, 2012
Latest reply on May 29, 2012 by NevadaMark

I am interested in an integrated IMU/GPS system using the ADIS16488 and a GPS device such as Novatel's OEMStar low cost GPS receiver. A key requirement is that the IMU and GPS data be precisely synchronized. The GPS receiver produces a TTL timing signal at the exact time when the GPS data was measured -- accurate to nanosecs. Typically a once-per-sec (1PPS) receiver data output is requested from the receiver -- although higher data rates may be used such as 20Hz. Also, using the OEMStar we can generate a second higher-rate timing signal using the OEMStar receiver. For example a 100Hz signal synched to the 1PPS can be produced by the receiver specifically for synchronizing other measurements. The serial GPS data (raw per satellite data) from the GPS receiver comes out a few msecs after the 1PPS signal.


An integrated IMU/GPS system will use a high-rate IMU datastream to interpolate the lower rate GPS data for wide bandwidth motion scenarios. Also, the integrated IMU/GPS data will produce an estimate of the attitude as well as the position that results from GPS alone.  The key is that the IMU serial data and the GPS serial data must be synchronized -- to <msec accuracy.


The ADIS16488 seems to have anticipated this (see page 30/36 of the specification) where a "Input Synch/Clock Control" is described. However, there is little descriptionof this functionality. Ideally, we need to keep the internal IMU sampling at a high rate (9.84KHz) and use the decimation (figure 20) to result in an output rate that matches the input synch rate. The output deltaV and deltaTheta should represent sums over the requested synch interval. This is the way a conventional IMU (e.g., Honeywell HG1700) works. From the note on the bottom of Fig 20; it appears that the input synch command triggers a single 4-sample measurement burst at the 9.84KHz -- so that the sums do not persist at the high rate.  We only get 4-sample averages at the high rate and then no further sampling until the vext synch pulse is received.


The integrating microcontroller for the IMU/GPS should work by receiving the 1PPS and higher-rate signal (e.g., 100Hz) from the GPS as interrupts. The IMU data-read is performed  in the Interrupt Service Routine for the higher-rate GPS signal. This allows us to form a table for each second (or each complete raw measurement interval) where the IMU data is tagged from 0-99 where the 0-tag represents the time-of-validity of the GPS raw data. What would be most desirable would be to simply input a command synch signal on the IMU DIOx line and have the IMU output the delta-V and deta-theta at this input same rate. 


Is there any way to set this up using the current ADOS16488?