Gyro FXAS21002 timing

cancel
Showing results for 
Search instead for 
Did you mean: 

Gyro FXAS21002 timing

670 Views
harrivanhala
Contributor I

Hi,

I'm going to use FXAS21002 3-axis gyro in car crash test environment (cars, barriers, dummies...).

The plan is to read gyro reading with a steady 500 Hz rate ie. new reading every 2 ms. The rate could be lower down to 200 Hz (5 ms) but according to spesification the FXAS21002 should be able to 500 Hz.

It is vitally important that all 3 axes give there reading at the same instant. I can live with non-simultaneous readings if I know the time difference between the axes?

Could you comment on these questions:

1. The specification sheet does not tell if I can somehow trigger a new measurement cycle. Is it possible to trigger a reading to make a more precise and externally controlled timing?

2. What is the time difference between the readings of the axes?

3. Can an interrupt pin tell whether ALL three axes have a new reading, not just one axis.

4. If I read the three readings is it possible that a new reading is updated in the output register so that one byte is from a previous reading and the other from a new reading? Or eg. the X axis reading is new and the Z axis reading is old.

5. How the sensor actually makes it reading rate (eg. max speed of 800 Hz)? It does not have a clock input. How accurate this rate is?

Best regards

Harri Vanhala

Espoo, Finland

Labels (1)
Tags (1)
0 Kudos
3 Replies

278 Views
radudrosescu
Contributor I

 

Hello Harri,

 

  1. No, it is not possible to interfere in the acquisition logic, nor in the fifo access. It is not possible to externally control (via trigger signal) the sample and acquisition moments or timings;
  2. Probably 1/800=1,25 ms or 1/2400
  3. Note that this gyro use multiplexing not simultaneously acquisition so gyro data (X, Y, Z) come one by one entering in Fifo memory in big endian order (MSB first, LSB second) at a max rate of 800 Hz. You can use fifo or read direct OUT registers disabling fifo.

  

In the last case 0x00:Status reg, bit 3 (ZYXDR) high signals that a new acquisition is available, but you must use a multiple (burst) read OUT regs starting with OUT X MSB , OUT X LSB, and end with OUT Z LSB. OUT_LSB regi contains valid data only after read of OUT_MSBi. Last, when you read OUT Z LSB , ZYXDR bit pass to 0 and a new set of gyro data wil be loaded byte by byte. Again, ZYXDR will be set triggering a new interrupt routine to read data.

 

Prior set 0x09 F_Setup Reg to 00, and 0x0B INT_Src reg to 0x01. Set also, 0x14 Ctrl_reg2 bit 2 in order to use an interrupt routine to read OUT regs.

 

  1. If you use burst reading and DR_Status Reg polling or interrupt there is no danger of losing bytes.
  2. Internal clock is very accurate. Look as the diagram from Fig.1(FXAS21002 datasheet) and you'll notice a Block Oscillators, Clock Generator.

  

0 Kudos

278 Views
harrivanhala
Contributor I

Thank You for Your excellent comment!

The news were not pleasant but now I know how to go further. Our application requires (standards of crash testing) a certain sample rate but luckily enough the gyro natural rate is high enough to give us some timing margins.

harri

0 Kudos

278 Views
JackITB
NXP Employee
NXP Employee

Hi Harri,

I'd like to give you some more details regarding your question:

2. What is the time difference between the readings of the axes?

Actually the 3 axis are measured almost in parallel but finally sampled consecutively with a 24µs delay between each of them. I guess this is rather negligible compared to the overall data rate period (1/800Hz=1.25ms)

Regards,     Jacques.

0 Kudos