cancel
Showing results for 
Search instead for 
Did you mean: 

LIS3MDL BDU

Pritesh Patel
Associate II
Posted on July 17, 2017 at 08:22

hello,

I have gone through the datasheet and app note of LIS3MDL. But i am not able to get how block data update bit work i.e. if someone has set the BDU bit and if I read registers through I2C one by one, then how the ic internally gets idea that all the registers have been read and got the data of same sample?

Also can anyone please elaborate about ODR and its working in LIS3MDL

1 ACCEPTED SOLUTION

Accepted Solutions
Legacy member
Not applicable
Posted on July 17, 2017 at 18:53

Hello,

Have a look at this application note, available from product webpage:

http://www.st.com/content/ccc/resource/technical/document/application_note/69/d7/05/fe/a9/3e/4b/ea/DM00136626.pdf/files/DM00136626.pdf/jcr:content/translations/en.DM00136626.pdf

. Section 3.2.3 Using the block data update (BDU) feature explains the BDU.

Also ODR is output data rate, how often you can get an updated results. It is declared in Hz, meaning samples per second.

David

View solution in original post

11 REPLIES 11
Legacy member
Not applicable
Posted on July 17, 2017 at 18:53

Hello,

Have a look at this application note, available from product webpage:

http://www.st.com/content/ccc/resource/technical/document/application_note/69/d7/05/fe/a9/3e/4b/ea/DM00136626.pdf/files/DM00136626.pdf/jcr:content/translations/en.DM00136626.pdf

. Section 3.2.3 Using the block data update (BDU) feature explains the BDU.

Also ODR is output data rate, how often you can get an updated results. It is declared in Hz, meaning samples per second.

David

Miroslav BATEK
ST Employee
Posted on July 18, 2017 at 10:01

Yes, your understanding is correct.

Posted on July 18, 2017 at 09:16

Hello David,

Thanks for your reply.

But still i am not getting full idea about ODR. So i just want to confirm from you that my understanding is right or not from your answer.   

So what i have understood is, by setting ODR=80Hz, our output registers will be updated every 12.5ms(1/80). Is it right?

Posted on July 18, 2017 at 10:24

Thank You Miroslav for your help.

Posted on July 18, 2017 at 12:58

Hello,

if i set full scale to +-4 gauss, then can we measure the magnetic field greater then 4 gauss and lesser then -4 gauss?

I am not able to understand FullScale parameter from datasheet of LIS3MDL. So can you please help me to understand it

Legacy member
Not applicable
Posted on July 18, 2017 at 13:17

Hello, have a look at section Mechanical characteristics in the datasheet. Each scale has a defined sensitivity per LSB. After you read the output registers, multiply the value by the sensitivity and you get you reading in mg units.

Posted on July 18, 2017 at 14:11

Hello David,

Thanks for your reply.

Actually I know that thing ,but i want to know that, do full scale define measurement range? which means setting +-4 Gauss in Full Scale, can we measure the magnetic field beyond 4 gauss?

Posted on July 18, 2017 at 15:00

Yes, full scale is basically measurement range. For example for Full Scale +-4 Gauss you can measure magnetic field from -4 Gauss to +4 Gauss.

Even if values higher than 4 Gauss (or lower than -4 Gauss) can fit in the output register's range the functionality and performance is not guaranteed.

Posted on July 19, 2017 at 14:07

Hi Miroslav,

Thank you for your response. It cleared my doubt fully.

Another thing that i want to confirm is, if i set some value in OFFSET registers, does it internally subtract the OFFSET values and writes the output in OUT registers, or we have to do it manually.