Functions with shared I/Os depending on the device configuration.
Refer to the pin description.
1x Ethernet 10/100
(MII interface)
4x Ethernet 10/100
(SMII interface)
6x UART
IrDA
6x General purpose
timer
ADC
EMI NOR Flash/
FPGA interface
FSMC NAND
Flash interface
Mobile DDR/DDR2
memory controller
32 Kbytes BootRom
8 Kbytes SRAM
Up to 102 GPIOs
MultiChannel DMA
controller
C3 Crypto
accelerator
JPEG CODEC
accelerator
2 x RS485 HDLC
TDM/E1 HDLC
USB Device 2.0 + Phy
USB
Host
2.0
Hub
Phy
Phy
1 x SSP
I
2
C master/slave
Interrupt
controller
Watchdog
RTC
System
controller
PLLs
MMU
ICache
DCache
ARM926EJ-S
@333 MHz
JTAG/trace
1 Description
The SPEAr310 is a member of the SPEAr family of embedded MPUs, optimized for telecom
applications. It is based on the powerful ARM926EJ-S processor (up to 333 MHz), widely
used in applications where high computation performance is required.
In addition, SPEAr310 has an MMU that allows virtual memory management -- making the
system compliant with advanced operating systems, like Linux. It also offers 16 KB of data
cache, 16 KB of instruction cache, JTAG and ETM (embedded trace macro-cell) for debug
operations.
A full set of peripherals allows the system to be used in many applications, some typical
applications being routers, switches and gateways as well as remote apparatus control and
metering concentrators.
Figure 1.Functional block diagram
8/72Doc ID 16482 Rev 2
SPEAr310Description
●ARM926EJ-S 32-bit RISC CPU, up to 333 MHz
–16 Kbytes of instruction cache, 16 Kbytes of data cache
–3 instruction sets: 32-bit for high performance, 16-bit (Thumb) for efficient code
density, Java mode (Jazelle™) for direct execution of Java bytecode.
–AMBA bus interface
●32-KByte on-chip BootROM
●8-KByte on-chip SRAM
●External DRAM memory interface:
–8/16-bit (mobile DDR@166 MHz)
–8/16-bit (DDR2@333 MHz)
●Serial memory interface
●8/16-bits NAND Flash controller (FSMC)
●External memory interface (EMI) for connecting NOR Flash or FPGAs
●Boot capability from NAND Flash, serial/parallel NOR Flash
●Boot and field upgrade capability from USB
●High performance 8-channel DMA controller
●TDM/E1 HDLC, six-signal interface supporting duplex Tx/Rx communication
–For TDM applications, up to 8 Mbps per Tx/Rx channel
128 timeslots per frame (125 µs)
–For E1 applications, up to 2 Mbps per Tx/Rx channel
32 timeslots per frame (125 µs)
–Compliant with ISO/IEC13239
–Standard HDLC frame code/decode
●2x RS485 HDLC ports:
–Five interface signals
–Supports duplex Tx/Rx communication
–Maximum Tx/Rx data rate 3.88 Mbps
●4x Ethernet MAC 10/100 Mbps with SMII PHY interface
●1x Ethernet MAC 10/100 Mbps with MII PHY interface
●Two USB2.0 host (high-full-low speed) with integrated PHY transceiver
●One USB2.0 device (high-full-low speed) with integrated PHY transceiver
●Up to 102 GPIOs with interrupt capability
●Synchronous serial port (SSP), master/slave (supporting SPI, Microwire and TI sync
protocols) up to 41.5 Mbps
2
●I
C master/slave interface (slow-fast-high speed, up to 1.2 Mb/s)
●1x UART with hardware flow control (up to 3 Mbps)
●5x UARTs with software flow control (up to 5 Mbps)
●ADC 10-bit, 1 Msps 8 inputs
●JPEG CODEC accelerator 1 clock/pixel
●C3 Crypto accelerator (DES/3DES/AES/SHA1)
●Advanced power saving features
–Normal, Slow, Doze and Sleep modes
–CPU clock with software-programmable frequency
Doc ID 16482 Rev 29/72
DescriptionSPEAr310
–Enhanced dynamic power-domain management
–Clock gating functionality
–Low frequency operating mode
–Automatic power saving controlled from application activity demands
●Vectored interrupt controller
●System and peripheral controller
–3 pairs of 16-bits general purpose timers with programmable prescaler
–RTC with separate power supply allowing battery connection
–Watchdog timer
–Miscellaneous registers array for embedded MPU configuration
●Programmable PLL for CPU and system clocks
●JTAG IEEE 1149.1
●Boundary scan
●ETM functionality multiplexed on primary pins
●Supply voltages
–1.2 V core, 1.8 V/2.5 V DDR, 2.5 V PLLs, 1.5 V RTC and 3.3 V I/Os
●Operating temperature: - 40 to 85 °C
●LFBGA289 (15 x 15 mm, pitch 0.8 mm)
10/72Doc ID 16482 Rev 2
SPEAr310Architecture overview
SP
2 Architecture overview
The SPEAr310 internal architecture is based on several shared subsystem logic blocks
interconnected through a multilayer interconnection matrix.
The switch matrix structure allows different subsystem dataflow to be executed in parallel
improving the core platform efficiency.
High performance master agents are directly interconnected with the memory controller
reducing the memory access latency. The overall memory bandwidth assigned to each
master port can be programmed and optimized through an internal efficient weighted round-
robin arbitration mechanism.
Figure 2.Typical system architecture using SPEAr310
2.1 CPU ARM 926EJ-S
The core of the SPEAr310 is an ARM926EJ-S reduced instruction set computer (RISC)
processor.
It supports the 32-bit ARM and 16-bit Thumb instruction sets, enabling the user to trade off
between high performance and high code density and includes features for efficient
execution of Java byte codes.
The ARM CPU is clocked at a frequency up to 333 MHz. It has a 16-Kbyte instruction cache,
a 16-Kbyte data cache, and features a memory management unit (MMU) which makes it
fully compliant with Linux and WindowsCE operating systems.
Doc ID 16482 Rev 211/72
Architecture overviewSPEAr310
It also includes an embedded trace module (ETM Medium+) for real-time CPU activity
tracing and debugging. It supports 4-bit and 8-bit normal trace mode and 4-bit demultiplexed
trace mode, with normal or half-rate clock.
2.2 System controller
The System Controller provides an interface for controlling the operation of the overall
system.
Main features:
●Power saving system mode control
●Crystal oscillator and PLL control
●Configuration of system response to interrupts
●Reset status capture and soft reset generation
●Watchdog and timer module clock enable
2.2.1 Clock and reset system
The clock system is a fully programmable block that generates all the clocks necessary to
the chip (see
Figure 3).
The default operating clock frequencies are:
●CPU_CLK @ 333 MHz for the CPU.
●HCLK @ 166 MHz for AHB bus and AHB peripherals.
●PCLK @ 83 MHz for, APB bus and APB peripherals.
●DDR_CLK @ 100-333 MHz for DDR memory interface.
The default values give the maximum allowed clock frequencies. The clock frequencies are
fully programmable through dedicated registers.
The clock system consists of 2 main parts: a multi clock generator block and three internal
PLLs.
12/72Doc ID 16482 Rev 2
SPEAr310Architecture overview
PLL1
DIV 2
PLL2
PLL3
DIV 4
HCLK
CPU_CLK
PCLK
DDR_CLK
CLK12MHZ
CLK30MHZ
CLK48MHZ
83 MHz
333 MHz
166 MHz
166 MHz
OSC
RTC
CLK32MHZ
32.768 kHz
24 MHz
Figure 3.Clock generator overview
The multi clock generator block, takes a reference signal (which is usually delivered by the
PLL), generates all clocks for the IPs of SPEAr310 according to dedicated programmable
registers.
Each PLL uses an oscillator input of 24 MHz to generate a clock signal at a frequency
corresponding at the highest of the group. This is the reference signal used by the multi
clock generator block to obtain all the other requested clocks for the group. Its main feature
is electromagnetic interference reduction capability.
The user can set up the PLL in order to modulate the VCO with a triangular wave. The
resulting signal has a spectrum (and power) spread over a small programmable range of
frequencies centered on F0 (the VCO frequency), obtaining minimum electromagnetic
emissions. This method replaces all the other traditional methods of EMI reduction, such as
filtering, ferrite beads, chokes, adding power layers and ground planes to PCBs, metal
shielding and so on. This gives the customer appreciable cost savings.
In sleep mode the SPEAr310 runs with the PLL disabled so the available frequency is 24
MHz or a sub-multiple (/2, /4, /8).
2.2.2 Power saving system mode control
Using three mode control bits, the system controller switch the SPEAr310 to any one of four
different modes: DOZE, SLEEP, SLOW and NORMAL.
●SLEEP mode: In this mode the system clocks, HCLK and CPU_CLK, are disabled and
the System Controller clock is driven by a low speed oscillator (nominally 32768 Hz).
When either a FIQ or an IRQ interrupt is generated (through the VIC) the system enters
Doc ID 16482 Rev 213/72
Architecture overviewSPEAr310
DOZE mode. Additionally, the operating mode setting in the system control register
automatically changes from SLEEP to DOZE.
●DOZE mode: In this mode the system clocks, HCLK and CPU_CLK, and the System
Controller clock are driven by a low speed oscillator. The System Controller moves into
SLEEP mode from DOZE mode only when none of the mode control bits are set and
the processor is in Wait-for-interrupt state. If SLOW mode or NORMAL mode is
required the system moves into the XTAL control transition state to initialize the crystal
oscillator.
●SLOW mode: During this mode, both the system clocks and the System Controller
clock are driven by the crystal oscillator. If NORMAL mode is selected, the system goes
into the "PLL control" transition state. If neither the SLOW nor the NORMAL mode
control bits are set, the system goes into the "Switch from XTAL" transition state.
●NORMAL mode: In NORMAL mode, both the system clocks and the System Controller
clock are driven by the PLL output. If the NORMAL mode control bit is not set, then the
system goes into the "Switch from PLL" transition state.
2.2.3 Vectored interrupt controller (VIC)
The VIC allows the OS interrupt handler to quickly dispatch interrupt service routines in
response to peripheral interrupts. There are 32 interrupt lines and the VIC uses a separate
bit position for each interrupt source. Software controls each request line to generate
software interrupts.
2.2.4 General purpose timers
SPEAr310 provides three general purpose timers (GPTs) acting as APB slaves. The timers
can capture input signals from up to 4 external pins (enabled as PL_GPIO alternate
functions).
Each GPT consists of 2 channels, each one made up of a programmable 16-bit counter and
a dedicated 8-bit timer clock prescaler. The programmable 8-bit prescaler performs a clock
division by 1 up to 256, and different input frequencies can be chosen through configuration
registers (a frequency range from 3.96 Hz to 48 MHz can be synthesized).
Two different modes of operation are available :
●Auto-reload mode, an interrupt source is activated, the counter is automatically cleared
and then it restarts incrementing.
●Single-shot mode, an interrupt source is activated, the counter is stopped and the GPT
is disabled.
2.2.5 Watchdog timer
The ARM watchdog module consists of a 32-bit down counter with a programmable timeout
interval that has the capability to generate an interrupt and a reset signal on timing out. The
watchdog module is intended to be used to apply a reset to a system in the event of a
software failure.
2.2.6 RTC oscillator
The RTC provides a 1-second resolution clock. This keeps time when the system is inactive
and can be used to wake the system up when a programmed alarm time is reached. It has a
14/72Doc ID 16482 Rev 2
SPEAr310Architecture overview
clock trimming feature to compensate for the accuracy of the 32.768 kHz crystal and a
secured time update.
Main features:
●Time-of-day clock in 24 hour mode
●Calendar
●Alarm capability
●Isolation mode, allowing RTC to work even if power is not supplied to the rest of the
device.
2.3 Multichannel DMA controller
Within its basic subsystem, SPEAr310 provides an DMA controller (DMAC) able to service
up to 8 independent DMA channels for sequential data transfers between single source and
destination (i.e., memory-to-memory, memory-to-peripheral, peripheral to- memory, and
peripheral-to-peripheral).
Each DMA channel can support a unidirectional transfer, with internal four-word FIFO per
channel.
2.4 Embedded memory units
●32 Kbytes of BootROM
●8 Kbytes of SRAM
2.5 Mobile DDR/DDR2 memory controller
SPEAr310 integrates a high performance multi-channel memory controller able to support
low power Mobile DDR and DDR2 double data rate memory devices. The multi-port
architecture ensures memory is shared efficiently among different high-bandwidth client
modules.
It has 6 internal ports. One of them is reserved for register access during the controller
initialization while the other five are used to access the external memory.
It also includes the physical layer (PHY) and DLLs for fine tuning the timing parameters to
maximize the data valid windows at different frequencies.
2.6 Serial memory interface
SPEAr310 provides a serial memory interface (SMI) to SPI-compatible off-chip memories.
These serial memories can be used either as data storage or for code execution.
Doc ID 16482 Rev 215/72
Architecture overviewSPEAr310
Main features:
●Supports the following SPI-compatible Flash and EEPROM devices:
–STMicroelectronics M25Pxxx, M45Pxxx
–STMicroelectronics M95xxx, except M95040, M95020 and M95010
–ATMEL AT25Fxx
–YMC Y25Fxx
–SST SST25LFxx
●Acts always as a SPI master and up to 2 SPI slave memory devices are supported
(with seperate chip select signals), with up to 16 MB address space each
●SMI clock signal (SMICLK) is generated by SMI (and input to all slaves)
●SMICLK can be up to 50 MHz in fast read mode (or 20 MHz in normal mode). It can be
controlled by a programmable 7-bit prescaler allowing up to 127 different clock
frequencies.
2.7 External memory interface (EMI)
The EMI Controller provides a simple external memory interface that can be used for
example to connect to NOR Flash memory or FPGA devices.
Main features:
●Multiplexed address and data bus.
●EMI bus master
●32, 16, 8-bit transfers.
●Can access 6 different peripherals using CS#, one at a time.
●Supports single asynchronous transfers.
●Supports peripherals which use Byte Lane procedure
2.8 Flexible static memory controller (FSMC)
SPEAr310 provides a Flexible Static Memory Controller (FSMC) which interfaces the AHB
bus to external parallel NAND Flash memories.
16/72Doc ID 16482 Rev 2
SPEAr310Architecture overview
Main features:
●8/16-bit wide data path
●FSMC performs only one access at a time and only one external device is accessed.
●Supports little-endian and big-endian memory architectures.
●AHB burst transfer handling to reduce access time to external devices.
●Supplies an independent configuration for each memory bank.
●Programmable timings to support a wide range of devices.
–Programmable wait states (up to 31).
–Programmable bus turnaround cycles (up to 15).
–Programmable output enable and write enable delays (up to 15).
●Independent chip select control for each memory bank.
●Shares the address bus and the data bus with all the external peripherals.
●Only chips selects are unique for each peripheral.
●External asynchronous wait control.
2.9 UARTs
The SPEAr310 has 5 UARTs featuring software flow control and 1 UART featuring hardware
and/or software flow control.
2.9.1 UART with hardware flow control
Main features:
●Separate 16 x 8 (16 locations deep x 8-bit wide) transmit and 16 x 12 receive FIFOs to
reduce CPU interrupts
●Speed up to 3 Mbps
●Hardware and/or software flow control
2.9.2 UARTs with software flow control
Main features:
●Separate 16 x 8 (16 location deep x 8-bit wide) transmit and 16 x 12 receive FIFOs to
reduce CPU interrupts
●Speed up to 5 Mbps.
Doc ID 16482 Rev 217/72
Architecture overviewSPEAr310
2.10 Synchronous serial port (SSP)
SPEAr310 provides one synchronous serial port (SSP) block that offers a master or slave
interface to enables synchronous serial communication with slave or master peripherals.