cancel
Showing results for 
Search instead for 
Did you mean: 

Some I3C Speed Rates are not available?

taylor_quan
Associate II

Hi,I am working with  STM32H5RBT6U:

How do I calculate the frequency of the I3C Controller? Is there documentation to cover the content?

I tried using CubeMX to set the frequency, but strangely, all the frequencies work fine except 3~5MHz.

taylor_quan_1-1697423865215.png

 

taylor_quan_0-1697423823825.png

The exception is that at this rate setting, the controller can only send out the reserved byte waveform, and subsequent clock signals will not be generated normally

taylor_quan_3-1697424211112.jpeg

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

hello,

Q1:Why is the minimum recommended SDA rise time 350ns? Why do I set 12ns only affect the frequency of 3~5M, which is smaller or higher, why is there no effect?

This SDA rise time is the value measure of SDA rise time, between GND to 70%VDD, capacitor effect.
This timing is important for Controller to detect correctly the SDA high level.

Concerning the frequency issue that you have detect, i think it is frequency out of 3Mhz, mean 12.5Mhz should not works properly too. At those frequency you are at the limit a correct Controller detection with the wrong value of SDA rise time.

Q2:Is there documentation that mentions the formula for calculating the I3C rate? Is there an API interface that can dynamically configure the I3C rate?
Yes, you can use I3C_CtrlTimingComputation, and for usage you can follow the example I3C_Sensor_Private_Command_IT.

Hope that help you to start on H5 I3C.
Regards

View solution in original post

4 REPLIES 4
JRAUL.1
ST Employee

Dear,

To start better on I3C on H5, prefer modifying only this part of CubeMX at first usage on your side (parameter under yellow highlight):

JRAUL1_0-1697449130781.png

for example, it seems that you modified the default value of SDA rise time, which can be a critical value if not well set. For the STM32H503 nucleo, it is preferable to keep at minimum the value 350, as suggest in the parameter description.

One question or confirmation, for you, what is the clock source frequency of the I3C in your case ? 250Mhz ?

Other point, did you use the examples available on the Firmware package of the H5, to start your application ?

Keep in touch,
Thanks and Regards

Thanks for your reply!

A1:Yes, the clock source frequency of the I3C in my case is 250M。

taylor_quan_0-1697449949917.png

A2:I did use the examples available on the Firmware package of the STM32Cube_FW_H5_V1.1.1 to start my application.

Q1:Why is the minimum recommended SDA rise time 350ns? Why do I set 12ns only affect the frequency of 3~5M, which is smaller or higher, why is there no effect?

Q2:Is there documentation that mentions the formula for calculating the I3C rate? Is there an API interface that can dynamically configure the I3C rate?

hello,

Q1:Why is the minimum recommended SDA rise time 350ns? Why do I set 12ns only affect the frequency of 3~5M, which is smaller or higher, why is there no effect?

This SDA rise time is the value measure of SDA rise time, between GND to 70%VDD, capacitor effect.
This timing is important for Controller to detect correctly the SDA high level.

Concerning the frequency issue that you have detect, i think it is frequency out of 3Mhz, mean 12.5Mhz should not works properly too. At those frequency you are at the limit a correct Controller detection with the wrong value of SDA rise time.

Q2:Is there documentation that mentions the formula for calculating the I3C rate? Is there an API interface that can dynamically configure the I3C rate?
Yes, you can use I3C_CtrlTimingComputation, and for usage you can follow the example I3C_Sensor_Private_Command_IT.

Hope that help you to start on H5 I3C.
Regards

Thanks a lot for the reply, very helpful.