2023-08-10 10:54 PM
Hi,
In my project, I would like to connect multiple ILPS22QS pressure sensors (from 8 up to 256 units) to a single controller. I saw the dynamic addressing command supported by I3C ENTDAA. However, I also saw the provisional ID is not arbitrary. GETPID only returns 2 values depending on SDO pin.
Therefore, I wonder if it is possible to use a single micro-controller to communicate with multiple (>2) ILPS22QS pressure sensors.
Thank you,
Jinhao
Solved! Go to Solution.
2023-08-22 02:31 AM
Hello @Jinhao ,
I think there is no way to address more than 2 devices on the I3C bus (only 2 PID values) .
You need more than controller on the bus .
Foued
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-08-10 11:36 PM
There are I2C bus multiplexers, but due to the high number of sensors, possibly the only alternative is to operate with SPI (daisy chained connection).
2023-08-10 11:50 PM
I found this document that might be interesting to see:
Daisy Chain Implementation for Serial Peripheral Interface
Another option could be to use SPI in direct mode with 74HC595 to control the SS pin, need to observe the characteristics of Fan-in/Fan-out:
https://efficientcodeblog.wordpress.com/2017/11/03/what-are-fan-out-and-fan-in/
2023-08-14 02:30 AM
Hello @Jinhao ,
The I3C Arbitration procedure differs from I2C by using the values of the 48-bit Provisioned ID and the Device’s I3C Characteristic Registers (that is, BCR and DCR), concatenated.
The Device on the I3C Bus with the lowest concatenated value wins each Arbitration round in turn, and the Controller assigns a unique Dynamic Address to each winning Device.
Here is our application Note that describes I3C vs I2C and practical examples and use case : https://www.st.com/resource/en/application_note/an5879-introduction-to-i3c-for-stm32h5-series-mcu-st...
Foued
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-08-21 10:25 AM
Thank you for your reply.
I understand how Dynamic Address works with Arbitration. My questions is: given that the 48-bit Provisioned ID is NOT arbitrary (see the screenshot of ILPS22QS datasheet), is there any way I can address multiple ILPS22QS sensors. As far as I can see, there is only one pin named SDO that changes one bit of PID, leading to 2 possible different PID in total.
Thank you,
Jinhao
2023-08-22 02:31 AM
Hello @Jinhao ,
I think there is no way to address more than 2 devices on the I3C bus (only 2 PID values) .
You need more than controller on the bus .
Foued
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-08-23 11:42 AM
Thank you for your confirmation.
Jinhao