AnsweredAssumed Answered

Trouble in reading unprocessed acceleration data from ADIS16227

Question asked by jagadeepram on May 10, 2012
Latest reply on Jun 4, 2012 by NevadaMark

HI All,

         I see unexpected result while reading the raw (unprocessed) acceleration data from ADIS16227 device. I read the data by placing device is static position, so that only acceleration component is gravity on z-axis. Data range is selected from 0 to 70 g


Thus I need to get the acceleration value on 3 axis as

x-axis: 0x0000

y-axis: 0x0000

z-axis: 0xfe5c or 0x01a4 (which corresponds to +/- 1 g ).


But what I received from the device is below.

x-axis: 0x0002

y-axis: 0x0002

z-axis: 0x0002


I expect one of the value to be high compare to other two because of gravity.  Blow is the pseudo code used to get the acceleration data.

I am able to set the rec_ctrl register and able to read the same value as well as prod id, so that SPI communication is out of suspect.





     delay(); // delay till 500 ms for software reset.

     spi_write(REC_CTRL, 0x0832); // select SR3,0-70g, storage method: N/A, manual time mode.


     spi_write(GLOB_CMD,0x0800);// start recording



         print( spi_read(x_buff));


          while( spi_read(diag_stat)&0x0080==0); // wait till data is ready



          while( spi_read(diag_stat)&0x0080==0); // wait till data is ready



          while( spi_read(diag_stat)&0x0080==0); // wait till data is ready



       The sentence "In manual time mode, each axis' record contains 512 samples for each axis" at page no 16, 1st para in the data sheet is confusing a bit. Is that mean the current acceleration data is queued in buffer and read out only after 512 read instructions of the buffer ?

My Requirement is to get the unprocessed acceleration data at a given instant. If I vibrate the device ,I should see corresponding changes in the acceleration value from the device at that instant.


Please help me in getting my requirement.