Datasheet Revision 3.0 28-February-2018
CFR0011-120-00-FM Rev 5 16 of 454 © 2018 Dialog Semiconductor
DA14680
Bluetooth Low Energy 4.2 SoC with FLASH
FINAL
3 System overview
3.1 INTERNAL BLOCKS
The DA14680 contains the following blocks:
ARM Cortex
TM
M0 CPU with Wake-up Interrupt Con-
troller (WIC). This processor provides 0.9 dMIPS/MHz
and is used for implementing the higher layers of the
Bluetooth Low Energy protocol. It is also used for the
application requirements including controlling of the
power scheme of the system, reaching up to 86 dMIPs
if required. It is accompanied by a powerful cache con-
troller with configurable associativity, cache line size
and RAM size.
BLE 4.2 Core. This is the baseband hardware acceler-
ator for the Bluetooth Low Energy protocol.
Co-existence The CoEx sub-block implements a coex-
istence interface with external collocated modules
interfering with the 2.4GHz ISM band. A three wire
interface is realized to sync with the external modules
about the priority and the activity of the internal radio.
FLASH. This is an 8 Mbit low power Quad-SPI FLASH
which is used to directly execute code from (using the
CPU cache) or mirror the contents into the data RAM.
ROM. This is a 128 kB ROM containing the Bluetooth
Low Energy protocol stack as well as the boot code
sequence.
OTP. This is a 64 kB One Time Programmable memory
array, used to store the application code as well as the
Bluetooth Low Energy profiles. It also contains sys-
tem’s configuration and calibration values.
Data RAM. This is a 128 kB Data RAM (DataRAM)
which can be used for mirroring the program code from
the OTP when the system wakes/powers up or as a
normal data RAM when the system executes code
directly from OTP or QSPI FLASH. It also serves as
Data RAM for variables and various data that the proto-
col requires to be retained when system goes to sleep.
It comprises 5 physical RAM cells, all with content
retaining capability.
Cache/Tag RAM. This is a 16 kB data RAM used pri-
marily by the cache controller (CacheRAM). It is
accompanied by a Tag RAM. In mirrored mode the
CacheRAM can be used as an extension of the Data-
RAM, increasing the available memory to 144 kB.
Cache controller. This is an instruction cache control-
ler used for code execution directly from OTP or QSPI
FLASH, thus reducing accesses to these memories.
UART and UART2. Asynchronous serial interfaces.
UART2 implements hardware flow control with a FIFO
of 16 bytes depth.
SPI and SPI2. These are the serial peripheral inter-
faces with master/slave capability with a 16-bit wide
FIFO of 16 places.
I2C and I2C2. These are Master/Slave I2C interfaces
used for sensors and/or host MCU communication.
Each controller includes a FIFO of 4, 9-bit locations
General purpose (GP) ADC. This is a 10-bit analog-
to-digital converter with 8 external input channels and
averaging capabilities, which increase the effective
number of bits (ENOB) to 12.
Radio transceiver. This block implements the RF part
of the Bluetooth Low Energy protocol at 2.4 GHz.
Clock generator. This block is responsible for the
clocking of the system. It contains two crystal oscilla-
tors: one running at 16 MHz (XTAL16M), which is used
for the active mode of the system, and one running at
32.768 kHz (XTAL32K), which is used for the sleep
modes of the system.
There are also three RC oscillators available: a 16 MHz
and a 32 kHz oscillator (RC16M and RC32K) with low
precision (> 500 ppm) and a 11.7 kHz oscillator (RCX)
with higher precision (< 500 ppm).
The RCX oscillator can be used as a sleep clock
replacing the XTAL32K oscillator to further improve the
power dissipation, while reducing the bill of materials of
the system. The RC16M oscillator is used to provide a
clock for running SW already before the XTAL16M
oscillator has settled after power/wake up.
Additionally, a low power, short lock time PLL can be
activated to increase system’s speed to 96 MHz.
Software timers. This block contains a 16-bit general
purpose timer (Timer0) with PWM capability, a 16-bit
general purpose up/down timer (Timer1) with PWM
capability, which can operate at any clock even when in
sleep/deep sleep mode, and a 14-bit timer (Timer2),
which controls three PWM signals with respect to fre-
quency and duty cycle. The timer block also comprises
a dedicated timer implementing an LED breathing func-
tion with 256 steps granularity.
Wake-up controller. This is a timer for capturing exter-
nal events, that can be used as a wake-up trigger
based on a programmable number of external events
on any of the GPIO ports, or as a GPIO triggered inter-
rupt generator when the system is awake.
Quadrature decoder. This block decodes the pulse
trains from a rotary encoder to provide the step size
and the direction of movement of an external device.
Three axes (X, Y, Z) are supported.
Keyboard scanner. This circuit implements scanning
and debouncing of a keyboard matrix and generates
an interrupt upon a configurable action without the
need of CPU.
Infrared (IR) generator. This controller implements a
very flexible, low power, microcode based scheme for
IR protocols primarily used for remote controls.
AHB/APB bus. Implements the AMBA Lite version of
the AHB and APB specifications. Two different AHB
busses are used, one for the CPU and one for the
DMAs of the system. APB32 is implemented for the
Audio peripherals while APB16 is used for the other
peripheral blocks.
USB 1.1 FS Device. This is a 12 Mbit/s only USB