CY7C63310, CY7C638xx

17. Interrupt Controller

The interrupt controller and its associated registers allow the user’s code to respond to an interrupt from almost every functional block in the enCoRe II devices. The registers associated with the interrupt controller allow disabling interrupts globally or individually. The registers also provide a mechanism by which a user may clear all pending and posted interrupts, or clear individual posted or pending interrupts.

The following table lists all interrupts and the priorities that are available in the enCoRe II devices.

Table 17-1. Interrupt Numbers, Priorities, Vectors

Interrupt

Interrupt

Name

Priority

Address

 

0

0000h

Reset

 

 

 

1

0004h

POR/LVD

 

 

 

2

0008h

INT0

 

 

 

3

000Ch

SPI Transmitter Empty

 

 

 

4

0010h

SPI Receiver Full

 

 

 

5

0014h

GPIO Port 0

 

 

 

6

0018h

GPIO Port 1

 

 

 

7

001Ch

INT1

 

 

 

8

0020h

EP0

 

 

 

9

0024h

EP1

 

 

 

10

0028h

EP2

 

 

 

11

002Ch

USB Reset

 

 

 

12

0030h

USB Active

 

 

 

13

0034h

1 mS Interval timer

 

 

 

14

0038h

Programmable Interval Timer

 

 

 

15

003Ch

Timer Capture 0

 

 

 

16

0040h

Timer Capture 1

 

 

 

17

0044h

16-bit Free Running Timer Wrap

 

 

 

18

0048h

INT2

 

 

 

19

004Ch

PS2 Data Low

 

 

 

20

0050h

GPIO Port 2

 

 

 

21

0054h

GPIO Port 3

 

 

 

22

0058h

Reserved

 

 

 

23

005Ch

Reserved

 

 

 

24

0060h

Reserved

 

 

 

25

0064h

Sleep Timer

 

 

 

17.1 Architectural Description

An interrupt is posted when its interrupt conditions occur. This results in the flip-flop in Figure 17-1.on page 51 clocking in a ‘1’. The interrupt remains posted until the interrupt is taken or until it is cleared by writing to the appropriate INT_CLRx register.

A posted interrupt is not pending unless it is enabled by setting its interrupt mask bit (in the appropriate INT_MSKx register). All pending interrupts are processed by the Priority Encoder to determine the highest priority interrupt which is taken by the M8C if the Global Interrupt Enable bit is set in the CPU_F register.

Disabling an interrupt by clearing its interrupt mask bit (in the INT_MSKx register) does not clear a posted interrupt, nor does it prevent an interrupt from being posted. It prevents a posted interrupt from becoming pending.

Nested interrupts are accomplished by re-enabling interrupts inside an interrupt service routine. To do this, set the IE bit in the Flag Register.

A block diagram of the enCoRe II Interrupt Controller is shown in Figure 17-1.on page 51.

Document 38-08035 Rev. *K

Page 50 of 83

[+] Feedback

Page 50
Image 50
Cypress CY7C63310, CY7C638xx manual Interrupt Controller, Architectural Description

CY7C638xx, CY7C63310 specifications

The Cypress CY7C63310 and CY7C638xx series are advanced USB microcontrollers designed for various applications requiring reliable performance and flexibility. These chips are notable for their integration of several key technologies, enabling developers to create innovative electronic designs effortlessly.

The CY7C63310 is a part of the Cypress USB microcontroller family that boasts a fully integrated 8051-compatible microprocessor core. This architecture allows for efficient execution of high-level programming languages like C, enhancing code development efforts. The microcontroller supports USB 2.0 full-speed operation, allowing for high data transfer rates of up to 12 Mbps, essential for applications involving data communication.

One of the standout features of the CY7C63310 is its programmable GPIO (General-Purpose Input/Output) pins, which provide developers with the versatility to configure these pins as inputs, outputs, or alternate functions. This flexibility is particularly advantageous in applications where custom interfaces are essential, such as human-machine interfaces, sensor control, and USB peripherals.

Moreover, the CY7C638xx series presents an even broader array of features. These devices typically support various memory configurations, enabling designers to select from different on-chip RAM and flash memory options. This variety empowers projects requiring a mix of program and data storage capabilities, all while ensuring that performance remains optimal.

Both the CY7C63310 and CY7C638xx series leverage Cypress's EZ-USB technology, which simplifies the process of USB interface implementation. The EZ-USB architecture minimizes the effort associated with USB protocol complexity, allowing developers to focus on the core functionality of their applications.

These microcontrollers also incorporate features such as low-power operation, making them ideal for battery-operated devices. With various power management modes, designers can optimize energy consumption according to the specific needs of their applications.

In terms of connectivity, these chips support multiple interface standards, including SPI, I2C, and UART. These capabilities ensure that developers can easily interface with other components and systems, enhancing the overall utility of the microcontroller.

In summary, the Cypress CY7C63310 and CY7C638xx microcontrollers stand out for their robust features, including integrated USB functionality, flexible GPIO options, and support for various communication protocols. These attributes make them suitable for a wide range of applications, from consumer electronics to industrial automation, making them an excellent choice for developers seeking reliable and adaptable microcontroller solutions.