Chapter 14 interrupt controller module, 1 68k/coldfire interrupt architecture overview, Chapter 14 – Freescale Semiconductor ColdFire MCF52210 User Manual

Page 211: Interrupt controller module, 1 68k/coldfire interrupt architecture overview -1, The interrupt controller using an iack cycle. see, Chapter 14, “interrupt controller module

Advertising
background image

MCF52211 ColdFire® Integrated Microcontroller Reference Manual, Rev. 2

Freescale Semiconductor

14-1

Chapter 14
Interrupt Controller Module

This section details the functionality for the MCF52211 interrupt controller. The general features of the
interrupt controller include:

57 interrupt sources

— 50 fully-programmable interrupt sources

— 7 fixed-level interrupt sources

Each of the 57 sources has a unique interrupt control register (ICRnx) to define the
software-assigned levels and priorities within the level

Unique vector number for each interrupt source

Ability to mask any individual interrupt source, plus global mask-all capability

Supports hardware and software interrupt acknowledge cycles

Wake-up signal from low-power stop modes

The 50 fully-programmable and seven fixed-level interrupt sources for the interrupt controller on the
MCF52211 manage the complete set of interrupt sources from all of the modules on the device. This
section describes how the interrupt sources are mapped to the interrupt controller logic and how interrupts
are serviced.

14.1

68K/ColdFire Interrupt Architecture Overview

Before continuing with the specifics of the MCF52211 interrupt controller, a brief review of the interrupt
architecture of the 68K/ColdFire family is appropriate.

The interrupt architecture of ColdFire is exactly the same as the M68000 family, where there is a 3-bit
encoded interrupt priority level sent from the interrupt controller to the core, providing 7 levels of interrupt
requests. Level 7 represents the highest priority interrupt level, while level 1 is the lowest priority. The
processor samples for active interrupt requests once per instruction by comparing the encoded priority
level against a 3-bit interrupt mask value (I) contained in bits 10:8 of the machine’s status register (SR). If
the priority level is greater than the SR[I] field at the sample point, the processor suspends normal
instruction execution and initiates interrupt exception processing. Level 7 interrupts are treated as
non-maskable and edge-sensitive within the processor, while levels 1–6 are treated as level-sensitive and
may be masked depending on the value of the SR[I] field. For correct operation, ColdFire requires that the
interrupt source, after asserted, remains asserted until explicitly disabled by the interrupt service routine.

During the interrupt exception processing, the CPU enters supervisor mode, disables trace mode, and then
fetches an 8-bit vector from the interrupt controller. This byte-sized operand fetch is known as the interrupt
acknowledge (IACK) cycle, with the ColdFire implementation using a special encoding of the transfer
type and transfer modifier attributes to distinguish this data fetch from a normal memory access. The

Advertising
This manual is related to the following products: