I2C or I3C for broadcast communication - STM32H503RBT6
Hello!
In my project, I have one "Mother board" and other four "Child boards".
Both boards are using STM32H503RBT6 microcontrollers.
There needs to be a communication between the Mother (master/controller) and the Child (slave/target). Child to Child won't be needed.
I thought about using I2C communication. However, I don't want to have anything different hardware-wise between the Child boards (such as a different pulldown resistor value or a jumper to set a different address for each one).
Also, I would like the Child to have all the same firmware (Mother is going to have a dedicated different firmware). Therefore, I can't set the Child address by flashing different firmwares.
Therefore, I thought about two approaches:
1) If I use I2C, would it be alright to use the broadcast address to talk to all the Children at once and "gradually" assigning address to each one with some programming logic ?
2) I've never used I3C before but I noticed there is something about Dynamic Address Assignment. I've read only a few documents, but it seems that to use this feature I still need to set a different Provisioned ID beforehand (therefore, making it a different firmware). However, I noticed something in the CubeIDE code generator, which shows something about a hardcoded ID (picture below). I don't know what it actually means, maybe it is a GUID that comes hardcoded for each chip or something, maybe not... The point is: can I use I3C to assign an address for each of the Child board, which all have the same hardware and firmware ?

3) Any other suggestion on how to achieve this ?
Thanks a lot!
