cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H503 I3C, I3C_RSTDAA_THEN_ENTDAA issue

SteveDu
Associate II

Hi, I am working with STM32H503RB.

SteveDu_0-1718759549733.png

I'm currently testing the function of "I3C_Controller_ENTDAA_IT" from the example code.

SteveDu_1-1718759748873.png

Capture1 is the result of "I3C_RSTDAA_THEN_ENTDAA"

SteveDu_2-1718759780728.png

The expected behavior of Capture1 should be 7E06 then 7E07.

Why would 7E02 occur along with a write error?

 

Capture2 is the result of "I3C_ONLY_ENTDAA"

SteveDu_0-1718765107639.png

My questions are:

1. I'm wondering where is the code that define the configures in color green.

2. Is it able to modify their values?

3. Is it a successful ENTDAA process?

 

 

 

3 REPLIES 3
Foued_KH
ST Employee

Hello @SteveDu

If you are using a sensor as an I3C target you can't modify these value.
But If you are connection STM32 MCU as a target you can modify the Bits 15:12 MIPIID[3:0]: 4-bit MIPI Instance ID by software.

When STM32 MCU as target
DCR[7:0]: device characteristics ID
- 0x00: generic device (for v1.0 devices)
- others: ID to describe the type of the I3C sensor/device
Note: The latest MIPI DCR ID assignments are available on https://www.mipi.org

 

BCR[7:0] :  bus characteristics register 
you can configure three bits used by hardware.
for more information : check the section : 35.16.23 I3C bus characteristics register (I3C_BCR) RM0492



3.Capture2 is good result of dynamic addressing.

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.

Hi Foued,

Thanks for your reply.

1. Still wondering whether the waveform in Capture1 matched the expected behavior of the code below.

if (HAL_I3C_Ctrl_DynAddrAssign_IT(&hi3c1, I3C_RSTDAA_THEN_ENTDAA) != HAL_OK)

 {

/* Error_Handler() function is called when error occurs. */

 Error_Handler();

}

If not, please help me to fix this problem.🙏

 

2. I'm not using STM32 MCU as an I3C target, does it mean that I cannot modify the values of those bits?

(If there's a token that could enable the access of modification, please let me know)🙏

 

1/ could you please the section 4.1.1. Interrupt mode in the WIKI : Getting started with I3C - stm32mcu

 

2/ You can modify the value of those bits.

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.