cancel
Showing results for 
Search instead for 
Did you mean: 

I3C timing register 0 (I3C_TIMINGR0)

MedFedi
Associate

I need to know how to calculate Timing Register 0 for I3C. In this example, the I3C clock is 150 MHz. Can someone explain the value of the register and how it is calculated?

MedFedi_0-1746440935136.png

 

 

1 REPLY 1
Foued_KH
ST Employee

Hello @MedFedi ,

For Timing register 0 : ( I3C timing register 0 (I3C_TIMINGR0) )

Timing Register 0: 0x00360505:

  • Bits 31:24 SCLH_I2C[7:0] = 0x00: No I2C devices connected on the bus
  • Bits 23:16 SCLL_OD[7:0] = 0x36: SCL low duration in open-drain phases

tSCLL_OD = (SCLL_OD+1) x t_I3CCLK = ( 54 + 1 ) * 1/150 

  • Bits 15:8 SCLH_I3C[7:0]: = 0x05: SCL high duration

tSCLH_I3C = (SCLH_I3C+1)x t_I3CCLK  = ( 5 + 1 ) * 1/150 

  • Bits 7:0 SCLL_PP[7:0]: = 0x05: SCL low duration in I3C push-pull phases

tSCLL_PP = (SCLL_PP+1)x t_I3CCLK = ( 5 + 1 ) * 1/150 

 

To verify :

  SCL PP Frequency : 1/(tSCLL_PP + tSCLH_I3C) = Frequency I3C controller

BR!
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.