
CY8C9520A, CY8C9540A
CY8C9560A
Document Number: 38-12036 Rev. *B
Page 2 of 24
Architecture
The “Top Level Block Diagram” on page 1 illustrates the device
block diagram. The main blocks include the control unit, PWMs,
EEPROM, and IO ports. The control unit executes commands
received from the I2C bus and transfers data between other bus
devices and the master device.
The on chip EEPROM can be separated conventionally into two
regions. The first region is designed to store data and is available
for byte wide read/writes through the I2C bus. It is possible to
prevent write operations by setting the WD pin to high. All
EEPROM operations can be blocked by configuration register
settings. The second region allows the user to store the port and
PWM default settings using special commands. These defaults
are automatically reloaded and processed after device power on.
The number of IO lines and PWM sources are listed in table 1.
There are four pins on GPort 2 and three on GPort 1 that can be
used as general purpose IO or EEPROM Write Disable (WD) and
I2C-address input (A1-A6), depending on configuration settings.
The figure titled “Logical Structure of the IO Port” shows the
single port logical structure. The Port Drive Mode register gives
the option to select one of seven available modes for each pin
separately: pulled up/down, open drain high/low, strong drive
fast/slow, or high-impedance. By default these configuration
registers store values setting IO pins to pulled up. The Invert
register allows for inversion of the logic of the Input registers
separately for each pin. The Select PWM register assigns pins
as PWM outputs. All of these configuration registers are
read/writable using corresponding commands in the multi-port
device.
Figure 1. Logical Structure of the IO Port
The Port Input and Output registers are separated. When the
Output register is written, the data is sent to the external pins.
When the Input register is read, the external pin logic levels are
captured and transferred. As a result, the read data can be
different from written Output register data. This allows for imple-
mentation of a quasi-bidirectional input-output mode, when the
corresponding binary digit is configured as pulled up/down
output.
Each port has an Interrupt Mask register and an Interrupt Status
register. Each high bit in the Interrupt Status register signals that
there has been a change in the corresponding input line since
the last read of that Interrupt Status register. The Interrupt Status
register is cleared after each read. The Interrupt Mask register
enables/disables activation of the INT line when input levels are
changed. Each high in the Interrupt Mask register masks
(disables) an interrupt generated from the corresponding input
line.
Applications
Each GPIO pin can be used to monitor and control various board
level devices, including LEDs and system intrusion detection
devices.
The on board EEPROM can be used to store information such
as error codes or board manufacturing data for read-back by
application software for diagnostic purposes.
Table 1. GPIO Availability
Port
CY8C9520A
CY8C9540A
CY8C9560A
GPort 0
8 bit
8 bit
8 bit
GPort 1
5-8 bita
a. This port contains configuration-dependant GPIO lines or A1-A6 and WD
lines.
5-8bita
5-8 bita
GPort 2
0-4 bita
0-4ita
0-4 bita
GPort 3
-
8 bit
8 bit
GPort 4
-
8 bit
8 bit
GPort 5
-
4 bit
8 bit
GPort 6
-
-
8 bit
GPort 7
-
-
8 bit
PWMs
4
8
16
GPortx
7 Drive Mode
Registers
DriveMode
Pull-Up
DriveMode
High Z
Interrupt
Status
Interrupt
Mask
Pin Direction
Inversion
Input Register
Select PWM
Output
Register
8 Bit IO
Data
PWMs
[+] Feedback