CY8C28xxx PSoC Programmable System-on-Chip TRM, Document No. 001-52594 Rev. *G
493
28. I
2
C
This chapter explains the I
2
C™ block and its associated registers. The I
2
C communications block is a serial processor
designed to implement a complete I
2
C slave or master. For a complete table of the I
2
C registers, refer to the
of the System Resource Registers” on page 462
. For a quick reference of all PSoC
®
registers in address order, refer to the
Register Details chapter on page 125
.
28.1
Architectural Description
The I
2
C communications block is a serial to parallel proces-
sor, designed to interface the PSoC device to a two-wire I
2
C
serial communications bus. To eliminate the need for exces-
sive M8C microcontroller intervention and overhead, the
block provides I
2
C specific support for status detection and
generation of framing bits.
The I
2
C block directly controls the data (SDA) and clock
(SCL) signals to the external I
2
C interface, through connec-
tions to two dedicated GPIO pins. The PSoC device firm-
ware interacts with the block through I/O (input/output)
register reads and writes, and firmware synchronization will
be implemented through polling and/or interrupts.
PSoC I
2
C features include:
■
Master/Slave, Transmitter/Receiver operation
■
Byte processing for low CPU overhead
■
Interrupt or polling CPU interface
■
Master clock rates: 50K, 100K, 400K
■
Multi-master clock synchronization
■
Multi-master mode arbitration support
■
7- or 10-bit addressing (through firmware support)
■
Optional hardware support for automatic address com-
parison (7-bit address and slave mode only)
■
SMBus operation (through firmware support)
Hardware functionality provides basic I
2
C control, data, and
status primitives. A combination of hardware support and
firmware command sequencing provides a high degree of
flexibility for implementing the required I
2
C functionality.
Hardware limitations in regards to I
2
C are as follows:
■
Because receive and transmitted data are not buffered,
there is no support for automatic receive acknowledge.
The M8C microcontroller must intervene at the boundary
of each byte and either send a byte or ACK received
bytes.
The I
2
C block is designed to support a set of primitive oper-
ations and detect a set of status conditions specific to the
I
2
C protocol. These primitive operations and conditions are
manipulated and combined at the firmware level to support
the required data transfer modes. The CPU will set up con-
trol options and issue commands to the unit through I/O
writes and obtain status through I/O reads and interrupts.
The block operates as either a slave, a master, or both.
When enabled in Slave mode, the unit is always listening for
a Start condition, or sending or receiving data. Master mode
can work in conjunction with Slave mode. The master sup-
plies the ability to generate the START or STOP condition
and determine if other masters are on the bus. For Multi-
Master mode, clock synchronization is supported. If Master
mode is enabled and Slave mode is not enabled, the block
does not generate interrupts on externally generated Start
conditions.
28.1.1
Dual I
2
C HW
The CY8C28xxx family offers two I
2
C HW blocks. These two
blocks are functionally identical to each other. The main dif-
ferences are the pin pairs they map to, and their interrupt
vectors. Several devices in the CY8C28xxx family offer only
one I
2
C block; refer to a device distinctions table.
Содержание CY8C28 series
Страница 65: ...64 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G RAM Paging ...
Страница 85: ...84 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G Internal Main Oscillator IMO ...
Страница 93: ...92 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G External Crystal Oscillator ECO ...
Страница 97: ...96 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G Phase Locked Loop PLL ...
Страница 125: ...124 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G ...
Страница 311: ...310 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G IDAC_CR0 1 FDh ...
Страница 317: ...316 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G ...
Страница 393: ...392 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G ...
Страница 425: ...424 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G Analog Reference ...
Страница 461: ...460 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G Two Column Limited Analog System ...
Страница 477: ...476 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G Digital Clocks ...
Страница 483: ...482 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G Multiply Accumulate MAC ...
Страница 513: ...512 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G Internal Voltage Reference ...
Страница 523: ...522 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G Switch Mode Pump SMP ...
Страница 533: ...532 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G I O Analog Multiplexer ...
Страница 537: ...536 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G Real Time Clock RTC ...
Страница 561: ...560 CY8C28xxx PSoC Programmable System on Chip TRM Document No 001 52594 Rev G ...