8-/16-bit
– Serial NOR Flash controller
– Parallel NAND Flash controller, 8-/16-bit
data bus
– Parallel NOR Flash/FPGA interface,
8-/16-bit data bus
■ Connectivity:
– 2 x USB 2.0 Host ports (integrated PHY)
– 1 x USB 2.0 Device port (integrated PHY)
– 2 x Fast Ethernet ports (external MII/RMII
PHY)
– 1 x MMC-SD card/SDIO controller
– 2 x CAN 2.0 ports
–7 x UART ports
– 3 x I2C ports: master/slave
– 3 x synchronous serial ports,
SPI/Microwire/TI protocols, master/slave
– 1 x RS485 interface
– 1 x fast IrDA interface
– 1 x legacy parallel port (IEEE 1284), slave
mode
– 10-bit ADC, 8 channels, 1 Msps
– Up to 102 GPIOs with interrupt capability
■ HMI support:
– LCD display controller, up to XGA
(1024 x 768, 24 bpp)
– Resistive touchscreen interface
– JPEG codec accelerator
– 1 x I2S digital audio port
■ Security
– Cryptographic co-processor
SPEAr320S
Embedded MPU with ARM926 core
Datasheet − production data
■ Miscellaneous functions:
– System controller, vectored interrupt
controller, watchdog, real-time clock
– Dynamic power-saving features
– 8-channel DMA controller
– 6 x 16-bit general purpose timers with
prescaler and 4 capture inputs
– 4 x PWM generators
– Debug and trace interfaces: JTAG/ETM
Applications
The SPEAr320S embedded MPU is configurable
for a range of industrial and consumer
applications such as:
■ Human machine interface (HMI) terminals
■ Factory automation / PLCs
■ Medical equipment
■ Smart energy meters and gateways
■ VoIP phones
■ Small printers
The device is hardware-compliant to the support
of both real-time (RTOS) and high-level (HLOS)
operating systems, such as Linux and Windows
Embedded Compact 7.
Table 1.Device summary
Order code
SPEAR320S-2-40 to 85
Temp
range, ° C
PackagePacking
LFBGA289
(15x15 mm,
pitch 0.8 mm)
Tr ay
April 2012Doc ID 022508 Rev 11/97
This is information on a product in full production.
SPEAr320S is a member of the SPEAr family of embedded MPUs and is optimized for
industrial automation and consumer markets. The device is based on the ARM926EJ-S
processor (up to 333 MHz), widely used in applications where the processing performance
is required to be higher than the one achievable with microcontrollers.
SPEAr320S provides an integrated MMU (memory management unit) which enables to
support high-level operating systems (HLLs), such as Linux and Windows Embedded
Compact
HMI, cryptography) allows the device to be used in a wide range of embedded applications.
The SPEAr320S architecture is based on multiple functional blocks interacting through a
multilayer interconnection bus matrix. The switch matrix structure allows different subsystem
data flows 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.
The SPEAr320S device is fully backward-compatible with the previous SPEAr320 product at
both hardware and software programming levels. The extended functionality is achieved by
enhanced I/O multiplexing, preserving the same pinout and ball map, as well as by a new
software-definable configuration mode.
7. In addition, a rich set of integrated peripherals (memory interfaces, connectivity,
Doc ID 022508 Rev 19/97
DescriptionSPEAr320S
MMU
ETMI/F
ARM9EJSCore
16KB
ICache
16KB
DCache
CPU
Subsystem
DisplayCtrl
JPEGCodec
I2SAudioI/F
USB2.0Host(2x)
USB2.0Device
HMIfeatures
Highspeedconnectivity
BUSMATRIXInterconnect
GPIO
XGPIO
SSP (3x)
FastIrDA
SPP
ADC
Lowspeedconnectivity
StaticMemoryCtrl
SerialFlashI/F
ExternalMemory
I/F
Memoryinterfaces
32KB
BootROM
DDR2/LPDDR
Ctrl
DMACtrl
Cryptographic
Coprocessor
Reset&clock
Generator
System
Controller
Config Regs
(MISC)
Timers(6x)
JTAGTrace
Opt.
Battery
CAN(2x)
PWM(4x)
RS485
FastEthernet
(2x)
I2C (3x)
UART (7x)
BusInterfaces
VectoredInterrupt
Controller
DebugI/F
4KB
StaticRAM
Watchdog
SDIO/MMC
Touchscreen I/F
RTC
Figure 1.SPEAr320S architectural block diagram
10/97Doc ID 022508 Rev 1
SPEAr320SDevice functions
2 Device functions
2.1 CPU subsystem
The core of the SPEAr320S is an ARM926EJ-S reduced instruction set computer (RISC)
processor.
Main features:
●Supports the 32-bit ARM and 16-bit Thumb instruction sets, enabling the user to trade
off between high performance and high code density. It also includes features for
efficient execution of Java byte codes.
●The ARM CPU can be clocked at a frequency up to 333 MHz and includes both an
instruction (16 KB) and a data cache (16 KB). In addition to the capability of running
any real-time operating system (RTOS) available for ARM9 processors, the
ARM926EJ-S subsystem also provides a memory management unit (MMU) that
enables to support high-level operating systems (HLLs) like Linux and Windows
Embedded Compact 7.
●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.
For detailed information, please refer to the following public documents available from the
●32 KB ROM (BootROM), storing a factory-defined device bootstrap firmware.
●8 KB Static RAM (SRAM), partly used by bootstrap firmware, but also available as
general-purpose memory after system startup.
The firmware in BootROM is automatically executed after SPEAr320S reset and supports
the following bootstrap modes:
●Boot from serial NOR Flash
●Boot from parallel NAND Flash
●Boot from parallel NOR Flash
●Boot from USB Device port
The BootROM firmware selects the boot mode from the boot pin settings (see Section 3.4.4:
Boot pins). A setting is also available to allow the BootROM execution to be bypassed.
Doc ID 022508 Rev 111/97
Device functionsSPEAr320S
The first three modes support alternate ways of locating and starting the selected operating
system or target custom software. Such modes require a second-level boot firmware to be
stored in external Flash memory. A reference code for such boot loader (called “XLoader”) is
provided by STMicroelectronics in source and binary formats for the SPEAr320S evaluation
boards. Such code must be adapted according to the specific DDR memory components
found on target customer systems.
The fourth mode can be used for installing and updating the software on external Flash
memories through a PC-based software utility provided by STMicroelectronics exploiting a
USB link between a PC and a target SPEAr320S board.
2.3 Multiport DDR controller (MPMC)
SPEAr320S integrates a high-performance controller able to manage DDR2 (double data
rate) and LPDDR (low power DDR) external dynamic memory devices.
Main features:
●Support for DDR2 up to 333 MHz (666 MT/sec)
●Support for LPDDR up to 166 MHz (333 MT/sec)
●Support for 8-/16-bit external data bus
●Support for up to 1 GByte DDR2/LPDDR memory address space
●Full initialization of memories on controller reset
●6 independent internal ports: five of them are used to access the external memory
while one is reserved for programming the controller configuration registers
●Programmable built-in port arbitration scheme to ensure high memory bandwidth
utilization
●Fully pipelined read and write commands
●Self-refresh mode for power saving
●Integrated physical layer (PHY) and delay locked loops (DLLs) for fine tuning of the
timing parameters, maximizing the data valid windows at different frequencies
2.4 Serial NOR Flash controller (SMI)
SPEAr320S integrates a Flash memory controller able to manage serial, SPI-compatible,
NOR Flash and EEPROM external memory devices.
Main features:
●Support for up to 32 MByte external serial memory storage capacity (2 x 16 MB
addressable banks by independent chip select signals)
●SMI clock up to 50 MHz (fast read mode) or 20 MHz (normal mode), with software
configurable 7-bit prescaler
The bootstrap requires that the external serial Flash is located at bank 0 (enabled after
power-on reset). During the boot phase, a sequence of instructions is automatically sent to
bank 0. Refer to SPEAr320S reference manuals for more details.
12/97Doc ID 022508 Rev 1
SPEAr320SDevice functions
The BootROM firmware has been tested with the following external serial memory
components:
●Micron M25P and M45P families (SPI Flash)
●Micron M95 family (SPI EEPROM), except for M95040, M95020 and M95010
●ATMEL AT25F family (SPI Flash)
●YMC Y25F family (SPI Flash)
●Microchip/SST SST25LF family (SPI Flash)
2.5 Parallel NAND Flash controller (FSMC)
SPEAr320S integrates a flexible static memory controller able to manage external parallel
NAND Flash memories.
Main features:
●8-/16-bit external data bus; 16-bit only supported when Mode 3 (expanded automation
mode) chip configuration is selected by software.
●Support for up to 4 memory banks
●Independent timing configuration and chip select signal for each memory bank
●Fully programmable timings:
–wait states (up to 31)
–bus turnaround cycles (up to 15)
–output enable and write enable delays (up to 15)
●External asynchronous wait control
●Internal AHB bus burst transfer support to reduce Flash memory access time
The BootROM firmware directly supports the external NAND Flash components shown in
Ta bl e 2.
Table 2.NAND Flash devices supported by the BootROM firmware
Part numberVendorDensityCapacity
K9F1208V0ASamsung64 Mb8 MBx8512 + 16 bytes
NAND128W3A28N6Micron128 Mb16 MBx8512 + 16 bytes
NAND256W3A2BN6Micron256 Mb32 MBx8512 + 16 bytes
KM29U256Samsung256 Mb32 MBx8512 + 16 bytes
NAND512W3A2C2A6Micron512 Mb64 MBx8512 + 16 bytes
NAND01GW3B2BN6Micron1 Gb128 MBx82048 + 64 bytes
NAND01GW4B2AN6Micron1 Gb128 MBx161024 words + 32 bytes
K9F1G16U0MSamsung1 Gb128 MBx161024 words + 32 bytes
NAND01GR3BMicron1 Gb128 MBx82048 + 64 bytes
NAND02GW3B2CN6Micron2 Gb256 MBx82048 + 64 bytes
NAND02GW3AMicron2 Gb256 MBx82048 + 64 bytes
Bus
width
Page size
Doc ID 022508 Rev 113/97
Device functionsSPEAr320S
Table 2.NAND Flash devices supported by the BootROM firmware (continued)
Part numberVendorDensityCapacity
K9F2G08V0ASamsung2 Gb256 MBx8512 + 16 bytes
NAND04GW3B2BN6Micron4 Gb512 MBx82048 + 64 bytes
K9F4G08V0ASamsung4 Gb512 MBx8512 + 16 bytes
NAND08GW3B2CN6Micron8 Gb1 GBx82048 + 64 bytes
K9K8G08V0ASamsung8 Gb1 GBx8512 + 16 bytes
K9F8G08V0MSamsung8 Gb1 GBx8512 + 16 bytes
2.6 External memory interface (EMI)
SPEAr320S integrates an additional external memory interface that can be used to manage
external parallel NOR Flash memories as well as FPGA devices. This interface is available
only when Mode 3 (expanded automation mode) chip configuration is selected by software.
Main features:
●24-bit address bus
●16-bit data bus
●4 chip select signals
●Support for single asynchronous transfers
●Support for peripherals using Byte Lane procedure
Bus
width
Page size
The external Flash component must be in read mode at reset. Usually, this is true for most
parallel NOR devices.
2.7 USB 2.0 Host ports (UHC)
SPEAr320S provides two USB 2.0 Host ports with integrated PHYs.
Main features:
●Each port can be independently configured for high-speed mode (USB 2.0, up to
480 Mbps); in this case, the corresponding controller is programmed according to
standard EHCI specifications.
●Each port can be independently configured for full-speed mode (USB 1.1, up to
12 Mbps) or low-speed mode (USB 1.1, up to 1.5 Mbps); in this case, the
corresponding controller is programmed according to standard OHCI specifications.
●Internal 2 KB FIFO queues
●Internal DMA support
●Dedicated output control signals to manage external power switches
●Dedicated input signals to sense any over-current condition detected by external power
switches
14/97Doc ID 022508 Rev 1
SPEAr320SDevice functions
2.8 USB 2.0 Device port (UDC)
SPEAr320S provides a USB 2.0 Device port with integrated PHY.
Main features:
●Support for all standard modes:
–high-speed mode (USB 2.0, up to 480 Mbps)
–full-speed mode (USB 1.1, up to 12 Mbps)
–low-speed mode (USB 1.1, up to 1.5 Mbps)
●Up to 16 physical endpoints, configurable as different logical endpoints
●Internal 4 KB FIFO queue (shared among all the endpoints)
●DMA mode, with descriptor-based structures in application memory
●Slave-only mode
●Support for 8-, 16- and 32-bit wide data transactions on the internal bus
●Support for USB plug detection (UPD)
2.9 Fast Ethernet ports (MII/RMII)
SPEAr320S features three multiplexed Ethernet MACs, supporting up to two ports
concurrently.
The three controllers are named:
●MII0
●RMII0
●MII1/RMII1
2.9.1 MII0 Ethernet controller
Main features:
●Media independent interface (MII) to an external PHY as defined in the IEEE 802.3u
specification
●Support for 10 and 100 Mbps data transfer rates
●Support for both full-duplex and half-duplex (CSMA/CD protocol) operating modes
●Integrated FIFO queues (4 KB RX, 2 KB TX)
●Native DMA with single-channel transmit and receive engines, providing 32-/64-/128-bit
data transfers; DMA provides ring-buffer or linked-list descriptor options.
●Programmable Ethernet frame length to support both standard and jumbo frames (with
size up to 16 KB)
●Flexible address filtering modes
●Statistics counter registers for RMON/MIB
●Support for 802.1Q VLAN tagging
●Wake-on-LAN support
●Automatic padding and CRC generation on transmitted frames
Doc ID 022508 Rev 115/97
Device functionsSPEAr320S
2.9.2 RMII0 and MII1/RMII1 Ethernet controllers
These functional blocks extend Ethernet capability by covering the Media independent
interface (MII) and Reduced media independent interface (RMII) standards.
They can be used in two ways:
●as a single additional MAC controller with Media independent interface (MII1)
●as two MAC controllers with Reduced media independent interface (RMII0, RMII1)
In RMII configuration, each controller has an independent set of data and control lines. The
reference clock (50
Main features:
●Compatible with IEEE Standard 802.3
●UNH tested
●10 and 100 Mbit/s operation
●Full and half duplex operation
●Statistics counter registers for RMON/MIB
●Automatic pad and CRC generation on transmitted frames
●Automatic discard of frames received with errors
●Address checking logic supports up to four specific 48-bit addresses
●Supports promiscuous mode where all valid received frames are copied to memory
●Hash matching of unicast and multicast destination addresses
●External address matching of received frames
●Supports serial network interface operation
●Half-duplex flow control by forcing collisions on incoming frames
●Full-duplex flow control with recognition of incoming pause frames and hardware
generation of transmitted pause frames
●Support for 802.1Q VLAN tagging with recognition of incoming VLAN and priority
tagged frames
●Multiple buffers per receive and transmit frame
●Jumbo frames of up to 10240 bytes supported
MHz) is shared by the controllers.
2.10 MMC-SD card/SDIO controller
The MMC-SD card /SDIO controller conforms to the SD Host Controller Standard
Specification, version 2.0. It handles SD/SDIO protocol at transmission level by packing
data, adding cyclic redundancy check (CRC) and start/end bit as well as checking for
transaction format correctness.
The controller is designed to work with I/O cards, read-only cards and read/write cards, and
can operate either in SD mode (1-bit, 4-bit, 8-bit) or in SPI mode.
16/97Doc ID 022508 Rev 1
SPEAr320SDevice functions
The interface is compliant to the following standards:
●SD Host Controller Standard Specification, version 2.0
●SDIO Card Specification, version 2.0
●SD Memory Card Specification Draft, version 2.0
●SD Memory Card Security Specification, version 1.01
●MMC Specification, version 3.31 and 4.2
Main features:
●Up to 100 Mbps data rate using 4 parallel data lines (SD4 bit mode)
●Up to 416 Mbps data rate using 8-bit parallel data lines (SD8 bit mode)
●DMA-based and non-DMA modes of operation
●Support for MMC Plus and MMC Mobile
●Card detection (insertion / removal)
●Card password protection
●Host clock rate variable between 0 and 48 MHz
●Multimedia card interrupt mode
●Cyclic redundancy check: CRC7 (command) and CRC16 (data integrity)
●Error correction code (ECC) support for MMC4.2 cards
●Supports for Read Wait Control and Suspend/Resume
●FIFO overrun and under-run handling by stopping SD clock
2.11 CAN 2.0 ports
SPEAr320S provides two independent CAN (controller area network) bus ports, typically
used in automotive, industrial and medical applications. For the connection to the physical
layer, an additional transceiver per port is required.
For communication on a CAN network, the controller enables to configure individual
message objects. The message objects and identifier masks for acceptance filtering of
received messages are stored in an integrated message RAM. All functions concerning the
handling of messages are implemented by a message handler. Those functions are the
acceptance filtering, the transfer of messages between the CAN core and the message
RAM, the handling of transmission requests as well as the generation of interrupts.
Main features:
●Support for CAN protocol, version 2.0 part A and B
●Transfer rate up to 1 Mbps
●Internal RAM storage for up to 16 message objects (16 x 136 bytes memory)
●Identifier mask per message object
●Maskable interrupts
●Programmable loop-back mode for self-test operation
●Disabled automatic retransmission mode for time triggered CAN applications
Doc ID 022508 Rev 117/97
Device functionsSPEAr320S
2.12 Asynchronous serial ports (UART)
The SPEAr320S has 7 UART ports. The actual number of concurrently exploitable ports
depends on the selected chip operating mode. The different capabilities of each port are
summarized in
Table 3.SPEAr320S UART capabilities
PortSpeedHardware flow controlModem signals
UART0Up to 3 MbpsYesYes (as alternate function)
UART1Up to 7 MbpsYes (except for Mode 1 and 2) Yes (except for Mode 1 and 2)
●Automatic generation of preamble, start and stop flags
●RZI (return-to-zero inverted) modulation/demodulation scheme for SIR and MIR modes
●4PPM (4-pulse position modulation) modulation/demodulation scheme for FIR mode
●Synchronization by DPLL in FIR mode
●Payload data transfer controllable by either CPU or DMA controller
●Two clock domains:
–Dedicated clock (IRDA_CLK signal) for accurate signal generation (48 MHz)
–Independent and variable clock for the bus interface (13 MHz)
2.17 Legacy IEEE 1284 parallel port (SPP)
SPEAr320S provides a parallel port (slave mode only) compliant to the legacy IEEE 1284
standard.
Main features:
●Unidirectional 8-bit data transfer from SPEAr320S slave to external host
●Additional 9th bit for parity/data/command
●Maskable interrupts for data, device reset, auto line feed
20/97Doc ID 022508 Rev 1
SPEAr320SDevice functions
2.18 A/D converter (ADC)
SPEAr320S provides an integrated analog-to-digital converter.
Main features:
●Successive approximation conversion method
●8 x analog input channels, ranging from 0 to 2.5 V
●10-bit resolution
●Sampling rate up to 1 Msamples/s
●Support for 13.5-bit resolution at 8 Ksamples/s by oversampling and accumulation
●INL ± 1 LSB, DNL ± 1 LSB
●Programmable conversion speed (minimum conversion time is 1 µs)
●Programmable averaging of multiple values from 1 (no averaging) up to 128
●Programmable auto scan for all the 8 channels
2.19 General purpose I/Os (GPIO/XGPIO)
Up to 102 GPIOs are available in SPEAr320S when some embedded IPs are not needed in
the customer application (see
Section 3.4: Shared IO pins (PL_GPIOs)).
SPEAr320S provides two mechanisms:
●a basic GPIO module (called “basGPIO”): this functional block provides 6 pins, each
one programmable by software with the following features:
–direction: input (default at reset) or output
–interrupt triggering mode
●the possibility to configure and use any PL_GPIO pin as alternative to the
corresponding predefined signal purpose (called extended GPIO or “XGPIO”). XGPIOs
have the same capability of basic GPIOs, while the register programming model is
different.
Doc ID 022508 Rev 121/97
Device functionsSPEAr320S
2.20 LCD display controller (CLCD)
SPEAr320S has an integrated display controller able to directly interface a variety of color
and monochrome LCD panels.
Main features:
●Programmable resolution up to 1024 x 768 (XGA)
●Programmable timing parameters
●Support for TFT (thin film transistor) color displays
●Supports for STN (super twisted nematic) displays (single and dual panel) with 4- or 8-
bit interfaces
●AC bias signal for STN and data enable signal for TFT panels
●Gray scaling algorithm
The set of supported pixel widths and formats for each display type is shown in Ta b le 4.
Table 4.Pixel widths and formats available for different display types
Display1 bpp 2 bpp 4 bpp 8 bpp 16 bpp 24 bpp
Palette of 16
colors over
64K
Palette of 16
colors over
3375
Palette of 16
gray levels over
15
Color TFT
Color STN
Mono STN
Palette of 2
colors over 64K
Palette of 2
colors over 3375
Palette of 2 gray
levels over 15
Palette of 4
colors over 64K
Palette of 4
colors over 3375
Palette of 4 gray
levels over 15
2.21 Touchscreen interface (OUT_X)
SPEAr320S provides a toggling output signal (OUT_X) that can be connected to an external
touchscreen panel. This interface operates in combination with the A/D converter (ADC).
Two coordinates can be read by software from the ADC: one at the end of the high period
and one at the end of the low period of OUT_X signal.
Palette of
256 colors
over 64K
Palette of
256 colors
over 3375
Palette of
256 colors
over 3375
RGB 5:5:5 +
intensity
(64K colors)
RGB 4:4:4
(4096 colors)
--
RGB 8:8:8
(16M colors)
-
22/97Doc ID 022508 Rev 1
SPEAr320SDevice functions
2.22 JPEG codec accelerator (JPGC)
SPEAr320S provides an integrated hardware accelerator for decoding and encoding
standard JPEG images.
JPEG data streams to be decoded must be compliant with the interchange format syntax
specified in the ISO/IEC 10918-1. The JFIF image file format is also supported through
header processing.
The output format for decoding (and input format for encoding) is a MCU stream, not a
conventional bitmap format like RGB. Displaying a decoded JPEG still picture would require
further steps and algorithms like color space conversion and scaling.
Main features:
●Compliance with the baseline JPEG standard (ISO/IEC 10918-1)
●Single-clock per pixel encoding/decoding
●Support for up to four channels of component color
●8-bit/channel pixel depths
●Programmable quantization tables (up to four)
●Programmable Huffman tables (two AC and two DC)
●Programmable minimum coded unit (MCU)
●Configurable JPEG header processing
●Support for restart marker insertion
●Use of two DMA channels and two 8 x 32-bit FIFOs (local to the JPEG) for efficient
transferring and buffering of encoded/decoded data from/to the Codec core.
2.23 Digital audio port (I2S)
The SPEAr320S integrates a digital audio port compliant to standard I2S (Philips)
specifications.
Main features:
●I2S master mode
●Stereo (2.0) playback and recording
●Support for standard sampling rates (8, 16, 32, 44.1, 48, 96, 192 kHz); the clock input is
24 MHz, so the rate precision depends on the chosen rate and divider.
●Support of a range of audio samples: 12 / 16 / 20 / 24/ 32 bits
●Programmable thresholds for internal FIFO queues
●Capability of using DMA transfer
2.24 Cryptographic co-processor (C3)
SPEAr320S provides an embedded cryptographic co-processor (C3). C3 is a high-
performance instruction-driven DMA-based engine that can be used to accelerate the
processing of security algorithms.
After its initial configuration by the main CPU, it runs in a completely autonomous way (DMA
data in, data processing, DMA data out), until the completion of all the requested operations.
C3 firmware is fetched from system memory.
Doc ID 022508 Rev 123/97
Device functionsSPEAr320S
Main features:
●Supported cryptographic algorithms:
–Advanced encryption standard (AES) cipher in ECB, CBC, CTR modes
–Data encryption standard (DES) cipher in ECB and CBC modes
–SHA-1, HMAC-SHA-1, MD5, HMAC-MD5 digests
●Hardware chaining of cryptographic stages for optimized data flow when multiple
algorithms are required to process the same set of data (for example, encryption and
hashing on the fly)
2.25 System controller (SYSCTR)
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
Using three mode control bits, the system controller switches the SPEAr320S to any of the
four different modes: DOZE, SLEEP, SLOW and NORMAL.
●SLEEP mode: in this mode, the system clocks, HCLK and CLK, are disabled and the
system controller clock, SCLK, 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 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 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.
24/97Doc ID 022508 Rev 1
SPEAr320SDevice functions
2.25.1 Reset and clock generator
The reset and clock generator is a fully programmable block that generates all the clocks
necessary to the chip.
The default operating clock frequencies are:
●Clock @ 333 MHz for the CPU.
●Clock @ 166 MHz for AHB bus and AHB peripherals.
●Clock @ 83 MHz for, APB bus and APB peripherals.
●Clock @ 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 reset and clock generator consists of 2 main parts:
●a multiclock generator block
●two internal PLLs
The multiclock generator block receives a reference signal (which is usually delivered by the
PLL) and generates all clocks for SPEAr320S IPs 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 multiclock
generator block to obtain all the other requested clocks for the group. Its main feature is the
You 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 offers important cost savings.
In sleep mode, SPEAr320S runs with the PLL disabled, so the available frequency is
24
MHz or a sub-multiple (/2, /4, /8).
2.26 Vectored interrupt controller (VIC)
SPEAr320S integrates a vectored interrupt controller which provides a software interface to
the interrupt system. In any system with an interrupt controller, the software has to
determine the source that requests service and where its service routine is loaded. The VIC
inside SPEAr320S does both of these in hardware. It supplies the starting address, or vector
address, of the service routine corresponding to the highest priority requesting interrupt
source.
As in any ARM9-based system, two levels of interrupts are available:
●fast interrupt requests (FIQ), for fast, low latency interrupt handling
●normal interrupt requests (IRQ), for more general interrupts
The interrupt inputs must be level sensitive, active HIGH, and held asserted until the
interrupt service routine clears the interrupt. Edge-triggered interrupts are not compatible.
The interrupt inputs do not have to be synchronous to HCLK. The VIC does not handle
interrupt sources with transient behavior. For example, an interrupt is asserted and then de-
Doc ID 022508 Rev 125/97
Device functionsSPEAr320S
asserted before software can clear the interrupt source. In this case, the CPU acknowledges
the interrupt and obtains the vectored address for the interrupt from the VIC, assuming that
no other interrupt has occurred to overwrite the vectored address. However, when a
transient interrupt occurs, the priority logic of the VIC is not set, and lower priority interrupts
can interrupt the transient interrupt service routine, assuming interrupt nesting is permitted.
There are 32 interrupt lines. The VIC uses a bit position for each different interrupt source.
The software can control each request line to generate software interrupts. There are 16
vectored interrupts. These interrupts can only generate an IRQ interrupt. The vectored and
non-vectored IRQ interrupts provide an address for an interrupt service routine (ISR). The
FIQ interrupt has the highest priority, followed by interrupt vector 0 to interrupt vector 15.
Non-vectored IRQ interrupts have the lowest priority.
The specific interrupt map for the SPEAr320S device is documented in the companion
reference manuals.
2.27 Watchdog timer (WDT)
The ARM watchdog module consists of a 32-bit down counter with a programmable time-out
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.28 Real-time clock (RTC)
The real-time clock provides an 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. RTC has a 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.29 DMA controller (DMAC)
SPEAr320S provides one DMA controller.
Main features:
●Able to service up to 8 independent DMA channels for serial data transfers between
single source and destination (for instance, 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.
26/97Doc ID 022508 Rev 1
SPEAr320SDevice functions
2.30 General purpose timers (GPT)
SPEAr320S provides 6 general purpose timers.
Main features:
●Each timer provides a programmable 16-bit counter and a dedicated 4-bit prescaler
able to perform a clock division by 1 up to 256 (different input frequencies can be
chosen through configuration registers, in the range from 3.96 Hz to 48 MHz)
●Operating modes:
–Auto-reload mode: when a software-defined value is reached, an interrupt is
triggered and the counter automatically restarts from zero
–Single-shot mode: when a software-defined value is reached, an interrupt is
triggered, the counter is stopped and the timer is disabled
●Capture capability (only for 4 timers)
2.31 Pulse width modulators (PWM)
SPEAr320S integrates 4 PWM (pulse width modulation) signal generators.
Main features:
●Prescaler to define the input clock frequency to each timer
●Programmable duty cycle from 0% to 100%
●Programmable pulse length
Doc ID 022508 Rev 127/97
Pin descriptionSPEAr320S
3 Pin description
This chapter provides a full description of the ball characteristics and the signal multiplexing
of SPEAr320S device.
Section 3.1 shows the pin/ball map of SPEAr320S.
Section 3.2 lists the required external components to connect.
Section 3.3 describes some dedicated pins, such as:
●Clock, reset and 3V3 comparator pins
●Power supply pins
●Debug pins
●Non-multiplexed pins
Section 3.4 provides a complete description of the shared IO pins (PL_GPIOs) and their
configuration modes, as well as detailed information on all multiplexed signals, grouped by
IP.
Section 3.5 explains the available debug modes.
The following table defines the table headers and abbreviations used in this chapter.
Table 5.Headers/abbreviations
HeaderDescriptionAbbreviations
GroupGrouping of signals of the same type/functional block. –
Signal nameName of signal multiplexed on each ball.–
I= Input
Direction (Dir.)Indicates the direction of the signal.
PL_GPIO_# /Ball
Configuration mode
Pin typePad type information
Val ueIndicates the electrical value on the ball.–
PL_GPIO and ball number associated with each
signal on the package.
Indicates the available configuration mode among the
following ones:
– Mode 1
– Mode 2
– Mode 3
– Mode 4
– Alternate function
– Extended mode
See Section 3.4.2 for the description of each mode.