Datasheet

Table Of Contents
NOTE
The total high time and low time of SCL generated by the DW_apb_i2c master is also influenced by the rise time and
fall time of the SCL line, as shown in the illustration and equations in Figure 86. It should be noted that the SCL rise and
fall time parameters vary, depending on external factors such as:
Characteristics of IO driver
Pull-up resistor value
Total capacitance on SCL line, and so on
These characteristics are beyond the control of the DW_apb_i2c.
HCNT + IC_*_SPKLEN + 7
SCL
rise time
SCL
fall time
SCL
rise time
LCNT + 1
SCL_High_time = [(HCNT + IC_*_SPKLEN + 7) * ic_clk] + SCL_Fall_time
SCL_low_time = [(LCNT + 1) * ic_clk] - SCL_Fall_time + SCL_Rise_time
ic_clk
ic_clk_in_a/SCL
Figure 86. Impact of
SCL Rise Time and
Fall Time on
Generated SCL
4.3.14.2. Minimum IC_CLK Frequency
This section describes the minimum ic_clk frequencies that the DW_apb_i2c supports for each speed mode, and the
associated high and low count values. In Slave mode, IC_SDA_HOLD (Thd;dat) and IC_SDA_SETUP (Tsu:dat) need to be
programmed to satisfy the I2C protocol timing requirements. The following examples are for the case where
IC_FS_SPKLEN is programmed to two.
4.3.14.2.1. Standard Mode (SM), Fast Mode (FM), and Fast Mode Plus (FM+)
This section details how to derive a minimum ic_clk value for standard and fast modes of the DW_apb_i2c. Although
the following method shows how to do fast mode calculations, you can also use the same method in order to do
calculations for standard mode and fast mode plus.
NOTE
The following computations do not consider the SCL_Rise_time and SCL_Fall_time.
Given conditions and calculations for the minimum DW_apb_i2c ic_clk value in fast mode:
Fast mode has data rate of 400kb/s; implies SCL period of 1/400khz = 2.5μs
Minimum hcnt value of 14 as a seed value; IC_HCNT_FS = 14
Protocol minimum SCL high and low times:
MIN_SCL_LOWtime_FS = 1300ns
MIN_SCL_HIGHtime_FS = 600ns
Derived equations:
RP2040 Datasheet
4.3. I2C 481