RSL10
www.onsemi.com
17
Arm Cortex−M3 Processor Subsystem
The Arm Cortex−M3 processor subsystem includes the
Arm Cortex−M3 processor, which is the master processor of
the RSL10 chip. It also contains the Bluetooth baseband
controller, and all interfaces and other peripherals.
Arm Cortex−M3 Processor
The Arm Cortex−M3 processor is a state−of−the−art
32−bit core with embedded multiplier and ALU for handling
typical control functions. Software development is done
in C.
It features a low gate count, low interrupt latency, and
low−cost debug functionality. It is primarily intended for
deeply embedded applications that require low power
consumption with fast interrupt response. The processor
implements the Arm architecture v7−M. For power
management, the processor can be placed under firmware
control, into a Standby mode, in which the processor clock
is disabled. The Nested Vectored Interrupt Controller
(NVIC) will continue to run to enable exiting Standby mode
on an interrupt.
LPDSP32
LPDSP32 is a C−programmable, 32−bit DSP developed
by ON Semiconductor. LPDSP32 is a high efficiency, dual
Harvard DSP that supports both single (32−bit) and double
precision (64−bit) arithmetic.
LPDSP32’s dual MAC unit, load store architecture is
specifically optimized to support audio processing tasks.
The advanced architecture also provides:
•Two 72−bit ALUs capable of doing single and double
precision arithmetic and logical operations
•Two 32−bit integer/fractional multipliers
•Four 64−bit accumulators with 8−bit overflow
(extension bits)
LPDSP32 can typically support the audio codecs needed to
deploy audio device communication use cases. This
includes (but is not limited to) codecs to support:
•A 16 kHz sample rate, producing a signal with a 7 kHz
bandwidth (E.g.; G.722 and mSBC codec)
•A 24 kHz sample rate, producing a signal with an
11 kHz bandwidth (E.g.: G.722, CELT codec from the
OPUS standard)
Communications to the Arm Cortex−M3 processor are
completed via interrupts and shared memories. Software
development is done in C, and the development tools are
provided upon request from Synopsys.
Interfaces
RSL10 includes:
•Two independent SPI interfaces that can be configured
in master and slave mode
•A fully configurable PCM interface
•A standard general purpose I2C interface
•A standard general purpose UART interface
•Two PWM (Pulse Width Modulation) drivers that can
generate a single bit output signal at a given frequency
•A two−channel digital microphone (DMIC) input
•An output driver (OD) to allow direct connection to
high impedance speakers
•SWJ−DP interface for the Arm Cortex−M3 processor
•JTAG interface for the Arm Cortex−M3 processor,
internal Flash memory, and the LPDSP32
RSL10 includes 16 DIO pads (Digital Input/Output) that all
can be assigned to any of the interfaces above, or used as
general purpose DIOs.
Peripherals
RSL10 includes:
•Four general purpose timers
•A DMA (Direct Memory Access) controller to transfer
data between peripherals and memories without any
core intervention
•A flash copier to initialize SRAM memories and that
can be used with the CRC blocks to validate flash
memory contents
•An Analog to Digital converter (ADC), accessed by the
Arm Cortex−M3 processor. The ADC can read 4
external values (DIO[0]−DIO[3]), AOUT, VDDC,
VBAT/2 and the ADC offset value.
•Two standard Cyclic Redundancy Code (CRC) blocks
to ensure data integrity of the user application code and
data
•An Asynchronous Sample Rate Converter (ASRC) and
Audio Sink Clock Counters blocks to provide a means
of synchronizing the audio sample rate between the
radio link and the host device
•A Watchdog timer to detect and recover from RSL10
malfunctions.
•Four autonomous 32−bit Activity Counters. These
counters help analyze how long the system has been
running and how much the Arm Cortex−M3 processor,
LPDSP32, and the flash memory have been used by the
application. This is useful information to estimate and
optimize the power consumption of the application.
•An IP protection system to ensure that the flash content
cannot be copied by a third party. It can be used to
prevent any core or memory of the RSL10 from being
accessed externally after the RSL10 has booted.
•Program memory loop caches for each processor to
reduce the RSL10 power consumption. This reduces the
number of flash and RAM memory accesses by caching
the program words that are read in these loops.
RSL10 Memory Structure
Table 10 lists the memory structures attached to RSL10,
and the size and width of each memory structure.