• USB 2.0 Full Speed (12 Mbits per second) Host Single Port in the 208-pin PQFP Device
and Double Port in 217-ball LFBGA Device
– Single or Dual On-chip Transceivers
– Integrated FIFOs and Dedicated DMA Channels
• Ethernet MAC 10/100 Base-T
– Media Independent Interface or Reduced Media Independent Interface
– 28-byte FIFOs and Dedicated DMA Channels for Receive and Transmit
• 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
• Bus Matrix
– Six 32-bit-layer Matrix
– Remap Command
• Fully-featured System Controller, including
– Reset Controller, Shutdown Controller
– 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
™
, Debug Communication Channel Support
™
ARM® Thumb® Processor
®
Technology for Java® Acceleration
™
AT91 ARM
Thumb
Microcontrollers
AT91SAM9XE128
AT91SAM9XE256
AT91SAM9XE512
Preliminary
6254A–ATARM–01-Feb-08
• Reset Controller (RSTC)
– Based on a Power-on Reset Cell, Reset Source Identification and Reset Output Control
• Clock Generator (CKGR)
– Selectable 32,768 Hz Low-power Oscillator or Internal Low Power RC Oscillator on Battery Backup Power Supply,
Providing a Permanent Slow Clock
– 3 to 20 MHz On-chip Oscillator, One Up to 240 MHz PLL and One Up to 100 MHz PLL
• Power Management Controller (PMC)
– Very Slow Clock Operating Mode, Software Programmable Power Optimization Capabilities
– Two Programmable External Clock Signals
• Advanced Interrupt Controller (AIC)
– Individually Maskable, Eight-level Priority, Vectored Interrupt Sources
– Three 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
• One 4-channel 10-bit Analog to Digital Converter
• Three 32-bit Parallel Input/Output Controllers (PIOA, PIOB, PIOC,)
– 96 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
• Peripheral DMA Controller Channels (PDC)
• Two-slot Multimedia Card Interface (MCI)
™
– SDCard/SDIO and MultiMediaCard
– Automatic Protocol Control and Fast Automatic Data Transfers with PDC
Compliant
• One 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
• Four Universal Synchronous/Asynchronous Receiver Transmitters (USART)
®
– Individual Baud Rate Generator, IrDA
– Support for ISO7816 T0/T1 Smart Card, Hardware Handshaking, RS485 Support
– Full Modem Signal Control on USART0
Infrared Modulation/Demodulation
• One 2-wire UART
• Two Master/Slave Serial Peripheral Interface (SPI)
– 8- to 16-bit Programmable Data Length, Four External Peripheral Chip Selects
– Synchronous Communications
• Two 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
– High-Drive Capability on Outputs TIOA0, TIOA1, TIOA2
• Two Two-wire Interfaces (TWI)
– Master, Multi-master and Slave Mode Operation
– General Call Supported in Slave Mode
– Connection to PDC Channel to Optimize Data Transfers in Master Mode Only
2
AT91SAM9XE128/256/512 Preliminary
6254A–ATARM–01-Feb-08
AT91SAM9XE128/256/512 Preliminary
®
• IEEE
• Required Power Supplies:
• Available in a 208-pin PQFP Green and a 217-ball LFBGA Green Package
1.AT91SAM9XE128/256/512 Description
The AT91SAM9XE128/256/512 is based on the integration of an ARM926EJ-S processor with
fast ROM and RAM, 128, 256 or 512 Kbytes of Flash and a wide range of peripherals.
The embedded Flash memory can be programmed in-system via the JTAG-ICE interface or via
a parallel interface on a production programmer prior to mounting. Built-in lock bits and a security bit protect the firmware from accidental overwrite and preserves its confidentiality.
The AT91SAM9XE128/256/512 embeds an Ethernet MAC, one USB Device Port, and a USB
Host Controller. It also integrates several standard peripherals, like USART, SPI, TWI, Timer
Counters, Synchronous Serial Controller, ADC and a MultiMedia Card Interface.
The AT91SAM9XE128/256/512 system controller includes a reset controller capable of managing the power-on sequence of the microcontroller and the complete system. Correct device
operation can be monitored by a built-in brownout detector and a watchdog running off an integrated RC oscillator.
1149.1 JTAG Boundary Scan on All Digital Pins
– 1.65V to 1.95V for VDDBU, VDDCORE and VDDPLL
– 1.65V to 3.6V for VDDIOP1 (Peripheral I/Os)
– 3.0V to 3.6V for VDDIOP0 and VDDANA (Analog-to-digital Converter)
– Programmable 1.65V to 1.95V or 3.0V to 3.6V for VDDIOM (Memory I/Os)
The AT91SAM9XE128/256/512 is architectured on a 6-layer matrix, allowing a maximum internal bandwidth of six 32-bit buses. It also features an External Bus Interface capable of
interfacing with a wide range of memory devices.
The pinout and ball-out are fully compatible with the AT91SAM9260 with the exception that the
pin BMS is replaced by the pin ERASE.
6254A–ATARM–01-Feb-08
3
2.AT91SAM9XE128/256/512 Block Diagram
The block diagram shows all the features for the 217-LFBGA package. Some functions are not
accessible in the 208-PQFP package and the unavailable pins are highlighted in “Multiplexing
on PIO Controller A” on page 39, “Multiplexing on PIO Controller B” on page 40, “Multiplexing on
PIO Controller C” on page 41. The USB Host Port B is also not available. Table 2-1 on page 4
defines all the multiplexed and not multiplexed pins not available in the 208-PQFP package.
Table 2-1.Unavailable Signals in 208-pin PQFP Device
Table 3-1 gives details on the signal name classified by peripheral.
Table 3-1.Signal Description List
Active
Signal NameFunctionType
Power Supplies
VDDIOMEBI I/O Lines Power SupplyPower1.65V to 1.95V or 3.0V to 3.6V
VDDIOP0Peripherals I/O Lines Power SupplyPower 3.0V to 3.6V
VDDIOP1Peripherals I/O Lines Power SupplyPower 1.65V to 3.6V
VDDBUBackup I/O Lines Power SupplyPower1.65V to 1.95V
VDDANAAnalog Power SupplyPower3.0V to 3.6V
VDDPLLPLL Power SupplyPower1.65V to 1.95V
SCKxUSARTx Serial ClockI/O
TXDxUSARTx Transmit DataI/O
RXDxUSARTx Receive DataInput
RTSxUSARTx Request To SendOutput
CTSxUSARTx Clear To Send Input
DTR0USART0 Data Terminal ReadyOutput
DSR0USART0 Data Set ReadyInput
DCD0USART0 Data Carrier DetectInput
RI0USART0 Ring IndicatorInput
TCLKxTC Channel x External Clock InputInput
TIOAxTC Channel x I/O Line AI/O
TIOBxTC Channel x I/O Line BI/O
Serial Peripheral Interface - SPIx_
SPIx_MISOMaster In Slave OutI/O
SPIx_MOSIMaster Out Slave InI/O
SPIx_SPCKSPI Serial ClockI/O
SPIx_NPCS0SPI Peripheral Chip Select 0I/OLow
SPIx_NPCS1-SPIx_NPCS3SPI Peripheral Chip SelectOutputLow
Two-Wire Interface
TWDxTwo-wire Serial Data I/O
TWCKxTwo-wire Serial ClockI/O
USB Host Port
HDPAUSB Host Port A Data +Analog
HDMAUSB Host Port A Data -Analog
HDPBUSB Host Port B Data +Analog
HDMBUSB Host Port B Data +Analog
USB Device Port
DDMUSB Device Port Data -Analog
DDPUSB Device Port Data +Analog
Ethernet 10/100
ETXCKTransmit Clock or Reference ClockInputMII only, REFCK in RMII
ERXCKReceive ClockInputMII only
ETXENTransmit EnableOutput
ETX0-ETX3Transmit DataOutputETX0-ETX1 only in RMII
ETXERTransmit Coding ErrorOutputMII only
ERXDVReceive Data ValidInputRXDV in MII, CRSDV in RMII
ERX0-ERX3Receive DataInputERX0-ERX1 only in RMII
ERXERReceive ErrorInput
ECRSCarrier Sense and Data ValidInputMII only
ECOLCollision DetectInputMII only
EMDCManagement Data ClockOutput
EMDIOManagement Data Input/OutputI/O
EF100Force 100Mbit/sec.OutputHigh
The AT91SAM9XE128/256/512 has several types of power supply pins:
• VDDCORE pins: Power the core, including the processor, the embedded memories and the
peripherals; voltage ranges from 1.65V and 1.95V, 1.8V nominal.
• VDDIOM pins: Power the External Bus Interface I/O lines; voltage ranges between 1.65V and
1.95V (1.8V typical) or between 3.0V and 3.6V (3.3V nominal). The expected voltage range is
selectable by software.
• VDDIOP0 pins: Power the Peripheral I/O lines and the USB transceivers; voltage ranges from
3.0V and 3.6V, 3V or 3.3V nominal.
• VDDIOP1 pin: Powers the Peripherals I/O lines involving the Image Sensor Interface; voltage
ranges from 1.65V and 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
ranges from 1.65V to 1.95V, 1.8V nominal.
• VDDPLL pins: Power the PLL cells and the main oscillator; voltage ranges from 1.65V and
1.95V, 1.8V nominal.
• VDDANA pin: Powers the Analog to Digital Converter; voltage ranges from 3.0V and 3.6V,
3.3V nominal.
The power supplies VDDIOM, VDDIOP0 and VDDIOP1 are identified in the pinout table and
their associated I/O lines in the multiplexing tables. These supplies enable the user to power the
device differently for interfacing with memories and for interfacing with peripherals.
Ground pins GND are common to VDDCORE, VDDIOM, VDDIOP0 and VDDIOP1 pins power
supplies. Separated ground pins are provided for VDDBU, VDDPLL and VDDANA. These
ground pins are respectively GNDBU, GNDPLL and GNDANA.
5.2Power Consumption
The AT91SAM9XE128/256/512 consumes about 500 µA of static current on VDDCORE at
25°C. This static current rises up to 5 mA if the temperature increases to 85°C.
On VDDBU, the current does not exceed 20 µA in worst case conditions.
For dynamic power consumption, the AT91SAM9XE128/256/512 consumes a maximum of 130
mA on VDDCORE at maximum conditions (1.8V, 25°C, processor running full-performance
algorithm out of high speed memories).
5.3Programmable I/O Lines Power Supplies
The power supplies pins VDDIOM accept two voltage ranges. This allows the device to reach its
maximum speed either out of 1.8V or 3.3V external memories.
6254A–ATARM–01-Feb-08
15
The maximum speed is 100 MHz on the pin SDCK (SDRAM Clock) 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 exceed 50 MHz.
The voltage ranges are determined by programming registers in the Chip Configuration registers
located in the Matrix User Interface.
At reset, the selected voltage defaults to 3.3V nominal, and power supply pins can accept either
1.8V or 3.3V. The user must program the EBI voltage range before getting the device out of its
Slow Clock Mode.
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 (tied
to VDDBU). It integrates a permanent pull-down resistor of about 15 kΩ to GNDBU, so that it
can be left unconnected for normal operations.
The NTRST signal is described in Section 6.3.
All the JTAG signals are supplied with VDDIOP0.
6.2Test Pin
6.3Reset Pins
6.4ERASE 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.
NRST is a bi-directional with 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, which manages 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 to VDDIOP0. Its value
can be found in the table “DC Characteristics” in the section “AT91SAM9XE Electrical Characteristics” in the product datasheet.
The NRST signal is inserted in the Boundary Scan.
The pin ERASE is used to re-initialize the Flash content and the NVM bits. It integrates a permanent pull-down resistor of about 15 kΩ, so that it can be left unconnected for normal operations.
16
AT91SAM9XE128/256/512 Preliminary
6254A–ATARM–01-Feb-08
This pin is debounced on the RC oscillator or 32,768 Hz to improve the glitch tolerance. Minimum debouncing time is 200 ms.
6.5PIO Controllers
All the I/O lines are Schmitt trigger inputs and all the lines managed by the PIO Controllers integrate a programmable pull-up resistor. Refer to “DC Characteristics” in the section
“AT91SAM9XE128/256/512 Electrical Characteristics”. 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 which
are multiplexed with the External Bus Interface signals that require to be enabled as Peripheral
at reset. This is explicitly indicated in the column “Reset State” of the PIO Controller multiplexing
tables.
6.6I/O Line Drive Levels
The PIO lines PA0 to PA31 and PB0 to PB31 and PC0 to PC3 are high-drive current capable.
Each of these I/O lines can drive up to 16 mA permanently with a total of 350 mA on all I/O lines.
Refer to the “DC Characteristics” section of the product datasheet.
AT91SAM9XE128/256/512 Preliminary
6.7Shutdown Logic Pins
The SHDN pin is an output only, which is driven by the Shutdown Controller.
The pin WKUP is an input-only. It can accept voltages only between 0V and VDDBU.
6.8Slow Clock Selection
The AT91SAM9XE128/256/512 slow clock can be generated either by an external 32,768 Hz
crystal or the on-chip RC oscillator.
The startup counter delay for the slow clock oscillator depends on the OSCSEL signal. The
32,768 Hz startup delay is 1200 ms whereas it is 200 µs for the internal RC oscillator. The pin
OSCSEL must be tied either to GNDBU or VDDBU for correct operation of the device.
Refer to the Slow Clock Selection table in the Electrical Characteristics section of the product
datasheet for the states of the OSCSEL signal.
6254A–ATARM–01-Feb-08
17
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
18
AT91SAM9XE128/256/512 Preliminary
• 6-layer Matrix, handling requests from 6 masters
• Programmable Arbitration strategy
– Fixed-priority Arbitration
6254A–ATARM–01-Feb-08
7.2.1Matrix Masters
AT91SAM9XE128/256/512 Preliminary
– 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 ROM boot, one for internal flash boot, one after remap
• Boot Mode Select
– Non-volatile Boot Memory can be internal ROM or internal Flash
– Selection is made by General purpose NVM bit sampled at reset
• Remap Command
– Allows Remapping of an Internal SRAM in Place of the Boot Non-Volatile Memory
(ROM or Flash)
– Allows Handling of Dynamic Exception Vectors
The Bus Matrix of the AT91SAM9XE128/256/512 manages six Masters, thus each master can
perform an access concurrently with others, depending on whether the slave it accesses is
available.
7.2.2Matrix Slaves
Each Master has its own decoder, which can be defined specifically for each master. In order to
simplify the addressing, all the masters have the same decodings.
Table 7-1.List of Bus Matrix Masters
Master 0ARM926™ Instruction
Master 1ARM926 Data
Master 2Peripheral DMA Controller
Master 3USB Host Controller
Master 4Image Sensor Controller
Master 5Ethernet MAC
Each Slave has its own arbiter, thus allowing a different arbitration per Slave to be programmed.
Table 7-2.List of Bus Matrix Slaves
Slave 0Internal Flash
Slave 1Internal SRAM
Internal ROM
Slave 2
USB Host User Interface
Slave 3External Bus Interface
Slave 4Reserved
Slave 5Internal Peripherals
6254A–ATARM–01-Feb-08
19
7.2.3Masters to Slaves Access
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 as “–” in the following table.
Table 7-3.AT91SAM9XE128/256/512 Masters to Slaves Access
Master0 and 12345
ARM926 Instruction
Slave
0Internal FlashX––X
1Internal SRAMXXXXX
Internal ROMXX–––
2
UHP User InterfaceX––––
3External Bus InterfaceXXXXX
4Reserved– ––––
Internal PeripheralsXX–––
and Data
Periphera DMA
Controller
ISI ControllerEthernet MACUSB Host
Controller
7.3Peripheral 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-four channels
– Two for each USART
– Two for the Debug Unit
– Two for each Serial Synchronous Controller
– Two for each Serial Peripheral Interface
– Two for the Two Wire Interface
– One for Multimedia Card Interface
– One for Analog To Digital Converter
The Peripheral DMA Controller handles transfer requests from the channel according to the following priorities (Low to High priorities):
– 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
6254A–ATARM–01-Feb-08
21
8.Memories
Figure 8-1.AT91SAM9XE128/256/512 Memory Mapping
0x0000 0000
0x0FFF FFFF
0x1000 0000
0x1FFF FFFF
0x2000 0000
0x2FFF FFFF
0x3000 0000
0x3FFF FFFF
0x4000 0000
0x4FFF FFFF
0x5000 0000
0x5FFF FFFF
0x6000 0000
0x6FFF FFFF
0x7000 0000
0x7FFF FFFF
0x8000 0000
0x8FFF FFFF
0x9000 0000
0xEFFF FFFF
0xF000 0000
0xFFFF FFFF
Address Memory Space
Internal Memories
EBI
Chip Select 0
EBI
Chip Select 1/
SDRAMC
EBI
Chip Select 2
EBI
Chip Select 3/
NANDFlash
EBI
Chip Select 4/
Compact Flash
Slot 0
EBI
Chip Select 5/
Compact Flash
Slot 1
EBI
Chip Select 6
EBI
Chip Select 7
Undefined
(Abort)
Internal Peripherals
256M Bytes
256M Bytes
256M Bytes
256M Bytes
256M Bytes
256M Bytes
256M Bytes
256M Bytes
256M Bytes
1,518M Bytes
256M Bytes
0x0000 0000
0x0FFF FFFF
0xF000 0000
0xFFFA 0000
0xFFFA 4000
0xFFFA 8000
0xFFFA C000
0xFFFB 0000
0xFFFB 4000
0xFFFB 8000
0xFFFB C000
0xFFFC 0000
0xFFFC 4000
0xFFFC 8000
0xFFFC C000
0xFFFD 0000
0xFFFD 4000
0xFFFD 8000
0xFFFD C000
0xFFFE 0000
0xFFFE 4000
0xFFFF C000
0xFFFF FFFF
Internal Memory Mapping
0x10 0000
0x10 8000
0x20 0000
0x28 0000
0x30 0000
0x30 8000
0x50 0000
0x50 4000
Peripheral Mapping
Reserved
TCO, TC1, TC2
TC3, TC4, TC5
Reserved
Boot Memory (1)
ROM
Reserved
Flash
Reserved
SRAM
Reserved
UHP
Reserved
UDP
MCI
TWI0
USART0
USART1
USART2
SSC
ISI
EMAC
SPI0
SPI1
USART3
USART4
TWI1
ADC
SYSC
32K Bytes
128, 256 or 512K Bytes
32K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
16K Bytes
(1) Can be ROM or Flash
Notes :
depending on GPNVM[3]
System Controller Mapping
0xFFFF C000
0xFFFF E800
0xFFFF EA00
0xFFFF EC00
0xFFFF EE00
0xFFFF EF10
0xFFFF F000
0xFFFF F200
0xFFFF F400
0xFFFF F600
0xFFFF F800
0xFFFF FA00
0xFFFF FC00
0xFFFF FD00
0xFFFF FD10
0xFFFF FD20
0xFFFF FD30
0xFFFF FD40
0xFFFF FD50
0xFFFF FD60
0xFFFF FFFF
Reserved
ECC512 Bytes
512 BytesSDRAMC
512 BytesSMC
MATRIX
CCFG
AIC
DBGU
PIOA
PIOB
PIOC
EEFC
PMC
RSTC
SHDC
RTTC
PITC
WDTC
GPBR
Reserved
512 Bytes
512 Bytes
512 Bytes
512 Bytes
512 bytes
512 bytes
512 bytes
256 Bytes
16 Bytes
16 Bytes
16 Bytes
16 Bytes
16 Bytes
16 Bytes
22
AT91SAM9XE128/256/512 Preliminary
6254A–ATARM–01-Feb-08
AT91SAM9XE128/256/512 Preliminary
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 4 Gbytes of address space into 16 banks of 256 Mbytes. The banks 1 to
7 are directed to the EBI that associates these banks to the external chip selects EBI_NCS0 to
EBI_NCS7. Bank 0 is reserved for the addressing of the internal memories, and a second level
of decoding provides 1 Mbyte of internal memory area. The bank 15 is reserved for the peripherals and provides access to the Advanced Peripheral Bus (APB).
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, one after remap, refer to Table 8-3, “Internal Memory Mapping,” on page 27 for details.
A complete memory map is presented in Figure 8-1 on page 22.
8.1Embedded Memories
8.1.1AT91SAM9XE128
• 32 KB ROM
– Single Cycle Access at full matrix speed
• 16 KB Fast SRAM
– Single Cycle Access at full matrix speed
• 128 KB Embedded Flash
8.1.2AT91SAM9XE256
• 32 KB ROM
– Single Cycle Access at full matrix speed
• 32 KB Fast SRAM
– Single Cycle Access at full matrix speed
• 256 KB Embedded Flash
8.1.3AT91SAM9XE512
• 32 KB ROM
– Single Cycle Access at full matrix speed
• 32 KB Fast SRAM
– Single Cycle Access at full matrix speed
• 512 KB Embedded Flash
8.1.4ROM Topology
6254A–ATARM–01-Feb-08
The embedded ROM contains the Fast Flash Programming and the SAM-BA boot programs.
Each of these two programs is stored at 16 KB Boundary and the program executed at address
23
zero depends on the combination of the TST pin and PA0 to PA2 pins. Figure 8-2 shows the contents of the ROM and the program available at address zero.
Figure 8-2.ROM Boot Memory Map
0x0000 0000
SAM-BA
Program
FFPI
Program
0x0000 7FFF
ROM
8.1.4.1Fast Flash Programming Interface
The Fast Flash Programming Interface programs the device through a serial JTAG interface or a
multiplexed fully-handshaked parallel port. It allows gang-programming with market-standard
industrial programmers.
The FFPI supports read, page program, page erase, full erase, lock, unlock and protect
commands.
The Fast Flash Programming Interface is enabled and the Fast Programming Mode is entered
when the TST pin and the PA0 and PA1 pins are all tied high and PA2 is tied low.
0x0000 0000
0x0000 3FFF
SAM-BA
Program
TST=0
0x0000 0000
FFPI
Program
0x0000 3FFF
TST=1
PA0=1
PA1=1
PA2=0
8.1.4.2SAM-BA
Table 8-1.Signal Description
Signal NamePIOTypeActive LevelComments
PGMEN0PA0InputHighMust be connected to VDDIO
PGMEN1PA1InputHighMust be connected to VDDIO
PGMEN2PA2InputLowMust be connected to GND
PGMNCMDPA4InputLowPulled-up input at reset
PGMRDYPA5OutputHighPulled-up input at reset
PGMNOEPA6InputLowPulled-up input at reset
PGMNVALIDPA7OutputLowPulled-up input at reset
PGMM[3:0]PA8..PA10InputPulled-up input at reset
PGMD[15:0]PA12..PA27Input/OutputPulled-up input at reset
®
Boot Assistant
The SAM-BA Boot Assistant is a default Boot Program that provides an easy way to program in
situ the on-chip Flash memory.
The SAM-BA Boot Assistant supports serial communication through the DBGU or through the
USB Device Port.
24
AT91SAM9XE128/256/512 Preliminary
6254A–ATARM–01-Feb-08
AT91SAM9XE128/256/512 Preliminary
• Communication through the DBGU supports a wide range of crystals from 3 to 20 MHz via
software auto-detection.
• Communication through the USB Device Port is depends on crystal selected:
– limited to an 18,432 Hz crystal if the internal RC oscillator is selected
– supports a wide range of crystals from 3 to 20 MHz if the 32,768 Hz crystal is
selected
The SAM-BA Boot provides an interface with SAM-BA Graphic User Interface (GUI).
8.1.5Embedded Flash
The Flash of the AT91SAM9XE128/256/512 is organized in 256/512/1024 pages of 512 bytes
directly connected to the 32-bit internal bus. Each page contains 128 words.
The Flash contains a 512-byte write buffer allowing the programming of a page. This buffer is
write-only as 128 32-bit words, and accessible all along the 1 MB address space, so that each
word can be written at its final address.
The Flash benefits from the integration of a power reset cell and from a brownout detector to
prevent code corruption during power supply changes, even in the worst conditions.
8.1.5.1Enhanced Embedded Flash Controller
The Enhanced Embedded Flash Controller (EEFC) is continuously clocked.
8.1.5.2Lock Regions
The Enhanced Embedded Flash Controller (EEFC) is a slave for the bus matrix and is configurable through its User Interface on the APB bus. It ensures the interface of the Flash block with
the 32-bit internal bus. Its 128-bit wide memory interface increases performance, four 32-bit data
are read during each access, this multiply the throughput by 4 in case of consecutive data.
It also manages the programming, erasing, locking and unlocking sequences of the Flash using
a full set of commands. One of the commands returns the embedded Flash descriptor definition
that informs the system about the Flash organization, thus making the software generic programming of the access parameters of the Flash (number of wait states, timings, etc.)
The memory plane of 128, 256 or 512 Kbytes is organized in 8, 16 or 32 locked regions of 32
pages each. Each lock region can be locked independently, so that the software protects the
first memory plane against erroneous programming:
If a locked-regions erase or program command occurs, the command is aborted and the EEFC
could trigger an interrupt.
The Lock bits are software programmable through the EEFC User Interface. The command “Set
Lock Bit” enables the protection. The command “Clear Lock Bit” unlocks the lock region.
Asserting the ERASE pin clears the lock bits, thus unlocking the entire Flash.
6254A–ATARM–01-Feb-08
25
Figure 8-3.Flash First Memory Plane Mapping
0x0020 0000
Locked Regions Area
128, 256 or 512 Kbytes
256, 512 or
1024 Pages
Page 0Locked Region 0
Page 31
512 bytes
0x0021 FFFF
or 0x0023 FFFF
or 0x0027 FFFF
8.1.5.3GPNVM Bits
8.1.5.4Security Bit
Locked Region 7, 15 or 31
32 bits wide
16 KBytes
The AT91SAM9XE128/256/512 features four GPNVM bits that can be cleared or set respectively through the commands “Clear GPNVM Bit” and “Set GPNVM Bit” of the EEFC User
Interface.
Table 8-2.General-purpose Non volatile Memory Bits
GPNVMBit[#]Function
0Security Bit
1Brownout Detector Enable
2Brownout Detector Reset Enable
3Boot Mode Select (BMS)
The AT91SAM9XE128/256/512 features a security bit, based on a specific GPNVM bit, GPNVMBit[0]. When the security is enabled, access to the Flash, either through the ICE interface or
through the Fast Flash Programming Interface, is forbidden. This ensures the confidentiality of
the code programmed in the Flash.
26
Disabling the security bit can only be achieved by asserting the ERASE pin at 1, and after a full
Flash erase is performed. When the security bit is deactivated, all accesses to the Flash are
permitted.
As the ERASE pin integrates a permanent pull-down, it can be left unconnected during normal
operation.
AT91SAM9XE128/256/512 Preliminary
6254A–ATARM–01-Feb-08
AT91SAM9XE128/256/512 Preliminary
8.1.5.5Non-volatile Brownout Detector Control
Two GPNVM bits are used for controlling the brownout detector (BOD), so that even after a
power loss, the brownout detector operations remain in their state.
• GPNVMBit[1] is used as a brownout detector enable bit. Setting GPNVMBit[1] enables the
BOD, clearing it disables the BOD. Asserting ERASE clears GPNVMBit[1] and thus disables
the brownout detector by default.
• GPNVMBit[2] is used as a brownout reset enable signal for the reset controller. Setting
GPNVMBit[2] enables the brownout reset when a brownout is detected, clearing
GPNVMBit[2] disables the brownout reset. Asserting ERASE disables the brownout reset by
default.
8.1.6Boot Strategies
Table 8-3 summarizes the Internal Memory Mapping for each Master, depending on the Remap
status and the GPNVMBit[3] state at reset.
Table 8-3.Internal Memory Mapping
Address
0x0000 0000ROMFlashSRAM
REMAP = 0REMAP = 1
GPNVMBit[3] clearGPNVMBit[3] set
The system always boots at address 0x0. To ensure a maximum number of possibilities for boot,
the memory layout can be configured with two parameters.
REMAP allows the user to lay out the first internal SRAM bank to 0x0 to ease development. This
is done by software once the system has booted. Refer to the section “AT91SAM9XE Bus
Matrix” in the product datasheet for more details.
When REMAP = 0, a non volatile bit stored in Flash memory (GPNVMBit[3]) allows the user to
lay out to 0x0, at his convenience, the ROM or the Flash. Refer to the section “Enhanced
Embedded Flash Controller (EEFC)” in the product datasheet for more details.
Note:Memory blocks not affected by these parameters can always be seen at their specified base
addresses. See the complete memory map presented in Figure 8-1 on page 22.
The AT91SAM9XE Matrix manages a boot memory that depends on the value of GPNVMBit[3]
at reset. The internal memory area mapped between address 0x0 and 0x0FFF FFFF is reserved
for this purpose.
If GPNVMBit[3] is set, the boot memory is the internal Flash memory
If GPNVMBit[3] is clear (Flash reset State), the boot memory is the embedded ROM. After a
Flash erase, the boot memory is the internal ROM.
8.1.6.1GPNVMBit[3] = 0, Boot on Embedded ROM
The system boots using the Boot Program.
• Boot on slow clock (On-chip RC or 32,768 Hz)
• Auto baudrate detection
• SAM-BA Boot in case no valid program is detected in external NVM, supporting
– Serial communication on a DBGU
– USB Device Port
6254A–ATARM–01-Feb-08
27
8.1.6.2GPNVMBit[3] = 1, Boot on Internal Flash
• Boot on slow clock (On-chip RC or 32,768 Hz)
The customer-programmed software must perform a complete configuration.
To speed up the boot sequence when booting at 32 kHz, the user must take the following steps:
1. Program the PMC (main oscillator enable or bypass mode)
2. Program and start the PLL
3. Switch the main clock to the new value.
8.2External Memories
The external memories are accessed through the External Bus Interface. Each Chip Select line
has a 256 MB memory area assigned.
– Static Memory Controller on NCS0
– SDRAM 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
– Static Memory Controller on NCS6-NCS7
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
28
AT91SAM9XE128/256/512 Preliminary
6254A–ATARM–01-Feb-08
8.2.3SDRAM Controller
• Supported devices:
• Numerous configurations supported
• Programming facilities
• Energy-saving capabilities
• Error detection
• SDRAM Power-up Initialization by software
• CAS Latency of 1, 2 and 3 supported
• Auto Precharge Command not used
AT91SAM9XE128/256/512 Preliminary
– Standard and Low Power SDRAM (Mobile SDRAM)
– 2K, 4K, 8K Row Address Memory Parts
– SDRAM with two or four Internal Banks
– SDRAM with 16- or 32-bit Data Path
– 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
– Self-refresh, power down and deep power down modes supported
– Refresh Error Interrupt
8.2.4Error Corrected Code Controller
• Hardware error corrected code generation
– Detection and correction by software
• Supports NAND Flash and SmartMedia devices with 8- or 16-bit data path
• Supports NAND Flash and SmartMedia with page sizes of 528,1056, 2112 and 4224 bytes
specified by software
• Supports 1 bit correction for a page of 512, 1024, 2112 and 4096 bytes with 8- or 16-bit data
path
• Supports 1 bit correction per 512 bytes of data for a page size of 512, 2048 and 4096 bytes
with 8-bit data path
• Supports 1 bit correction per 256 bytes of data for a page size of 512, 2048 and 4096 bytes
with 8-bit data path
6254A–ATARM–01-Feb-08
29
9.System Controller
The System Controller is a set of peripherals that allows 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 configure the Matrix and a
set of registers for the chip configuration. The chip configuration registers configure the EBI chip
select assignment and voltage range for external memories.
The System Controller’s peripherals are all mapped within the highest 16 KB of address space,
between addresses 0xFFFF E800 and 0xFFFF FFFF.
However, all the registers of System Controller are mapped on the top of the address space. All
the registers of the System Controller can be addressed from a single pointer by using the standard ARM instruction set, as the Load/Store instruction have an indexing mode of ±4 KB.
Figure 9-1 on page 31 shows the System Controller block diagram.
Figure 8-1 on page 22 shows the mapping of the User Interfaces of the System Controller
peripherals.
30
AT91SAM9XE128/256/512 Preliminary
6254A–ATARM–01-Feb-08
Loading...
+ 809 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.