SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Figure 26-13 shows the I2C clock generation of the HS I2C controllers.
Each multimaster HS I2C controller uses the I2Ci_FCLK functional clock in the PRCM module. The internal sampling clock I2Ci_INTERNAL_CLK is generated by dividing the functional clock by the I2Ci.I2C_PSC[7:0] PSC bit field value + 1 in F/S mode, or in the first phase of HS mode; or by directly using the functional clock in the second phase of HS mode (prescaler is bypassed).
The low time of the I2Ci_SCLL signal is determined by the I2Ci.I2C_SCLL[7:0] SCLL bit field in F/S mode and in the first phase of HS mode; or by the I2Ci.I2C_SCLL[15:8] HSSCLL bit field in the second phase of HS mode.
The high time of the I2Ci_SCLL signal is determined by the I2Ci.I2C_SCLH[7:0] SCLH bit field in F/S mode and in the first phase of HS mode; or by the I2Ci.I2C_SCLH[15:8] HSSCLH bit field in the second phase of HS mode.
Table 26-6 lists the tLOW and thigh values in master mode only (in slave mode, the I2C controller does not generate the I2C clock).
Mode | I2Ci Clock | tLOW | thigh |
---|---|---|---|
F/S or HS first phase | I2Ci_INTERNAL_CLK = I2Ci_FCLK / (I2Ci.I2C_PSC[7:0] PSC bit field + 1) | (I2Ci.I2C_SCLL[7:0] SCLL bit field value + 7) x I2Ci_INTERNAL_CLK period | (I2Ci.I2C_SCLH [7:0] SCLH bit filed value + 5) x I2Ci_INTERNAL_CLK period |
HS second phase | I2Ci_FCLK | (I2Ci.I2C_SCLL[15:8] HSSCLL bit field value + 7) x I2Ci_FCLK period | (I2Ci.I2CSCLL [15:8] HSSCLH bit field value + 5) x I2Ci_FCLK period |
For HS mode, the I2Ci.I2C_SCLL[15:8] HSSCLL and I2Ci.I2C_SCLL[7:0] SCLL bit fields must be programmed (the first phase of an HS transaction is performed at F/S speed).
For HS mode, the I2Ci.I2C_SCLH[15:8] HSSCLH and I2Ci.I2C_SCLH[7:0] SCLH bit fields must be programmed (the first phase of an HS transaction is performed at F/S speed).
The equations in Table 26-6 give the SCLL timing values for SCLL/SCLH/HSSCLL/HSSCLH at HS I2C controller outputs. Actual tlow and thigh periods may vary depending on the board (the load capacitance on the SCLL signal). If necessary, any adjustments to the SCLL/SCLH/HSSCLL/HSSCLH values must be determined by measurements of actual SCL signal on the board.
During active mode (the I2Ci.I2C_CON[15] I2C_EN bit is set to 1), make no changes to the I2Ci.I2C_SCLL and I2Ci.I2C_SCLH registers. Changes may result in unpredictable behavior.
Table 26-7 lists the register values for obtaining the maximum I2C bit rates and the maximum period of the filtered spikes in F/S mode and HS mode.
(1) | I2C Mode for I2Ci, | Description | ||
---|---|---|---|---|
Standard Mode | Fast Mode | High-Speed Mode(2) | ||
I2Ci_FCLK frequency (MHz) | 96 | |||
I2Ci .I2C_PSC[7:0] PSC | 23 | 9 | 1 | Prescaler value for F/S and HS modes |
I2Ci_INTERNAL_CLK frequency (MHz) | 4 | 9.6 | 96 | |
I2Ci .I2C_SCLL[7:0] SCLL | 13 | 5 | 115 | Value for F/S mode and first phase of HS mode |
I2Ci .I2C_SCLH[7:0] SCLH | 15 | 7 | 113 | Value for F/S mode and first phase of HS mode |
Maximum bit rate (Mbps) | 0.1 | 0.4 | 0.4 | F/S mode and first phase in HS mode maximum bit rate |
Maximum filter period (ns) | 250 | 104.2 | 10 | |
I2Ci .I2C_SCLL[15:8] HSSCLL | 12 | Values for second phase of HS mode | ||
I2Ci .I2C_SCLH[15:8] HSSCLH | 5 | Values for second phase of HS mode | ||
HS mode maximum bit rate (Mbps) | 3.31 | HS mode maximum bit rate | ||
Maximum filter period (ns) | 10 |
This table presents informative values only for the configuration parameters and the I2C bus performance obtained according to these values. The delays added by the analog pads are not considered in these figures.
For I2Ci (where i=1, 2, 3, 4, 5)
I2Ci_INTERNAL_CLK freq = I2Ci_FCLK / (PSC +1)
F/S filter period = 1 / I2Ci_INTERNAL_CLK
HS filter period = 1 / I2Ci_FCLK freq
HS bit rate = I2Ci_FCLK freq / (HSSCLL+ 7 + HSSCLH + 5)
FS bit rate = I2Ci_INTERNAL_CLK / (SCLL+ 7 + SCLH + 5)