06-23-2023 10:04 PM
I am working on an application where I must fit up to 18 BMP581 pressure sensors in a small area. I was hoping I could communicate with all 18 sensors over one I3C bus using dynamically assigned addresses. I’ve never worked with I3C before, and after some initial reading, it seemed like it was possible to overcome the two BMP581 limit of I2C by dynamically assigning unique addresses using the features of I3C.
After digging into the I3C protocol a little deeper, it appears as though I’ll still hit a 2 device limit because the dynamically assigned address feature relies on a “provisional ID” which is tied to the I2C hardware address of the BMP581. However, I’m still not certain because none of the documentation I’ve seen makes this clear
This is my first exposure to the I3C protocol, so I’m hoping someone with knowledge of I3C can help clarify. Is it possible to attach more than two BMP581 sensors to the same I3C bus and dynamically reassign their addresses to unique values?
06-26-2023 03:51 PM
Bumping this question back to the top of the list and hoping someone out there has a definitive answer. Thanks!
06-26-2023 04:31 PM
Hi coppercrimp,
The I3C bus cann't connect up to 18 BMP581.
What platform are you using? Does it support DAA?
06-26-2023 04:50 PM
Hi BSTRobin, thanks for your response. So, I'm assuming the maximum number of sensors per I3C bus is two since there are only two I2C hardware addresses available?
For experimentation purposes, I have a BMP581 sensor connected to a ST NUCLEO-H503RB demo board. The STM32H503 microcontroller does support I3C and DAA
07-06-2023 04:23 PM
Hi coppercrimp,
In theory, the host can connect up to four BP581 through I3C. The SDO of two BMP581 should be connected to GND, and the SDO of two BMP581 should be connected to VDDIO.