I am using BMI270 and BMM150 . BMM150 is connected on the Aux interface of BMI270.
And I need to synchronise both sensor with the host processor. What is the best way to do this? Is it possible to give interrupt to sensor from host processor for starting the measurement ?
The host can read sensor data through I2C or SPI when it needs to read data. Normally, the interrupt from the host to the sensor is not required.
I know data can read through I2C but my concern is on the Synchronisation. I need some communication from IMU side before starting measurement or after finishing measurement . There will be one real time clock running on my host processor and when i get an measurement start/finish interrupt from IMU i can note that time. So the IMU will be in sync with time. I have other sensors also in my device. And all sensors should be sync with time. MIne is a handheld device. So this IMU is very improtant.
Another option is i can give interrupt to INT pins of the IMU and IMU can start measurement after getting interrupt from processor. Any of these 2 possible ?
For example, if you configure the IMU ODR to be 100 Hz, IMU will start measuring periodically with an interval of 10ms. Instead of starting the measurement after receiving the interrupt from the host.
You could use data ready interrupt to triggle host to sync the time if you could accept to receive interrupt from sensor to host every 10 ms.
Can you confirm whether my below understanding is correct or not?
In BMI270 There are 3 data ready interrupts each for Accelaro, gyro, magnetometer at aux interface. First we should map the DATA ready interrupt to INT1 or INT2 pin and when we get an interrupt on the INT pin host processor can check in the INT_STATUS_1 register to understand which one of the Accelaro, gyro, magneto sensor is responsible for the interrupt. So host can understand new data has generated and available on the corresponding sensor DATA registers.