I’m working with the BHI360 and would like to confirm the correct approach to achieve accelerometer sample rates higher than 800 Hz.
From the BHI360 datasheet, I understand:
Accelerometer nominal ODR via Host Interface is up to 800 Hz.
Accelerometer nominal ODR via OIS interface is up to 1600 Hz.
Gyroscope nominal ODR via OIS interface is up to 6400 Hz.
My goal is to stream:
Accelerometer at 1600 Hz (and possibly gyroscope at higher rates), and I want to confirm the exact required steps and constraints.
Current setup, currently I have:
Host Interface configured as: SPI on HSCX/HSDX/HSDO/HCSB (HIF), level-shifted between MCU 3.3 V and BHI360 VDDIO = 1.8 V.
HSCX = SCK (net: SCK_1V8)
HSDX = MOSI (net: MOSI_1V8)
HSDO = MISO (net: MISO_1V8)
HCSB = CS (net: SFI_CS_1V8)
HIRQ = host interrupt (net: INT_BHI360_1V8)
RESETN = RESET_N_BHI360_1V8
Auxiliary / Master Interface 2 pins are currently used to connect an external BMM350 magnetometer via I2C:
ASCX/ASDX are routed as SCK_BHI_BMM / SDA_BHI_BMM
My understanding / proposed steps (please confirm or correct)
The Host Interface (HIF) path is limited to ~800 Hz for accelerometer output.
To reach 1600 Hz accelerometer, I must use the OIS interface (Master Interface 2), wiring:
ASCX = OIS SPI SCK
ASDX = OIS SPI MOSI
OSDO = OIS SPI MISO
OCSB = OIS SPI CS
I need to ensure the loaded firmware enables OIS (or configures SIF0/SIF1 accordingly) so that Master Interface 2 is assigned to OIS SPI.
Confirm whether any explicit “OIS enable” setting/parameter is required (even if I only need high-rate accelerometer), and if so:
Which register/parameter/command should be used?
Any required sequence/timing relative to boot/firmware load?
Confirm whether the 1600 Hz / 6400 Hz rates are:
Available only via “raw sensor” data paths, or also via virtual sensors/BSX outputs.
Subject to additional constraints (FIFO format, timestamping, batching, max latency, host readout method).
Recommend the best practice readout method at these rates (DMA SPI burst reads, interrupt usage, batching/latency suggestions), and any known pitfalls.
Questions
A) Is my interpretation correct that >800 Hz accel is not achievable via HIF virtual sensor FIFO, and that 1600 Hz requires the OIS interface?
B) Are there specific firmware variants required to use OIS streaming, or is it supported in the standard firmware?
C) Can you confirm the exact configuration sequence (commands/parameters) to start 1600 Hz accelerometer streaming via OIS?
If helpful, I also share HW schematics image and as file:
Thanks in advance for confirming the correct procedure.
Best regards,
Shai Ashto