12 I
2
C (I2C)
S1C17F13 TeChniCal Manual
Seiko epson Corporation
12-3
(Rev. 1.0)
Clock Settings
12.3
I2C Operating Clock
12.3.1
Master mode operating clock
When using the I2C Ch.
n
in master mode, the I2C Ch.
n
operating clock CLK_I2C
n
must be supplied to the I2C
Ch.
n
from the clock generator. The CLK_I2C
n
supply should be controlled as in the procedure shown below.
1. Enable the clock source in the clock generator if it is stopped (refer to “Clock Generator” in the “Power Supply,
Reset, and Clocks” chapter).
2. Set the following I2C
n
CLK register bits:
- I2C
n
CLK.CLKSRC[1:0] bits (Clock source selection)
- I2C
n
CLK.CLKDIV[1:0] bits (Clock division ratio selection = Clock frequency setting)
When using the I2C in master mode during SLEEP mode, the I2C Ch.
n
operating clock CLK_I2C
n
must be
configured so that it will keep supplying by writing 0 to the CLGOSC.
xxxx
SLPC bit for the CLK_I2C
n
clock
source.
The I2C operating clock should be selected so that the baud rate generator will be configured easily.
Slave mode operating clock
The I2C set to slave mode uses the SCL supplied from the I
2
C master as its operating clock. The clock setting
by the I2C
n
CLK register is ineffective.
The I2C keeps operating using the clock supplied from the external I
2
C master even if all the internal clocks
halt during SLEEP mode, so the I2C can receive data and can generate receive buffer full interrupts.
Clock Supply in DEBUG Mode
12.3.2
In master mode, the CLK_I2C
n
supply during DEBUG mode should be controlled using the I2C
n
CLK.DBRUN bit.
The CLK_I2C
n
supply to the I2C Ch.
n
is suspended when the CPU enters DEBUG mode if the I2C
n
CLK.DBRUN
bit = 0. After the CPU returns to normal mode, the CLK_I2C
n
supply resumes. Although the I2C Ch.
n
stops oper-
ating when the CLK_I2C
n
supply is suspended, the output pin and registers retain the status before DEBUG mode
was entered. If the I2C
n
CLK.DBRUN bit = 1, the CLK_I2C
n
supply is not suspended and the I2C Ch.
n
will keep
operating in DEBUG mode.
In slave mode, the I2C Ch.
n
operates with the external I
2
C master clock input from the SCL
n
pin regardless of
whether the CPU is placed into DEBUG mode or normal mode.
Baud Rate Generator
12.3.3
The I2C includes a baud rate generator to generate the serial clock SCL used in master mode. The I2C set to slave
mode does not use the baud rate generator, as it operates with the serial clock input from the SCL
n
pin.
Setting data transfer rate (for master mode)
The transfer rate is determined by the I2C
n
BR.BRT[6:0] bit settings. Use the following equations to calculate
the setting values for obtaining the desired transfer rate.
f
CLK_I2C
n
f
CLK_I2C
n
bps = ———————
BRT = ————— - 3
(Eq. 12.1)
(BRT + 3)
×
2
bps
×
2
Where
bps:
Data transfer rate [bit/s]
f
CLK_I2C
n
: I2C operating clock frequency [Hz]
BRT:
I2C
n
BR.BRT[6:0] bits setting value (1 to 127)
*
The equations above do not include SCL rising/falling time and delay time by clock stretching (see Fig-
ure 12.3.3.1).
Note: The I
2
C bus transfer rate is limited to 100 kbit/s in standard mode or 400 kbit/s in fast mode. Do
not set a transfer rate exceeding the limit.