cancel
Showing results for 
Search instead for 
Did you mean: 

LSM9DS1 BDU Details

DFort.1972
Associate

Hi everyone,

Does the block data update mode block also the sensor's sampling? Or simply the sensor continues to acquire and the registers are just not updated until the next reading? It's very important to me because I use LSM9DS1 gyroscope and accelerometer in free run mode at 119 Hz and I read each sample every 10ms (100Hz), in combination with the magnetometer used in single conversion mode: if the accelerometer and gyroscope continue to sample, magnetometer and gyroscope+accelerometer are not synchronous, or their samples are not equally spaced each time.

I hope I was clear,

Thanks,

Daniele

2 REPLIES 2
Eleon BORLINI
ST Employee

Hi @DFort.1972​ , sorry for the late answer. BDU bit is used to inhibit output registers update until both upper and lower register parts are read. In default mode (BDU= ‘0’) the output register values are updated continuously, directly after internal ADC conversion. If for any reason it is not sure to read faster than output data rate it is recommended to set BDU bit to ‘1’. In this way the content of output registers is not updated until both MSB and LSB are read avoiding to read values related to different sample time, but the internal conversion is still running. Regards

DFort.1972
Associate

Hi Eleon,

I'm now using the sensor in free running mode at 952 Hz (not anymore 119Hz) and the host is sampling at 100 Hz. If I understood correctly, BDU takes action only when the host reads the MSB (or LSB), therefore the host reads the nearest sample (about (1/952 Hz)= 1ms before), and not the sample just after the last reading (about (1/100Hz =)10ms before).

Thank you for the answer,

Regards

Daniele.