Skip to main content
Graduate II
June 19, 2024
Question

STM32H503 I3C, I3C_RSTDAA_THEN_ENTDAA issue

  • June 19, 2024
  • 1 reply
  • 1293 views

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?

 

 

 

    This topic has been closed for replies.

    1 reply

    ST Employee
    June 19, 2024

    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.

    SteveDuAuthor
    Graduate II
    June 19, 2024

    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.:folded_hands:

     

    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):folded_hands:

     

    ST Employee
    June 21, 2024

    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