cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H503: How to have more than 4 i3c target devices

evervoid
Associate

I'm trying to achieve a modular design via i3c. All targets and controller is stm32h503cbt6. The targets hot join the bus one by one. After receiving the dynamic address, targets can send small data to controller during IBI request. But only the first 4 of them can send data successfully. The other ones only get NACK.from the controller during IBI.

I'm suing HAL_I3C_Ctrl_ConfigBusDevices() to store the dynamic addresses. Later I found it can only support up to 4 dynamic addresses. The function writes the addresses to hi3c->Instance->DEVRX, which is an array with a length of 4.

Is there any way to store more of them?

Any help and suggestions will be much appreciated!

 

1 ACCEPTED SOLUTION

Accepted Solutions
evervoid
Associate

According to this pdf, stm32h5 seems can only handle IBI request from up to 4 targets.

It's a little bit disappointing. I3C would be my go to way to do modular design if all IBI requests can be handled.

View solution in original post

1 REPLY 1
evervoid
Associate

According to this pdf, stm32h5 seems can only handle IBI request from up to 4 targets.

It's a little bit disappointing. I3C would be my go to way to do modular design if all IBI requests can be handled.