I am trying to use the sleep mode feature of ADIS16265 but the description in the datasheet is rather vague. The device can be placed successfully in sleep mode for some time and would exit without a problem when the set time has elapsed. However, the datasheet does not specify what happens if the user wants to wake-up the device before the sleep time has elapsd. Can this be done and how ?
I did some testing around this problem by bringing CS low and waiting for 2.5ms (as defined in the datasheet) for the device to wake-up, but to no avail. Then I tried bringing CS low, waiting for 2.5ms, sending a read command and then tryting to set the device back to sleep mode, but again with no luck.
After some time I increased the delay to 100ms after bringing CS low and then sent a command to sleep the device again. This was successful, the sensor has become responsive. Looks like recovery from sleep mode when bringing CS low is comparable to the start-up time ?
What I am trying to achieve is: read data from the sensor, enter sleep mode, exit sleep mode, read data, enter sleep mode again. However, I want to control when to exit sleep mode from a uC and to rely on the set timer. I am not sure if this is possible.
Any help would be much appreciated.
Thank you for your post! Let me do some digging on this to see what I can find out. Do you mind if I ask for what your hope is? In other words, what type of update rate are you hoping to support, with this "sleep cycling" approach?
Sure, the idea is that we have a system that should be in low-power mode most of the time unless there is a "user" request for data. During the low-power mode the system wakes up periodically, reads all sensors (including ADIS16260) and then goes back to low-power mode. The update should happen every second or every few seconds (maybe 10 max.), this is still undecided. When there is a "user" intervention the gyro data may be needed at much higher rates and must be switched back to normal operating mode (with settings for 256 samples/s).
I have attached a document that outlines how the ADIS16250 sleep mode was characterized, and it includes a scope trace of the sleep mode activation. This is equally applicable to the ADIS16260/265 family.
Please let me know if this is enough to get you headed in the right direction, and if not, we'll be here to further assist you.
Thank you for the provided information. However, we were unable to reproduce the traces as depicted in the attached pdf.
SENS_AVG : 0x0104
SMPL_PRD : 0x01
The latter configuration we stored in the flash as well and started by default with it. I don't know if this makes any difference.
I am attaching a trace of what we are observing. We noticed that the DR (DIO1) and the DOUT pins go high after we send a read command to wake-up the device. The delay we observe exceeds ~50ms and sometimes goes as high as 80ms (the DR and DOUT pins stay high longer in these cases).
D0 - DR (DIO1)
D2 - DOUT pin (SPI-MISO)
D3 - DIN pin (SPI-MOSI)
D4 - clock
D5 - CS