- •Contents
- •Introduction
- •1.1 Scope
- •Figure 1-1: Main system blocks
- •1.2 Summary
- •See Chapter 2, Memory Map.
- •Level sensitive interrupts.
- •Programmed interrupt source available
- •See Chapter 3, Interrupt Controller.
- •Free-running or periodic timer modes.
- •See Chapter 4, Timer.
- •See Chapter 5, Communications Channel.
- •"Wait for Interrupt" Pause mode.
- •See Chapter 6, Remap and Pause.
- •Memory Map
- •2.1 Introduction
- •2.2 Memory Map Base Addresses
- •Interrupt Controller
- •3.1 Introduction
- •Figure 3-1: FIQ and IRQ interrupts
- •3.2 Interrupt Control
- •Figure 3-2: Interrupt Controller Bit Slice
- •3.3 Interrupt Controller Register Descriptions
- •3.5 Interrupt Controller Memory Map
- •Timer
- •4.1 Introduction
- •4.2 Timer Operation
- •Figure 4-1: Timer Block Diagram
- •Figure 4-2: Timer Pre-scale Unit
- •4.3 Timer Register Descriptions
- •4.3.1 Load Register
- •4.3.2 Value
- •4.3.3 Clear
- •4.3.4 Control Register
- •Figure 4-3: Timer Register Bit Positions
- •1—Timer Enabled
- •1—Periodic Timer Model
- •Clock
- •Divided by
- •Stages of
- •Pre-scale
- •Undefined
- •Table 4-1: Bits 3 – 2: Prescale bits
- •4.4 Timer Memory Map
- •Address
- •Read Location
- •Write Location
- •TimerBase
- •Timer1Load
- •Timer1Load
- •TimerBase + 0x04
- •Timer1Value
- •Reserved
- •TimerBase + 0x08
- •Timer1Control
- •Timer1Control
- •TimerBase + 0x0C
- •Reserved
- •Timer1Clear
- •TimerBase + 0x10
- •Reserved
- •Reserved
- •TimerBase + 0x20
- •Timer2Load
- •Timer2Load
- •TimerBase + 0x24
- •Timer2Value
- •Reserved
- •TimerBase + 0x28
- •Timer2Control
- •Timer2Control
- •TimerBase + 0x2C
- •Reserved
- •Timer2Clear
- •TimerBase + 0x30
- •Reserved
- •Reserved
- •Table 4-2: Timer Address Map
- •Communications Channel
- •5.1 Introduction
- •Remap and Pause
- •6.1 Introduction
- •6.2 Pause
- •6.4 Reset Status
- •6.5 Clear Reset Memory Map
- •6.6 Remap and Pause Memory Map
- •Address
- •Read Location
- •Write Location
- •RemapBase
- •Reserved
- •Pause
- •RemapBase + 0x10
- •Identification
- •Reserved
- •RemapBase + 0x20
- •Reserved
- •ClearResetMap
- •RemapBase + 0x30
- •ResetStatus
- •ResetStatusSet
- •RemapBase + 0x34
- •Reserved
- •ResetStatusClear
- •Table 6-1: Remap and Pause Memory Map
Timer
4.2Timer Operation
The timer is loaded by writing to the Load register and then, if enabled, the timer will count down to zero. On reaching a count of zero an interrupt will be generated. The interrupt may be cleared by writing to the Clear register.
After reaching a zero count, if the timer is operating in free-running mode then the timer will continue to decrement from its maximum value. If periodic timer mode is selected then the timer will reload from the Load register and continue to decrement. In this mode the timer will effectively generate a periodic interrupt. The mode is selected by a bit in the Control register.
At any point the current timer value may be read from the Value register.
The timer is enabled by a bit in the control register. At reset the timer will be disabled, the interrupt will be cleared and the Load register will be undefined. The mode and pre-scale value will also be undefined.
|
Load |
Control |
|
|
Load Register |
Control Register |
|
Timer |
16 bit Down Counter |
Terminal Count |
|
Clock |
|||
Interrupt |
|||
|
|
||
|
Value |
|
Figure 4-1: Timer Block Diagram
The timer clock is generated by a pre-scale unit. The timer clock may be the system clock, the system clock divided by 16, which is generated by 4 bits of pre-scale, or the system clock divided by 256, which is generated by a total of 8 bits of pre-scale.
|
|
Reference Peripherals Specification |
4-3 |
|
|
ARM DDI 0062D |
|
|
|
|
|
Open Access
Timer
|
|
|
|
|
Pre-scale Unit |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Divide |
|
|
|
|
|
Divide |
|
|
System |
|
|
|
|
|
|
|
|
|
|
|
||
Clock |
|
|
|
|
by 16 |
|
|
|
|
|
by 16 |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Timer
Clock
Pre-scale
Select
Figure 4-2: Timer Pre-scale Unit
4-4 |
Reference Peripherals Specification |
|
|
|
ARM DDI 0062D |
|
|
|
|
|
|
Open Access