Table 18-2. Examples of I
2
C Master Timer Period Versus Speed Mode (continued)
Fast Mode
Plus
Timer
Period
Fast Mode
Timer Period
Standard Mode
Timer Period
System Clock
1000 Kbps
0x01
400 Kbps
0x04
100 Kbps
0x13
40 MHz
833 Kbps
0x02
357 Kbps
0x06
100 Kbps
0x18
50 MHz
1000 Kbps
0x03
400 Kbps
0x09
100 Kbps
0x27
80 MHz
1000 Kbps
0x04
385 Kbps
0x0C
100 Kbps
0x31
100 MHz
1000 Kbps
0x5
400 Kbps
0xE
100 Kbps
0x3B
120 MHz
18.3.2.2
High-Speed Mode
The TM4C1294NCPDT I
2
C peripheral has support for High-speed operation as both a master and
slave. High-Speed mode is configured by setting the
HS
bit in the
I
2
C Master Control/Status
(I2CMCS)
register. High-Speed mode transmits data at a high bit rate with a 66.6%/33.3% duty
cycle, but communication and arbitration are done at Standard, Fast mode, or Fast-mode plus
speed, depending on which is selected by the user. When the
HS
bit in the
I2CMCS
register is set,
current mode pull-ups are enabled.
The clock period can be selected using the equation below, but in this case,
SCL_LP
=2 and
SCL_HP
=1.
SCL_PERIOD
= 2 × (1 +
TIMER_PRD
) × (
SCL_LP
+
SCL_HP
) ×
CLK_PRD
So for example:
CLK_PRD = 25 ns
TIMER_PRD = 1
SCL_LP=2
SCL_HP=1
yields a SCL frequency of:
1/T = 3.33 Mhz
Table 18-3 on page 1285 gives examples of timer period and system clock in High-Speed mode. Note
that the
HS
bit in the
I2CMTPR
register needs to be set for the
TPR
value to be used in High-Speed
mode.
Table 18-3. Examples of I
2
C Master Timer Period in High-Speed Mode
Transmission Mode
Timer Period
System Clock
3.33 Mbps
0x01
40 MHz
2.77 Mbps
0x02
50 MHz
3.33 Mbps
0x03
80 MHz
When operating as a master, the protocol is shown in Figure 18-7. The master is responsible for
sending a master code byte in either Standard (100 Kbps) or Fast-mode (400 Kbps) before it begins
transferring in High-speed mode. The master code byte must contain data in the form of 0000.1XXX
and is used to tell the slave devices to prepare for a High-speed transfer. The master code byte
should never be acknowledged by a slave since it is only used to indicate that the upcoming data
is going to be transferred at a higher data rate. To send the master code byte for a standard
high-speed transfer, software should place the value of the master code byte into the
I2CMSA
register and write the
I2CMCS
register with a value of 0x13. If a high-speed burst transfer is required,
1285
June 18, 2014
Texas Instruments-Production Data
Tiva
™
TM4C1294NCPDT Microcontroller