Accelerometer FXOS8700CQ

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Accelerometer FXOS8700CQ

536 Views
joãopaulo
Contributor III

I am not able to use the FXOS8700CQ accelerometer present on the kv31f board.
I would like to use the freefall function and for this I configured the following registers.

Freefall ConfigurationZ < 0,3g using MFF Function 4g, 100 Hz ODR, Normal Mode
Register NameRegister AddrData (R/W)Description
CTRL_REG10x2A0x00 WStandby mode for writable operations
WHO_AM_I0x0DReadCheck device communication (0xC7)
XYZ_DATA_CFG0x0E0x01 WHight-pass filter disabled, +/-0.488mg/LSB
CTRL_REG10x2A0x18 WSet the device in 100 Hz ODR, Standby
A_FFMT_CFG0x150xA0 WLatch enable, Freefall, Z axis
A_FFMT_THS0x170x05 W0,3g threshold
A_FFMT_COUNT0x180x0A WDebounce 100ms
CTRL_REG40x2D0x04 WFF interrupt enable
CTRL_REG50x2E0x04 Winterrupt routed to INT1 pin
CTRL_REG10x2A0x19 WSet the device in 100 Hz ODR, Active Mode

- The communication is working properly because I can read the WHO_AM_I register,

- I've already followed the AN4070 document,

But it's not working, the Freefall interrupt isn't happening,

I've tried to use the 3 axes and then only one but none worked.

Is there any other register that I need to configure?

What else should I do?

Thanks 

2 Replies

315 Views
david_diaz
NXP Employee
NXP Employee

Hello Paulo,

Your configuration seems correct.

Please make sure you have the correct pin configuration using the FRDM-KV31F as mentioned below, especially the INT1 pin:

pinout.jpg

Please try to decrease the value of the debounce counter (A_FFMT_COUNT = 0x01). Can you share your results? Is the interrupt generated at the PTD0 pin?

 

Regards,

David

316 Views
joãopaulo
Contributor III

Hello, 

There was a mistake on I2C write messages, 

So I could read the Who_Am_I but when I was trying to write to registers it was working..

In the end the configuration that I did was:

Register NameRegister AddrData (R/W)
CTRL_REG20x2B0x40 WReset all registers to POR values
XYZ_DATA_CFG0x0E0x00 WHight-pass filter disabled, +/-0.244mg/LSB, Full-Scale range +/-2g
M_CTRL_REG0x5B0x00 WOnly accelerometer sensor is active
CTRL_REG20x2B0x02 WHigh Resolution mode
CTRL_REG30x2C0x00 WPush-pull, active low interrupt
A_FFMT_CFG0x150x08 WFreefall detection for X axis
A_FFMT_THS0x170x04 WThreshold Setting Value for the Freefall detection of 0.2g (4 * 0.063)
A_FFMT_COUNT0x180x0A WSet the debounce counter to 1,6s timer (160ms * 10)
CTRL_REG40x2D0x04 WFF interrupt enable
CTRL_REG50x2E0x04 Winterrupt routed to INT1 pin
CTRL_REG10x2A0x35 WODR = 6.25Hz, Reduced noise, Active mode

Thanks,

Best Regards,

João Paulo

0 Kudos