– 2 x USB 2.0 Host
– USB 2.0 Device
– Fast Ethernet (MII port)
– 1x SSP Synchronous serial peripheral
(SPI, Microwire or TI protocol)
– 1x I
– 1x I
– 1x fast IrDA interface
– 1x UART interface
– TDM bus (512 timeslots)
– Up to 8 additional I
■ Security
– C3 cryptographic accelerator
■ Peripherals supported
– Camera interface (ITU-601/656 and CSI2
– TFT/STN LCD controller (resolution up to
2
C
2
S,
2
C/SPI chip selects
support)
1024 x 768 and up to 24 bpp)
SPEAr300
– Touchscreen support (using the ADC)
– 9 x 9 keyboard controller
– Glueless management of up to 8
SLICs/CODECs
■ Miscellaneous functions
– Integrated real time clock, watchdog, and
system controller
– 8-channel 10-bit ADC, 1 Msps
–1-bit DAC
– JPEG codec accelerator
– Six 16-bit general purpose timers with
capture mode and programmable prescaler
– Up to 62 GPIOs
Applications
■ SPEAr300 embedded MPU is configurable in
13 sets of peripheral functions targeting a
range of applications:
– General purpose NAND Flash or NOR
Flash based devices
– Digital photo frames
– WiFi or IP phones (low end or high end)
– ATA PABX systems (with or without I
– 8-bit or 14-bit camera (with or without LCD)
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 SPEAr300 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 SPEAr300 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 16324 Rev 213/83
Architecture overviewSPEAr300
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.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.4 General purpose timers
SPEAr300 provides three general purpose timers (GPTs) acting as APB slaves.
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 SPEAr300
configuration registers (frequencies ranging 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.5 Watchdog timer
The watchdog timer 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.
14/83Doc ID 16324 Rev 2
SPEAr300Architecture overview
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
clock trimming feature to compensate for the accuracy of the 32.768 kHz crystal and a
secured time update.
2.7 Multichannel DMA controller
Within its basic subsystem, SPEAr300 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.8 Embedded memory units
●32 Kbytes of BootROM
●Up to 57 Kbytes of SRAM
The size of available SRAM varies according to the peripheral configuration mode See
Ta bl e 10.:
●57 Kbytes in modes 1 and 2
●8 Kbytes in modes 3 to 13.
2.9 Mobile DDR/DDR2 memory controller
SPEAr300 integrates a high performances 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 include the physical layer (PHY) and some DLLs that allow fine tuning of all the timing
parameters to maximize the data valid windows at any frequency in the allowed range.
2.10 Serial memory interface
SPEAr300 provides a serial memory interface (SMI) to SPI-compatible off-chip memories.
These serial memories can be used for both data storage and code execution.
Doc ID 16324 Rev 215/83
Architecture overviewSPEAr300
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
(through as many 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 7 programmable bits.
16/83Doc ID 16324 Rev 2
SPEAr300Architecture overview
2.11 Flexible static memory controller (FSMC)
SPEAr300 provides a Flexible Static Memory Controller (FSMC) which interfaces the AHB
bus to external NAND/NOR Flash memories and to asynchronous SRAM memories.
Main features:
●Provides an interface between AHB system bus and external parallel memory devices
●Interfaces static memory-mapped devices including RAM, ROM and synchronous burst
Flash.
●For SRAM and Flash 8/16-bit wide, external memory and data paths are provided
●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)
●Provides independent chip select control for each memory bank
●Shares the address bus and the data bus with all the external peripherals. Only the chip
selects are unique for each peripheral
●External asynchronous wait control
2.12 UART
Main features:
●Hardware/software flow control
●Modem control signals
●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.
2.13 Fast IrDA controller (FIrDA)
The fast IrDA controller is a programmable infrared controller that acts as an interface to an
off-chip infrared transceiver. This controller is able to perform the modulation and the
demodulation of the infrared signals and the wrapping of the IrDA link access protocol
(IrLAP) frames.
Doc ID 16324 Rev 217/83
Architecture overviewSPEAr300
Main features:
●Supports IrDA serial infrared physical layer specification (IrPHY), version 1.3
●Supports IrDA link access protocol (IrLAP), version 1.1
●Serial infrared (SIR), with rates 9.6 Kbps, 19.2 Kbps, 38.4 Kbps, 57.6 Kbps and
●115.2 Kbps
●Medium infrared (MIR), with rates 576 Kbps and 1.152 Mbps
●Fast infrared (FIR), with rate 4 Mbps.
●Transceiver interface compliant with all IrDA transceivers with configurable TX and RX
signal polarity.
●Half-duplex infrared frame transmission and reception.
●16-bit CRC algorithm for SIR and MIR, and 32-bit CRC algorithm for FIR.
2.14 Synchronous serial port (SSP)
SPEAr300 provides one synchronous serial port (SSP) block that offers a master or slave
interface for synchronous serial communication with slave or master peripherals
●Independent masking of transmit FIFO, receive FIFO, and receive overrun interrupts
●DMA interface
18/83Doc ID 16324 Rev 2
SPEAr300Architecture overview
2.15 I2C
The I2C controller, acts as an APB slave interface to the two-wire serial I2C bus.
Main features:
●Compliance to the I2C-bus specification (Philips)
2
●I
C v2.0 compatible.
●Operates in three different speed modes:
–Standard (100 kbps)
–Fast (400 kbps)
–High-speed (3.4 Mbps)
●Master and slave mode configuration possible
●7-bit or 10-bit addressing
●7-bit or 10-bit combined format transfers
●Slave bulk data transfer capability.
●Connection with general purpose DMA is provided to reduce the CPU load.
●Interrupt or polled-mode operation
Doc ID 16324 Rev 219/83
Architecture overviewSPEAr300
2.16 SPI_I2C multiple slave control
The SPI interface has only one slave select signal, SS0.
The I2C interface does not allow control of several devices with the same address, which is
frequently required for CODECs.
The SPI_I2C extension allows management of up to 8 SPI devices, or 8 I2C devices at the
same address (total SPI+I
The SPI extension is made by generating three more slave select signals SS1, SS2 and
SS3.
The I2C extension is done by replicating the I2C_SCL signal if the corresponding pin is set
active.Otherwise the pin remains low, so that the start condition is not met.
Each of the 8 pins can reproduce either the SPI SS0 signal, or the I2C_SCL signal. The
selection is made through a register.
2.17 TDM interface
The TDM block implements time division multiplexing.
Main features:
●TDM interface with 512 timeslotsand up to 16 bufferization channels.
●32 ms bufferization for 16 channels (of 4 bytes each)
●Supports master and slave mode operation
●Programmable clock and synchronization signal generation in master mode
●Clock & synchronization signal recovery in slave mode
●8 programmable synchronization signals for CODECs
●Uses 11 pins:
–SYNC7-0 are dedicated frame syncs for CODECs without timeslot recognition
–CLK is the TDM clock
–DIN is the TDM input and receives the data
–DOUT is the TDM output and transmits the data. It can be high impedance on a
unused timeslot
●The TDM interface can be the master or a slave of the CLK or SYNC0 signals.
●Timeslots can be used for switching or bufferization purposes:
–Switching and bufferization can be used concurrently for different timeslots on the
same TDM
–The only limitation is that an output timeslot can not be switched and bufferized at
the same time.
–Timeslot switching: any of the output time slots can receive any input timeslot of
the previous frame. The connection memory is part of the action memory,
indicating which timeslot has to be output.
–Timeslot bufferization: data from DIN is stored in an input buffer and data from an
output buffer is played on DOUT. When the number of samples stored/played
reaches the buffer size, the processor is interrupted in order to read the input
buffer and prepare a new output buffer (or a DMA request is generated).
2
C devices=8).
20/83Doc ID 16324 Rev 2
SPEAr300Architecture overview
2.18 I2S interface
The I2S interface is very similar to the TDM block, but the frame sync is limited to Philips I2S
definition. It is composed of 4 signals:
●I2S_LRCK; Left and right channels synchronization (Master/slave)
●I2S_CLK: I
●I2S_DIN: I
●I2S DOUT: I
The DOUT line can be high impedance when out of samples. Data is always stored in 32 bit
format in the buffer. A shift left operation is possible to left align the data.
Main features:
●Can be master or slave for the clock and sync signals
●Buffering of up to 1024 samples (512 left and 512 right samples representing 64 ms of
voice). Data is stored always on 32 bits.
●Left and right channels are stored in two different buffers.
●Two banks are used to exchange data with the processor.
●In master mode, LRCK can be adjusted for 8, 16 or 32 bits width.
●Data width can be less than LRCK width. Input (received on I2S_DIN) and output
(transmitted on DOUT) can be 8, 16 or 32 bits.
2
S clock (Master/slave)
2
S clock (Master/slave)
2
S output (tri-state)
2.19 GPIOs
The General Purpose Input/Outputs (GPIOs) provide programmable inputs or outputs.
Main features:
●Individually programmable input/output pins implemented in 3 blocks:
–Up to 6 base GPIOs in the basic subsystem (basGPIO)
–Up to 18 GPIOs in the RAS subsystem (G10 and G8)
–Up to 18 GPIOs in the keyboard controller
–Up to 8 GPIOs in the independent GPIO block (GPIO[7:0])
●Programmable interrupt generation capability up to 22 pins.
●Base GPIOs and independent GPIOs support bit masking in both read and write
operation through address lines.
Up to 62 general purpose I/Os are available in Mode 4 (LEND_IP_ph) (see Tab le 10).
●In this mode the application can use:
–10 GPIOs in G10 block
–8 GPIOs in G8 block (0 to 3 in output mode only)
–18 GPIO (keyboard controller I/Os in GPIO mode)
–6 base GPIOs (basGPIO) (enabled as alternate functions (see Table 11)
–8 IT pins (input only, with interrupt capability)
–4 SYNC outputs (SYNC4-7)
–8 SPI_I2C outputs
Doc ID 16324 Rev 221/83
Architecture overviewSPEAr300
2.20 Keyboard controller
SPEAr300 provides a GPIO/keyboard controller block which is a two-mode input and output
port.
Main features:
●The selection between the two modes is an APB Bus programmable bit.
●Keyboard interface uses 18 pins
●18-bit general-purpose parallel port with input or output single pin programmability
●Pins can be used as general purpose I/O or to drive a 9 x 9 keyboard (81 keys)
●Keyboard scan period can be adjusted between 10 ms and 80 ms
●Supports auto-scanning with debouncing.
2.21 CLCD controller
SPEAr300 has a color liquid crystal display controller (CLCDC) that provides all the
necessary control signals to interface directly to a variety of color and monochrome LCD
panels.
Main features:
●Resolution programmable up to 1024 x 768
●16-bpp true-color non-palletized, for color STN and TFT
●24-bpp true-color non-palletized, for color TFT
●Supports single and dual panel mono super twisted nematic (STN) displays with 4 or 8-
bit interfaces
●Supports single and dual-panel color and monochrome STN displays
●Supports thin film transistor (TFT) color displays
●15 gray-level mono, 3375 color STN, and 32 K color TFT support
●1, 2, or 4 bits per pixel (bpp) palletized displays for mono STN
●1, 2, 4 or 8-bpp palletized color displays for color STN and TFT
●Programmable timing for different display panels
●256 entry, 16-bit palette RAM, arranged as a 128 x 32-bit RAM physically frame, line
and pixel clock signals
●AC bias signal for STN and data enable signal for TFT panels patented gray scale
algorithm
●Supports little and big-endian
22/83Doc ID 16324 Rev 2
SPEAr300Architecture overview
2.22 Camera interface
The camera interface receives data from a sensor in parallel mode (8 to 14-bits) by storing a
full line in a buffer memory, then requesting a DMA transfer or interrupting the processor.
When all the lines of a frame are transferred, a frame sync interrupt is generated.
Main features:
●Supports both hardware synchronization (HSYNC and VSYNC signals) and embedded