– DSP Instruction Extensions, ARM Jazelle
– 16 Kbyte Data Cache, 16 Kbyte Instruction Cache, Write Buffer
– 220 MIPS at 200 MHz
– Memory Management Unit
– EmbeddedICE
™
In-circuit Emulation, Debug Communication Channel Support
• Additional Embedded Memories
– One 32 Kbyte Internal ROM, Single-cycle Access at Maximum Matrix Speed
– One 32 Kbyte Internal SRAM, Single-cycle Access at Maximum Matrix Speed
• External Bus Interface (EBI)
– EBI Supports Mobile DDR, SDRAM, Low Power SDRAM, Static Memory,
Synchronous CellularRAM, ECC-enabled NAND Flash and CompactFlash
• Metal Programmable (MP) Block
– 500,000 Gates/250,000 Gates Metal Programmable Logic (through 5 Metal Layers)
for AT91CAP9S500A/AT91CAP9S250A Respectively
– Ten 512 x 36-bit Dual Port RAMs
– Eight 512 x 72-bit Single Port RAMs
– High Connectivity for Up to Three AHB Masters and Four AHB Slaves
– Up to Seven AIC Interrupt Inputs
– Up to Four DMA Hardware Handshake Interfaces
– Delay Lines for Double Data Rate Interface
– UTMI+ Full Connection
– Up to 77 Dedicated I/Os
• LCD Controller
– Supports Passive or Active Displays
– Up to 24 Bits per Pixel in TFT Mode, Up to 16 Bits per Pixel in STN Color Mode
– Up to 16M Colors in TFT Mode, Resolution Up to 2048x2048, Supports Wider
Screen Buffers
• Image Sensor Interface
– ITU-R BT. 601/656 External Interface, Programmable Frame Capture Rate
– 12-bit Data Interface for Support of High Sensibility Sensors
– SAV and EAV Synchronization, Preview Path with Scaler, YCbCr Format
• USB 2.0 Full Speed (12 Mbits per second) OHCI Host Double Port
– Media Independent Interface (MII) or Reduced Media Independent Interface (RMII)
– 28-byte FIFOs and Dedicated DMA Channels for Receive and Transmit
• Multi-Layer Bus Matrix
– Twelve 32-bit-layer Matrix, Allowing a Maximum of 38.4 Gbps of On-chip Bus
Bandwidth at Maximum 100 MHz System Clock Speed
– Boot Mode Select Option, Remap Command
• Fully-featured System Controller, Including
– Reset Controller, Shutdown Controller
™
ARM® Thumb® Processor
®
Technology for Java® Acceleration
Customizable
Microcontroller
™
Processor
AT91CAP9S500A
AT91CAP9S250A
Preliminary
6264A–CAP–21-May-07
– Four 32-bit Battery Backup Registers for a Total of 16 Bytes
– Clock Generator and Power Management Controller
– Advanced Interrupt Controller and Debug Unit
– Periodic Interval Timer, Watchdog Timer and Real-Time Timer
• Reset Controller (RSTC)
– Based on Two Power-on Reset Cells, Reset Source Identification and Reset Output Control
• Shutdown Controller (SHDC)
– Programmable Shutdown Pin Control and Wake-up Circuitry
• Clock Generator (CKGR)
– 32,768 Hz Low-power Oscillator on Battery Backup Power Supply, Providing a Permanent
Slow Clock
– 8 to 16 MHz On-chip Oscillator
– Two PLLs up to 240 MHz
– One USB 480 MHz PLL
• Power Management Controller (PMC)
– Very Slow Clock Operating Mode, Software Programmable Power Optimization Capabilities
– Four Programmable External Clock Signals
• Advanced Interrupt Controller (AIC)
– Individually Maskable, Eight-level Priority, Vectored Interrupt Sources
– Two External Interrupt Sources and One Fast Interrupt Source, Spurious Interrupt Protected
• Debug Unit (DBGU)
– 2-wire UART and Support for Debug Communication Channel, Programmable ICE Access
Prevention
• Periodic Interval Timer (PIT)
– 20-bit Interval Timer plus 12-bit Interval Counter
• Watchdog Timer (WDT)
– Key-protected, Programmable Only Once, Windowed 16-bit Counter Running at Slow Clock
• Real-Time Timer (RTT)
– 32-bit Free-running Backup Counter Running at Slow Clock with 16-bit Prescaler
• Four 32-bit Parallel Input/Output Controllers (PIOA, PIOB, PIOC and PIOE)
– 128 Programmable I/O Lines Multiplexed with up to Two Peripheral I/Os
– Input Change Interrupt Capability on Each I/O Line
– Individually Programmable Open-drain, Pull-up Resistor and Synchronous Output
• DMA Controller (DMAC)
– Acts as one Bus Matrix Master
– Embeds 4 Unidirectional Channels with Programmable Priority, Address Generation, Channel
Buffering and Control
– Supports Four External DMA Requests and Four Internal DMA Requests from the Metal
– 16 Fully-programmable Message Object Mailboxes, 16-bit Time Stamp Counter
• Two Multimedia Card Interfaces (MCI)
™
– SDCard/SDIO and MultiMedia
– Automatic Protocol Control and Fast Automatic Data Transfers with PDC
Card 3.31 Compliant
• Two Synchronous Serial Controllers (SSC)
– Independent Clock and Frame Sync Signals for Each Receiver and Transmitter
– I²S Analog Interface Support, Time Division Multiplex Support
– High-speed Continuous Data Stream Capabilities with 32-bit Data Transfer
2
AT91CAP9S500A/AT91CAP9S250A
6264A–CAP–21-May-07
AT91CAP9S500A/AT91CAP9S250A
• One AC97 Controller (AC97C)
– 6-channel Single AC97 Analog Front End Interface, Slot Assigner
• Three Universal Synchronous/Asynchronous Receiver Transmitters (USART)
– Individual Baud Rate Generator, IrDA
Encoding/Decoding
– Support for ISO7816 T0/T1 Smart Card, Hardware Handshaking, RS485 Support
• Two Master/Slave Serial Peripheral Interface (SPI)
– 8- to 16-bit Programmable Data Length, Four External Peripheral Chip Selects
– Synchronous Communications at Up to 90 Mbits/sec
• One Three-channel 16-bit Timer/Counters (TC)
– Three External Clock Inputs, Two Multi-purpose I/O Pins per Channel
– Double PWM Generation, Capture/Waveform Mode, Up/Down Capability
• One Four-channel 16-bit PWM Controller (PWMC)
• One Two-wire Interface (TWI)
– Master and Slave Mode Support, All Two-wire Atmel EEPROMs Supported
®
• IEEE
1149.1 JTAG Boundary Scan on All Digital Pins
• Required Power Supplies:
– 1.08V to 1.32V for VDDCORE and VDDBU
– 3.0V to 3.6V for VDDOSC, VDDPLL and VDDIOP0 (Peripheral I/Os)
– Programmable 1.65V to 1.95V or 3.0V to 3.6V for VDDIOP1 (Peripheral I/Os) and for VDDIOM
(Memory I/Os) and VDDIOMPP/VDDIOMP (MP Block I/Os)
• Available in 324- and 400-ball LFBGA RoHS-compliant Packages
®
Infrared Modulation/Demodulation, Manchester
1.Description
The AT91CAP9S500A/AT91CAP9S250A family is based on the integration of an ARM926EJ-S
processor with fast ROM and SRAM memories, and a wide range of peripherals. By providing up
to 500K gates of metal programmable logic, AT91CAP9S500A/AT91CAP9S250A is the ideal
platform for creating custom designs.
The AT91CAP9S500A/AT91CAP9S250A embeds a USB High-speed Device, a 2-port USB
OHCI Host, an LCD Controller, a 4-channel DMA Controller, and one Image Sensor Interface. It
also integrates several standard peripherals, such as USART, SPI, TWI, Timer Counters, PWM
generators, Multimedia Card interface, and one CAN Controller.
The AT91CAP9S500A/AT91CAP9S250A is architectured on a 12-layer matrix, allowing a maximum internal bandwidth of twelve 32-bit buses. It also features one external memory bus (EBI)
capable of interfacing with a wide range of memory devices.
The initial release of the AT91CAP9S500A/AT91CAP9S250A is packaged in a 400-ball LFBGA
RoHS-compliant package. A future release will also be available in a 324-ball LFBGA RoHScompliant package.
Table 4-1.AT91CAP9S500A/AT91CAP9S250A Pinout for 400-ball BGA Package
PinSignal NamePinSignal NamePinSignal NamePinSignal Name
A1PC5F1PA3L1PA22T1PD22
A2PC3F2PA4L2PA25T2PD23
A3PC2F3PA8L3PA29T3PD30
A4PC1F4PA5L4PA31T4VDDCORE
A5PC0F5PA6L5PD6T5SDDRCS
A6BMSF6VDDIOML6GNDIOT6DQS0
A7NRSTF7VDDIOP0L7GNDCORET7D4
A8GNDCOREF8PC24L8PA18T8D11
A9PB18F9NCL9GNDTHERMALT9D14
A10PB17F10VDDCOREL10GNDTHERMALT10SDA10
A11PB14F11GNDIOL11GNDTHERMALT11VDDCORE
A12PB15F12PB23L12GNDTHERMALT12MPIOA0
A13GNDANAF13PB6L13GNDCORET13MPIOA9
A14PB26F14NCL14GNDIOT14GNDIO
A15VDDIOP0F15NCL15VDDCORET15MPIOA25
A16GNDIOF16NCL16MPIOB28T16MPIOA24
A17FSDPF17GNDPLLL17MPIOB32T17MPIOA29
A18FSDMF18WKUP0L18MPIOB34T18MPIOB3
A19HSDPF19SHDWL19MPIOB31T19MPIOB17
A20HSDMF20PLLRCAL20MPIOB29T20MPIOB18
B1PC17G1PA7M1PA26U1PD25
B2PC16G2PA10M2PA30U2PD31
B3PC14G3PA11M3PD11U3BCCLK
B4PC11G4PA9M4PD12U4A0
B5PC10G5PA12M5PD13U5D0
B6PC9G6PD10M6PD15U6D1
B7TDOG7GNDIOM7GNDCOREU7NWR1
B8TCKG8GNDCOREM8PA28U8DQS1
B9PB20G9VDDIOP0M9GNDTHERMALU9A7
B10PB19G10PC8M10GNDTHERMALU10A13
B11PB13G11PB25M11GNDTHERMALU11A20
B12ADVREFG12PB21M12GNDTHERMALU12GNDIO
B13PB16G13PB8M13NRDU13MPIOA4
B14PB27G14PB0M14MPIOB26U14MPIOA11
B15PB24G15PB2M15GNDIOU15MPIOA16
B16HDMAG16NCM16MPIOB16U16VDDMPIOA
B17VDDIOP0G17VDDPLLM17GNDCOREU17MPIOA23
6264A–CAP–21-May-07
11
Table 4-1.AT91CAP9S500A/AT91CAP9S250A Pinout for 400-ball BGA Package (Continued)
PinSignal NamePinSignal NamePinSignal NamePinSignal Name
B18GNDIOG18GNDCOREM18MPIOB27U18MPIOA28
B19VDDUTMIIG19TSTM19MPIOB25U19MPIOB6
B20GNDUTMIIG20PLLRCBM20MPIOB24U20MPIOB9
C1PC23H1PA13N1PD7V1PD26
C2PC22H2PA14N2PD8V2RAS
C3PC21H3PD0N3PD16V3SDCKE
C4PC20H4PA15N4PD19V4D3
C5PC18H5PD1N5PD20V5VDDIOM
C6PC15H6VDDIOP1N6PD29V6D5
C7PC12H7VDDCOREN7GNDIOV7D9
C8PC6H8GNDION8VDDIOMV8D15
C9NTRSTH9GNDION9NCS1V9A11
C10TDIH10PB10N10VDDCOREV10GNDCORE
C11VDDANAH11PB4N11A3V11A22
C12PB12H12VDDMPIOBN12A6V12MPIOA1
C13PB29H13JTAGSELN13VDDCOREV13MPIOA6
C14PB9H14GNDCOREN14MPIOB11V14MPIOA10
C15PB7H15GNDPLLN15MPIOB13V15MPIOA13
C16HDPAH16NCN16MPIOB12V16MPIOA17
C17HDPBH17VDDCOREN17MPIOB14V17MPIOA20
C18VDDUPLLH18MPIOB44N18MPIOB15V18MPIOA27
C19VDDUTMICH19XOUT32N19MPIOB22V19MPIOB5
C20VBGH20XIN32N20MPIOB23V20VDDMPIOB
D1PC29J1PD3P1PD9W1SDWE
D2PC28J2PD2P2PD14W2OWAIT
D3PC27J3PD5P3PD18W3NANDWE
D4PC26J4PA17P4PD27W4GNDIO
D5PC25J5PA19P5PD28W5D6
D6PC19J6VDDIOP0P6VDDIOMW6A2
D7NANDOEJ7PA16P7NWR3W7A5
D8PC7J8GNDCOREP8D8W8A14
D9GNDIOJ9GNDTHERMALP9D10W9A17
D10TMSJ10GNDTHERMALP10GNDIOW10A19
D11NCJ11GNDTHERMALP11A9W11NWR0
D12PB31J12GNDTHERMALP12A12W12MPIOA2
D13PB22J13GNDIOP13NCW13MPIOA5
D14VDDCOREJ14GNDBUP14MPIOB8W14MPIOA8
D15PB3J15GNDBUP15MPIOB0W15MPIOA12
12
AT91CAP9S500A/AT91CAP9S250A
6264A–CAP–21-May-07
AT91CAP9S500A/AT91CAP9S250A
Table 4-1.AT91CAP9S500A/AT91CAP9S250A Pinout for 400-ball BGA Package (Continued)
PinSignal NamePinSignal NamePinSignal NamePinSignal Name
D16PB1J16MPIOB42P16MPIOB1W16MPIOA15
D17HDMBJ17MPIOB39P17MPIOB7W17MPIOA21
D18PLLRCUJ18MPIOB43P18MPIOB10W18MPIOA22
D19GNDUTMICJ19MPIOB41P19MPIOB21W19GNDIO
D20GNDUPLLJ20GNDIOP20VDDMPIOBW20VDDCORE
E1PC30K1PD4R1PD21Y1SDCK
E2PA2K2PA21R2PD17Y2SDCKN
E3PA1K3PA24R3PD24Y3A1
E4PA0K4PA27R4CASY4GNDCORE
E5PC31K5PA23R5VDDCOREY5A4
E6GNDIOK6GNDIOR6D2Y6A8
E7VDDCOREK7PA20R7D7Y7A10
E8PC13K8VDDCORER8VDDIOMY8A15
E9PC4K9GNDTHERMALR9D13Y9A18
E10RTCKK10GNDTHERMALR10D12Y10A21
E11VDDIOP0K11GNDTHERMALR11VDDIOMY11NCS0
E12PB30K12GNDTHERMALR12A16Y12MPIOA3
E13PB28K13GNDCORER13VDDIOMY13MPIOA7
E14PB11K14MPIOB33R14NCY14VDDMPIOA
E15PB5K15MPIOB30R15NCY15MPIOA14
E16NCK16MPIOB35R16NCY16MPIOA18
E17VDDPLLK17MPIOB38R17MPIOB2Y17MPIOA19
E18VDDBUK18MPIOB40R18MPIOB4Y18MPIOA26
E19XINK19MPIOB37R19MPIOB19Y19MPIOA30
E20XOUTK20MPIOB36R20MPIOB20Y20MPIOA31
5.Power Considerations
5.1Power Supplies
The AT91CAP9S500A/AT91CAP9S250A has several types of power supply pins:
• VDDCORE pins: Power the core, including the processor, the embedded memories and the
peripherals; voltage range between1.08V and 1.32V, 1.2V nominal.
• VDDIOM pins: Power the External Bus Interface; voltage ranges between 1.65V and 1.95V
(1.8V nominal) or between 3.0V and 3.6V (3.3V nominal).
• VDDIOP0 pins: Power the Peripherals I/O lines and the USB transceivers; voltage range
between 3.0V and 3.6V, 3.3V nominal.
• VDDIOP1 pins: Power the Peripherals I/O lines involving the Image Sensor Interface; voltage
ranges from 1.65V to 3.6V, 1.8V, 2.5V, 3V or 3.3V nominal.
6264A–CAP–21-May-07
13
• VDDIOMPA pins: Power the MP Block I/O A lines; voltage ranges from 1.65V to 3.6V, 1.8V,
2.5V, 3V or 3.3V nominal.
• VDDIOMPB pins: Power the dedicated MP Block I/O B lines; voltage ranges from 1.65V to
3.6V, 1.8V, 2.5V, 3V or 3.3V nominal.
• VDDBU pin: Powers the Slow Clock oscillator and a part of the System Controller; voltage
range between1.08V and 1.32V, 1.2V nominal.
• VDDPLL pin: Powers the PLL cells; voltage ranges between 3.0V to 3.6V, 3.3V nominal.
• VDDUTMII pin: Powers the UTMI+ interface; voltage ranges from 3.0V to 3.6V, 3.3V nominal.
• VDDUTMIC pin: Powers the UTMI+ core; voltage ranges between 1.08V and 1.32V, 1.2V
nominal.
• VDDUPLL pin: Powers the USB PLL cell; voltage ranges between 1.08V and 1.32V, 1.2V
nominal.
• VDDANA pin: Powers the ADC cell; voltage ranges between 3.0V and 3.6V, 3.3V nominal.
The power supplies VDDIOM, VDDIOP0 and VDDIOP1 are identified in the pinout table and the
multiplexing tables. These supplies enable the user to power the device differently for interfacing
with memories and for interfacing with peripherals.
Ground pins GNDIO are common to VDDIOM, VDDIOP0, VDDIOP1, VDDIOMPA and VDDIOMPB pin power supplies. Separated ground pins are provided for VDDCORE, VDDBU,
VDDPLL, VDDUTMII, VDDUTMIC, VDDUPLL and VDDANA. These ground pins are, respectively, GNDBU, GNDOSC, GNDPLL, GNDUTMII, GNDUTMIC, GNDUPLL and GNDANA.
Special GNDTHERMAL ground balls are thermally coupled with package substrate.
5.2Power Consumption
The AT91CAP9S500A/AT91CAP9S250A consumes about 700 µA (TBC) of static current on
VDDCORE at 25°C. This static current may go up to 7 mA (TBC) if the temperature increases to
85°C.
On VDDBU, the current does not exceed 3 µA(TBC) @25°C, but can rise at up to 20 µA(TBC)
@85°C.
For dynamic power consumption, the AT91CAP9S500A/AT91CAP9S250A consumes a maximum of 90 mA (TBC) on VDDCORE at typical conditions (1.2V, 25°C, processor running fullperformance algorithm).
5.3Programmable I/O Lines Power Supplies
The power supply pins VDDIOM, VDDMPIOA and VDDMPIOB accept two voltage ranges. This
allows the device to reach its maximum speed either out of 1.8V or 3.3V external memories.
The target maximum speed is 100 MHz on the pin DDR/SDR and MPIOA or MPIOB pins loaded
with 30 pF for power supply at 1.8V and 50 pF for power supply at 3.3V. The other signals (control, address and data signals) do not go over 50 MHz.
The voltage ranges are determined by programming registers in the Chip Configuration registers
located in the Matrix User Interface.
14
At reset, the selected voltage defaults to 3.3V nominal and power supply pins can accept either
1.8V or 3.3V. Obviously, the device cannot reach its maximum speed if the voltage supplied to
the pins is 1.8V only. The user must make sure to program the EBI voltage range before getting
the device out of its Slow Clock Mode.
AT91CAP9S500A/AT91CAP9S250A
6264A–CAP–21-May-07
6.I/O Line Considerations
6.1JTAG Port Pins
TMS, TDI and TCK are Schmitt trigger inputs and have no pull-up resistors.
TDO and RTCK are outputs, driven at up to VDDIOP0, and have no pull-up resistors.
The JTAGSEL pin is used to select the JTAG boundary scan when asserted at a high level. It
integrates a permanent pull-down resistor of about 15 kΩ to GNDBU so that it can be left uncon-
nected for normal operations.
The NTRST signal is described in Section 6.3 ”Reset Pins” on page 15.
All the JTAG signals are supplied with VDDIOP0.
6.2Test Pin
The TST pin is used for manufacturing test purposes when asserted high. It integrates a permanent pull-down resistor of about 15 kΩ to GNDBU so that it can be left unconnected for normal
operations. Driving this line at a high level leads to unpredictable results.
This pin is supplied with VDDBU.
AT91CAP9S500A/AT91CAP9S250A
6.3Reset Pins
NRST is an open-drain output integrating a non-programmable pull-up resistor. It can be driven
with voltage at up to VDDIOP0.
NTRST is an input which allows reset of the JTAG Test Access port. It has no action on the
processor.
As the product integrates power-on reset cells that manage the processor and the JTAG reset,
the NRST and NTRST pins can be left unconnected.
The NRST and NTRST pins both integrate a permanent pull-up resistor of 90 kΩ minimum to
VDDIOP0.
The NRST signal is inserted in the Boundary Scan.
6.4PIO Controllers
All the I/O lines which are managed by the PIO Controllers integrate a programmable pull-up
resistor of 90 kΩ minimum. Programming of this pull-up resistor is performed independently for
each I/O line through the PIO Controllers.
After reset, all the I/O lines default as inputs with pull-up resistors enabled, except those multiplexed with the External Bus Interface signals that must be enabled as Peripheral at reset. This
is indicated in the column “Reset State” of the PIO Controller multiplexing tables.
6.5Shutdown Logic Pins
The SHDN pin is an output only, which is driven by the Shutdown Controller only at low level. It
can be tied high with an external pull-up resistor at VDDBU only.
6264A–CAP–21-May-07
The pin WKUP is an input-only. It can accept voltages only between 0V and VDDBU.
15
7.Processor and Architecture
7.1ARM926EJ-S Processor
• RISC Processor based on ARM v5TEJ Architecture with Jazelle technology for Java
acceleration
• Two Instruction Sets
– ARM High-performance 32-bit Instruction Set
– Thumb High Code Density 16-bit Instruction Set
– Virtually-addressed 4-way Associative Cache
– Eight words per line
– Write-through and Write-back Operation
– Pseudo-random or Round-robin Replacement
• Write Buffer
– Main Write Buffer with 16-word Data Buffer and 4-address Buffer
– DCache Write-back Buffer with 8-word Entries and a Single Address Entry
– Software Control Drain
• Standard ARM v4 and v5 Memory Management Unit (MMU)
– Access Permission for Sections
– Access Permission for large pages and small pages can be specified separately for
each quarter of the page
– 16 embedded domains
• Bus Interface Unit (BIU)
– Arbitrates and Schedules AHB Requests
– Separate Masters for both instruction and data access providing complete Matrix
system flexibility
– Separate Address and Data Buses for both the 32-bit instruction interface and the
32-bit data interface
– On Address and Data Buses, data can be 8-bit (Bytes), 16-bit (Half-words) or 32-bit
(Words)
Decode (D)
7.2Bus Matrix
16
AT91CAP9S500A/AT91CAP9S250A
• 12-layer Matrix, handling requests from 12 masters
• Programmable Arbitration strategy
– Fixed-priority Arbitration
6264A–CAP–21-May-07
7.3Matrix Masters
AT91CAP9S500A/AT91CAP9S250A
– Round-Robin Arbitration, either with no default master, last accessed default master
or fixed default master
• Burst Management
– Breaking with Slot Cycle Limit Support
– Undefined Burst Length Support
• One Address Decoder provided per Master
– Three different slaves may be assigned to each decoded memory area: one for
internal boot, one for external boot, one after remap
• Boot Mode Select
– Non-volatile Boot Memory can be internal or external
– Selection is made by BMS pin sampled at reset
• Remap Command
– Allows Remapping of an Internal SRAM in Place of the Boot Non-Volatile Memory
– Allows Handling of Dynamic Exception Vectors
The Bus Matrix of the AT91CAP9S500A/AT91CAP9S250A manages twelve Masters and thus
each master can perform an access concurrently with the others, assuming that the slave it
accesses is available.
7.4Matrix Slaves
Each Master has its own decoder, which is defined specifically for each master. In order to simplify the addressing, all the masters have the same decoding.
Table 7-1.List of Bus Matrix Masters
Master 0ARM926™ Instruction
Master 1ARM926 Data
Master 2Peripheral DMA Controller
Master 3LCD Controller
Master 4USB High Speed Device Controller
Master 5Image Sensor Interface
Master 6DMA Controller
Master 7Ethernet MAC
Master 8OHCI USB Host Controller
Master 9MP Block Master 0
Master 10MP Block Master 1
Master 11MP Block Master 2
The Bus Matrix of the AT91CAP9S500A/AT91CAP9S250A manages ten Slaves. Each Slave
has its own arbiter, thus permitting a different arbitration per Slave to be programmed.
6264A–CAP–21-May-07
17
The LCD Controller, the DMA Controller, the USB Host and the USB OTG have a user interface
mapped as a Slave of the Matrix. They share the same layer, as programming them does not
require a high bandwidth.
All the Masters can normally access all the Slaves. However, some paths do not make sense,
such as allowing access from the Ethernet MAC to the Internal Peripherals. Thus, these paths
are forbidden or simply not wired, and shown “-” in Table 7-3,
“AT91CAP9S500A/AT91CAP9S250A Masters to Slaves Access,” on page 19.
18
AT91CAP9S500A/AT91CAP9S250A
6264A–CAP–21-May-07
AT91CAP9S500A/AT91CAP9S250A
Table 7-3.AT91CAP9S500A/AT91CAP9S250A Masters to Slaves Access
Master0 12345678910 11
Slave
ARM926 Instruction
LCDCtrl
ARM926 Data
Peripheral DMA Ctrl
Device Ctrl
USB High Speed
Image Sensor Interface
DMA Ctrl
Ethernet MAC
OHCI USB Host Ctrl
MP Block Master 0
MP Block Master 1
MP Block Master 2
Internal SRAM
0
32 Kbytes
MP Block
1
Slave 0
XXXX X XXXXXXX
XXXX X XXXXXXX
Internal ROMXXXXXXXXXXXX
LCD
Controller
XX-- - ----XXX
User Interface
2
USB High
Speed Device
XX - - - - X - - X X X
Interface
OHCI USB
Host Interface
MPBlock
3
Slave 1
External Bus
4
Interface
XX-- - ----XXX
XXXX X XXXXXXX
XXXX X XXXXXXX
-
-DDR Port 0X-----------
5DDR Port 1-X----------
6DDR Port 2X
DDR Port 3X
7
8
9
MPBlock
Slave 2
MPBlock
Slave 3
Internal
Peripherals
XXXX X XXXXXXX
XXXX X XXXXXXX
XX X - - - X - - X X X
(1)
(1)
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
(1)
X
Note:1. DDR Port 2 or Port 3 is selectable for each master through the Matrix Remap Control Register.
6264A–CAP–21-May-07
19
7.6Peripheral DMA Controller
• Acting as one Matrix Master
• Allows data transfers from/to peripheral to/from any memory space without any intervention
of the processor.
• Next Pointer Support, forbids strong real-time constraints on buffer management.
• Twenty-two Channels
– Two for each USART
– Two for the Debug Unit
– One for the TWI
– One for the ADC Controller
– Two for the AC97 Controller
– Two for each Serial Synchronous Controller
– Two for each Serial Peripheral Interface
– One for the each Multimedia Card Interface
The Peripheral DMA Controller handles transfer requests from the channel according to the following priorities (Low to High priorities):
• Embeds 4 unidirectional channels with programmable priority
• Address Generation
– Source / destination address programming
– Address increment, decrement or no change
– DMA chaining support for multiple non-contiguous data blocks through use of linked
lists
– Scatter support for placing fields into a system memory area from a contiguous
transfer. Writing a stream of data into non-contiguous fields in system memory
– Gather support for extracting fields from a system memory area into a contiguous
transfer
– User enabled auto-reloading of source, destination and control registers from initially
programmed values at the end of a block transfer
– Auto-loading of source, destination and control registers from system memory at end
of block transfer in block chaining mode
– Unaligned system address to data transfer width supported in hardware
• Channel Buffering
– 8-word FIFO
– Automatic packing/unpacking of data to fit FIFO width
• Channel Control
– Programmable multiple transaction size for each channel
– Support for cleanly disabling a channel without data loss
– Suspend DMA operation
– Programmable DMA lock transfer support
• Transfer Initiation
– Support four External DMA Requests and four Internal DMA request from the MP
Block
– Support for Software handshaking interface. Memory mapped registers can be used
to control the flow of a DMA transfer in place of a hardware handshaking interface
• Interrupt
– Programmable Interrupt generation on DMA Transfer completion Block Transfer
completion, Single/Multiple transaction completion or Error condition
7.8Debug and Test Features
• ARM926 Real-time In-circuit Emulator
– Two real-time Watchpoint Units
– Two Independent Registers: Debug Control Register and Debug Status Register
– Test Access Port Accessible through JTAG Protocol
– Debug Communications Channel
• Debug Unit
–Two-pin UART
– Debug Communication Channel Interrupt Handling
– Chip ID Register
• IEEE1149.1 JTAG Boundary-scan on All Digital Pins
A first level of address decoding is performed by the Bus Matrix, i.e., the implementation of the
Advanced High-performance Bus (AHB) for its Master and Slave interfaces with additional
features.
Decoding breaks up the 4G bytes of address space into 16 banks of 256M bytes. The banks 1 to
7 are directed to the EBI that associates these banks to the external chip selects EBI_NCS0 to
EBI_NCS5 and EBI_SDDRCS. The bank 0 is reserved for the addressing of the internal memories, and a second level of decoding provides 1M byte of internal memory area. The banks 8 to
11 are directed to MP Block (Slave 2) and may be used to address external memories. The bank
15 is split into three parts, one reserved for the peripherals that provides access to the Advanced
Peripheral Bus (APB), the two others are directed to MP Block (Slave 3) and may provide
access to the MP Block APB or to other AHB peripherals.
Other areas are unused and performing an access within them provides an abort to the master
requesting such an access.
Each Master has its own bus and its own decoder, thus allowing a different memory mapping
per Master. However, in order to simplify the mappings, all the masters have a similar address
decoding.
Regarding Master 0 and Master 1 (ARM926 Instruction and Data), three different Slaves are
assigned to the memory space decoded at address 0x0: one for internal boot, one for external
boot and one after remap. Refer to Table 8-1, “Internal Memory Mapping,” on page 23 for
details.
8.1Embedded Memories
• 32 Kbyte ROM
– Single Cycle Access at full matrix speed
• 32 Kbyte Fast SRAM
– Single Cycle Access at full matrix speed
• 20 Kbyte MP Block Fast Dual Port RAM (ten 512x36 DPR instances)
– Used as Dual Port RAM completely managed by MP Block
• 32 Kbyte MP Block Fast Single Port RAM (eight 512x72 SPR instances)
– Used as Single Port RAM completely managed by MP Block
8.1.1Internal Memory Mapping
Table 8-1 summarizes the Internal Memory Mapping, depending on the Remap status and the
BMS state at reset.
Table 8-1.Internal Memory Mapping
0x0000 0000ROMEBI_NCS0SRAM
0x0010 0000SRAM
0x0020 0000MP Block Slave 0 (hsel[0])
0x0030 0000MP Block Slave 0 (hsel[1])
0x0040 0000ROM
Address
REMAP = 0REMAP = 1
BMS = 0BMS = 1
6264A–CAP–21-May-07
23
Table 8-1.Internal Memory Mapping (Continued)
0x0050 0000LCD Controller User Interface
0x0060 0000USB High Speed Device Interface
0x0070 0000OHCI USB Host User Interface
0x0080 0000MP Block Slave 1 (hsel[0])
0x0090 0000MP Block Slave 1 (hsel[1])
0x00A0 0000MP Block Slave 1 (hsel[2])
0x00B0 0000MP Block Slave 1 (hsel[3])
8.1.1.1Internal 32 Kbyte Fast SRAM
The AT91CAP9S500A/AT91CAP9S250A integrates a 32 Kbyte SRAM, mapped at address
0x0010 0000,which is accessible from the AHB bus. This SRAM is single cycle accessible at full
matrix speed.
8.1.1.2Boot Memory
The AT91CAP9S500A/AT91CAP9S250A Matrix manages a boot memory which depends on
the level on the pin BMS at reset. The internal memory area mapped between address 0x0 and
0x000F FFFF is reserved at this effect.
If BMS is detected at 1, the boot memory is the memory connected on the Chip Select 0 of the
External Bus Interface. The default configuration for the Static Memory Controller, byte select
mode, 16-bit data bus, Read/Write controlled by Chip Select, allows to boot on a 16-bit non-volatile memory.
If BMS is detected at 0, the boot memory is the embedded ROM.
8.1.2Boot Program
• Downloads and runs an application from external storage media into internal SRAM
• Downloaded code size depends on embedded SRAM size
• Automatic detection of valid application
• Bootloader on a non-volatile memory
• Boot Uploader in case no valid program is detected in external NVM and supporting several
communication media
The external memories are accessed through the External Bus Interface. Each Chip Select lines
has a 256 Mbyte memory area assigned.
8.2External Memories
The external memories are accessed through the External Bus Interfaces. Each Chip Select line
has a 256 Mbyte memory area assigned.
Refer to Figure 8-1 on page 22.
– SPI DataFlash
®
connected on NPCS0 of the SPI0
– Serial communication on a DBGU
– USB Bulk Device Port
– External Memories Mapping
24
AT91CAP9S500A/AT91CAP9S250A
6264A–CAP–21-May-07
8.2.1External Bus Interface
The AT91CAP9S500A/AT91CAP9S250A features one External Bus Interface to offer high
bandwidth to the system and to prevent any bottleneck while accessing the external memories.
• Up to 26-bit Address Bus (up to 64 Mbytes linear per chip select)
• Up to 6 chips selects, Configurable Assignment:
– Static Memory Controller on NCS0
– Burst/CellularRAM Controller or Static Memory Controller on NCS1
– Static Memory Controller on NCS2
– Static Memory Controller on NCS3, Optional NAND Flash support
– Static Memory Controller on NCS4 - NCS5, Optional CompactFlash support
• One dedicated chip select:
– DDR/SDRAM Controller on NCS6
AT91CAP9S500A/AT91CAP9S250A
and CompactFlash
8.2.2Static Memory Controller
• 8-, 16- or 32-bit Data Bus
• Multiple Access Modes supported
– Byte Write or Byte Select Lines
– Asynchronous read in Page Mode supported (4- up to 32-byte page size)
• Multiple device adaptability
– Compliant with LCD Module
– Control signals programmable setup, pulse and hold time for each Memory Bank
• Multiple Wait State Management
– Programmable Wait State Generation
– External Wait Request
– Programmable Data Float Time
• Slow Clock mode supported
8.2.3DDR/SDRAM Controller
• Supported devices:
– Standard and Low Power SDRAM (Mobile SDRAM)
– Mobile DDR
• Numerous configurations supported
– 2K, 4K, 8K Row Address Memory Parts
– SDRAM with two or four Internal Banks
6264A–CAP–21-May-07
25
– SDRAM with 16- or 32-bit Data Path
– Mobile DDR with four Internal Banks
– Mobile DDR with 16-bit Data Path
• Programming facilities
– Word, half-word, byte access
– Automatic page break when Memory Boundary has been reached
– Multibank Ping-pong Access
– Timing parameters specified by software
– Automatic refresh operation, refresh rate is programmable
– Multiport (4 Ports)
• Energy-saving capabilities
– Self-refresh, power down and deep power down modes supported
• Error detection
– Refresh Error Interrupt
• DDR/SDRAM Power-up Initialization by software
• SDRAM CAS Latency of 1, 2 and 3 supported
• DDR CAS latency of 3 supported
• Auto Precharge Command not used
8.2.4Burst Cellular RAM Controller
• Supported devices:
– Synchronous Cellular RAM version 1.0, 1.5 and 2.0
• Numerous configurations supported
– 64K, 128K, 256K, 512K Row Address Memory Parts
– Cellular RAM with 16- or 32-bit Data Path
• Programming facilities
– Word, half-word, byte access
– Automatic page break when Memory Boundary has been reached
– Timing parameters specified by software
– Only Continuous read or write burst supported
• Energy-saving capabilities
– Standby and Deep Power Down (DPD) modes supported
– Low Power features (PASR/TCSR) supported
• Cellular RAM Power-up Initialization by hardware
• Cellular RAM CAS latency of 2 and 3 supported (Version 1.0)
• Cellular RAM CAS latency of 2, 3, 4, 5 and 6 supported (Version 1.5 and 2.0)
• Cellular RAM variable or fixed latency supported (Version 1.5 and 2.0)
• Multiplexed address/data bus supported (Version 2.0)
• Asynchronous and Page mode not supported.
26
AT91CAP9S500A/AT91CAP9S250A
6264A–CAP–21-May-07
8.2.5Error Corrected Code Controller
• Tracking the accesses to a NAND Flash device by trigging on the corresponding chip select
• Single bit error correction and 2-bit Random detection.
• Automatic Hamming Code Calculation while writing
– ECC value available in a register
• Automatic Hamming Code Calculation while reading
– Error Report, including error flag, correctable error flag and word address being
detected erroneous
– Support 8- or 16-bit NAND Flash devices with 512-, 1024-, 2048- or 4096-byte
pages
9.System Controller
The System Controller is a set of peripherals, which allow handling of key elements of the system, such as power, resets, clocks, time, interrupts, watchdog, etc.
The System Controller User Interface also embeds the registers that allow configuration of the
Matrix and a set of registers for the chip configuration. The chip configuration registers are used
to configure:
AT91CAP9S500A/AT91CAP9S250A
– EBI chip select assignment and voltage range for external memories
– MP Block
The System Controller peripherals are all mapped within the highest 16 Kbytes of address
space, between addresses 0xFFFF C000 and 0xFFFF FFFF.
However, all the registers of System Controller are mapped on the top of the address space.
This allows all the registers of the System Controller to be addressed from a single pointer by
using the standard ARM instruction set, as the Load/Store instructions have an indexing mode of
± 4 Kbytes.
Figure 9-1 on page 28 shows the System Controller block diagram.
Figure 8-1 on page 22 shows the mapping of the User Interfaces of the System Controller
peripherals.
6264A–CAP–21-May-07
27
9.1System Controller Block Diagram
Figure 9-1.AT91CAP9S500A/AT91CAP9S250A System Controller Block Diagram
NRST
SHDN
WKUP
XIN32
XOUT32
XIN
XOUT
PLLRCA
PLLRCB
PA0-PA31
PB0-PB31
PC0-PC31
PD0-PD31
periph_irq[2..29]
pit_irq
rtt_irq
wdt_irq
dbgu_irq
pmc_irq
rstc_irq
periph_nreset
dbgu_rxd
periph_nreset
proc_nreset
VDDCORE
POR
VDDBU
POR
backup_nreset
SLOW
CLOCK
OSC
UTMI PLL
MAIN
OSC
PLLA
PLLB
periph_nreset
periph_nreset
periph_clk[2]
dbgu_rxd
irq0-irq1
fiq
MCK
MCK
debug
SLCK
debug
idle
SLCK
SLCK
SLCK
backup_nreset
SLCK
int
UDPHSCK
por_ntrst
jtag_nreset
rtt_alarm
MAINCK
PLLACK
PLLBCK
System Controller
Advanced
Interrupt
Controller
Debug
Unit
Periodic
Interval
Timer
Watchdog
Timer
wdt_fault
WDRPROC
Reset
Controller
Real-Time
Timer
Shut-Down
Controller
Power
Management
Controller
PIO
Controllers
VDDCORE Powered
int
dbgu_irq
dbgu_txd
pit_irq
wdt_irq
rstc_irq
periph_nreset
proc_nreset
backup_nreset
VDDBU Powered
rtt_irq
rtt_alarm
Voltage
Controller
battery_save
4 General-purpose
Backup Registers
periph_clk[2..31]
pck[0-3]
PCK
UHPCK
MCK
pmc_irq
idle
periph_irq[2]
irq0-irq1
fiq
dbgu_txd
por_ntrst
nirq
nfiq
ntrst
proc_nreset
PCK
debug
jtag_nreset
MCK
periph_nreset
UDPHSCK
periph_clk[28]
periph_nreset
periph_irq[28]
UHPCK
periph_clk[29]
periph_nreset
periph_irq[29]
periph_clk[7..31]
periph_nreset
periph_irq[7..27]
in
out
enable
ARM926EJ-S
Boundary Scan
TAP Controller
Bus Matrix
USB High-speed
Device Port
USB Host
Por t
Embedded
Peripherals
28
AT91CAP9S500A/AT91CAP9S250A
6264A–CAP–21-May-07
9.2Reset Controller
• Based on two Power-on-Reset cells
– One on VDDBU and one on VDDCORE
• Status of the last reset
– Either general reset (VDDBU rising), wake-up reset (VDDCORE rising), software
• Controls the internal resets and the NRST pin output
– Allows shaping a reset signal for the external devices
9.3Shutdown Controller
• Shutdown and Wake-Up logic
– Software programmable assertion of the SHDN pin
– Deassertion Programmable on a WKUP pin level change or on alarm
9.4Clock Generator
• Embeds the low power 32,768 Hz Slow Clock Oscillator
– Provides the permanent Slow Clock SLCK to the system
• Embeds the Main Oscillator
– Oscillator bypass feature
– Supports 8 to 16 MHz crystals
– 12 MHz crystal is required for USB High-Speed Device
• Embeds 2 PLLs
– Output 80 to 200 MHz clocks
– Integrates an input divider to increase output accuracy
– 1 MHz minimum input frequency
AT91CAP9S500A/AT91CAP9S250A
reset, user reset or watchdog reset
Figure 9-2.Clock Generator Block Diagram
XIN32
XOUT32
XIN
XOUT
PLLRCA
PLLRCB
6264A–CAP–21-May-07
Clock Generator
Slow Clock
Oscillator
Main
Oscillator
PLL and
Divider A
PLL and
Divider B
Power
Management
Controller
Slow Clock
SLCK
Main Clock
MAINCK
PLLA Clock
PLLACK
PLLB Clock
PLLBCK
ControlStatus
29
9.5Power Management Controller
•Provides:
– the Processor Clock PCK
– the Master Clock MCK, in particular to the Matrix and the memory interfaces
– the USB High-speed Device Clock UDPHSCK
– the USB Host Clock UHPCK
– independent peripheral clocks, typically at the frequency of MCK
– four programmable clock outputs: PCK0 to PCK3
• Five flexible operating modes:
– Normal Mode, processor and peripherals running at a programmable frequency
– Idle Mode, processor stopped waiting for an interrupt
– Slow Clock Mode, processor and peripherals running at low frequency
– Standby Mode, mix of Idle and Backup Mode, peripheral running at low frequency,
processor stopped waiting for an interrupt
– Backup Mode, Main Power Supplies off, VDDBU powered by a battery
Figure 9-3.AT91CAP9S500A/AT91CAP9S250A Power Management Controller Block Diagram
Processor
SLCK
MAINCK
PLLACK
PLLBCK
Master Clock Controller
Prescaler
/1,/2,/4,...,/64
Clock
Controller
Idle Mode
Divider
/1,/2,/4
Peripherals
Clock Controller
ON/OFF
Programmable Clock Controller
PCK
int
MCK
periph_clk[..]
DDRCK
9.6Periodic Interval Timer
• Includes a 20-bit Periodic Counter, with less than 1 µs accuracy
• Includes a 12-bit Interval Overlay Counter
• Real-time OS or Linux/WinCE compliant tick generator
30
AT91CAP9S500A/AT91CAP9S250A
SLCK
MAINCK
PLLACK
PLLBCK
PLLBCK
Prescaler
/1,/2,/4,...,/64
USB Clock Controller
Divider
/1,/2,/4
ON/OFF
ON/OFF
pck[..]
UHPCK
6264A–CAP–21-May-07
Loading...
+ 978 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.