AT91RM9200-QI-002 Atmel, AT91RM9200-QI-002 Datasheet - Page 247

IC ARM9 MCU 208 PQFP

AT91RM9200-QI-002

Manufacturer Part Number
AT91RM9200-QI-002
Description
IC ARM9 MCU 208 PQFP
Manufacturer
Atmel
Series
AT91SAMr

Specifications of AT91RM9200-QI-002

Core Processor
ARM9
Core Size
16/32-Bit
Speed
180MHz
Connectivity
EBI/EMI, Ethernet, I²C, MMC, SPI, SSC, UART/USART, USB
Peripherals
POR
Number Of I /o
122
Program Memory Size
128KB (128K x 8)
Program Memory Type
ROM
Ram Size
48K x 8
Voltage - Supply (vcc/vdd)
1.65 V ~ 1.95 V
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
208-MQFP, 208-PQFP
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Eeprom Size
-
Data Converters
-

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AT91RM9200-QI-002
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
AT91RM9200-QI-002 SL383
Manufacturer:
Atmel
Quantity:
10 000
1768I–ATARM–09-Jul-09
It is assumed that:
When nIRQ is asserted, if the bit “I” of CPSR is 0, the sequence is as follows:
Note:
1. The Advanced Interrupt Controller has been programmed, AIC_SVR registers are
2. The instruction at the ARM interrupt exception vector address is required to work with
1. The CPSR is stored in SPSR_irq, the current value of the Program Counter is loaded in
2. The ARM core enters Interrupt mode, if it has not already done so.
3. When the instruction loaded at address 0x18 is executed, the program counter is
4. The previous step has the effect of branching to the corresponding interrupt service
5. Further interrupts can then be unmasked by clearing the “I” bit in CPSR, allowing re-
6. The interrupt handler can then proceed as required, saving the registers that will be
7. The “I” bit in CPSR must be set in order to mask interrupts before exiting to ensure that
8. The End of Interrupt Command Register (AIC_EOICR) must be written in order to indi-
LDR PC, [PC, # -&F20]
loaded with corresponding interrupt service routine addresses and interrupts are
enabled.
the vectoring
the Interrupt link register (R14_irq) and the Program Counter (R15) is loaded with 0x18.
In the following cycle during fetch at address 0x1C, the ARM core adjusts R14_irq, dec-
rementing it by four.
loaded with the value read in AIC_IVR. Reading the AIC_IVR has the following effects:
a. Sets the current interrupt to be the pending and enabled interrupt with the highest
b. De-asserts the nIRQ line on the processor. Even if vectoring is not used, AIC_IVR
c. Automatically clears the interrupt, if it has been programmed to be edge-triggered.
d. Pushes the current level and the current interrupt number on to the stack.
e. Returns the value written in the AIC_SVR corresponding to the current interrupt.
routine. This should start by saving the link register (R14_irq) and SPSR_IRQ. The link
register must be decremented by four when it is saved if it is to be restored directly into
the program counter at the end of the interrupt. For example, the instruction SUB PC,
LR, #4 may be used.
assertion of the nIRQ to be taken into account by the core. This can happen if an inter-
rupt with a higher priority than the current interrupt occurs.
used and restoring them at the end. During this phase, an interrupt of higher priority
than the current level will restart the sequence from step 1.
the interrupt is completed in an orderly manner.
cate to the AIC that the current interrupt is finished. This causes the current level to be
popped from the stack, restoring the previous current level if one exists on the stack. If
another interrupt is pending, with lower or equal priority than the old current level but
with higher priority than the new current level, the nIRQ line is re-asserted, but the inter-
rupt sequence does not immediately start because the “I” bit is set in the core.
SPSR_irq is restored. Finally, the saved value of the link register is restored directly into
the PC. This has effect of returning from the interrupt to whatever was being executed
before, and of loading the CPSR with the stored SPSR, masking or unmasking the
interrupts depending on the state saved in SPSR_irq.
If the interrupt is programmed to be level sensitive, the source of the interrupt must be cleared dur-
ing this phase.
priority. The current level is the priority level of the current interrupt.
must be read in order to de-assert nIRQ.
AT91RM9200
247

Related parts for AT91RM9200-QI-002