DA14683 [DIALOG]

Bluetooth Low Energy 5.0 SoC with Enhanced Security;
DA14683
型号: DA14683
厂家: Dialog Semiconductor    Dialog Semiconductor
描述:

Bluetooth Low Energy 5.0 SoC with Enhanced Security

文件: 总469页 (文件大小:13856K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Three power supply pins for external devices  
Supports Li-Polymer, Li-Ion, coin, NiMH and alka-  
line batteries  
General description  
The DA14683 is a flexible System-on-Chip combining  
an application processor, memories, cryptography  
engine, power management unit, digital and analog  
peripherals and a Bluetooth Low Energy MAC engine  
and radio transceiver.  
The DA14683 is based on an ARM® Cortex®-M0 CPU  
delivering up to 86 DMIPS (at maximum 96 MHz sys-  
tem speed) and provides a flexible memory architec-  
ture, enabling code execution from embedded memory  
(RAM, ROM) or non-volatile memory (OTP or external  
Quad-SPI FLASH).  
Charger (up to 5.0 V) with programmable curves  
High accuracy state-of-charge fuel gauge  
Programmable threshold for brownout detection  
Digitally controlled oscillators and PLL  
16/32 MHz crystal oscillator  
16 MHz RC oscillator  
32 kHz crystal and RC oscillator  
11.4 kHz RCX oscillator  
Low power PLL up to 96 MHz  
Three general purpose timer/counters with PWM  
One 16-bit up/down timer/counter with PWM  
available in extended/deep sleep mode  
Application cryptographic engine with ECC, AES-  
256, SHA-1, SHA-256, SHA-512 and True Random  
Number Generator  
The advanced power management unit of the  
DA14683 enables it to run from primary and secondary  
batteries, as well as provide power to external devices.  
The on-chip charger and state-of-charge fuel gauge  
allows the DA14683 to natively charge rechargeable  
batteries over USB.  
Digital interfaces  
37 (AQFN) or 21 (WLCSP) general purpose I/Os  
with programmable voltage levels  
Quad-SPI FLASH interface  
Two UARTs, one with hardware flow control  
Two SPI+™ interfaces  
The DA14683 comes with enhanced security features  
such as key manipulation, secure booting (i.e. starting  
the system only if the FLASH image is authenticated),  
a
complete public/private hardware acceleration  
engine and a hardware true random number generator  
(TRNG).  
Two I2C bus interfaces at 100 kHz, 400 kHz  
Three-axes capable Quadrature Decoder  
PDM + HW decimator (2 mics or 2 speakers)  
I2S/PCM master/slave interface up to 8 channels  
Keyboard scanner with debouncing  
Infrared (IR) interface (PWM)  
Several optimised sleep modes are available to reduce  
power dissipation when there is no activity.  
Features  
USB 1.1 Full Speed (FS) device interface  
Analog interfaces  
Complies to Bluetooth v5.0, ETSI EN 300 328 and  
EN 300 440 Class 2 (Europe), FCC CFR47 Part 15  
(US) and ARIB STD-T66 (Japan)  
8-channel 10-bit ADC with averaging capability  
Three matched white LED drivers  
Temperature sensor  
Flexible processing power  
0 Hz up to 96 MHz 32-bit ARM Cortex-M0 with  
4-way associative cache  
Three optimised power modes (Extended sleep,  
Deep sleep and Hibernation) reducing current to  
800 nA  
Radio transceiver  
2.4 GHz CMOS transceiver with integrated balun  
50 matched single wire antenna interface  
0 dBm transmit output power  
-94 dBm receiver sensitivity (BLE)  
Supply current at VBAT1 (3 V):  
TX: 3.4 mA  
Memories  
64 kB One-Time-Programmable (OTP) memory  
128 kB Data SRAM with retention capabilities  
16 kB Cache SRAM with retention capabilities  
128 kB ROM (including boot ROM and BLE stack)  
Power management  
RX: 3.1 mA (with ideal DC-DC converter)  
Packages:  
AQFN with 60 pins, 6 mm x 6 mm  
WLCSP with 53 balls, 3.406 mm x 3.010 mm  
Integrated Buck DC-DC converter (1.7 V - 4.75 V)  
________________________________________________________________________________________________  
System diagram  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
1 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
6.4 PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62  
7 Arm Cortex-M0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
Content  
1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6  
7.1 SYSTEM TIMER (SYSTICK). . . . . . . . . . . . . . 64  
7.2 WAKEUP INTERRUPT CONTROLLER . . . . . 64  
7.3 REFERENCE . . . . . . . . . . . . . . . . . . . . . . . . . 64  
7.4 INTERRUPTS . . . . . . . . . . . . . . . . . . . . . . . . . 64  
2 Package and pinout . . . . . . . . . . . . . . . . . . . . . . . . . 7  
3 System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 19  
3.1 INTERNAL BLOCKS. . . . . . . . . . . . . . . . . . . . 19  
3.2 FUNCTIONAL MODES . . . . . . . . . . . . . . . . . . 20  
3.3 SYSTEM CONFIGURATION . . . . . . . . . . . . . 20  
3.4 SYSTEM STARTUP PROCEDURE . . . . . . . . 24  
3.4.1 Power/Wakeup FSM . . . . . . . . . . . . . . . 24  
3.4.2 Goto Sleep FSM . . . . . . . . . . . . . . . . . . 25  
3.4.3 BootROM sequence . . . . . . . . . . . . . . . 25  
3.5 POWER CONTROL AND MODES . . . . . . . . . 28  
3.5.1 System Power Control . . . . . . . . . . . . . . 28  
3.5.2 Power domains . . . . . . . . . . . . . . . . . . . 28  
3.5.3 Power modes. . . . . . . . . . . . . . . . . . . . . 29  
3.6 SECURITY . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  
3.6.1 Secure Keys Manipulation. . . . . . . . . . . 32  
3.6.2 Secure Boot. . . . . . . . . . . . . . . . . . . . . . 34  
3.6.3 Access . . . . . . . . . . . . . . . . . . . . . . . . . . 35  
3.6.4 Attestation . . . . . . . . . . . . . . . . . . . . . . . 36  
3.6.5 Cryptography . . . . . . . . . . . . . . . . . . . . . 36  
8 Cache Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 67  
8.1 CACHABLE RANGE . . . . . . . . . . . . . . . . . . . . 67  
8.2 RUNTIME RECONFIGURATION . . . . . . . . . . 68  
8.2.1 Cache Line reconfiguration . . . . . . . . . . 68  
8.2.2 TAG memory word. . . . . . . . . . . . . . . . . 68  
8.2.3 Associativity reconfiguration . . . . . . . . . 68  
8.3 2 AND 4 WAY REPLACEMENT STRATEGY . 68  
8.4 CACHE RESETS. . . . . . . . . . . . . . . . . . . . . . . 68  
8.5 CACHE MISS RATE MONITOR . . . . . . . . . . . 69  
8.6 CACHE MISS LATENCY AND POWER . . . . . 69  
9 AMBA Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71  
10 Memory Controller . . . . . . . . . . . . . . . . . . . . . . . . 73  
11 OTP Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75  
11.1 OPERATING MODES . . . . . . . . . . . . . . . . . . 75  
11.2 AHB MASTER INTERFACE . . . . . . . . . . . . . 76  
11.3 AHB SLAVE INTERFACES . . . . . . . . . . . . . . 76  
11.4 ERROR CORRECTING CODE (ECC) . . . . . 76  
11.5 BUILD-IN SELF REPAIR (BISR) . . . . . . . . . . 76  
4 Power management . . . . . . . . . . . . . . . . . . . . . . . . 37  
4.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . . 37  
4.1.1 SIMO DC-DC converter . . . . . . . . . . . . . 38  
4.1.2 LDOs . . . . . . . . . . . . . . . . . . . . . . . . . . . 41  
4.1.3 Switching from DC-DC to LDOs . . . . . . 44  
4.1.4 PMU configurations in Sleep modes . . . 44  
4.1.5 Wake/Power up - Sleep Timing . . . . . . . 45  
4.1.6 Charger . . . . . . . . . . . . . . . . . . . . . . . . . 47  
4.1.7 Fuel Gauge . . . . . . . . . . . . . . . . . . . . . . 49  
4.1.8 USB charger detection. . . . . . . . . . . . . . 51  
12 Quad SPI Controller . . . . . . . . . . . . . . . . . . . . . . . 77  
12.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . 77  
12.1.1 Interface. . . . . . . . . . . . . . . . . . . . . . . . 77  
12.1.2 Initialization FSM . . . . . . . . . . . . . . . . . 78  
12.1.3 SPI modes . . . . . . . . . . . . . . . . . . . . . . 79  
12.1.4 Access modes . . . . . . . . . . . . . . . . . . . 79  
12.1.5 Endianess . . . . . . . . . . . . . . . . . . . . . . 79  
12.1.6 Erase Suspend/Resume . . . . . . . . . . . 79  
12.1.7 QSPI FLASH Programming . . . . . . . . . 80  
12.2 PROGRAMMING . . . . . . . . . . . . . . . . . . . . . 80  
12.2.1 Auto Mode . . . . . . . . . . . . . . . . . . . . . . 80  
12.2.2 Manual Mode . . . . . . . . . . . . . . . . . . . . 81  
12.2.3 Clock selection. . . . . . . . . . . . . . . . . . . 81  
12.2.4 Received data . . . . . . . . . . . . . . . . . . . 81  
12.3 TIMING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81  
5 Reset and BOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54  
5.1 POR, HW AND SW RESET . . . . . . . . . . . . . . 54  
5.2 RAILS DISCHARGING . . . . . . . . . . . . . . . . . . 55  
5.3 BROWN OUT DETECTION . . . . . . . . . . . . . . 56  
5.4 VOLTAGE BOUNCING . . . . . . . . . . . . . . . . . . 57  
6 Clock generation . . . . . . . . . . . . . . . . . . . . . . . . . . . 59  
6.1 CLOCK TREE . . . . . . . . . . . . . . . . . . . . . . . . . 59  
6.2 CRYSTAL OSCILLATORS . . . . . . . . . . . . . . . 60  
6.2.1 Frequency control (16 MHz crystal). . . . 60  
6.2.2 Automated trimming and settling notification  
60  
13 DMA Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . 83  
13.1 DMA PERIPHERALS . . . . . . . . . . . . . . . . . . 84  
13.2 INPUT/OUTPUT MULTIPLEXER . . . . . . . . . 84  
13.3 DMA CHANNEL OPERATION . . . . . . . . . . . 84  
6.3 RC OSCILLATORS. . . . . . . . . . . . . . . . . . . . . 62  
6.3.1 Frequency calibration . . . . . . . . . . . . . . 62  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
2 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
13.4 DMA ARBITRATION . . . . . . . . . . . . . . . . . . . 85  
13.5 FREEZING DMA CHANNELS. . . . . . . . . . . . 85  
13.6 SECURE DMA CHANNEL . . . . . . . . . . . . . . 85  
20.1.1 I/O channels. . . . . . . . . . . . . . . . . . . . 105  
20.1.2 I/O multiplexers . . . . . . . . . . . . . . . . . 105  
20.1.3 Input and Output Sample rate conversion  
105  
14 AES/Hash Engine . . . . . . . . . . . . . . . . . . . . . . . . . 86  
20.1.4 SRC conversion modes of operation . 105  
20.1.5 DMA operation. . . . . . . . . . . . . . . . . . 106  
20.1.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . 106  
20.1.7 SRC use cases . . . . . . . . . . . . . . . . . 106  
14.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . 86  
14.1.1 AES/HASH engine. . . . . . . . . . . . . . . . 86  
14.1.2 AES . . . . . . . . . . . . . . . . . . . . . . . . . . . 86  
14.1.3 Modes . . . . . . . . . . . . . . . . . . . . . . . . . 87  
14.1.4 HASH. . . . . . . . . . . . . . . . . . . . . . . . . . 87  
14.2 PROGRAMMING . . . . . . . . . . . . . . . . . . . . . 88  
21 PDM interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 107  
22 PCM Controller . . . . . . . . . . . . . . . . . . . . . . . . . . 108  
15 ECC Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91  
22.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . 108  
22.1.1 Interface Signals . . . . . . . . . . . . . . . . 108  
22.1.2 Channel ACCESS . . . . . . . . . . . . . . . 108  
22.1.3 Channel delay . . . . . . . . . . . . . . . . . . 109  
22.1.4 Clock generation . . . . . . . . . . . . . . . . 109  
22.1.5 DATA FORMATS . . . . . . . . . . . . . . . . .110  
22.1.6 IOM mode . . . . . . . . . . . . . . . . . . . . . .111  
22.1.7 External synchronisation . . . . . . . . . . .111  
15.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . 91  
15.1.1 Supported curves. . . . . . . . . . . . . . . . . 92  
15.1.2 Supported high level algorithms . . . . . 92  
15.2 PROGRAMMING . . . . . . . . . . . . . . . . . . . . . 92  
15.2.1 Example: ECDSA signature generation 92  
16 True Random Number Generator (TRNG). . . . . . 95  
16.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . 95  
16.2 PROGRAMMING . . . . . . . . . . . . . . . . . . . . . 95  
16.2.1 Latency . . . . . . . . . . . . . . . . . . . . . . . . 95  
23 UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113  
23.1 UART (RS232) SERIAL PROTOCOL . . . . . .113  
23.2 IRDA 1.0 SIR PROTOCOL . . . . . . . . . . . . . .114  
23.3 CLOCK SUPPORT . . . . . . . . . . . . . . . . . . . .115  
23.4 INTERRUPTS . . . . . . . . . . . . . . . . . . . . . . . .116  
23.5 PROGRAMMABLE THRE INTERRUPT . . . .116  
23.6 SHADOW REGISTERS . . . . . . . . . . . . . . . .118  
23.7 DIRECT TEST MODE . . . . . . . . . . . . . . . . . .118  
17 Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . 96  
17.1 PROGRAMMING . . . . . . . . . . . . . . . . . . . . . 96  
18 Wakeup Controller . . . . . . . . . . . . . . . . . . . . . . . . 97  
18.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . 97  
18.2 PROGRAMMING . . . . . . . . . . . . . . . . . . . . . 97  
24 SPI+ Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 119  
19 General purpose ADC. . . . . . . . . . . . . . . . . . . . . . 99  
24.1 OPERATION WITHOUT FIFOS . . . . . . . . . .119  
24.2 9 BITS MODE . . . . . . . . . . . . . . . . . . . . . . . 120  
24.3 TIMING . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122  
19.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . 99  
19.2 INPUT CHANNELS AND INPUT SCALE . . 101  
19.3 STARTING THE ADC . . . . . . . . . . . . . . . . . 101  
19.4 ADC CONVERSION MODES . . . . . . . . . . . 101  
19.4.1 Manual Mode. . . . . . . . . . . . . . . . . . . 101  
19.4.2 Continuous Mode. . . . . . . . . . . . . . . . 101  
19.5 NON-IDEAL EFFECTS . . . . . . . . . . . . . . . . 101  
19.6 SAMPLING TIME (SMPL_TIME). . . . . . . . . 102  
19.7 OVERSAMPLING . . . . . . . . . . . . . . . . . . . . 102  
19.8 CHOPPING . . . . . . . . . . . . . . . . . . . . . . . . . 103  
19.9 OFFSET CALIBRATION . . . . . . . . . . . . . . . 103  
19.10 ZERO-SCALE ADJUSTMENT . . . . . . . . . 103  
19.11 COMMON MODE ADJUSTMENT. . . . . . . 103  
19.12 INPUT IMPEDANCE, INDUCTANCE, AND IN-  
PUT SETTLING. . . . . . . . . . . . . . . . . . . . . . . 104  
25 I2C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124  
25.1 I2C BUS TERMS . . . . . . . . . . . . . . . . . . . . . 124  
25.1.1 Bus Transfer Terms . . . . . . . . . . . . . . 125  
25.2 I2C BEHAVIOUR. . . . . . . . . . . . . . . . . . . . . 125  
25.2.1 START and STOP Generation. . . . . . 126  
25.2.2 Combined Formats . . . . . . . . . . . . . . 126  
25.3 I2C PROTOCOLS . . . . . . . . . . . . . . . . . . . . 126  
25.3.1 START and STOP Conditions . . . . . . 126  
25.3.2 Addressing Slave Protocol. . . . . . . . . 126  
25.3.3 Transmitting and Receiving Protocol . 127  
25.4 MULTIPLE MASTER ARBITRATION . . . . . 129  
25.5 CLOCK SYNCHRONIZATION . . . . . . . . . . 130  
25.6 OPERATION MODES . . . . . . . . . . . . . . . . . 130  
25.6.1 Slave Mode Operation . . . . . . . . . . . . 131  
20 Sample Rate Converter (SRC) . . . . . . . . . . . . . . 105  
20.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . 105  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
3 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
25.7 MASTER MODE OPERATION . . . . . . . . . . 133  
33 BLE Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
33.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . 162  
26 InfraRed Generator . . . . . . . . . . . . . . . . . . . . . . . 134  
33.1.1 Exchange Memory. . . . . . . . . . . . . . . 162  
33.2 PROGRAMMING . . . . . . . . . . . . . . . . . . . . 162  
33.2.1 Wake up IRQ . . . . . . . . . . . . . . . . . . . 162  
33.2.2 Switch from Active Mode to Deep Sleep  
Mode . . . . . . . . . . . . . . . . . . . . . . . . . 163  
26.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . 134  
26.2 PROGRAMMING . . . . . . . . . . . . . . . . . . . . 135  
27 Quadrature Decoder . . . . . . . . . . . . . . . . . . . . . . 136  
27.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . 136  
27.2 PROGRAMMING . . . . . . . . . . . . . . . . . . . . 136  
33.2.3 Switch from Deep Sleep Mode to Active  
Mode . . . . . . . . . . . . . . . . . . . . . . . . . 163  
28 Keyboard Scanner. . . . . . . . . . . . . . . . . . . . . . . . 137  
33.2.4 Switching on at anchor points.. . . . . . 163  
33.2.5 Switching on due to an external event.165  
33.3 DIAGNOSTIC SIGNALS . . . . . . . . . . . . . . . 165  
33.4 POWER PROFILE . . . . . . . . . . . . . . . . . . . 167  
33.4.1 Advertising Event. . . . . . . . . . . . . . . . 167  
33.4.2 Connection Event . . . . . . . . . . . . . . . 168  
28.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . 137  
28.2 PROGRAMMING . . . . . . . . . . . . . . . . . . . . 139  
29 Timers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140  
29.1 TIMER0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140  
29.2 TIMER1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142  
29.3 TIMER2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143  
29.4 BREATH TIMER . . . . . . . . . . . . . . . . . . . . . 144  
34 CoEx Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 169  
34.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . 169  
34.2 PROGRAMMING . . . . . . . . . . . . . . . . . . . . 169  
30 Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . 146  
31 USB Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . 147  
35 Radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171  
31.1 SERIAL INTERFACE ENGINE . . . . . . . . . . 147  
31.2 ENDPOINT PIPE CONTROLLER (EPC) . . 148  
31.3 FUNCTIONAL STATES. . . . . . . . . . . . . . . . 149  
31.3.1 Line Condition Detection . . . . . . . . . . 149  
31.4 FUNCTIONAL STATE DIAGRAM . . . . . . . . 150  
31.5 ADDRESS DETECTION . . . . . . . . . . . . . . . 152  
31.6 TRANSMIT AND RECEIVE ENDPOINT FIFOS  
153  
35.1 ARCHITECTURE . . . . . . . . . . . . . . . . . . . . 171  
35.1.1 Receiver. . . . . . . . . . . . . . . . . . . . . . . 171  
35.1.2 Synthesizer . . . . . . . . . . . . . . . . . . . . 171  
35.1.3 Transmitter. . . . . . . . . . . . . . . . . . . . . 171  
35.1.4 RFIO . . . . . . . . . . . . . . . . . . . . . . . . . 172  
35.1.5 Biassing . . . . . . . . . . . . . . . . . . . . . . . 172  
35.1.6 Control . . . . . . . . . . . . . . . . . . . . . . . . 172  
35.2 DYNAMIC CONTROLLED FUNCTIONS . . 172  
35.3 DIAGNOSTIC SIGNALS . . . . . . . . . . . . . . . 172  
31.7 BIDIRECTIONAL CONTROL ENDPOINT FIFO0  
154  
36 Memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174  
37 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176  
31.8 TRANSMIT ENDPOINT FIFO (TXFIFO1 TO  
TXFIFO5) . . . . . . . . . . . . . . . . . . . . . . . . . . . 156  
31.9 RECEIVE ENDPOINT FIFO (RXFIFO2 TO  
RXFIFO6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156  
31.10 INTERRUPT HIERARCHY . . . . . . . . . . . . 157  
37.1 OTPC REGISTER FILE . . . . . . . . . . . . . . . 178  
37.2 QSPIC REGISTER FILE . . . . . . . . . . . . . . . 184  
37.3 BLE REGISTER FILE . . . . . . . . . . . . . . . . . 194  
37.4 AES_HASH REGISTER FILE . . . . . . . . . . . 215  
37.5 CACHE REGISTER FILE . . . . . . . . . . . . . . 219  
37.6 CRG REGISTER FILE . . . . . . . . . . . . . . . . 222  
37.7 DCDC REGISTER FILE . . . . . . . . . . . . . . . 236  
37.8 WAKEUP REGISTER FILE. . . . . . . . . . . . . 245  
37.9 TIMER1 REGISTER FILE . . . . . . . . . . . . . . 249  
37.10 UART REGISTER FILE. . . . . . . . . . . . . . . 252  
37.11 SPI REGISTER FILE. . . . . . . . . . . . . . . . . 289  
37.12 I2C REGISTER FILE. . . . . . . . . . . . . . . . . 293  
37.13 KEYBOARD SCAN REGISTER FILE . . . . 327  
37.14 IR REGISTER FILE. . . . . . . . . . . . . . . . . . 334  
37.15 USB REGISTER FILE. . . . . . . . . . . . . . . . 337  
32 Input/Output ports. . . . . . . . . . . . . . . . . . . . . . . . 159  
32.1 PROGRAMMABLE PIN ASSIGNMENT . . . 159  
32.2 GENERAL PURPOSE PORT REGISTERS 159  
32.2.1 Port Data Register . . . . . . . . . . . . . . . 159  
32.2.2 Port Set Data Output Register . . . . . . 160  
32.2.3 Port Reset Data Output Register . . . . 160  
32.3 FIXED ASSIGNMENT FUNCTIONALITY . . 160  
32.4 STATE RETENTION WHILE SLEEPING . . 160  
32.5 SPECIAL I/O CONSIDERATIONS . . . . . . . 161  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
4 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
37.16 GPADC REGISTER FILE . . . . . . . . . . . . . 368  
37.17 QUADRATURE DECODER REGISTER FILE.  
371  
37.18 ANAMISC REGISTER FILE . . . . . . . . . . . 372  
37.19 CRG REGISTER FILE . . . . . . . . . . . . . . . 379  
37.20 RFCU REGISTER FILE . . . . . . . . . . . . . . 380  
37.21 DEM REGISTER FILE . . . . . . . . . . . . . . . 381  
37.22 COEX REGISTER FILE . . . . . . . . . . . . . . 381  
37.23 GPIO REGISTER FILE . . . . . . . . . . . . . . . 387  
37.24 WDOG REGISTER FILE. . . . . . . . . . . . . . 404  
37.25 VERSION REGISTER FILE . . . . . . . . . . . 404  
37.26 GPREG REGISTER FILE . . . . . . . . . . . . . 405  
37.27 TIMER0/2 AND BREATH REGISTER FILE 409  
37.28 DMA REGISTER FILE . . . . . . . . . . . . . . . 412  
37.29 APU REGISTER FILE. . . . . . . . . . . . . . . . 433  
37.30 TRNG REGISTER FILE . . . . . . . . . . . . . . 439  
37.31 ELLIPTIC CURVE CONTROLLER REGISTER  
FILE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439  
38 Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . 444  
39 Package information. . . . . . . . . . . . . . . . . . . . . . 466  
39.1 MOISTURE SENSITIVITY LEVEL (MSL) . . 466  
39.2 WLCSP HANDLING . . . . . . . . . . . . . . . . . . 466  
39.3 SOLDERING INFORMATION. . . . . . . . . . . 466  
39.4 PACKAGE OUTLINES . . . . . . . . . . . . . . . . 467  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
5 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
1
Block diagram  
Instruction Cache  
RAM 16 kB  
ARM Cortex-M0  
LDO  
IO  
DCDC  
(BUCK)  
FUEL  
GAUGE  
CHARGER  
(5V)  
XTAL  
32.768  
kHz  
LP PLL  
96 MHz  
XTAL  
16MHz  
4-WAY ASSOCIATIVE  
CACHE CONTROLLER  
LDO  
VBAT  
LDO  
USB  
LDO  
CORE  
LDO  
SLEEP  
LDO  
RADIO  
CORE  
SWD  
BROWNOUT &  
POWER-ON RESET  
QSPI FLASH  
CONTROLLER  
BLE Radio Transceiver  
2.4 GHz  
Bluetooth Low Energy 5.0 MAC  
Data/Exchange RAM  
128 kB  
COEX  
OTP  
64 kB  
BLE 5.0 ROM  
118 kB  
Analog  
Audio/Voice  
Comm  
HID  
Timers  
BootROM  
10 kB  
IR  
TIMER0/PWM  
TEMPERATURE  
SENSOR  
UART / UART2  
SRC  
GENERATOR  
TIMER1/PWM  
TIMER2/PWM  
8-CH DMA  
AES256/HASH  
ECC CRYPTO  
TRNG  
QUAD DEC  
(x3)  
WAKE  
UP  
WLED  
(x3)  
SPI / SPI2  
I2C / I2C2  
PDM  
8-CH 10-BIT  
ADC  
WATCHDOG  
TIMER  
KEYBOARD  
SCANNER  
PCM/I2S  
USB 1.1  
PHY  
GPIO MULTIPLEXING  
Figure 1: DA14683 block diagram  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
6 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
2
Package and pinout  
The DA14683 comes in a 6 mm x 6 mm aQFN package with 60 pins and a WLCSP package with 53 balls. Pins P3x,  
P4x, LED2 and LED3 are not available in the WLCSP package. The pin/ball assignment is shown in Figure 2 and  
Figure 3.  
A1  
A2  
A37  
A35 A34 A33  
A32  
B18  
A31  
B17  
B16  
B15  
A30  
A29  
A28  
A36  
B23  
B21 B20 B19  
B22  
A3  
A4  
A5  
A6  
A7  
A8  
B1  
B2  
A27  
A26  
A25  
DA14683  
(Top View)  
B14  
B13  
A24  
A23  
B3  
GND  
A9  
B4  
B5  
B12  
B11  
A19  
A22  
A21  
A20  
B7  
B8  
B9  
B10  
A18  
B6  
A10  
A11  
A12  
A13 A14 A15 A16  
A17  
Figure 2: AQFN60 pin assignment  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
7 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
8
1
2
3
4
5
6
7
A
B
C
D
E
DA14683  
F
G
Figure 3: WLCSP53 ball assignment  
Table 1: Ordering information (Samples/Production)  
Part number  
Package  
Size (mm)  
Shipment form  
Pack quantity  
DA14683-00000U22  
WLCSP53  
3.406 x 3.010  
Reel  
100/1000 (samples)  
5000 (production)  
DA14683-00000A92  
AQFN60  
6 x 6  
Reel  
100/1000 (samples)  
4000 (production)  
Table 2: Ordering information (Custom)  
Part number  
Package  
Size (mm)  
Shipment form  
Pack quantity  
DA14683-00C01A92  
AQFN60  
6 x 6  
Reel  
100/1000 (samples)  
4000 (production)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
8 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 3: Pin description  
Pin no. Pin no.  
AQFN WLCSP  
Drive Reset  
(mA) state  
Pin name  
Type  
Description  
General Purpose I/Os (fixed pin assignment; additional functions are programmable via Pxx_MODE_REG)  
B1  
A2  
A3  
A1  
A4  
A5  
B8  
B8  
A7  
B7  
A8  
C8  
C7  
F4  
P0_0/  
DIO  
4.8  
4.8  
4.8  
4.8  
4.8  
4.8  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. Contains state retention mechanism  
during power down.  
QSPI_CLK  
P0_1/  
DO  
OUTPUT. QSPI clock.  
DIO  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. Contains state retention mechanism  
during power down.  
QSPI_D0  
P0_2/  
DIO  
DIO  
INPUT/OUTPUT. QSPI data I/O 0.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. Contains state retention mechanism  
during power down.  
QSPI_D1  
P0_3/  
DIO  
DIO  
INPUT/OUTPUT. QSPI data I/O 1.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. Contains state retention mechanism  
during power down.  
QSPI_D2  
P0_4/  
DIO  
DIO  
INPUT/OUTPUT. QSPI data I/O 2.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. Contains state retention mechanism  
during power down.  
QSPI_D3  
P0_5/  
DIO  
DIO  
INPUT/OUTPUT. QSPI data I/O 3.  
I-PU INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. Contains state retention mechanism  
during power down.  
QSPI_CS  
P0_6/  
DO  
OUTPUT. QSPI chip select (active LOW).  
DIO  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
INPUT/OUTPUT. JTAG data I/O signal.  
SWDIO/  
DIO  
Note: This is the only pin with output capability in  
Extended Sleep mode. Minimum 1V VDD required to  
drive this pin while in Extended Sleep.  
PWM5/  
ADC4  
DO  
AI  
OUTPUT. Timer 1 PWM output (PWM5) in Sleep mode.  
INPUT. Analog input for ADC channel 4.  
A34  
A6  
P0_7/  
DIO  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. Contains state retention mechanism  
during power down.  
ADC3  
AI  
INPUT. Analog input for ADC channel 3.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
9 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 3: Pin description  
Pin no. Pin no.  
Drive Reset  
(mA) state  
Pin name  
Type  
Description  
AQFN  
WLCSP  
B15  
C2  
P1_0/  
DIO  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down/up enabled dur-  
ing and after reset. General purpose I/O port bit or alter-  
nate function nodes. State retention during power down.  
INPUT. Analog input for ADC channel 5.  
ADC5  
P1_1/  
AI  
A17  
F3  
DIO  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
Note: to use this pin in GPIO mode  
USBPAD_REG[USBPAD_EN] must be set. Must be  
used in V33 supply only.  
USBN  
P1_2/  
AIO  
DIO  
INPUT/OUTPUT. Analog USB Full Speed D- signal.  
A27  
B23  
A26  
A28  
B12  
C1  
B6  
D1  
B2  
E2  
4.8  
4.8  
4.8  
4.8  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down/up enabled dur-  
ing and after reset. General purpose I/O port bit or alter-  
nate function nodes. State retention during power down.  
INPUT. Analog input for ADC channel 0.  
ADC0  
P1_3/  
AI  
DIO  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down/up enabled dur-  
ing and after reset. General purpose I/O port bit or alter-  
nate function nodes. State retention during power down.  
INPUT. Analog input for ADC channel 2.  
ADC2  
P1_4/  
AI  
DIO  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down/up enabled dur-  
ing and after reset. General purpose I/O port bit or alter-  
nate function nodes. State retention during power down.  
INPUT. Analog input for ADC channel 1.  
ADC1  
P1_5/  
AI  
DIO  
I-PU INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down/up enabled dur-  
ing and after reset. General purpose I/O port bit or alter-  
nate function nodes. State retention during power down.  
INPUT. Analog input for ADC channel 6.  
ADC6  
P1_6/  
AI  
DIO  
I-PU INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-up enabled during and  
after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
INPUT. Analog input for external NTC resistor for bat-  
tery temperature sensing.  
NTC  
AI  
A25  
A23  
D2  
E1  
P1_7  
DIO  
4.8  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
P2_0/  
DIO  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
INPUT. Analog input of the XTAL32K crystal oscillator.  
INPUT. Digital input for an external clock (square wave).  
XTAL32KP  
AI  
DI  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
10 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 3: Pin description  
Pin no. Pin no.  
Drive Reset  
(mA) state  
Pin name  
Type  
Description  
AQFN  
WLCSP  
B13  
F1  
P2_1/  
DIO  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
OUTPUT. Analog output of the XTAL32K crystal oscilla-  
tor.  
XTAL32KM  
P2_2/  
AO  
A16  
G3  
DIO  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
Note: to use this pin in GPIO mode  
USBPAD_REG[USBPAD_EN] must be set. Must be  
used in V33 supply only.  
USBP  
P2_3  
AIO  
DIO  
INPUT/OUTPUT. Analog USB Full Speed D+ signal.  
A35  
A14  
B5  
F5  
4.8  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
P2_4/  
DIO  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
INPUT. JTAG clock signal.  
SWCLK/  
ADC7  
DI  
AI  
INPUT. Analog input for ADC channel 7.  
A37  
A12  
A10  
A7  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
P3_0  
P3_1  
P3_2  
P3_3  
P3_4  
P3_5  
P3_6  
DIO  
DIO  
DIO  
DIO  
DIO  
DIO  
DIO  
4.8  
4.8  
4.8  
4.8  
4.8  
4.8  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
A9  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
A20  
A22  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
11 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 3: Pin description  
Pin no. Pin no.  
Drive Reset  
(mA) state  
Pin name  
Type  
Description  
AQFN  
WLCSP  
B14  
N/A  
P3_7  
DIO  
4.8  
4.8  
4.8  
4.8  
4.8  
4.8  
4.8  
4.8  
4.8  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
A24  
B16  
B17  
A31  
A32  
A33  
B22  
A36  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
P4_0  
P4_1  
P4_2  
P4_3  
P4_4  
P4_5  
P4_6  
P4_7  
DIO  
DIO  
DIO  
DIO  
DIO  
DIO  
DIO  
DIO  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
I-PD INPUT/OUTPUT with selectable pull up/down resistor  
and open drain functionality. Pull-down enabled during  
and after reset. General purpose I/O port bit or alternate  
function nodes. State retention during power down.  
Debug interface  
B8  
F4  
SWDIO  
DIO  
DIO  
4.8  
4.8  
I-PD INPUT/OUTPUT. JTAG Data input/output. Bidirectional  
data and control communication. Mapped on P0_6.  
A14  
F5  
SW_CLK  
I-PD INPUT JTAG clock signal. Mapped on P2_4.  
Clocks  
A29  
B1  
A1  
E1  
XTAL16MP  
XTAL16MM  
XTAL32KP  
AI  
AO  
AI  
INPUT. Crystal input for the 16 MHz XTAL oscillator.  
OUTPUT. Crystal output for the 16 MHz XTAL oscillator.  
A30  
A23  
INPUT. Crystal input for the 32.768 kHz XTAL oscillator.  
Mapped on P2_0.  
B13  
F1  
XTAL32KM  
AO  
OUTPUT. Crystal output for the 32.768 kHz XTAL oscil-  
lator. Mapped on P2_1.  
QSPI interface  
B1 B8  
QSPI_CLK  
DIO  
OUTPUT. QSPI clock. Mapped on P0_0.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
12 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 3: Pin description  
Pin no. Pin no.  
Drive Reset  
(mA) state  
Pin name  
Type  
Description  
AQFN  
WLCSP  
A5  
C7  
QSPI_CS  
DIO  
OUTPUT. QSPI chip select (active LOW). Mapped on  
P0_5.  
A2  
A3  
A1  
A4  
A7  
B7  
A8  
C8  
QSPI_D0  
QSPI_D1  
QSPI_D2  
QSPI_D3  
DIO  
DIO  
DIO  
DIO  
INPUT/OUTPUT. QSPI data 0. Mapped on P0_1.  
INPUT/OUTPUT. QSPI data 1. Mapped on P0_2.  
INPUT/OUTPUT. QSPI data 2. Mapped on P0_3.  
INPUT/OUTPUT. QSPI data 3. Mapped on P0_4.  
Quadrature decoder (mapped on port Px_y)  
QD_CHA_X  
QD_CHB_X  
QD_CHA_Y  
QD_CHB_Y  
QD_CHA_Z  
QD_CHB_Z  
DI  
DI  
DI  
DI  
DI  
DI  
INPUT. Channel A for the X axis.  
INPUT. Channel B for the X axis.  
INPUT. Channel A for the Y axis.  
INPUT. Channel B for the Y axis.  
INPUT. Channel A for the Z axis.  
INPUT. Channel B for the Z axis.  
SPI bus interface (mapped on port Px_y)  
SPI_CLK  
SPI_DI  
DIO  
DI  
INPUT/OUTPUT. SPI clock.  
INPUT. SPI data input.  
SPI_DO  
SPI_EN  
SPI2_CLK  
SPI2_DI  
SPI2_DO  
SPI2_EN  
DO  
DI  
OUTPUT. SPI data output.  
INPUT. SPI clock enable.  
INPUT/OUTPUT. SPI 2 clock.  
INPUT. SPI 2 data input.  
OUTPUT. SPI 2 data output.  
INPUT. SPI 2 clock enable.  
DIO  
DI  
DO  
DI  
I2C bus interface (mapped on port Px_y)  
SDA  
DIO/  
INPUT/OUTPUT. I2C bus data with open drain port.  
DIOD  
SCL  
DIO/  
DIOD  
INPUT/OUTPUT. I2C bus clock with open drain port.  
Supports bit stretching by a slave in open drain mode.  
SDA2  
SCL2  
DIO/  
DIOD  
INPUT/OUTPUT. I2C bus 2 data with open drain port.  
DIO/  
DIOD  
INPUT/OUTPUT. I2C bus 2 clock with open drain port.  
Supports bit stretching by a slave in open drain mode.  
UART interface (mapped on port Px_y)  
UTX  
DO  
OUTPUT. UART transmit data.  
INPUT. UART receive data.  
URX  
DI  
DO  
DI  
UTX2  
URX2  
URTS2  
UCTS2  
OUTPUT. UART 2 transmit data.  
INPUT. UART 2 receive data.  
OUTPUT. UART 2 request to send.  
INPUT. UART 2 clear to send.  
DO  
DI  
Infrared (IR) interface (mapped on port Px_y)  
IR_OUT DO  
Keyboard scanner interface (mapped on port Px_y)  
OUTPUT. Infrared data.  
KSC_ROWx  
KSC_COLx  
DO  
DI  
OUTPUT. Keyboard rows driven by the scanner.  
INPUT. Keyboard columns sampled by the scanner.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
13 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 3: Pin description  
Pin no. Pin no.  
AQFN WLCSP  
Drive Reset  
(mA) state  
Pin name  
Type  
Description  
PDM interface (mapped on port Px_y)  
PDM_CLK  
DO  
DIO  
OUTPUT. PDM clock output.  
INPUT/OUTPUT. PDM data.  
PDM_DATA  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
14 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 3: Pin description  
Pin no. Pin no.  
AQFN WLCSP  
Drive Reset  
(mA) state  
Pin name  
Type  
Description  
PCM interface (mapped on port Px_y)  
PCM_DO  
PCM_DI  
DO  
OUTPUT. PCM data output.  
DI  
INPUT. PCM data input.  
PCM_CLK  
PCM_FSC  
DIO  
DIO  
INPUT/OUTPUT. PCM bus clock.  
INPUT/OUTPUT. PCM frame sync.  
PWM interface (mapped on port Px_y)  
PWM0  
PWM1  
PWM2  
PWM3  
PWM4  
PWM5  
DO  
OUTPUT. Pulse Width Modulated output of Timer 0.  
OUTPUT. Pulse Width Modulated output of Timer 0.  
OUTPUT. Pulse Width Modulated output of Timer 2.  
OUTPUT. Pulse Width Modulated output of Timer 2.  
OUTPUT. Pulse Width Modulated output of Timer 2.  
DO  
DO  
DO  
DO  
DO  
B8  
F4  
OUTPUT. Pulse Width Modulated output of Timer 1.  
Mapped on P0_6 in Sleep mode.  
Analog interface  
A27  
A26  
B23  
A34  
B8  
C1  
D1  
B6  
A6  
F4  
C2  
B2  
F5  
ADC0  
ADC1  
ADC2  
ADC3  
ADC4  
ADC5  
ADC6  
ADC7  
AI  
AI  
AI  
AI  
AI  
AI  
AI  
AI  
INPUT. Analog to Digital Converter input 0. Mapped on  
P1_2.  
INPUT. Analog to Digital Converter input 1. Mapped on  
P1_4.  
INPUT. Analog to Digital Converter input 2. Mapped on  
P1_3.  
INPUT. Analog to Digital Converter input 3. Mapped on  
P0_7.  
INPUT. Analog to Digital Converter input 4. Mapped on  
P0_6.  
B15  
A28  
A14  
INPUT. Analog to Digital Converter input 5. Mapped on  
P1_0.  
INPUT. Analog to Digital Converter input 6. Mapped on  
P1_5.  
INPUT. Analog to Digital Converter input 7. Mapped on  
P2_4.  
USB FS interface  
A16  
G3  
USBP  
USBN  
AIO  
AIO  
INPUT/OUTPUT. Analog USB Full/Low speed D+ sig-  
nal. Mapped to P2_2.  
A17  
F3  
INPUT/OUTPUT. Analog USB Full/Low speed D- signal.  
Mapped to P1_1.  
Radio transceiver  
B20  
B19  
A4  
A3  
RFIOP  
RFIOM  
AIO  
AIO  
RF input/output. Impedance 50   
RF ground.  
Miscellaneous  
A21  
B10  
G1  
G2  
RST  
DI  
INPUT. Reset signal (active HIGH).  
LED1  
AO  
White LED driver output 1 (open drain, 20 mA maxi-  
mum).  
A19  
N/A  
LED2  
AO  
White LED driver output 2 (open drain, 20 mA maxi-  
mum).  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
15 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 3: Pin description  
Pin no. Pin no.  
Drive Reset  
(mA) state  
Pin name  
Type  
Description  
AQFN  
WLCSP  
B11  
N/A  
LED3  
AO  
White LED driver output 3 (open drain, 20 mA maxi-  
mum).  
A18  
B9  
F2  
E3  
SOCP  
SOCN  
AIO  
AIO  
Battery fuel gauge input.  
Battery fuel gauge ground. Connect as star point.  
Power supply  
A13  
B6  
G6  
F6  
VBAT1  
VBAT2  
AI  
AI  
INPUT. Battery connection 1 for LDO supply.  
INPUT. Battery connection 2 for DC-DC converter sup-  
ply.  
B7  
G5  
A2  
VBUS  
AI  
AI  
INPUT. USB bus voltage.  
INPUT. Battery charge voltage.  
B18  
V14_RF  
AI  
INPUT. Radio supply voltage. Connect to V14 exter-  
nally.  
4.7 F decoupling capacitor required.  
A11  
B5  
G8  
F7  
LX  
LY  
AIO  
AIO  
INPUT/OUTPUT. Connection for the external DC-DC  
converter inductor.  
INPUT/OUTPUT. Connection for the external DC-DC  
converter inductor.  
A15  
A6  
G4  
D8  
V33  
V14  
AO  
AO  
OUTPUT. 3.3 V power rail. Maximum current 100 mA.  
OUTPUT. 1.4 V power rail. Maximum current 20 mA.  
4.7 F decoupling capacitor required.  
B3  
A8  
B4  
B2  
E7  
E8  
F8  
D7  
V12  
AO  
AO  
AO  
AI  
OUTPUT. 1.2 V power rail. Maximum current 50 mA.  
OUTPUT. 1.8 V power rail. Maximum current 75 mA.  
OUTPUT. 1.8 V power rail. Maximum current 75 mA.  
VDD1V8  
VDD1V8P  
VDDIO  
INPUT. FLASH interface supply voltage (1.8 V to 3.3 V).  
1 F ceramic decoupling capacitor required.  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
B21  
B4  
C3  
C6  
D3  
D4  
D5  
D6  
E4  
E5  
E6  
G7  
A5  
PSUB_RF  
GND_RF2  
VSS1  
-
-
-
-
-
-
-
-
-
-
-
-
-
Connect to ground.  
Connect to ground.  
Connect to ground.  
Connect to ground.  
Connect to ground.  
Connect to ground.  
Connect to ground.  
Connect to ground.  
Connect to ground.  
Connect to ground.  
Connect to ground.  
Connect to ground.  
GND_RF1  
AVS1  
VSS3  
VSS2  
AVS2  
VSSIO2  
VSSIO1  
GND_BUCK  
ESDN  
die pad N/A  
GND  
Common ground plane for radio, analog and digital cir-  
cuits.  
Unconnected pins  
A1, A2, N/A  
A3, A4,  
NC  
Internally not connected. Leave open or connect to  
ground.  
A5, B1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
16 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 4: Pin type definitions  
VDD1v2  
Px_MODE_REG[PUPD]  
Digital/analog PAD I/O configurations:  
V33  
VDD1V8  
DO:  
DI:  
DIO:  
Digital Output  
Digital Input  
Digital Input/Output  
25k  
VSS  
VDD  
DIOD: Digital Input/Output open drain  
AI:  
Analog input  
Open drain  
AO:  
AIO:  
Analog Output  
Analog Input/Output  
Data  
PIN  
Output Enable  
Pullup/pulldown extensions:  
PU: Fixed pull-up resistor  
PD: Fixed pull-down resistor  
VSS  
active ESD  
protection  
Analog  
ESD  
protection  
SPU: Switchable pull-up resistor  
SPD: Switchable pull-down resistor  
25k  
GND  
VDDIO_xxx PAD supports 1.8 V or 3.3 V  
BP = Back drive protected up to 3.45 V  
Digital PADs for GPIO w/wo analog  
VDD1v2  
V12  
Px_MODE_REG[PUPD]  
CLK_AMBA_REG[QSPI_ENABLE] = 1  
V33  
VDD1V8  
VDDIO  
25k  
VSS  
VDD  
VSS  
V12  
Open drain  
QSPI_SLEW[1:0]  
Data  
Data  
PIN  
PIN  
QSPI_DRV[1:0]  
Output Enable  
VSS  
VSS  
active ESD  
active ESD  
25k  
protection  
Analog  
ESD  
protection  
protection  
25k  
USB PHY  
GND  
GND  
Digital PADs for USB PHY with GPIO  
Digital PADs for QSPI  
LDO  
1.2 V  
V14_RF  
Analog PIN  
XTAL16MP  
XTAL16MM  
Xtal  
osc  
active ESD  
protection  
GND  
active ESD  
protection  
active ESD  
protection  
GND  
PAD A1  
PAD A2  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
17 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 4: Pin type definitions  
rfio_p  
RFIOP  
reset_n  
V12  
GND  
reset  
rfio_n  
RST  
RFIOM  
25k  
active ESD  
protection  
GND  
GND  
PAD RF  
PAD RST  
PWM  
LED  
active ESD  
20mA max  
protection  
GND  
PAD LED  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
18 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
General purpose (GP) ADC. This is a 10-bit analog-  
3
System overview  
to-digital converter with 8 external input channels and  
averaging capabilities, which increase the effective  
number of bits (ENOB) to 12.  
3.1 INTERNAL BLOCKS  
The DA14683 contains the following blocks:  
Radio transceiver. This block implements the RF part  
of the Bluetooth Low Energy protocol at 2.4 GHz.  
ARM CortexTM 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.  
Clock generator. This block is responsible for the  
clocking of the system. It contains two crystal oscilla-  
tors: one running at 16/32 MHz (XTAL16M), which is  
used for the active mode of the system, and one run-  
ning 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.4 kHz oscillator (RCX)  
with higher precision (< 500 ppm).  
BLE 5.0 Core. This is the baseband hardware acceler-  
ator for the Bluetooth Low Energy protocol.  
Co-existence. The CoEx sub-block implements a  
coexistence 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.  
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.  
ROM. This is a 128 kB ROM containing the Bluetooth  
Low Energy protocol stack as well as the boot code  
sequence.  
Additionally, a low power, short lock time PLL can be  
activated to increase system’s speed to 96 MHz.  
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.  
Timers. This block contains a 16-bit general purpose  
timer (Timer0) with PWM capability, a 32-bit general  
purpose up/down timer (Timer1) with PWM capability,  
which can operate at any clock even when in extended  
sleep mode, and a 14-bit timer (Timer2), which controls  
three PWM signals with respect to frequency and duty  
cycle. The timer block also comprises a dedicated  
timer implementing an LED breathing function with 256  
steps granularity.  
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 external 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.  
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.  
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.  
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.  
Cache controller. This is an instruction cache control-  
ler used for code execution directly from OTP or exter-  
nal QSPI FLASH, thus reducing accesses to these  
memories.  
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.  
UART and UART2. Asynchronous serial interfaces.  
UART2 implements hardware flow control with a FIFO  
of 16 bytes depth.  
Infrared (IR) generator. This controller implements a  
very flexible, low power, microcode based scheme for  
IR protocols primarily used for remote controls.  
SPI and SPI2. These are the serial peripheral inter-  
faces with master/slave capability with a 16-bit wide  
FIFO of 16 places.  
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.  
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.  
QSPI Controller. Interface to a Quad SPI FLASH  
device. It also supports single or dual SPI.  
USB 1.1 FS Device. This is a 12 Mbit/s only USB  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
19 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
device controller, which is mainly used for software  
upgrades. It is also used for recharging the system’s  
battery.  
interaction devices, etc. Customers are able to develop  
and test their own applications. Upon completion of the  
development, the application code can be programmed  
into the embedded OTP or external QSPI FLASH  
memory.  
Cryptography blocks. The cryptography blocks con-  
sist of a AES/HASH controller and an Elliptic Curve  
Controller (ECC), accelerating any application security  
requirements. A True Random Number Generator  
(TRNG) is also provided enabling secure key genera-  
tion.  
In principle, the system has two functional modes of  
operation:  
A. Mirrored mode. Application, profiles, and others  
are all included in the OTP or external FLASH. They  
will be mirrored at boot or wake-up time into the unified  
RAM, which consists of both the CacheRAM and the  
DataRAM cells in a single, continuous memory space.  
Next, the CPU starts executing from the unified RAM,  
which is used for code as well as data.  
DMA Engine. This is a general purpose DMA engine  
with 8 channels that can be multiplexed to support data  
fetching between peripherals and DataRAM.  
Audio blocks. This part enables audio streaming by  
means of a Pulse Density Modulation (PDM), a Sample  
Rate Converter (SRC) and a Pulse Code Modulation  
(PCM) interface. It can support 2 digital microphones or  
2 digital loudspeakers using the PDM interface or con-  
nect an external CoDec at the PCM/I2S interface.  
During Mirrored mode the cache controller is totally  
bypassed while all RAM cells (except for the Tag RAM)  
are virtually moved into a continuous memory space.  
B. Cached mode. This mode uses the memory  
resources of the system as described in the block dia-  
gram. The cached area can be OTP and/or the exter-  
nal FLASH memory space. Code is executed directly  
from the OTP/FLASH through the cache controller,  
while DataRAM is used for intermediate variables,  
stacks, heaps and application data.  
Power management. A sophisticated power manage-  
ment circuit with a Single Inductance Multiple Output  
(SIMO) Buck DC-DC converter and several LDOs that  
can be turned on/off via software. Extra pins are pro-  
vided for supplying external devices, even when the  
DA14683 is in sleep/deep sleep mode. It also com-  
prises a Constant Current/Constant Voltage (CCCV)  
charger for the battery charging and a state-of-charge  
fuel gauge circuit.  
Mirrored mode or Cached mode should be configured  
during initialization of the system and not dynamically.  
There are several different ways of executing code and  
mapping the data segment of the system. The following  
table provide an overview of the different possibilities  
for BLE or combo product use cases.  
A more detailed description of each of the components  
of the DA14683 is presented in the following sections.  
3.2 FUNCTIONAL MODES  
The DA14683 is optimized for embedded applications  
such as health monitoring, sports measuring, human  
Table 5: Memory configurations  
BLE stack  
code  
OS, Application  
and profile code  
Exchange RAM and  
data  
Use case  
Functional mode  
CO_01  
CO_02  
ROM  
FLASH  
FLASH  
DataRAM  
DataRAM  
Cached  
Mirrored  
FLASH  
In addition, it is also possible to use parts of the Data-  
RAM as code segments. In that case, parts of the code  
can be placed in the DataRAM (a non-cacheable area),  
while the system is operating in cached mode.  
3.3 SYSTEM CONFIGURATION  
The DA14683 contains a 64 kB One Time Programma-  
ble (OTP) memory, which is used for storing the code  
(as explained in Table 5) and for retaining the system’s  
configuration data in a special OTP space called the  
“OTP header”.  
The OTP header occupies the last 712 words (64 bits  
wide) in the OTP memory space. It is partitioned into  
four sections that contain vital information for the sys-  
tem, as illustrated in Table 6.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
20 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 6: OTP header details  
Address  
Size (B) Field name  
Description  
0x30084000  
0x7F8E9C0  
184  
Chip Configuration Section (CCS)  
8
Mirrored/Cached At startup  
Non-Volatile Memory  
Product Ready  
0: Mirrored  
1: Cached  
0x7F8E9C8  
0x7F8E9D0  
0x7F8E9D8  
8
8
8
0: FLASH  
Anything else: OTP  
0x00: OTP or FLASH not programmed  
0xAA: OTP or FLASH programmed  
Redundancy  
0xAA: No redundancy used  
Anything else: Redundancy active  
0x7F8E9E0  
0x7F8E9E8  
8
8
Reserved  
Reserved  
Shuffle RAMs  
Defines the sequence of the RAM cells in a continu-  
ous memory space  
0x0: DataRAM1, DataRAM2, DataRAM3  
0x1: DataRAM2, DataRAM1, DataRAM3  
0x2: DataRAM3, DataRAM1, DataRAM2  
0x3: DataRAM3, DataRAM2, DataRAM1  
DataRAM1=8KB, DataRAM2=24KB,  
DataRAM3=32KB"  
0x7F8E9F0  
0x7F8E9F8  
0x7F8EA00  
8
8
8
JTAG  
0x0: Enabled  
0x1: Disabled  
Sleep Clock  
Position/Package  
0x0: XTAL32  
0x1: RCX  
B7-B4: Reserved. Keep these values to 0  
B3:  
0x00 – WLCSP  
0x55 – aQFN60(DA14681/DA15101)  
0x99 – KGD  
B2: Wafer number  
B1: Y coord,  
B0: X coord.  
Tester/Timestamp1  
0x7F8EA08  
0x7F8EA10  
8
8
B7: Reserved  
B6: Tester ID (MSByte)  
B5: Tester ID (LSByte)  
B4: Tester Site  
B3: TimeStamp Byte 3  
B2: TimeStamp Byte 2  
B1: TimeStamp Byte 1  
B0: TimeStamp Byte 0  
Mirror Image Length  
Contains the size of the image to be mirrored  
(unit: 32-bit words)  
0x7F8EA18  
0x7F8EA20  
8
8
Reserved  
Chip ID  
ASCII code for “14683“  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
21 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 6: OTP header details  
Address  
Size (B) Field name  
8 Cache architecture  
Description  
0x7F8EA28  
Defines the Cache architecture to be programmed at  
SW reset:  
Bits[3:0] Cache Line Size  
0x0: 8 bytes  
0x1: 16 bytes  
0x2: 32 bytes  
0x3 - 0x7: RESERVED  
Bits[7:4] Associativity  
0x0: Direct Mapped  
0x1: 2-way set  
0x2: 4-way set  
0x3 - 0x7: RESERVED  
Bits[11:8] Cache Size  
0x0: RESERVED  
0x1: 8 KBytes  
0x2: 16 KBytes  
0x3-0x7: RESERVED  
Bits[15:12] RESERVED  
0x7F8EA30  
8
Serial Configuration Mapping  
B0[7:4]: Serial signal 1, port number  
B0[3:0]: Serial signal 1, bit number  
B1[7:4]: Serial signal 2, port number  
B1[3:0]: Serial signal 2, bit number  
B2[7:4]: Serial signal 3, port number  
B2[3:0]: Serial signal 3, bit number  
B3[7:4]: Serial signal 4, port number  
B3[3:0]: Serial signal 4, bit number  
B4: Booting Method  
0xAA: booting from a specific serial port (B5) and  
at a specific location (B0 to B3)  
0x00: normal booting sequence  
B5: Serial Interface:  
0x0: None  
0x1: UART  
0x2: UART2  
0x3: SPI  
0x4: SPI2  
0x5: I2C  
0x6: I2C2  
B6:  
if UART/UART2 is selected:  
0x0:115 kBaud,  
0x1: 57.6 kBaud,  
0x2: 38.4 kBaud,  
0x3: 19.2 kBaud,  
0x4: 9.6 kBaud  
SPI is not applicable since it is a slave interface  
if I2C/I2C2:  
0x0: Standard Mode (100 kbps)  
0x1: Fast Mode (400 kbps)  
B7: reserved  
0x7F8EA38  
0x7F8EA40  
8
8
Image CRC  
Reserved  
CRC16 checksum for the programmed image  
Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
22 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 6: OTP header details  
Address  
Size (B) Field name  
8 QSPI Functions  
Description  
0x7F8EA48  
Bit0  
0: Reset Function of QSPI FLASH is in BootROM  
1: Reset Function of QSPI FLASH is in OTP  
Bit1  
0: Find qQ Function of QSPI FLASH is in BootROM  
1: Find qQ Function of QSPI FLASH is in OTP  
Bit2  
0: QSPI loader of QSPI FLASH is in BootROM  
1: QSPI loader of QSPI FLASH is in OTP  
0x7F8EA50  
8
UART STX timing  
Defines the delay for booting from UART in units of 4  
ms each.  
0x7F8EA58  
0x7F8EA60  
8
8
BD Address  
Bluetooth Device Address  
Discharge Rails  
Discharge the respective rails when HW reset is trig-  
gered  
Bit0 = 1, discharge V14  
Bit1 = 1, discharge V18  
Bit2 = 1, discharge V18P  
0x7F8EA68  
0x7F8EA70  
8
8
Secure Device  
If 0xAA then device is Secure. All security features  
are enabled  
Crystal Frequency  
0: crystal frequency is 16MHz  
Anything else: crystal frequency is 32MHz  
0x7F8EA78  
384  
Trim and Calibration Section (TCS)  
0x7F8EA78  
8
Trim and Calibration Register  
Address  
B7 to B5: Inverted address  
B3 to B0: Address  
0x7F8EA80  
0x7F8EA88  
8
Trim and Calibration Register  
Value  
B7 to B5: Inverted data value  
B3 to B0: Data value  
368  
Trim values  
Contains all trim values and calibration values in  
word pairs (Address, Value). All TCS fields will be  
evaluated by the booter.  
0x7F8EBF8  
3072  
Elliptic Curve Contents Section (ECS)  
0x7F8EBF8  
8
ECC image length and CRC  
B7 to B5: Inverted value of B3-B0  
B3 to B2: Image CRC  
B1 to B0: Image length in 32-bit words  
0x7F8EC00  
3064  
ECC microcode  
Contains all ECC microcode for the Curves imple-  
mentation  
0x7F8F7F8  
2048  
QSPI FLASH Initialization Section (QFIS)  
0x7F8F7F8  
8
Address for the QSPI Reset  
code  
B7-B5: Section length (Bytes)  
B3-B0: Address  
0x7F8F800  
0x7F8F808  
0x7F8F810  
0x7F8F818  
8
Address for the QSPI "qQ"  
identification code  
B7-B5: Section length (Bytes)  
B3-B0: Address  
8
Address for the QSPI Loader  
code  
B7-B5: Section length (Bytes)  
B3-B0: Address  
8
Address for the QSPI wake up B7-B5: Section length (Bytes)  
uCode  
B3-B0: Address  
2016  
Contains all QSPI related code  
segments  
1 Tester/Timestamp combined with Position/Package define a unique die number  
Integrity of the data in the OTP header is guaranteed in  
various ways. The OTP controller has an embedded  
Error Correction Code hardware block, which can cor-  
rect 1 bit error and detect 2 bit errors.  
Furthermore, the Chip Configuration Section contains  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
23 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
mostly flags with redundancy over the whole 64-bit  
word to ensure no mistaken value will be read. The flag  
value is repeated over all bytes of the word.  
onwards and provided that the LDOs are settled, the  
digital system is up and running.  
Next, RC16 MHz oscillator is started and XTAL16 oscil-  
lator is enabled. The system clock switches to the 16  
MHz RC clock to start OTP mirroring or any other ini-  
tialisation procedure that has to do with an external  
FLASH.  
The Trim and Calibration Settings Section comprises  
the addresses and data values of the registers to be  
configured after power/wake up. The OTP contains the  
inverted values of both the address and the data val-  
ues in the most significant 32-bit word. Reading from  
OTP, checking and then storing the value into the  
respective register is considered to be a fast and easy  
task for software.  
Then the CPU can take over and either start executing  
code from RAM or ROM. In the case of executing code  
from RAM, it can switch on the SIMO DC-DC con-  
verter, disable the LDOs to lower the power consump-  
tion of the digital part and operate the radio. For a  
detailed overview of the PMU, refer to Figure 12 and  
for a representation of the timing of the power up/ wake  
up process refer to Figure 22.  
The Elliptic Curve Contents Section contains its own  
CRC-16 checksum, while the actual OTP image (not  
present in the header) is also optionally protected by a  
CRC-16 checksum (Image CRC).  
The QSPI FLASH Initialisation Section relies on the  
OTP controller reports for integrity.  
The latency of the hardware FSM is not always the  
same. It depends on whether it is a power up or a wake  
up and more specific, in the case of a wake up, it  
depends on the time the system has been sleeping.  
3.4 SYSTEM STARTUP PROCEDURE  
After power-on or wake-up, a hardware state machine  
is started, which resides in the Power Management  
Unit. Following this, the CPU will start executing code  
from address 0x0. If the system is just powered-up,  
then ROM resides at 0x0 hence the bootROM  
sequence will be triggered. If the system was just  
waken-up, then address 0x0 is remapped to either the  
Data-RAM or one of the Non-Volatile resources of the  
chip hence code is directly executed from there.  
Default clock is  
RC32 or Sleep  
Start  
Clock  
VBUS > VBAT ?  
Yes  
No  
3.4.1 Power/Wakeup FSM  
The hardware FSM is responsible for starting the main  
LDOs of the system and power the main rails used for  
supplying the digital and analog resources of the chip.  
The flow chart of this state machine is presented in  
Figure 4. System clock after Power On Reset is  
released, is the 32 kHz coming from an on-chip RC  
oscillator (RC32K). The FSM will initially compare the  
voltages between pins VBUS and VBAT. This embed-  
ded PMU feature provides a digital signal for deciding  
which LDO to start so that Vsys is powered up. Please  
refer to  
Power On VSYS  
Turn on LDO_USB  
Power On VSYS  
Turn on LDO_VBAT  
Power On VEXT  
Turn on LDO_IO2  
Power On VFLASH  
Turn on LDO_IO  
Figure 7 for an overview of the LDOs.  
Power On VCORE  
Turn on LDO_CORE  
When VBUS is present (the system is connected to the  
USB for recharging or software upgrading), the PMU  
powers the whole system from VBUS instead of VBAT.  
Therefore a dedicated LDO_USB will be started. The  
LDO_USB has its own reference and will switch to the  
Bandgap reference voltage as soon as the latter has  
settled.  
System clock is  
RC16M  
Untrimmed if power  
up  
Switch to RC16  
clock  
Trimmed if Wake up  
End  
When no VBUS is detected (no USB connection), the  
LDO_VBAT will be turned on, followed by the Bandgap.  
The LDO_VBAT also has its own reference for starting  
up and will automatically switch to the Bandgap refer-  
ence.  
Figure 4: Power Up / Wake Up FSM  
When powered up the default clock is the RC32 which  
is close to 32 kHz. The time required for the completion  
of the HW FSM is 16 clock cycles i.e. 0.5 ms. If the sys-  
tem wakes up, then the sleep clock is used: either the  
XTAL32K (32 kHz) or the RCX (11.4 kHz). Depending  
The next step is to start the LDO_IO2 and LDO_IO,  
which provide power to the external rails, mostly target-  
ing external QSPI FLASH if available. Then the  
LDO_CORE is enabled to supply the VDD voltage (1.2  
V) for the digital core to start operating. From that point  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
24 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
on the amount of time slept, there might be some  
energy in the LDOs left or not, hence the settling time  
might be less than expected. This process might take  
11 to 16 clock cycles i.e. minimum 0.35 ms, maximum  
1.6 ms.  
The booting process of the DA14683 is presented in  
Figure 6.  
3.4.2 Goto Sleep FSM  
After the sleep command has been issued (WFI), the  
system will switch to operating on RC16M and the HW  
FSM described in the flow chart of Figure 5 will take  
over:  
Default clock is  
RC16(trimmed)  
Start  
Provided that this  
LDO is enabled  
by SW  
Also  
LDO_IO_RET are  
started  
Default clock is  
Lp_clk (XTAL32K  
or RCX)  
Start  
LDO_VBAT_RET  
Disable  
LDO_VBAT  
SLEEP_TIMER  
counts (if  
Go to Sleep  
programmed ?0)  
End  
Figure 5: Go to Sleep FSM flow diagram  
Depending on the programming of the respective con-  
trol registers the FSM will switch to the lp_clk and then  
start (or not) the LDO_VBAT_RET to provide power at  
the Vsys rail. LDO_IO_RET and LDO_IO_RET2 will  
also be enabled (or not, depending on SW program-  
ming) during this state. Additionally, the LDO_CORE is  
disabled letting the LDO_SLEEP take over the supply  
of the always on logic.  
Following that, the FSM will disable the LDO_VBAT  
and the LDO_IO/LDO_IO2.  
Finally during the Go to Sleep state, the  
SLEEP_TIMER starts counting if there has been a  
value programmed in the SLEEP_TIMER_REG and  
the system goes into sleep.  
A detailed timing diagram of the go to sleep procedure  
is illustrated at Figure 23  
3.4.3 BootROM sequence  
The BootROM sequence will be triggered right after a  
power-up or when the latest remapping of address 0 is  
pointing to the ROM.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
25 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Boot start  
Default clock is  
RC16M  
Disable XTAL16M  
Start LDO_RADIO  
Initialise OTP  
Shuffle RAM cells  
Constantly Enable/disable JTAG  
Evaluate Discharging Rails  
Check on Crystal Frequency  
Adjust trim values  
according to  
crystal frequency  
and program  
clock generation  
Copy TCS to registers  
0x00: Serial boot  
0xAA: NVM boot  
Else: HW reset  
If copy values are  
not correct then  
issue a HW reset  
Wait for 200us and enable XTAL16M  
Wait for 4 ms for  
XTAL OSC to  
settle  
Product  
Ready?  
Yes  
No  
Enable BOD at V14  
Switch to XTAL16M  
Boot from  
specific serial  
device?  
Read serial  
configuration  
NVM is  
QSPI or OTP  
?
Yes  
QSPI  
OTP  
Yes  
Read reset seq. from OTP and run it  
Check for “qQ” in the QSPI FLASH  
Initialise specific  
serial device  
No  
Cached/  
Mirrored?  
No  
Initialise peripheral  
devices  
Device  
found?  
“qQ”  
No  
identified?  
Boot from  
SPI Master  
Ext SPI  
Master?  
Yes  
Yes  
Cached  
Mirrored  
HW reset  
Copy QFIS uCode to QSPI FIFO  
No  
Yes  
Boot from  
UART  
Yes  
UART  
No  
Cached/  
Mirrored  
Mirrored?  
Yes  
Copy interrupt  
vector table to  
0x7FC00000  
Configure image  
length  
A
Cached  
Boot from  
SPI Slave  
Ext SPI  
Slave?  
Enable cache  
controller  
Copy image to  
Data RAM  
Yes  
Yes  
Enable cache  
controller  
No  
Copy interrupt  
vector table to  
0x7FC00000  
No  
Copy  
done?  
Boot from  
I2C  
I2C?  
Execute QFIS  
loader  
Remap to  
Download code to  
No  
Yes  
address 0x0  
SW reset  
Boot end  
Data RAM  
QSPI FLASH  
programmed?  
No  
Disable Watchdog  
Wait forever  
Yes  
A
Figure 6: BootROM sequence  
Colored cells indicate an OTP header check by the  
Booter firmware.  
code starts the watchdog timer, which will fire only after  
~6 seconds if not re-initialised.  
The BootROM code starts with the RC16 oscillator  
active but untrimmed, which provides an average fre-  
quency of 10 MHz in typical conditions. The BootROM  
Next, the OTP controller is initialised and some impor-  
tant configuration flags are read and evaluated: the  
sequence of the RAM cells, which rails to be automati-  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
26 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
cally discharged when HW reset occurs, if the security  
features should be enabled or not and finally, whether  
JTAG should be enabled or not. Note that these flags  
are one off: if programmed in the OTP then this cannot  
be overwritten by application software.  
there are two options in the BootROM code:  
1. Booting from a specific serial interface. This  
provides the ability to directly download code  
from a specific serial interface without scanning  
for a connected device first. This is to be used in  
cases where an external MCU will boot the  
DA14683. The configuration of the serial inter-  
face in terms of pin location, controller and  
speed is to be found in the OTP header as  
explained in Table 6.  
Following that, trim and calibration values are read  
from the OTP and stored into the respective retention  
registers. Note that the TCS Section of the OTP header  
(see Table 6) contains all register addresses and val-  
ues that are being measured during production testing  
or any other values that are required to be retained.  
These values are all stored into their respective regis-  
ters using a ‘while’ loop, which stops only when an  
empty word is found.  
2. Booting from any connected device by scan-  
ning a predefined number of GPIOs and inter-  
faces. When the respective flag is not set in the  
OTP header, booting from any serial interface  
will occur. This provides the flexibility to initially  
boot from a UART or an SPI at a totally blank  
device to start development of applications. All  
serial interfaces will be exercised once using the  
protocols described in AN-B-046. When no con-  
nection has been established, then a final  
attempt is performed for identifying a valid QSPI  
FLASH and if that is also unsuccessful, the sys-  
tem gets into a while forever loop.  
From that point onwards, the trimmed RC16 oscillator  
outputs a frequency very close to 16 MHz.  
The TCS values are protected using inverted redun-  
dancy. When a voltage dropout occurs while reading or  
writing the value, an incorrect redundancy check will  
re-initiate the copy action. When copying is still unsuc-  
cessful after 5 attempts, a hardware reset will be trig-  
gered.  
The “Product Ready” flag in the OTP defines whether  
the system should follow the ‘NVM’ or the ‘SERIAL’  
booting paths of the flow chart. In the NVM case, the  
system is supposed to start executing code from a  
Non-Volatile memory (NVM), which can either be the  
OTP or the QSPI FLASH in any of the functional  
modes.  
The sequence of the steps that the booter takes while  
scanning for an external device is presented in Table 7:  
Table 7: Scanning steps for booting from serial  
Step  
Boot from  
Speed  
The NVM booting sequence is as follows:  
1. If the NVM is the QSPI FLASH:  
0
SPI Master  
Defined by  
Master  
MISO => P0_1  
MOSI => P0_2  
SPI_CLK => P0_3  
SPICS => P0_4  
- Read the reset sequence from the OTP and  
apply it to the QSPI FLASH.  
- Initialise the FLASH.  
1
2
3
4
5
6
UART  
UTX => P0_1  
URX => P0_2  
115.2 kbps  
57.6 kbps  
57.6 kbps  
57.6 kbps  
57.6 kbps  
2 MHz  
- Check whether there is a magic word written in  
the FLASH (ASCII for “qQ”).  
- Download uCode for FLASH into the controller  
from the QFIS segment of the OTP header.  
UART  
UTX => P0_5  
URX => P0_3  
- Identify in which memory mode the system is  
operating (Cached or Mirrored):  
UART  
UTX => P1_0  
URX => P1_5  
- Mirrored mode: the Application code is copied  
into the DataRAM and the cache controller is  
bypassed, attaching the cache RAM to the  
DataRAM memory space.  
UART  
UTX => P1_2  
URX => P1_4  
- Cached mode: the cache controller is initial-  
ised as specified by the architectural parame-  
ters and the interrupt vectors are copied at the  
beginning of the DataRAM.  
UART  
UTX => P1_3  
URX => P2_3  
SPI Slave  
2. If the NVM is the OTP, then the same happens  
in Mirrored mode, while the Cached mode only  
requires the interrupt vector copy.  
MISO => P0_2  
MOSI => P0_1  
SPI_CLK => P0_0  
SPICS => P0_5  
3. Remap address 0 to QSPI or OTP.  
4. End the booting sequence with a software reset.  
In the case of a non-‘Product Ready’ device, the sys-  
tem clock is switched to the XTAL16M. From this point  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
27 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 7: Scanning steps for booting from serial  
is used as a clock for the digital state machine.  
External devices might be powered by the VDD1V8,  
VDD1V8P or even V33 pins, exploiting the DC-DC  
converter efficiency and further optimising the system’s  
power dissipation. External QuadSPI FLASH devices  
can be connected to the VDD1V8 supply, while a num-  
ber of sensors can be connected to VDD1V8P (1.8 V)  
or V33 (3.3 V).  
Step  
Boot from  
Speed  
7
I2C  
400 kbps  
SCL => P0_1  
SDA => P0_2  
8
I2C  
SCL => P0_5  
SDA => P0_3  
400 kbps  
100 kbps  
100 kbps  
9
I2C  
SCL => P1_0  
SDA => P1_5  
VBUS  
10  
I2C  
LDO_USB_RET  
V33  
SCL => P1_3  
SDA => P2_3  
Vsys  
LDO_USB  
VBAT1  
LDO_VBAT_RET  
LDO_VBAT  
3.5 POWER CONTROL AND MODES  
3.5.1 System Power Control  
The PMU supports operation from coin-cell, 2x AAA  
and rechargeable Lithium-Ion batteries. An overview  
diagram is shown in Figure 7.  
SIMO DCDC  
VDD1V8  
V12  
V14  
Vflash  
Vext  
Vcore  
There are three main supply (input) pins: VBUS,  
VBAT1 and VBAT2. VBUS is only used in case a USB  
supply is connected to the device. In all other cases,  
VBAT1 and VBAT2 are used, the first being the supply  
of the LDOs and the second the DC-DC converter sup-  
ply. VBAT1 and VBAT2 should be shorted together.  
VDD1V8P  
Vradio  
VBAT2  
From VBAT1 or VBUS, the system supply (Vsys) is  
generated by either LDO_USB or LDO_VBAT. Vsys is  
used to power an accurate bandgap reference, the  
internal sleep oscillator (RCX) and the I/O pins. In case  
the DC-DC converter is not activated, Vsys is also  
used to generate the Vcore for the digital domain and  
the I/O supply.  
Figure 7: Power Management Unit overview  
3.5.2 Power domains  
The DA14683 comprises several different power  
domains, that are controlled by power switching ele-  
ments, thus eliminating leakage currents by totally  
powering them down.  
The Radio, ADC, PLL and the Xtal16M oscillator can  
be supplied by either the 1.4 V DC-DC converter output  
or by the LDO_Radio.  
The partitioning of the DA14683’s resources with  
respect to the various power domains is presented in  
Table 8.  
The Single Inductor Multiple Outputs (SIMO) DC-DC  
converter has four dedicated outputs and has an aver-  
age efficiency of 82% when activated. Two of its out-  
puts (VDD1V8 and VDD1V8P) deliver power to  
external devices, even when the system is in sleep  
mode, by using the LDO_RET_IOx. When the VBAT1  
voltage is too low to achieve a correct conversion, the  
LDO_IOx will still keep the outputs powered.  
In addition to the main supplies described above, the  
PMU has several features to support ultra low power  
sleep modes, where large parts of the system are  
turned off. There is a dedicated supply domain that is  
always active and is generated either from VBUS or  
VBAT. This power domain is only used for the retention  
circuits. The LDO_SLEEP generates the Vcore when  
all the other power supplies are off. This supply is used  
for the digital wake-up state machine and retention dur-  
ing sleep mode. A low voltage 32 kHz oscillator (RC32)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
28 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 8: Power domains  
Power  
Description  
domain  
PD_AON  
Always On. This power line connects to all resources that must be powered constantly: the ARM/WIC,  
the BLE Timer, Timer1, the Retention SRAM, the PMU/CRG, the Wake-up controller, the pad ring and  
various registers required for the Wake-Up sequence.  
PD_SYS  
System. This power line connects to all resources that should be powered only when the ARM Cortex  
M0 is running: the AMBA bus, the OTP cell and controller, the QSPI controller, the ROM, the DataRAM  
the Watchdog timer, the SW timers, the crypto controllers, the USB and the GPIO port multiplexing.  
PD_PER  
PD_RAD  
Peripherals. This power line connects to the peripherals that can be switched off after completing their  
operation: the UARTs, the SPI, the I2C the Keyboard scanner, the ADC etc.  
Radio. This is the power island that contains the digital part of the Radio: the Modulator/Demodulator,  
the RF control unit and register file. The power management of the analog Radio subsystems is done  
within the Radio itself, since it contains several LDOs.  
PD_BLE  
BLE. This is a separate power island that only contains the Bluetooth Low Energy Lower MAC hardware  
block.  
An illustration of the power domains on the chip block  
diagram is presented in Figure 8.  
FUEL  
GAUGE  
LDO  
IO  
CHARGER  
(5V)  
ARM Cortex M0  
RAM 16KB  
DCDC  
PLL  
96  
MHz  
XTAL  
16  
MHz  
XTAL  
32.768  
kHz  
RETAINABLE  
RF  
LDO  
LDO  
SYS  
LDO  
SLP  
LDO  
USB  
Cache Controller  
BrownOut  
POReset  
&
RET. REGS  
4-way Assoc.  
RET. REGS  
Radio  
Tranceiver  
AES/HASH/ECC/  
TRNG  
Digital  
PHY  
BLE  
TIMER  
RFCU  
CRG  
BLE 5.0 MAC  
RAM  
RAM Ctrl  
128 kB  
RETAINABLE  
RET. REGS  
OTP Ctrl  
OTP  
64 kB  
RET. REGS  
ROM  
AMBA APB  
AMBA AHB  
ROM Ctrl  
128 kB  
DMA Engine  
8-ch 10-bit ADC  
SRC  
PDM  
IR Generator  
UART/UART2  
SPI / SPI2  
Timers  
TIMER1  
Temperature  
Sensor  
QuadRature  
Decoder (x3)  
Quad SPI Ctrl  
GP Registers  
RET. REGS  
LED  
(x3)  
WAKE  
UP  
RET. REGS  
PCM/I2S  
I2C / I2C2  
Keyboard Scanner  
USB 1.1 FS  
Device  
GPIO Multiplexing  
System Domain (PD_SYS)  
Analog/RF  
BLE MAC Domain (PD_BLE)  
Radio Domain (PD_RAD)  
Always On Domain (PD_AON)  
Peripherals Domain (PD_PER)  
Figure 8: DA14683 digital power domains  
There are specific blocks containing retention registers.  
These are register that keep their contents even when  
their power domain has been switched off.  
3.5.3 Power modes  
The DA14683 has four main power modes, which are  
distinguished by the power domains and clocks that  
are active:  
Moreover, all DataRAM and CacheRAM blocks have  
their own retaining mechanism, i.e. they can be pro-  
grammed to retain their content independently of the  
status of the power domains.  
1. Active mode  
2. Extended Sleep mode  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
29 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
3. Deep Sleep mode  
4. Hibernation mode  
However, there are several different configurations for  
each power mode, depending on the amount of RAM  
being retained and whether the DC-DC converter is  
kept powered on or not.  
The different configurations are presented in Table 9.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
30 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 9: Power modes and configurations  
Power  
Power domains  
Analog blocks  
Clocks available  
Retained memory Wake-up mechanism  
Description  
mode  
Active  
AON_PD = ON  
SYS_PD = ON  
BLE_PD = OPT*  
RAD_PD = OPT  
PER_PD = OPT  
LDO_USB = OFF  
LDO_RET=OFF  
LDO_VBAT=ON  
LDO_IO=OPT  
BandGap=ON  
LDO_CORE= OPT  
SIMO= OPT  
XTAL16M  
RC16  
XTAL32K (optional)  
RCX  
All memories are  
powered up and  
accessible  
No wake up required. Sys- During this mode the system is executing code from  
tem is up and running  
RAM (mirrored mode) or cached in OTP or FLASH  
(cached mode).  
The Radio, the BLE and the Peripherals power  
domains can optionally (OPT) be turned on/off,  
according to the application's requirements. Software  
is in control of these via register bits.  
RC32  
Radio activity  
LDO_RAD=OPT  
requires XTAL16M  
If the system is idle, all power domains should be  
turned off except AON and SYS, divide the system  
clock to lowest value and have the CPU execute a  
WFI command.  
LDO_VBAT_RET=OPT clock  
LDO_VBUS_RET=OFF  
LDO_IO_RETx=OPT  
LDO_SLEEP=OFF  
Extended AON_PD=ON  
LDO_USB=OPT  
LDO_RET= ON  
LDO_VBAT=OFF  
LDO_IO=OPT  
Low power clock:  
XTAL32K (optional)  
RCX  
8 KB to 144 KB  
Synchronously to the BLE The Extended Sleep mode is a mode where connec-  
Sleep  
SYS_PD=OFF  
BLE_PD=OPT  
RAD_PD=OPT  
PER_PD=OPT  
anchor points using the  
Low power clock (XTAL or  
RCX) BLE timer  
tion to the protocol is sustained.  
Granularity steps:  
8 KB  
24 KB  
In case of Mirrored Mode and No Retention RAM for  
code then OTP or FLASH mirroring will occur upon  
wake-up. In case of cached mode, no Retention for  
BandGap=OFF  
Asynchronously to the  
LDO_CORE=OFF  
SIMO=OPT  
Either of the above  
32 KB  
BLE anchor points from an code is required, only for data.  
external device powered  
from battery via any GPIO  
Asynchronously to the  
BLE anchor points from  
Timer1 interrupt.  
In case of external devices that need to wake up the  
LDO_RAD= OPT  
LDO_VBAT_RET=OPT  
LDO_VBUS_RET=OFF  
LDO_IO_RETx=OPT  
LDO_SLEEP=OFF  
16 KB Cache will  
be automatically  
retained if in  
system, there are two options: Either power them  
externally or from the DA14683. In the latter case,  
the SIMO DC-DC converter should be kept on.  
cached mode  
Deep  
Sleep  
AON_PD=ON  
SYS_PD=OFF  
BLE_PD=OFF  
RAD_PD=OFF  
PER_PD=OFF  
LDO_USB=OFF  
LDO_RET= OFF  
LDO_VBAT=OFF  
LDO_IO=OFF  
BandGap=OFF  
LDO_CORE=OFF  
SIMO=OFF  
No clocks available.  
Before switching into  
Deep Sleep mode,  
RC32 has to be  
selected as low  
power clock.  
As above  
Asynchronously to the  
BLE\ using any GPIO. The inactivity for the system and turns off everything  
toggling activity on any of  
the selected pins enables  
RC32. **  
The Deep Sleep mode assumes a long period of  
including the clocks.  
The RAM can still be retained. However, since there  
are no clocks running in the system, waking up can  
only happen from an external GPIO.  
LDO_RAD= OFF  
LDO_VBAT_RET=OFF  
LDO_VBUS_RET=OFF  
LDO_IO_RETx=OFF  
LDO_SLEEP=OFF  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
31 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 9: Power modes and configurations  
Power  
mode  
Power domains  
Analog blocks  
Clocks available  
Retained memory Wake-up mechanism  
Description  
Hiberna-  
tion  
AON_PD=ON  
SYS_PD=OFF  
BLE_PD=OFF  
RAD_PD=OFF  
PER_PD=OFF  
LDO_USB=OFF  
LDO_RET= OFF  
LDO_VBAT=OFF  
LDO_IO=OFF  
BandGap=OFF  
LDO_CORE=OFF  
SIMO=OFF  
No clocks available.  
Before switching into  
Deep Sleep mode,  
RC32 has to be  
selected as low  
power clock.  
None  
Asynchronously to the  
BLE using any GPIO. The  
toggling activity on any of  
the selected pins enables  
RC32.  
The Hibernation mode assumes a long period of  
inactivity for the system and turns off everything  
including the clocks.  
There is no RAM retained in the system. To actually  
power off all RAM cells, if the system is in cached  
mode, it must be switched to mirrored mode so that  
Cache RAM can be turned off.  
LDO_RAD= OFF  
LDO_VBAT_RET=OFF  
LDO_VBUS_RET=OFF  
LDO_IO_RETx=OFF  
LDO_SLEEP=OFF  
* OPT: optionally on or off, configurable by SW.  
** The wake up GPIO must be configured at WKUP_SELECT_Px_REG before going to sleep.  
3.6 SECURITY  
This section describes the security features supported by the DA14683.  
3.6.1 Secure Keys Manipulation  
Keys storage and keys manipulation are two very important security features considered that the complete security perimeter of the system is based on trusted keys.  
The DA14683 provides the means for the storage and revocation of both public keys used by the Elliptic Curve Controller during authentication/data integrity checks as  
well as symmetric keys used by the AES controller during encryption/decryption of data.  
3.6.1.1 Asymmetric Keys Area (AKA)  
This is memory space in the OTP which contains public keys to be used in secure boot (see section 3.6.2). Since it is public keys to be stored in this area, it is not write  
or read protected. Security here is achieved by having a non-modifiable volatile area where keys can be stored.  
This memory space can be variable. It is the actual application software as well as the secure secondary bootloader in the OTP that need to know the actual start and  
stop addresses of this space. The recommended address space however is 0x7F8E6C0 - 0x7F8E7BF. This space can store up to 8 different 256-bit keys. These keys  
are stored into the OTP AKA space during the final product line testing.  
To ensure and guarantee that programmed keys are not modified, a separate section in the OTP contains the bit-inverse values of all public keys. For each public key  
programmed in the AKA, its inverse also exists. The secure secondary bootloader is responsible for validating the correctness of the public key by XORing the two val-  
ues at system boot before allowing for further booting the system in a secure mode. In this way, any modification of the OTP AKA area (i.e. re-programming an existing  
key with another value turning 0s into 1s) will not be approved by the XOR operation. The overview of the layout of the OTP is presented in  
Figure 9.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
32 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
OTP  
0x7F80000  
Secure Secondary Bootloader  
0x7F8E5C0  
Read and compare  
by OTP Secondary  
Booter  
InverseAsymmetric Keys  
Inverse Key #1  
0x7F8E6C0  
Asymmetric Keys Area (AKA)  
Key #1  
0x7F8E7BF  
0x7F8E7C0  
Inverse Key #1  
Read and compare  
by OTP Secondary  
Booter  
InverseSymmetric Keys  
Read  
Protected  
by OPU  
Key #1  
0x7F8E8C0  
Secure DMA  
channel range  
Symmetric Keys Area (SKA)  
Chip Configuration Section (TCS)  
Trim &Calibration Section (TCS)  
Elliptic Curve Section (ECS)  
0x7F8E9BF  
0x7F8E9C0  
0x7F8EA78  
0x7F8EBF8  
0x7F8F7F8  
OTP  
Header  
QSPI FLASH Initialization Section  
(QFIS)  
Figure 9: OTP layout with security features enabled  
Provided that the asymmetric keys are stored in the  
from 0x7F8E8C0 to 0x7F8E9BF, allowing for 8 different  
256-bit AES keys storage.  
AKA, the system needs to know which is the current  
key to be used. This index is provided by the FLASH  
header as explained in Figure 11. It defines what the  
start address of the public key is. There is no hard con-  
straint of the actual address space of the AKA and its  
inverse. The address space might be different than the  
proposed in the figure, provided that the secondary  
bootloader is aware of its start address.  
Revocation of keys can be achieved by simply re-pro-  
gramming the key and its inverse value, with ‘1’. The  
result of such an action is simply to destroy the existing  
key. Moreover, this will trigger a bus error when read  
back. The key indexing in the FLASH header should be  
updated respectively.  
3.6.1.2 Symmetric Keys Area (SKA)  
If symmetric cryptography is used for authentication,  
then keeping a symmetric key safe is really important.  
Using the protected space in the OTP (SKA) for storing  
such keys, the DA14683 ensures that keys will only be  
used by the hardware accelerators without any applica-  
tion software being able to read or change them to a  
known value.  
The SKA space is defined just above the OTP header  
as illustrated in Figure 9 and covers the addresses  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
33 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Data/Code  
AES Key Memory (write only)  
Elliptic Curve space (2 kB)  
Symmetric Key Area (SKA)  
AES Crypto Controller  
8 keys x 256 bit  
Memory space for secure data  
(size/address defined by application)  
Points to the AES  
key memory  
OTP HEADER: Secure Device Flag  
Pointer within SKA for current Key  
Points to the  
Specific Key  
4
5
OTP  
RAM  
Copy during secondary booter from OTP  
1
Secure Device  
Register  
Disables AREAD  
mode  
Copied by SW  
Source  
3
2c  
OTP Controller (OTPC)  
2b  
2a  
Dest  
Channel #7 becomes a  
Secure  
Constrained  
and Fixed Destination  
addresses  
Channel.  
Source  
Channel #7  
OTP Protect Unit (OPU)  
ARM M0  
.
Authorized read access  
.
.
Write only allowed  
Channel #1  
Channel #0  
DMA Controller  
Figure 10: Symmetric Keys manipulation  
Figure 10 illustrates symmetric keys manipulation  
which ensures secure copying of the key without any  
CPU access.  
channel will read the SKA key and  
5. Copy it into the AES key memory space. No  
CPU or other bus master can interrupt this pro-  
cess. Keys cannot be read from the SKA nor can  
they be retrieved by the AES key memory space  
since the later is write only.  
1. If “Secure Device” flag is set, then a write only  
register is updated. This register is only reset by  
HW reset.  
2. Setting this register triggers the following  
actions:  
Symmetric key revocation is exactly the same as in the  
asymmetric case: re-programming an already written  
OTP space with all-ones, will destroy the key and will  
generate a bus error on any attempt to read it back.  
Application should take care of adjusting the indexing  
pointer accordingly after any revocation activity.  
2a. It transforms Channel #7 of the DMA controller  
into a secure channel with a fixed destination  
address (AES key memory) and a programmable  
source but within an allowed range (0x7F8E8C0  
to 0x7F8E9BF). If the programmed value is not  
within this range then the DMA channel ignores  
any transaction command.  
3.6.2 Secure Boot  
Secure booting feature is about starting the system  
only if the software image which resides in the FLASH  
is authenticated. If the code is not trusted, then the  
DA14683 simply will not boot.  
2b. Enables masking of the addresses that corre-  
spond to SKA coming from any other master  
except the secured DMA channel. The OTP pro-  
tection Unit (OPU) implements this functionality in  
hardware.  
The image to be authenticated in the FLASH should  
contain two separate sections:  
2c. Permanently disables AREAD mode in the  
OTP controller.  
• Header: This section should contain vital information  
about the payload as well as security features like:  
3. Indexing pointer of the SKA is copied from the  
RAM (application data space) into the destina-  
tion register of the secured DMA channel. Value  
should be within the SKA address boundaries.  
• Hash method  
• Elliptic Curve type  
• Digital Signature  
4. Upon trigger from application software for a sym-  
metric encryption/decryption, the secured DMA  
• index of the Public Key to be used (Public keys  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
34 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
already residing in the OTP, programmed during  
product line testing)  
Secure boot requires a secondary bootloader which  
cannot be modified. This bootloader should be pro-  
grammed in the OTP. Hence, after the bootROM code  
is finished, system is switched to cached mode running  
from OTP. This is evaluated by the bootROM code by  
checking the “Secure Device” flag in the OTP header  
and accordingly following the cached OTP branch (see  
Figure 6).  
• Encryption method/parameters (in case Payload  
is encrypted. Only applies to mirrored mode)  
• Payload: This section contains the actual firmware  
(code and data) for execute in place (XIP) operation.  
This is however only supported for not encrypted  
images.  
OTP  
Secure Secondary Bootloader  
ROM  
FLASH  
Boot Code, NonVolatile Memory (NVM) Path  
Header  
Other information  
HASH method  
Check “Security Device” flag  
Switch to OTP cached mode  
BootROM  
Inverse Asymmetric Keys  
Elliptic Curve  
Remap address 0x0 OTP and SWreset  
Asymmetric Keys Area (AKA)  
Pointer to AKA (which key?)  
Digital Signature of the Payload  
Initialize FLASH, switch to Quad Mode  
Read HASH  
Inverse Symmetric Keys  
Read Elliptic Curve  
Symmetric Keys Area (SKA)  
Read Pointer and get Public Key fromAKA  
Initialize HASH function  
Secondary  
OTP  
bootloader  
Chip Configuration Section (TCS)  
Trim &Calibration Section (TCS)  
Elliptic Curve Section (ECS)  
Initialize Elliptic Curve Controller  
Read Signature and decrypt it using Public Key  
Read Payload and run it through HASH  
Compare results of HASH and ECC.  
If match, then remap address 0x0FLASH  
SWreset  
Payload  
OTP  
Header  
ApplicationXIP  
fromFLASH  
QSPI FLASH InitializationSection  
(QFIS)  
ECC  
HASH  
RAM  
Digest #1 =? Digest #2  
Figure 11: CPU steps for a Secure Boot process  
The secondary bootloader running from OTP is  
responsible for the next operations:  
The summary of the aforementioned steps is illustrated  
in Figure 11.  
• Read the FLASH header and initialize the HASH  
method to be used during the authentication process  
Tools regarding the correct setup of the FLASH header  
as well as the keys manipulation are provided by  
Dialog.  
• Initialize the Elliptic Curve Controller with the EC to  
be used during the authentication process  
3.6.3 Access  
• Run the whole FLASH Payload through the Hash  
function and generate digest #1  
Unwanted access to the DA14683 is avoided by per-  
manently disabling the JTAG interface. This is done in  
the bootROM code, by evaluating the respective OTP  
flag. In case the user has programmed the OTP flag to  
indicate JTAG disable, then the bootROM code will set  
• Read the Digital Signature from the FLASH Header  
and decrypt it using the pointed public key in the  
OTP keys section. That results to digest #2  
a
write-1  
only  
Flip-Flop  
in  
the  
system  
• Compare digest #1 and digest #2. If they match then  
remap address 0 to FLASH and SW reset to actually  
start executing code directly from FLASH. If not  
match, simply hold the system in an endless while  
loop.  
(SECURE_BOOT_REG[FORCE_DEBUGGER_OFF])  
which disconnects the SWD signals from the CPU’s  
SWD controller. This Flip-Flop will only be reset by a  
HW reset, however both trigger the execution of the  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
35 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
bootROM code, hence re-asserting the sticky Flip-Flop  
according to the OTP header value. For the small time  
interval between a HW reset and the bootROM pro-  
gramming the write-1 FF, the reset value of the normal,  
memory  
mapped,  
read/write  
enable  
bit  
(SYS_CTRL_REG[DEBUGGER_ENABLE]) is 0 which  
also disables the debugger.  
In the case of selecting booting from a serial interface  
for an actual product, the special feature which defines  
which serial interface to boot from as well as which  
pins to use secures access. The bootROM code will  
not scan all serial interfaces for a connected device but  
instead, immediately connect to the pre-defined one  
ignoring the others. User might implement proprietary  
security protocols on top of this serial interface with use  
of a secondary bootloader which will be downloaded  
first.  
3.6.4 Attestation  
Every device can be uniquely identified by concatenat-  
ing the OTP header entries 0x7F8EA00 (Position/  
Package/Time Stamp) and 0x7F8EA08. This is an 64-  
bit word which contains information about the position  
of the die, the wafer number the package and the time  
stamp of the production testing which compared to the  
Tester ID and site, result to a unique number per  
device.  
3.6.5 Cryptography  
The DA14683 is equipped with HW acceleration for  
supporting all modern cryptography operations. More  
specifically, it comprises:  
• A 256-bit capable AES encryption/decryption and  
key expansion engine which implements ECB/CBC/  
CTR modes covering all symmetric key application  
needs. For more information please check section  
14.  
• A flexible configurable Elliptic Curve Engine which  
supports data/key sizes up to 256 bits. It also sup-  
ports high level public key algorithms like ECDSA,  
ECDH and EdDSA. For more information please  
check section 15  
• A complete HASH block supporting up to SHA 512  
bits. For more information please check section 14.  
• A real hardware True Random Number Generation  
capable of generating 1024 random bits in 16k clock  
cycles. For more information please check section  
16.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
36 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Two DC-DC converter outputs at 1.8 V with 75 mA  
load capability for powering external devices  
4
Power management  
The DA14683 has a complete integrated power man-  
agement unit (PMU) which comprises a Single Induct-  
ance Multiple Output (SIMO) DC-DC converter with 4  
outputs, various LDOs for the different power domains  
of the system, a Constant Current Constant Voltage  
(CCCV) charger for battery recharging, a charge detec-  
tion circuit and a fuel gauge monitoring the remaining  
battery charge when system is in active mode. The  
PMU is capable of supplying external devices even  
when the DA14683 is in sleep mode.  
• One LDO output up to 3.45 V with up to 110 mA load  
capability  
• Retention LDOs up to 10 mA that can be kept alive  
during active  
• DC-DC converter on/off control per output  
• Active and Sleep mode current limited LDOs  
• Use of small external components  
• Supply of external rails (V33, VDD1V8, VDD1V8P)  
while in Sleep mode  
The system diagram of the analog Power Management  
Unit (PMU) is presented in Figure 12.  
• Fuel gauge to indicate state-of-charge  
Features  
• CCCV charger with battery/die-temperature protec-  
tion  
• Synchronous Single Inductance Multiple Output  
Buck DC-DC converter with 4 output power rails  
• Interrupt line for the DC-DC converter and VBUS  
availability  
• Programmable DC-DC converter output charging  
sequence  
VBUS  
VBAT1  
(4.2 V- 5.75V)  
CCCV  
(1.7 V- 4.75V)  
charger  
3x  
10 uF  
Open-  
drain  
uF  
10  
LDO-  
VBAT  
3.3V  
LDO_ret  
(clamp~2V)  
Low power  
LDO-  
VBAT_  
RET  
QSPI-I/O  
LDO-  
USB  
3.3V  
LDO_ret  
(clamp~2V)  
Low power  
VDDIO  
SOCP  
FUEL  
GAUGE  
0.1Ohm  
Vcore  
Vcont(<3.3V)  
GPIOs  
V33  
SOCN  
110mA/10mA  
Vsys(1.7 V- 3.45V)  
4.7uF  
USB  
Dp  
Dn  
LDO_IO  
_RET  
Band-gap  
RCX  
LDO_IO  
LDO_core  
(by-pass)  
1.2V  
LDO_radio  
(by-pass)  
1.4V  
USB-  
Charge  
-detect  
LDO_ sleep  
(clamp~1V)  
Low power  
VDD1V8  
Vflash(1.8V)  
75mA/10 mA  
10uF  
Vcore(1.2V)  
LDO_IO  
_RET2  
V12  
LDO_IO2  
4.7uF  
VDD1V8P  
50mA  
Digital core  
RC16  
XTAL32k  
Vext(1.8V) 75mA/10mA  
SIMO  
Buck  
DCDC  
Dig.  
Wake-up  
10uF  
20mA  
LX  
LY  
0.47uH  
RC32  
ON/ OFF black blocks  
ON/ OFF green blocks  
VBAT2  
V14  
Vradio(1.4V)  
V14_RF  
10 uF  
Vsys  
Radio  
LDO  
1V2  
ADC,  
PLL  
LDO  
1V2  
XTAL16M  
Figure 12: Power management unit block diagram  
4.1 ARCHITECTURE  
LDOs, while VBAT2 supplies the SIMO DCDC con-  
verter. There are certain parts of the PMU which are  
always powered. They are designated in red in Figure  
12. The always on power circuitry consists of 2 clamps  
and LDO_SLEEP which provides the necessary volt-  
There are 3 main power inputs, namely VBUS, VBAT1  
and VBAT2. The VBUS is connected when charging  
the battery through the USB connector. VBAT1 should  
be shorted with VBAT2 externally and supplies the  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
37 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
age when the system is in extended sleep, deep sleep  
or hibernation mode. When the system wakes up, then  
many of the blocks of the PMU are activated automati-  
cally (in green) as explained in the power/wake up  
sequence flow charts. Finally, SW is responsible for  
activating the SIMO DCDC and any other block which  
is in black in Figure 12. The respective current driving  
capability is illustrated in green/red numbers in the fig-  
ure.  
V14 and V12 are used for the radio and the core  
respectively. Therefore it is recommended that they are  
not used to supply any external devices. Especially  
V14 should be connected via the PCB to the V14_RF  
as displayed in Figure 12.  
IDIG and IRAD define the currents dissipated by the digi-  
tal core and the radio, respectively, while IV18_ACT rep-  
resents the current load on both 1.8 V power rails.  
The current that the PMU can deliver on each rail in  
Active/Sleep mode is presented in Table 10. Note that  
Table 10: PMU current supply capabilities  
Parameter  
Description  
Conditions  
Maximum value  
Unit  
IV33_ACT_LDO  
Current drawn from pin  
Power from  
110 – IV18_ACT – IDIG - IRAD  
mA  
by external devices when LDO_VBAT  
in Active mode  
IV18_ACT= LDO_IO  
I
+ ILDO_IO2  
IV33_SLEEP  
Current drawn from pin  
by external devices when LDO_VBAT_RET  
in Sleep mode  
Power from  
10 - IV33_SLP  
mA  
mA  
mA  
mA  
IV18_ACT_LDO  
IV18_ACT_SIMO  
IV18_SLEEP  
Current drawn from pin  
by external devices when LDO_IO/LDO_IO2  
in Active mode  
Power from  
110 – IV33_ACT – IDIG – IRAD  
IV18_ACT. Max 75 mA  
Current drawn from pin  
by external devices when  
in Active mode  
Power from DCDC  
75  
Current drawn from pin  
Power from  
For each LDO: 10 – IV18_SLP  
by external devices when LDO_IO_RET/  
in Sleep mode LDO_IO_RET2  
4.1.1 SIMO DC-DC converter  
The heart of the PMU is the SIMO Buck DC-DC con-  
verter. The block diagram is displayed in Figure 13:  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
38 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Charge Initiate  
State  
Output Select  
VBAT  
Vradio  
IMAX  
CEXT_V14  
= 10 µF  
P_SW  
Set V14  
Vflash  
CEXT_V18  
= 10 µF  
LEXT  
470 nH  
FSM  
Set VDD1V8  
DIGITAL  
Vcore  
CEXT_V12 =  
4.7 µF  
N_SW  
Set VDD1V2  
Vext  
FW_SW  
IL=0  
CEXT_V18P  
= 10 µF  
Set VDD1V8P  
IL=IMAX  
OFF CHIP  
Figure 13: SIMO DCDC Converter block diagram  
the DCDC converter comprises 4 outputs:  
(dynamically varying) current limit in the external induc-  
tor. If one of the output voltages is too low (determined  
using clocked comparators) a charge cycle is triggered.  
Vext which connects to the VDD1V8P pin and deliv-  
ers 75 mA when DA14683 is in active and 10 mA  
when in Sleep mode. The voltage range of this  
power rail is 1.8 V +/- 5%. External devices, such as  
Power Amplifiers (PA), Front End Modules (FEMs),  
FLASH or sensors can be powered by this rail.  
However, it is possible for more than one outputs to be  
below minimum at the same time, in which case the  
system has to decide which output to charge first. This  
is done using a priority select register, which holds the  
sequence in which the outputs will be charged. Each  
time one or more outputs require a charge cycle, the  
system sorts the outputs based on this priority register  
and loads this sequence in a four tab shift register.  
Vflash which is used for supplying external devices.  
This rail’s characteristics are identical to the Vext  
one.  
Vradio which powers the RF circuits via a number of  
dedicated LDOs. This rail delivers up to 20 mA at 1.4  
V and should not be used for supplying external  
devices.  
In order to minimize the ripple voltage on the outputs,  
the current limit is dynamically set during operation in  
Active mode. This is done by measuring how long each  
output is above its minimum value after a charge cycle.  
When this time is very long, more charge than required  
(given the load current) was stored on the output  
capacitor, so the current limit is reduced by one bit  
(LSB). However, when the output voltage drops too  
quickly, not enough charge was delivered to the output  
capacitor, so the current limit is increased by one bit  
(LSB).  
Vcore which supplies the digital core of the  
DA14683 and delivers up to 50 mA at 1. 2 V when in  
Active mode. This rail should not be used for supply-  
ing external devices.  
The converter has an asynchronous architecture, i.e.  
the on-time of the switches is not determined by an  
external clock. Instead, the on-time is determined by a  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
39 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
The efficiency of the DCDC converter on the VDD1V8  
or VDD1V8P is illustrated in Figure 14. It is measured  
at three battery voltages (VBAT). The load on V14 and  
V12 is kept constant at 2mA and 5mA respectively.  
Figure 14: 1.8V rails DCDC efficiency vs load  
Efficiency for sub-mA loads, i.e. between 100 uA and 1  
mA is over 70% for VBAT > 3.5 V and over 80% for  
VBAT < 3.5 V.  
the load as well as different VBAT voltages, is pre-  
sented in Figure 15 and Figure 16:  
The efficiency of the V12 and V14 rails with respect to  
Figure 15: 1.2V rail DCDC efficiency vs load  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
40 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 16: 1.4V rail DCDC efficiency vs load  
1.2V and 1.4V efficiency is measured with no load on  
the 1.8V rails.  
down again. This periodic operation is programmable  
in  
terms  
of  
timing  
with  
use  
of  
the  
SLEEP_TIMING_REG which counts sleep clock ticks.  
Their driving capability reaches 10 mA and they can  
also be used during active mode (LDO_CTRL3_REG)  
in case a steady voltage is required during transitions  
from active to sleep and vice versa.  
4.1.2 LDOs  
Several LDOs are used to provide a stable power sup-  
ply to all rails, when the SIMO DCDC is not active (e.g.  
in Sleep mode or during start up) or when the device is  
plugged onto a USB charger. Furthermore, bypassing  
the DCDC is also considered, when the external volt-  
age on pin VBAT2 is at the edge of enabling an efficient  
step-down activity (i.e. < 2.45V).  
In active mode, when external supply is between 1.7 V  
and 2.4 V and the DC-DC converter is bypassed (step-  
down conversion not feasible due to low voltage), the  
LDO_VBAT provides power to the Vsys line and the  
LDO_IO/LDO_IO2, LDO_Core and LDO_radio to the  
1.8 V rails, the Vcore and the Vradio, respectively.  
Two low power LDOs (LDO_ret) one connected to  
VBUS and one to VBAT, integrating a clamp at 2 V, pro-  
vide power to the Vcont power line and hence to the  
LDO_sleep (which is also a clamp). This LDO is  
responsible for providing the VDD supply during Sleep  
mode, which can be trimmed down to 0.85 V and still  
be able to drive 10 mA. This LDO can be kept on dur-  
ing active time as well. This is basically the supply of  
the Always On power domain (PD_AON) which is  
always there, independently of active or any sleep  
mode.  
Finally, when the system is connected to a USB  
charger, pin VBUS is the source of the power instead  
of pin VBAT1/VBAT2. The same path is used as with  
VBAT2, but the LDO_USB is responsible for providing  
the System supply line with power. This LDO is auto-  
matically switched on as soon as a VBUS>VBAT1 volt-  
age is sensed.  
4.1.2.1 LDOs Loadstep Response  
In Sleep modes, the retention LDOs take over and  
make sure that the system is properly powered without  
This section summarizes the loadstep response of the  
LDOs of the PMU:  
the  
need  
of  
the  
DC-DC  
converter.  
The  
LDO_VBAT_RET provides power to the System supply  
line the LDO_SLEEP at Vcore, and LDO_IO_RET/  
LDO_IO_RET2 to the external 1.8 V power rails. There  
is no need to power the Vradio since it is not enabled in  
any of the sleep mode. The LDO_VBAT_RET and  
LDO_IO_RETx circuits are identical and operate in a  
sample & hold manner: They contain a reference volt-  
age capacitance which is used to regulate the output  
voltage. However, due to leakage, this internal refer-  
ence capacitor is discharged. To keep as stable voltage  
reference, a mechanism is built to start the Bangap,  
sample the voltage reference in the LDOs and shut it  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
41 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 17: LDO_VBAT loadstep 0 to 100mA (Cload=4.7uF, Vout=3.3V)  
Figure 18: LDO_CORE loadstep 0 to 58mA (Cload=4.7uF)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
42 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 19: LDO_RADIO loadstep 0 to 35mA (Cload=4.7uF, Vout=1.45V)  
Figure 20: LDO_IO loadstep 0 to 60mA (Cload=10uF)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
43 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 21: LDO_VBAT_RET loadstep 0 to 10mA (Cload=10uF)  
4.1.3 Switching from DC-DC to LDOs  
A separate counter gathers the successive charge  
events and compared to a programmable threshold  
(DCDC_CTRL_3[DCDC_TIMEOUT_IRQ_RES] it  
clears the time out event counter before an interrupt is  
triggered. In this way, any short periodic stress inter-  
vals for the DCDC will not result to switching to the  
LDOs automatically.  
If the converter is in idle mode it will check each output  
every 2, 4, 8 or 16 clock cycles of the 16 MHz clock  
and if it finds that one or more output voltages are too  
low it will commence a charge cycle. It will then sort the  
outputs that require charging, according to a configur-  
able  
sequence  
(i.e.  
DCDC_CTRL_0[DCDC_PRIORITY]) and handle each  
output in turn. The first step is then to connect the  
inductor to the battery voltage and the required output  
and wait for the current in the inductor to reach a cer-  
tain maximum (which is automatically adjusted  
depending on the load current). The next step is to  
switch the inductor from VBAT1 to ground and dis-  
charge the current to zero.  
The respective LDOs should be switched on before  
disabling the DCDC converter (i.e. just before entering  
a sleep mode). Each power rail (except Vcont and  
Vsys) is covered by both a DCDC output and an LDO.  
To switch off the DCDC, the user must enable the  
LDO_IO_RETx (if external components need to stay  
powered). If Vradio is required on, then LDO_RADIO  
should be activated as well.  
In the case of the external power supply dropping down  
to 2.4 V, and of course upon the load on each output, a  
time-out on the charging cycle might occur. Hence the  
output rail is not charged as expected and maybe the  
DCDC converter cannot continue supplying this output  
with the required power.  
4.1.4 PMU configurations in Sleep modes  
Every power line can be supplied by either a DC-DC  
output or an LDO. Only Vcont and Vsys is not powered  
by a DC-DC output. There is quite a number of different  
ways of configuring the PMU to supply the internal rails  
as well as external devices, while in sleep mode,  
depending on the load, the sleep time etc. The Vsys  
rail might or might not be used for supplying an exter-  
nal device via pin V33. In the first case, a stable Volt-  
age level might be needed hence the LDO_VBAT_RET  
has to be used, a sample-and-hold type of LDO which  
samples the bandgap voltage on a regular basis and  
regulates accordingly. The regular wake-up is based  
on the SLEEP_TIMER_REG value. In the latter case,  
no precise voltage is needed on the V33, hence the  
LDO_RET_clamp should be used which is not requir-  
ing any sampling of the bandgap reference voltage,  
and the average sleep current is not affected.  
As soon as one of the switches is activated, a counter  
starts running. If the switch is active for more than  
DCDC_CTRL_1[DCDC_TIMEOUT] time then a time  
out event is generated. A counter gathers the time out  
events, compares the current value to a programmable  
threshold  
(DCDC_CTRL_3[DCDC_TIMEOUT_IRQ_TRIG]) and  
issues an interrupt to the CPU indicating the phasing  
out situation of the converter or immediately switches  
to the LDOs. Whether the decision is to be taken by the  
hardware circuitry or SW over the interrupt service rou-  
tine is user programmable.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
44 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
The overview of the power configurations is presented  
in Table 11:  
level to reduce leakage. Please note that, using  
the RCX as the sleep clock in this mode is not  
recommended because the RCX is powered by  
Vsys which is not a stable voltage. The RCX fre-  
quency is voltage dependent, so if voltage  
changes sleep clock behaviour will also change.  
This applies to Deep Sleep and Hibernation.  
Table 11: Sleep PMU configurations  
Power Power  
Power  
Rail  
Configuration #1  
Configuration #2  
Vcont  
Vsys  
always on powered by LDO_RET  
2. Power Configuration #2: This configuration is  
the same as #1 but Vsys is now powered by  
LDO_VBAT_RET, which is a sample and hold  
LDO, thus guaranteeing a stable voltage on this  
rail. This enables connecting external compo-  
nents on the V33 pin of the system.  
SLEEP_TIMER_REG has to be programmed  
with a value to trigger the period wakeup of the  
Bandgap. This is the recommended configura-  
tion for systems with external components on  
1.8V and/or 3.3V rails kept alive while the  
DA14683 is in Extended Sleep mode.  
LDO_RET(CLAMP) LDO_VBAT_RET  
Vflash OFF  
Vext OFF  
LDO_IO_RET  
LDO_IO_RET2  
LDO_SLEEP  
OFF  
Vcore LDO_SLEEP  
Vradio OFF  
There are many ways of configuring the PMU, how-  
ever, there are two main sleep configuration options  
that cover almost all cases:  
1. Power Configuration #1: This configuration is  
ideal for a stand-alone system running from OTP  
and without external components supplied by  
the PMU during sleep or as a “shipping mode”  
where no external components are hooked up  
on V33 and components on V18/V18P are pow-  
ered off. The Vsys rail is powered by the  
LDO_RET(Clamp) hence a voltage ~2V is to be  
observed at the V33 pin. The Vext and Vflash  
are switched off. Finally, the Vcore is powered by  
the LDO_SLEEP at lower than normal voltage  
4.1.5 Wake/Power up - Sleep Timing  
There are two HW controlled FSMs which run at  
power/wake up and when going to sleep as explained  
in section 3.4.1 and section 3.4.2 respectively. Their  
timing regarding the enabling/disabling of the various  
resources of the PMU is explained in Figure 22 and  
Figure 23:  
Wake Up Process  
Power Up  
Wake Up  
RC32 (31.2us)  
RC16 untrimmed (~100ns)  
RC16 trimmed (~60ns)  
XTAL32K(30.5us) / RCX (87.7us)  
CLK  
Wake Up Event  
Filter  
WUP  
Switch  
to RC16  
SLEEP  
Start V33  
Start VDD1V8P  
Start VDD1V8  
Start VDD_CORE  
RUNNING SW...  
HW FSM  
LDO_VBAT_RET  
LDO_IO_RET  
LDO_IO2_RET  
LDO_VBAT  
HW  
controlled  
LDO_CORE  
LDO_IO2  
LDO_IO  
RC16_Enable  
DCDC_1V8  
DCDC_1V8P  
DCDC_1V2  
SW  
controlled  
DCDC_1V4  
Figure 22: Wake/Power-Up timing and PMU operations  
In the case of powering up the system, the HW FSM as  
depicted in Figure 3, enables the various LDOs while  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
45 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
being clocked by the RC32K. Each LDO requires a cer-  
tain amount of time to settle depending on the load of  
the power rail. The LDOs are ready within 12 clock  
cycles (or 380 us) and then the clock is switched to the  
RC16 which has not yet been trimmed, hence the fre-  
quency is near 10 MHz.  
DC-DC  
controller  
by  
setting  
DCDC_CTRL_0_REG[DCDC_MODE]=Active. Further-  
more, the respective rails might or might not be ena-  
bled  
by  
respectively  
programming  
the  
DCDC_<rail>_ENABLE_xV bits.  
Preparing the system for any of the sleep modes,  
requires that the application switches back the clock to  
the RC16 and switches off the XTAL16M (see Figure  
23). After executing the WFI command (which puts the  
chip into sleep), the clock is switched to the lp_clk  
(RCX or XTAL32K) the retention LDOs are enabled  
(LDO_VBAT_RET, LDO_IO_RET and LDO_IO_RET2)  
and the core (VDD) voltage LDO is disabled so that the  
LDO_sleep takes over. The actual amount of clock  
cycles since the WFI is issued up to the point where  
the lp_clk starts and the FSM changes state is 7.  
Depending on wether a value has been programmed in  
the SLEEP_TIMER_REG, the system is automatically  
shorty waken up every so many ticks (lp_clk) to quickly  
sample the bandgap voltage and get back to sleep.  
The DC-DC and the LDO_VBAT_RET require a sam-  
ple-and-hold operation, hence if these two elements  
are not part of the sleep strategy, SLEEP_TIMER_REG  
should be kept to 0. The overall FSM latency is 4 lp_clk  
clock cycles.  
In the case of waking up from any of the sleep modes,  
the HW FSM operates at either the RCX or the  
XTAL32K clock hence the actual frequency may vary  
from 11.4 kHz to 32,768 kHz. The FSM filters the wake  
up event at the first state (an interrupt coming from a  
GPIO or an internal timer) and then it performs the  
same steps as in the power up case. The only differ-  
ence here is that the amount of time required for the  
LDOs to settle might be less then before since the  
sleep time might have been short enough to allow a  
total discharge of the capacitances, internally as well  
as externally. However, do the frequency variation the  
wake up time might reach 1.2 ms if the RCX is used.  
In both cases, as soon as the RC16 clock is enabled,  
the FSM hands control to the CPU. The CPU will start  
executing code from address 0x0. If it is a power up,  
the BootROM code resides at address 0x0. If it is a  
wake up, the RAM is remapped at address 0x0. The  
actual application code is responsible for starting the  
Goto Sleep Process  
RC16 trimmed (~60ns)  
XTAL32K(30.5us) / RCX (87.7us)  
CLK  
DCDC_MODE=Sleep  
Goto Sleep  
SLEEP  
Clock ticks = SLEEP_TIMER  
Disable  
LDO_VBAT  
RUNNING SW...  
Start LDO_VBAT_RET  
HW FSM  
LDO_VBAT_RET  
LDO_IO_RET  
LDO_IO2_RET  
LDO_VBAT  
HW  
controlled  
LDO_CORE  
LDO_IO  
LDO_IO2  
RC16_Enable  
DCDC_1V8  
DCDC_1V8P  
DCDC_1V2  
SW  
controlled  
DCDC_1V4  
Figure 23: Goto Sleep timing and PMU operations  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
46 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
4.1.6 Charger  
The charging circuit operates as a constant current/  
constant voltage source. The control circuit keeps the  
charge voltage or the charge current at the predefined  
values (whichever of the two is reached first). The val-  
ues  
can  
be  
changed  
via  
register  
CHARGER_CTRL1_REG.  
The charge control circuit is initially supplied from pin  
VBUS. The complete charging circuit is powered down,  
when the VBUS voltage is low for more than 10 ms or  
by setting bit CHARGER_CTRL1_REG[CHARGE_ON]  
= 0. In a Li-ion application the charger is also disabled,  
when the voltage on pin NTC is in the “too hot” or “too  
cold” region.  
Note that, the use of the charger requires P1_4 as a  
power pin and P1_6 for controlling the NTC if required  
(as shown in Figure 26).  
Pre-Charging and Charging  
The Charger supports pre-charging and normal charg-  
ing as explained in Figure 24. The charger starts at  
constant current mode (CC) to get the battery voltage  
to the predefined voltage level. It then switches to con-  
stant voltage mode and continues until the current  
drops below the expected threshold indicating that the  
Battery has reached the charging limits.  
Figure 24: Pre-Charge and Charge Voltage/Current  
Diagram  
The Charger circuitry supports a large range of current  
levels for pre-charge and charging. If the range is  
within 5 mA and 400 mA, then the respective level has  
to  
be  
programmed  
in  
the  
CHARGER_CTRL1_REG[CHARGE_CUR] field. If the  
range of pre-charge currents is between 0.2 mA and 15  
mA  
then  
programming  
the  
CHARGER_CTRL2_REG[CHARGER_TEST]=0x6 in  
addition to the CHARGER_CTRL1_REG is required.  
This will divide the current level by ~27 hence produce  
sub-miliamps levels.  
The pre-charge and charge state machine as imple-  
mented in software is presented in Figure 25:  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
47 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Charging Start  
Charge Detection  
Check ADC[VBAT  
]
VBAT< VWEAK_BAT_THR  
VBAT? VWEAK_BAT_THR  
Set Timeout Timer  
Configure Current for  
TTH_TIMOUT  
ICharge  
Set VBAT sense Timer  
TVBAT_SENSE  
Set Status check Timer  
TSTATUS_CHECK  
Configure Current for  
IPre_Charge  
T
STATUS_CHECK did not  
expire  
T
STATUS_CHECK expired  
Wait for TPROT_OVERSHOOT  
Check BATTEMP field  
Check BATTEMP field  
Check ADC[VBAT  
]
Check End of Charge field  
VBAT? VWEAK_BAT_THR  
Temperature ok and  
not end of charge  
VBAT< VWEAK_BAT_THR  
Temperature out of  
bounds or charge  
ended  
TTH_TIMOUT expired  
TTH_TIMOUT did not  
expire  
Charging End  
Figure 25: Pre-Charge and Charge SW FSM  
The Charge detection is performed by HW according to  
the “Battery Charging Specification, Rev 1.2, Decem-  
ber 2010”. There are several timers used in this flow  
chart as explained below:  
CHARGER_STATUS_REG[END_OF_CHARGE]  
and  
CHARGER_STATUS_REG[CHARGER_BATTEMP_  
OK]  
VWEAK_BAT_THR is the voltage threshold below which,  
• TTH_TIMOUT is the time-out threshold which stops the  
a battery is considered as “weak” as explained in the  
BCS, Rev1.2 specification while ICharge and IPre_charge  
pre-charging if voltage has not increased within a  
certain time interval due to possibly a bad battery.  
the charging current limits configured as already  
explained.  
• TVBAT_SENSE defines the period of checking the volt-  
age level of the battery via the ADC channel. It is set  
at 10 ms.  
Auto shut-off  
• TPROT_OVERSHOOT defines a programmable interval  
The charger auto shut-off circuits for Li-ion/polymer  
batteries automatically switches off the charger circuit,  
when the NTC input voltage goes outside the specified  
voltage ranges as shown in Figure 26.  
to avoid sampling a wrong VBAT voltage right after  
disabling a Battery protection IC. In these cases a  
small overshoot might be observed which could trick  
the sampling routine that battery is already charged,  
hence the charging sequence would be terminated.  
Default time is 10 ms.  
The charge disable function will be activated, when the  
voltage ratio (NTC voltage/P1_4 voltage) is below 1/2  
(too hot) and above 7/8 (too cold).  
• TSTATUS_CHECK is the time period after which, the  
status bits of the charging circuitry are checked:  
The Auto shut-off control and status bits can found in  
registers  
CHARGER_CTR1_REG  
and  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
48 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
CHARGER_STATUS_REG.  
R1 can be dimensioned as follows:  
R1 = RNTC@Tcritical  
charge cycle is not affected directly. This indicator can  
be used by higher-level control to manipulate the  
charge process.  
Cold battery protection can be switched-off indepen-  
dently from the NTC_DISABLE control.  
For example, if the NTC is 4.7 kat Tcritical = ~40 °C,  
R1 must also be 4.7 k, charging will stop at the “too  
hot” limit. The “too cold” temperature is not critical and  
will in practice be around 0 °C.  
Non-rechargeable batteries  
A 3.74 V charge level is provided to test for non-  
rechargeable NiMH batteries. For two NiMH batteries  
the maximum charging voltage is expected to be 3.4 V.  
When 3.74 V is selected and an ADC measurement  
indicates a quick rise above the 3.4 V level, most likely  
non-rechargeable batteries are present and the  
charger must be disabled.  
If the NTC auto shut-off feature is not required, bit  
CHARGER_CTR1_REG[NTC_DISABLE] must be set  
to ‘1’.  
End Of Charge detection  
This is an indicator when the charge current is  
decreased to 10% of the programmed value and can  
be  
read  
at  
CHARGER_STATUS_REG[END_OF_CHARGE]. The  
P1_4  
NTC_LOW_DISABLE  
R1  
(10k)  
1
7/8*VDD  
1/2*VDD  
Too Cold  
7/8  
NTC/P1_6  
+
Temperature ok  
+
CHARGE Disable  
NTC_DISABLE  
1/2  
Too Hot  
NTC  
(10k)  
GND  
Figure 26: Charger auto shut-off circuit  
• Offset cancelling by chopper amplifier  
4.1.7 Fuel Gauge  
• Power saving mode with auto increment  
• SOC pins (SOCP, SOCN) can handle +/- 100mV  
Architecture  
The Fuel Gauge, State of Charge (SOC) circuit is used  
to accurately determine the actual amount of charge  
(Coulombs) in rechargeable batteries as well as the  
discharge state of non-rechargeable batteries. This  
information can be used as battery status indication to  
the user.  
The Fuel Gauge measures integrates the current  
through the battery by measuring the voltage over a  
0.1 (typical) external resistor or PCB wire using  
SOCp and SOCn pins. Recommended settings will be  
based on this resistor value.  
Features  
• Coulomb Counter fuel gauge with high accuracy  
Sigma delta ADC 1% at 1A max  
During operation (charge or discharge) the SOC con-  
tinuously integrates the voltage on SOCn/SOCp using  
a Sigma Delta ADC and integrating counter which is  
• Integrates charge and discharge currents  
• Measures average currents  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
49 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
the time base for the 40 bits Fuel Gauge up/down  
counter. The chopper amplifier cancels any offset  
before passing it to the SD ADC. The integrated value  
is read via the SOC_CHARGE_CNTRx_REG (x=1,2,3)  
and the average current via the 16 bits  
SOC_CHARGE_AVG_REG (9 bit + sign + fractional).  
All SOC_* registers can be read out via APB16 inter-  
face.  
APB16  
VBAT  
SOC_CTRLx_REG  
SOC_RESET_CHARGE  
SOC_ADD2CH_REG  
(Fuel Gauge)  
SOCp  
SOC_CHARGE_CNTRx_REG  
Chopper  
stage  
SD ADC  
(fs=1MHz)  
SD Counter  
0.1Ohm  
SOCn  
SOC_CHARGE_AVG_REG  
Star-point  
connection  
(Average current)  
DIVNX_CLK  
Figure 27: State of charge (SOC) circuit block diagram  
Operation (rechargeable battery)  
For power saving the SOC analog part can be disabled  
and the SOC_ADD2CH_REG will be used to decre-  
ment the SOC_CHARGE_CNTRx_REG at the default  
sample frequency of 1 MHz. The value of the  
SOC_ADD2CH_REG can be determined from the  
SOC_CHARGE_AVG_REG when not in power saving.  
Figure 28 shows the Fuel Gauge Hardware/Software  
operation. The SOC_CHARGE_CNTRx_REG repre-  
sents the actual amount of charge Q = I*t added or  
subtracted from the battery after the counter is reset  
with SOC_CTRL1_REG[SOC_RESET_CHARGE].  
With the battery charger enabled, a fully charged bat-  
tery  
will  
set  
bit  
At  
Note: SOC is powered by the system power domain  
(PD_SYS) which means that it is not available while  
system is in any sleep mode.  
CHARGER_STATUS_REG[END_OF_CHARGE].  
this point the SOC counter can be reset, starting to  
count down as soon as the battery is removed from the  
charger. A local variable “full_charge” is determined  
based on the battery capacity, aging and temperature  
parameters. The actual battery voltage is determined  
from a VBAT voltage measurement using the general  
purpose ADC. At the lowest operational battery level,  
the SOC_CHARGE_CNTRx_REG represents the bat-  
tery capacity which will be negative at this point. The  
Current charge = full_charge - SOC counter value.  
Reversely, if the counter is reset at the lowest battery  
voltage, the increasing counter represents the current  
actual battery charge.  
At insertion of a new battery the MIN/MAX values of  
the counter are unknown, so the above described cali-  
bration procedure must be repeated.  
Power saving mode  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
50 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
SW  
Aging &  
Battery temperature  
capacity compensation  
full_charge  
CHARGER_STATUS_REG  
[END_OF_CHARGE] ==1  
current_charge  
SOC Analog  
add  
SOC_CHARGE_CNTRx_REG  
++/--  
SOC_CTRL1_REG  
[SOC_RESET_CHARGE] =1  
++/--  
Used in power saving mode.  
Represents charge when  
SOC Analog is off  
SOC_ADD2CH_REG  
Measure once at low current  
when not in power saving mode  
SOC_CHARGE_AVG_REG  
HW  
Figure 28: Fuel Gauge operation  
• Complies to “Battery Charging Specification”  
Revision V1.2 December 7, 2010 (BC1.2)  
4.1.8 USB charger detection  
• Charger type detection: Dedicated Charging Port  
(DCP), Charging Downstream Port (CDP), Standard  
Downstream Port, PS2 port and Proprietary charger  
The USB controller has built-in hardware to determine  
the charger type to which it is connected. Depending  
on the charger type, battery state and USB connection  
state a defined current can be drawn from the charger.  
• Dead battery provision  
• Compatible with various smartphone chargers  
Features  
VBUS  
VDM_SRC_ON  
VBUS  
IDP_SRC  
<0.25 V -> 0  
>0.4 V -> 1  
Charger  
(0.6 V)  
A)  
(10  
+
USB_DCP_DET  
USB_DP_VAL  
VDP_SRC_ON  
VDM_SRC_ON  
IDP_SRC_ON  
<0.8 V -> 0  
>1.5 V -> 1  
VBUS  
USBP  
USBN  
D+  
D-  
<0.8 V -> 0  
>1.5 V -> 1  
GND  
USB_DM_VAL  
GND  
IDM_SINK_ON  
IDP_SINK_ON  
<0.25 V -> 0  
>0.4 V -> 1  
Receptacle  
RDM_DWN  
(15k)  
USB_CHG_DET  
(100  
A)  
VDP_SRC_ON  
VSS  
Figure 29: USB charger detection block diagram (BC1.2)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
51 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
The USB interface supports the battery charging with  
the following hardware blocks as shown in Figure 29.  
Table 12: USBP, USBN contact detection  
Port  
USBP  
USBN  
USB_DP_VAL  
• A voltage source of 0.6 V can be switched to USBP  
or USBN with USB_CHARGER_CTRL_REG bits  
VDP_SRC_ON resp. VDM_SRC_ON.  
Charging <0 .8 V <0.8 V  
0
down-  
stream  
• A current sink of 100 A can be switched to USBP or  
USBN with USB_CHARGER_CTRL_REG bits  
IDP_SINK_ON resp. IDM_SINK_ON. (Note that  
internal logic prevents to both switches can be ena-  
ble at the same time)  
Primary charger detection  
Primary charger detection is used to detect whether  
the downstream port has charging capabilities or not.  
The detection is initiated by setting bits  
USB_CHARGER_CTRL_REG[VDP_SRC_ON]  
USB_CHARGER_CTRL_REG[IDM_SINK_ON]. This  
enables the voltage source VDP_SRC on USBP and the  
• A current source IDP_SRC and RDM_DWN can be ena-  
bled with  
USB_CHARGER_CTRL_REG[IDP_SRC_ON]  
and  
• A logic level Schmitt trigger for USBN, USBP read in  
USB_CHARGER_STAT_REG bits  
USB_DM_VAL, resp. USB_DP_VAL logic level  
(0: <0.8 V 1: >2 V)  
current source IDM_SINK on USBN. The measured lev-  
els on USBP and USBN shown in Table 13 determine  
the  
value  
of  
bit  
USB_CHARGER_STAT_REG[USB_CHG_DET].  
• A comparator output CHG_DET read in  
USB_CHARGER_STAT_REG[USB_CHG_DET] to  
detect a level of 0.4 V < USBN < 1.5 V to indicate  
that a DCP or CDP is connected.  
Table 13: Charger type detection  
Port  
USBP USBN  
USB_CHG_DET  
Dedicated 0.6 V  
charger  
>0.4 V  
<1.5 V  
1
• A comparator output DCP_DET read in  
USB_CHARGER_STAT_REG[USB_DCP_DET] to  
detect a level of 0.4 V < USBP < 1.5 V to indicate  
that a DCP is connected.  
Charging 0.6 V  
down-  
First  
<0.25 V  
0 (Note 1)  
then 1 after  
stream  
Then 0.6 V 1 ms to 20 ms  
Initially all bits of USB_CHARGER_CTRL_REG must  
be set to reset value ‘0’.  
Standard 0.6 V  
down-  
stream  
<0.25 V  
2 V  
0
0
The presence of VBUS can be checked by reading bit  
ANA_STATUS_REG[VBUS_AVAILABLE].  
PS2  
2 V  
Detection negotiation  
When a downstream port drops VBUS, the bus will dis-  
charge and ANA_STATUS_REG[VBUS_AVAILABLE]  
goes to 0.  
Note 1: After 20 ms a valid comparator signal is found, after 40 ms  
the comparator signal can be read in USB_CHG_DET.  
Note that when the charger detection is done before  
the charging downstream port is enabled its VDM_SRC  
Contact detection  
(so before 20 ms) a standard downstream port is  
detected, which is safe but incorrect. After the  
VDM_SRC has been enabled in the charging down-  
If USB_CHARGER_CTRL_REG[IDP_SRC_ON] is set,  
bit USB_CHARGER_STAT_REG[USB_DP_VAL] indi-  
cates that the data pins make contact (see Table 12).  
stream port, a charger port is detected.  
It is the responsibility of the SW to wait until the USBN  
and USBP contact bouncing has finished before the  
register is read.  
Secondary charger detection  
Secondary charger detection can be used to distin-  
guish a dedicated charger or a charging downstream  
port. The detection is initiated by setting bits  
USB_CHARGER_CTRL_REG[VDM_SRC_ON] and  
USB_CHARGER_CTRL_REG[IDP_SINK_ON]. This  
Table 12: USBP, USBN contact detection  
Port  
USBP  
USBN  
USB_DP_VAL  
enables VDM_SRC and IDP_SINK. The difference  
between a DCP and a CDP is shown in Table 14.  
Nothing  
>1.5 V  
0
1
connected  
Table 14: Secondary charger detection  
Standard <0.8 V  
down-  
stream  
0
0
0
Port  
Dedicated >0.4 V  
charger <1.5 V  
USBP  
USBN  
USB_DCP_DET  
0.6 V  
1
Dedicated <0.8 V  
charger  
<0.8 V  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
52 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 14: Secondary charger detection  
Port  
USBP  
USBN  
USB_DCP_DET  
Charging  
down-  
<0.25 V 0.6 V  
0
stream  
Finally VDP_SRC shall be enabled as defined in the  
Good Battery Algorithm.  
Interrupts  
The charger detection hardware can operate in polling  
mode or can generate a USB interrupt to the Arm Cor-  
tex-M0. A change in one of the bits [3:0] of register  
USB_CHARGER_STAT_REG,  
sets  
bits  
USB_MAEV_REG[USB_CH_EV] if the corresponding  
bits [7:4] are set to ‘1’. If USB_CHARGER_STAT_REG  
is read, bit USB_CH_EV interrupt is cleared. The inter-  
rupt “set” conditions have priority over the “clear” condi-  
tion of the read access.  
Once VBUS is inserted, CHARGE generates  
a
KEYB_INT. A debounce timer for Contact Detection  
and wait time to detect a standard downstream port  
must be done by software polling or by using system  
timer interrupts SWTIM_INT.  
USB V1.1 compatibility  
In USB V1.1 the integrated USBP and USBN resistors  
were used for a dedicated charger detection. Although  
not very convenient, these resistors can still be used to  
force High/Low levels on the USB lines.  
Smartphone charger detection  
The battery charger detection circuit is able to detect  
smartphone chargers with characteristics shown in  
Table 15.  
Table 15: Smartphone charger characteristics  
USBP  
2.0 V  
2.0 V  
2.8 V  
2.8 V  
USBN  
2.0 V  
2.8 V  
2.0 V  
2.8 V  
Load current  
up to 500 mA  
up to 1 A  
up to 2 A  
Not defined  
Table 16: Smartphone charger detection  
USBP/  
USBN  
USB_DP_VAL / USB_DP_VAL2 /  
Voltage  
USB_DM_VAL  
USB_DM_VAL2  
2 V  
1
0
>1.5 V  
<2.3 V  
2.8 V  
1
1
>2.5 V  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
53 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Features  
5
Reset and BOD  
• RC spike filter on RST to suppress external spikes  
(400 k2.8 pF)  
The DA14683 comprises an RST pad which is active  
HIGH. It contains an RC filter for spike suppression. It  
also contains a 25 kpull-down resistor. The typical  
latency of the RST pad is in the range of 2 s.  
• Three different reset lines (SW, HW and POR)  
• Configurable Brown Out Detection (BOD) issued if  
voltage threshold reached on VBAT, V12, V14, V18,  
V18P or V33 rails  
Furthermore, a separate programmable Brown-Out  
detection block will issue a Power On Reset (POR)  
upon voltage reaching the minimum threshold on each  
of the five power rails of the system i.e. V33, V18P,  
V18, VDD and V14. It also triggers an interrupt if VBAT  
is sensed below 2.45V to allow for switching from  
DCDC to LDO powered operation.  
• Programmable BOD voltage threshold for the V12  
rail (0.7V, 0.8V or 1.05V), POR always triggered  
<0.6V  
• Conditional complete discharging of V14, V18 or  
V18P rails  
AHB32  
APB16  
HW_RESET  
DEBUGGER_ENABLE  
(Only Debugger  
can set this bit)  
Debugger  
SWD_RESET_REG  
[SWD_HW_RESET_REQ]  
SWDAP  
SWDIO  
SWDCLK  
SYS_CTRL_REG[SW_RESET]  
SW_RESET  
ARM  
AIRCR[SYSRESETREQ]  
PAD_RESET  
HW_RESET  
RST  
25k  
WATCHDOG  
WDOG_reset  
NMI  
Brown Out Detection  
FSM  
POR if V12 <0.6V  
POR if VBAT <1.6V  
PWR ON  
RESET  
BOD_CTRL_REG  
BOD_CLK  
Figure 30: Reset and Brown-Out block diagram  
5.1 POR, HW AND SW RESET  
pad, the Watchdog expiration, the POR and the  
debugger (by writting SWD_RESTET_REG)  
The Power On Reset (POR) signal is generated inter-  
nally and will release the system’s flip-flops as soon as  
the V12 voltage crosses the minimum threshold value  
at 0.65 V, VBAT voltage is higher than 1.6 V and the  
Brown-Out Detection FSM senses the various internal  
voltage levels to be higher than the programmed  
thresholds as explained in section 5.3. The POR resets  
everything in the chip.  
• the SW reset which is triggered by application soft-  
ware, writing the SYS_CTRL_REG[SW_RESET] bit,  
the HW reset, and a special ARM command.  
The HW reset can also be automatically activated upon  
waking up of the system from an Extended Sleep or  
Deep  
Sleep  
mode  
by  
programming  
bit  
PMU_CTRL_REG[RESET_ON_WAKEUP]. The HW  
reset will basically run the cold startup sequence and  
the BootROM code will be executed.  
There are two other main reset signals in the DA14683,  
namely:  
• the HW reset which is basically triggered by the RST  
The SW reset is the logical OR of a signal from the  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
54 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
ARM CPU (triggered by writing SCB -> AIRCR =  
0x05FA0004) and the SYS_CTRL_REG[SW_RESET]  
bit. This is mainly used to reboot the system after the  
base address has been remapped.  
All registers are reset by POR, a few are not reset by  
the HW reset signal, and even more are not reset by  
the SW reset. These registers are listed in Table 17:  
Table 17: Reset signals and registers  
Reset by writing to the  
SW_RESET bit but also by POR  
or HW reset  
Reset by POR only  
Reset by HW reset only  
BANDGAP_REG  
AON_SPARE_REG  
SYS_STAT_REG  
All QSPIC_* registers  
All PLL_* registers  
The rest of the register file  
All CACHE_* registers except  
for CACHE_MRM_* registers  
ANA_STATUS_REG  
BOD_STATUS_REG  
All OTPC_* registers  
BLE_CNTL2_REG,  
BLE_EM_BASE_REG  
PMU_RESET_RAIL_REG  
DEBUG_REG,  
DBUGS_FREEZE_EN  
CLK_AMBA_REG[12:0],  
CLK_FREQ_TRIM_REG,  
CLK_RADIO_REG,  
CLK_CTRL_REG,  
PMU_CTRL_REG,  
SYS_CTRL_REG,  
CLK_32K_REG,  
CLK_16M_REG,  
CLK_RCX32K_REG,  
TRIM_CTRL_REG,  
BOD_CTRL_REG,  
BOD_CTRL2_REG,  
LDO_CTRL1_REG,  
LDO_CTRL2_REG,  
SLEEP_TIMER_REG,  
POWER_CTRL_REG  
5.2 RAILS DISCHARGING  
The DA14683 implements a flexible feature for dis-  
charging the V14, the VDD1V8 and VDD1V8P rails  
when the pad RST is asserted. A write-one register  
(PMU_RESET_RAIL_REG) will be updated by the  
bootROM code according to the value of the OTP  
header at address 0x7F8EA60 (DischargeRails) as  
described in Table 6. The overview of the architecture  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
55 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
is presented in Figure 31:  
Note that, PMU_RESET_RAIL_REG is only reset by  
POR.  
Discharging is performed with help of 3 NMOS transis-  
tors. The time for every rail to discharge is 1ms and the  
discharge voltage reaches 300 mV. If all three rails are  
requested to be discharged, then a minimum of 3 ms is  
required since the discharging is triggered sequentially  
as illustrated in Figure 32.  
OTP HEADER  
Bit63  
Bit2  
Bit1  
Bit0  
RESET  
V18P  
RESET  
V18  
RESET  
V14  
RESERVED  
0x7F8EA60  
V18P  
Copy during boot by  
the Booter code  
Pad  
The gate_v18x signals are used to keep the dis-  
charged rails LDOs inactive, until the discharging has  
finished. The startup FSM will then start charging them  
again by enabling the LDOs. Hence, an extra ms is  
required for the settling of the LDOs after the discharg-  
ing has finished. So, in total, a 4 ms pulse is required to  
guarantee proper discharge.  
RST  
RESET  
RESET  
V18P  
V18P  
PMU_RAIL_  
RESET_REG  
DISCHARGE  
_RAIL_REG  
RESET  
V18  
RESET  
V18  
RESET  
V14  
RESET  
V14  
Note that, the discharging of the rails might also be trig-  
gered by software, by simply asserting the  
DISCHARGE_RAIL_REG[RESET_Vxx] bits respec-  
tively. So, the discharging might be caused by either  
the RST pad being asserted or SW writing the respec-  
tive register bits.  
Pad  
RST  
V18  
V14  
Pad  
RST  
Figure 31: Configure discharging rails when HW  
reset is issued  
0.5ms  
1ms  
1ms  
1ms  
0.5ms  
XTAL32K/RCX/RC32k  
IDLE  
G ATE_LDO _V18P GATE_LDO_V18  
DISCHARGE_FSM_STATE  
RST  
IDLE  
DIS_V14  
DIS_V18  
DIS_V18P  
pad_reset_detected  
discharge_v14_enable  
discharge_v18_enable  
discharge_v18p_enable  
gate_v18  
gate_v18p  
Figure 32: Discharging rails FSM timing  
have crossed the threshold values.  
5.3 BROWN OUT DETECTION  
The DA14683 contains a brown out detection circuitry  
which is based on sensing selected voltages in the chip  
every clock cycle. If one of the voltages is found to be  
below the pre-configured threshold, then a HW reset is  
issued.  
The same FSM is running while the system is in active  
or sleep mode. While in active, it runs constantly. While  
in sleep, it runs periodically. The FSM steps are the fol-  
lowing:  
1. BOD_IDLE: idle state. It will proceed to the next  
state when the system wakes up.  
The BOD FSM is running on the BOD_clk which is 1  
MHz coming from a fixed division of the RC16 clock by  
16 (see Figure 34). The pulses generated for moving  
from one state to another are 25% duty cycled, hence  
250 kHz.  
2. BOD_VDD: senses the VDD voltage. it will issue  
a POR if the respective bits are set. The thresh-  
old is programmable and can be 0.7V, 0.8V or  
1.05V (typ) depending on the value of  
BOD_CTRL_REG. This is by default enabled.  
The threshold values for the comparison are config-  
ured in the BOD_CTRL_REG. Issuing a HW reset upon  
sensing a lower voltage than the pre-defined threshold  
3. BOD_V18: senses the VDD1V8 voltage. it will  
issue a POR if the respective bit is set. The POR  
will fire if voltage drops below 1.65V (typ).  
is  
controlled  
by  
BOD_CTRL2_REG[BOD_RESET_EN]. Furthermore,  
each sensed voltage can be masked out with use of  
the BOD_CTRL2_REG enable bits. After a POR,  
BOD_STATUS_REG contains the sensed voltages that  
4. BOD_V14: senses the V14 voltage. it will issue  
a a POR if the respective bit is set. The POR will  
fire if voltage drops below 1.25V (typ).  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
56 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
5. BOD_V18P: senses the VDD1V8P voltage. it  
will issue a POR if the respective bit is set. The  
POR will fire if voltage drops below 1.65V (typ).  
ing this state and the state machine is set back  
to BOD_IDLE.  
During the Extended Sleep mode, the BOD FSM is  
only triggered if the SLEEP_TIMER_REG is pro-  
grammed with a specific value different than zero.  
6. BOD_V33: senses the V33 voltage. It will issue  
a POR if the respective bit is set. The POR will  
fire if voltage drops below 2.7V (typ).  
If the SLEEP_TIMER_REG is programmed with a  
value other than zero, system will briefly wake up to  
perform the following operations:  
7. BOD_VBAT: senses the VBAT1 voltage. If VBAT  
< 2.45V (typ) no POR will be triggered. Instead,  
it will trigger the DCDC_IRQ line. The reason is  
to notify SW that from this point and below,  
DCDC is not providing better efficiency than the  
LDOs, hence SW should switch the PMU opera-  
tion to the LDO_VBAT.  
• Brown Out detection on the enabled rails  
• Bandgap sampling by the LDO_x_RET circuits  
The timing is explained in Figure 33.  
8. BOD_READY: The RC16 will be turned off dur-  
70ns  
32/95us  
RC16m  
XTAL32K/RCX/RC32k  
WAIT_SLEEP  
WPS_BG  
WPS_CLK  
WPS_BOD  
WPS_TRACK WPS_HOLD WPS_BACK WAIT_SLEEP  
WUP_FSM_STATE[4:0]  
BANDGAP_ENABLE  
RC16m_ENABLE  
BOD_CLK  
4us  
SUPPLY VOLTAGE CHECK  
LDO_VBAT_RET  
LDO_VBAT_RET_VREF_HOLD  
LDO_IO_RET  
LDO_IO_RET_VREF_HOLD  
LDO_IO2_RET  
LDO_IO2_RET_VREF_HOLD  
POWER_WOKENUP  
POR_VBAT_ENABLE  
POR_VBAT_MASK_N  
Figure 33: SLEEP_TIMER based wake up timing for BOD  
The actual timing of the HW FSM is illustrated in Figure  
33. The state machine is clocked by the lp_clk and  
starts with enabling the Bandgap. On the next state, it  
enables the RC16 clock (WPS_CLK) and following  
that, the sampling of the Brown Out Detection circuit on  
the various power rail occurs (WPS_BOD). The sam-  
pling is performed with the BOD_clk at 1 MHz (see Fig-  
ure 34). in case a rail is not enabled for monitoring  
(BOD_CTRL2_REG), then the respective 4us clock is  
missing.  
LDO_IO_RET2.  
5.4 VOLTAGE BOUNCING  
It is often the case that during a battery change or bat-  
tery soldering, the VBAT voltage bounces quite a lot  
before it settles to the battery voltage level. During this  
time, the system is protected by the Brown Out Detec-  
tion and the Watchdog timer (the later in case the  
bootROM code has started executing and a SW crash  
occurs).  
During the last 3 states the sampling and hold of the  
bandgap voltage reference occurs, required by the  
Table 18 summarises the BOD/POR overview:  
LDO_VBAT_RET,  
the  
LDO_IO_RET  
and  
Table 18: BOD/POR overview for voltage bouncing protection  
Voltage Rail  
Programmable Threshold POR Generation  
Monitored  
Default Enabled  
V12  
V18  
Yes (0.7V, 0.8V, 1.05V)  
No  
At 0.6V or any SW configured voltage Yes, at 1.05V  
1.65V No  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
57 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 18: BOD/POR overview for voltage bouncing protection  
Voltage Rail  
Programmable Threshold POR Generation  
Monitored  
Default Enabled  
V18P  
V33  
No  
No  
No  
No  
1.65V  
2.7V  
No  
No  
No  
V14  
1.25V  
VBAT  
At 1.6V, but also DCDC_IRQ at 2.45V Yes (not the IRQ genera-  
tion)  
V33 follows VBAT or VBUS. If it drops below 2.7V then  
an POR is triggered which might be disabled by SW. In  
any case, a hard POR is issued if VBAT drops below  
1.6V. When system in active, the rest of the rails are  
powered by the DCDC converter. Separate sensing on  
the V12, V18, V18P and V14 is enabled to make sure  
that any voltage drop on these rails is also sensed.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
58 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
6.1 CLOCK TREE  
6
Clock generation  
The generation of the system’s clocks is described in detail in Figure 34:  
Controlled by HW. Automatically selects lp_clk  
when Deep/Sleep Mode activated  
Wake UP  
Divide by  
PCLK_DIV  
APB Interfaces  
Arm Cortex-M0  
OTP Controller  
CLK_AMBA_REG  
[OTP_ENABLE]  
CLK_PER_REG  
[IR_CLK_ENABLE]  
IR Generator  
CLK_PER_REG  
[QUAD_ENABLE]  
QUAD Decoder  
CLK_AMBA_REG  
[ECC_CLK_ENABLE]  
ECC  
AES/HASH  
TRNG  
CLK_AMBA_REG  
[AES_CLK_ENABLE]  
CLK_AMBA_REG  
[TRNG_CLK_ENABLE]  
Divide by  
HCLK_DIV  
ahb_clk  
CLK_PER_REG[KBSCAN_CLK_SEL]  
0
CLK_PER_REG[KBSCAN_ENABLE]  
Divide by  
KEYB SCAN  
SPI/SPI2  
KBSCN_CLKDIV  
1
1
CLK_PER_REG[SPI_CLK_SEL]  
0
CLK_PER_REG[SPI_ENABLE]  
Divide by  
SPI_CLK  
CLK_PER_REG[I2C_CLK_SEL]  
0
CLK_PER_REG[I2C_ENABLE]  
CLK_PER_REG[UART_ENABLE]  
I2C/I2C2  
1
UART/UART2  
CLK_PER_REG[ADC_SEL_SEL]  
0
ADC  
SOC  
1
Divide by  
16 (fixed)  
Divide by  
SRC_DIV  
SRC  
PDM  
Divide by  
PDM_DIV  
0
Divide by  
PCM_DIV  
PCM_DIV_REG[CLK_PCM_EN]  
PCM/I2S  
CLK_AMBA_REG[QSPI_ENABLE]  
1
PCM_DIV_REG[PCM_SEC_SEL]  
Divide by  
QSPI_DIV  
QSPI Controller  
WDOG Timer  
CLK_CTRL_REG[RUNNING_AT_32K]  
Divide by  
32 (fixed)  
1
0
Divide by 214  
CLK_TMR_REG[TMR0_ENABLE]  
Breath Timer  
TIMER0_CTRL_REG[TIM0_CLK_SEL]  
0
CLK_TMR_REG[TMR0_CLK_SEL]  
CLK_TMR_REG  
[TMR0_ENABLE]  
0
Divide by  
1
RC32K  
OSC  
Timer0  
TMR0_DIV  
1
0
CAPTIM_CTRL_REG[CAPTIM_SYS_CLK_EN]  
0
CLK_TMR_REG  
[TMR1_ENABLE]  
0
1
2
RCX  
OSC  
CLK_TMR_REG[TMR1_CLK_SEL]  
0
Timer1  
1
Lp_clk  
Divide by  
TMR1_DIV  
1
XTAL32K  
OSC  
3
CLK_TMR_REG[TMR2_ENABLE]  
CLK_CTRL_REG[USB_CLK_SRC]  
Divide by  
TMR2_DIV  
Timer2  
1
CLK_CTRL_REG[CLK32K_SOURCE]  
ahb_clk  
1
CLK_TMR_REG[TMR2_CLK_SEL]  
USB Controller  
Divide by  
2 (fixed)  
0
0
CLK_RADIO_REG[BLE_ENABLE]  
CLK_RADIO_REG[RFCU_ENABLE]  
Divide by  
BLE_DIV  
PLL96M  
Div by  
2
1
BLE Core  
CLK_CTRL_REG  
[XTAL32M_MODE]  
0
1
2
CLK_CTRL_REG[PLL_DIV2]  
sys_clk  
3
1
0
RC16M  
OSC  
Divide by  
RFCU_DIV  
Digital PHY/  
Coex  
divN_clk  
XTALOSC  
16M/32M  
DivN  
CLK_CTRL_REG[SYS_CLK_SEL]  
Automatically adopts the division if PLL  
or XTAL16M is used. Program  
CLK_CTRL_REG[DIVN_XTAL32M_MODE]  
CLK_CTRL_REG[XTAL32M_MODE]  
in case of a 32MHz crystal used.  
0
RF_ADC_div  
Div by  
2
1
Analog PHY  
DCDC  
BOD  
Divide by  
16 (fixed)  
Figure 34: Clock tree diagram  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
59 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
The diagram depicts the possible clock sources as well  
as all different divisions and multiplexing paths towards  
the generation of each block’s clock. Furthermore, the  
required registers that have to be programmed are also  
designated on the same diagram.  
ming of the 16 MHz crystal oscillator. The frequency is  
trimmed by two on-chip variable capacitor banks. Both  
capacitor banks are controlled by the same register.  
The capacitance of both variable capacitor banks var-  
ies from minimum to maximum value in 2048 equal  
steps. With CLK_FREQ_TRIM_REG = 0x000 the max-  
imum capacitance and thus the minimum frequency is  
selected. With CLK_FREQ_TRIM_REG = 0x7FF the  
minimum capacitance and thus the maximum fre-  
quency is selected.  
There are some main clock lines which are of interest:  
• lp_clk (black bold line): this is the low power clock  
used for the sleep modes and can only be either the  
RCX, the RC32K or the XTAL32K.  
• sys_clk (green line): this is the system clock, used  
for the AMBA clock (hclk) which runs the CPU the  
memories and the bus. This clock sources can be  
any oscillator, the PLL or even an externally supplied  
digital clock.  
The  
eight  
least  
significant  
bits  
of  
CLK_FREQ_TRIM_REG directly control eight binary  
weighted capacitors, as shown in Figure 36. The three  
most significant bits are decoded according to Table  
19. Each of the seven outputs of the decoder controls a  
capacitor (value is 256 times the value of the smallest  
capacitor).  
• divn_clk (red line): this is a clock which automatically  
adjusts the division factor on the sys_clk to always  
generate 16 MHz. This enables the dynamic activa-  
tion of the PLL to provide more processing power at  
the CPU, without affecting the operation of blocks  
designed for 16 MHz.  
CLK_FREQ_TRIM_REG  
10  
9
8
7
6
...  
1
0
6.2 CRYSTAL OSCILLATORS  
Decoding  
3 --> 7  
The Digital Controlled Xtal Oscillator (DXCO) is a  
Pierce configured type of oscillator designed for low  
power consumption and high stability. There are two  
such crystal oscillators in the system, one at 16 o r 32  
...  
MHz (XTAL16M) and  
a second at 32.768 kHz  
(XTAL32K). The 32.768 kHz oscillator has no trimming  
capabilities and is used as the clock of the Extended/  
Deep Sleep modes. The 16 MHz oscillator can be  
trimmed.  
...  
3.2 pF  
...  
3.2 pF  
1.6 pF  
27 fF 13 fF  
The principal schematic of the two oscillators is shown  
in Figure 35 below. No external components are  
required other than the crystal itself. If the crystal has a  
case connection, it is advised to connect the case to  
ground.  
Figure 36: Frequency trimming  
Table 19: CLK_FREQ_TRIM_REG Decoding 3 --> 7  
Input[2:0] Output[6:0]  
2
1
0
0
1
1
0
0
1
1
0
6
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
1
1
4
0
0
0
0
0
1
1
1
3
0
0
0
0
1
1
1
1
2
0
0
0
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
16/32 MHz  
32.768 kHz  
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0-22.4 pF  
clock16MHz  
clock32kHz  
6.2.2 Automated trimming and settling notification  
Figure 35: Crystal oscillator circuits  
There is provision in the DA14683 for automating the  
actual trimming of the 16 MHz crystal oscillator. This is  
a special hardware block that realizes the XTAL trim-  
ming in a single step. Notification about the XTAL oscil-  
6.2.1 Frequency control (16 MHz crystal)  
Register CLK_FREQ_TRIM_REG controls the trim-  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
60 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
lator being settled after applying the trim value is also  
provided in form of an interrupt, namely the  
xtal16rdy_irq line.  
and signalling that the oscillator is settled is described  
in Figure 37:  
The automated mechanism for applying the trim value  
Power up: RC32  
Wake up: LP_CLK  
Loads from  
XTALRDY_CTRL_REG and  
counting down...  
XTAL16M_EN  
XTAL_RDY_CNT  
(8 bits)  
0
0
2
1
XTAL16RDY_IRQ is always  
asserted when XTAL_RDY_CNT  
reaches 1  
XTAL16RDY_IRQ  
XTAL16MHz  
XTAL16_CLK_CNT  
(10 bits)  
0x11FF  
Counting ...  
XTAL16_CLK_CNT=  
XTAL_SETTLE_N  
XTAL16_CLK_CNT=  
XTAL_COUNT_N  
XTAL16_SETTLE_READY  
FREQ_TRIM_SW2 asserted when current  
FREQ_TRIM_SW2  
FREQ_TRIM_SW1  
drops  
FREQ_TRIM_SW1 asserted when 1 pF  
capacitor charges  
On FREQ_TRIM_SW2 rising edge,  
XTAL_RDY_CNT value is stored here!  
XTALRDY_STAT_REG  
(8 bits)  
XTAL_RDY_CNT old value  
XTAL_RDY_CNT current value  
TRIM VALUE  
XTAL_TRIM_SELECT=0  
0
CLK_FREQ_TRIM_REG  
TRIM VALUE  
XTAL_TRIM_SELECT=1  
0
CLK_FREQ_TRIM_REG  
TRIM VALUE  
XTAL_TRIM_SELECT=2  
CLK_FREQ_TRIM_REG  
TRIM VALUE  
XTAL_TRIM_SELECT=3  
XTAL16M_  
RAMP_REG  
0
XTAL16M_START_REG  
CLK_FREQ_TRIM_REG  
Figure 37: Automated mechanism for XTAL16M trim and settling  
The XTALRDY_IRQ is always triggered as soon as an  
internal counter reaches the value programmed at  
XTALRDY_CTRL_REG. This counter runs on the  
RC32 clock if the system is powering up, or a low  
power clock selected if the system is waking up. The  
enabling of the XTAL16M is always done by HW. There  
are two sections until the interrupt notifies SW that the  
XTAL16 can be used:  
trim value which is done automatically by HW  
There are four ways of deciding when the start-up sec-  
tion ends and when the trim values are supposed to be  
applied.  
This  
decision  
is  
controlled  
by  
TRIM_CTRL_REG[XTAL_TRIM_SELECT] bitfield:  
1. Counter Mode: trim value stored in the  
CLK_FREQ_REG will be applied as soon as an  
internal  
counter  
reaches  
the  
value  
• The Start-Up section, where the XTAL16M oscillator  
is slowly converging towards the initial frequency of  
the crystal. This section ends with the application of  
the trim value to achieve a <50ppm, 16MHz clock.  
XTAL_COUNT_N-1. This is the default mode.  
2. Current Mode: trim value is applied as soon as  
current drops  
• The Settling section where the oscillator settles to  
the preferred frequency after the application of the  
3. Immediate Mode: the trim value is directly con-  
nected to the register.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
61 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
4. Progressive Mode: respective trim values are  
applied in stages, namely at the enabling of the  
XTAL oscillator, next when an internal capacitor  
is charged and finally when the current drops.  
The different trim values are stored in different  
registers as illustrated in Figure 37.  
= 2 (XTAL32) or  
CLK_REF_SEL_REG[REF_CLK_SEL] = 3 (RCX)  
• CLK_REF_SEL_REG[REF_CAL_START] = 1 Start  
the calibration  
• Wait until CLK_REF_SEL_REG[REF_CAL_START]  
= 0  
In any of the aforementioned cases, trimming is done  
by HW. Upon assertion of FREQ_TRIM_SW2, the  
interrupt counter value is stored in a shadow register  
XTALRDY_STAT_REG to enable SW understanding  
when was the start-up section finished. This, of course,  
applies only to Current and Progressive Modes.  
• Read CLK_REF_VAL_H_REG and  
CLK_REF_VAL_H_REG = M (32-bits values)  
• Frequency = (N/M) * 16 MHz  
In the case of using the RCX as a sleep clock, the fre-  
quency calibration should be implemented on each  
active time of a connection interval to guarantee cor-  
rect operation.  
The settling section usually takes not more than 5 to 10  
clock cycles. Using the above, fine tuning and reducing  
the XTAL16 latency is feasible.  
6.4 PLL  
One feature of the XTAL16_CLK_CNT is that it will  
This low power PLL multiplies the XTAL16M clock to  
produce a 96 MHz clock with 1% precision within a few  
us reaching 200 ppm precision in 30 us.  
assert  
an  
observable  
signal  
as  
(SYS_STAT_REG[XTAL16_SETTLE_READY])  
soon as the counter reaches a pre-defined threshold  
programmed at TRIM_CTRL_REG[XTAL_SETTLE_N].  
This allows for the SW to have an indication of the sta-  
tus of the clock by adjusting the threshold accordingly.  
Changing the system’s clock in to the PLL output can  
be done dynamically without affecting the operation of  
the chip. Its main purpose is to:  
6.3 RC OSCILLATORS  
• Provide a divided by 2, 48 MHz required for the  
operation of the USB Controller  
There are 3 RC oscillators in the DA14683: one provid-  
ing 16 MHz (RC16M), one providing 32 kHz (RC32K)  
and one providing a frequency in the range of 11.4 kHz  
(RCX).  
• Provide more processing power to the CPU, ena-  
bling 86 dMIPS, for computational hungry applica-  
tions  
The 16 MHz RC oscillator is powered by the Digital  
LDO i.e. the VDD = 1.2 V which is available for the core  
logic during Active or Sleep Mode. The output clock is  
significantly slower than 16 MHz if untrimmed and is  
used to clock the CPU and the digital part of the chip  
during power up or wake up, while the XTAL16M oscil-  
lator is settling.  
This PLL dissipates 1.2 mA when operating at 96 MHz  
while the leakage current can reach 1 uA when the PLL  
is disabled.  
The simple RC oscillator (RC32K) operates on  
VDD = 1.2 V and provides 32 kHz. The main usage of  
the RC32K oscillator is for internal clocking during  
power up or startup. It clocks the HW state machine  
which brings up the power management system of the  
chip.  
The enhanced RC oscillator (RCX) provides a stable  
11.4 kHz. The RCX oscillator can be used to replace  
the 32.768 kHz crystal, since it has a precision of  
< 500 ppm, while its output frequency is quite stable  
over temperature.  
6.3.1 Frequency calibration  
The output frequency of the 32 kHz crystal oscillator  
and the three RC-oscillators can be measured relative  
to the DivN clock using the on-chip reference counter.  
The measurement procedure is as follows:  
• REF_CNT_VAL = N (the higher N is, the more accu-  
rate and longer the calibration will be)  
• CLK_REF_SEL_REG[REF_CLK_SEL] = 0 (RC32K)  
or CLK_REF_SEL_REG[REF_CLK_SEL] = 1  
(RC16M) or CLK_REF_SEL_REG[REF_CLK_SEL]  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
62 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
avoids the overhead of switching between two instruc-  
tion sets.  
7
Arm Cortex-M0  
The Cortex-M0 processor is a 32-bit Reduced Instruc-  
tion Set Computing (RISC) processor with a von Neu-  
mann architecture (single bus interface). It uses an  
instruction set called Thumb, which was first supported  
in the Arm7TDMI processor; however, several newer  
instructions from the Armv6 architecture and a few  
instructions from the Thumb-2 technology are also  
included. Thumb-2 technology extended the previous  
Thumb instruction set to allow all operations to be car-  
ried out in one CPU state. The instruction set in  
Thumb-2 includes both 16-bit and 32-bit instructions;  
most instructions generated by the C compiler use the  
16-bit instructions, and the 32-bit instructions are used  
when the 16-bit version cannot carry out the required  
operations. This results in high code density and  
In total, the Cortex-M0 processor supports only 56  
base instructions, although some instructions can have  
more than one form. Although the instruction set is  
small, the Cortex-M0 processor is highly capable  
because the Thumb instruction set is highly optimized.  
Academically, the Cortex-M0 processor is classified as  
load-store architecture, as it has separate instructions  
for reading and writing to memory, and instructions for  
arithmetic or logical operations that use registers.  
A simplified block diagram of the Cortex-M0 is shown  
in Figure 38.  
Power Management  
Interface  
Interrupt Request  
and NMI  
Connection to  
Debugger  
WakeUp Interrupt Controller  
(WIC)  
Serial-Wire  
Debug Interface  
Nested Vector  
Interrupt  
Controller  
(NVIC)  
Processor  
Core  
Debug  
Subsystem  
Internal Bus System  
AHB Lite bus interface unit  
Memory and Peripherals  
Figure 38: Arm Cortex-M0 Block Diagram  
• The design is configured to respond to exceptions  
Features  
(e.g. interrupts) as soon as possible (minimum 16  
clock cycles).  
• Thumb instruction set. Highly efficient, high code  
density and able to execute all Thumb instructions  
from the Arm7TDMI processor.  
• Non maskable interrupt (NMI) input for safety critical  
systems.  
• High performance. Up to 0.9 DMIPS/MHz (Dhrys-  
tone 2.1) with fast multiplier.  
• Easy to use and C friendly. There are only two  
modes (Thread mode and Handler mode). The  
whole application, including exception handlers, can  
be written in C without any assembler.  
• Built-in Nested Vectored Interrupt Controller (NVIC).  
This makes interrupt configuration and coding of  
exception handlers easy. When an interrupt request  
is taken, the corresponding interrupt handler is exe-  
cuted automatically without the need to determine  
the exception vector in software.  
• Built-in System Tick timer for OS support. A 24-bit  
timer with a dedicated exception type is included in  
the architecture, which the OS can use as a tick  
timer or as a general timer in other applications with-  
out an OS.  
• Interrupts can have four different programmable pri-  
ority levels. The NVIC automatically handles nested  
interrupts.  
• SuperVisor Call (SVC) instruction with a dedicated  
SVC exception and PendSV (Pendable SuperVisor  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
63 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
service) to support various operations in an embed-  
ded OS.  
7.1 SYSTEM TIMER (SYSTICK)  
The Cortex-M0 System Timer (SysTick) can be config-  
ured by using 2 different clocks. The SysTick Control &  
Status (STCSR) register specifies which clock should  
be used by the counter.  
• Architecturally defined sleep modes and instructions  
to enter sleep. The sleep features allow power con-  
sumption to be reduced dramatically. Defining sleep  
modes as an architectural feature makes porting of  
software easier because sleep is entered by a spe-  
cific instruction rather than implementation defined  
control registers.  
STCSR[CLKSOURCE]=0; use the (fixed) external ref-  
erence clock STCLKEN of 1 MHz.  
STCSR[CLKSOURCE]=1; use the (HCLK_DIV  
dependent) processor clock SCLK (e.g. 2, 4, 8 or 16  
MHz).  
• Fault handling exception to catch various sources of  
errors in the system.  
The default SysTick Timer configuration will be using  
the (fixed) external reference clock STCLKEN  
(STCSR[CLKSOURCE]=0). When necessary, higher  
clock frequencies can be used with STCSR[CLK-  
SOURCE]=1 but the software should take the  
HCLK_DIV dependent core clock SCLK into account  
w.r.t. the timing.  
• Support for 32 interrupts.  
• Little endian memory support.  
• Wake up Interrupt Controller (WIC) to allow the pro-  
cessor to be powered down during sleep, while still  
allowing interrupt sources to wake up the system.  
• Halt mode debug. Allows the processor activity to  
stop completely so that register values can be  
accessed and modified. No overhead in code size  
and stack memory size.  
7.2 WAKEUP INTERRUPT CONTROLLER  
The Wakeup Interrupt Controller (WIC) is a peripheral  
that can detect an interrupt and wake the processor  
from deep sleep mode. The WIC is enabled only when  
the DEEPSLEEP bit in the SCR is set to 1 (see System  
Control Register on page 4-16 of the Cortex-M0 User  
Guide Reference Material).  
• CoreSight technology. Allows memories and periph-  
erals to be accessed from the debugger without halt-  
ing the processor.  
• Supports Serial Wire Debug (SWD) connections.  
The serial wire debug protocol can handle the same  
debug features as the JTAG, but it only requires two  
wires and is already supported by a number of  
debug solutions from various tools vendors.  
The WIC is not programmable, and does not have any  
registers or user interface. It operates entirely from  
hardware signals. When the WIC is enabled and the  
processor enters deep sleep mode, the power man-  
agement unit in the system can power down most of  
the Cortex-M0 processor. This has the side effect of  
stopping the SysTick timer. When the WIC receives an  
interrupt, it takes a number of clock cycles to wakeup  
the processor and restore its state, before it can pro-  
cess the interrupt. This means interrupt latency is  
increased in Deep Sleep mode.  
• Four (4) hardware breakpoints and two (2) watch  
points.  
• Breakpoint instruction support for an unlimited num-  
ber of software breakpoints.  
• Programmer’s model similar to the Arm7TDMI pro-  
cessor. Most existing Thumb code for the Arm7TDMI  
processor can be reused. This also makes it easy for  
Arm7TDMI users, as there is no need to learn a new  
instruction set.  
7.3 REFERENCE  
For more information on the Arm Cortex-M0, see a.o.  
the Arm documents listed in Table 20.  
Table 20: Arm documents list  
Document title  
Arm Document number  
1
Cortex-M0 User Guide Reference Material  
Cortex-M0 r0p0 Technical Reference Manual  
Armv6-M Architecture Reference Manual  
Arm DUI 0467B (available on the Arm website)  
Arm DDI 0432C (available on the Arm website)  
2
3
Arm DDI 0419C (can be downloaded by registered  
Arm customers)  
7.4 INTERRUPTS  
This section lists all 32 interrupt lines, except the NMI  
interrupt, and describes their source and functionality.  
The overview of the interrupts is illustrated in the Table  
21:  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
64 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 21: Interrupt list  
IRQ  
number  
(inherent  
priority)  
IRQ name  
Description  
0
1
ble_wakeup_lp_irq  
ble_gen_irq  
Wakeup from Sleep by BLE  
BLE Interrupt. Sources:  
- finergtim_irq: Fine Target Timer interrupt generated when Fine Target  
timer expired. Timer resolution is 625μs base time reference  
- grosstgtim_irq: Gross Target Timer interrupt generated when Gross Tar-  
get timer expired. Timer resolution is 16 times 625μs base time reference  
- cscnt_irq: 625μs base time reference interrupt, available in active  
modes  
- slp_irq: End of Sleep mode interrupt  
- error_irq: Error interrupt, generated when undesired behavior or bad  
programming occurs in the BLE Core  
- rx_irq: Receipt interrupt at the end of each received packets  
- event_irq: End of Advertising / Scanning / Connection events interrupt  
- crypt_irq: Encryption / Decryption interrupt, generated either when AES  
and/or CCM processing is finished  
- sw_irq: SW triggered interrupt, generated on SW request  
2
3
4
5
6
Reserved  
Reserved  
rfcal_irq  
RF Calibration Interrupt. Generated by the DPHY.  
Arbiter interrupt.  
arb_irq  
crypto_irq  
Crypto interrupt. Sources:  
- aes_hash_irq: AES or HASH function interrupt.  
- ecc_irq: Elliptic Curve interrupt.  
7
mrm_irq  
uart_irq  
Cache Miss Rate Monitor interrupt.  
uart interrupt.  
8
9
uart2_irq  
i2c_irq  
uart2 interrupt.  
10  
11  
12  
13  
14  
15  
16  
17  
I2C interrupt.  
i2c2_irq  
spi_irq  
I2C2 interrupt.  
SPI interrupt.  
spi2_irq  
adc_irq  
SPI2 interrupt.  
ADC interrupt.  
keybrd_irq  
irgen_irq  
wkup_gpio_irq  
Keyboard scanner interrupt.  
IR generator interrupt.  
Wakeup or GPIO interrupt. Will be triggered in Deep Sleep or Hibernation  
modes, if clock-less mode is enabled (via PMU_CTRL_REG).  
18  
19  
20  
21  
22  
23  
24  
25  
swtim0_irq  
swtim1_irq  
quadec_irq  
usb_irq  
Timer0 interrupt.  
Timer1 interrupt.  
Quadrature decoder interrupt.  
USB controller interrupt.  
PCM interrupt.  
pcm_irq  
src_in_irq  
src_out_irq  
vbus_irq  
Sample rate converter input interrupt.  
Sample rate converter output interrupt.  
VBUS presence interrupt. This interrupt requires a clock to be generated.  
It will not be issued if clock-less mode is enabled (via PMU_CTRL_REG).  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
65 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 21: Interrupt list  
IRQ  
number  
(inherent  
priority)  
IRQ name  
Description  
26  
27  
28  
29  
30  
dma_irq  
DMA interrupt.  
rf_diag_irq  
trng_irq  
Baseband or Radio diagnostics Interrupt.  
True random number generator interrupt.  
DCDC timeout interrupt.  
dcdc_irq  
xtal16rdy_irq  
XTAL16 oscillator ready interrupt. Clock is 16MHz (<50ppm) and 60/40 %  
duty cycle  
31  
pll_lock_irq  
Indicates that the PLL has locked at 96 MHz  
Interrupt priorities are programmable by the Arm Cor-  
tex-M0. The lower the priority number, the higher the  
priority level. The priority level is stored in a byte-wide  
register, which is set to 0x0 at reset. Interrupts with the  
same priority level follow a fixed priority order using the  
interrupt number listed in Table 21 (lower interrupt  
number has higher priority level).  
To access the Cortex-M0 NVIC registers, CMSIS func-  
tions can be used. The input parameter IRQn of the  
CMSIS NVIC access functions is the IRQ number. This  
can be the IRQ number or (more convenient) the corre-  
sponding IRQ name listed in Table 21. The corre-  
sponding interrupt handler name in the vector table for  
IRQ#15 is e.g. UART_Handler. For more information  
on the Arm Cortex-M0 interrupts and the correspond-  
ing CMSIS functions, see section 4.2 Nested Vectored  
Interrupt Controller on page 4-3 in the Cortex-M0 User  
Guide Reference Material.  
The Watchdog interrupt is connected to the NMI input  
of the processor.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
66 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Features  
8
Cache Controller  
• Cachable range up-to 32 Mbyte starting from QSPI  
The cache controller is used to accelerate the system  
performance of the Arm Cortex-M0 executing from  
QSPI FLASH and to reduce the power consumption by  
reducing the access of the QSPI FLASH. The cache  
dynamically loads both program and data code into the  
cache Data RAM and executes from there.  
start address, length adjustable up-to N*64kByte  
• Cache size fixed 16 kB, TAG RAM size is 4 kB  
• Run time configurable cache line 8, 16 or 32 bytes  
• Run time configurable 1, 2 or 4 way associativity  
• Built-in TAG memory invalidation (FLUSH)  
The cache controller is controlled via the  
CACHE_*_REGs. The cache administration is kept in  
TAG memory. This memory can be invalidated by  
asserting the FLUSH bit in the CACHE_CTRL1_REG.  
The Arm Cortex-M0 is halted during this invalidation  
and resumes automatically. N-way associative replace-  
ment strategy is base on the value of a pseudo random  
LFSR.  
• Random number (LFSR) for 2, 4 way replacement  
strategy  
• Cache Data and TAG monitoring  
• Instruction and Data caching upon read access, no  
write path to cache available.  
• Bypass mode  
The cache controller supports run time configuration of  
cache line size and associativity. The selection of the  
configurations depends on the code type and applica-  
tion and shall be determined empirically.  
• Cache internal latency  
• zero wait cycle for cache hits same cache line  
• one wait cycle for cache hits when changing  
cache line  
For debugging purposes the Data and TAG memory  
can be monitored on the AHB-SYS bus (See memory  
map).  
• 4 + cache line size/4 cycles for cache misses  
• 0 cycle in transparent bypass mode  
The cache is used for dynamic code and data caching.  
As an alternative for fast code executions, the data-  
RAM can be used for static code storage. This code  
must be copied from QSPI FLASH.  
AHBSYS  
Cache  
TAG  
RAM  
LFSR  
Replacement  
vector  
Cache  
Data  
RAM  
CACHE_LEN  
CACHE_LEN  
Cache Core  
AHB CPU  
AHB light  
Arm  
Remap  
REMAP_ADR0  
CACHE_*_REG  
APB16  
Figure 39: Cache controller block diagram  
8.1 CACHABLE RANGE  
bypass mode. The bypass mode can be forced for all  
addresses by setting CACHERAM_MUX =0.  
The cache controller caches address range 0-  
0x1FFFFFFF (32 MB). If REMAP_ADR0=0x1 or 0x2,  
all addresses from 0 to CACHE_LEN will be cached,  
else the cache controller automatically asserts the  
Note that the CACHE_LEN setting is only applicable  
for the QSPI FLASH remap case.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
67 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
8.2 RUNTIME RECONFIGURATION  
8.2.1 Cache Line reconfiguration  
The dynamic configuration of the cache line size uses  
a physical line size of 8 bytes. When the cache line  
size is defined as 16 bytes or 32 bytes, 2 or 4 physical  
lines are involved.  
Associativity and cache line size of cache can be  
reconfigured  
at  
all  
time  
by  
writing  
the  
or  
CACHE_ASSOCCFG_REG  
CACHE_LNSIZECFG_REG registers. Reconfiguration  
is done without wait state and without flushing the  
cache. All the data available in the cache memory are  
kept except when the associativity is reduced (4-way ->  
2-way and 2-way -> 1-way). In that case typically half  
of the data are unaccessible.  
Reconfiguration of the cache line occurs only when  
lines are replaced. Even if the cache line configuration  
is set to 32 bytes, cache lines of 16 bytes may remain  
in the cache memory as explained at the example in  
Table 22.  
Table 22: Cache line size reconfiguration example  
Step1:  
Step 2:  
Step 3:  
Cache line size = 16 bytes  
a. CPU Reads @0x00: Miss a. CPU Reads @0x00: Hit  
Cache Reads 16 bytes in  
Block 0 @0x00  
Cache line size = 32 bytes  
Cache line size = 32 bytes  
a. CPU Reads @0x6000: Miss  
Cache reads 32 bytes in  
b. CPU Reads @5010: Hit  
c. CPU Reads @5020: Miss Block 6 @0x00  
b. CPU Reads @5010: Miss Cache reads 32 bytes in  
Cache Reads 16 bytes in  
Block 5 @0x10  
Block 5 @0x20  
16-byte cache lines already in  
the cache are replaced by the  
32-byte cache line.  
Although the configuration  
is 32 bytes, the lines of 16  
bytes remain in the cache.  
Only new lines are 32 bytes.  
8.2.2 TAG memory word  
8.3 2 AND 4 WAY REPLACEMENT STRATEGY  
The cache controller fills each line of the cache first  
starting from way0 to way3. When a line is completely  
full, a new way_x victim is chosen in a pseudo random  
way.  
The administration memory word decoding is pre-  
sented in Table 23:  
Table 23: TAG memory layout  
When a replacement is required, the cache controller  
reads the value generated by a pseudo-random num-  
ber generated to select which way to replace.  
Bit 23  
Bits 22:2  
Bits 1:0  
0
AHB  
address  
00: invalid cache line  
01: 8 valid bytes  
10: 16 valid bytes  
11: 32 valid bytes  
The pseudo-random number generator is realized  
using a Linear Feedback Shift Register (LFSR).  
8.4 CACHE RESETS  
8.2.3 Associativity reconfiguration  
The cache controller has two reset signals connected:  
To enable associativity reconfiguration, the cache  
memory is organized into four banks.  
• The HW_RESET. When this reset is activated, all  
cache logic and registers are reset to their default  
values, while all data in the TAG memories are  
cleared and all CACHE_*_REG are set to their reset  
values. It takes around 450 AHB cycles to clear the  
cache TAG memory.  
Depending on the associativity, the four banks can  
operate as 4-way, or be concatenated resulting in  
either a 2-way or 1-way cache.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
68 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
If a fetch request occurs during this reset period, the  
request will be taken into account at the end of the  
reset and wait-states will be inserted.  
data from the FLASH is:  
TRDFL = 2+8+4+(16*2)+1=47 clock cycles.  
An overview of the cache miss latency calculation is  
shown in Table 24:  
• The SW_RESET. Upon a SW_RESET the cache  
state machine and TAG memories are reset, but the  
CACHE_*_REG are not affected and will remain as  
programmed.  
Table 24: QSPI FLASH cache miss latency  
Time  
8.5 CACHE MISS RATE MONITOR  
The DA14683 incorporates a cache miss monitoring  
circuitry which is providing real time information on the  
number of cache misses within a certain amount of  
time. Upon reaching a programmable threshold, an  
interrupt is issued towards the CPU to take action. The  
CPU can dynamically change the cache line size, the  
associativity or start the PLL to decrease cache line  
fetch time and consequently power. It can even apply a  
combination of the aforementioned techniques to  
adjust system's parameters accordingly. This block  
only operates while the system is in active mode. Main  
features are:  
Clock Cycles  
Example  
Interval  
TCM2R  
TR2QA  
TRDFL  
3
3
2
2
TCMD+TADDR+TDUM  
+
47  
(NCACHELINE*2)+TPIPE  
TCLAT  
4
4
TCML  
for 16 bytes cache line  
(QPI mode)  
56  
• Up to 10 ms active time interval counter  
• Registered amount of cache misses  
• Registered amount of cache hits  
The same calculation applies for the OTP cached case  
(Table 25):  
• Programmable threshold of cache misses upon  
which, an interrupt is generated  
Table 25: OTP cache miss latency  
Time  
CACHE_MRM_HITS_REG contains the amount of  
cache hits and CACHE_MRM_MISSES_REG the  
amount of misses counted within the time interval pro-  
grammed at CACHE_MRM_TINT_REG in CPU clock  
cycles.  
Clock Cycles  
Example  
Interval  
TCM2R  
TOTP_INIT  
TRDOTP  
TCLAT  
3
3
2
2
NCACHELINE/4  
4
8.6 CACHE MISS LATENCY AND POWER  
4
4
This section describes the amount of time (in clock  
cycles) required from a cache miss up to the point the  
required code/data are fetched back to the CPU and  
execution continues.  
TCML  
for 16 bytes cache line  
13  
The TOTP_INIT parameter represents the amount of  
cycles required for initiating the burst read of the mem-  
ory.  
The cache miss latency (TCML) can be split in the fol-  
lowing intervals:  
T
CM2R: Time from the cache miss up to request from  
Especially in the case of the QSPI FLASH, the amount  
of cache misses, the latency and the FLASH device  
might affect the power of the application since the  
FLASH has to be activated for long time intervals.  
However, it is measured that given a low cache miss  
rate, the average power is not dramatically increased.  
Figure 40 illustrates the current overhead as a result of  
the cache miss rate.  
the QSPI Controller.  
T
T
T
R2QA: Time from request up to actual access start.  
RDFL: Time for reading data from the FLASH.  
CLAT: Time required to get data to the CPU (cache  
latency).  
The final amount of clock cycles is calculated by the  
following equation:  
T
CML=TCM2R+TR2QA+TRDFL+TCLAT  
where TRDFL depends on the amount of data requested  
and is provided by the following formula:  
T
RDFL = TCMD+TADDR+TDUM+(NCACHELINE*2)+TPIPE  
For example, give a cache line configuration of 16  
bytes, the amount of clock cycles required to read the  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
69 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 40: Current dissipation overhead due to cache miss rate (at 3V)  
The average increase on an application using a  
FLASH device powered by the VDD1V8 pin (1.8V),  
with 5mA read current, is becoming visible (i.e. <1mA)  
if the miss rate exceeds 40%. For applications that are  
periodically repeating activities, the expected miss rate  
should be <5% hence the power overhead is minimum.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
70 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Features  
9
AMBA Bus  
• Enables data transfers from peripherals to memory  
while executing code from OTP or QSPI FLASH  
The DA14683 is equipped with a multi-layer AMBA bus  
which enables parallel data paths between different  
masters and slaves. The bus matrix comprises 2 main  
busses:  
• Enables data transfers from RAM to BLE while exe-  
cuting code from OTP or QSPI FLASH  
• AHB-CPU bus where the Cache, or the CPU can be  
masters  
• Provides programmable master priority on AHB-  
CPU bus  
• AHB-DMA bus where the DMA the OTP Controller  
and the AES/HASH DMA can be masters  
• Provides programmable ICM priority for the con-  
nected Slaves  
• Enables AHB access of the CPU at the cache RAM  
if no cache functionality is required  
BLE  
ECC  
Re-  
map  
Remap_  
RAMS  
Ctrl.  
Cache  
Arm  
HW  
patch  
Mem.Ctrl.  
ROM Ctrl.  
Data RAM cells  
ROM  
Cortex-M0  
Addr0  
AON Reg. Files  
CRG reg  
WakeUp reg  
QSPI FLASH  
QSPIC reg  
AES/Hash DMA  
OTPC  
Periph. Reg. Files  
UART reg  
SPI reg  
etc.  
Radio Reg. Files  
RF reg  
COEX reg  
APB-16 Bridge  
Sys Reg. Files  
WDG reg  
DMA reg  
etc.  
DMA  
Audio Reg. Files  
PCM reg  
etc  
APB32 Bridge  
TRNG Reg. File  
AHB Reg. Files  
BLE reg  
Secure Channel  
Legend:  
CRYPTO reg  
OTPC reg  
ECC reg  
AHB/APB Master interface.  
AHB/APB Slave interface  
AHB/APB Bus  
TRNG RAM  
AHB Interconnection Matrix (ICM)  
OTP Mem  
OTPC reg  
Figure 41: AMBA Bus architecture  
There are six slaves which are sitting behind intercon-  
nection multiplexers (ICMs), namely:  
• 16-bit APB peripheral registers  
• AHB register files for the rest of the resources as  
well as the TRNG RAM  
• Memory controller which controls the DataRAM and  
the ROM cells  
• 32-bit APB peripheral registers  
• QSPI FLASH memory controller and memory  
• Cache controller which enables AHB access of the  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
71 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
CPU at the cache RAM to be used as an extension  
of the DataRAM in the case of mirrored mode.  
In the latter case, the ICM_S0 provides a direct access  
of the CPU at the cache RAM cell. The Cache RAM  
cell is always mapped at address 0x20010000. The  
TAG RAM is not used during this mode of operation.  
The priority on the AHB-DMA busses regarding the  
master arbitration is programmable. The default config-  
uration provides the OTP Controller with highest prior-  
ity followed by the AES/HASH and the DMA as last.  
ICM_S5 is connected to a special block namely, the  
OTP Protection Unit (OPU). This block is responsible  
for protecting a certain address space within the OTP  
memory area, securing sensitive data by disabling  
reading on this area by the CPU or any non-authorized  
DMA channel. An authorization signal is allowing a  
special DMA channel to read this area and fetch sensi-  
tive data to certain registers allowing for symmetric  
encryption/decryption without keys being exposed to  
the software application. This feature (designated in  
red in Figure 41) is only enabled if the “Secure Device”  
flag in the OTP header is programmed respectively  
and the secondary bootloader in the OTP evaluates  
this.  
Regarding APB-16 and APB-32 bridges, all register  
accesses to peripherals connected to either of the two,  
have to be in 16-bit or 32-bit respectively and not in 8-  
bit modes.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
72 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Features  
10 Memory Controller  
• Five different RAM cells with retention capability  
(one 8 kB, one 24 kB and three 32 kB)  
The Memory controller is responsible for the interface  
of the memory cells with the masters of the system  
requesting for access. It comprises an arbiter which  
allows for a configurable priority level between the 3  
main masters of the RAM. The memory controller also  
allows for the actual physical sequence of the RAM  
cells in a continuous memory space enabling activation  
of just the required amount of DataRAM thus saving on  
power.  
• Full flexibility of re-arranging the first 3 RAM cells in  
a continuous RAM space starting at 0x7FC0000  
• Arbitration between the AHB masters (CPU or  
DMAs) the BLE core and the ECC  
• Retainable configuration of the RAM cells sequence.  
SYS_CTRL_REG[REMAP_RAMS]  
DataRAM 1  
8KB  
Sequence  
Config  
DataRAM 2  
24KB  
BLE Mem I/F  
DataRAM 3  
32KB  
BLE 4.2  
ECC  
BLE - AHB  
DataRAM 4  
ECC Mem I/F  
0x7FD0000  
32KB  
DataRAM 5  
32KB  
Memory Controller  
Figure 42: Memory Controller Block Diagram and environment  
The Shuffle_RAM word in the OTP header encodes the  
nects to the following busses:  
sequence of the RAM cells. This is described in Table  
26:  
• ICM which multiplexes the CPU or the DMA access.  
This interface is capable of operating at maximum  
96MHz  
Table 26: DataRAM cells sequence  
• BLE Memory I/F: this is a memory interface from the  
BLE 4.2 Core directly accessing the RAM used as  
exchange memory (TX/RX descriptors etc.). This  
interface is always operating at 16MHz.  
Value  
Cell  
Addess  
Size (kB)  
0x0  
DataRAM1 0x7FC0000  
DataRAM2 0x7FC2000  
DataRAM3 0x7FC8000  
DataRAM2 0x7FC0000  
DataRAM1 0x7FC6000  
DataRAM3 0x7FC8000  
DataRAM3 0x7FC0000  
DataRAM1 0x7FC8000  
DataRAM2 0x7FCA000  
DataRAM3 0x7FC0000  
DataRAM2 0x7FC8000  
DataRAM1 0x7FCE000  
8
24  
32  
24  
8
• ECC Memory I/F: this is a memory interface from the  
Elliptic Curve Crypto block directly accessing the  
RAM used as crypto shared memory. This interface  
is capable of operating at maximum 96MHz.  
0x1  
0x2  
0x3  
The Arbiter implements the priority scheme as depicted  
in Figure 43:  
32  
32  
8
24  
32  
24  
8
Selecting the appropriate shuffle value, the minimum  
required memory space can be left retained during  
sleep modes hence reducing the sleep power dissipa-  
tion.  
The Memory Controller contains an Arbiter which con-  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
73 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 43: Memory controller’s arbitration scheme  
The overall RAM size can reach up to 144 kB using all  
available RAM cells of the system (except for the TAG  
RAM cell). Bypassing the cache controller adds the  
Cache RAM on the overall RAM budget at the end of  
the available memory space (0x7FC8000).  
The Sequence Configuration block defines the  
sequence of the memory cells in a continuous memory  
space according to the REMAP_RAMS vector. All of  
the cells can be retained at will. Shuffling of the mem-  
ory cells will give the best configuration in terms of  
exchange (retainable) memory, code segment and  
data segment.  
The Memory Controller operates at the same clock as  
the CPU.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
74 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Transparent random address access to the OTP  
memory cells via the AHB slave memory interface.  
11 OTP Controller  
The OTP controller realizes all functions of the OTP  
macro cell in an automated and transparent way. The  
controller facilitates all data transfers (reading and pro-  
gramming), while implementing the required OTP test  
modes in hardware. It integrates Error Correcting Code  
(ECC) hardware for correcting single bit and detecting  
double bit errors and Built-in Self Repair (BISR) pro-  
tecting the memory cell space. An embedded DMA  
engine enables mirroring of the OTP contents into the  
DataRAM via the AHB-DMA bus.  
• Embedded DMA engine for fast mirroring of the OTP  
contents into the System RAM.  
• Embedded DMA supports reading in bursts of 8 32-  
bit words  
• Built-In Self Repair (BISR) mechanism for program-  
ming and reading  
• Up to 48 MHz operation (96 MHz is not supported)  
• Hardwired handshaking with the PMU to realize the  
mirroring procedure  
Features  
• Implements all timing constraints for any access to  
the physical memory cells.  
• Automatic single Error Code Correction (ECC) and  
double error detection  
• 64-bits read in a single clock cycle from the OTP cell  
AHB-CPU  
AHB Slave  
Registers  
AHB Slave  
Memory  
Master AHB-DMA  
Copy  
Req/Ack  
Slave  
DMA  
FIFO  
ECC  
IF Ctrl  
Controller  
OTP Memory  
(64+8)bits x 8192  
Figure 44: OTP Controller block diagram  
11.1 OPERATING MODES  
tified in the status register.  
There are two different functional modes of operation  
for reading and programming respectively: manual  
(MREAD, MPROG) and automatic (AREAD, APROG).  
The OTP operating mode is programmable at  
OTPC_MODE_REG[OTPC_MODE_MODE].  
The MPROG mode provides the functionality for pro-  
gramming a 64 bit word. The controller expands the 64  
bit word by calculating and appending an 8-bit check-  
sum, implementing SECDED (Single Error Correction  
Double Error Detection). In this way a complete 72 bits  
word is constructed, which is stored at a selected OTP  
position.  
The MREAD mode enables the use of the memory  
slave interface. By activating this mode the contents of  
the macro cell are transparently mapped onto the spe-  
cific AHB slave address space. The controller runs the  
SECDED algorithm on the fly to correct single bit errors  
and notify for dual bit errors by means of the status reg-  
ister. This mode can be used for execution of software  
in place (XIP).  
Programming is performed in a single step. In the case  
that one or more bits have failed to be programmed  
correctly, software should trigger re-programming.  
The 64 bit data word as well as the address are defined  
through configuration registers. The controller applies  
the corresponding control sequence for the program-  
ming and the result of the verification step is indicated  
in a status register.  
The AREAD mode provides the ability for reading data  
from the macro cell in bursts, without the use of the  
slave interface. This mode is used for copying large  
data blocks from the macro cell, as in the case of the  
OTP mirroring into the DataRAM. As in the MREAD  
mode, SECDED is also applied on every burst. How-  
ever, transfer will occur even if an error has been iden-  
The APROG mode gives the ability for programming  
large data blocks into the macro cell. The programming  
is an automated procedure, during which it is only nec-  
essary to feed the controller with the required data.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
75 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Data blocks can be fetched in two ways:  
• Via the AHB master interface, i.e. the DMA.  
• Via the AHB slave registers.  
11.5 BUILD-IN SELF REPAIR (BISR)  
The repair mechanism is available only during pro-  
gramming (APROG mode only) or reading (Both  
AREAD and MREAD). Only the main memory array is  
protected (there is no repair mechanism for the spare  
rows). It is also not available during blank check.  
In the latter case, data are pumped into the OTP con-  
troller through a register, which acts as a port providing  
access to a FIFO. The controller expands each 64 bit  
word by calculating and adding automatically an 8-bit  
checksum, in order to provide SECDED functionality.  
In the case of programming the OTP, the controller ini-  
tially tries to write to the normal memory array. There  
are two cases depending on the result of the program-  
ming:  
11.2 AHB MASTER INTERFACE  
1. The programming in the main memory array  
succeeds (with one or zero errors). The pro-  
gramming ends normally.  
The AHB master interface is controlled by a DMA  
engine with an internal FIFO of 8 32-bit words. The  
DMA engine supports AHB reads and writes. The AHB  
address where memory access should begin, is pro-  
2. The programming of the main memory array  
fails. If there are already 8 repair records occu-  
pied, programming fails and the device is dis-  
carded. Otherwise, a new repair record is added.  
The controller writes the new repair record in the  
spare area. In the case of a failure (two or more  
errors) the device is discarded. Otherwise the  
programming ends successfully.  
grammed  
into  
the  
DMA  
engine  
at  
OTPC_AHBADR_REG[OTPC_AHBADR]. The num-  
ber of 32-bit words (minus 1) of a transfer must be  
specified in OTPC_NWORDS_REG[OTP_NWORDS].  
The DMA engine internally supports the following burst  
types:  
• Eight words incremental burst (INCR8)  
• Four words incremental burst (INCR4)  
Reading from the OTP cell requires the corresponding  
registers of the OTP controller to be loaded with the  
repair information. When a read action is requested,  
the OTP controller performs a search in the repair  
records.  
• Unspecified incremental burst (INCR) with length dif-  
ferent than 1, 4 or 8  
• Single word access (SINGLE)  
If the address, of the read requested, is found in one of  
the repair records, the data are not retrieved from the  
normal memory array of the OTP, but from the repair  
records. The ECC is, in this case, bypassed.  
11.3 AHB SLAVE INTERFACES  
The slave block combines two AHB slave interfaces.  
One for the registers and another for the contents of  
the OTP memory. The first AHB slave is read/write  
while the second is read only. The controller should be  
configured into MREAD mode prior to any access on  
the slave interfaces. If this is not the case, an ERROR  
response on the bus will occur. The same ERROR can  
also be triggered upon a SECDED detection.  
If there is no match to a repair record, data are  
retrieved from the normal memory array. ECC is then  
activated.  
11.4 ERROR CORRECTING CODE (ECC)  
The error correcting code is based on the Hamming  
code, for a single bit error correction. The functionality  
of the Hamming code has been enhanced with the  
addition of a parity bit. The presence of the parity bit  
enables the detection of a double bit error.  
The redundancy that is provided by the use of the two  
algorithms (Hamming and parity generation) is stored  
together with the actual data at each OTP position.  
consisting of a 72 bits word. The exact layout of the  
OTP word is presented in Figure 45:  
Bit 71 Bit 70-64  
Bit 63-0  
Check  
Parity  
Payload Data  
Bits  
Figure 45: OTP word layout  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
76 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• SPI Modes:  
Single: Data transfer via two unidirectional pins.  
Dual: Data transfer via two bidirectional pins.  
Quad: Data transfer via four bidirectional pins.  
12 Quad SPI Controller  
The Quad SPI Controller (QSPIC) provides a low pin  
count interface to FLASH memory devices. The QSPIC  
supports the standard Serial Peripheral Interface (SPI)  
and a high performance Dual/Quad SPI Interface.  
• Auto Mode: up-to 32 Mbyte transparent Code  
access for XIP (Execute In Place) and Data access  
with 3-byte and 4-byte addressing modes.  
The QSPIC gives the ability to read data from a quad  
FLASH memory, transparently through the SPI bus.  
This Execute In Place (XIP) feature combined with the  
CPU cache, provides comparable performance to exe-  
cuting code from standard parallel FLASH. In this case  
the QSPIC generates all the control signals for the SPI  
bus that are needed to read data from the serial  
FLASH memory. Additionally, software can easily con-  
trol the serial FLASH memory via a memory mapped  
register file which is contained in the QSPIC. All  
instructions supported by the FLASH memory, can be  
programmed using the above register file.  
• Manual Mode: Direct register access using the  
QSPIC register file.  
• Up-to 96 MHz QSPI clock. Clock modes 0 and 3.  
Master mode only.  
• Vendor independent Instruction Sequencer.  
• In Auto Mode the FLASH control signals are fully  
programmable.  
• Support for single access and high performance  
burst mode in combination with the cache controller  
(in Auto Mode).  
A special feature of the QSPIC enables for automated  
re-initialization of the FLASH device right after power  
up, without the CPU being involved, thus reducing ini-  
tialization time and consequently power dissipation. An  
small initialization memory of 16 32-bit retainable  
words, contains an encoded sequence of commands  
which are shifted in to the FLASH memory right after  
waking up from power down modes.  
• Use of a special read instruction in the case of a  
specific (programmable) wrapping burst access.  
• Erase suspend/resume to Support for Code and  
Data storage  
• Hardware initialization state machine based on  
uCode commands.  
Features  
Initialization  
Req/Ack  
Handshake  
Bus  
Interface  
AHB Slave  
Interface  
AHB  
QSPI I/F  
Syncronizer  
Register  
File  
Controller  
uCode RAM  
32 bit x 16 words  
QSPI Controller  
Figure 46: Quad SPI Controller architecture  
12.1 ARCHITECTURE  
two clock domains.  
The AHB slave block implements two AHB Slave inter-  
faces which enable access to the register file and the  
uCode memory. The Controller implements all protocol  
related to the functionality of the FLASH memory. It  
contains a finite state machine (FSM) that generates all  
necessary signalling to the QSPI bus and realizes all  
features of the Auto mode operation. Moreover, it man-  
ages all data transfers between the two interfaces (the  
AHB and the QSPI).  
The uCode memory is 16 words x 32 bits and contains  
the microcode for the initialization of the FLASH mem-  
ory even before the CPU has been waken up. The sig-  
nalling between the FIFO and the PMU is done through  
the request/acknowledge signals.  
12.1.1 Interface  
The Quad SPI Controller uses the following signals:  
• QSPI_SCK: output serial clock  
• QSPI_CS: Active Low output Chip select.  
The Bus Interface block controls the QSPI signals at  
the lowest level while the Synchronizer implements  
"stretching" or "shortening" of the signals that cross the  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
77 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• QSPI_IO0:  
- DO (output) in Single SPI mode  
- IO0 (bidirectional) in Dual/Quad SPI mode.  
Table 27: Initialization Command Encoding  
• QSPI_IO1:  
- DI (input) in Standard SPI mode  
- IO1 (bidirectional) in Dual/Quad SPI mode.  
Bit  
Name  
Description  
Byte 0  
7:3  
2:1  
CMD_NBYTES The number of payload  
bytes to be sent  
• QSPI_IO2:  
- General purpose (output) (e.g. WPn Write Protect)  
in Standard SPI mode  
CMD_TX_MD  
QSPI bus mode when trans-  
- IO2 (bidirectional) in Quad SPI mode.  
mitting the command:  
0x0: single SPI  
0x1: Dual SPI  
0x2: Quad SPI  
0x3: Reserved  
• QSPI_IO3:  
- General purpose (output) (e.g. HOLDn)  
in Single SPI mode  
- IO3 (bidirectional) at Quad SPI mode.  
0
CMD_VALID  
1: the command record is  
valid  
0: the command record is  
not valid  
• The output drive of the pads is programmable via  
register bits QSPI_GP_REG[QSPI_PADS_DRV]  
and the slew via  
QSPI_GP_REG[QSPI_PADS_SLEW]  
Byte 1  
• The outputs pads have push-pull configuration and  
are supplied from VDDIO.  
7:0  
7:0  
CMD_WT_CN Number of clock cycles to  
T_LS  
wait after applying the com-  
mand (least significant byte)  
The Quad SPI Controller (QSPIC) drives all data pins  
constantly except for the case when a read is per-  
formed. The time for changing the direction of the pads  
is at least 1.5 x QSPI_CLK (QSPI_CLK being the clock  
that the FLASH operates on). In this way, data lines are  
always terminated thus reducing unnecessary power  
consumption.  
Byte 2  
CMD_WT_CN Number of clock cycles to  
T_MS  
wait after applying the com-  
mand (most significant byte)  
Byte 3 to (CMD_NBYTES+2)  
The default state of the QSPI_IOx pins is 1. This state  
is applied at the pins as soon as the QSPIC clock is  
enabled even if no access to the FLASH has yet been  
triggered. The value of the pins might be changed by  
The actual data bytes to be  
sent within a CS envelope  
The first byte (LSByte) in the word of the FIFO contains  
the flag of the command being valid or not, the bus  
mode of operation and the number of bytes contained  
in the payload to be sent.  
programming  
the  
respective  
registers  
(QSPIC_IOx_DAT, QSPIC_IOx_OEN). This value will  
be valid only after the QSPI_CS is pulled low, i.e. an  
access to the FLASH occurs.  
The second and third byte define the amount of clock  
cycles that the QSPIC has to wait after applying the  
command. The clock to be used is the RC16  
(~16 MHz), which results to a maximum of 4 ms waiting  
time. If more time is required by the FLASH, then multi-  
ple identical commands might be issued.  
12.1.2 Initialization FSM  
Since the QSPIC is used in an ultra low power SoC, it  
is very possible that the FLASH memory will be either  
totally powered off, or set into deep power down mode  
when the system goes to any of the sleep modes.  
However, upon power-up or wake-up, the FLASH  
device requires a number of commands to get at a  
state where the CPU can actually execute code from.  
This initialization should be done prior to the CPU  
Example:  
Considering 0xAB to be the opcode for releasing the  
FLASH from deep power down mode, the FIFO would  
be initialized with the following sequence (Table 28):  
wakeup. The QSPIC contains  
a hardware state  
machine which decodes a number of commands in a  
16 32-bit word retainable FIFO and initializes the  
FLASH automatically even before the CPU is waken  
up.  
Table 28: FLASH Initialization uCode example  
Byte  
Value Description  
The command FIFO will be initialized upon cold boot of  
the system by the CPU with the commands residing in  
the OTP header. The start address of the RAM to be  
programmed with the uCode is 0x0C000040. The com-  
mand encoding is presented in Table 27:  
0
0x11  
Valid command record,  
single SPI mode,  
2 bytes of payload  
1
2
3
0x01  
0x00  
0xAB  
1 clock cycle wait after command is  
sent  
Actual FLASH command opcode  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
78 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
12.1.3 SPI modes  
Mode) can be configured via this register file. The reg-  
ister file supports the following data sizes for reading  
and writing accesses: 8-bits, 16-bits and 32 bits.  
The Quad SPI Controller (QSPIC) supports the follow-  
ing SPI standards:  
• Single: Data transfer via two unidirectional pins.  
12.1.5 Endianess  
Note 2: The QSPIC supports communication to any single/dual or  
Quad SPI FLASH memory. Contrary to the Standard SPI  
interface, the supported Single SPI interface does not sup-  
port the bus modes 1 and 2, does not support full-duplex  
communications and does not support any SPI slave mode.  
The QSPIC operates in little-endian mode. For 32-bit  
or 16 bit access (for read and write operations) to a  
serial FLASH memory, the least-significant byte comes  
first. For 32-bit access the byte ordering is: data [7:0],  
data [15:8], data [23:16], data [31:24] while for 16-bit  
access the byte ordering is: data [7:0], data [15:8].  
• Dual: Data transfer via two bidirectional pins.  
• Quad: Data transfer via four bidirectional pins.  
12.1.6 Erase Suspend/Resume  
12.1.4 Access modes  
The QSPI FLASH can be used for Data Storage, com-  
bining the EEPROM functionality + Program storage in  
one single device.  
The access to a serial FLASH connected to the QSPI  
can be done in two modes:  
For this purpose the QSPI ERASE/SUSPEND ERASE  
RESUME commands are automatically executed as  
shown in Figure 47.  
• Auto mode  
• Manual mode  
These modes are mutually exclusive. The serial  
FLASH can be controlled only in one of the two modes.  
The registers which control the mode of operation can  
be used at any mode.  
To store data in QSPI FLASH, execution from QSPI  
must temporary be stopped by running directly from  
RAM or from a cached program part. The sector desig-  
nated for storage must be erased first in case it con-  
tained data already.  
In auto mode, 3-bytes and 4-bytes addressing modes  
are supported. With QSPIC_CTRLMODE_REG  
[QSPIC_USE_32BA]=0, up to 16 MBytes QSPI (3-  
The process is implemented in a HW FSM and con-  
sists of the following steps:  
bytes  
addressing)  
can  
be  
accessed.  
If  
1. The controller is in Auto mode and read requests  
are served. The Erase procedure is initiated by  
setting QSPIC_ERASE_EN=1. The address of  
the sector that will be erased, is defined at  
QSPIC_ERS_ADDR. When an Erase procedure  
is requested, the controller jumps to state 2.  
QSPIC_USE_32BA=1, the 4-bytes addressing is ena-  
bled for accessing up to 32 Mbyte QSPI FLASH.  
Auto mode  
In auto mode a read access from the serial FLASH  
memory is fully transparent to the CPU. A read access  
at the interface is translated by the QSPIC into the  
respective SPI bus control commands needed for the  
FLASH memory access.  
2. Read requests are still served. As soon as the  
Read requests stop (also possible due to late  
bus master change, e.g DMA) and there is no  
any new Read request for a number of AHB  
clock cycles equal to QSPIC_ERSRES_HLD,  
When the Auto Mode is disabled, any access (reading  
or writing) will be ignored. When the Auto Mode is ena-  
bled, only read access is supported. A write access  
causes hard fault. A read access can be single access,  
incremental burst or wrapping burst. Wrapping burst is  
supported even when the FLASH device doesn’t sup-  
port any special instruction for wrapping burst. A spe-  
cial read instruction can be used in the case of a  
specific (programmable) wrapping burst access. When  
a FLASH supports a special instruction for wrapping  
burst access, this feature reduces access time (less  
wait states). For maximizing the utilization of the bus  
and minimizing the number of wait states, it is recom-  
mended to use burst accesses. However, non-sequen-  
tial random accesses are supported with the cost of  
more wait states.  
then  
QSPIC_WEN_INST  
and  
QSPIC_ERS_INST instructions are sent to the  
FLASH. The QSPIC_RESSUS_DLY counter is  
started and the controller jumps to state 3.  
3. Erasing is in progress in FLASH and the QSPI  
controller waits until one of the following events  
occur:  
• A status check request. This request can be  
forced by writing QSPIC_CHCKERASE_REG.  
The QSPI controller will then read the status of  
the FLASH memory and check if erasing has  
finished. Reading of the status is delayed by  
QSPIC_RESSTS_DLY cycles or by  
QSPIC_RESSUS_DLY cycles. The first is  
based on the clock of the SPI bus, while the lat-  
ter on an internal 222 KHz clock. The selection  
between the two delays is configured by  
QSPIC_STSDLY_SEL bit. If erasing has fin-  
ished, the QSPI controller returns to the normal  
operation (state 1) and sets  
Manual Mode  
In manual mode the FLASH memory is controlled via a  
register file. All instructions that are supported by a  
FLASH memory can be programmed using the register  
file. Moreover, the mode of interface (SPI, Dual SPI,  
Quad SPI) and the mode of operation (Auto or Manual  
QSPIC_ERASE_EN= 0, otherwise it remains at  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
79 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
state 3.  
until the FLASH device becomes ready (erasing  
is suspended). The controller will then proceed  
to state 6.  
• A FLASH read data request on the AHB bus.  
The QSPI controller reads the status of the  
FLASH memory and checks if erasing is done.  
The reading of the status will be delayed again  
as in the previous case by  
6. The erasing process in the FLASH is now sus-  
pended and the controller may read the FLASH.  
The requested data are retrieved from the  
FLASH device. If the reading on the AHB stops  
(e.g Cache hit) and there is no new Read  
requests for a number of AHB clock cycles equal  
to QSPIC_ERSRES_HLD, the controller goes to  
state 7.  
QSPIC_RESSTS_DLY or  
QSPIC_RESSUS_DLY. If erasing has ended,  
the controller returns to normal operation (state  
1) and sets QSPIC_ERASE_EN= 0. The read  
request will be served as soon as the controller  
reaches state 1. If erasing has not ended, the  
controller proceeds to state 4.  
7. The QSPIC_RES_INST instruction is applied  
and the controller jumps back to state 3. Also,  
the QSPIC_RESSUS_DLY counter is started.  
As result, the erase procedure is resumed.  
4. The QSPIC_SUS_INST is sent as soon as the  
QSPIC_RESSUS_DLY/QSPIC_RESSTS_DLY  
counter is 0. The controller jumps to state 5.  
5. The controller polls the FLASH status register,  
ERS_STATE = No erase  
QSPIC_ERASE_EN=1  
ERS_STATE = Pending  
1
Erase Request  
ERS_STATE = Erase Resume Request  
Start QSPIC_RESSUS_DLY counter  
Read  
2
request  
7
(Read| check erase) & BUSY_VAL=0  
Set QSPIC_ERASE_EN=0  
/Read & ERRSRES_HLD cycles  
send QSPIC_WEN_INST and QSPIC_ERS_INST  
start QSPIC_RESSUS_DLY counter  
/Read & ERRSRES_HLD cycles  
read  
request  
6
send QSPI_RES_INST  
ERS_STATE = Erase  
Suspended  
3
ERS_STATE = Erasing  
BUSY_VAL=0  
5
Read & BUSY_VAL=1  
4
BUSY_VAL=1  
send QSPI_SUS_INST  
ERS_STATE = Erase Suspend  
Request  
Wait for QSPIC_RESSUS_DLY=0  
Figure 47: Erase Suspend/Resume in Auto mode  
Refer to AN-D-185 for further Application information  
12.2 PROGRAMMING  
Note that, QSPI_RESSTS_DLY counts QSPI_CLK  
cycles, so before changing the QSPI_CLK, make sure  
that QSPI_RESSTS_DLY is set large enough to meet  
the timing parameter requirements of the FLASH  
device used.  
12.2.1 Auto Mode  
Chip selection  
In auto mode the QSPI executes from address 0. See  
Arm chapter remap function  
Burst control phases  
12.1.7 QSPI FLASH Programming  
In the case of Auto Mode of operation the QSPIC gen-  
erates a sequence of control signals in SPI BUS. This  
sequence of control signals is analysed to the following  
phases: instruction phase, address phase, extra byte  
phase, dummy clocks phase and read data phase.  
These phases can be programmed via registers  
Programming the sectors is done in manual mode with  
polling status bit in the QSPI FLASH. During program-  
ming, the Arm Cortex-M0 must run from cache without  
cache misses or from RAM. Furthermore interrupts  
should be disabled while programming the FLASH.  
Byte programming is relatively short, so a polling loop  
could be acceptable to meet system latency require-  
ments. Refer to vendor’s datasheet.  
• QSPIC_BURSTCMDA_REG  
• QSPIC_BURSTCMDB_REG.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
80 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Bits QSPIC_INST are used to set the selected instruc-  
tion for the cases of incremental burst or single read  
access. If bit QSPIC_WRAP_MD is equal to 1, bit  
QSPIC_INST_WB can be used to set the used instruc-  
tion for the case of a wrapping burst read access of  
Writing to QSPIC_DUMMYDATA register is generating  
a number of dummy clock pulses to the SPI bus.  
When access to the SPI bus via QSPIC_WRITEDATA,  
QSPIC_READDATA and QSPIC_DUMMYDATA is very  
slow, most probably the delay in accessing the internal  
AHB is large. In this case, set the QSPIC_HRDY_MD  
register equal to 1 to increase priority when accessing  
the required registers. All masters of the SoC can  
access the AHB bus interface without waiting of the  
SPI Bus access completion. Polling of the  
QSPIC_BUSY register must be done to check the end  
of the activity at the SPI bus, before issuing any more  
length  
and  
size  
described  
by  
the  
bits  
QSPIC_WRAP_LEN  
and QSPIC_WRAP_SIZE  
respectively. In all other cases the QSPIC_INST is the  
selected instruction.  
If the instruction must be transmitted only in the first  
access after the selection of Auto Mode, then the  
QSPIC_INST_MD must be equal to 1.  
accesses. If  
QSPIC_RECVDATA contains the received data.  
a
read transaction is finished,  
To  
enable  
the  
extra  
byte  
phase  
set  
QSPIC_EXT_BYTE_EN=1 register. The transmitted  
byte during the extra byte phase is specified by the  
QSPIC_EXT_BYTE register. To disable (hi-Z) the out-  
put pads during the transmission of bits [3:0] of extra  
byte, set QSPIC_EXT_HF_DS =1.  
The state and the value of the QSPI_IO[3:2] is speci-  
fied with the following registers bits:  
• QSPIC_IO3_OEN, QSPIC_IO3_DAT  
(Used for the WPn, Write Protect function).  
The number of dummy bytes during the dummy  
• QSPIC_IO2_OEN, QSPIC_IO2_DAT respectively  
(Used for the HOLDn function).  
clocks  
QSPIC_DMY_NUM  
QSPIC_DMY_FORCE.  
phase  
is  
specified  
and  
by  
enabled  
register  
by  
12.2.3 Clock selection  
The SPI BUS mode during each phase can be set with  
register bits:  
The SPI clock mode as set with bit QSPIC_CLK_MD  
The supported modes for the generated SPI clock is:  
• QSPIC_INST_TX_MD for the instruction phase  
• QSPIC_ADR_TX_MD for the address phase  
• QSPIC_EXT_TX_MD for the extra byte phase  
• QSPIC_DMY_TX_MD for the dummy byte phase  
• QSPIC_DAT_RX_MD for the read data phase.  
If the Quad SPI mode is selected in any of the above  
• 0 = Mode 0. The QSPI_SCK is low, when the bus is  
idle (QSPI_CS is high).  
• 1= Mode 3. The QSPI_SCK is high, when the bus is  
idle (QSPI_CS is high).  
The QSPI_CLK frequency has a programmable divider  
CLK_AMBA_REG[QSPI_DIV] which divides either  
XTAL16 or PLL by 1,2,4,8.  
phases, write  
0
to the QSPIC_IO3_OEN and  
This results in frequency ranges:  
QSPIC_IO2_OEN.  
• In XTAL16 mode: between 2 MHz and 16 MHz  
• In PLL mode: between 12 MHz and 96 MHz.  
The QSPI_CLK can be faster or slower than HCLK.  
If the FLASH Memory needs to be accessed with any  
instruction but the read instruction, then the Manual  
Mode must be used.  
The final step to enable the use of Auto Mode of opera-  
tion is to set the QSPIC_AUTO_MD equal to 1.  
12.2.4 Received data  
The standard method to sample received data is by  
using the positive edge of the QSPI_SCK. However,  
when the output delay of the FLASH memory is high, a  
timing problem on the read path is very likely. For this  
reason the QSPIC can be programmed to sample the  
received data with the negative edge of the  
12.2.2 Manual Mode  
For the Manual Mode QSPIC_AUTO_MD must be  
equal to zero.  
Manual operation of the bus signals is done via  
QSPIC_CTRLBUS_REG:  
QSPI_SCK.  
This  
is  
configured  
with  
the  
• The start/end of an access can be controlled using  
bits QSPIC_EN_CS and QSPIC_DIS_CS respec-  
tively.  
QSPIC_RXD_NEG register.  
Furthermore the receive data can be pipelined by set-  
ting QSPI_RPIPE_EN=1 and the sampling clock can  
be delayed using QSPI_PCLK_MD. This enables sam-  
pling the received data later than the actual clock edge  
allows.  
• The SPI bus mode of operation can be configured  
with bits QSPIC_SET_SINGLE, QSPIC_SET_DUAL  
and QSPIC_SET_QUAD.  
Writing to QSPIC_WRITEDATA register is generating a  
data transfer from the QSPIC to the SPI bus.  
12.3 TIMING  
This section contains timing diagrams for input and out-  
put signals  
A read access at QSPIC_READDATA register is gener-  
ating a data transfer from the SPI bus.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
81 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
1/Fqspi_clk  
QSPI_SCK  
Thd_qspi_dif  
Tsu_qspi_dif  
QSPI Output  
QSPI_IOx (input)  
Figure 48: QSPI Input Timing  
Tdr_qspi_cs  
QSPI_CS  
Tdf_qspi_cs  
MODE 3  
MODE 3  
MODE 0  
QSPI_SCK  
MODE 0  
Td_qspi_do  
QSPI_IOx (output)  
Figure 49: QSPI output Timing  
Table 29: QSPI bus timing (VDDIO = 1.8V, Cload=15 pF)  
PARAMETER  
Fqspi_sck  
DESCRIPTION  
CONDITIONS  
MIN  
-1.4  
TYP  
MAX  
UNITS  
MHz  
ns  
QSPI _SCK frequency  
Delay QSPI_SCK to QSPI_IOx  
96  
3
Td_qspi_do  
Tdr_qspi_cs  
Tqspi_sck  
- 2.5  
Tqspi_sck  
+2.0  
Delay QSPI_SCK to QSPI_CS Tqspi_sck=1/Fqspi_sck  
ns  
Tqspi_sck  
- 2.5  
Tqspi_sck  
+3.5  
Tdf_qspi_cs  
Tsu_qspi_dif  
Delay QSPI_CS to QSPI_SCK Tqspi_sck=1/Fqspi_sck  
ns  
ns  
Setup time QSPI_IO to  
QSPIC_PCLK_MD=6  
QSPIC_PCLK_MD=6  
2.6  
QSPI_SCK falling edge with  
variable readpipe sample clock  
delay QSPI_RPIPE_EN=1  
Thd_qspi_dif  
Hold time QSPI_SCK falling  
edge to QSPI_IO with variable  
readpipe sample clock delay  
QSPI_RPIPE_EN=1  
-0.3  
ns  
Note 3: Total Delay QSPI FLASH output + PCB delay + Tsux_qspi_dif < 1/Fqspi_sck.  
E.g Winbond output + PCB delay = 6ns, -> Tsux_qspi_dif < 1/96MHz - 7 = 3.41 -> QSPI_PCLK_MD= 6, QSPI_RPIPE_EN=1 is recom-  
mended value for all QSPI_SCK frequencies and shall be set before the maximum frequency is applied  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
82 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Features  
13 DMA Controller  
• 8 channels with optional peripheral trigger  
The DMA controller has eight Direct Memory Access  
(DMA) channels for fast data transfers from/to SPI,  
UART, I2C, USB, PDM and ECC to/from any on-chip  
RAM.  
• Full 32 bit source and destination pointers.  
• Flexible interrupt generation.  
• Programmable length  
The DMA controller off-loads the ARM interrupt rate if  
an interrupts is given after a number of transfers.  
• Flexible peripheral request per channel  
• Option to initialize memory  
More peripherals DMA requests are multiplexed on the  
8 available channels, to increase utilization of the DMA  
service throughout the system.  
AHB-DMA  
SPI RX/TX req  
I2C RX/TX req  
SPI RX/TX ack  
DMA Channel 0  
. . .  
I2C RX/TX ack  
DMA Channel 1  
. . .  
SPI RX/TX req  
I2C RX/TX req  
SPI RX/TX ack  
DMA Channel 2  
DMA Channel 3  
. . .  
I2C RX/TX ack  
. . .  
SPI RX/TX req  
I2C RX/TX req  
SPI RX/TX ack  
DMA Channel 4  
DMA Channel 5  
. . .  
I2C RX/TX ack  
. . .  
SPI RX/TX req  
I2C RX/TX req  
SPI RX/TX ack  
DMA Channel 6  
DMA Channel 7  
. . .  
I2C RX/TX ack  
. . .  
DMA01_REQ_MUX  
DMA23_REQ_MUX  
DMA45_REQ_MUX  
DMA67_REQ_MUX  
DMA IRQ lines  
IRQ lines  
Block IRQ lines  
APB16  
Control  
Figure 50: DMA controller block diagram  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
83 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
13.1 DMA PERIPHERALS  
A DMA channel is switched on with bit DMA_ON. This  
bit is automatically reset if the dma transfer is finished.  
There is a list of peripherals that can request for a DMA  
service. The list is presented in Table 30:  
The DMA channels can either be triggered by software  
or by a peripheral DMA request. If DREQ_MODE is 0,  
then a DMA channel is immediately triggered. If  
DREQ_MODE is 1 the DMA channel can be triggered  
by a hardware interrupt.  
Table 30: DMA served peripherals  
If DMA starts, data is transferred from address  
Name  
SPI  
Direction  
RX  
DMAx_A_START_REG  
DMAx_B_START_REG  
to  
a
address  
length of  
for  
SPI  
TX  
DMAx_LEN_REG, which can be 8, 16 or 32 bits wide.  
The address increment is implemented using a 16-bit  
index counter (DMAx_IDX_REG), initialized to 0 when  
the transfer starts. This register is increased by 1 at the  
end of each DMA cycle and is then compared to  
DMAx_LEN_REG, to determine the transfer's comple-  
tion. It is then automatically reset to 0 again.  
SPI2  
RX  
SPI2  
TX  
UART  
UART  
UART2  
UART2  
I2C  
RX  
TX  
RX  
Based on this register, the DMA engine forms the  
source/destination address at each DMA cycle, by add-  
ing it to DMA_A/B_START_ADDR, after shifting it by 1  
(when DMAx_CTRL_REG[BW]=0x1) or by 2 (when  
DMAx_CTRL_REG[BW]=0x2).  
TX  
RX  
I2C  
TX  
I2C2  
RX  
It also noted that, AINC/BINC must be set to '0' for  
source/destination register access.  
I2C2  
TX  
USB_FS  
USB_FS  
ADC  
RX  
TX  
31  
DMAx_A_START_REG  
0
Read  
RX  
PCM  
PCM  
SRC  
+
+
TX  
AD[31-0]  
RX  
AINCx  
BINCx  
IDXx_REG  
+1  
SRC  
TX  
ECC can also be served by the DMA but will not be  
requesting for data as other peripherals.  
31  
DMAx_B_START_REG  
0
IRQ_ENABLE  
Please note that for the TX DMA transfers to UART/  
UART2 and I2C/I2C2, it is required that pclk = hclk (i.e.  
CLK_AMBA_REG[PCLK_DIV]=0x0) and that the TX  
FIFO threshold level is not set to the highest value  
available where applicable.  
12  
DMAx_INT_REG  
0
0
=
DMA_IRQ_CHx  
STOP/  
13.2 INPUT/OUTPUT MULTIPLEXER  
12  
RELOAD  
=
DMAx_LEN_REG  
The multiplexing of peripheral requests is controlled by  
DMA_REQ_MUX_REG.  
Thus,  
if  
DMA_REQ_MUX_REG[DMAxy_SEL] is set to a cer-  
tain (non-reserved) value, the TX/RX request from the  
corresponding peripheral will be routed to DMA chan-  
nels y (TX request) and x (RX request) respectively.  
11  
0
Bus request  
Acknowledge  
DMAx_CTRL_REG  
Similarly, an acknowledging de-multiplexing mecha-  
nism is applied.  
DMA_INT  
DACK  
DMA_Request  
However, when two or more bit-fields (peripheral selec-  
tors) of DMA_REQ_MUX_REG have the same value,  
the lesser significant selector will be given priority (see  
also the register's description).  
Figure 51: DMA channel diagram  
If at the end of a DMA cycle, the DMA start condition is  
still true, the DMA continues. The DMA stops if  
DREQ_MODE is low or if DMAx_LEN_REG is equal to  
the internal index register. This condition also clears  
13.3 DMA CHANNEL OPERATION  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
84 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
the DMA_ON bit.  
fers (DREQ_MODE='0') cannot be interrupted. Thus, in  
that case, the corresponding DMA channels will be fro-  
zen after any on-going Memory-to-Memory transfer is  
completed.  
If bit CIRCULAR is set to 1, the DMA controller auto-  
matically resets the internal index registers and contin-  
ues from its starting address without intervention of the  
ARM CortexTM M0. If the DMA controller is started with  
DREQ_MODE =0, the DMA will always stop, regard-  
less of the state of CIRCULAR.  
13.6 SECURE DMA CHANNEL  
If the security flag is enabled in the OTP header, then  
DMA channel #7 becomes a secure channel. This  
channel is then only used to move keys from the Sym-  
metric Key Area (SKA) to the AES block for encryption/  
decryption without the CPU being able to intervene.  
More specifically:  
Each DMA channel can generate an interrupt if  
DMAx_INT_REG if equal to DMAx_IDX_REG. After  
the transfer and before DMAx_IDX_REG is incre-  
mented, the interrupt is generated.  
Example:  
if  
DMA_x_INT_REG=0  
and  
• the destination register of channel #7 becomes a  
fixed address namely the start of the 256 bytes  
memory where AES keys are stored (0x40020100).  
DMA_x_LEN_REG=0, there will be one transfer and  
an interrupt.  
13.4 DMA ARBITRATION  
• the source register of channel #7 will be checked  
wether its value will be within the allowed range  
(0x78E8C0 to 0x7F8E9BF). This range is pointing to  
the SKA, enabling fetching of data (symmetric keys)  
from this space and no other. If the programmed  
value is not within this address boundaries, the DMA  
simply ignores the fetching command.  
The priority level of a DMA channel can be set with bits  
DMA_PRIO[2-0]. These bits determine which DMA  
channel will be activated in case more than one DMA  
channel requests DMA. If two or more channels have  
the same priority, an inherent priority applies, (see reg-  
ister description).  
The whole process is described in section 3.6.5. It is  
obvious that once this channel is made secure, it can-  
not be reverted to a general purpose anymore.  
With DREQ_MODE = 0, a DMA can be interrupted by a  
channel with a higher priority if the DMA_IDLE bit is  
set. DMA_IDLE is a don’t care if DREQ_MODE = 1.  
When DMA_INIT is set, however, the DMA channel  
currently performing the transfer locks the bus and  
cannot be interrupted by any other channel, until the  
transfer is completed, regardless if DMA_IDLE is set.  
The purpose of DMA_INIT is to initialize a specific  
memory block with a certain value, fetched also from  
memory, without any interruption from other active  
DMA channels that may request the bus at the same  
time. Consequently, it should be used only for memory  
initialization, while when the DMA transfers data to/  
from peripherals, it should be set to '0'. Note also that,  
when DMA_INIT is enabled, BINC should be set to '1',  
while AINC is don't care, as the DMA performs a single  
read in this mode.  
It should be noted that memory initialization could also  
be performed without having the DMA_INIT enabled  
and by simply setting AINC to '0' and BINC to '1', pro-  
vided that the source address memory value will not  
change during the transfer. However, it is not guaran-  
teed that the DMA transfer will not be interrupted by  
other channels of higher priority, when these request  
access to the bus at the same time.  
13.5 FREEZING DMA CHANNELS  
Each channel of the DMA controller can be temporarily  
disabled by writing a 1 to freeze all channels at  
SET_FREEZE_REG.  
To enable the channels again, a 1 to bits at the  
RESET_FREEZE_REG must be written.  
There is no hardware protection from erroneous pro-  
gramming of the DMA registers.  
It is noted that the on-going Memory-to-Memory trans-  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
85 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Features  
14 AES/Hash Engine  
• AES (Advanced Encryption Standard) with 128, 192  
or 256 bits key cryptographic algorithm.  
The Crypto engine aims to accelerate the algorithm  
calculations that are needed in order to implement the  
RFC4835. It implements AES in ECB, CBC and CTR  
modes. It also comprises HASH functions (SHA-1,  
SHA224/256/384/512, MD5). It supports AES128, AES  
256 as well as HMAC-SHA-256 authentication proto-  
col.  
• HASH functions: MD5, SHA-1, SHA224/256/384/  
512 bits  
• Modes of operation  
• ECB (Electronic Code Book)  
• CBC (Cipher Block Chaining)  
• CTR (Counter)  
The AES/HASH engine uses a DMA engine for trans-  
ferring encrypted/decrypted data to a shared memory  
in the AHB bus. The control registers of the IP are con-  
nected to the AHB bus.  
• AHB Master DMA machine for data manipulation.  
• AHB Slave register file for configuration.  
The AES/HASH engine gives more flexibility to the way  
input data can be provided to the module. A calculation  
can be applied on fragmented input data and not on  
data residing at a specific memory space, by means of  
successive register programming in the internal DMA  
engine.  
AES/HASH Engine  
TxFIFO  
AES  
AHB Master  
RxFIFO  
Key Expansion  
Operation  
Modes  
Command  
Control &  
Status  
MD5  
AHB Slave  
Registers  
SHA1/2  
Figure 52: AES/HASH Architecture  
The “Ctrl FSM” block checks the FIFO’s and DMA sta-  
14.1 ARCHITECTURE  
tus continuously and decides for the amount of data  
traffic, plus which of the FIFO’s will be used. Also  
decides the “switching off” of the AES/HASH after  
transferring all results to the memory.  
14.1.1 AES/HASH engine  
The architectural view of the AES/HASH engine is the  
following:  
The “HASH” block contains all the logic required for the  
realization of the hash algorithms calculations as well  
as circuitry for the padding of data. It also contains glue  
logic for the transfer of the results to the “Modes” block.  
The AES/HASH includes a DMA engine (AHB Master  
Interface) for transferring data between the IP and a  
sheared memory. The control registers of the AES/  
HASH are connected to AHB interface (AHB Slave  
interface).  
14.1.2 AES  
This part of the architecture implements the AES algo-  
rithm describing in the AES-FIPS PUB 197. The capa-  
bilities that offer are the encryption and decryption of  
128 bits data blocks by using 128, 192 or 256 bits  
encryption key.  
The “Modes” controls the AES by implementing the  
respective mode that the selected encryption algo-  
rithms will operate each time. Also “Modes” communi-  
cates with DMA via two FIFO’s (RxFIFO and TxFIFO)  
which isolate the operation of the AES/HASH IP from  
the current status of the AHB-AMBA bus and also ena-  
ble parallel transmission of data in bursts. By using  
burst transmission, the bus is utilized better because  
the bus access requests are reduced.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
86 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• CBC (Cipher Block Chaining  
• CTR (Counter)  
KeyExpansion  
Padding requirements of the algorithms, to convert all  
data to multiples of 16 bytes (for AES), must be  
addressed by software.  
AddRoundKey  
MainFSM  
By applying successive programming of AES-CBC  
encryptions using software, the realization of the  
HMAC-XCBC-AES-96 algorithm is possible.  
The implementation of the AES-CCM is feasible just  
like the implementation of AES-CTR algorithms for  
encryption, and AES-CBC for authentication.  
14.1.4 HASH  
Figure 53: AES Architecture  
The structure of the HASH block is presented in Figure  
54:  
The internal structure of the AES correlates with the  
logic function of the AES algorithm.  
• KeyExpansion: The “KeyExpansion” is the process  
of generating the number of keys based on the initial  
key. More specific generates 11, 13 and 15 keys  
from an initial key of 128, 192 and 256 bits respec-  
tively. Each round of the algorithm uses each one of  
the above keys. For the encryption of each 128 bits  
input we need to use all generated, from this pro-  
cess, keys.  
HASH FUNC  
OUTPP  
INPP  
• AddRoundKey: Adds (modulo 2) the intermediate  
status that the input data already transformed (128  
bits) with one of the generated (from “KeyExpan-  
sion”) keys. The output of this module contains the  
result that produced from the application of all the  
transformations that take place for the current round  
of the algorithm.  
Figure 54: HASH block diagram  
INPP applies padding at the input data as required by  
the hash algorithms. Two types of padding are imple-  
mented, due to the different algorithms supported. The  
purpose is to ensure that the message is a multiple of  
512 bits or 1024 bits depending on the algorithm. Pad-  
ding is done in a similar way in both cases. After the  
last data byte, one extra byte of value 0x80 is added.  
Next, a number of bytes (0x00) is added so that the  
overall size of the data block (including the extra bytes)  
mod 512/1024 is 448/896 depending on the algorithm.  
Following that, a 64/128-bits big-endian number is  
attached which represents the size of the data block, in  
bits (without the padding). While in this process, TX/RX  
FIFOs are switched into 8-bytes mode.  
• SBytesSRows: When encryption is taking place the  
module applies the SubBytes transformation first  
and then the ShiftRows transformation on the input  
data.  
• ISRowsISBytes: When decryption is taking place  
this module applies the Inverse ShiftRows transfor-  
mation and then the Inverse SubBytes on the input  
data.  
• MixCols: Being used for encryption and implements  
the MixColumns transformation.  
OUTPP packetizes the algorithm result (128 to 512  
bits) into blocks of 64 bytes so that they can be shifted  
to the TX FIFO.  
• IMixCols: Being used for decryption and implements  
the Inverse MixColumns transformation.  
HASH FUNC contains the logic implementing the fol-  
lowing hash algorithms:  
• MainFSM: The basic FSM that controls all previous  
modules. In general controls the complete AES  
encryption/decryption.  
1. MD5: RFC1321  
2. SHA-1: FIPS PUB 180-4  
All parts of AES is implemented using hardware includ-  
ing the Key Expansion part.  
3. SHA-224/256: FIPS PUB180-4. In this case only  
initialization changes.  
14.1.3 Modes  
4. SHA-384/512: FIPS PUB 180-4  
The block “Modes” uses the AES in order to implement  
the following modes of operations:  
As depicted in Figure 55, HASH FUNC comprises com-  
mon and specific resources for all algorithms.  
• ECB (Electronic Code Book)  
All registers are contained in the common resources.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
87 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Also, 2 32-bit adders utilized by all hash algorithms are  
part of the common resources.  
M0  
M4  
M1  
M5  
M2  
M6  
M3  
M7  
A
C
E
G
B
D
F
H0  
H2  
H4  
H6  
H1  
H3  
H5  
H7  
M8  
M9  
M10  
M14  
M11  
M15  
M12  
M13  
H
M14  
M15  
64-bit registers  
ADD0  
ADD1  
64-bit adders  
COMMON  
RESOURCES  
FSM  
ALGORITHM  
SPECIFIC  
RESOURCES  
MD5  
Functions  
SHA-1  
Functions  
SHA-256  
Functions  
SHA-512  
Functions  
Constants  
Figure 55: HASH FUNC architecture  
14.2 PROGRAMMING  
CRYPTO_KEYS memory.  
The basic register for the programming of AES/HASH  
engine is the CRYPTO_CTRL_REG. Select the crypto-  
graphic algorithm by setting the CRYPTO_ALG regis-  
ter. The mode of operation can be programmed by  
choosing the suitable value for the CRYPTO_ALG_MD  
register. When only the final block of the resulting data  
must be stored at the memory, the user should set the  
CRYPTO_OUT_MD=1. The encryption/decryption  
In case of CRYPTO_AES_KEXP = 1,  
CRYPTO_KEYS_START should be programmed with  
the cipher key.  
The source address is set by writing the  
CRYPTO_FETCH_ADDR_REG register. The AES/  
HASH engine reads the input data from this memory  
location.  
function  
is  
selected  
by  
programming  
the  
The destination address is set by writing the  
CRYPTO_DEST_ADDR_REG register. The AES/  
HASH engine writes the output data to this memory  
location.  
CRYPTO_ENCDEC register. If the selected algorithm  
is the AES, the CRYPTO_AES_KEY_SZ register  
should be used to set the key size of the algorithm. To  
generate an interrupt request at the end of the opera-  
tion, CRYPTO_IRQ_EN=1 should be set.  
The  
calculation  
is  
started  
by  
setting  
CRYPTO_START_REG=1.  
Proportionally with the selected cryptographic algo-  
rithm and the selected mode of operation, read the  
CRYPTO MREGs table and program the suitable regis-  
ters with the parameters of the selected algorithms.  
The end of calculation is indicated by the  
CRYPTO_INACTIVE flag when  
CRYPTO_MORE_IN=0. If not, the processing of the  
current  
data  
input  
is  
denoted  
by  
Flag CRYPTO_AES_KEXP controls key expansion.  
With CRYPTO_AES_KEXP=1, key expansion will be  
performed by the dedicated hardware engine. Other-  
wise key expansion should be performed by software  
and generated keys should be stored into  
CRYPTO_WAIT_FOR_IN.  
When  
CRYPTO_INACTIVE=1, the calculation is finished and  
the resulting data are in the memory. When  
CRYPTO_WAIT_FOR_IN=1 more data are to be pro-  
cessed. In both cases, if CRYPTO_IRQ_EN=1, an  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
88 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
interrupt request is generated.  
To clear an interrupt request from the AES/HASH  
engine, CRYPTO_CLRIRQ=1 should be programmed.  
Table 31: Hash function selection  
CRYPTO_  
ALG_MD  
CRYPTO_  
ALG  
For  
the  
hash  
functions  
field  
activation,  
in  
the  
the  
Hash algorithm  
CRYPTO_HASH_SEL  
CRYPTO_CTRL_REG has to be set. When this bit is  
set, the CRYPTO_ALG field refers to the hash algo-  
rithms rather than the encryptions algorithms.  
CRYPTO_ALG_MD selects between HASH algorithms  
based on 32 or 64-bit arithmetic. Table 31 shows the  
programming selection of the hash algorithms. With  
means of the CRYPTO_HASH_OUT_LEN, the number  
of bytes to be eventually used is defined. This number  
is programmable ranging from 1 to 64.  
00  
00  
00  
00  
01  
01  
01  
01  
00  
01  
10  
11  
00  
01  
10  
11  
MD5  
SHA-1  
SHA-256/224  
SHA-256  
SHA-384  
SHA-512  
SHA-512/224  
SHA-512/256  
Note that there are some restrictions for the number of  
bytes to be processed (CRYPTO_LEN value) that are  
related to the algorithm currently in use  
(CRYPTO_HASH_SEL and CRYPTO_ALG), the mode  
of operation (CRYPTO_ALG_MD) and whether there  
are more data to be consumed (CRYPTO_MORE_IN)  
as depicted in Table 32:  
Table 32: Restrictions on CRYPTO_LEN  
CRYPTO_LEN  
CRYPTO_MORE_IN  
= 0  
CRYPTO_LEN  
CRYPTO_MORE_IN  
= 1  
CRYPTO_  
HASH_SEL  
CRYPTO_  
ALG_MD  
ALGORITHM  
CRYPTO_ALG  
AES ECB  
AES ECB  
AES CTR  
00  
01  
00  
00  
multiple of 16  
multiple of 16  
multiple of 16  
multiple of 16  
0
1
10  
11  
00  
00  
no restriction  
no restriction  
multiple of 16  
multiple of 16  
AES CBC  
MD5  
00  
00  
00  
00  
01  
01  
01  
01  
00  
01  
10  
11  
00  
01  
10  
11  
no restriction  
no restriction  
no restriction  
no restriction  
no restriction  
no restriction  
no restriction  
no restriction  
multiple of 8  
multiple of 8  
multiple of 8  
multiple of 8  
multiple of 8  
multiple of 8  
multiple of 8  
multiple of 8  
SHA-1  
SHA-256/224  
SHA-256  
SHA-384  
SHA-512  
SHA-512/224  
SHA-512/256  
The amount of clock cycles required to perform a  
HASH or an encryption/decryption/key expansion task,  
is presented in Table 33:  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
89 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 33: Latency of various crypto algorithms  
Clock Cycles for  
256 kB (M)  
Algorithm  
Activity  
Clock Cycles / Block  
Block Size (bits)  
MD5  
Hash  
231  
281  
423  
423  
565  
565  
565  
565  
54  
512  
0.95  
SHA-1  
Hash  
512  
1.15  
SHA-256/224  
SHA-256  
SHA-384  
SHA-512  
SHA-512/224  
SHA-512/256  
AES-128  
AES-128  
AES-192  
AES-192  
AES-256  
AES-256  
Hash  
512  
1.73  
Hash  
512  
1.73  
Hash  
1024  
1024  
1024  
1024  
1.16  
Hash  
1.16  
Hash  
1.16  
Hash  
1.16  
Key Expansion  
Encryption  
Key Expansion  
Encryption  
Key Expansion  
Encryption  
86  
128  
128  
128  
1.41  
1.65  
1.92  
59  
101  
70  
117  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
90 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Features  
15 ECC Engine  
• RAM-based sequencer gives a maximum of flexibil-  
ity and facilitates functional upgrades  
The ECC Engine is a very flexible block based on a  
4x4 array of Dual-Field Processing Elements (DFPEs)  
that can be used to execute all operations & algorithms  
required for Elliptic Curve Cryptography systems such  
as Diffie-Hellman (ECD-H) Key Exchange and Elliptic  
Curve Digital Signature Algorithm (ECDSA). The ECC  
engine is flexible enough to support any other crypto  
algorithm since it comprises a μ-Code based controller  
which reads code from a dedicated RAM, making  
upgrades possible.  
• Supports arbitrary data/key sizes for ECC (up to 256  
bits)  
• Supports high-level PK Algorithms (ECDSA, ECDH,  
EdDSA)  
• Low memory requirements:  
• 2 kBytes from system’s DataRAM  
• 2 kBytes for the TCM  
A powerful dedicated ALU consisting of 4 16x16 multi-  
pliers (DFPEs) combined with an effective pipelining  
scheme, allows for maximum throughput while preserv-  
ing a small memory footprint. A Tightly Coupled Mem-  
ory (TCM) assists in the intermediate results storage  
without creating traffic on the system’s bus and mem-  
ory.  
• 3 kBytes for the μ-Code RAM (retainable)  
• High throughput: 90 256-bit ECC-point multiplica-  
tions per second at 96 MHz  
The ECC engine comes with an APB interface for con-  
figuration and a DMA engine for data transactions to  
and from the DataRAM of the DA14683 without the  
interference of the CPU.  
Memory I/F  
BLE  
DataRAM  
ECC_base_addr_reg  
Memory I/F  
ECC Engine  
Tightly Coupled RAM  
µDMA  
ALU  
(4 DFPE blocks)  
AHB Slave  
AHB Slave  
ECC Crypto Space  
AHB Master  
DSP Controller  
CPU  
Bridge  
Command  
µCode Sequencer  
µCode RAM  
Control &  
Status  
Registers  
APB32  
Figure 56: ECC Engine Block Diagram  
15.1 ARCHITECTURE  
address 0x50006000. Finally, it includes an memory  
interface which directly connects to the memory con-  
troller of the DA14683 and uses a memory space with  
pre-defined base address as the buffer for data in and  
data out such as e.g. curve parameters and signature  
generation results. The pre-defined address is config-  
ured by ECC_BASE_ADDR_REG which allocates  
memory in pages of 1 kB.  
The ECC controller comprises an AHB interface which  
is used for downloading the respective curve into the 3  
kB μ-Code RAM which can be retained during any  
Sleep mode (PMU_CTRL_REG[RETAIN_ECCRAM]).  
The source of this μ-Code might be the ECC Section of  
the OTP header (Table 5) or any other RAM or FLASH  
location. The μ-Code RAM base address is at  
0x40030000. There is also, an APB32 interface which  
is used for accessing the block’s registers at base  
The DSP controller is responsible for the primitive cal-  
culation with help of the ALU and its dedicated 2 kB of  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
91 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
tightly coupled memory used to store intermediate vari-  
ables.  
essary. At first the ECC Crypto Module needs to get  
started and initialized:  
• Enable clock to the ECC Crypto Module at  
CLK_AMBA_REG[ECC_CLK_ENABLE]  
15.1.1 Supported curves  
Due to the flexible architecture any curve should be  
able to implement in μ-Code. The currently available  
are:  
• Specify address space inside DataRAM to be used  
by the ECC block by programming the  
ECC_BASE_ADDR_REG  
• NIST recommended Curves:  
• Prime Field P-192, P-224, P-256  
• Binary Field K-163, K-233  
• Binary Field B-163, B-233  
• Brainpool and SEC2 Curves  
• Curve25519  
• Load micro code into ECC u-Code RAM starting at  
address 0x40030000. The microcode itself can be  
located in the OTP header inside the Elliptic curve  
content section (ECS), or in the FLASH  
• In case the interrupt is to be used, the corresponding  
IRQ vector needs to be provided and the IRQ needs  
to get enabled both in the Interrupt controller and the  
ECC block by programming  
• Average μ-Code size for these curves is 3 kB.  
Before executing any arithmetic operation, all required  
parameters, operands and data must be written in the  
shared memory whose address is defined at  
ECC_BASE_ADDR_REG.  
• Average clock cycle amount for executing each  
curve is 100 k cycles  
15.1.2 Supported high level algorithms  
Depending on the operations to execute, some param-  
eters or operands (like the prime modulus N or P) must  
be located in pre-defined/fixed addresses while some  
other input/output operands and results can be passed  
to/from programmable addresses by using specific  
A number of cryptography algorithms involving other  
hardware resources than just the ECC are available as  
described in Table 34, including their latency in system  
clock cycles:  
pointers  
(ECC_OPPTRA,  
ECCOPPTRB  
and  
ECC_OPPTRC) in the configuration register  
ECC_CONFIG_REG.  
Table 34: ECC algorithms latency  
ECC  
The programming flow is illustrated in Figure 57.  
Please note that the size of the individual operands  
must not exceed 256bit. However operand widths of  
64bit as well as 128bit are also supported. In the arith-  
metic unit all operands are executed on blocks whose  
length is a multiple of 64bit. If needed input data that  
are written in memory must be extended with zeroes to  
get the right length (defined size of operands). Data is  
stored in the crypto memory following the little endian  
format.  
Algorithm  
Routine  
cycles  
(M)  
JPAKE-p256 step1_generate  
step1_verify  
4.5  
4.5  
2.3  
2.3  
2.3  
0.7  
0.7  
1.4  
0.5  
0.5  
1.1  
1.1  
1.1  
1.15  
2.3  
1.1  
1.2  
2.2  
step2_generate  
step2_verify  
seskey_generate  
EdDSA -  
Ed25519  
pk_generate  
sign_generate  
sign_verify  
15.2.1 Example: ECDSA signature generation  
As explained in the previous section, some of the  
parameters or operands need to be available at prede-  
fined fixed addresses before starting the execution of  
the ECDSA signature generation. They all reside in the  
ECC crypto space in the DataRAM. Table 35 describes  
the actual sequence of the steps required and their  
respective commands.  
ECDH -  
Curve25519  
pk_generate  
seskey_generate  
pk_generate  
seskey_generate  
pk_generate  
sign_generate  
sign_verify  
ECDH -  
P256  
ECDSA -  
P256  
ECKCDSA - pl_generate  
P256  
sign_generate  
sign_verify  
15.2 PROGRAMMING  
In order to interact with the ECC several steps are nec-  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
92 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 57: ECC programming flow  
Table 35: ECDSA Signature Generation Process  
Step Operation  
Command  
1
2
select k<n  
Use TRNG block  
Use HASH block  
Compute h = SHA-1(m)  
Store h  
3
4
Compute P1 = k.G  
P1 (x1, y1) = k.G(xG, yG) = Point_Mul(k, G)  
Compute r = x1 mod n  
If r=0 then go to Step 1  
r = MODRED(x1,n)  
Check_r  
Compute w = k-1 mod n  
5
6
w = MODINV(k,n)  
Compute s = k-1 (h + d.r) mod n  
If s=0 then go to Step 1  
d.r = MODMUL(d, r, n)  
h+d.r = MODADD(h, d.r, n)  
s = MODMUL(kinv, h+d.r, n)  
7
(r, s) is the signature for the message m  
Check Status Register (ECC_STATUS_REG[ECC_BUSY])  
where:  
Table 36: ECC ECDSA Signature Generation  
memory layout  
• G(xG, yG) is the generator point of the elliptic curve  
chosen,  
Addr Operand  
Note  
• n is the order of point G  
0x4  
0x5  
0x6  
0x7  
0x8  
a
Pre-defined  
Pre-defined  
Pre-defined  
Pre-defined  
• h is the 160 bits hash digest of the message m  
• d is the private key (d < n)  
b
d (private key)  
k
The layout of the ECDSA signature generation in terms  
of the actual parameters and operands to be used by  
the u-Code is shown in Table 36:  
xQ/Q(x) Public Key  
0x9  
yQ/Q(y) Public Key  
Table 36: ECC ECDSA Signature Generation  
memory layout  
0xA  
0xB  
0xC  
r
Result  
s
Result  
Addr Operand  
Note  
h = SHA-1(m)  
Pre-defined  
0x0  
0x1  
0x2  
p or q or  
n
Pre-defined  
Pre-defined  
Pre-defined  
0xD  
0xE  
w
P1 (x)=(k.G)(x)  
xG/G(x)  
0xF  
P1 (y)=(k.G)(y)  
0x3  
yG/G(y)  
Pre-defined  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
93 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Parameters or operands noted as “Pre-defined” should  
be available at this specific pre-defined fixed address  
before generating the ECDSA Signature. The actual  
signature (r, s) is available at locations 0xA and 0xB.  
The memory layout shown in Table 36 represents the  
actual memory description of the shared ECC memory  
(part of the DataRAM).  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
94 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Features  
16 True Random Number Generator  
(TRNG)  
• Optional NIST SP800-90A Hash_DRBG post pro-  
cessing using SHA-256 function using the on-chip  
HW accelerators  
The TRNG is a non-deterministic Random Number  
generator used to provide the seed for encryption pro-  
cesses.  
• Random numbers access through 32x32 bits FIFO  
on AHB bus  
Its output can be used as entropy input for a FIPS 140-  
2 approved deterministic random number generation  
process which is handled by SW and HW accelerators  
of the DA14683.  
• Dedicated TRNG_IRQ Interrupt line  
• Start-up time 512 pclk cycles per 32 random bits  
• Clock enable signals for optimal power saving  
The TRNG contains oscillator rings in digital logic  
which combined create metastability on a Flip-Flop  
eventually being the source of the entropy bits.  
CLK_AMBA_REG[TRNG_CLK_ENABLE]  
ahb_clk  
TRNG  
Ring Oscillators  
. . .  
TRNG_CLK  
FIFO (32b x 32)  
AHB  
Shift  
Register  
. . .  
. . .  
AHB Interface  
APB Interface  
APB32  
Control & Status  
Registers  
TRNG_CLK  
TRNG_CTRL_REG[TRNG_ENABLE]  
TRNG_IRQ  
Figure 58: TRNG block diagram  
16.1 ARCHITECTURE  
4. Poll TRNG_FIFOLVL_REG which provides the  
amount of data in the FIFO, or wait for the  
TRNG_IRQ  
Figure 58 shows the TRNG block diagram.  
The TRNG comprises a number oscillator rings con-  
sisting of several inverters each. The output of the  
oscillator rings are accumulated in a shift register for  
whitening before being stored in a 32x32 bits deep  
FIFO. The oscillator rings are enabled when the  
TRNG_CTRL_REG[TRNG_ENABLE] is set and as  
long as the FIFO is not full.  
5. Read the random number from the TRNG FIFO  
at address 0x40040000 (TRNG_M)  
6. To save power, set TRNG_CLK_EN=0 and set  
TRNG_ENABLE=0. The FIFO can only be  
accessed if TRNG_CLK_EN=1  
Note that, all signals are handled following the little-  
endian format. That means that the Least Significant  
Byte (LSB) is stored at the lowest address.  
The 32-bit random numbers are accessible via an AHB  
interface while the registers are accessible via the  
APB32 interface.  
16.2.1 Latency  
16.2 PROGRAMMING  
After TRNG_CTRL_REG[TRNG_ENABLE] is set to 1,  
it takes 512 pclk clock cycles/FIFO entry. So for 32  
FIFO entries 512x32 = 16K pclk clock cycles or 1 ms if  
the 16 MHz clock is used.  
There is a simple sequence of steps that need to be  
followed to program the TRNG engine:  
1. Set CLK_AMBA_REG[TRNG_CLK_EN]=1 to  
enable the AHB bus access  
2. Set TRNG_CTRL_REG[TRNG_MODE]=0 to  
selects the ring oscillators rather then a pseudo  
random generator  
3. Set TRNG_CTRL_REG[TRNG_ENABLE]=1 to  
start the random number generation. This signal  
is ignored when the FIFO is already full  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
95 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
17 Temperature Sensor  
The DA14683 has a built-in temperature sensor which  
is part of the charging circuit and protects the die  
against too high temperature. It can however be used  
as a temperature sensor even if the charging circuit is  
not activated.  
Features  
• Supply voltage 1.9 V - 3.6 V  
Temperature range -40 oC to 100 oC  
• Uncalibrated (3 sigma) accuracy of +/- 17 oC  
• Accuracy after 1 point calibration +/- 8.8 oC. (Assum-  
ing perfect reference temperature)  
• Accuracy after 2 points calibration +/-4 oC. (Assum-  
ing perfect reference temperature)  
17.1 PROGRAMMING  
The temperature sensor can be read out through the  
GPADC, even when the charger is off, by setting:  
• CHARGER_CTRL2_REG[CHARGER_TEST]=1  
• GP_ADC_CTRL_REG[GP_ADC_SEL]=14  
The formulas which provide the relation between ADCx  
values (in LSBs) and the actual temperature Tx (in oC)  
are explained below.  
For uncalibrated measurements:  
• Tx = (ADCx - 712)/2.44  
For one point calibration measurements:  
• Measure T1p_cal with a thermometer, and read  
ADC1p_cal  
• Tx = T1p_cal + (ADCx - ADC1p_cal) / 2.44  
For two points calibration measurements:  
• Measure T2p_cal_1 with a thermometer, and read  
ADC2p_cal_1  
• Measure T2p_cal_2 with a thermometer, and read  
ADC2p_cal_2. It is recommended that T2p_cal_2  
T2p_cal_1 > 40 oC to achieve best accuracy.  
-
• Calculate Tc = (ADC2p_cal_2 - ADC2p_cal_1) /  
(T2p_cal_2 - T2p_cal_1  
)
• Tx = T2p_cal_1 + (ADCx - ADC2p_cal_1) / Tc  
Please note that, while measuring and/or calibration,  
the system’s power dissipation should be kept the  
same, or else the measurement is affected by the inter-  
nal thermal gradient.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
96 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
18 Wakeup Controller  
The block diagram illustrating the Wake Up function is  
shown in Figure 59.  
The Wakeup controller can be programmed to wake up  
the DA14683 from extended (clocked) or deep sleep/  
hibernation (clock less).  
It supports waking up from an external button  
(debouncing required) as well as, waking up from an  
edge on any GPIO (sensor provided line toggle).  
Features  
• Monitors any GPIO state change  
• Implements debouncing time from 0 upto 63 ms  
• Latches the status of the monitored lines  
• Generates an interrupt to the WIC controller  
While in the clock-less case, an external trigger will  
start the clock, in the clocked wake up, the external  
trigger will have to be synchronized using the sleep  
clock. The triggering signal has to be stable for at least  
3 pulses of this clock for the circuit to generate a wake  
up interrupt.  
P0_0  
wkup_pol_p0_reg[0]  
wkup_select_p0_reg[0]  
.
.
.
Debounce Counter  
P4_7  
wkup_pol_p4_reg[7]  
wkup_enable_irq  
wkup_select_p4_reg[7]  
WKUP_GPIO_IRQ  
WKUP_CLEAR_x_REG  
P0_0  
Positive Edge  
wkup_pol_p0_reg[0]  
Detection  
wkup_sel_gpio_p0_reg[0]  
.
.
.
.
.
.
P4_7  
Positive Edge  
Detection  
wkup_pol_p4_reg[7]  
wkup_sel_gpio_p4_reg[7]  
Figure 59: Wakeup Timer block diagram  
WKUP_SEL_GPIO_Px_REG registers are to be pro-  
18.1 ARCHITECTURE  
grammed if external sensors are expected to trigger a  
wakeup event and SW needs to know which one has  
fired and which not.  
The Wake up controller is able to monitor all 37 GPIO  
lines for an event. A line of XOR gates defines the  
polarity of the signal to be monitored. Two different  
structures are implemented depending on the event  
source expected:  
The basic difference between the two is that the latter  
will save the status of the triggering signals in the  
WKUP_STATUS_x_REG. Oring the bits of this register  
will result to issuing the WKUP_GPIO_IRQ.  
• One for triggering an interrupt when one or more  
buttons are pressed. This circuit involves a debounc-  
ing counter which implements a debouncing time up  
to 63 ms  
The debounce counter is loaded with value  
WKUP_CTRL_REG[WKUP_DEB_VALUE]. The coun-  
ter counts down every 1 ms. If upon reaching 0 the  
ORing of the GPIOs is still 1, the WKUP_GPIO_IRQ  
will be issued.  
• One for triggering an interrupt when one or more  
external devices are toggling. This construct is cap-  
turing the edge of the GPIOs and latch it into a sta-  
tus register.  
Masking the interrupt can be implemented, if de-assert-  
ing WKUP_CTRL_REG[ENABLE_IRQ], as well as de-  
asserting the WKUP_SEL_GPIO_Px_REG.  
18.2 PROGRAMMING  
The input signal polarity can be selected by program-  
ming the WKUP_POL_Px_REG registers.  
The interrupt can be cleared by writing any value to  
register WKUP_RESET_IRQ_REG and resetting the  
WKUP_SELECT_Px_REG registers are to be pro-  
grammed if expected wake up event is a button and  
needs debouncing.  
WKUP_STATUS_x_REG  
by  
writing  
to  
the  
WKUP_CLEAR_x_REG to clear the pending bits.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
97 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Minimum pulse width required for the edge detection is  
60/180 us (when using XTAL32/RCX as sleep clock  
respectively). In clock less modes, the edge detection  
will not work since it requires a clock to capture the  
event.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
98 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Single-ended as well as differential input with two  
input scales  
19 General purpose ADC  
The DA14683 is equipped with a high-speed ultra low  
power 10-bit general purpose Analog-to-Digital Con-  
verter (GPADC). It can operate in unipolar (single  
ended) mode as well as in bipolar (differential) mode.  
The ADC has its own voltage regulator (LDO) of 1.2 V,  
which represents the full scale reference voltage.  
• Eight single-ended or two differential external input  
channels  
• Oversampling up to 128 steps providing effectively  
up to 11.2 bits precision (ENOB)  
• Battery monitoring function  
• Chopper function  
Features  
• 10-bit dynamic ADC  
• Maximum sampling rate 4 Msample/s  
• Offset and zero scale adjust  
• Common-mode input level adjust  
• DMA support  
• Ultra low power (5 A typical supply current at  
100 ksample/s)  
GP_ADC_SEL  
General Purpose ADC  
Scaler  
VBAT  
(5V to 1.2V)  
TESTBUS  
AVS  
GP_ADC_SE  
V12  
V14  
V33  
1
0
GP_ADC_ATTN3X  
P0_6  
P0_7  
P1_0  
P2_4  
GP_ADC_EN  
1.2V  
LDO  
P1_2  
P1_4  
GP_ADC_MINT  
P1_3  
P1_5  
GP_ADC_ATTN3X  
Vref=1.2V  
ADC_IRQ  
GP_ADC_INT  
ADC_DMA_REQ  
160 kOhm  
P1_2  
GP_ADC_RESULT_REG  
ADC  
16bit  
80 kOhm  
80 kOhm  
160 kOhm  
P1_3  
GP_ADC_SE  
GP_ADC_SMPLS_REG  
P1_4  
P0_7  
GP_ADC_ATTN3X  
GP_ADC_ATTN3X  
Figure 60: Block diagram of the General Purpose ADC  
19.1 ARCHITECTURE  
(ADC_DMA_REQ)  
The ADC architecture shown in Figure 60 has the fol-  
lowing sub blocks:  
• ADC Input channels selector. Up-to eight specific  
GPIO ports, battery voltage (VBAT1) and the analog  
ground level (AVS) can be measured.  
• Analog to Digital converter (ADC)  
The ADC has the following modes of operation as  
shown in Figure 61:  
• ADC analog part internally clocked with 100 MHz  
(default) or the ADC_CLK selectable with  
GP_ADC_CTRL_REG[GP_ADC_CLK_SEL]  
• Manual mode  
• ADC logic part clocked with the ADC_CLK (16  
MHz or 96 MHz) with  
CLK_PER_REG[ADC_CLK_SEL]  
• Continuous mode  
In both modes the ADC performance might be  
increased by enabling:  
• 1.2V LDO for the ADC supply with a high PSRR ena-  
bled with GP_ADC_CTRL_REG[GP_ADC_EN]  
• Oversampling mode  
• Chopper mode  
• APB Bus interface clocked with the APB clock. Con-  
trol and status registers are available through regis-  
ters GP_ADC_*  
• Maskable Interrupt (ADC_IRQ) and DMA request  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
99 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
START  
ADC_EN=1  
cntr = GP_ADC_EN_DEL  
Yes  
No  
cntr‐‐  
cntr ==0  
ADC_LDO_1V2  
startup  
No  
GP_ADC_START==1  
Wait for initual  
Star  
conv_nr = 2**GP_ADC_CONV_NRS  
cntr = 32*GP_ADC_SMPL_TIME  
Yes  
ADC  
Sample time  
No  
cntr‐‐  
cntr ==0  
ADC  
Conversion  
ADC Conversion  
cntr = GP_ADC_STORE_DEL  
Yes  
No  
cntr ==0  
No  
ADC  
Store delay  
No  
cntr‐‐  
ADC_READY  
cntr ==0  
tmp_result += ADC value  
Oversampling  
Mode  
No  
conv_nr‐‐  
conv_nr==0  
Yes  
Delay =  
GP_ADC_INTERVAL*1.024 ms  
GP_ADC_RESULT=  
average(tmp_result)  
No  
ADC_IRQ_EN=1  
DMA Request =1  
Yes  
GP_ADC_INTERVAL==0  
Continuous  
Mode  
No  
GP_ADC_CONT==0  
Yes  
GP_ADC_START=0  
STOP  
Figure 61: GPADC operation flow diagram  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
100 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
19.2 INPUT CHANNELS AND INPUT SCALE  
channels  
is  
selected  
via  
bit  
GP_ADC_CTRL_REG[GP_ADC_SE]. In differential  
mode the voltage difference between two GPIO input  
The DA14683 has a multiplexer between the ADC and  
eight specific GPIO ports which can be sampled. Fur-  
thermore, the ADC can also be used to monitor the  
battery voltage (VBAT1) and the analog ground level  
(AVS).  
ports  
will  
be  
converted  
via  
bit  
GP_ADC_CTRL2_REG[GP_ADC_ATTN3X] the input  
scale can be enlarged by a factor of three, as summa-  
rized in Table 37.  
Single-ended or differential operation for the external  
Table 37: GPADC input channels and voltage scale  
GP_ADC_ATTN3X  
GP_ADC_SE  
Input channels  
Input scale  
Input limits  
0
1
P0_6, P1_0, P0_7, P2_4, P1_2,  
P1_3, P1_4, P1_5  
0 V to +1.2 V  
-0.1 V to +1.3 V  
0
1
0
1
[P1_2, P1_4], [P1_3, P0_7]  
-1.2 V to +1.2 V  
0 V to +3.6 V  
-1.3 V to +1.3 V  
-0.1 V to +3.45 V  
P0_6, P1_0, P0_7, P2_4, P1_2,  
P1_3, P1_4, P1_5  
1
0
[P1_2, P1_4], [P1_3, P0_7]  
-3.6 V to +3.6 V  
-3.45 V to +3.45 V  
19.3 STARTING THE ADC  
on the software code style. The fastest code can han-  
dle the data in four clock cycles of 16 MHz, resulting to  
a highest sampling rate of 16 MHz/5 = 3.3 Msample/s.  
The GPADC is a dynamic ADC and consumes no static  
power, except for the LDO which consumes less than 5  
A.  
At full speed the ADC consumes approximately 50 A.  
If the data rate is less than 100 ksample/s, the current  
consumption will be in the range of 5 A.  
Enabling/disabling of the ADC is triggered by configur-  
ing bit GP_ADC_CTRL_REG[GP_ADC_EN]. When  
set, first the LDO is enabled, then after the delay value  
set in GP_ADC_CTRL3_REG[GP_ADC_EN_DEL]  
(recommended value is 20us to account for LDO set-  
tling time) the ADC will be enabled and an AD-conver-  
sion can be started.  
19.4.2 Continuous Mode  
Setting GP_ADC_CTRL_REG[GP_ADC_CONT] to '1'  
it is possible to use the ADC in a continuous mode  
meaning that a new conversion will be started after the  
previous conversion has finished without using the  
GP_ADC_START bit. Still the GP_ADC_START bit is  
needed to trigger the first conversion but following that,  
new converted data will be generated automatically. To  
correctly terminate this mode it is required to disable  
the GP_ADC_CONT bit first and afterwards wait until  
the GP_ADC_START bit is cleared so the ADC is in a  
See Table 38 for recommended values.  
The ADC LDO consumes about 5A, so GP_ADC_EN  
must be must be set to 0 if the ADC is not used.  
Table 38: ADC_LDO_1V2 start-up time  
ADC_CLK (MHz) GP_ADC_EN_DEL Delay (s)  
defined  
state.  
By  
using  
GP_ADC_CTRL3_REG[GP_ADC_INTERVAL] it is  
possible to determine the time interval between con-  
versions. If kept zero, the conversion will be restarted  
immediately. With values different than zero, it is possi-  
ble to program how many milliseconds it should take  
16  
96  
0x0B  
0x40  
22.0  
21.3  
19.4 ADC CONVERSION MODES  
19.4.1 Manual Mode  
before  
restarting  
a
new  
conversion.  
If  
GP_ADC_INTERVAL is not zero, it can take up to one  
millisecond before the first conversion is executed  
because it is synchronized to a one millisecond peri-  
odic signal.  
Each conversion has two phases: the sampling phase  
and the conversion phase. When bit  
GP_ADC_CTRL_REG[GP_ADC_EN] is set to ‘1’, the  
ADC samples the selected input voltage. Writing a '1' at  
bit GP_ADC_CTRL_REG[GP_ADC_START] ends the  
sampling phase and triggers the conversion phase.  
When the conversion is ready, the ADC resets bit  
GP_ADC_START to ‘0’ and returns to the sampling  
phase asserting the interrupt line GP_ADC_INT. SW  
should always check that GP_ADC_START=0 before  
starting a new conversion.  
19.5 NON-IDEAL EFFECTS  
Besides Differential Non-Linearity (DNL) and Integral  
Non-Linearity (INL), each ADC has a gain error (linear)  
and an offset error (linear). The gain error of the  
GPADC slightly reduces the effective input scale (up to  
50 mV). The offset error causes the effective input  
scale to become non-centred. The offset error of the  
GPADC is less than 20 mV and can be reduced by  
chopping or by offset calibration.  
The conversion itself is fast and takes approximately  
one clock cycle of 16 MHz, though the data handling  
will require several additional clock cycles, depending  
The ADC result will also include some noise. If the  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
101 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
input signal itself is noise free (inductive effects  
included), the average noise level will be ±1 LSB. Tak-  
ing more samples and calculating the average value  
will reduce the noise and increase the resolution.  
four least significant bits can be discarded. T  
Table 39: Oversampling mode effective number of  
bits  
With a 'perfect' input signal (e.g. if a filter capacitor is  
placed close to the input pin) most of the noise comes  
from the low-power voltage regulator (LDO) of the  
ADC. Since the DA14683 is targeted for ultra-compact  
applications, there is no pin available to add a capaci-  
tor at this voltage regulator output.  
Effective number of bits  
(ENOB) in  
(GP_ADC_CONV_NRS) GP_ADC_RESULT_RE  
G
Oversampling  
1
9.05  
2
9.45  
The dynamic current of the ADC causes extra noise at  
the regulator output. This noise can be reduced by set-  
ting bits GP_ADC_CTRL2_REG[GP_ADC_I20U] and  
GP_ADC_CTRL2_REG[GP_ADC_IDYN] to ‘1’. Bit  
GP_ADC_I20U enables a constant 20 A load current  
at the regulator output so that the current will not drop  
to zero. Bit GP_ADC_IDYN enables a 10 A load cur-  
rent during sampling phase so that the load current  
during sampling and conversion phase becomes  
approximately the same.  
4
9.83  
8
10.21  
10.52  
10.85  
11.10  
11.27  
16  
32  
64  
128  
The preferred settings for acquiring the results of Table  
39 are presented in Table 40:  
19.6 SAMPLING TIME (SMPL_TIME)  
The default ADC sampling time is sufficient in normal  
operation to achieve 10 bit accuracy. If ATTN3X is ena-  
bled or the VBAT channel is selected, additional (inter-  
nal) resistance is routed in series with the sampling  
capacitor, therefore it requires more time to settle to the  
same accuracy. In general, enabling ATTN3X results in  
a time-constant t=60 nsec, and sampling VBAT has a  
time-constant t=500 nsec. The total sampling time  
required for a given accuracy can be calculated using:  
T_sample = -ln(1.2/2N)*t, where N is the desired accu-  
racy in bits and t the time-constant mentioned before.  
The corresponding value for the SMPL_TIME can than  
easily be determined e.g. sampling VBAT with 10b  
Table 40: Preferred settings for ENOB  
measurements  
Description  
Register Setting  
Run digital at PLL speed PLL_SYS_CTRL1_REG[  
PLL_EN]=1  
Use internal 100MHz  
clock as SAR clock.  
GP_ADC_CTRL_REG[G  
P_ADC_CLK_SEL]=0  
Use auto zero and refer- GP_ADC_CTRL_REG[G  
ence sampling in the  
P_ADC_LDO_ZERO]=1  
accuracy  
SMPL_TIME=2, or ATTN3X enabled requires  
SMPL_TIME=1 for 10b accuracy when  
and  
ADC_CLK=16MHz  
requires  
LDO to suppress noise  
Disable chopping  
(default)  
GP_ADC_CTRL_REG[G  
P_ADC_CHOP]=0  
ADC_CLK=16MHz. Obviously, when oversampling is  
used, the expected accuracy increases. Most of the  
times, setting SMPL_TIME to “1” or “2” will be suffi-  
cient. If VBAT is selected, SMPL_TIME=3 is the pre-  
ferred value when oversampling (this gives 11b  
sampling accuracy).  
Sign is not inverted  
(default)  
GP_ADC_CTRL_REG[G  
P_ADC_SIGN]=0  
Measure single ended  
GP_ADC_CTRL_REG[G  
P_ADC_SE]=1  
Single-Ended: P1[2]  
GP_ADC_CTRL_REG[G  
P_ADC_SEL]=0  
19.7 OVERSAMPLING  
In this mode multiple successive conversions will be  
executed and the results are added together to  
increase the effective number of bits (ENOB). The  
number of conversions that are executed is program-  
Enable dynamic LDO  
current load  
GP_ADC_CTRL2_REG[  
GP_ADC_IDYN]=1  
Enable static LDO 20A  
current load  
GP_ADC_CTRL2_REG[  
GP_ADC_I20U]=1  
mable  
GP_ADC_CTRL2_REG[GP_ADC_CONV_NRS]. The  
six least significant bits inside the  
at  
32 ADC clock cycles  
sampling time  
GP_ADC_CTRL2_REG[  
GP_ADC_SMPL_TIME]=  
1
GP_ADC_RESULT_REG can be discarded if no over-  
sampling is used. But if, for example, four samples are  
programmed, two extra bits are generated and only the  
Negative Offset centred  
(zero offset)  
GP_ADC_OFFN_REG=  
0x200  
Positive Offset centred  
(zero offset)  
GP_ADC_OFFP_REG=  
0x200  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
102 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
19.8 CHOPPING  
sign of the ADC input and output is changed. Two sign  
changes have no effect on the signal path, though the  
sign of the ADC offset will change.  
Chopping is a technique to cancel offset by taking two  
samples with opposite signal polarity. This method also  
smooths out other non-ideal effects and is recom-  
mended for DC and slowly changing signals.  
If adc_off_p = 3.5 the ADC_result with opposite  
GP_ADC_SIGN will be 508. The sum of these equals  
515 + 508 = 1023. This is the mid-scale value of an 11-  
bit ADC, so one extra bit due to the over-sampling by a  
factor of two.  
Chopping  
is  
enabled  
by  
setting  
bit  
GP_ADC_CTRL_REG[GP_ADC_CHOP] to ‘1’.  
The mid-scale value of the ADC is the 'natural' zero  
point of the ADC (ADC result = 511.5 = 1FF or 200 Hex  
= 01.1111.1111 or 10.0000.0000 Bin). Ideally this corre-  
sponds to Vi = 1.2V/2 = 0.6 V in single-ended mode  
The LSB of this 11-bit word should be ignored if a 10-  
bit word is preferred. In that case the result is 511.5, so  
the actual output value will be 511 or 512.  
and Vi = 0.0 V in differential mode.  
19.9 OFFSET CALIBRATION  
If bit GP_ADC_CTRL2_REG[GP_ADC_ATTN3X] is set  
to ‘1’, the zero point is 3 times higher (1.8 V single-  
ended and 0.0 V differential).  
A relative high offset caused by a very small dynamic  
comparator (up to 20 mV, so approximately 20 LSB).  
This offset can be cancelled with the chopping function,  
but it still causes unwanted saturation effects at zero  
scale or full scale. With the GP_ADC_OFFP and  
GP_ADC_OFFN registers the offset can be compen-  
sated in the ADC network itself.  
With bit GP_ADC_CTRL_REG[GP_ADC_MUTE], the  
ADC input is switched to the centre scale input level,  
so the ADC result ideally is 511.5 . If instead a value of  
515 is observed, the output offset is +3.5 (adc_off_p =  
3.5).  
To calibrate the ADC follow the steps in Table 41.  
With bit GP_ADC_CTRL_REG[GP_ADC_SIGN] the  
Table 41: GPADC calibration procedure for single-ended and differential modes  
Step  
Single-ended mode (GP_ADC_SE = 1)  
Differential mode (GP_ADC_SE = 0)  
1
Set GP_ADC_OFFP = GP_ADC_OFFN=0x200;  
GP_ADC_MUTE = 0x1; GP_ADC_SIGN = 0x0  
Set GP_ADC_OFFP=GP_ADC_OFFN = 0x200;  
GP_ADC_MUTE = 0x1; GP_ADC_SIGN = 0x0  
2
3
4
5
6
7
Start conversion  
Start conversion  
adc_off_p = GP_ADC_RESULT - 0x200  
Set GP_ADC_SIGN = 0x1  
Start conversion  
adc_off_p = GP_ADC_RESULT - 0x200  
Set GP_ADC_SIGN = 0x1  
Start conversion  
adc_off_n = GP_ADC_RESULT - 0x200  
adc_off_n = GP_ADC_RESULT - 0x200  
GP_ADC_OFFP = 0x200 - 2*adc_off_p  
GP_ADC_OFFN = 0x200 - 2*adc_off_n  
GP_ADC_OFFP = 0x200 - adc_off_p  
GP_ADC_OFFN = 0x200 - adc_off_n  
Note: The average of GP_ADC_OFFP and GP_ADC_OFFN should be 0x200 (with a margin of 20 LSB)  
It is recommended to implement the above calibration  
routine during the initialization phase of the DA14683.  
To verify the calibration results, check whether the  
GP_ADC_RESULT value is close to 0x200 while bit  
GP_ADC_MUTE = 1.  
margin up to 50 mV) according to Table 42.  
Table 42: Common Mode adjustment  
CM Voltage  
GP_ADC_OFFP = GP_ADC_OFFN  
(Vccm)  
19.10 ZERO-SCALE ADJUSTMENT  
0.3 V  
0x300  
0x200  
0x100  
The GP_ADC_OFFP and GP_ADC_OFFN registers  
can also be used to set the zero-scale or full-scale  
input level at a certain target value. For instance, they  
can be used to calibrate GP_ADC_RESULT to 0x000  
at an input voltage of exactly 0.0 V, or to calibrate the  
zero scale of a sensor.  
0.6 V  
0.9 V  
Any other common mode level between 0.0 V and  
1.2 V can be calculated from the table above. Offset  
calibration can be combined with common mode  
adjustment by replacing the "0x200" value in the offset  
calibration routine by the value required to get the  
appropriate common mode level.  
19.11 COMMON MODE ADJUSTMENT  
The common mode level of the differential signal must  
be 0.6 V (or 1.8 V with GP_ADC_ATTN3X = 1). If the  
common mode input level of 0.6 V cannot be achieved,  
the common mode level of the GP_ADC can be  
adjusted (the GP_ADC can tolerate a common mode  
Note: The input voltage limits for the ADC in differential  
mode are: -1.3 V to +1.3 V (for GP_ADC_ATTN3X = 0,  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
103 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
see Table 37). The differential input range of the ADC  
is: -1.2 V < V[P0_0,P0_1] < +1.2 V. Therefore, if Vcmm  
< 0.5 V or Vcmm > 0.7 V, the input can no longer cover  
the whole ADC range.  
19.12 INPUT IMPEDANCE, INDUCTANCE, AND  
INPUT SETTLING  
The GPADC has no input buffer stage. During sam-  
pling phase a capacitor of 1 pF (0.5 pF in differential) is  
switched to the input line. The pre-charge of this  
capacitor is at mid-scale level so the input impedance  
is infinite.  
At 100 ksample/s, zero or full-scale single-ended input  
signal, this sampling capacitor will load the input with:  
ILOAD = V * C * fS = ±0.6 V * 1 pF * 100 kHz = ±60 nA  
(differential: ±1.2 V * 0.5 pF * 100 kHz = ±60 nA at both  
pins).  
During sampling phase a certain settling time is  
required. A 10-bit accuracy requires at least 7 time  
constants of the output impedance of the input signal  
source and the 1 pF sampling capacitor. The conver-  
sion time is approximately one clock cycle of 16 MHz  
(62.5 ns).  
7 * ROUT * 1 pF - 62.5 ns < 1/fS  
=> ROUT < (1 + 62.5 ns * fS) / (7 * 1 pF * fS)  
Examples:  
ROUT < 8.9 Mat fS = 100 kHz  
R
OUT < 890 kat fS = 1 MHz  
The inductance from the signal source to the ADC  
input pin must be very small. Otherwise, filter capaci-  
tors are required from the input pins to ground (differ-  
ential mode: from pin to pin).  
To observe the noise level of the ADC and the voltage  
regulator, bit GP_ADC_CTRL_REG[GP_ADC_MUTE]  
must be set to ‘1’. The noise should be less than ±1  
LSB on average, with occasionally a ±2 LSB peak  
value. If a higher noise level is observed on the input  
channel(s), applying filter capacitor(s) will reduce the  
noise.  
The 3x input attenuator is realized with a resistor  
divider  
network.  
When  
bit  
GP_ADC_CTRL_REG2[GP_ADC_ATTN3X] is set to  
‘1’, the input impedance of the selected ADC input  
channel becomes 300 k(typical) instead of infinite.  
Bluetooth Low Energy  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
104 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• SRC_IN, SRC_OUT Sample rates 62.5 kHz to 16  
MHz  
20 Sample Rate Converter (SRC)  
The SRC is a HW accelerator used to convert the sam-  
ple rate of audio samples between various interfaces.  
Its primary purpose is to directly connect PCM and  
PDM channels while converting the rate accordingly. It  
can provide up or down sampled streams to other inter-  
faces like USB by means of the AMBA bus.  
• SNR > 100 dB  
• Single Buffer I/O with DMA support  
• Automatic mode to adjust sample rate to the applied  
frame sync (e.g. PCM_FSC)  
• Manual mode to generate interrupts at the pro-  
grammed sample rate. Adjustment is done by SW  
based on buffer pointers drift (e.g for USB)  
Features  
• Supported conversions:  
• SRC_IN (24 bits) to SRC_OUT (24 bits)  
• PDM_IN (1bit) to SRC_OUT (24 bits)  
• SRC_IN (24 bits) to PDM_OUT (1 bit)  
• SRC runs at 16 MHz  
SRC  
PCM  
2x24  
0 = Off  
2x24  
2x24  
1 = PCM1_IN1[318], PCM1_IN2[318]  
SRC1_OUT1_REG[318]  
SRC1_IN1_REG[318]  
SRC1_OUT1_REG[318], SRC1_OUT2_REG[318]  
SRC1_OUT2_REG[318]  
SRC1_IN2_REG[318]  
2x24  
PCM  
Down sampler  
2 = SRC1_IN1_REG[318], SRC1_IN2_REG[318]  
PCM  
Up sampler  
SRC_IN_SYNC  
SRC_OUT_SYNC  
0 = Off  
1 = PCM_SYNC  
Fs_clock  
auto_sync_in  
man_sync_in  
1
0
Fs_clock  
Sync  
Gen  
man_sync_out  
0
1
SRC1_OUT_FS_REG[230]  
PCM_SYNC  
SRC_IN_AMODE  
SRC_OUT_AMODE  
APU_MUX_REG[SRC_IN_MUX]  
Sync  
Gen  
SRC1_IN_FS_REG[230]  
PDM  
Down  
sampler  
PDM  
upsampler  
5 = PDM_IN  
PDM_OUT  
Inter  
polator  
5 = PDM_CLK  
APU_MUX_REG[SRC_IN_MUX]  
PDM_CLK  
Figure 62: Sample rate Converter block diagram  
20.1 ARCHITECTURE  
20.1.1 I/O channels  
routed to the PCM. This input selection of these multi-  
plexers is also controlled by APU_MUX_REG.  
20.1.3 Input and Output Sample rate conversion  
The SRC block converts two 24 bits channels either as  
a stereo pair or as two mono channels. The PCM linear  
data pairs are received on SRC_IN and the output is  
2x24 bits left aligned on SRC_OUT. The two 1 bit PDM  
data inputs are received on PDM_IN and are converted  
to 2x24 bits, left aligned to SRC_OUT or PDM_OUT.  
The SRC has a sample rate converter on the input and  
one at the output. Depending on the use case the con-  
verters operate in either manual or automatic conver-  
sion mode. This mode can be set in the  
SRC_CTRL_REG bits SRC_IN_AMODE and bit  
SRC_OUT_AMODE.  
20.1.2 I/O multiplexers  
20.1.4 SRC conversion modes of operation  
The SRC can operate in two mode of operation:  
• Manual mode  
The SRCx_IN input multiplexer (Figure 62) is con-  
trolled by APU_MUX_REG. The input of these multi-  
plexers either come from the audio interfaces of from  
registers SRC_IN1_REG and SRC_IN2_REG. The  
data to these register is left aligned, bits 31-8 are  
mapped on bits 23-0 of the SRC.  
• Automatic mode  
In manual mode the sample rate to convert to is deter-  
The 24 bits SRCs outputs can be read in  
SRC_OUT1_REG and SRC_OUT2_REG and is also  
mined by the values in the SRC_IN_FS_REG,  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
105 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
SRC_OUT_FS_REG.  
20.1.5 DMA operation  
If more than one sample must be transfer to/from the  
CPU or the sample rate is so high that it interrupt the  
CPU too often, the DMA controller must be engaged to  
perform the transactions.  
Manual mode is used for sample rate conversion to/  
from the e.g. USB. The CPU compares the buffer point-  
ers of the USB transmit buffers with the e.g PDM  
receive buffer pointers. If the pointers drift, the PDM  
sample rate is adjusted in the SRC_OUT_FS_REG.  
Hence, in the SRC_OUT_SYNC interrupt service rou-  
tine, the PDM samples are read.  
20.1.6 Interrupts  
After a Sample Rate conversion the input upsampler  
and output down sampler generate edge triggered  
interrupts on SRC_IN_SYNC and SRC_OUT_SYNC to  
the CPU which do not have to be cleared. Note that  
only one sample shall be read from or written to a sin-  
gle register at a time (i.e. there are no FIFOs included).  
In automatic mode, the sample rate is adjusted  
according to the rate at which the samples are read  
from, or written to the SRC. For instance, if PCM slave  
data is transmitted to USB, PCM_IN is selected in the  
SRC_IN_MUX. The SRC_IN is set to automatic mode  
to convert sample receive at PCM_FSC rate. The  
SRC_OUT is also set to automatic mode. In the  
SRC_OUT_SYNC interrupt service routine, the PCM  
samples are read and the rate is determined by the  
main counter MAIN_CNT (8-192kHz)  
20.1.7 SRC use cases  
Table 43 shows typical use cases of the Sample Rate  
Converter.  
Typical use cases of the SRC are given in Table 43.  
Table 43: Typical SRC use cases  
SRCx_IN_AMODE  
DATA path  
SRCx_IN_SYNC  
SRCx_IN_SYNC  
(out)  
SRCx_OUT_AMODE  
DATA path  
SRCx_OUT_SYNC  
SRCx_OUT_SYNC  
(out)  
Use case  
PCM_IN to USB  
Automatic  
PCMx_IN_DATA  
PCMx_SYNC  
-
Manual  
SRCx_OUT_REG  
up-to 192kHz  
up-to 192kHz  
PDM_IN to USB  
SPDIF_IN to USB  
USB to PCM_OUT  
Automatic  
PDMx_IN_DATA  
PCMx_SYNC  
-
Manual  
SRCx_OUT_REG  
Automatic  
SPDIF_IN_DATA  
SPDIF_IN_SYNC  
-
Manual  
SRCx_OUT_REG  
48kHz (TYP)  
(ISR adjusts FS)  
Manual  
up-to 192kHz  
Automatic  
up-to 192kHz  
SRCx_IN_REG  
SRCx_OUT_REG  
PCMx_FSC (output)  
PCM to PCM resampler (output must be a multiple of 8 kHz)  
PCM1_IN to  
PCM2_OUT  
Automatic  
PCM1_IN  
PCM1_FSC (input)  
Automatic  
PCM2_OUT  
PCM2_FSC (output)  
-
-
PCM2_IN to  
PCM1_OUT  
Automatic  
PCM2_IN  
Automatic  
PCM1_IN  
PCM2_FSC (input)  
PCM1_FSC (output)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
106 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
21 PDM interface  
The Pulse Density Modulation (PDM) interface pro-  
vides a serial connection for up-to 2 input devices (e.g  
MEMS microphones) or output devices. The interfaces  
have a common clock PDM_CLK and one input  
PDM_DI which is capable of carrying two channels.  
Figure 63 shows a typical connection of two micro-  
phone sharing one data line.  
P D M  
P D M _C LK  
V dd  
C LK  
L/R  
D A TA  
P D M _D I[0]  
G N D  
The PDM input data is a 1-bit data and is encoded so  
that the left channel is clocked in on the falling edge of  
PDM_CLK and the right channel is clocked on the ris-  
ing edge of PDM_CLK as shown in Figure 64.  
V dd  
C LK  
The 1 bits data stream is downsampled to 24 bits PCM  
L/R  
samples in the HW Sample Rate converter (SRC) for  
D A T A  
further processing in the DSP.  
G N D  
The interface supports MEMS microphone sleep mode  
by disabling the PDM_CLK.  
Figure 63: PDM with dual mic interface  
The PDM interface signals are available through the  
PPA multiplexer. The interface levels are determined  
by the IO group on which the PDM signals are mapped  
which can be hard wired to 1.8 V and 3.3 V.  
Features  
• PDM_CLK output frequency  
62.5 kHz - 4 MHz  
• Downsampling to 24 bits in SRC  
• PDM_CLK on/off to support Sleep mode  
• PDM_IN: 1 Channel in stereo format  
• PDM_OUT: 2 Channels in mono format,  
1 Channels in stereo format  
• Programmable Left/Right channel selection  
Figure 64: PDM formats  
Figure 65: SRC PDM input transfer function  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
107 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Master/slave 4 kHz to 96 kHz  
• Strobe Length 1, 8, 16, 24, 32, 40, 48 and 64 bits  
22 PCM Controller  
The PCM controller is implementing an up-to 192kHz  
synchronous interface to external audio devices, ISDN  
circuits and serial data interfaces.  
• PCM_FSC before or on the first bit. (In Master  
mode)  
It is accessed through the APB32 interface. PCM can  
individually operate in master or slave mode. In slave  
mode, the phase between the external and internal  
frame sync can be measured and used to compensate  
for drift.  
• 2x32 channels  
• Programmable slot delay up-to 31*8bits  
• Formats  
• PCM mode  
The data IO registers have DMA support in order to  
reduce the interrupt overhead to the CPU. Up-to 8  
channels of 8 bits with a programmable delay are sup-  
ported in received and transmit direction.  
• I2S mode (Left/Right channel selection) with N*8  
for Left and N*8 for Right  
• IOM2 mode (double clock per bit)  
• Programmable clock and frame sync inversion  
• Direct connection to Sample Rate Converter (SRC)  
• Interrupt line to the CPU  
The controller supports PCM, I2S, TDM and IOM2 for-  
mats.  
Features  
• PCM_CLK Master/slave  
• PCM_FSC  
• DMA support  
2x32 bits  
32 bit register  
To AIC  
PCM_DO  
PCM_DI  
64 bit register  
2x32 bits  
32 bit register  
PCM_CLK  
DSP_PHASE_INFO_REG  
PCM_CLK (master)  
PCM_IN_SYNC (master)  
PCM_FSC  
PCM__OUT_SYNC (master)  
Figure 66: PCM Controller  
22.1 ARCHITECTURE  
22.1.1 Interface Signals  
22.1.2 Channel ACCESS  
The PCM interface has two 32-bit channels for TX and  
RX. Channels are accessed through 32 bits registers:  
PCM1/2_OUT1_REG, PCM1/2_OUT2_REG,  
• PCM_FSC, strobe signal input, output. Supports 8/  
16/32/48/96/128/192kHz. Can generate an interrupt  
to the CPU.  
PCM1/2_IN1_REG and PCM1/2_IN2_REG.  
The registers are only word-wise (32 bits) accessible  
by the CPU or the DMA via the APB-32 bridge. The 32  
bits registers are arranged as 8 channels of 8 bits,  
named channel 1 to channel8.  
• PCM_CLK, PCM clock input, output.  
• PCM_DO, PCM Data output, push pull or open drain  
with external pull-up resistor.  
By a flexible clock inversion, channel delay and strobe  
length adjustment various format like PCM, I2S, TDM  
and IOM2 can be made.  
• PCM_DI, PCM Data input.  
PCM interface can be powered down by the  
PCM_CTRL_REG[PCM_EN] = 0.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
108 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
22.1.3 Channel delay  
use cases, with 16 bits, 32 bits, 48 bits, and 64 bits.  
The PCM_FSC will be synchronised to the main coun-  
The 8 PCM channels can be delayed with a maximum  
delay  
of  
31x8bits  
using  
the  
bit  
field  
ter if PCM_MAIN_SYNC is ‘1’.  
PCMx_CTRL_REG[PCM_CH_DEL]. Note that a high  
delay count in combination with a slow clock, can lead  
to the PCMx_FSC sync occurring before all channels  
are shifted in or out. The received bits of the current  
channel may not be properly aligned in that case.  
DIV1_CLK  
PCM_DIV_REG  
PCM_CLK  
PCM_FSC  
DIVN_CLK  
22.1.4 Clock generation  
PCM_SRC_SEL  
Figure 67 shows the PCM clock generation block and  
Figure 68 the PCM_CLK_DIV value for given  
PCM_FSC and PCM_CLK in master mode.  
PCM_CLK_DIV is only 10 bits. For a higher division  
value, use either DIV1 or DIVN.  
PCM_FSC_DIV  
Figure 67: PCM clock generation  
The PCM_CLK_DIV calculation shows the following  
XTAL  
16000  
PLL  
96000  
desired  
sample  
rate  
bitclock  
khz  
desired  
divider  
actual  
divider  
actual  
wordsize  
desired  
divider  
actual  
divider  
actual  
wordsize  
bits  
8 1*8  
64  
128  
192 83.33333  
250  
125  
250  
125  
80  
50  
125  
50  
40  
25  
125  
50  
40  
25  
50  
25  
20  
10  
50  
25  
20  
10  
25  
10  
10  
5
8
1500  
750  
500  
375  
750  
375  
250  
187.5  
750  
375  
250  
187.5  
375  
187.5  
125  
93.75  
375  
187.5  
125  
93.75  
187.5  
93.75  
62.5  
1500  
8
8 1*16  
8 1*24  
8 1*32  
8 2*8  
8 2*16  
8 2*24  
8 2*32  
16  
25  
40  
8
20  
25  
40  
8
20  
25  
40  
10  
20  
25  
50  
10  
20  
25  
50  
10  
25  
25  
50  
750  
500  
375  
750  
375  
250  
150  
750  
375  
250  
150  
375  
150  
125  
75  
375  
150  
125  
75  
150  
75  
50  
25  
250  
125  
80  
16  
24  
32  
8
16  
24  
40  
8
16  
24  
40  
8
20  
24  
40  
8
20  
24  
40  
10  
20  
30  
60  
8
16  
25  
40  
8
256  
128  
256  
62.5  
125  
62.5  
384 41.66667  
512  
128  
256  
31.25  
125  
62.5  
16 1*8  
16 1*16  
16 1*24  
16 1*32  
16 2*8  
16 2*16  
16 2*24  
16 2*32  
32 1*8  
32 1*16  
32 1*24  
32 1*32  
32 2*8  
32 2*16  
32 2*24  
32 2*32  
48 1*8  
48 1*16  
48 1*24  
48 1*32  
48 2*8  
48 2*16  
48 2*24  
48 2*32  
384 41.66667  
512  
256  
512  
31.25  
62.5  
31.25  
768 20.83333  
1024  
256  
512  
15.625  
62.5  
31.25  
768 20.83333  
1024  
512  
15.625  
31.25  
1024  
15.625  
1536 10.41667  
2048 7.8125  
46.875  
250  
125  
83.33333  
62.5  
125  
62.5  
41.66667  
31.25  
384 41.66667 N/A  
768 20.83333 N/A  
1152 13.88889 N/A  
1536 10.41667 N/A  
768 20.83333 N/A  
1536 10.41667 N/A  
2304 6.944444 N/A  
3072 5.208333 N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
N/A  
50  
125  
50  
40  
25  
20  
25  
40  
Figure 68: Integer PCM_CLK_DIV values for given PLL_MAIN frequencies and sample rates  
Note that in the yellow colored cases, PCM_FSC can-  
not be 50% duty cycle while using the integer option for  
generating the PCM_CLK. However, this is feasible if  
the fractional option is used (see PCM_DIV_REG in  
Table 580 and PCM_FDIV_REG in Table 581).  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
109 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
PCM_CTRL_REG[PCM_CLKINV].  
The PCM_CLK frequency selection is described in sec-  
tion 22.1.4.  
22.1.5 DATA FORMATS  
22.1.5.1 PCM master mode  
22.1.5.2 PCM Slave mode  
Master mode is selected if PCM_CTRL_REG[MAS-  
TER] = 1.  
In slave mode (bit MASTER = 0) PCM_FSC is input  
and determines the starting point of channel 0. The  
repetition rate of PCM_FSC must be equal to  
PCM_SYNC and must be high for at least one  
PCM_CLK cycle. Within one frame, PCM_FSC must  
be low for at least PCM_CLK cycle.  
In master mode PCM_FSC is output and falls always  
over Channel 0. The duration of PCM_FSC is program-  
mable with PCMx_CTRL_REG[PCM_FSCLEN]= 1 or  
8,16, 24, 32 clock pulses high. The start position is pro-  
grammable with PCM_CTRL_REG[PCM_FSCDEL]  
and can be placed before or on the first bit of channel  
0. The repetition frequency of PCM_FSC is program-  
mable in PCMx_CTRL_REG[PCM_FSC_DIV] to from  
8-192kHz.  
Bit PCM_FSCDEL sets the start position of PCM_FSC  
before or on the first bit (MSB).  
In slave mode PCM_CLK is input. The minimum  
received frequency is 256 kHz, the maximum is  
12.288 MHz.  
If master mode selected, PCM_CLK is output and pro-  
vides one or two clocks per data bit programmable in  
PCM_CTRL_REG[PCM_CLK_BIT].  
In slave mode the main counter can be stopped and  
resumed on a PCM1_FSC or PCM2_FSC rising edge.  
T
The polarity of the signal can be inverted with bit  
PCM_ CLK_INV= 0  
PCM_C LK  
PCM_ CLK_INV= 1  
PCM _C LK  
Ch anne l 3  
cha nnel 6  
Ch anne l 5 Ch ann el 8  
Cha nne l 2  
Cha nne l 1  
Ch anne l 4  
D 0  
Ch anne l 7  
PCM_DI/PCM_DO  
D3 1  
D3 1  
D0  
Ch anne l 3  
cha nnel 6  
Ch anne l 2  
Ch anne l 5  
Ch ann el 8  
Cha nne l 1  
Ch anne l 4  
Ch ann el 7  
D0  
PCM_CH 0_DEL =1  
D3 1  
PCM_DI/PCM_DO  
D0 D 31  
PCM _ M AST ER= 0 (sl ave)  
PCM_ FSC (in put)  
PCM_ FSC (in put)  
PCM_ FSCD EL=0  
PCM_ FSCD EL=1  
PC M_ M ASTER= 1 (maste r)  
PCM_F SC  
PCM_F SC  
PCM _F SC  
PCM_F SC  
PCM_F SC  
PCM_F SC  
PCM_ FSCL EN = 0, PC M_ FSC DEL=0  
PCM_F SCLEN= 1, PCM_ FSCD EL=0  
PC M_FSC LEN= 8, PCM _F SCDEL =0  
PCM_F SCLEN = 0, PC M _F SC DEL= 1  
PC M_FSC LEN = 1, PC M_ FSCD EL=1  
PC M_FSC LEN = 8, PC M_ FSCD EL=1  
PCM49 5-01  
Figure 69: PCM interface formats  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
110 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
22.1.5.3 I2S formats  
• PCM_CLK_INV:  
• PCM_CH0_DEL:  
1 (output on falling edge)  
0 (no channel delay)  
The digital audio interface supports I2S mode, Left Jus-  
tified mode, Right Justified mode and TDM mode.  
I2S mode  
TDM mode  
To support I2S mode, the MSB of the right channel is  
valid on the second rising edge of the bit clock after the  
rising edge of the PCM_FSC, and the MSB of the left  
channel is valid on the second rising edge of the bit  
clock after the falling edge of the PCM_FSC.  
A time is specified from the normal ‘start of frame’ con-  
dition using register bits PCM_CH0_DEL. In the left-  
justified TDM example illustrated in Figure 71, the left  
channel data is valid PCM_CH0_DEL clock cycles after  
the rising edge of the PCM_FSC, and the right channel  
data is valid the same PCM_CH0_DEL number of  
clock cycles after the falling edge of the PCM_FSC.  
Settings for I2S mode:  
• PCM_FSC_EDGE: 1 (all after PCM_FSC)  
By delaying the channels, also left and right alignment  
can be achieved.  
• PCM_FSCLEN:  
• PCM_FSC_DEL:  
4 (4x8 High, 4x8 Low)  
0 (one bit delayed)  
PCM_CLK  
PCM_FSC  
PCM_DO  
PCM_DI  
Left channel data  
Right channel data  
N-1  
N-1  
N-2  
N-2  
1
1
0
0
N-1  
N-1  
N-2  
N-2  
1
1
0
0
Figure 70: I2S Mode  
Settings for TDM mode:  
• PCM_CLK_INV:  
• PCM_CH0_DEL:  
1 (output on falling edge)  
Slave 0-31 (channel delay)  
Master 1-3  
• PCM_FSC_EDGE: 1 (rising and falling PCM_FSC)  
• PCM_FSCLEN:  
Master 1 to 4  
Slave waiting for edge.  
• PCM_FSC_DEL:  
1 (no bit delay)  
PCM_CLK  
PCM_FSC  
PCM_DO  
PCM_DI  
Left channel data  
Right channel data  
offset  
offset  
N-1  
N-1  
N-2  
N-2  
1
1
0
0
N-1  
N-1  
N-2  
1
1
0
0
N-2  
Figure 71: I2S TDM mode (left justified mode)  
22.1.6 IOM mode  
• PCM_FSC_DEL:  
0 (no bit delay)  
0 (output on rising edge)  
0 (no delay)  
• PCM_CLK_INV:  
• PCM_CH0_DEL:  
• PCM_CLK_BIT:  
In the IOM format, the PCM_CLK frequency is twice  
the data bit cell duration. In slave mode synchroniza-  
tion is on the first rising edge of PCM_FSC while data  
is clock in on the second falling edge.  
1
Settings for IOM mode:  
22.1.7 External synchronisation  
• PCM_FSC_EDGE: 0 (rising edge PCM_FSC)  
With the PCM interface in slave mode, the PCM inter-  
face supports direct routing through the sample rate  
convertor (SRC). Any drift in PCM_FSC or other frame  
• PCM_FSCLEN:  
0 (one cycle)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
111 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
sync frequencies like 44.1 kHz can be directly resam-  
pled to e.g 48kHz internal sample rate.  
PCM_CLK  
PCM_FSC  
0 if Push pull  
PCM_DO  
PCM_DI  
MSB  
LSB  
Hi-Z if open drain  
48x-IOM  
Figure 72: IOM format  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
112 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Shadow registers to reduce software overhead and  
also include a software programmable reset  
23 UART  
The DA14683 contains two instances of this block, i.e.  
UART and UART2.  
• Transmitter Holding Register Empty (THRE) inter-  
rupt mode  
The UART is compliant to the industry-standard 16550  
and is used for serial communication with a peripheral,  
modem (data carrier equipment, DCE) or data set.  
Data is written from a master (CPU) over the APB bus  
to the UART and it is converted to serial form and  
transmitted to the destination device. Serial data is also  
received by the UART and stored for the master (CPU)  
to read back.  
• IrDA 1.0 SIR mode supporting low power mode.  
• Functionality based on the 16550 industry standard:  
• Programmable character properties, such as num-  
ber of data bits per character (5-8), optional  
• parity bit (with odd or even select) and number of  
stop bits (1, 1.5 or 2)  
There is DMA support on both UARTs. UART2 only  
supports hardware flow control signals (RTS, CTS) and  
includes a 16-byte FIFO while UART is not.  
• Line break generation and detection  
• Prioritized interrupt identification  
• Programmable serial data baud rate as calculated  
by the following: baud rate = (serial clock frequency)/  
(divisor).  
Features  
• 16 bytes Transmit and receive FIFOs. (UART2 only)  
• Hardware flow control support (CTS/RTS) (UART2  
only)  
UART  
UART2  
pclk  
FIFO  
Block  
APB  
APB Bus  
Interface  
uart_int  
Register  
Block  
dtr_n  
rts_n  
cts_n  
Modem  
dsr_n  
Sync  
Sync  
Block  
dcd_n  
Block  
Timeout  
Detector  
ri_n  
Baud  
Clock  
Generator  
uart_clk  
uart_rx  
Serial Receiver  
Serial Transmitter  
uart_tx  
Figure 73: UART Blockdiagram  
23.1 UART (RS232) SERIAL PROTOCOL  
and the selected device is asynchronous, additional  
bits (start and stop) are added to the serial data to indi-  
Because the serial communication between the UART  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
113 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
cate the beginning and end. Utilizing these bits allows  
two devices to be synchronized. This structure of serial  
data accompanied by start and stop bits is referred to  
as a character, as shown in Figure 74.  
Figure 74: Serial Data Format  
ted for exactly the same time duration. This is referred  
An additional parity bit may be added to the serial char-  
acter. This bit appears after the last data bit and before  
the stop bit(s) in the character structure to provide the  
UART with the ability to perform simple error checking  
on the received data.  
to as a Bit Period or Bit Time. One BitTime equals 16  
baud clocks. To ensure stability on the line the receiver  
samples the serial input data at approximately the mid  
point of the Bit Time once the start bit has been  
detected. As the exact number of baud clocks that  
each bit was transmitted for is known, calculating the  
mid point for sampling is not difficult, that is every 16  
baud clocks after the mid point sample of the start bit.  
Figure 75 shows the sampling points of the first couple  
of bits in a serial character.  
The UART Line Control Register (UART_LCR_REG) is  
used to control the serial character characteristics. The  
individual bits of the data word are sent after the start  
bit, starting with the least-significant bit (LSB). These  
are followed by the optional parity bit, followed by the  
stop bit(s), which can be 1, 1.5 or 2.  
All the bits in the transmission (with exception to the  
half stop bit when 1.5 stop bits are used) are transmit-  
Figure 75: Receiver Serial Data Sample Points  
As part of the 16550 standard an optional baud clock  
reference output signal (baudout_n) is supplied to pro-  
vide timing information to receiving devices that require  
it. The baud rate of the UART is controlled by the serial  
clock (sclk or pclk in a single clock implementation) and  
the Divisor Latch Register (DLH and DLL). The availa-  
ble baud rates are presented in the following table:  
Table 44: Baud rate generation  
Baud Rate  
9600  
Divider  
104.166  
52.083  
26.041  
17.361  
8.680  
4.340  
1.230  
1
DLH/DLL Reg  
UART_DLF Reg  
Error %  
0.01  
0.04  
0.07  
0.07  
0.07  
0.64  
1.53  
0
104  
52  
26  
17  
8
3
1
19200  
38400  
1
57600  
6
115200  
230400  
812500  
1000000  
11  
5
4
1
4
1
0
23.2 IRDA 1.0 SIR PROTOCOL  
The Infrared Data Association (IrDA) 1.0 Serial Infrared  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
114 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
(SIR) mode supports bi-directional data communica-  
tions with remote devices using infrared radiation as  
the transmission medium. IrDA 1.0 SIR mode specifies  
a maximum baud rate of 115.2 kBaud.  
(MCR) bit 6. When the UART is not configured to sup-  
port IrDA SIR mode, none of the logic is implemented  
and the mode cannot be activated, reducing total gate  
counts. When SIR mode is enabled and active, serial  
data is transmitted and received on the sir_out_n and  
sir_in ports, respectively.  
Note 4: Attention. Information provided on IrDA SIR mode in this  
section assumes that the reader is fully familiar with the IrDA  
Serial Infrared Physical Layer Specifications. This specifica-  
tion can be obtained from the following website:  
http://www.irda.org  
Transmitting a single infrared pulse signals a logic  
zero, while a logic one is represented by not sending a  
pulse. The width of each pulse is 3/16ths of a normal  
serial bit time. Thus, each new character begins with  
an infrared pulse for the start bit. However, received  
data is inverted from transmitted data due to the infra-  
red pulses energizing the photo transistor base of the  
IrDA receiver, pulling its output low. This inverted tran-  
sistor output is then fed to the UART sir_in port, which  
then has correct UART polarity. Figure 76 shows the  
timing diagram for the IrDA SIR data format in compar-  
ison to the standard serial format.  
The data format is similar to the standard serial (sout  
and sin) data format. Each data character is sent seri-  
ally, beginning with a start bit, followed by 8 data bits,  
and ending with at least one stop bit. Thus, the number  
of data bits that can be sent is fixed. No parity informa-  
tion can be supplied and only one stop bit is used while  
in this mode.  
Trying to adjust the number of data bits sent or enable  
parity with the Line Control Register (LCR) has no  
effect. When the UART is configured to support IrDA  
1.0 SIR it can be enabled with Mode Control Register  
Figure 76: IrDA SIR Data Format  
As detailed in the IrDA 1.0 SIR, the UART can be con-  
figured to support a low-power reception mode. When  
the UART is configured in this mode, the reception of  
SIR pulses of 1.41 microseconds (minimum pulse  
duration) is possible, as well as nominal 3/16 of a nor-  
mal serial bit time. Using this low-power reception  
mode requires programming the Low Power Divisor  
Latch (LPDLL/LPDLH) registers. It should be noted  
that for all sclk frequencies greater than or equal to  
7.37MHz (and obey the requirements of the Low Power  
Divisor Latch registers), pulses of 1.41uS are detecta-  
ble. However there are several values of sclk that do  
not allow the detection of such a narrow pulse and  
these are as follows (Table 45):  
Table 45: Low power Divisor Latch register values  
Min Pulse  
width for  
detection  
Low power Divisor  
Latch register value  
SCLK  
5.33 MHz  
3
1.584 s  
When IrDA SIR mode is enabled, the UART operation  
is similar to when the mode is disabled, with one  
exception; data transfers can only occur in half-duplex  
fashion when IrDA SIR mode is enabled. This is  
because the IrDA SIR physical layer specifies a mini-  
mum of 10ms delay between transmission and recep-  
tion. This 10ms delay must be generated by software.  
Table 45: Low power Divisor Latch register values  
23.3 CLOCK SUPPORT  
The UART has two system clocks (pclk and sclk). Hav-  
ing the second asynchronous serial clock (sclk) imple-  
mented accommodates accurate serial baud rate  
settings, as well as APB bus interface requirements.  
Min Pulse  
width for  
detection  
Low power Divisor  
Latch register value  
SCLK  
1.84 MHz  
3.69 MHz  
1
2
3.77 s  
With the two clock design a synchronization module is  
implemented for synchronization of all control and data  
2.086 s  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
115 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
across the two system clock boundaries.  
The assertion of the UART interrupt (UART_INT)  
occurs whenever one of the several prioritized interrupt  
types are enabled and active. The following interrupt  
types can be enabled with the IER register:  
A serial clock faster than four-times the PCLK does not  
leave enough time for a complete incoming character  
to be received and pushed into the receiver FIFO.  
However, in most cases, the PCLK signal is faster than  
the serial clock and this should never be an issue.  
• Receiver Error  
• Receiver Data Available  
• Character Timeout (in FIFO mode only)  
The serial clock modules must have time to see new  
register values and reset their respective state  
machines. This total time is guaranteed to be no more  
than eight clock cycles of the slower of the two system  
clocks. Therefore, no data should be transmitted or  
received before this maximum time expires, after initial  
configuration.  
• Transmitter Holding Register Empty at/below thresh-  
old (in Programmable THRE interrupt mode)  
When an interrupt occurs the master accesses the  
UART_IIR_REG to determine the source of the inter-  
rupt before dealing with it accordingly. These interrupt  
types are described in more detail in Table 46.  
23.4 INTERRUPTS  
Table 46: UART Interrupt priorities  
Interrupt Id  
Bits [3-0]  
Interrupt Set and Reset Functions  
Interrupt Source  
Priority  
Level  
Interrupt Type  
Interrupt Reset Control  
0001  
0110  
-
None  
Highest  
Receiver Line status  
Overrun/parity/ framing errors or  
break interrupt  
Reading the line status reg-  
ister  
0100  
1
Receiver Data Available Receiver data available (non-  
Reading the receiver buffer  
FIFO mode or FIFOs disabled) or register (non-FIFO mode or  
RCVR FIFO trigger level reached FIFOs disabled) or the FIFO  
(FIFO mode and FIFOs enabled) drops below the trigger level  
(FIFO mode and FIFOs ena-  
bled)  
1100  
0010  
2
3
Character timeout indi- No characters in or out of the  
Reading the receiver buffer  
register  
cation  
RCVR FIFO during the last 4  
character times and there is at  
least 1 character in it during this  
time.  
Transmitter holding reg- Transmitter holding register  
Reading the IIR register (if  
source of interrupt); or, writ-  
ing into THR (FIFOs or  
THRE Mode not selected or  
disabled) or XMIT FIFO  
above threshold (FIFOs and  
THRE Mode selected and  
enabled).  
ister empty  
empty (Prog. THRE Mode disa-  
bled) or XMIT FIFO at or below  
threshold (Prog. THRE Mode  
enabled).  
0000  
0111  
4
Reserved  
Reserved  
Lowest  
-
-
23.5 PROGRAMMABLE THRE INTERRUPT  
The UART can be configured to have a Programmable  
THRE Interrupt mode available to increase system per-  
formance.  
When Programmable THRE Interrupt mode is selected  
it can be enabled via the Interrupt Enable Register  
(IER[7]). When FIFOs and the THRE Mode are imple-  
mented and enabled, THRE Interrupts are active at,  
and below, a programmed transmitter FIFO empty  
threshold level, as opposed to empty, as shown in the  
flowchart in Figure 77.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
116 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 77: Flowchart of Interrupt Generation for Programmable THRE Interrupt Mode  
This threshold level is programmed into FCR[5:4]. The  
available empty thresholds are: empty, 2, ¼ and ½.  
See UART_FCR_REG for threshold setting details.  
Selection of the best threshold value depends on the  
system's ability to begin a new transmission sequence  
in a timely manner. However, one of these thresholds  
should prove optimum in increasing system perfor-  
mance by preventing the transmitter FIFO from running  
empty.  
occurs and there is data to transmit”, instead of waiting  
until the FIFO is completely empty. Waiting until the  
FIFO is empty causes a performance hit whenever the  
system is too busy to respond immediately.  
Even if everything else is selected and enabled, if the  
FIFOs are disabled via FCR[0], the Programmable  
THRE Interrupt mode is also disabled. When not  
selected or disabled, THRE interrupts and LSR[5] func-  
tion normally (both reflecting an empty THR or FIFO).  
The flowchart of THRE interrupt generation when not in  
programmable THRE interrupt mode is shown in Fig-  
ure 78.  
In addition to the interrupt change, Line Status Register  
(LSR[5]) also switches function from indicating trans-  
mitter FIFO empty, to FIFO full. This allows software to  
fill the FIFO each transmit sequence by polling LSR[5]  
before writing another character. The flow then  
becomes, “fill transmitter FIFO whenever an interrupt  
Figure 78: Flowchart of Interrupt generation when not in Programmable THRE Interrupt Mode  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
117 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
23.6 SHADOW REGISTERS  
The shadow registers shadow some of the existing  
register bits that are regularly modified by software.  
These can be used to reduce the software overhead  
that is introduced by having to perform read-modify  
writes.  
• UART_SRBR_REG support a host burst mode  
where the host increments it address but still  
accesses the same Receive buffer register  
• UART_STHR support a host burst mode where the  
host increments it address but still accesses the  
same transmit holding register.  
• UART_SFE_REG accesses the FCR[0] register  
without accessing the other UART_FCR_REG bits.  
• UART_SRT_REG accesses the FCR[7-6] register  
without accessing the other UART_FCR_REG bits.  
• UART_STER_REG accesses the FCR[5-4] register  
without accessing the other UART_FCR_REG bits.  
23.7 DIRECT TEST MODE  
The on-chip UARTS can be used for the Direct Test  
Mode required for the final product PHY layer testing. It  
can be done either over the HCI layer, which engages  
a full CTS/RTS UART or using a 2-wire UART directly  
as described in the Bluetooth Low Energy Specification  
(Volume 6, Part F).  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
118 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Clock speeds upto 48 MHz for the SPI controller.  
Programmable output frequencies of SPI interface  
clock divided by 2, 4, 8 and 14  
24 SPI+ Interface  
This interface supports a subset of the Serial Periph-  
eral Interface SPITM. The serial interface can transmit  
and receive 8, 16 or 32 bits in master/slave mode and  
transmit 9 bits in master mode. The SPI + interface has  
enhanced functionality with bidirectional 2x16-bit word  
FIFOs. Two SPI+ controllers are instantiated in the sys-  
tem i.e. SPI and SPI2.  
• SPI mode 0, 1, 2, 3 support. (clock edge and phase)  
• Programmable SPI_DO idle level  
• Maskable Interrupt generation  
• Bus load reduction by unidirectional writes-only and  
reads-only modes.  
SPI™ is a trademark of Motorola, Inc.  
Features  
• Built-in RX/TX FIFOs for continuous SPI bursts.  
• DMA support  
• Slave and Master mode  
• 8-bit, 9-bit, 16-bit or 32-bit operation  
SPI_INT  
DMA_TX_REQ  
DMA_RX_REQ  
SPI_MINT  
APB bus  
TX-FIFO  
Request &  
Interrupt  
Selection  
tx_req  
SPIx_TX_REG0  
SPIx_TX_REG1  
clear_tx_req  
SPI_SMn  
SPI_FORCE_DO  
SPI_DO  
SPI clock  
SPI_ON  
IO buffer  
SPI_RST  
SPI_9BIT_VAL  
SPI_CLK  
RX-FIFO  
SPIx_RX_REG0  
rx_req  
SPI_PHA SPI_POL  
clear_rx_req  
SPIx_RX_REG1  
SPI_EN_CTRL  
APB bus  
Port x  
Px_MODE_REG[]  
SPIx_DI  
SPIx_CLK  
SPI_EN  
SPIx_DO  
Figure 79: SPI block diagram  
24.1 OPERATION WITHOUT FIFOS  
to be transmitted on SPIx_DO. Simultaneously, data is  
received on SPIx_DI and shifted into the IO buffer. The  
transfer cycle finishes after the 8th/9th/16th/32nd clock  
cycle and SPI_INT_BIT bit is set in the  
SPIx_CTRL_REG and SPI_INT_PEND bit in  
(RE)SET_INT_PENDING_REG is set. The received  
bits in the IO buffer are copied to the  
SPIx_RX_TX_REG0 (and SPIx_RX_TX_REG1 in case  
of 32 bits mode) were they can be read by the CPU.  
This mode is the default mode.  
Master mode  
To enable SPITM operation, first the individual port sig-  
nal must be enabled. Next the SPI must be configured  
in SPI_CTRL_REG, for the desired mode. Finally bit  
SPI_ON must be set to 1.  
A
SPI transfer cycle starts after writing to the  
Interrupts to the CPU can be disabled using the  
SPI_MINT bit. To clear the SPI interrupt source, any  
value to SPIx_CLEAR_INT_REG must be written. Note  
however that SPI_INT will be set as long as the RX-  
FIFO contains unread data.  
SPIx_RX_TX_REG0. In case of 32 bits mode, the  
SPIx_RX_TX_REG1 must be written first. Writing to  
SPIx_RX_TX_REG0 also sets the SPI_TXH. As soon  
as the holding register is copied to the IO buffer, the  
SPI_TXH is reset and a serial transfer cycle of 8/9/16/  
32 clock-cycles is started which causes 8/9/16/32 bits  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
119 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Slave mode  
The slave mode is selected with SPI_SMn set to 1 and  
the Px_MODE_REG must also select SPIx_CLK as  
input. The functionality of the IO buffer in slave and  
master mode is identical. The SPI module clocks data  
in on SPIx_DI and out on SPIx_DO on every active  
edge of SPIx_CLK. As shown in Figure 80, Figure 81,  
Figure 82, and Figure 83, SPI1 has an active low clock  
enable SPI1_EN which can be enabled with bit  
SPI_EN_CTRL=1.  
Reads only mode  
In “reads only” mode (SPI_FIFO_MODE = “01“) only  
the RX-FIFO is used. Transfers will start immediately  
when the SPI is turned on in this mode. In transmit  
direction the SPI_DO pin will transmit the IO buffer  
contents being the actual value of the SPIx_TX_REGx  
(all 0’s after reset). This means that no dummy writes  
are needed for reads only transfers.  
In slave mode transfers only take place if the external  
master initiates them, but in master mode this means  
that transfers will continue until the RX-FIFO is full. If  
this happens SPIx_CTRL_REG1[SPI_BUSY] will  
become ‘0’. If exactly N words need to be read from  
SPI device, first read (N - fifosize+1) words. Then wait  
In slave mode the internal SPI clock must be more than  
four times the SPIx_CLK  
In slave mode the SPI_EN serves as a clock enable  
and bit synchronization If enabled with bit  
SPI_EN_CTRL. As soon as SPI_EN is deactivated  
between the MSB and LSB bits, the I/O buffer is reset.  
until  
the  
SPI_BUSY  
becomes  
‘0’,  
set  
SPI_FIFO_MODE to “00” and finally read the remain-  
ing (fifosize +1) words. Here fifosize is 4/2/1 words for  
8/16/32 bits mode respectively.  
SPI_POL and SPI_PHA  
The phase and polarity of the serial clock can be  
changed with bits SPI_POL and SPI_PHA in the  
SPIx_CTRL_REG.  
If this is not done, more data will be read from the SPI  
device until the FIFO is completely filled, or the SPI is  
turned off.  
SPI_DO idle levels  
The idle level of signal SPI_DO depends on the master  
or slave mode and polarity and phase mode of the  
clock.  
For DMA operation only DMA0 must be configured.  
Manual transfers are not needed, as the SPI will start  
transferring immediately when turning on this mode.  
In master mode pin SPIx_DO gets the value of bit  
SPI_DO if the SPI is idle in all modes. Also if slave in  
SPI modes 0 and 2, SPI_DO is the initial and final idle  
level.  
Bidirectional transfers with FIFO  
If SPI_FIFO_MODE is “00“, both registers are used as  
a FIFO. SPI_TXH indicates that TX-FIFO is full,  
SPI_INT indicates that there is data in the RX-FIFO.  
In SPI modes 1 and 3 however there is no clock edge  
after the sampled lsb and pin SPIx_DO gets the lsb  
value of the IO buffer. If required, the SPIx_DO can be  
forced to the SPI_DO bit level by resetting the SPI to  
the idle state by shortly setting bit SPI_RST to 1.  
(Optionally SPI_FORCE_DO can be set, but this does  
not reset the IO buffer). The following diagrams show  
DMA operation is recommended using both DMA0 and  
DMA1. No manual transfers are required because the  
requests will trigger the DMA automatically.  
24.2 9 BITS MODE  
The 9 bits mode can be used to support 9 bits displays  
and is be selected with SPIx_CTRL_REG[SPI_WORD]  
set to ‘11’. The value of the 9th bit, set in the  
SPIx_CTRL_REG1[SPI_9BIT_VAL] and is used to  
determine if the next 8 bits form a command word or  
data word. Because the 9th bit is not part of the data,  
the FIFO’s are still used in the 8 bits mode. The 9th bit  
is received but not saved because it is shifted out of the  
8 bits shift register upon reception.  
the timing of the SPITM interface.  
Writes only mode  
In “writes only” mode (SPI_FIFO_MODE = “10“) only  
the TX-FIFO is used. Received data will be copied to  
the SPIx_RX_TX_REGx, but if a new SPI transfer is  
finished before the old data is read from the memory,  
this register will be overwritten.  
The 9 bits command should entered by writing to the  
SPIx_RX_TX_REG0, while the larger amount of data  
words can best be handled by the DMA controller  
SPI_9BIT_VAL is set to “data mode”. To send a new  
command word at the end, the DMA (and SPI) must be  
stopped and the SPI_9BIT_VAL shall be set to “com-  
mand mode” again.  
SPI_INT acts as a tx_request signal, indicating that  
there is still place in the FIFO. It will be ‘0’ when the  
FIFO is full or else ‘1’ when it’s not full. This is also indi-  
cated in the SPIx_CTRL_REG[SPI_TXH], which is ‘1’ if  
the TX-FIFO is full. Writing to the FIFO if this bit is still  
1, will result in transmission of undefined data. If all  
data has been transferred, SPIx_CTRL_REG1  
[SPI_BUSY] will become ‘0’.  
For DMA operation only DMA1 must be configured.  
Starting transfers by manually writing to the  
SPIx_TX_REGx shall not be done because  
DMA_tx_req is already ‘1’ when this mode is activated.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
120 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
SPI_CLK  
SPI_DO (Master)  
SPI_DO 1 (Slave)  
SPI_DO 2 (Slave)  
SPI_DI  
SPI_DO  
SPI_DO  
MSB  
LSB  
LSB  
LSB  
LSB  
SPI_DO  
SPI_DO  
SPI_DO  
MSB  
^ write to SPIx_RX_TX_REG0  
MSB  
^ write to SPIx_RX_TX_REG0  
MSB  
SPI_EN (Slave)  
Figure 80: SPI Master/slave, mode 0: SPI_POL=0 and SPI_PHA=0  
Note 5: If 9 bits SPI mode, the MSB bit in transmit direction is determined by bit SPIx_CTRL_REG[SPI_9BIT_VAL]. In receive direction, the MSB is  
received but not stored.  
SPI_CLK  
SPI_DO (Master)  
SPI_DO (Slave)  
SPI_DI  
SPI_DO  
MSB  
MSB  
LSB  
LSB  
SPI_DO  
SPI_DO  
LSB  
^ write to SPIx_RX_TX_REG0  
MSB  
SPI_EN (Slave)  
Figure 81: SPI Master/Slave, mode 1: SPI_POL=0 and SPI_PHA=1  
For the MSB bit refer to Note 5.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
121 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
SPI_CLK  
SPI_DO (Master)  
SPI_DO 1 (Slave)  
SPI_DO 2 (Slave)  
SPI_DI  
SPI_DO  
SPI_DO  
MSB  
LSB  
LSB  
LSB  
LSB  
SPI_DO  
SPI_DO  
SPI_DO  
MSB  
^ write to SPIx_RX_TX_REG0  
MSB  
^ write to SPIx_RX_TX_REG0  
MSB  
SPI_EN (Slave)  
Figure 82: SPI Master/Slave, mode 2: SPI_POL=1 and SPI_PHA=0  
For the MSB bit refer to Note 5.  
SPI_CLK  
SPI_DO (Master)  
SPI_DO (Slave)  
SPI_DI  
SPI_DO  
MSB  
MSB  
LSB  
LSB  
SPI_DO  
SPI_DO  
LSB  
^ write to SPIx_RX_TX_REG0  
MSB  
SPI_EN (Slave)  
Figure 83: SPI Master/slave, mode 3: SPI_POL=1 and SPI_PHA=1  
For the MSB bit refer to Note 5.  
24.3 TIMING  
The timing of the SPI interface when SPI controller is in  
slave mode is presented in Figure 84:  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
122 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 84: SPI slave mode timing (CPOL=0, CPHA=0)  
Note that Tint represents the internal SPI clock period  
and is equal to 1.5*spi_clk period.  
Table 47: SPI timing parameters  
PARAMETER  
DESCRIPTION  
CONDITIONS  
MIN  
TYP  
MAX  
UNITS  
tCLKPER  
spi_clk clock period  
VBAT=3V,  
DCDC=On  
0.25*spi_ 0.25*spi_ 0.25*spi_  
MHz  
clk  
clk  
clk  
tCSST  
CS active before spi_clk rising  
edge  
8.9+Tint  
4.5+Tint  
2.8+Tint  
ns  
tCSHOLD  
CS stays active after falling  
edge of spi_clk  
0
0
0
ns  
tMOST  
Input data latching setup time  
input data hold time  
9.3  
0
4.6  
0
2.8  
0
ns  
ns  
ns  
tMOHOLD  
tSODEL  
Output data hold time  
30  
14.3  
8.7  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
123 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• 4 deep transmit/receive 9-bit wide FIFOs  
25 I2C  
• Master transmit, Master receive operation  
• 7 or 10-bit addressing  
The I2C is a programmable control bus that provides  
support for the communications link between Inte-  
grated Circuits in a system. It is a simple two-wire bus  
with a software-defined protocol for system control,  
which is used in temperature sensors and voltage level  
translators to EEPROMs, general-purpose I/O, A/D  
and D/A converters.  
• 7 or 10-bit combined format transfers  
• Bulk transmit mode  
• Default slave address of 0x055  
• Control of stop bit condition and restart  
• Interrupt or polled-mode operation  
Two I2C controllers are instantiated in the system,  
namely I2C and I2C2.  
Features  
• Handles Bit and Byte waiting at both bus speeds  
• Programmable SDA hold time  
• DMA request signals  
• Two-wire I2C serial interface consists of a serial data  
line (SDA) and a serial clock (SCL)  
• Standard and Fast mode support (up to 400 kb/s)  
• Clock synchronization  
I2 C  
Slave State  
M ac h in e  
A M BA B u s  
Re giste r File  
In te rfac e U n it  
M aste r State  
M ac h in e  
C lo c k  
G e n e rato r  
R x Sh ift  
Tx Sh ift  
Rx Filte r  
In te r ru p t  
C o n tro lle r  
To ggle  
Syn c h ro n ize r  
R X FIFO  
TX FIFO  
Figure 85: I2C Block diagram  
The I2C controller block diagram is shown in Figure 85.  
It contains the following sub blocks:  
Tx Shift. Presents data supplied by CPU for transfer on  
the I2C bus.  
• AMBA Bus Interface Unit.  
Interfacing the APB interface to access the register  
file  
Rx Filter. Detects the events in the bus; for example,  
start, stop and arbitration lost.  
Toggle. Generates pulses on both sides and toggles to  
transfer signals across clock domains.  
• Register File. Contains configuration registers and is  
the interface with software.  
Synchronizer. Transfers signals from one clock domain  
to another.  
• Master State Machine. Generates the I2C protocol  
for the master transfers.  
Interrupt Controller. Generates the raw interrupt and  
interrupt flags, allowing them to be set and cleared.  
• Clock Generator. Calculates the required timing to  
do the following:  
RX FIFO/TX. Holds the RX FIFO and TX FIFO register  
banks and controllers, along with their status levels.  
• Generate the SCL clock when configured as a  
master  
25.1 I2C BUS TERMS  
• Check for bus idle  
The following terms relate to how the role of the I2C  
device is and how it interacts with other I2C devices on  
the bus.  
• Generate a START and a STOP  
• Setup the data and hold the data  
• Transmitter. the device that sends data to the bus. A  
transmitter can either be a device that initiates the  
Rx Shift. Takes data into the design and extracts it in  
byte format.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
124 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
data transmission to the bus (a master-transmitter)  
or responds to a request from the master to send  
data to the bus (a slave-transmitter).  
• START (RESTART). data transfer begins with a  
START or RESTART condition. The level of the SDA  
data line changes from high to low, while the SCL  
clock line remains high. When this occurs, the bus  
becomes busy.  
• Receiver. The device that receives data from the  
bus. A receiver can either be a device that receives  
data on its own request (a master-receiver) or in  
response to a request from the master (a slave-  
receiver).  
• STOP. data transfer is terminated by a STOP condi-  
tion. This occurs when the level on the SDA data line  
passes from the low state to the high state, while the  
SCL clock line remains high. When the data transfer  
has been terminated, the bus is free or idle once  
again. The bus stays busy if a RESTART is gener-  
ated instead of a STOP condition.  
• Master. The component that initializes a transfer  
(START command), generates the clock (SCL) sig-  
nal and terminates the transfer (STOP command). A  
master can be either a transmitter or a receiver.  
Note 6: START and RESTART conditions are functionally identical.  
• Slave. The device addressed by the master. A slave  
can be either receiver or transmitter.  
25.2 I2C BEHAVIOUR  
These concepts are illustrated in Figure 86:  
The I2C can be only be controlled via software to be an  
I2C master only, communicating with other I2C slaves;  
The master is responsible for generating the clock and  
controlling the transfer of data. The slave is responsible  
for either transmitting or receiving data to/from the  
master. The acknowledgement of data is sent by the  
device that is receiving data, which can be either a  
master or a slave. As mentioned previously, the I2C  
protocol also allows multiple masters to reside on the  
I2C bus and uses an arbitration procedure to deter-  
mine bus ownership.  
Each slave has a unique address that is determined by  
the system designer. When a master wants to commu-  
nicate with a slave, the master transmits a START/  
RESTART condition that is then followed by the slave’s  
address and a control bit (R/W) to determine if the  
master wants to transmit data or receive data from the  
slave. The slave then sends an acknowledge (ACK)  
pulse after the address.  
Figure 86: Master/Slave and Transmitter/Receiver  
Relationships  
• Multi-master. The ability for more than one master to  
co-exist on the bus at the same time without collision  
or data loss.  
• Arbitration. The predefined procedure that author-  
izes only one master at a time to take control of the  
bus. For more information about this behaviour, refer  
to Multiple Master Arbitration chapter  
If the master (master-transmitter) is writing to the slave  
(slave-receiver), the receiver gets one byte of data.  
This transaction continues until the master terminates  
the transmission with a STOP condition. If the master  
is reading from a slave (master-receiver), the slave  
transmits (slave-transmitter) a byte of data to the mas-  
ter, and the master then acknowledges the transaction  
with the ACK pulse. This transaction continues until the  
master terminates the transmission by not acknowl-  
edging (NACK) the transaction after the last byte is  
received, and then the master issues a STOP condition  
or addresses another slave after issuing a RESTART  
condition. This behaviour is illustrated in Figure 87.  
• Synchronization. The predefined procedure that syn-  
chronizes the clock signals provided by two or more  
masters. For more information about this feature,  
refer to Clock Synchronization chapter  
• SDA. Data signal line (Serial DAta)  
• SCL. Clock signal line (Serial CLock)  
25.1.1 Bus Transfer Terms  
The following terms are specific to data transfers that  
occur to/from the I2C bus.  
Figure 87: Data transfer on the I2C Bus  
Revision 3.4  
Datasheet  
24-Nov-2020  
CFR0011-120-01  
125 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
transfers,  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
The I2C is a synchronous serial interface. The SDA  
line is a bidirectional signal and changes only while the  
SCL line is low, except for STOP, START, and  
RESTART conditions. The output drivers are open-  
drain or open-collector to perform wire-AND functions  
on the bus. The maximum number of devices on the  
bus is limited by only the maximum capacitance speci-  
fication of 400 pF. Data is transmitted in byte packages.  
To  
initiate  
combined  
format  
I2C_CON.I2C_RESTART_EN should be set to 1. With  
this value set and operating as a master, when the I2C  
controller completes an I2C transfer, it checks the  
transmit FIFO and executes the next transfer. If the  
direction of this transfer differs from the previous trans-  
fer, the combined format is used to issue the transfer. If  
the transmit FIFO is empty when the current I2C trans-  
fer completes, a STOP is issued and the next transfer  
is issued following a START condition.  
25.2.1 START and STOP Generation  
When operating as an I2C master, putting data into the  
transmit FIFO causes the I2C controller to generate a  
START condition on the I2C bus. Allowing the transmit  
FIFO to empty causes the I2C controller to generate a  
STOP condition on the I2C bus.  
25.3 I2C PROTOCOLS  
The I2C controller has the following protocols:  
• START and STOP Conditions  
• Addressing Slave Protocol  
When operating as a slave, the I2C controller does not  
generate START and STOP conditions, as per the pro-  
tocol. However, if a read request is made to the I2C  
controller, it holds the SCL line low until read data has  
been supplied to it. This stalls the I2C bus until read  
data is provided to the slave I2C controller, or the I2C  
• Transmitting and Receiving Protocol  
• START BYTE Transfer Protocol  
25.3.1 START and STOP Conditions  
When the bus is idle, both the SCL and SDA signals  
are pulled high through external pull-up resistors on the  
bus. When the master wants to start a transmission on  
the bus, the master issues a START condition. This is  
defined to be a high-to-low transition of the SDA signal  
while SCL is 1. When the master wants to terminate  
the transmission, the master issues a STOP condition.  
This is defined to be a low-to-high transition of the SDA  
line while SCL is 1. Figure 88 shows the timing of the  
START and STOP conditions. When data is being  
transmitted on the bus, the SDA line must be stable  
when SCL is 1.  
controller slave is disabled by writing  
I2C_ENABLE.  
a 0 to  
25.2.2 Combined Formats  
The I2C controller supports mixed read and write com-  
bined format transactions in both 7-bit and 10-bit  
addressing modes.  
The I2C controller does not support mixed address and  
mixed address format.that is, a 7-bit address transac-  
tion followed by a 10-bit address transaction or vice  
versa.combined format transactions.  
Figure 88: START and STOP Conditions  
Note 7: The signal transitions for the START/STOP conditions, as depicted in Figure 87, reflect those observed at the output signals of the Master  
driving the I2C bus. Care should be taken when observing the SDA/SCL signals at the input signals of the Slave(s), because unequal line  
delays may result in an incorrect SDA/SCL timing relationship.  
25.3.2 Addressing Slave Protocol  
There are two address formats: the 7-bit address for-  
mat and the 10-bit address format.  
7-bit Address Format  
In the 7-bit address format, the first seven bits (bits 7:1)  
of the first byte set by the slave address and the LSB  
bit (bit 0) is the R/W bit as shown in Figure 89. When  
bit 0 (R/W) is set to 0, the master writes to the slave.  
When bit 0 (R/W) is set to 1, the master reads from the  
slave.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
126 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 89: 7-bit Address Format  
10-bit Address Format  
slaves address bits 9:8, and the LSB bit (bit 0) is the R/  
W bit. The second byte transferred sets bits 7:0 of the  
slave address. Figure 90 shows the 10-bit address for-  
mat, and Table 48 defines the special purpose and  
reserved first byte addresses.  
During 10-bit addressing, two bytes are transferred to  
set the 10-bit address. The transfer of the first byte  
contains the following bit definition. The first five bits  
(bits 7:3) notify the slaves that this is a 10-bit transfer  
followed by the next two bits (bits 2:1), which set the  
Figure 90: 10-bit Address Format  
Table 48: I2C Definition of Bits in First Byte  
Slave address  
R/W Bits  
Description  
0000 000  
0
General Call Address. I2C controller places the data in the receive buffer and  
issues a  
General Call interrupt.  
0000 000  
0000 001  
0000 010  
0000 011  
0000 1XX  
1
START byte. For more details, refer to “START BYTE Transfer Protocol” 0000  
X
X
X
X
CBUS address. I2C controller ignores these accesses  
Reserved  
Reserved  
High-speed master code (for more information, refer to “Multiple Master Arbitra-  
tion”  
1111 1XX  
1111 0XX  
X
X
Reserved  
10-bit slave addressing  
I2C controller does not restrict you from using these  
reserved addresses. However, if you use these  
reserved addresses, you may run into incompatibilities  
with other I2C components.  
from the master to either transmit data or receive data  
to/from the bus, acting as either a slave-transmitter or  
slave-receiver, respectively.  
Master-Transmitter and Slave-Receiver  
25.3.3 Transmitting and Receiving Protocol  
All data is transmitted in byte format, with no limit on  
the number of bytes transferred per data transfer. After  
the master sends the address and R/W bit or the mas-  
ter transmits a byte of data to the slave, the slave-  
receiver must respond with the acknowledge signal  
The master can initiate data transmission and recep-  
tion to/from the bus, acting as either a master-transmit-  
ter or master-receiver. A slave responds to requests  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
127 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
(ACK). When a slave-receiver does not respond with  
an ACK pulse, the master aborts the transfer by issuing  
a STOP condition. The slave must leave the SDA line  
high so that the master can abort the transfer.  
If the master-transmitter is transmitting data as shown  
in Figure 91, then the slave-receiver responds to the  
master-transmitter with an acknowledge pulse after  
every byte of data is received.  
Figure 91: Master-Transmitter Protocol  
Master-Receiver and Slave-Transmitter  
RESTART condition. This is identical to a START con-  
dition except it occurs after the ACK pulse. The master  
can then communicate with the same slave or a differ-  
ent slave.  
If the master is receiving data as shown in Figure 92  
then the master responds to the slave-transmitter with  
an acknowledge pulse after a byte of data has been  
received, except for the last byte. This is the way the  
master-receiver notifies the slave-transmitter that this  
is the last byte. The slave-transmitter relinquishes the  
SDA line after detecting the No Acknowledge (NACK)  
so that the master can issue a STOP condition.  
Note that, even if the TX FIFO is empty, there will be no  
STOP condition generated unless the last byte was  
tagged with a “stop” command, as illustrated in  
I2C_DATA_CMD[STOP] register field. This feature pro-  
vides complete control to the software as per when the  
transmit transaction will be completed.  
When a master does not want to relinquish the bus  
with a STOP condition, the master can issue a  
Figure 92: Master-Receiver Protocol  
START BYTE Transfer Protocol  
fers at the beginning of every transfer in case a slave  
device requires it. This protocol consists of seven zeros  
being transmitted followed by a 1, as illustrated in Fig-  
ure 93. This allows the processor that is polling the bus  
to under-sample the address phase until 0 is detected.  
Once the microcontroller detects a 0, it switches from  
the under sampling rate to the correct rate of the mas-  
ter.  
The START BYTE transfer protocol is set up for sys-  
tems that do not have an on-board dedicated I2C hard-  
ware module. When the I2C controller is addressed as  
a slave, it always samples the I2C bus at the highest  
speed supported so that it never requires a START  
BYTE transfer. However, when I2C controller is a mas-  
ter, it supports the generation of START BYTE trans-  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
128 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 93: START BYTE Transfer  
The START BYTE procedure is as follows:  
1. Master generates a START condition.  
2. Master transmits the START byte (0000 0001).  
Arbitration is not allowed between the following condi-  
tions:  
• A RESTART condition and a data bit  
• A STOP condition and a data bit  
• A RESTART condition and a STOP condition  
Slaves are not involved in the arbitration process.  
3. Master transmits the ACK clock pulse. (Present  
only to conform with the byte handling format  
used on the bus)  
4. No slave sets the ACK signal to 0.  
5. Master generates a RESTART (R) condition.  
A hardware receiver does not respond to the START  
BYTE because it is a reserved address and resets after  
the RESTART condition is generated.  
25.4 MULTIPLE MASTER ARBITRATION  
The I2C controller bus protocol allows multiple masters  
to reside on the same bus. If there are two masters on  
the same I2C-bus, there is an arbitration procedure if  
both try to take control of the bus at the same time by  
generating a START condition at the same time. Once  
a master (for example, a microcontroller) has control of  
the bus, no other master can take control until the first  
master sends a STOP condition and places the bus in  
an idle state.  
Arbitration takes place on the SDA line, while the SCL  
line is 1. The master, which transmits a 1 while the  
other master transmits 0, loses arbitration and turns off  
its data output stage. The master that lost arbitration  
can continue to generate clocks until the end of the  
byte transfer. If both masters are addressing the same  
slave device, the arbitration could go into the data  
phase. Figure 94 illustrates the timing of when two  
masters are arbitrating on the bus.  
For high-speed mode, the arbitration cannot go into the  
data phase because each master is programmed with  
a unique high-speed master code. This 8-bitcode is  
defined by the system designer and is set by writing to  
the High Speed Master Mode Code Address Register,  
I2C_HS_MADDR. Because the codes are unique, only  
one master can win arbitration, which occurs by the  
end of the transmission of the high-speed master code.  
Control of the bus is determined by address or master  
code and data sent by competing masters, so there is  
no central master nor any order of priority on the bus.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
129 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 94: Multiple Master Arbitration  
25.5 CLOCK SYNCHRONIZATION  
goes into a HIGH wait state until the SCL clock line  
transitions to 1.  
When two or more masters try to transfer information  
on the bus at the same time, they must arbitrate and  
synchronize the SCL clock. All masters generate their  
own clock to transfer messages. Data is valid only dur-  
ing the high period of SCL clock. Clock synchronization  
is performed using the wired-AND connection to the  
SCL signal. When the master transitions the SCL clock  
to 0, the master starts counting the low time of the SCL  
clock and transitions the SCL clock signal to 1 at the  
beginning of the next clock period. However, if another  
master is holding the SCL line to 0, then the master  
All masters then count off their high time, and the mas-  
ter with the shortest high time transitions the SCL line  
to 0. The masters then counts out their low time and  
the one with the longest low time forces the other mas-  
ter into a HIGH wait state. Therefore, a synchronized  
SCL clock is generated, which is illustrated in Figure  
95. Optionally, slaves may hold the SCL line low to  
slow down the timing on the I2C bus.  
Figure 95: Multiple Master Clock synchronization.  
25.6 OPERATION MODES  
• Slave Mode Operation  
• Master Mode Operation  
• Disabling I2C controller  
This section provides information on the following top-  
ics:  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
130 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Note 8: It is important to note that the I2C controller should only be  
SCL line low. It is in a wait state until software  
responds. If the RD_REQ interrupt has been masked,  
set to operate as an I2C Master, or I2C Slave, but not both  
simultaneously. This is achieved by ensuring that bit 6  
(I2C_SLAVE_DISABLE) and 0 (I2C_MASTER_MODE) of  
the I2C_CON register are never set to 0 and 1, respectively.  
due to I2C_INTR_MASK[5] register (M_RD_REQ bit  
field) being set to 0, then it is recommended that a  
hardware and/or software timing routine be used to  
instruct the CPU to perform periodic reads of the  
I2C_RAW_INTR_STAT register.  
25.6.1 Slave Mode Operation  
This section includes the following procedures:  
• Initial Configuration  
a. Reads that indicate I2C_RAW_INTR_STAT[5]  
(R_RD_REQ bit field) being set to 1 must be treated  
as the equivalent of the RD_REQ interrupt being  
asserted.  
• Slave-Transmitter Operation for a Single Byte  
• Slave-Receiver Operation for a Single Byte  
• Slave-Transfer Operation For Bulk Transfers  
b. Software must then act to satisfy the I2C transfer.  
c. The timing interval used should be in the order of  
10 times the fastest SCL clock period the I2C con-  
troller can handle. For example, for 400 kb/s, the  
timing interval is 25us.  
Initial Configuration  
To use the I2C controller as a slave, perform the follow-  
ing steps:  
Note 11: The value of 10 is recommended here because this is  
approximately the amount of time required for a single byte  
of data transferred on the I2C bus.  
1. Disable the I2C controller by writing a ‘0’ to bit 0 of  
the I2C_ENABLE register.  
4. If there is any data remaining in the TX FIFO before  
receiving the read request, then the I2C controller  
2. Write to the I2C_SAR register (bits 9:0) to set the  
slave address. This is the address to which the I2C  
controller responds.  
asserts  
a
TX_ABRT interrupt (bit  
6
of the  
I2C_RAW_INTR_STAT register) to flush the old data  
from the TX FIFO.  
3. Write to the I2C_CON register to specify which type  
of addressing is supported (7- or 10-bit by setting bit 3).  
Enable the I2C controller in slave-only mode by writing  
a ‘0’ into bit 6 (I2C_SLAVE_DISABLE) and a ‘0’ to bit 0  
(MASTER_MODE).  
Note 12: Because the I2C controller’s TX FIFO is forced into a  
flushed/reset state whenever a TX_ABRT event occurs, it is  
necessary for software to release the I2C controller from  
this state by reading the I2C_CLR_TX_ABRT register before  
attempting to write into the TX FIFO. See register  
I2C_RAW_INTR_STAT for more details.  
Note 9: Slaves and masters do not have to be programmed with the  
same type of addressing 7- or 10-bit address. For instance, a  
slave can be programmed with 7-bit addressing and a mas-  
ter with 10-bit addressing, and vice versa.  
If the TX_ABRT interrupt has been masked, due to of  
I2C_INTR_MASK[6] register (M_TX_ABRT bit field)  
being set to 0, then it is recommended that re-using the  
timing routine (described in the previous step), or a  
4. Enable the I2C controller by writing a ‘1’ in bit 0 of  
the I2C_ENABLE register.  
similar  
one,  
be  
used  
to  
read  
the  
Note 10: Depending on the reset values chosen, steps 2 and 3 may  
not be necessary because the reset values can be config-  
ured. For instance, if the device is only going to be a master,  
there would be no need to set the slave address because  
you can configure I2C controller to have the slave disabled  
after reset and to enable the master after reset. The values  
stored are static and do not need to be reprogrammed if the  
I2C_RAW_INTR_STAT register.  
a. Reads that indicate bit 6 (R_TX_ABRT) being set  
to 1 must be treated as the equivalent of the  
TX_ABRT interrupt being asserted.  
b. There is no further action required from software.  
I2C controller is disabled.  
c. The timing interval used should be similar to that  
described in the previous step for the  
Slave-Transmitter Operation for a Single Byte  
I2C_RAW_INTR_STAT[5] register.  
When another I2C master device on the bus addresses  
the I2C controller and requests data, the I2C controller  
acts as a slave-transmitter and the following steps  
occur:  
5. Software writes to the I2C_DATA_CMD register with  
the data to be written (by writing a ‘0’ in bit 8).  
6. Software must clear the RD_REQ and TX_ABRT  
interrupts (bits  
5
and 6, respectively) of the  
1. The other I2C master device initiates an I2C transfer  
with an address that matches the slave address in the  
I2C_SAR register of the I2C controller.  
I2C_RAW_INTR_STAT register before proceeding.  
If the RD_REQ and/or TX_ABRT interrupts have been  
masked, then clearing of the I2C_RAW_INTR_STAT  
register will have already been performed when either  
the R_RD_REQ or R_TX_ABRT bit has been read as  
1.  
2. The I2C controller acknowledges the sent address  
and recognizes the direction of the transfer to indicate  
that it is acting as a slave-transmitter.  
3. The I2C controller asserts the RD_REQ interrupt (bit  
5 of the I2C_RAW_INTR_STAT register) and holds the  
7. The I2C controller releases the SCL and transmits  
the byte.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
131 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
8. The master may hold the I2C bus by issuing a  
RESTART condition or release the bus by issuing a  
STOP condition.  
I2C controller is designed to handle more data in the  
TX FIFO so that subsequent read requests can take  
that data without raising an interrupt to get more data.  
Ultimately, this eliminates the possibility of significant  
latencies being incurred between raising the interrupt  
for data each time had there been a restriction of hav-  
ing only one entry placed in the TX FIFO.  
Slave-Receiver Operation for a Single Byte  
When another I2C master device on the bus addresses  
the I2C controller and is sending data, the I2C control-  
ler acts as a slave-receiver and the following steps  
occur:  
This mode only occurs when I2C controller is acting as  
a slave-transmitter. If the remote master acknowledges  
the data sent by the slave-transmitter and there is no  
data in the slave’s TX FIFO, the I2C controller holds  
the I2C SCL line low while it raises the read request  
interrupt (RD_REQ) and waits for data to be written  
into the TX FIFO before it can be sent to the remote  
master.  
1. The other I2C master device initiates an I2C transfer  
with an address that matches the I2C controller’s slave  
address in the I2C_SAR register.  
2. The I2C controller acknowledges the sent address  
and recognizes the direction of the transfer to indicate  
that the I2C controller is acting as a slave-receiver.  
If the RD_REQ interrupt is masked, due to bit 5  
(M_RD_REQ) of the I2C_INTR_STAT register being  
set to 0, then it is recommended that a timing routine  
be used to activate periodic reads of the  
3. I2C controller receives the transmitted byte and  
places it in the receive buffer.  
Note 13: If the RX FIFO is completely filled with data when a byte is  
I2C_RAW_INTR_STAT  
register.  
Reads  
of  
pushed, then an overflow occurs and the I2C controller  
continues with subsequent I2C transfers. Because a NACK  
is not generated, software must recognize the overflow when  
I2C_RAW_INTR_STAT that return bit 5 (R_RD_REQ)  
set to 1 must be treated as the equivalent of the  
RD_REQ interrupt referred to in this section. This tim-  
ing routine is similar to that described in “Slave-Trans-  
mitter Operation for a Single Byte”  
indicated by the I2C controller (by the R_RX_OVER bit in  
the I2C_INTR_STAT register) and take appropriate actions  
to recover from lost data. Hence, there is a real time con-  
straint on software to service the RX FIFO before the latter  
overflow as there is no way to re-apply pressure to the  
remote transmitting master. You must select a deep enough  
RX FIFO depth to satisfy the interrupt service interval of their  
system.  
The RD_REQ interrupt is raised upon a read request,  
and like interrupts, must be cleared when exiting the  
interrupt service handling routine (ISR). The ISR allows  
you to either write 1 byte or more than 1 byte into the  
TX FIFO. During the transmission of these bytes to the  
master, if the master acknowledges the last byte. then  
the slave must raise the RD_REQ again because the  
master is requesting for more data.  
4. I2C controller asserts the RX_FULL interrupt  
(I2C_RAW_INTR_STAT[2] register).  
If the RX_FULL interrupt has been masked, due to set-  
If the programmer knows in advance that the remote  
master is requesting a packet of n bytes, then when  
another master addresses I2C controller and requests  
data, the TX FIFO could be written with n number bytes  
and the remote master receives it as a continuous  
stream of data. For example, the I2C controller slave  
continues to send data to the remote master as long as  
the remote master is acknowledging the data sent and  
there is data available in the TX FIFO. There is no  
need to hold the SCL line low or to issue RD_REQ  
again.  
ting I2C_INTR_MASK[2] register to  
0 or setting  
I2C_TX_TL to a value larger than 0, then it is recom-  
mended that a timing routine (described in “Slave-  
Transmitter Operation for a Single Byte”) be imple-  
mented for periodic reads of the “I2C_STATUS” on  
page 138 register. Reads of the I2C_STATUS register,  
with bit 3 (RFNE) set at 1, must then be treated by soft-  
ware as the equivalent of the RX_FULL interrupt being  
asserted.  
5. Software may read the byte from the  
I2C_DATA_CMD register (bits 7:0).  
If the remote master is to receive n bytes from the I2C  
controller but the programmer wrote a number of bytes  
larger than n to the TX FIFO, then when the slave fin-  
ishes sending the requested n bytes, it clears the TX  
FIFO and ignores any excess bytes.  
6. The other master device may hold the I2C bus by  
issuing a RESTART condition or release the bus by  
issuing a STOP condition.  
Slave-Transfer Operation For Bulk Transfers  
The the I2C controller generates a transmit abort  
(TX_ABRT) event to indicate the clearing of the TX  
FIFO in this example. At the time an ACK/NACK is  
expected, if a NACK is received, then the remote mas-  
ter has all the data it wants. At this time, a flag is raised  
within the slave’s state machine to clear the leftover  
data in the TX FIFO. This flag is transferred to the pro-  
cessor bus clock domain where the FIFO exists and  
the contents of the TX FIFO is cleared at that time.  
In the standard I2C protocol, all transactions are single  
byte transactions and the programmer responds to a  
remote master read request by writing one byte into the  
slave’s TX FIFO. When a slave (slave-transmitter) is  
issued with a read request (RD_REQ) from the remote  
master (master-receiver), at a minimum there should  
be at least one entry placed into the slave-transmitter’s  
TX FIFO.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
132 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
25.7 MASTER MODE OPERATION  
ware has completely shutdown in response to the  
I2C_ENABLE register being set from 1 to 0. Only one  
register is required to be monitored.  
This section includes the following topics:  
• Initial Configuration  
Procedure:  
• Dynamic I2C_TAR or I2C_10BITADDR_MASTER  
Update  
1. Define a timer interval (ti2c_poll) equal to the 10  
times the signalling period for the highest I2C transfer  
speed used in the system and supported by I2C con-  
troller. For example, if the highest I2C transfer mode is  
400 kb/s, then this ti2c_poll is 25us.  
• Master Transmit and Master Receive  
Initial Configuration  
The procedures are very similar and are only different  
with regard to where the I2C_10BITADDR_MASTER  
bit is set (either bit 4 of I2C_CON register or bit 12 of  
I2C_TAR register).  
2. Define  
a
maximum time-out parameter,  
MAX_T_POLL_COUNT, such that if any repeated poll-  
ing operation exceeds this maximum value, an error is  
reported.  
To use the I2C controller as a master perform the fol-  
lowing steps:  
3. Execute a blocking thread/process/function that pre-  
vents any further I2C master transactions to be started  
by software, but allows any pending transfers to be  
completed.  
1. Disable the I2C controller by writing 0 to the  
I2C_ENABLE register.  
2. Write to the I2C_CON register to set the maximum  
speed mode supported (bits 2:1) and the desired  
speed of the I2C controller master-initiated transfers,  
either 7-bit or 10-bit addressing (bit 4).  
Note 16: This step can be ignored if I2C controller is programmed to  
operate as an I2C slave only.  
4. The variable POLL_COUNT is initialized to zero.  
5. Set I2C_ENABLE to 0.  
Ensure that bit 6 I2C_SLAVE_DISABLE = 1 and bit 0  
MASTER_MODE =1  
6. Read the I2C_ENABLE_STATUS register and test  
the I2C_EN bit (bit 0). Increment POLL_COUNT by  
one. If POLL_COUNT >= MAX_T_POLL_COUNT, exit  
with the relevant error code.  
Note 14: Slaves and masters do not have to be programmed with the  
same type of addressing 7- or 10-bit address. For instance, a  
slave can be programmed with 7-bit addressing and a mas-  
ter with 10-bit addressing, and vice versa.  
7. If I2C_ENABLE_STATUS[0] is 1, then sleep for  
ti2c_poll and proceed to the previous step.  
3. Write to the I2C_TAR register the address of the I2C  
device to be addressed (bits 9:0). This register also  
indicates whether a General Call or a START BYTE  
command is going to be performed by I2C.  
Otherwise, exit with a relevant success code.  
4. Only applicable for high-speed mode transfers. Write  
to the I2C_HS_MADDR register the desired master  
code for the I2C controller. The master code is pro-  
grammer-defined.  
5. Enable the I2C controller by writing a 1 in bit 0 of the  
I2C_ENABLE register.  
6. Now write transfer direction and data to be sent to  
the I2C_DATA_CMD register. If the I2C_DATA_CMD  
register is written before the I2C controller is enabled,  
the data and commands are lost as the buffers are kept  
cleared when I2C controller is disabled.  
This step generates the START condition and the  
address byte on the I2C controller. Once I2C controller  
is enabled and there is data in the TX FIFO, I2C con-  
troller starts reading the data.  
Note 15: Depending on the reset values chosen, steps 2, 3, 4, and 5  
may not be necessary because the reset values can be con-  
figured. The values stored are static and do not need to be  
reprogrammed if the I2C controller is disabled, with the  
exception of the transfer direction and data.  
Disabling I2C controller  
The register I2C_ENABLE_STATUS is added to allow  
software to unambiguously determine when the hard-  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
133 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Supports Pulse width and Pulse Distance encoding  
26 InfraRed Generator  
• Supports Manchester encoding  
The InfraRed generator provides a flexible way of  
transmitting any IR code used in remote controls. It has  
an efficient message queue where users can describe  
the waveform of a specific IR command in just a few  
bytes independently from the protocol. It sits on the 16-  
bit APB bus and receives a separate, up to 16MHz  
clock used for the carrier generation.  
• Supports Time mode (no carrier)  
• Any combination of Mark and Space symbols  
• Code FIFO of 32 16-bit words for encoding com-  
mands  
• Automatic Repeat function, transparent to SW  
• Interrupt generation upon transmit completion  
Features  
• Carrier frequencies from 30 to 60 KHz  
IRgen_clk  
CARRIER GEN  
Carrier  
APB  
Interface  
APB  
Register File  
Frequency  
Generator  
3060KHz  
IR  
Code FIFO  
16bit x 32 depth  
Digital  
Message  
Generator  
From  
Register File  
Message Decoding  
Paint  
Message  
Generator  
Repeat FIFO  
16bit x 8 depth  
INPUT STAGE  
MODULATOR  
OUTPUT STAGE  
Figure 96: InfraRed Generator Block Diagram  
26.1 ARCHITECTURE  
Space) and the symbol duration within a code word  
for HW to be able to understand and proceed  
accordingly to the correct modulation.  
The IR generator is based upon the concept of using  
two different ways of describing data, being able to  
support any IR protocol:  
The composition of a command consists of a number  
of control words which contain information about digital  
or paint messages in an efficient way. A breakdown of  
the well-known IR code NEC command is presented in  
Figure 97 as an example:  
Digital Message: This message represents a logic 1  
or a logic 0 and is clearly described in form of Mark  
and Space duration as well as sequence.  
Paint Message: This message represents a totally  
custom "painted" waveform. The way of efficiently  
describing this, is to encode the symbol type (Mark/  
Paint  
Message  
Tail  
Paint  
Message  
Header  
Digital Messages  
Address/Command  
Figure 97: Paint/Digital messages on a NEC based example  
The encoding of the Paint/Digital messages can be  
implemented according to Table 49 and Table 50:  
Datasheet  
Revision 3.4 24-Nov-2020  
CFR0011-120-01  
134 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Output Stage  
This sub-block can be programmed to invert the output  
optionally  
Table 49: IR Digital Message Encoding  
Bit  
Name  
Description  
26.2 PROGRAMMING  
15  
Message  
Type  
1 = Digital message.  
That means that the  
message information  
itself defines logic 1 or  
logic 0  
Initially the clock of the block has to be enabled by  
asserting the CLK_PER_REG[IR_CLK_ENABLE] bit.  
The carrier ON and OFF time in clock cycles have to  
be programmed at IR_FREQ_CARRIER_Oxx_REGs.  
Following that, the logic one and zero are defined in  
terms of clock cycles high (mark) and clock cycles low  
14:11  
10:0  
Message  
Length  
Number of valid bits  
minus 1. Range 0 to 10  
(zero)  
with  
help  
of  
the  
IR_LOGIC_ONE/  
ZERO_TIME_REGs  
Message  
Payload  
Digital Message consist-  
ing of logic 1s and logic  
0s  
Another important feature that needs to be initialized is  
whether the logic one/zero start with a mark and is fol-  
lowed by a zero, or the other way around. This is  
defined in IR_CTRL_REG[IR_LOGIC_ONE_FORMAT]  
and  
IR_CTRL_REG[IR_LOGIC_ZERO_FORMAT]  
respectively. Finally, the time required for an automated  
retransmit is defined at IR_REPEAT_TIME_REG.  
Table 50: IR Paint Message Encoding  
Bit  
Name  
Description  
Sending commands using a specific protocol is simply  
writing the correct words into the Code FIFO and then  
set IR_CTRL_REG[IR_TX_START] to trigger the trans-  
mission. The actual word values have to comply to the  
encoding schemes as presented in Table 49 and Table  
50.  
15  
Message  
Type  
0 = Paint message  
14  
Symbol  
Type  
1 = Mark  
0 = Space  
13:0  
Duration  
Mark/Space duration in  
carrier clock cycles  
So, basically, the MSbit of the word defines if the mes-  
sage is a digital or a paint one.  
The block consists of four sub-blocks:  
Input Stage  
it consists of the APB interface the Register File, 2  
FIFOs and the Message Decoding engine. This sub-  
block is responsible for the configuration of the system  
and the storage and decoding of the encoded words.  
These words will reside in the Code FIFO. The Repeat  
FIFO can be used to load special commands for  
repeating a key press i.e. this is only protocol depend-  
ent. The output of the Code FIFO is decoded by the  
Message Decoding engine and pushed in forms of  
commands into the next sub-block, the modulator. This  
sub-block is also responsible for firing up the repeat  
timer in case that a key is constantly pressed. The rep-  
etition time as well the message to be sent varies  
according to the protocol.  
Carrier Generator  
This sub-block is responsible for the carrier frequency  
generation. It has its own gated clock which can be up  
to 16MHz and can generate frequencies in the range of  
30 - 60 KHz.  
Modulator  
This sub-block is responsible for the generation of the  
modulation signal which gates the carrier clock pulse  
train. The Modulator state machine select between dig-  
ital or pain message and controls the gate accordingly.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
135 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
27 Quadrature Decoder  
The DA14683 has a integrated quadrature decoder  
that can automatically decode the signals for the X, Y  
and Z axes of a HID input device, reporting step count  
ChX_A  
and direction. This block can be used for waking up the  
chip as soon as there is any kind of movement from the  
external device connected to it. The block diagram of  
the quadrature decoder is presented in Figure 98.  
ChX_B  
Features  
• Three 16-bit signed counters that provide the step  
count and direction on each of the axes (X, Y and Z)  
ChX_A  
• Programmable system clock sampling at maximum  
ChX_B  
16 MHz.  
• APB interface for control and programming  
Figure 99: Moving forward on axis X  
• Programmable source from P0, P1 and P2 ports  
• Digital filter on the channel inputs to avoid spikes  
APB Interface  
Register File  
ChX_A  
ChX_B  
ChX_A  
16-bit Counter  
(X Axis)  
ChX_B  
ChY_A  
16-bit Counter  
(Y Axis)  
ChY_B  
ChX_A  
ChX_B  
ChZ_A  
16-bit Counter  
(Z Axis)  
ChZ_B  
Figure 100: Moving backwards on axis X  
27.2 PROGRAMMING  
Quad_Dec_IRQ  
Interrupt Generator  
Since six channels are required (two for each axis),  
any GPIO can be mapped onto this block. The user  
can choose which GPIOs to use for the channels by  
programming the Pxy_MODE_REG[PID] with values  
from 30 up to 44.  
Figure 98: Block diagram of the Quadrature  
Decoder  
27.1 ARCHITECTURE  
The digital filter eliminates any spike shorter than two  
clock periods. The counter holds the movement events  
of the channel. When a channel is disabled the counter  
is reset. The counters are accessible via the APB bus.  
Channels are expected to provide a pulse train with 90  
degrees rotation as displayed in Figure 99 and Figure  
100.  
The quadrature decoder operates on the system clock.  
The QDEC_CLOCKDIV register defines the number of  
clock cycles of the period at which the decoding logic  
samples the data on the channel inputs.  
Depending on whether channel A or channel B is lead-  
ing in phase, the quadrature decoding block calculates  
the direction on the related axis. Furthermore, the  
signed counter value represents the number of steps  
moved.  
The interrupt block monitors the movement events and  
generates an interrupt every N events. The value for N  
is defined in the QDEC_CTRL register.  
Note: if there are events from multiple channels in the  
same cycle, the interrupt event counter is only  
increased by one.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
136 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Autonomous keyboard matrix scan without CPU  
interference  
28 Keyboard Scanner  
The Keyboard Scanner is a programmable hardware  
state machine which takes care of scanning the key-  
board matrix and providing a clear view of key presses/  
releases to SW. Once enabled, it takes care of any key  
press or release without interfering with the CPU up to  
the point that a de-bounced key press is identified. It  
operates at a programmable frequency clock, allowing  
for a very short scan cycle time. Debouncing of up to  
12 simultaneous keys is allowed with dedicated coun-  
ters. The resulting events are reported in a FIFO which  
triggers an interrupt to the CPU at the end of the scan  
cycle.  
• 250 kHz clock for low power  
• Maximum 16 Rows / 32 Columns support for any  
GPIO  
• Up to 12, 7-bit de-bounce counters, counting matrix  
scan cycles  
• Different press and release debounce times support  
• Configurable row activation time  
• Short scan cycle (1.3 us for a 10x10 matrix using 16  
MHz clock)  
The block diagram of the Keyboard Controller is pre-  
sented in Figure 101.  
• Row/Column report for a key press/release  
Features  
Rows  
To/  
from  
GPIOs  
Register  
file  
Matrix  
Scan  
Scrambler  
Columns  
APB  
interface  
Debounce  
Module #1  
APB16  
Debounce  
Module #2  
. . .  
Message  
Fifo  
message  
WE  
Key monitor  
Debounce  
Module #12  
Full  
Keyboard Scanner  
Figure 101: Keyboard Scanner block diagram  
28.1 ARCHITECTURE  
The Keyboard Scanner comprises a Key Monitoring  
state machine which controls the 12 Debouncing Mod-  
ules, a Matrix Scan state machine which is responsible  
for a totally automated scan of the preferred key matrix,  
a FIFO which reports to the CPU what has been  
pressed/released and an APB based register file which  
is used to configure the block. A Scrambler is also uti-  
lized to allow for flexibility in selecting GPIOs used as  
rows or columns in the key matrix. Finally, the Key  
Monitor gathers the column/row identities for an event  
(key press or release), controls the 12 debouncing  
modules and writes the message into the FIFO trigger-  
ing an interrupt to the CPU.  
Columns (y)  
y2  
y0  
y1  
y3  
x0  
x1  
x2  
x3  
Rows  
(x)  
The Scrambler is implementing the assignment of spe-  
cific GPIOs as rows (outputs) or columns (inputs) to  
form a matrix as shown in the example of Figure 102.  
Figure 102: 4x4 Keyboard Matrix example  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
137 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
The configuration of the GPIOs can be realized with  
use of the KBSCN_GPIOx_MODE_REG. The actual  
size of the matrix shouild be programmed in  
KBSCN_MATRIX_SIZE_REG.  
machine which takes care of the full scanning of the  
key matrix without the CPU intervention. The scan  
cycle is presented in Figure 103:  
The Matrix Scan block implements a finite state  
Scan Cycle  
End  
Scan Cycle  
Start  
NO  
YES  
Set CUR_ROW= first  
Set KEY_STAT = Not  
Pressed  
Is Inactive counter  
reached and enable  
set?  
Drive CUR_ROW to low  
Set  
CUR_ROW=NEXT_ROW  
Wait for Row Activation  
Time  
Read Columns  
Increase Inactive  
counter  
Reset Inactive  
counter  
No  
Yes  
Are Columns all  
= 0?  
NO  
Is KEY_STAT=  
Pressed?  
Set KEY_STAT =  
Pressed  
NO  
YES  
CHECK  
DEBOUNCE  
Have all Rows  
been traversed?  
YES  
Figure 103: Scan cycle state machine  
The FSM is setting each row to ‘0’, waits for a pre-con-  
figured amount of time (activation time, programmed in  
KBSCN_CTRL2_REG) and then it reads the columns  
vector. If no zeros are sensed in the columns word, it  
continues scanning until all rows have been exercised.  
matrix.  
Setting  
bit  
KBSCN_CTRL_REG[  
KBSCN_INACTIVE_EN]=1 will automatically stop the  
scanning activity if  
KBSCN_CTRL_REG[KBSCN_INACTIVE_TIME] scan  
cycles have elapsed without any key press or  
debounce activity. If bit KBSCN_CTRL_REG[  
KBSCN_INACTIVE_EN]=0, the scanning activity will  
continue.  
If there is a key press while scanning, a flag  
(KEY_STAT) changes value. Flag KEY_STAT is also  
set when debouncing (for a key press or release) is in  
progress. As soon as the whole matrix has been  
scanned, the debouncer modules are started. These  
are incremented per scan cycle until a programmed  
value is reached (KBSCN_DEBOUNCE_REG). Up to  
12 concurrent debouncing operations are supported.  
A key press/release message is prepared and stored in  
the FIFO for the CPU after every scan cycle provided  
that an event has been sensed. Each message is 11 bit  
wide  
and  
can  
be  
read  
at  
KBSCN_MESSAGE_KEY_REG. Multiple messages  
are possible in the case of multiple events (presses or  
Next, the FSM checks on the inactivity of the key  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
138 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
releases). Its structure is presented in Table 51:  
The row active time, i.e. the time needed for the key  
matrix to settle after applying a high or low level, has to  
be programmed in the register field  
KBSCN_CTRL2_REG[KBSCN_ROW_ACTIVE_TIME].  
This value represents keyboard scanner clock cycles.  
Table 51: Keyboard Scanner Message Structure  
Bit  
Description  
The Matrix size has to be configured in  
KBSCN_MATRIX_SIZE_REG and the debounce times  
for press and release (can be different) should be pro-  
grammed at KBSCN_DEBOUNCE_REG. Reset value  
is 0x1 which means no debounce at all.  
10  
Designates if this is the last message of this  
scan cycle. If it is high, then the value if the  
register is 0xFF (the rest of the bits are all  
high as well)  
A special feature enables the scanning to automatically  
9
Key state. 0: key is pressed, 1: key is  
released  
stop  
after  
KBSCN_CTRL_REG[KBSCN_INACTIVE_TIME] clock  
cycles have elapsed without activity. Last thing to do for  
the initialization is enable the interrupt of the Keyboard  
8:4  
3:0  
Defines the number of the column of the key  
event  
Defines the number of the row of the key  
event  
Scanner  
by  
KBSCN_CTRL_REG[KBSCN_IRQ_FIFO_MASK] = 1  
and  
KBSCN_CTRL_REG[KBSCN_IRQ_MESSAGE_MASK  
An interrupt is triggered towards the CPU in three  
cases:  
]
=
1
and enable the block by setting  
KBSCN_CTRL_REG[KBSCN_EN]=1.  
1. A message has been placed in the message  
FIFO  
The interrupt triggers the CPU to read a message  
residing in the 12-words FIFO by reading the  
KBSCN_MESSAGE_KEY_REG. This message con-  
tains the key id that was recently pressed or released  
as well as the indication of being or not, the only mes-  
sage in the FIFO (KBSCN_LAST_ENTRY).  
2. There is an underflow/overflow of the message  
FIFO  
3. The inactive time (in scan cycles) has elapsed  
This information as well as the actual amount of mes-  
sages residing in the FIFO can be accessed at  
KBSCN_STATUS_REG. Note that, the FIFO can be  
erased  
by  
SW  
using  
KBSCN_CTRL_REG[KBSCN_RESET_FIFO].  
The number of KEYB_CLK cycles required for a full  
scan cycle is given by the formula below:  
C
= N  
* (C  
+2), where C  
is the amount of  
scan  
ROWS  
ACT  
ACT  
clocks for the activation time as programmed in  
KBSCN_CTRL2_REG[KBSCN_ROW_ACTIVE_TIME]  
and N  
the number of rows.  
ROWS  
The clock can be 250 kHz up to 96 MHz if the PLL is  
enabled.  
28.2 PROGRAMMING  
To initialize the Keyboard Scanner, the clock has to be  
first  
enabled  
by  
setting  
and  
CLK_PER_REG[KBSCAN_ENABLE]=1  
KBSCN_CTRL_REG[KBSCN_CLKDIV] to the pre-  
ferred value. The latter defines the clock frequency of  
the block, when the clock divider is enabled by setting  
CLK_PER_REG[KBSCAN_CLK_SEL]=0.  
Following that, the rows have to be programmed in out-  
put mode via the Pxy_MODE_REG registers. There is  
a
dedicated PID for this namely number 47  
(KB_ROW). The rows have to be explicitly defined as  
pulled-up inputs with use of the respective  
Pxy_MODE_REG registers.  
Both rows and columns need to be defined in the  
KBSCN_GPIOz_MODE_REG so that the Keyboard  
Scanner understands which I/O is what.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
139 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
tion of the PWM signals.  
29 Timers  
Features  
The Timers block contains 3 timer modules that are  
software controlled, programmable and can be used  
for various tasks. Timer0 is a 16-bit general purpose  
timer with a PWM output capability. Timer 1 is a 32-bit  
up/down counter which stays powered during extended  
sleep mode. Timer2 is a 14-bit counter that generates  
three identical PWM signals in a quite flexible manner.  
• 16-bit general purpose timer  
• Ability to generate 2 Pulse Width Modulated signals  
(i.e. PWM0 and PWM1)  
• Programmable output frequency:  
f = (16, 8, 4, 2 MHz or 32 kHz) / (M+1)+(N+1)  
with N = 0 to (2**16)-1, M = 0 to (2**16)-1  
29.1 TIMER0  
• Programmable duty cycle:  
= (M+1)/((M+1)+(N+1)) *100%  
Timer0 is a 16-bit general purpose software program-  
mable timer, which has the ability of generating Pulse  
Width Modulated signals, namely PWM0 and PWM1. It  
also generates the SWTIM_IRQ interrupt to the Arm  
Cortex-M0. It can be configured in various modes  
regarding output frequency, duty cycle and the modula-  
• Separately programmable interrupt timer:  
T = (16, 8, 4, 2 MHz or 32 kHz) / (ON+1)  
TIMER0_0N_REG  
MSBreg  
TIMER0_RELOAD_N_REG  
LSBreg  
TIMER0_RELOAD_M_REG  
LSBreg  
Timer0  
LSBreg  
MSBreg  
MSBreg  
1
0
1
0
loadnew  
loadnew  
LSBshadow  
MSBshadow  
LSBshadow  
MSBshadow  
T0-toggle  
0
1
1
0
T0-counter=0  
ON-counter  
MSBreg  
1
0
-1  
loadnew  
LSBreg  
loadnew  
LSBreg  
T0-counter  
MSBreg  
TIM0_INT  
loadnew  
Interrupt generation:  
PWM mode:  
if (T0_toggle=0 and  
ON-counter=0) OR  
TIM0_CTRL =0->1  
If T0-counter = 0 then  
Compare  
T0_ge_M0  
T0_toggle = ~T0_toggle  
PWM0  
PWM1  
If PWM_MODE = 1 then AND signal with clock  
If PWM_MODE = 1 then AND signal with clock  
to GPIO  
December 13, 2012  
Figure 104: Timer0 block diagram  
Figure 104 shows the block diagram of Timer0. The 16  
bits timer consists of two counters: T0-counter and ON-  
enabling bit. The other four options can be selected by  
setting the TIM0_CLK_SEL bit and the TMR_ENABLE  
bit in the CLK_PER_REG (default disabled). This reg-  
ister also controls the frequency via the TMR_DIV bits.  
An extra clock divider is available that can be activated  
via bit TIM0_CLK_DIV of the timer control register  
TIMER0_CTRL_REG. This clock divider is only used  
for the ON-counter and always divides by 10.  
counter,  
and  
three  
registers:  
TIMER0_RELOAD_M_REG,  
TIMER0_RELOAD_N_REG and TIMER0_ON_REG.  
Upon reset, the counter and register values are  
0x0000. Timer0 will generate a Pulse Width Modulated  
signal PWM0. The frequency and duty cycle of PWM0  
are  
determined  
by  
the  
contents  
and  
of  
the  
the  
Timer0 operates in PWM mode. The signals PWM0  
and PWM1 can be mapped to any GPIOs.  
TIMER0_RELOAD_N_REG  
TIMER0_RELOAD_M_REG registers.  
Timer0 PWM mode  
The timer can run at five different clocks: 16 MHz, 8  
MHz, 4 MHz, 2 MHz, and 32 kHz. The 32 kHz clock is  
selected by default with bit TIM0_CLK_SEL in the  
TIMER0_CTRL_REG register. This ‘slow’ clock has no  
If bit TIM0_CTRL in the TIMER0_CTRL_REG is set,  
Timer0 will start running. SWTIM_IRQ will be gener-  
ated and the T0-counter will load its start value from  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
140 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
the TIMER0_RELOAD_M_REG register, and will dec-  
rement on each clock. The ON-counter also loads its  
start value from the TIMER0_ON_REG register and  
decrements with the selected clock.  
(SWTIM_IRQ). The ON-counter will be reloaded with  
the value of the TIMER0_ON_REG register. The T0-  
counter as well as the M0-shadow register will be  
loaded with the value of the  
TIMER0_RELOAD_M_REG register. At the same time,  
the N0-shadow register will be loaded by the  
TIMER0_RELOAD_N_REG register. Both counters will  
be decremented on the next clock again and the  
sequence will be repeated.  
When the T0-counter reaches zero, the internal signal  
T0-toggle  
will  
be  
toggled  
to  
select  
the  
TIMER0_RELOAD_N_REG whose value will be  
loaded in the T0-counter. Each time the T0-counter  
reaches zero it will alternately be reloaded with the val-  
ues of the M0- and N0-shadow registers respectively.  
PWM0 will be high when the M0-value decrements and  
low when the N0-value decrements. For PWM1 the  
opposite is applicable since it is inverted. If bit  
PWM_MODE in the TIMER0_CTRL_REG register is  
set, the PWM signals are not HIGH during the ‘high  
time’ but output a clock in that stage. The frequency is  
based on the clock settings defined in the  
CLK_PER_REG register (also in 32 kHz mode), but  
the selected clock frequency is divided by two to get a  
50 % duty cycle.  
Note that it is possible to generate interrupts at a high  
rate, when selecting a high clock frequency in combi-  
nation with low counter values. This could result in  
missed interrupt events.  
During the time that the ON-counter is non-zero, new  
values for the ON-register, M0-register and N0-register  
can be written, but they are not used by the T0-counter  
until a full cycle is finished. More specifically, the newly  
written values in the TIMER0_RELOAD_M_REG and  
TIMER0_RELOAD_N_REG registers are only stored  
into the shadow registers when the ON-counter and  
the T0-counter have both reached zero and the T0-  
counter was decrementing the value loaded from the  
TIMER0_RELOAD_N_REG register (see Figure 105).  
If the ON-counter reaches zero it will remain zero until  
the T0-counter also reaches zero, while decrementing  
the  
value  
loaded  
from  
the  
TIMER0_RELOAD_N_REGregister (PWM0 is low).  
The counter will then generate an interrupt  
clk  
TIM0_CTRL  
M
1
N
1
M
1
N
1
M
1
N
1
T0-counter  
ON-counter  
PWM0 pin  
PWM1 pin  
SWTIM_IRQ  
0
0
0
3
0
1
0
0
0
3
4
2
0
4
2
M0=1N0=1 ON=4  
Figure 105: Timer 0 Pulse PWM mode  
At start-up both counters and the PWM0 signal are  
LOW so also at start-up an interrupt is generated. If  
Timer0 is disabled all flip-flops, counters and outputs  
are in reset state except for the ON-register, the  
from  
the  
address  
of  
either  
or  
the  
the  
TIMER0_RELOAD_N_REG  
TIMER0_RELOAD_M_REG register, returns the value  
of the T0-counter.  
TIMER0_RELOAD_N_REG  
TIMER0_RELOAD_M_REG register.  
register  
and  
the  
It is possible to freeze Timer0 with bit FRZ_SWTIM of  
the register SET_FREEZE_REG. When the timer is fro-  
zen the timer counters are not decremented. This will  
freeze all the timer registers at their last value. The  
timer will continue its operation again when bit  
The timer input registers  
TIMER0_RELOAD_N_REGand  
TIMER0_RELOAD_M_REG can be written and the  
counter registers ON-counter and T0-counter can be  
read. When reading from the address of the ON-regis-  
ter, the value of the ON-counter is returned. Reading  
ON-register,  
FRZ_SWTIM  
is  
cleared  
via  
register  
RESET_FREEZE_REG.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
141 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
29.2 TIMER1  
• One shot pulse with programmable pulse width  
• 16-bit clock pre-scaler  
Timer1 is a 32-bit up/down timer with capture input (2  
channels) and one shot pulse capability. This timer is  
also able of generating a PWM signal with programma-  
ble output frequency. Timer1 is the only timer that stays  
alive when the DA14683 is in sleep mode. It counts  
using the sleep clock and can still control one output,  
namely the P0_6 while the rest of the IOs are frozen to  
reduce power dissipation.  
• Up/down counting capability with free running mode  
• Operating at sleep clock when system is in sleep  
mode  
• Counts while in Extended Sleep mode.  
• PW5 controls the P0_6 output while in Extended  
Sleep mode  
Features  
• Programmable output frequency  
F = 16 MHz/2 to 16 MHz/((2**14)-1)  
• 32-bit general purpose timer  
• Generates a Pulse Width Modulated signal (PWM5)  
• 2 channels for capture input triggering  
• Dedicated interrupt line  
TIMER1  
System bus  
0
0
13  
13  
PWM5_DUTY  
PWM5_FREQ  
Comparators  
equal  
Reset  
Set  
T1_PWM5  
32 bits  
Sys clk  
slp_clk  
16-bit Prescaler  
T1_CNTR  
Hold  
reset  
+1  
Capture Word 1  
Capture Word 2  
Capture  
Event  
GPIOs  
GPIOs  
One Pulse  
hot  
Figure 106: Timer 1 block diagram  
enabled by can be measured with precision.  
Timer1  
is  
CAPTIM_CTRL_REG[CAPTIM_EN] bit. This is the  
only timer that supports up/down counting with means  
The  
Timer1  
support  
one  
shot  
pulse  
(CAPTIM_CTRL_REG[CAPTIM_ONESHOT_MODE_  
EN]). Whenever either of the two externally selected  
GPIOs triggers an event, a programmable width pulse  
(CAPTIM_SHOTWIDTH_REG) will be output on  
of  
programming  
the  
CAPTIM_CTRL_REG  
[CAPTIM_COUNT_DOWN_EN] bit.  
Timer1 supports capturing 2 externally triggered events  
(positive or negative edges) on GPIOs that can be  
selected. When the first event is captured, the current  
value of the 16-bit free-running timer is stored into  
CAPTIM_CAPTURE_GPIO1_REG while upon trigger-  
ing of the second event, the current timer value is  
stored into CAPTIM_CAPTURE_GPIO2_REG. In this  
way, the timing interval between 2 successive events  
another  
GPIO  
programmed  
by  
Pxx_MODE_REG[PID]=53. Furthermore, the time up  
to the start of the pulse is again configurable by  
CAPTIM_RELOAD_REG.  
Timer1 is kept alive while the system is in Extended  
Sleep mode. The PWM signal which can be configured  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
142 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
by  
CAPTIM_PWM_FREQ_REG  
and  
CLK_TMR_REG[TMR1_DIV] has a value different than  
CAPTIM_PWM_DC_REG with respect to the fre-  
quency and duty cycle is automatically connected to  
the P0_6 pin output buffer. Hence, even during  
extended sleep, P0_6 can be driving external devices.  
To allow P0_6 output the PWM5, the debugger must be  
disabled  
0.  
Note that, the PWM functionality is decoupled from the  
timer1  
CAPTIM_TIMER_VAL_REG at any given time while  
the chip is in active mode.  
counting  
which  
can  
be  
read  
at  
(SYS_CTRL_REG[DEBUGGER_ENABLE]=0) and the  
An overview of the timer modes, reset values and inter-  
rupt generation is presented in Table 52:  
respective  
mode  
must  
be  
enabled  
(CLK_TMR_REG[P06_TMR1_PWM_MODE]=1).  
However, Timer1 will not work in sleep mode if  
Table 52: Timer1 interrupt generation  
Mode  
Reset Value  
Interrupt Generated  
Count up with Reload  
Count down with Reload  
Count up free running  
0
When reload value reached  
When 0 reached  
CAPTIM_RELOAD_REG  
0
When reload value reached  
29.3 TIMER2  
grammed separately for the three signals using the  
PWMx_START_CYCLE and PWMx_END_CYCLE. In  
this way, the PWM signals can be configured to imple-  
ment a certain phase shift. These signals also control  
Timer2 has three Pulse Width Modulated (PWM) out-  
puts. The block diagram in shown in Figure 107.  
Features  
the  
LED  
pins  
with  
means  
of  
LED_CONTROL_REG[LEDx_SRC_SEL].  
• 14-bit general purpose timer  
The Timer2 is enabled/disabled by programming the  
TRIPLE_PWM_CTRL_REG[TRIPLE_PWM_EN] bit.  
• Generates 3 Pulse Width Modulated signals (i.e.  
PWM2, PWM3 and PWM4)  
The timing diagram of Timer2 is shown in Figure 108.  
• Input clock frequency 16 MHz or the low-power  
sleep clock  
Freeze function  
• Programmable output frequency  
F = 16 MHz/2 to 16 MHz/((2**14)-1)  
During RF activity it may be desirable to temporarily  
suppress the PWM switching noise. This can be done  
by  
setting  
1.  
• Three outputs with Programmable duty cycle from  
0% to 100%  
TRIPLE_PWM_CTRL_REG[HW_PAUSE_EN]  
=
The effect is that whenever there is a transmission or a  
reception process from the Radio, T2_DUTY_CNTR is  
frozen and T2_PWMx output is switched to ‘0’ to disa-  
ble the selected T2_PWM1, T2_PWM2, T2_PWM3. As  
soon as the Radio is idle (i.e. RX_EN or TX_EN signals  
are zero), T2_DUTY_CNTR resumes counting and  
finalizes the remaining part of the PWM duty cycle.  
• Used for white LED intensity (on/off) control  
The Timer2 is clocked with the system clock (16 MHz)  
or the low-power sleep clock and can be enabled with  
TRIPLE_PWM_CTRL_REG[TRIPLE_PWM_ENABLE].  
T2_FREQ_CNTR determines the output frequency of  
the T2_PMWn output. This counter counts down from  
TRIPLE_PWM_CTRL_REG[HW_PAUSE_EN] can be  
set to ‘0’ to disable the automatic, hardware driven  
freeze function of the duty counter and keep the duty  
cycle constant.  
the  
value  
stored  
in  
register  
TRIPLE_PWM_FREQUENCY. At counter value 0,  
T2_FREQ_CNTR sets the T2_PWMn output to ‘1’ and  
the counter is reloaded again.  
Note that the RX_EN and TX_EN signals are not soft-  
ware driven but controlled by the BLE core hardware.  
T2_DUTY_CNTR is an up-counter that determines the  
duty cycle of the T2_PWMn output signal. After the  
block is enabled, the counter starts from 0. If  
T2_DUTY_CNTR is equal to the value stored in the  
respective PWMn_DUTY_CYCLE register, this resets  
the T2_PWMn output to 0. T2_DUTY_CNTR is reset  
when TRIPLE_PWM_FREQUENCY is 0.  
Note that the value of PWMn_DUTY_CYCLE must be  
less or equal than TRIPLE_PWM_FREQUENCY.  
Another feature of Timer2 PWM signals is the fact that  
the start and end cycle of the PWM wave can be pro-  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
143 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
TIMER2  
System bus  
0
0
13  
0
0
13  
13  
13  
PWM2_DUTY  
TRIPLE_PWM_FREQ  
PWM4_DUTY  
PWM3_DUTY  
T2_PWM3  
T2_PWM1  
Reset  
Set  
equal3  
3x14 bits  
equal1  
equal2  
Comparators  
Reset  
Set  
sys_clk  
slp_clk  
14 bits  
T2_DUTY_CNTR  
reset  
Hold  
+1  
14 bits  
/Reset block  
=0  
Reset  
Set  
T2_PWM2  
T2_FREQ_CNTR  
TRIPLE_PWM_ENABLE  
-1  
TRIPLE_PWM_CTRL_REG  
SW_PAUSE_EN  
RX_EN  
TX_EN  
TRIPLE_PWM_CTRL_REG  
HW_PAUSE_EN  
Figure 107: PWM Timer 2 block diagram  
CLK (16 MHz)  
TRIPLE_PWN_EN  
T2_DUTY_CNTR  
T2_FREQ_CNTR  
T2_PWMn  
0
0
1
2
2
2
3
.  
1
...  
0
0
1
2
3
N
N
N-1  
N-2  
N-...  
...  
N
N-1 N-2 N-3  
Figure 108: Timer 2 PWM timing diagram  
29.4 BREATH TIMER  
• Maximum and minimum duty cycle configuration  
• PWM duty cycle step granularity up to 256  
• Input clock frequency 16 MHz  
The BREATH timer implements an automated breath-  
ing function for external LEDs without software interfer-  
ence. The resulting PWM signal can be mapped on  
any of the GPIOs of the system. It uses the system  
clock as input.  
• Programmable output frequency  
f = f  
/(1 to 256) MHz  
system  
Features  
• Breath timer can be paused by software using bit  
Datasheet  
Revision 3.4 24-Nov-2020  
CFR0011-120-01  
144 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
TRIPLE_PWM_TRL_REG[SW_PAUSE_EN]. Note  
that, the same bit is valid for both Breath Timer and  
Timer2.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
145 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Non-Maskable Interrupt (NMI) or WDOG reset.  
• Optional automatic WDOG reset if NMI handler fails  
30 Watchdog Timer  
The watchdog timer is an 8-bit timer with sign bit that  
can be used to detect an unexpected execution  
sequence caused by a software run-away and can  
generate a full system reset or a Non-Maskable Inter-  
rupt (NMI). Upon expiration, a HW reset is triggered.  
to update the Watchdog register.  
• Non maskable Watchdog freeze of the Cortex-M0  
Debug module when the Cortex-M0 is halted in  
Debug state.Maskable Watchdog freeze by user pro-  
gram.  
Features  
• 8 bits down counter with sign bit, clocked with a  
10.24 ms clock for a maximum 2.6 s time-out.  
Freeze Wakeup Timer, Software Timer, BLE master clock  
WATCHDOG_CTRL_REG  
[NMI_RST]  
Set  
Set by Software  
Reset to 0  
Reset to 0xFF  
by SYS reset  
WATCHDOG_REG[8-0]  
Reset  
Cortex-M0 (debug)  
DHCSR[S_HALT]  
by SYS reset  
Bits[15-9] =0  
Write_enable  
NMI_RST  
1
0
<= 0  
WDOG reset  
NMI  
Freeze  
Watchdog timer  
1
0
OR  
<= -16  
SET_FREEZE_REG  
[FRZ_WDOG]  
(default)  
10.24 ms  
1
Set  
= 0  
Reset  
RESET_FREEZE_REG  
[FRZ_WDOG]  
0
Figure 109: Watchdog Timer block diagram  
The 8 bits watchdog timer is decremented by 1 every  
10.24 ms. The timer value can be accessed through  
the WATCHDOG_REG register which is set to 255  
triggered, the SYS_CTRL_REG[REMAP_ADR0] bits  
will retain their value and the Cortex-M0 will start exe-  
cuting again from the current selected memory at  
address zero. Refer to the “Reset” chapter for an over-  
view of the complete reset circuit and conditions.  
(FF ) at reset. This results in a maximum watchdog  
16  
time-out of ~2.6 s. During write access the  
WATCHDOG_REG[WDOG_WEN] bits must be 0. This  
provides extra filtering for a software run-away writing  
all ones to the WATCHDOG_REG. If the watchdog  
counter reaches 0, the counter value will get a negative  
value by setting bit 8. The counter sequence becomes  
For debugging purposes, the Cortex-M0 Debug mod-  
ule can always freeze the watchdog by setting the  
DHCSR[DBGKEY | C_HALT | C_DEBUGEN] control  
bits (reflected by the status bit S_HALT). This is auto-  
matically done by the debug tool, e.g. during step-by-  
step debugging. Note that this bit also freezes the  
Wakeup Timer, the Software Timer and the BLE master  
clock. For additional information also see the  
DEBUG_REG[DEBUGS_FREEZE_EN] mask register.  
The C_DEBUGEN bit is not accessible by the user  
software to prevent freezing the watchdog.  
1, 0, 1FF (-1), 1FE (-2),...1F0 (-16).  
16  
16  
16  
If WATCHDOG_CTRL_REG[NMI_RST] = 0, the watch-  
dog timer will generate an NMI if the watchdog timer  
reaches 0 and a WDOG reset if the counter becomes  
less or equal to -16 (1F0 ). The NMI handler must  
16  
write any value > -16 to the WATCHDOG_REG to pre-  
vent the generation of a WDOG reset at counter value -  
16 after 16*10.24 = 163.8 ms.  
In addition to the S_HALT bit, the watchdog timer can  
also be frozen if NMI_RST=0 and SET_FREEZE_REG  
[FRZ_WDOG] is set to ‘1’. The watchdog timer  
If WATCHDOG_CTRL_REG[NMI_RST] = 1, the watch-  
dog timer generates a WDOG reset if the timer  
becomes less or equal than 0.  
resumes  
counting  
when  
RESET_FREEZE_REG[FRZ_WDOG] is set to ‘1’. The  
WATCHDOG_CTRL_REG[NMI_RST] bit can only be  
set by software and will only be reset on a SYS reset.  
The WDOG reset is one of the SYS (system) reset  
sources and resets the whole device, including setting  
the WATCHDOG_REG register to 255, except for the  
RST pin, the Power On reset, the HW reset and the  
DBG (debug module) reset. Since the HW reset is not  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
146 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
ble rise and fall times and integrated D+/D- pull-up  
resistors.  
31 USB Interface  
The USB interface is an integrated USB Node control-  
ler compatible with the full and low speed USB specifi-  
cation version 1.1.  
• Serial Interface Engine (SIE) consisting of a Media  
Access Controller (MAC), USB Specification 1.0 and  
1.1 compliant  
It integrates a Serial Interface Engine (SIE) and USB  
endpoint (EP) FIFOs. Seven endpoint pipes are sup-  
ported: one for the mandatory control endpoint and six  
to support interrupt endpoints. Each endpoint pipe has  
a dedicated FIFO, 8 bytes for the control endpoint, and  
64 bytes for the other endpoints.  
• USB Function Controller with seven FIFO-based  
Endpoints:  
• One bidirectional Control Endpoint 0 (8 bytes)  
• Three Transmit Endpoints (64 bytes each)  
• Three Receive Endpoints (64 bytes each)  
The USB transceiver module is accessed through  
USB_Dp and USB_Dm pins.  
• Automatic Data PID toggling/checking and NAK  
packet recovery (maximum 256 x32 bytes of data =  
8 kB)  
Features  
• Full Speed USB node  
• Interfaces to USB V1.1 transceiver with programma-  
System bus  
Endpoint/Control FIFOs  
Control  
Status  
USBFS_IRQ  
RX  
(OUT)  
TX  
(IN)  
SIE  
Clock  
Recovery  
Media Access Controller (MAC)  
6/48MHz Clock  
USB Event  
Detect  
Physical Layer Interface (PHY)  
USB Transceiver  
Module  
LDO_USB  
500  
kOhm  
500  
kOhm  
VSS  
Figure 110: USB Node block diagram  
Access Controller (MAC) modules. The PHY module  
VDD_USB VBUS  
USB_Dp USB_Dm  
31.1 SERIAL INTERFACE ENGINE  
includes the digital-clock recovery circuit, a digital glitch  
filter, End Of Packet (EOP) detection circuitry, and bit  
The SIE is comprised of physical (PHY) and Media  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
147 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
stuffing and unstuffing logic. The MAC module includes  
packet formatting, CRC generation and checking, and  
endpoint address detection. It provides the necessary  
control to give the NAK, ACK, and STALL responses  
as determined by the Endpoint Pipe Controller (EPC)  
for the specified endpoint pipe. The SIE is also respon-  
sible for detecting and reporting USB-specific events,  
such as NodeReset, NodeSuspend, and NodeRe-  
sume. The module output signals to the transceiver are  
well matched (under 1 ns) to minimize skew on the  
USB signals.  
automatically. If the endpoint pipe is isochronous and  
enabled but no data is present, a bit stuff error followed  
by an end of packet is sent on the bus.  
Similarly, on detection of an OUT token addressed to  
an endpoint, the endpoint pipe should receive a data  
packet sent by the host and load it into the appropriate  
FIFO. If the endpoint pipe is stalled, a STALL hand-  
shake packet is sent. If the endpoint pipe is enabled  
but no buffer is present for data storage, a NAK hand-  
shake packet is sent.  
A disabled endpoint does not respond to IN, OUT, or  
SETUP tokens.  
The USB specifications assign bit stuffing and unstuff-  
ing as the method to ensure adequate electrical transi-  
tions on the line to enable clock recovery at the  
receiving end. The bit stuffing block ensures that when-  
ever a string of consecutive 1’s is encountered, a 0 is  
inserted after every sixth 1 in the data stream. The bit  
unstuffing logic reverses this process.  
The EPC maintains separate status and control infor-  
mation for each endpoint pipe.  
For IN tokens, the EPC transfers data from the associ-  
ated FIFO to the host. For OUT tokens, the EPC trans-  
fers data in the opposite direction.  
The clock recovery block uses the incoming NRZI data  
to extract a data clock (12 MHz FS, 1.5 MHz LS) from a  
48 (FS) / 6(LS) MHz input clock. This clock is used in  
the data recovery circuit. The output of this block is  
binary data (decoded from the NRZI stream) which can  
be appropriately sampled using the extracted 12(6)  
MHz clock. The jitter performance and timing charac-  
teristics meet the requirements set forth in Chapter 7 of  
the USB Specification.  
31.2 ENDPOINT PIPE CONTROLLER (EPC)  
The EPC provides the interface for USB function end-  
points. An endpoint is the ultimate source or sink of  
data. An endpoint pipe facilitates the movement of data  
between USB and memory, and completes the path  
between the USB host and the function endpoint.  
According to the USB specification, up to 31 such end-  
points are supported at any given time. USB allows a  
total of 16 unidirectional endpoints for receive and 16  
for transmit. As the control endpoint 0 is always bidirec-  
tional, the total number is 31. The Full/Low Speed USB  
node supports a maximum of seven endpoint pipes  
with the same function address. See Figure 111 for a  
schematic diagram of EPC operation.  
A USB function is a USB device that is able to transmit  
and receive information on the bus. A function may  
have one or more configurations, each of which  
defines the interfaces that make up the device. Each  
interface, in turn, is composed of one or more end-  
points.  
Each endpoint is an addressable entity on USB and is  
required to respond to IN and OUT tokens from the  
USB host (typically a PC). IN tokens indicate that the  
host has requested to receive information from an end-  
point, and OUT tokens indicate that it is about to send  
information to an endpoint.  
On detection of an IN token addressed to an endpoint,  
the endpoint pipe should respond with a data packet. If  
the endpoint pipe is currently stalled, a STALL hand-  
shake packet is sent under software control. If the end-  
point pipe is enabled but no data is present, a NAK  
(Negative Acknowledgment) handshake packet is sent  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
148 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Control Registers  
Function  
EP0  
Address  
Compare  
FIFOs  
USB  
USB SIE  
Control Endpoint Pipe  
EP3  
...  
EP1.  
Control Registers  
FIFO  
Receive Endpoint Pipes  
CPU  
EP3  
...  
EP1  
Control Registers  
FIFO  
Transmit Endpoint Pipes  
Figure 111: Endpoint Operation  
31.3 FUNCTIONAL STATES  
this event and signals it by setting the SD3 bit in the  
USB_ALTEV register, which causes an USB_INT, if  
enabled, to be generated. The firmware should  
respond by putting the USB node in NodeSuspend  
state.  
31.3.1 Line Condition Detection  
At any given time, the USB node is in one of the follow-  
ing states (see Figure 112 for the functional state tran-  
sitions):  
The USB node can resume normal operation in two  
ways:  
NodeOperational: Normal operation  
• Host initiated. By detecting a resume signalling fol-  
lowed by Low speed EOP on the USB bus, an  
ALTEV[RESUME] interrupt is generated. The firm-  
ware responds by setting the NodeOperational in  
the USB_NFRS_REG.  
NodeSuspend: Device operation suspended due to  
USB inactivity  
NodeResume: Device wake-up from suspended  
state  
NodeReset: Device reset  
• Device initiated. By detection of a local event, e.g  
GPIO key is pressed, a KEYB_INT is generated.  
The firmware releases the USB node from Node-  
Suspend state by initiating a NodeResume on the  
USB using the NFSR register. The node firmware  
must ensure at least 5 ms of Idle on the USB, by  
checking the SD5 in the USB_ALTEV before going  
to the NodeResume state.  
The NodeSuspend, NodeResume, or NodeReset line  
condition causes a transition from one operating state  
to another. These conditions are detected by special-  
ized hardware and reported via the Alternate Event  
(ALTEV) register. If interrupts are enabled, an interrupt  
is generated upon the occurrence of any of the speci-  
fied conditions.  
NodeResume State: In NodeResume state, a constant  
“K” is signalled on the USB. This should last for at least  
1 ms and no more than 15 ms, after which the USB  
host should continue sending the NodeResume signal  
for at least an additional 20 ms, and then completes  
the NodeResume operation by issuing the End Of  
Packet (EOP) sequence.  
NodeOperational State: This is the normal operating  
state of the node. In this state, the node is configured  
for operation on the USB.  
NodeSuspend State: A USB node is expected to enter  
NodeSuspend state when 3 ms have elapsed without  
any detectable bus activity. The USB node looks for  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
149 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
To successfully detect the EOP, the firmware must  
respond by setting NodeOperational in the  
USB_NFRS_REG. Upon detection on the EOP, the  
USB_ALTEV_REG[EOP] is set.  
If no EOP is received from the host within 100 ms, the  
software must re-initiate NodeResume.  
NodeReset: When detecting  
a NodeResume or  
NodeReset signal while in NodeSuspend state, the  
USB node can signal this to the CPU by generating an  
interrupt.  
USB specifications require that a device must be ready  
to respond to USB tokens within 10 ms after wake-up  
or reset.  
31.4 FUNCTIONAL STATE DIAGRAM  
Figure 112 shows the device states and transitions, as  
well as the conditions that trigger each transition. All  
Full/Low Speed USB node state transitions are initiated  
by the firmware.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
150 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
MCTRL_REG[USBEN] =0  
set_NodeReset  
MCTRL_REG[USBEN=1]  
Reset  
MCTRL_REG[USB_NAT] =1  
Attached  
Hub reset or  
POWER_STATUS_REG[VBUS_OK] =1  
Deconfigured  
Powered  
Power interruption &  
set_NodeReset  
ALTEV_REG[USB_RESET]=1 &  
set_NodeOperational  
Resume complete &  
set_NodeOperational  
Resume  
local_event &  
set_NodeReset  
set_NodeOperational  
usb_sd5_detect &  
ALTEV_REG[USB_SD3]=1&  
set_NodeSuspend  
Set_NodeResume  
FAR_REG=0x80  
EPC0_REG=0x40  
Suspend  
Default  
ALTEV_REG[USB_RESUME]=1&  
set_NodeOperational  
ALTEV_REG[USB_RESET]=1  
Address Assigned  
FAR_REG=(0x80|xx)  
EPC0_REG=(0x00||yy)  
Suspend/Resume states as above  
Addressed  
Device DeConfigured  
Device Configured  
Configured  
Suspend/Resume states as above  
Bold Italics = Transition initiated by firmware  
Figure 112: Node Functional State Diagram  
Note 17: When the node is not in NodeOperational state, all registers are frozen with the exception of the endpoint controller state machines, and the  
TX_EN, LAST and RX_EN bits which are reset.  
Note 18: In NodeResume state, resume signalling is propagated upstream.  
Note 19: In NodeSuspend state, the node may enter a low power state and is able to detect resume signalling.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
151 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 53: Functional states  
State Transition  
Condition Asserted  
set_NodeReset  
Node Functional State register NFS[1:0] bits are written with 00  
b
(The firmware should only initiate set_NodeReset if RESET in the ALTEV register is set.)  
set_NodeSuspend  
Node Functional State register NFS[1:0] bits are written with 11  
b
The firmware should only initiate set_suspend if SD3 in the ALTEV register is set.  
set_NodeOperation  
set_NodeResume  
Node Functional State register NFS[1:0] bits are written with 10  
b
Node Functional State register NFS[1:0] bits are written with 01  
b
The firmware should only initiate clear_suspend if SD5 in the ALTEV register is set.  
USB_RESET in the ALTEV register is set to 1  
usb_reset_detect  
local_event  
A local event that should wake up the USB.  
usb_sd5_detect  
USB_SD5 in the ALTEV register is set to 1.  
usb_suspend_detect USB_SD3 in the ALTEV register is set to 1.  
usb_resume_detect  
resume_complete  
RESUME in the ALTEV register is set to1.  
The node should stay in NodeResume state for at least 10 ms and then must enter USB Oper-  
ational state to detect the EOP from the host, which terminates this Remote Resume opera-  
tion. EOP is signalled when EOP in the ALTEV register is set to 1.  
31.5 ADDRESS DETECTION  
Packets are broadcast from the host controller to all the  
nodes on the USB network. Address detection is imple-  
mented in hardware to allow selective reception of  
packets and to permit optimal use of microcontroller  
bandwidth. One function address with seven different  
endpoint combinations is decoded in parallel. If a  
match is found, then that particular packet is received  
into the FIFO; otherwise it is ignored.  
Figure 113 shows a block diagram of the function  
address and endpoint decoding. The incoming USB  
Token, Packet Address field and four bits Endpoint field  
are extracted from the incoming bit stream. The  
address field is compared to the Function Address reg-  
ister (FADR) and if a match is detected, the USB End-  
point field is compared to all EP bit fields in the  
Endpoint Control registers (EPCx). With IN tokens, the  
transmit Endpoint Control registers are compared and  
with OUT tokens the receive Endpoint Control registers  
are compared. A match then enables the respective  
endpoint FIFO and transfers the payload data to/from  
the FIFO. Note that EPC0 is bidirectional and is ena-  
bled for IN, OUT and SETUP tokens.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
152 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
- USB Packet -  
Token  
ADDR Field  
Endpoint Field  
FAR Register  
match  
match  
IN, OUT, SETUP token  
Enable Receive/Transmit FIFO0  
USB_EPC0_REG[EP]  
IN token  
Enable Transmit FIFO1  
Enable Receive FIFO1  
USB_EPC1_REG[EP]  
USB_EPC2_REG[EP]  
OUT token  
IN token  
Enable Transmit FIFO2  
USB_EPC3_REG[EP]  
USB_EPC4_REG[EP]  
OUT token  
Enable Receive FIFO2  
Enable Transmit FIFO3  
Enable Receive FIFO3  
IN token  
USB_EPC5_REG[EP]  
USB_EPC6_REG[EP]  
OUT token  
Figure 113: USB Function Address/Endpoint Decoding  
31.6 TRANSMIT AND RECEIVE ENDPOINT FIFOS  
The Full/Low Speed USB node uses a total of seven  
transmit and receive FIFOs: one bidirectional transmit  
and receive FIFO for the mandatory control endpoint,  
three transmit FIFOs and three receive FIFOs. As  
shown in Table 54, the bidirectional FIFO for the control  
endpoint is 8 bytes deep. The additional unidirectional  
FIFOs are 64 bytes each for both transmit and receive.  
Each FIFO can be programmed for one exclusive USB  
endpoint, used together with one globally decoded  
USB function address. The firmware must not enable  
both transmit and receive FIFOs for endpoint zero at  
any given time.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
153 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 54: USB Node Endpoint sizes  
TX FIFO  
RX FIFO  
Endpoint No.  
Size (Bytes)  
Name  
Size (Bytes)  
Name  
0
1
2
3
4
5
6
8 FIFO0  
64  
64  
64  
TXFIFO1 (IN)  
TXFIFO2 (IN)  
TXFIFO3 (IN)  
64  
64  
64  
RXFIFO1 (OUT)  
RXFIFO2 (OUT)  
RXFIFO3 (OUT)  
If two endpoints in the same direction are programmed  
with the same endpoint number [EP field] and both are  
enabled, data is received or transmitted to/from the  
endpoint with the lower number, until that endpoint is  
disabled for bulk or interrupt transfers, or becomes full  
or empty for ISO transfers. For example, if receive EP1  
and receive EP2 both use endpoint 3 and are both  
isochronous, the first OUT packet is received into EP1  
and the second OUT packet into EP2, assuming no  
firmware interaction in between. For ISO endpoints,  
this allows implementing a ping-pong buffer scheme  
together with the frame number match logic.  
If an OUT token is received for the FIFO, the firmware  
is informed that the FIFO has received data only if  
there was no error condition (CRC or STUFF error).  
Erroneous receptions are automatically discarded.  
Endpoints in different directions programmed with the  
same endpoint number operate independently.  
31.7 BIDIRECTIONAL CONTROL ENDPOINT FIFO0  
FIFO0 should be used for the bidirectional control end-  
point zero. It can be configured to receive data sent to  
the default address with the DEF bit in the EPC0 regis-  
ter.  
The Endpoint 0 FIFO can hold a single receive or  
transmit packet with up to 8 bytes of data.  
Note: A packet written to the FIFO is transmitted if an  
IN token for the respective endpoint is received. If an  
error condition is detected, the packet data remains in  
the FIFO and transmission is retried with the next IN  
token.  
The FIFO contents can be flushed to allow response to  
an OUT token or to write new data into the FIFO for the  
next IN token.  
Figure 114 shows the Endpoint 0 state machine. In  
state TXWAIT, if USB_RXC0_REG[SETUP_FIX]=0, no  
state change will take place if a SETUP is received.  
With SETUP_FIX=1, the state machine goes to IDLE,  
flushes to EP0 and receives the token in the RXWAIT  
state. If a SETUP is received in states TXFILL or  
RXDRAIN and SETUP_FIX=1, the SETUP will be  
ignored and no ACK is send. This allows undisturbed  
FIFO filling/emptying. This state is usually present for a  
very short time and will force the host to retransmit the  
SETUP once.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
154 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
IN_token: NACK  
If USB_NFSR_REG[USB_NFS] != NodeOperational  
OUT_token: NACK  
RXC0_REG[RX_EN] = 0  
TXC0_REG[TX_EN] = 0  
SETUP_token && SETUP_FIX=1  
IDLE  
Note: TX_EN must be set to 0  
by Firmwware  
Write to EP0  
SETUP_token  
RXC0_REG[RX_EN]=1  
Yes  
If STALL_FIX=0  
TX_EN=0  
TXC0_REG[TX_EN]=1  
Yes  
If STALL_FIX=0  
RX_EN=0  
No  
!TX_EN || FLUSH ||  
(STALL && stall_sent  
&& eot)  
Yes  
!RX_EN ||  
(OUT_token && STALL  
&& stall_sent  
No  
IN_token: NACK  
&&eot  
TXWAIT  
RXWAIT  
OUT_token:NACK  
SETUP_token &&  
SETUP_FIX=0  
IN_token &&  
!STALL  
No  
OUT_token ||  
SETUP_token)  
TXC0_REG[TX_EN]=1  
Yes  
TXFILL  
!NodeOperational  
RXFILL  
TXC0_REG[FLUSH]=1  
&& !TX_EN  
No  
eot  
SETUP_token: If SETUP_FIX=0 &&  
Previous_token = SETUP then ACK  
else No handshake  
Yes  
cr16ok && !rxbiterror  
Yes  
No  
If SETUP_FIX=1:  
No handshake  
IN_token, OUT_token: NACK  
OUT, SETUP: ACK  
RX_EN=0  
Blue text indicate  
fixes  
RXDRAIN  
TXDRAIN  
SETUP_token: If SETUP_FIX=0 &&  
Previous_token = SETUP then ACK  
else No handshake  
If SETUP_FIX=1:  
No handshake  
IN_token, OUT_token: NACK  
No  
Yes  
eot || !NodeOperational  
No  
Yes  
(fifo_empty & !rxlast)  
|| rxflush  
TX_EN=0  
Figure 114: Endpoint 0 Operation  
Revision 3.4  
Datasheet  
24-Nov-2020  
CFR0011-120-01  
155 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
31.8 TRANSMIT ENDPOINT FIFO (TXFIFO1 TO  
TXFIFO5)  
the FIFO contents while the USB packet is transmitted  
on the bus.  
The Transmit FIFOs for Endpoints 1, 3 and 5 support  
bulk and interrupt USB packet transfers larger than the  
actual FIFO size. Therefore the firmware must update  
Figure 115 illustrates the operation of the transmit  
FIFOs.  
FLUSH (Resets TXRP and TXWP)  
TXRP  
TFnS - 1  
0x0  
+
TXFL = TXWP - TXRP  
+
TX FIFO n  
TXWP  
+
TCOUNT = TXRP - TXWP (= TFnS - TXFL)  
Figure 115: Tx FIFO operation  
TFnS: Transmit FIFO n Size  
This value indicates how many bytes are currently in  
the FIFO.  
This is the total number of bytes available within the  
FIFO.  
A FIFO warning is issued if TXFL decreases to a spe-  
cific value. The respective WARNn bit in the FWR reg-  
ister is set if TXFL is equal to or less than the number  
specified by the TFWL bit in the TXCn register.  
TXRP: Transmit Read Pointer  
This pointer is incremented every time the Endpoint  
Controller reads from the transmit FIFO. This pointer  
wraps around to zero if TFxS is reached. TXRP is  
never incremented beyond the value of the write  
pointer TXWP.  
TCOUNT: Transmit FIFO Count  
This value indicates how many empty bytes can be  
filled within the transmit FIFO. This value is accessible  
by firmware via the TXSn register.  
An underrun condition occurs if TXRP equals TXWP  
and an attempt is made to transmit more bytes when  
the LAST bit in the TXCMDx register is not set.  
31.9 RECEIVE ENDPOINT FIFO (RXFIFO2 TO  
RXFIFO6  
The Receive FIFOs for the Endpoints 2, 4 and 6 sup-  
port bulk, interrupt USB packet transfers larger than the  
actual FIFO size. If the packet length exceeds the FIFO  
size, the firmware must read the FIFO contents while  
the USB packet is being received on the bus.  
TXWP: Transmit Write Pointer  
This pointer is incremented every time the firmware  
writes to the transmit FIFO. This pointer wraps around  
to zero if TFnS is reached.  
If an attempt is made to write more bytes to the FIFO  
than actual space available (FIFO overrun), the write to  
the FIFO is ignored. If so, TCOUNT is checked for an  
indication of the number of empty bytes remaining.  
Figure 116 illustrates the operation of the Receive  
FIFOs.  
TXFL: Transmit FIFO Level  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
156 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
FLUSH (Resets RXRP and RXWP)  
RXRP  
RFnS - 1  
0x0  
RCOUNT = RXWP - RXRP  
+
+
RX FIFO n  
RXWP  
+
RXFL = RXRP - RXWP (= RFnS - RCOUNT)  
Figure 116: Rx FIFO operation  
RCOUNT: Receive FIFO Count  
RFnS: Receive FIFO n Size  
This is the total number of bytes available within the  
FIFO.  
This value indicates how many bytes can be read from  
the receive FIFO. This value is accessible by firmware  
via the RXSn register.  
RXRP: Receive Read Pointer  
31.10 INTERRUPT HIERARCHY  
This pointer is incremented with every read of the firm-  
ware from the receive FIFO. This pointer wraps around  
to zero if RFnS is reached. RXRP is never incremented  
beyond the value of RXWP.  
Figure 117 shows the register hierarchy for generating  
USB interrupt events. Each bit in the event register can  
be masked with by setting the corresponding bit in the  
xxxMSK_REG. A USBFS_IRQ to the CPU is generated  
if one or more bits in the MAEV_REG are set and the  
corresponding bits in the MAMSK_REG are set to ‘1’.  
Bit 7 in the MAMSK_REG is a global interrupt enabled  
for the USBFS_IRQ.  
If an attempt is made to read more bytes than are actu-  
ally available (FIFO underrun), the last byte is read  
repeatedly.  
RXWP: Receive Write Pointer  
This pointer is incremented every time the Endpoint  
Controller writes to the receive FIFO. This pointer  
wraps around to zero if RFnS is reached.  
An overrun condition occurs if RXRP equals RXWP  
and an attempt is made to write an additional byte.  
RXFL: Receive FIFO Level  
This value indicates how many more bytes can be  
received until an overrun condition occurs with the next  
write to the FIFO.  
A FIFO warning is issued if RXFL decreases to a spe-  
cific value. The respective WARNn bit in the FWR reg-  
ister is set if RXFL is equal to or less than the number  
specified by the RFWL bit in the RXCn register.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
157 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
USB_IRQ  
Interrupt  
MAMSK_REG  
MAEV  
RXMSK_REG  
RXEV_REG  
TXMSK_REG  
TXEV_REG  
FWMSK_REG  
FWEV_REG  
ALTMSK_REG  
ALTEV_REG  
NAKMSK_REG  
NAKEV_REG  
EP0_INNAK  
EP0_NAK  
EP0_OUTNAK  
TXS0  
TX_DONE  
TXC0  
TXD0  
RXS0  
RXC0  
RXD0  
EPC0  
RX_LAST  
FIFO0  
8 byte  
TX_DONE, TX_UDRRN  
TXS1-3  
TXC1-3  
TXD1-3  
RXS1-3  
RXC1-3  
RXD1-3  
EPC1,3,5  
TXFIFOn  
64 byte  
TXWARN  
RX_ERR, RX_LAST, RX_OVRR  
RWWARN  
EPC2,4,6  
RXFIFOn  
64 byte  
Figure 117: Interrupt Register hierarchy  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
158 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Selectable 25 kpull-up, pull-down resistors per pin  
32 Input/Output ports  
• Programmable open-drain functionality  
• Pull-up voltage at VBAT Voltage  
The DA14683 has software-configurable I/O pin  
assignment, organized into ports Port 0, Port1, Port2  
Port 3 and Port 4. Only ports 0, 1 and 2 are available at  
the WLCSP package. All ports are available at the  
QFN60 package.  
• Fixed assignment for analog pins ADC[7:0], QSPI  
and SDW  
• Pins retain their last state when system enters the  
Sleep or Deep Sleep mode.  
Features  
• Port 0: 8 pins, Port 1: 8 pins, Port 2: 5 pins, Port 3: 8  
pins, Port 4: 8 pins  
• P1_0, P1_2 and P0_6 are kept powered while in  
Extended Sleep  
• Fully programmable pin assignment  
Px_y  
Peripheral X input  
Px_DATA_REG (input)  
V33 or VDD1V8P  
PUPD  
PID  
Px_MODE_REG  
Peripheral X output  
Peripheral Y output  
Px_y  
Px_RESET_DATA_REG  
Px_SET_DATA_REG  
Px_DATA_REG (output)  
VSS  
Figure 118: Port P0, P1, P2, P3 and P4 with Programmable Pin Assignment  
32.1 PROGRAMMABLE PIN ASSIGNMENT  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
The Programmable Pin Assignment (PPA) provides a  
multiplexing function to the I/Os of on-chip peripherals.  
Any peripheral input or output signal can be freely  
mapped to any I/O port bit by setting  
Pxy_MODE_REG[4-0].  
In output mode and analog mode the pull-up/down  
resistors are automatically disabled.  
Refer to the Px_MODE_REGs for an overview of the  
available PIDs. Analog ADC has fixed pin assignment  
in order to limit interference with the digital domain.  
The SWD interface (JTAG) is mapped on P0_6 and  
P2_4.  
32.2 GENERAL PURPOSE PORT REGISTERS  
The general purpose ports are selected with PID=0.  
The port function is accessible through registers:  
• Px_DATA_REG: Port data input/output register  
The firmware has the possibility to assign the same  
peripheral output to more than one pin. It is the respon-  
sibility of the user to make a unique assignment.  
• Px_SET_OUTPUT_DATA_REG: Port set output reg-  
ister  
• Px_RESET_OUTPUT_DATA_REG: Port reset out-  
put register  
In case more than one input signal is assigned to a  
peripheral input, the left most pin in the lowest port pin  
number has priority. (e.g P00_MODE_REG has priority  
over P01_MODE_REG)  
32.2.1 Port Data Register  
The registers input Px_DATA_REG and output  
Px_DATA_REG are mapped on the same address.  
The port direction is controlled by setting:  
Pxy_MODE_REG[9:8]  
The data input register (Px_DATA_REG) is a read-only  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
159 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
register that returns the current state on each port pin  
even if the output direction is selected, regardless of  
the programmed PID, unless the analog function is  
selected (in this case it reads 0). The Arm CPU can  
read this register at any time even when the pin is con-  
figured as an output.  
external components are affected by GPIOs changing  
state when the system goes to sleep, but also to avoid  
any floating driving signals from power domains that  
are shut off leading to increasing power dissipation.  
The state of the pads is automatically latched by  
always-on latches by setting the PAD_LATCH_EN bit  
in the SYS_CTRL_REG. This bit will latch all digital  
control signals going into the pad as well as the data  
output, hence if the pad was set as an output driving  
high, it will retain its precise state.  
The data output register (Px_DATA_REG) holds the  
data to be driven on the output port pins. In this config-  
uration, writing to the register changes the output  
value.  
The signals in red in Figure 119 and Figure 120 are  
latched:  
32.2.2 Port Set Data Output Register  
Writing an  
1 in the set data output register  
(Px_SET_DATA_REG) sets the corresponding output  
pin. Writing a 0 is ignored.  
VDD  
Px_MODE_REG[PUPD]  
32.2.3 Port Reset Data Output Register  
Input Enable *  
V33  
VDD1V8  
Writing  
a 1 in the reset data output register  
(Px_RESET_DATA_REG) resets the corresponding  
output pin. Writing a 0 is ignored.  
25k  
VSS  
VDD  
Pullup  
Enable *  
32.3 FIXED ASSIGNMENT FUNCTIONALITY  
Open Drain *  
There are certain signals that have a fixed mapping on  
specific general purpose IOs. This assignment is illus-  
trated in Table 55:  
Data *  
PIN  
Output Enable *  
VSS  
active ESD  
Pulldown  
Enable *  
protection  
Analog  
ESD  
protection  
25k  
Table 55: Fixed Assignment of Specific Signals in  
Active Mode  
GND  
GPIO SWD  
P0_0  
QSPI  
ADC  
Digital PADs for GPIO w/wo analog  
Figure 119: Latching of digital pad signals  
QSPI_CLK  
QSPI_D0  
QSPI_D1  
QSPI_D2  
QSPI_D3  
QSPI_CS  
P0_1  
P0_2  
P0_3  
P0_4  
CLK_AMBA_REG[QSPI_ENABLE] = 1  
VDD  
VSS  
P0_5  
VDDIO  
P0_6 SWDIO  
P0_7  
ADC_4  
ADC_3  
ADC_5  
P1_0  
VDD  
QSPI_SLEW[1:0] *  
Data *  
P1_1  
PIN  
P1_2  
ADC_0  
ADC_2  
ADC_1  
ADC_6  
QSPI_DRV[1:0] *  
P1_3  
VSS  
P1_4  
active ESD  
40k  
protection  
P1_5  
P1_6  
GND  
P1_7  
Digital PADs for QSPI  
P2_3  
Figure 120: Latching of QSPI pad signals  
P2_4 SW_CLK  
ADC_3  
32.4 STATE RETENTION WHILE SLEEPING  
After waking up, the software must ensure disabling of  
the latching by de-asserting the PAD_LATCH_EN bit  
so that all pads are accessible and controllable again.  
Before setting the system to any of the sleep modes,  
the state of the pads needs to be retained so that no  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
160 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
In the case of the QSPI pads, the pad latching will be  
overwritten by the QSPI controller as soon as the clock  
of the controller is enabled.  
internal signals. These pins can be used by the appli-  
cation or for debugging purposes. Their mapping is  
presented in Table 56:  
There are 3 pins where their outputs are not latched  
during extended sleep but can be driven by various  
Table 56: Fixed assignment of specific signals in Extended Sleep Mode  
Pin  
Output Signal  
Programming  
P1_0  
Arm CPU OR of all interrupts  
Set BLE_CNTL2_REG[BLE_DIAG_OVR]=1 to overrule P1_0 and  
P1_2 GPIO settings.  
P1_2  
P0_6  
- lp_clk  
Set BLE_CNTL2_REG[BLE_DIAG_OVR]=1 to overrule P1_0 and  
P1_2 GPIO settings.  
Set BLE_CNTL2_REG[BLE_DIAG_OVR_SEL] to select the signal  
to output  
- Running_at_32K  
- CPU is in sleep mode  
- BLE core is in sleep mode  
PWM5 or  
Program CLK_TMR_REG[P06_TMR1_PWM_MODE]=1. This set-  
ting overrules the GPIO configuration.  
bandgap_en  
Program MAP_BANDGAP_EN = 1 (bit 4) of the PMU_CTRL_REG.  
This signal accurately shows the sleep/active timing of the chip.  
32.5 SPECIAL I/O CONSIDERATIONS  
There are certain considerations in using the GPIOs as  
explained below:  
To use P1_1 or P2_2 in GPIO mode,  
USBPAD_REG[USBPAD_EN] must be set. How-  
ever, the allowed levels on this pins are 0V and the  
voltage on V33 rail. If 1.8V is selected as the pin  
supply, then a current of 150 uA is to be expected.  
Moreover, these pins should not be used in sleep  
modes because the USBPAD_REG will be powered  
off (belongs to the peripheral power domain).  
• P1_0, P1_5 and P1_7 might affect radio perfor-  
mance if toggling while RF activity. It is recom-  
mended to use them at low speed and not while  
radio is active.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
161 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
• Bit stream processing (CRC, Whitening)  
• FDMA / TDMA / events formatting and synchroniza-  
33 BLE Core  
The Bluetooth Low Energy (BLE) core is a qualified  
Bluetooth 4.2 baseband controller compatible with  
Bluetooth Low Energy specification and it is in charge  
of packet encoding/decoding and frame scheduling.  
tion  
• Frequency Hopping calculation  
• Operating clock 16 or 8 MHz.  
Features  
• Low power modes supporting 32.0 kHz, 32.768 kHz  
or 11.7 kHz  
• Bluetooth Low Energy compliant according to the  
specification of the Bluetooth System, v4.2, Blue-  
tooth SIG.  
• Supports power down of the baseband during the  
protocol’s idle periods.  
• Dual Topology  
• AHB Slave interface for register file access.  
• Low duty cycle advertising  
• L2CAP connection oriented channels  
• AHB Slave interface for Exchange Memory access  
of CPU via BLE core.  
• All device classes support (Broadcaster, Central,  
Observer, Peripheral)  
• AHB Master interface for direct access of BLE core  
to Exchange Memory space  
• All packet types (Advertising / Data / Control)  
• Dedicated Encryption (AES / CCM)  
BLE Timer  
Registers  
AHB  
Slave  
AHB  
Master  
Radio  
BLE Core  
Test MUXes  
Bus Interface  
Control  
BLE_EM  
_BASE_  
REG  
Interrupt  
Generator  
AES  
CCM  
Radio  
Controller  
Frequency  
Selection  
Memory Controller  
Data  
Packet  
Controller  
Event  
Controller  
White List  
Search  
Event  
Scheduler  
Whitening  
CRC  
Figure 121: BLE Core Block Diagram  
33.2.1 Wake up IRQ  
33.1 ARCHITECTURE  
Once BLE core switches to “BLE Deep Sleep Mode”  
the only way to correctly exit from this state is by ini-  
tially generating the BLE_WAKEUP_LP_IRQ and con-  
secutively the BLE_SLP_IRQ. This sequence must be  
followed regardless of the cause of the termination of  
the “BLE Deep Sleep Mode”, i.e. either when if the BLE  
Timer expired or BLE Timer has been stopped due to  
the assertion of BLE_WAKEUP_REQ.  
33.1.1 Exchange Memory  
The BLE Core requires access to a memory space  
named “Exchange Memory” to store control structures  
and frame buffers. The access to Exchange Memory is  
performed via the AHB Master interface. The base  
address of the Exchange Memory is programmable by  
means of the BLE_EM_BASE register. The maximum  
addressable size of the BLE core is 64 kB.  
The  
assertion  
and  
de-assertion  
of  
BLE_WAKEUP_LP_IRQ is fully controlled via the  
33.2 PROGRAMMING  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
162 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
BLE_ENBPRESET_REG bit fields. Detailed descrip-  
tion is following:  
BLE_WAKEUP_LP_IRQ (i.e. to call the Arm instruction  
WFI). If programmed DEEPSLTIME is less than the  
aforementioned minimum value, then  
BLE_WAKEUP_LP_IRQ Handler may execute sooner  
than the call of Arm WFI instruction for example, caus-  
ing SW instability.  
TWIRQ_SET: Number of “ble_lp_clk” cycles before the  
expiration  
of  
the  
BLE  
Timer,  
when  
the  
BLE_WAKEUP_LP_IRQ will be asserted. It is recom-  
mended to select a TWIRQ_SET value larger than the  
time required for the XTAL16_TRIM_READY_DELAY  
event, plus the IRQ Handler execution time. If the pro-  
grammed value of TWIRQ_SET is less than the mini-  
mum required value, then the actual BLE sleep  
duration (refer to BLE_DEEPSLSTAT_REG) will be  
larger than the programmed sleep duration (refer to  
BLE_DEEPSLWKUP_REG).  
33.2.2 Switch from Active Mode to Deep Sleep  
Mode  
Software can set the BLE core into the “BLE Deep  
Sleep Mode”, by first programming the timing of  
BLE_WAKEUP_LP_IRQ  
generation  
in  
BLE_ENBPRESET_REG, then program the desired  
sleep duration at BLE_DEEPSLWKUP_REG and  
TWIRQ_RESET: Number of “ble_lp_clk” cycles before  
the expiration of the sleep period, when the  
BLE_WAKEUP_LP_IRQ will be de-asserted. It is rec-  
ommended to always set to “1”.  
finally  
set  
the  
register  
bit  
BLE_DEEPSLCNTL_REG[DEEP_SLEEP_ON]. The  
BLE Core will switch to the “ble_lp_clk” (32.0kHz or  
32.768 kHz) in order to maintain its internal 625us tim-  
ing reference. Software must poll the state of  
TWEXT:  
Determines  
the  
high  
period  
of  
BLE_WAKEUP_LP_IRQ, in the case of an external  
BLE_CNTL2_REG[RADIO_PWRDN_ALLOW]  
to  
wake  
up  
event  
(refer  
to  
Mini-  
detect the completion of this mode transition. Once the  
mode transition is completed, SW must disable the  
BLE clocks (“ble_master1_clk”, “ble_master2_clk” and  
GP_CONTROL_REG[BLE_WAKEUP_REQ]).  
mum value is "TWIRQ_RESET + X", where X is the  
number of “ble_lp_clk” clock cycles that  
“ble_crypt_clk”)  
by  
setting  
to  
“0”  
the  
BLE_WAKEUP_LP_IRQ will be held high. Recom-  
mended value is "TWIRQ_RESET + 1". Note that as  
soon as GP_CONTROL_REG[BLE_WAKEUP_REQ]  
is set to “1” the BLE_WAKEUP_LP_IRQ will be  
asserted.  
CLK_RADIO_REG[BLE_ENABLE] register bit. Finally,  
SW can optionally power down the BLE power domain  
by using the PMU_CTRL_REG[RADIO_SLEEP] and  
the Peripheral and System power domains as well.  
Figure 122 presents the waveforms while entering in  
BLE Deep Sleep Mode. In this case, SW, as soon as it  
detects that RADIO_PWRDOWN_ALLOW is “1”, it sets  
the PMU_CTRL_REG[BLE_SLEEP] to power down  
the BLE domain. At the following figures, the corre-  
sponding BLE Core signals are marked with red while  
BLE domain is in power down state.  
Minimum BLE Sleep Duration: The minimum value of  
BLE_DEEPSLWKUP_REG[DEEPSLTIME]  
time,  
measured in “ble_lp_clk” cycles, is the maximum of (a)  
“TWIRQ_SET + 1” and (b) the SW execution time from  
setting BLE_DEEPSLCNTL_REG[DEEP_SLEEP_ON]  
up  
to  
preparing  
CPU  
to  
accept  
the  
ble_lp_clk  
ble_master1_gclken  
ble_master1_clk  
tick_625us_p  
0
N
deepsltime[31:0] (hld)  
deep_sleep_on  
radio_pwrdown_allow  
deepsldur[31:0]  
0
1
2
3
Figure 122: Entering into BLE Deep Sleep Mode  
33.2.3 Switch from Deep Sleep Mode to Active  
Mode  
33.2.4 Switching on at anchor points.  
Figure 125 shows a typical deep sleep phase that is  
terminated at predetermined time. After a configurable  
time before the scheduled wake up time (configured  
via BLE_ENBPRESET_REG register bit fields), the  
BLE Timer asserts the BLE_WAKEUP_LP_IRQ in  
order to wake-up the CPU (powering up the System  
Power Domain). The BLE_WAKEUP_LP_IRQ Interrupt  
Handler will prepare the code environment and the  
There are two possibilities for BLE Core to terminate  
the BLE Deep Sleep mode:  
1. Termination at the end of a predetermined time.  
2. Termination on software wake-up request, due to an  
external event.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
163 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
XTAL  
16MHz  
stabilization  
(refer  
to  
detect that BLE Core is powered up. That means that if  
SYS_STAT_REG[XTAL16_SETTLED]) and will decide  
when the BLE Core will be ready to exit from the BLE  
Deep Sleep Mode.  
the SW requires more time to power up the BLE Core,  
then the final sleep duration (provided by  
BLE_DEEPSLSTAT_REG) will be larger than the pre-  
programmed value.  
Once the SW decides that BLE Core can wake up, it  
must  
enable  
the  
BLE  
clocks  
(via  
When BLE Timer is expired, BLE clocks are enabled  
and BLE Core is powered up, the BLE Core exists the  
“BLE Core Deep Sleep mode” and asserts the  
BLE_SLP_IRQ.  
CLK_RADIO_REG[BLE_ENABLE]) and power up the  
BLE  
PMU_CTRL_REG[BLE_SLEEP]  
SYS_STAT_REG[BLE_IS_UP]).  
Power  
Domain  
(refer  
to  
and  
After the expiration of the sleep period (as specified in  
BLE_DEEPSLWKUP_REG[DEEPSLTIME]) the BLE  
Timer will not exit the BLE Deep Sleep mode until it will  
twirq_reset=1  
ble_wakeup_lp_irq  
ble_slp_irq  
xtal16_settled  
ble_enable  
rad_is_up  
ble_lp_clk  
ble_master1_gclken  
ble_master1_clk  
N
0
N
deepsltime[31:0] (hld)  
deepsldur[31:0]  
finecnt[9:0]  
clk_status  
Figure 123: Exit BLE Deep Sleep Mode at predetermined time (zoom in)  
twirq_reset=1  
ble_wakeup_lp_irq  
ble_slp_irq  
xtal16_settled  
ble_enable  
rad_is_up  
ble_lp_clk  
ble_master1_gclken  
ble_master1_clk  
N
0
deepsltime[31:0] (hld)  
deepsldur[31:0]  
finecnt[9:0]  
N+5  
N
clk_status  
Figure 124: Exit BLE Deep Sleep Mode later than the predetermined time (zoom in)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
164 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
(N twirq_set)  
ble_wakeup_lp_irq  
ble_slp_irq  
mirror powerup  
down  
sys_state  
xtal16_settled  
ble_enable  
rad_is_up  
ble_master1_gclken  
ble_master1_clk  
deepsltime[31:0] (hld)  
deepsldur[31:0]  
finecnt[9:0]  
N
0
N
tick_625us_p  
Figure 125: Exit BLE Deep Sleep Mode at predetermined time (zoom out)  
33.2.5 Switching on due to an external event.  
At Figure 126 the BLE_WAKEUP_REQ has been  
asserted by SW as soon as possible, causing  
BLE_WAKEUP_LP_IRQ Handler to be executed as  
soon as possible. It is also possible to postpone the  
assertion of BLE_WAKEUP_REQ to occur after the  
detection of XTAL16_TRIM_READY, causing both  
BLE_WAKEUP_LP_IRQ and BLE_SLP_IRQ Handlers  
to execute sequentially. The decision depends on the  
software structure and the application.  
Figure 126 shows a wake up from a deep sleep period  
forced  
by  
the  
assertion  
of  
register  
bit  
GP_CONTROL_REG[BLE_WAKEUP_REQ].  
Assume that the system is in Deep Sleep state, i.e. all  
Power Domains have been switched off, and both the  
Wakeup Timer and Wakeup Controller have been pro-  
grammed appropriately. Then assume that an event is  
detected at one of the GPIOs. In that case, the SW will  
decide to wake-up the BLE core, and will set the  
GP_CONTROL_REG[BLE_WAKEUP_REQ] to “1” in  
order to force the wake up sequence.  
twext=1  
down  
mirror powerup  
sys_state  
wakeup_irq  
ble_wakeup_req  
xtal16_settled  
rad_is_up  
ble_wakeup_lp_irq  
ble_slp_irq  
N
0
deepsltime[31:0] (hld)  
deepsldur[31:0]  
finecnt[9:0]  
K<N  
tick_625us_p  
Figure 126: Exit BLE Deep Sleep Mode due to external event  
As soon as bit field BLE_WAKEUP_REQ is set to “1”  
the BLE_WAKEUP_LP_IRQ will be asserted. In that  
case, the high period of BLE_WAKEUP_LP_IRQ is  
controlled via TWEXT. The recommended value of  
TWEXT is "TWIRQ_RESET + 1", meaning that  
BLE_WAKEUP_LP_IRQ will remain high for one  
“ble_lp_clk” period.  
BLE_WAKEUP_REQ event can be disabled by setting  
BLE_DEEPSLCNTL_REG[EXTWKUPDSB].  
33.3 DIAGNOSTIC SIGNALS  
The BLE core provides several internal signals that can  
be mapped out on GPIOs to provide more insight on  
the real time operation. They can also be used for con-  
trolling external Front End Modules (FEMs) (e.g. as  
explained in Figure 133. These signals are named as  
As long as the BLE_WAKEUP_REQ is high, entering  
the sleep mode is prohibited. Please note that  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
165 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
BLE diagnostics (ble_diagx).  
Table 57: BLE diagnostics mapping on GPIOs  
BLE Diagnostics Port GPIO port  
There are 8 fixed ports that can be assigned BLE diag-  
nostic signals as presented in Table 57:  
ble_diag6  
ble_diag7  
P1_3  
P2_3  
Table 57: BLE diagnostics mapping on GPIOs  
BLE Diagnostics Port GPIO port  
There are 3 different configuration schemes which  
allow for specific internal signals to be mapped on the  
BLE Diagnostics Port. These are configured by pro-  
gramming the BLE_DIAGCNTLx_REG registers with  
specific values. The assignment of the internal signals  
on the diagnostic port depending on the configuration  
is presented in Table 58:  
ble_diag0  
ble_diag1  
ble_diag2  
ble_diag3  
ble_diag4  
ble_diag5  
P2_0  
P2_1  
P2_2  
P1_0  
P1_1  
P1_2  
Table 58: BLE diagnostic signals per configuration  
Diagnostics  
Registers value  
BLE signal  
Description  
Port  
BLE_DIAGCNTL_REG  
= 0x83838383  
BLE_DIAGCNTL2_REG  
= 0x83838383  
BLE_DIAGCNTL3_REG  
= 0x76543210  
ble_diag0  
ble_diag1  
ble_diag2  
radcntl_txen  
radcntl_rxen  
sync_window  
Radio controller Tx enable signal  
Radio controller Rx enable signal  
Defines the correlation window for the access address.  
See timing in Figure 127  
ble_diag3  
ble_diag4  
ble_diag5  
ble_diag6  
ble_diag7  
sync_found_pulse Access address detection pulse. Will be generated only  
if correlation is successful. See timing in Figure 127  
event_in_process Indicates that an BLE event is currently in process. See  
timing in Figure 133  
ble_event_irq  
A pulse designating the end of Advertising/Scanning/  
Connection events  
ble_rx_irq  
A pulse designating that a packet is received depend-  
ing on the configuration  
ble_error_irq  
A pulse indicating that the BLE core and the CPU are  
trying to access the same memory space at the same  
time  
BLE_DIAGCNTL_REG  
= 0x92929292  
BLE_DIAGCNTL2_REG  
= 0x92929292  
BLE_DIAGCNTL3_REG  
= 0x76543210  
ble_diag0  
ble_diag1  
ble_diag2  
rx_data  
BLE packet controller RX data bit  
rx_data_en  
rx_data_core  
BLE packet controller RX data bit qualifier  
BLE bit streaming RX data bit. Bit streaming engine  
consists of CRC and Whitening  
ble_diag3  
ble_diag4  
ble_diag5  
ble_diag6  
ble_diag7  
rx_data_core_en  
tx_data  
BLE bit streaming RX data bit qualifier  
BLE packet controller TX data bit  
BLE packet controller TX data bit qualifier  
BLE bit streaming TX data bit.  
tx_data_en  
tx_data_core  
tx_data_core_en  
BLE bit streaming TX data bit qualifier  
The sync_window and sync_found_pulse timing is pre-  
sented in Figure 127:  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
166 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 127: Diagnostics signals timing during correlation  
33.4 POWER PROFILE  
33.4.1 Advertising Event  
This section presents the current profile of the  
DA14683 when operating in the respective protocol  
mode as described in the following sections.  
The current profile of a Bluetooth Advertising event is  
presented in Figure 128:  
A B C  
D E  
F
GHK  
Figure 128: BLE Advertising power profile  
The current profile figure is divided into sections which  
represent different operations within the DA14683  
SoC. They are presented and explained in Table 59:  
Table 59: BLE Advertising profile breakdown  
Section Description Time (s)  
C
D
XTAL16M settling time  
1400  
2600  
Switched to XTAL16, BLE  
core is enabled  
Table 59: BLE Advertising profile breakdown  
E
F
WFI until the Radio starts  
250  
Section Description  
Time (s)  
500  
Radio activity (TX/RX) on  
3800  
A
B
Startup process  
1
channels 37, 38 and 39  
XTAL16M initial time  
1000  
G
BLE core sleep preparation 400  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
167 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 59: BLE Advertising profile breakdown  
(cached mode). The Advertising interval is 600 ms.  
Note, that overall time might vary depending on the  
protocol’s parameters.  
Section Description Time (s)  
H
K
OS sleep preparation  
Goto sleep process  
350  
400  
33.4.2 Connection Event  
The current profile of a Bluetooth Connection event is  
presented in Figure 129:  
1 Time between RX/TX on successive channels is 1.5 ms  
The overall charge required for this operation at 3V is  
20 uC while executing code from FLASH and ROM  
A B  
C
D
E F G H K  
Figure 129: BLE Connection power profile  
The current profile figure is divided into sections which  
represent different operations within the DA14683  
SoC. They are presented and explained in Table 60:  
protocol’s parameters.  
Table 60: BLE Connection profile breakdown  
Section Description  
Time (s)  
500  
A
B
C
D
Startup process  
XTAL16M initial time  
XTAL16M settling time  
1300  
1150  
Switched to XTAL16, BLE  
core is enabled  
2600  
E
F
WFI until the Radio starts  
Radio activity (RX, TX)  
450  
500  
G
H
K
BLE core sleep preparation 400  
OS sleep preparation  
Goto sleep process  
350  
400  
The overall charge required for this operation at 3V is  
10.6 uC while executing code from FLASH and ROM  
(cached mode). The Connection interval is 30 ms.  
Note, that overall time might vary depending on the  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
168 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Features  
34 CoEx Interface  
• 2.4 GHz Radio activity indication  
The DA14683 implements a coexistence interface for  
signalling radio activity to external 2.4 GHz co-located  
devices. A three wire interface is delivering information  
on the priority and the RF transmit/receive events.  
• Priority indication  
• Sensing of external module RF activity  
• Supports up to 2 external 2.4 GHz devices  
The CoEx interface and its connection to the rest of the  
system is displayed in Figure 130.  
ble_sync_found_p  
ble_rx_data  
DEM  
ble_rssi0  
ble_rssi1  
BLE Core  
(Link Layer)  
ble_freq_word  
ble_tx_data  
PLLDIG  
ble_tx_data_en  
EXT_ACT0  
2.4 GHz  
Ext Device  
SMART_ACT  
GPIO  
Mux  
SMART_ACT  
SMART_PRI  
radio_busy  
tx_en  
rx_en  
ble_plldig_en  
ble_dem_en  
SMART_PRI  
EXT_ACT1  
2.4 GHz  
Ext Device  
RFCU  
COEX  
EXT_ACT  
RADIO  
Figure 130: Coexistence interface  
34.1 ARCHITECTURE  
Furthermore, as depicted in Figure 34, the CoEx block  
is clocked by the same clock as the Digital PHY does.  
Hence the CLK_RADIO_REG[RFCU_EN] bit has to be  
asserted before programming the block’s registers.  
The coexistence external interface contains three sig-  
nals, namely:  
1. EXT_ACT0, EXT_ACT1: this is an input to the  
DA14683 and when asserted, it designates that  
an external 2.4GHz device is about to issue RF  
activity.  
Any GPIO can be selected to to act as EXT_ACT0 or  
EXT_ACT1,  
by  
just  
programming  
the  
Pxy_MODE_REG[PID]=48/49 (COEX_EXT_ACT0 or  
COEX_EXT_ACT1), hence two external devices can  
be supported with the same priority. The behaviour of  
the SMART_ACT (Pxy_MODE_REG[PID]=50) and  
SMART_PRI (Pxy_MODE_REG[PID]=51) output sig-  
nals is configurable by means of COEX_CTRL_REG  
and COEX_PRIx_REG registers. The SMART_ACT  
line will always be asserted if the DA14683 is about to  
2. SMART_ACT: this is an output from the  
DA14683 and when asserted it designates that  
the DA14683 is transmitting or receiving hence  
an external device should be aware of the radio  
activity. The exact timing of the assertion of this  
signal is depicted in Figure 131.  
start  
RF  
activity  
if  
3. SMART_PRI: this signal is communicating  
whether the DA14683 has priority over the exter-  
nal devices or not. If asserted, then the external  
devices could adjust their RF activity accord-  
ingly.  
COEX_CTRL_REG[SMART_ACT_IMPL]=0. On the  
contrary, if COEX_CTRL_REG[SMART_ACT_IMPL]=1  
then it is asserted only if DA14683 has higher priority  
than the external devices as programmed in  
COEX_PRIx_REG[COEX_PRI_MAC]. if not, then both  
SMART_ACT and SMART_PRI will be de-asserted as  
long as the EXT_ACT is high disabling the DA14683  
RF activity to avoid collisions with the external device.  
34.2 PROGRAMMING  
The CoEx block is in the same power domain as the  
Radio, namely PD_RAD. Hence, the power domain  
has to be enabled prior to programming the registers.  
An overview of the aforementioned scenarios is pre-  
sented in Figure 131.  
This  
can  
be  
done  
with  
PMU_CTRL_REG[PERIPH_SLEEP]=0.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
169 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
TXWWRUP  
RF BLE  
BLE_TX_EN  
(MAC output)  
RXWWRUP  
RF BLE  
BLE_RX_EN  
(MAC output)  
prefetch_time  
EVENT_IN_PROCESS  
(MAC output)  
EXT_ACT  
SMART_ACT  
(SMART_ACT_IMPL=0)  
SMART_PRI  
(COEX_PRI1_REG=BLE)  
SMART_PRI  
(COEX_PRI1_REG=EXT)  
SMART_ACT  
(SMART_ACT_IMPL=1  
COEX_PRI1_REG=BLE)  
SMART_PRI  
(COEX_PRI1_REG=BLE)  
SMART_ACT  
(SMART_ACT_IMPL=1  
COEX_PRI1_REG=EXT)  
SMART_PRI  
(COEX_PRI1_REG=EXT)  
Figure 131: Coexistence signalling cases  
Case 3:  
Case 1:  
Assuming COEX_CTRL_REG[SMART_ACT_IMPL]=0,  
the SMART_ACT signal will be asserted with the  
event_in_process BLE MAC signal which is an enve-  
lope of an RX and TX event. It will be de-asserted after  
the de-assertion of the event_in_process and as soon  
as the latest BLE activity is completed designated by  
an internal signal. SMART_PRI notifies whether the  
BLE has higher priority or not, hence if  
COEX_PRI1_REG[COEX_PRI_MAC]=BLE then it fol-  
In this case the external device has higher priority due  
to the COEX_PRI1_REG[COEX_PRI_MAC]=EXT.  
Thus, the SMART_ACT will not be asserted if an exter-  
nal device signals RF activity via EXT_ACT.  
SMART_PRI will be also be low as long as EXT_ACT  
is high.  
lows  
the  
SMART_ACT  
waveform.  
If  
COEX_PRI1_REG[COEX_PRI_MAC]=EXT then it will  
be de-asserted whenever the external device notifies  
its RF activity via EXT_ACT.  
Case 2:  
Assuming COEX_CTRL_REG[SMART_ACT_IMPL]=1,  
the SMART_ACT will be asserted only if BLE has prior-  
ity over the external devices and not always. In this  
case, the COEX_PRI1_REG[COEX_PRI_MAC]=BLE  
grants priority to the BLE hence the SMART_ACT and  
SMART_PRI are asserted at the same time.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
170 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Features  
35 Radio  
• Single ended RFIO interface, 50 matched  
The Radio Transceiver implements the RF part of the  
DA14683. It provides a 93dB RF link budget for reliable  
wireless communications.  
• Alignment free operation  
• -94.5 dBm receiver sensitivity  
• 0 dBm transmit output power  
• Ultra low power consumption  
• Fast frequency tuning minimises overhead  
All RF blocks are supplied by on-chip low-drop out-reg-  
ulators (LDOs). The bias scheme is programmable per  
block and optimized for minimum power consumption.  
The radio block diagram is given in Figure 132. It com-  
prises the Receiver, Transmitter, Synthesizer, Rx/Tx  
combiner block, and Biassing LDOs.  
Qoffset  
DAC  
RX_MIX  
RF_TXRX  
Demodulator  
IFQout  
IFQin  
Qin  
TIA  
+
+
LNA  
ADC  
ADC  
R
F
I
O
IFIout  
IFIin  
TIA  
Iin  
PA  
Ioffset  
DAC  
RXIF  
AGCcntrl  
Modulator  
rxloI  
RADIO680  
txloQ  
rxloQ  
PLL680  
CP  
LDOs /  
Bias  
vco  
LF  
f/2  
DAC  
PFD  
MD  
SYNTHCTRL  
TestMux  
DIG_2_Radio  
Interface  
fref  
divmod  
Xtal  
oscillator  
RFCU  
Figure 132: Radio Block Diagram  
35.1 ARCHITECTURE  
35.1.1 Receiver  
output signal. The VCO runs at twice the required fre-  
quency and a dedicated divide-by-2 circuit generates  
the 2.4 GHz signals in the required phase relations. Its  
frequency is controlled by a classic 3rd order type II  
PLL with a passive loop filter, operated in fractional-N  
mode. The reference frequency is the 16 MHz crystal  
clock. The multi-modulus divider has a nominal divide  
ratio of 153 which is varied by a  modulator. The  
modulation of the TX frequency is performed by 2-point  
modulation. The fractional divide ratio also contains the  
shaped TX data stream. A second modulation path  
feeds the TX data stream directly to the VCO. The lat-  
ter path is automatically calibrated from time to time to  
align the low and high frequency parts of the 2-point  
modulation scheme.  
The RX frontend consists of a selective matching net-  
work, a low noise amplifier (LNA) and an image rejec-  
tion down conversion mixer. The LNA gain is controlled  
by the AGC.  
The intermediate frequency (IF) part of the receiver  
comprises a complex filter and 2 variable gain amplifi-  
ers. This provides the necessary signal conditioning  
prior to digitalization. The digital demodulator block  
(DEM) provides a synchronous bit stream.  
35.1.2 Synthesizer  
The RF Synthesizer generates the quadrature LO sig-  
nal for the mixer, but also generates the modulated TX  
35.1.3 Transmitter  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
171 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
The RF power amplifier (RFPA) is an extremely effi-  
cient Class-D structure, providing typically 0 dBm to the  
antenna. It is fed by the VCO’s divide-by-2 circuit and  
delivers its TX power to the antenna pin through the  
combined RX/TX matching circuit.  
35.1.6 Control  
The radio control unit (RFCU), controls the block timing  
and configuration registers. The BLE interfaces directly  
with the RFCU. The DA14683 can be put in test mode  
using  
a
standard  
Bluetooth  
tester  
(e.g.  
Rohde & Schwarz CBT with K57 option) by connecting  
the antenna terminal for the RF link and the UART as  
described in section 23.7.  
35.1.4 RFIO  
The RX/TX combiner block is a unique feature of the  
DA14683. It makes sure that the received power is  
applied to the LNA with minimum losses towards the  
RFPA. In TX mode, the LNA poses a minimal load for  
the RFPA and its input pins are protected from the  
RFPA. In both modes, the single ended RFIO port is  
matched to 50 , in order to provide the simplest possi-  
ble interfacing to the antenna on the printed circuit  
board.  
35.2 DYNAMIC CONTROLLED FUNCTIONS  
The RF control unit (RFCU) provides the capability of  
controlling 5 signals which can be used for controlling a  
Front End Module or an external Power Amplifier. The  
timing granularity of the DCF signals is 1 us. The DCFs  
can be output on any GPIO using PID numbers 55 to  
59.  
The programming of the DCF signals are with respect  
to the rising and falling edges of the TX_EN or RX_EN  
signals from the BLE MAC, as depicted in Figure 133:  
35.1.5 Biassing  
All RF blocks are supplied by on-chip low-drop out-reg-  
ulators (LDOs). The bias scheme is programmable per  
block and optimized for minimum power consumption.  
Programmable through  
RF_CNTRL_TIMER_x_REG[RESET_O  
FFSET]  
1us granularity, up to 256us  
Counts fromTX/RX_EN neg edge  
Programmable through  
Programmable through  
Programmable through  
RF_CNTRL_TIMER_x_REG[SET_OFF  
SET]  
1us granularity, up to 256us  
Counts from TX/RX_EN pos edge  
BLE_RADIOPWRUPDN_REG[RXPWRUP]  
1us granularity, up to 256us  
There is a minimum value  
(Preferred Settings)  
BLE_RADIOPWRUPDN_REG[TXPWRUP]  
1us granularity, up to 256us  
There is a minimum value  
(Preferred Settings)  
RF BLE  
BLE_TX_EN  
(MAC out)  
RF BLE  
BLE_RX_EN  
(MAC out)  
DCFs (2731)  
(RFCU out)  
This signal is asserted when TX/RX_EN is high and  
deasserted when RX/TX_EN is low  
BLE_IN_PROCESS  
(MAC diagnostics out)  
EVENT_IN_PROCESS  
(MAC diagnostics out)  
Programmable through  
BLE_TIMGENCNTL_REG[prefetch_time]  
1us granularity, up to 256us  
Time before the TX/RX_EN posedge. This signal envelops RX/  
TX activity  
Figure 133: DCF signals programming  
35.3 DIAGNOSTIC SIGNALS  
There are diagnostic signals that can trigger the  
rf_diag_irq interrupt line. There are 2 signals from the  
BLE MAC and 2 signals from the Radio that can actu-  
ally be programmed to act as this interrupt line  
Table 61: RF_DIAG_IRQ source selection  
Word Sel  
WSELx= 0 or 1  
WSELx= 2 or 3  
Bit Sel  
sources.  
They  
are  
controlled  
by  
the  
RF_DIAGIRQ01_REG and RF_DIAGIRQ23_REG reg-  
isters. The overview of the options is provided in Table  
61:  
BSELx=7  
BSELx=6  
BSELx=5  
BSELx=4  
ble_diag7  
ble_diag6  
ble_diag5  
ble_diag4  
TX_EN  
RX_EN  
DCF26  
DCF25  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
172 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 61: RF_DIAG_IRQ source selection  
Word Sel  
Bit Sel  
WSELx= 0 or 1  
WSELx= 2 or 3  
BSELx=3  
BSELx=2  
BSELx=1  
BSELx=0  
ble_diag3  
ble_diag2  
ble_diag1  
ble_diag0  
DCF24  
DCF23  
DCF22  
DCF21  
There are 4 different selections in these 2 registers  
namely DIAGIRQ_WSEL_0 to DIAGIRQ_WSEL_3  
(designated as WSELx in Table 61) and  
DIAGIRQ_BSEL_0 to DIAGIRQ_BSEL_3 (designated  
as BSELx in Table 61). They are identical allowing for  
different signals combinations for the interrupt genera-  
tion.  
The exact definition of the ble_diagx signals are  
described in Table 58.  
The DCF21 to DCF26 signals are programmable tim-  
ers as explained in the previous section and are used  
to trigger events in the Radio circuitry.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
173 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
36 Memory map  
This section contains a detailed view of the DA14683 memory map.  
Table 62: Memory Map  
Address  
0x0  
Description  
Remapped Device  
ROM  
Power Domain  
AMBA  
0x7F00000  
0x7F40000  
0x7F80000  
0x7FC0000  
0x7FE0000  
0x8000000  
0xC000000  
0xC0FFFFF  
0x40000000  
0x40020000  
0x40030000  
0x40040000  
0x40060000  
0x400A0000  
0x400B0000  
0x400C3000  
0x40098000  
0x50000000  
0x50000100  
0x50000200  
0x50000300  
0x50001000  
0x50001100  
0x50001200  
0x50001300  
0x50001400  
0x50001500  
0x50001600  
0x50001700  
0x50001800  
0x50001900  
0x50001A00  
0x50001B00  
0x50001C00  
0x50001C4A  
0x50002000  
0x50002D00  
0x50002E00  
0x50002F00  
SYS_PD  
SYS_PD  
SYS_PD  
SYS_PD  
SYS_PD  
SYS_PD  
SYS_PD  
AHB  
AHB  
AHB  
AHB  
AHB  
AHB  
AHB  
OTPC  
OTP  
DataRAM  
CacheRAM  
QSPI FLASH  
QSPIC  
Reserved  
BLEC  
AES-HASH  
ECC_M  
BLE_PD  
SYS_PD  
SYS_PD  
SYS_PD  
AHB  
AHB  
AHB  
AHB  
TRNG_M  
Reserved  
CACHE_MTR  
CACHE_MDR  
CACHEC_MRM  
SYS_PD  
SYS_PD  
SYS_PD  
AHB  
AHB  
AHB  
Reserved  
CRG  
WKUPC  
TIM1  
AON_PD  
AON_PD  
AON_PD  
APB16  
APB16  
APB16  
Reserved  
UART  
UART2  
SPI  
PER_PD  
PER_PD  
PER_PD  
PER_PD  
PER_PD  
PER_PD  
PER_PD  
PER_PD  
PER_PD  
PER_PD  
PER_PD  
PER_PD  
PER_PD  
APB16  
APB16  
APB16  
APB16  
APB16  
APB16  
APB16  
APB16  
APB16  
APB16  
APB16  
APB16  
APB16  
SPI2  
I2C  
I2C2  
KEYSC  
IR  
USB  
ADC  
QDEC  
ANAMISC  
CRG_PERIPH  
Reserved  
RFCU  
PLLDIG  
DEMOD  
COEX  
RAD_PD  
RAD_PD  
RAD_PD  
RAD_PD  
APB16  
APB16  
APB16  
APB16  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
174 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 62: Memory Map  
Address  
Description  
GPIOMUX  
WDOGTIM  
VERSION  
GPREG  
TIM0/2  
Power Domain  
SYS_PD  
SYS_PD  
SYS_PD  
SYS_PD  
SYS_PD  
SYS_PD  
SYS_PD  
PER_PD  
SYS_PD  
RAD_PD  
AMBA  
APB16  
APB16  
APB16  
APB16  
APB16  
APB16  
APB16  
APB32  
APB32  
APB16  
0x50003000  
0x50003100  
0x50003200  
0x50003300  
0x50003400  
0x50003500  
0x50003600  
0x50004000  
0x50005000  
0x50006000  
0x50006100  
0xE0000000  
DMA  
RFPT  
APU  
TRNG  
ECC  
Reserved  
SYS_PD  
Arm Internal Bus  
Note: AHB implies a full 32-bit aligned address space  
and a 32 bit data bus. APB16 implies a 16-bit aligned  
address space and 16-bit data bus. APB32 implies a  
32-bit aligned address space and a 32-bit data bus.  
Byte accesses on either APB16 or APB32 are not  
allowed.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
175 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
37 Registers  
This section contains a detailed view of the DA14683 registers. It also describes the bitfields in certain registers that  
will retain their value even if the power domain they reside in is shut off.  
Table 63: Retention Registers  
Register  
Bit field  
Table 63: Retention Registers  
QSPIC_CTRLMODE QSPIC_AUTO_MD  
Register  
Bit field  
_REG  
QSPIC_CLK_MD  
BLE_CNTL2_REG  
EMACCERRSTAT  
EMACCERRACK  
EMACCERRMSK  
BLE_DIAG_OVRWR_7_5  
BLE_CLK_STAT  
MON_LP_CLK  
QSPIC_IO2_OEN  
QSPIC_IO3_OEN  
QSPIC_IO2_DAT  
QSPIC_IO3_DAT  
QSPIC_HRDY_MD  
QSPIC_RXD_NEG  
QSPIC_RPIPE_EN  
QSPIC_PCLK_MD  
RADIO_PWRDN_ALLOW  
BLE_CLK_SEL  
BB_ONLY  
QSPIC_FORCENSEQ_EN  
SW_RPL_SPI  
QSPIC_USE_32BA  
WAKEUPLPSTAT  
BLE_RSSI_SEL  
BLE_EM_BASE_10_16  
QSPIC_ERASECMD QSPIC_ERS_INST  
A_REG  
QSPIC_WEN_INST  
BLE_EM_BASE_RE  
G
QSPIC_SUS_INST  
QSPIC_RES_INST  
QSPIC_BURSTBRK_ QSPIC_BRK_WRD  
REG  
QSPIC_ERASECMD QSPIC_ERS_TX_MD  
QSPIC_BRK_EN  
B_REG  
QSPIC_WEN_TX_MD  
QSPIC_BRK_SZ  
QSPIC_BRK_TX_MD  
QSPIC_SUS_TX_MD  
QSPIC_RES_TX_MD  
QSPIC_EAD_TX_MD  
QSPIC_ERS_CS_HI  
QSPIC_ERSRES_HLD  
QSPIC_RESSUS_DLY  
QSPIC_SEC_HF_DS  
QSPIC_BURSTCMD QSPIC_INST  
A_REG  
QSPIC_INST_WB  
QSPIC_EXT_BYTE  
QSPIC_INST_TX_MD  
QSPIC_GP_REG  
QSPIC_PADS_DRV  
QSPIC_PADS_SLEW  
QSPIC_ADR_TX_MD  
QSPIC_EXT_TX_MD  
QSPIC_STATUSCMD QSPIC_RSTAT_INST  
QSPIC_DMY_TX_MD  
_REG  
QSPIC_RSTAT_TX_MD  
QSPIC_BURSTCMD QSPIC_DAT_RX_MD  
B_REG  
QSPIC_RSTAT_RX_MD  
QSPIC_BUSY_POS  
QSPIC_BUSY_VAL  
QSPIC_EXT_BYTE_EN  
QSPIC_EXT_HF_DS  
QSPIC_DMY_NUM  
QSPIC_INST_MD  
QSPIC_RESSTS_DLY  
QSPIC_STSDLY_SEL  
QSPIC_WRAP_MD  
QSPIC_WRAP_LEN  
QSPIC_WRAP_SIZE  
QSPIC_CS_HIGH_MIN  
QSPIC_DMY_FORCE  
QSPIC_UCODE_STA QSPIC_UCODE_X  
RT  
CACHE_ASSOCCFG CACHE_ASSOC  
_REG  
CACHE_CTRL1_RE  
G
CACHE_FLUSH  
CACHE_RES1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
176 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 63: Retention Registers  
1 : Cache registers are only retained if  
PMU_CTRL_REG[RETAIN_CACHE=1]  
Register  
Bit field  
CACHE_CTRL2_RE  
CACHE_LEN  
CACHE_WEN  
CACHE_CGEN  
1
G
ENABLE_ALSO_OTP_CAC  
HED  
ENABLE_ALSO_QSPIFLAS  
H_CACHED  
CACHE_CTRL3_RE  
G
CACHE_ASSOCIATIVITY_  
RESET_VALUE  
CACHE_LINE_SIZE_RESE  
T_VALUE  
CACHE_RAM_SIZE_RESE  
T_VALUE  
CACHE_CONTROLLER_R  
ESET  
CACHE_LNSIZECFG CACHE_LINE  
_REG  
CACHE_MRM_CTRL MRM_START  
_REG  
MRM_IRQ_MASK  
MRM_IRQ_TINT_STATUS  
MRM_IRQ_THRES_STATU  
S
CACHE_MRM_HITS MRM_HITS  
_REG  
CACHE_MRM_MISS MRM_MISSES  
ES_REG  
CACHE_MRM_THRE MRM_THRES  
S_REG  
CACHE_MRM_TINT_ MRM_TINT  
REG  
SWD_RESET_REG  
OTPC_MODE_REG  
SWD_HW_RESET_REQ  
OTPC_MODE_MODE  
OTPC_NWORDS  
OTPC_NWORDS_R  
EG  
OTPC_TIM1_REG  
OTPC_TIM1_CC_T_CADX  
OTPC_TIM1_CC_T_PW  
OTPC_TIM1_CC_T_1US  
OTPC_TIM1_CC_T_500NS  
OTPC_TIM1_CC_T_200NS  
OTPC_TIM1_CC_T_25NS  
OTPC_TIM2_REG  
DEBUG_REG  
OTPC_TIM2_CC_STBY_TH  
R
OTPC_TIM2_CC_T_BCHK  
OTPC_TIM2_RDENL_PRO  
T
DEBUGS_FREEZE_EN  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
177 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
37.1 OTPC REGISTER FILE  
Table 64: Register map OTPC  
Address  
Port  
Description  
0x07F40000  
0x07F40004  
0x07F40008  
0x07F4000C  
0x07F40010  
0x07F40014  
0x07F40018  
0x07F4001C  
OTPC_MODE_REG  
OTPC_PCTRL_REG  
OTPC_STAT_REG  
OTPC_AHBADR_REG  
OTPC_CELADR_REG  
OTPC_NWORDS_REG  
OTPC_FFPRT_REG  
OTPC_FFRD_REG  
Mode register  
Bit-programming control register  
Status register  
AHB master start address  
Macrocell start address  
Number of words  
Ports access to fifo logic  
The data which have taken with the latest read from  
the OTPC_FFPRT_REG  
0x07F40020  
0x07F40024  
OTPC_PWORDL_REG  
OTPC_PWORDH_REG  
The 32 lower bits of the 64-bit word that will be pro-  
grammed, when the MPROG mode is used.  
The 32 higher bits of the 64-bit word that will be pro-  
grammed, when the MPROG mode is used.  
0x07F40028  
0x07F4002C  
OTPC_TIM1_REG  
OTPC_TIM2_REG  
Various timing parameters of the OTP cell.  
Various timing parameters of the OTP cell.  
Table 65: OTPC_MODE_REG (0x07F40000)  
Bit  
Mode Symbol  
Description  
Reserved  
Reserved  
Reserved  
Reset  
0x0  
31:30  
29:28  
27:10  
9
-
-
-
-
-
0x0  
-
0x0  
R/W  
OTPC_MODE_RLD_  
RR_REQ  
Write with 1 in order to be requested the reloading of the  
repair records. The reloading of the repair records will be  
performed at the next enabling of the OTP cell. That means  
that first the controller should be configured to the STBY  
mode and after should be activated any other mode. The  
hardware will clear this register, when the reloading will be  
performed.  
0x0  
The reloading has meaning only if the repair records have  
been updated manually (MPROG mode).  
8
7
R/W  
OTPC_MODE_USE_  
SP_ROWS  
Selects the memory area of the OTP cell that will be used.  
0: Uses the normal memory area of the OTP cell  
1: Uses the spare rows of the OTP cell  
This selection has meaning only if the mode of the controller  
is not TDEC and TWR. The controller should be in STBY  
mode, in order to takes into account this bit. The selection  
will take effect at the next mode that will be enabled.  
0x0  
0x0  
-
-
Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
178 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 65: OTPC_MODE_REG (0x07F40000)  
Bit  
Mode Symbol  
Description  
Reset  
6
R/W  
OTPC_MODE_ERR_ When is performed a read from the OTP memory in the  
0x0  
RESP_DIS  
MREAD mode, a double error is likely be detected during the  
retrieving of the data from the OTP. This error condition is  
always indicated in the status bit  
OTPC_STAT_REG[OTPC_STAT_RERROR]. However, the  
OTP controller has also the ability to indicates this error con-  
dition, by generating an ERROR response in the AHB bus.  
The generation of the ERROR response can be avoided with  
the help of this configuration bit.  
0: The OTP controller generates an ERROR response in the  
AHB bus, when a double error is detected during a reading  
in MREAD mode. The  
OTPC_STAT_REG[OTPC_STAT_RERROR] is also  
updated. The receiving of an ERROR response by the CPU  
causes a Hard Fault exception in the CPU.  
1: Only the OTPC_STAT_REG[OTPC_STAT_RERROR] is  
updated in a case of such error. The OTP controller will not  
generate an ERROR response in the AHB bus.  
5
4
R0/W  
R/W  
OTPC_MODE_FIFO  
_FLUSH  
By writing with 1, removes any content from the fifo. This bit  
returns automatically to value 0.  
0x0  
0x0  
OTPC_MODE_USE_  
DMA  
Selects the use of the dma, when the controller is configured  
in one of the modes: AREAD or APROG.  
0: The dma is not used. The data should be transferred from/  
to controller through the register OTPC_FFPRT_REG.  
1: The dma is used. The data transfers from/to controller are  
performed automatically, with the help of the internal DMA of  
the OTP controller. The AHB base address should be config-  
ured in register OTPC_AHBADR_REG, before the selection  
of one of the two modes: AREAD or APROG.  
3
-
-
Reserved  
0x0  
0x0  
2:0  
R/W  
OTPC_MODE_MOD  
E
Defines the mode of operation of the OTPC controller. The  
encoding of the modes is as follows:  
0x0: STBY mode  
0x1: MREAD mode  
0x2: MPROG mode  
0x3: AREAD mode  
0x4: APROG mode  
0x5: TBLANK mode  
0x6: TDEC mode  
0x7: TWR mode  
Table 66: OTPC_PCTRL_REG (0x07F40004)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:16  
15  
-
-
Reserved  
R0/W  
OTPC_PCTRL_PST  
ART  
Write with '1' to trigger the programming of one OTP word, in  
the case where the MPROG mode is selected. The bit is  
cleared automatically. The 64-bits that will be programmed  
into the OTP memory are contained into the two registers  
OTPC_PWORDx_REG.  
0x0  
This bit should be used when a new programming is initi-  
ated, but also when the programming must be retried.  
The OTPC_PCTRL_WADDR defines the OTP position  
where will be performed the programming.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
179 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 66: OTPC_PCTRL_REG (0x07F40004)  
Bit  
Mode Symbol  
Description  
Reset  
14  
R/W  
OTPC_PCTRL_PRE  
TRY  
It distinguishes the first attempt of a programming of an OTP  
position, from a retry of programming.  
0x0  
0: A new value will be programmed in a blank OTP position.  
The hardware will try to write all the bits that are equal to '1'.  
1: The programming that is applied is not the first attempt,  
but is a request for reprogramming. Will be processed only  
the bits that were failed to be programmed during the previ-  
ous attempt. The hardware knows the bits that were failed  
during the previous attempt.  
The registers OTPC_PWORDx_REG should contain the 64  
bits of the value that should be programmed, independent of  
the value of the OTPC_PCTRL_PRETRY bit.  
Also, the OTPC_PCTRL_WADDR should contain always the  
required OTP address.  
A retry of a programming should be requested only if the pre-  
vious action was the first attempt of programming or a retry  
of programming. Should not be requested a retry if the first  
attempt has not been performed.  
13  
-
-
Reserved  
0x0  
0x0  
12:0  
R/W  
OTPC_PCTRL_WAD  
DR  
Defines the OTP position where will be programmed the 64-  
bits that are contained into the registers  
OTPC_PWORDx_REG. It points to a physical 72 bits OTP  
word.  
Table 67: OTPC_STAT_REG (0x07F40008)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:30  
29:16  
-
-
Reserved  
R
OTPC_STAT_NWOR  
DS  
It contains the "live" value of the number of (32 bits) words  
that remain to be processed by the controller.  
0x0  
15:12  
11:8  
-
-
Reserved  
0x0  
0x0  
R
OTPC_STAT_FWOR  
DS  
Indicates the number of words which contained in the fifo of  
the controller.  
7
6
5
R0/  
WC  
OTPC_STAT_RERR  
OR  
Indicates that during a normal reading (MREAD or AREAD)  
was reported a double error by the SECDED logic. That  
means that the data are corrupted.  
0: The read data are considered as correct.  
1: The SECDED logic detects a double error.  
This bit can be cleared only with a write with '1'.  
0x0  
0x1  
0x0  
R
R
OTPC_STAT_ARDY  
Should be used to monitor the progress of the AREAD and  
APROG modes.  
0: One of the APROG or AREAD mode is selected. The con-  
troller is busy.  
1: The controller is not in an active AREAD or APROG  
mode.  
OTPC_STAT_TERR  
OR  
Indicates the result of a test sequence. Should be checked  
after the end of a TBLANK, TDEC and TWR mode  
(OTPC_STAT_TRDY = 1).  
0: The test sequence ends with no error.  
1: The test sequence has failed.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
180 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 67: OTPC_STAT_REG (0x07F40008)  
Bit  
Mode Symbol  
Description  
Reset  
4
R
OTPC_STAT_TRDY  
Indicates the state of a test mode. Should be used to monitor  
the progress of the TBLANK, TDEC and TWR modes.  
0: The controller is busy. One of the test modes is in pro-  
gress.  
0x1  
1: There is no active test mode.  
3
R
OTPC_STAT_PZER  
O
Indicates that the programming sequence has been avoided  
during a programming request, due to that the word that  
should be programmed is equal to zero.  
0x0  
0: At least one bit has been programmed into the OTP.  
1: The programming has not been performed. All the bits of  
the word that should be programmed are equal to zero.  
When the controller is in MPROG mode, this bit can be  
checked after the end of the programming process  
(OTPC_STAT_PRDY = 1).  
During APROG mode, the value of this field it is normal to  
changing periodically. After the end of the APROG mode  
(OTPC_STAT_ARDY = 1), this field indicates that one or  
more of words that have been processed are equal to zero.  
2
R
OTPC_STAT_PERR_ Indicates that a correctable error has been occurred during  
0x0  
COR  
the word programming process.  
0: There is no correctable error in the word-programming  
process.  
1: The process of word - programming reported a correcta-  
ble error.  
The correctable error occurs when exactly one bit in an OTP  
position cannot take the required value. This is not a critical  
failure in the programming process. The data can still be  
retrieved correctly by the OTP memory, due to that the error  
correcting algorithm can repair the corrupted bit.  
When the controller is in MPROG mode, this bit can be  
checked after the end of the programming process  
(OTPC_STAT_PRDY = 1).  
During APROG mode, the value of this field it is normal to  
changing periodically. After the end of the APROG mode  
(OTPC_STAT_ARDY = 1), this field indicates that one or  
more words had a correctable error.  
1
R
OTPC_STAT_PERR_ Indicates that an uncorrectable error has been occurred dur- 0x0  
UNC  
ing the word programming process.  
0: There is no uncorrectable error in the word-programming  
process.  
1: The process of word-programming failed due to an uncor-  
rectable error.  
An uncorrectable error is considered when two or more of  
the bits in an OTP position cannot take the required values.  
This is a critical failure in the programming process, which  
means that the data cannot corrected by the single error cor-  
recting algorithm.  
When the controller is in MPROG mode, this bit should be  
checked after the end of the programming process  
(OTPC_STAT_PRDY = 1).  
During APROG mode, the value of this field it is normal to  
changing periodically. After the end of the APROG mode  
(OTPC_STAT_ARDY = 1), this field indicates if the program-  
ming was failed or ended successfully.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
181 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 67: OTPC_STAT_REG (0x07F40008)  
Bit  
Mode Symbol  
OTPC_STAT_PRDY  
Description  
Reset  
0
R
Indicates the state of a bit-programming process.  
0: The controller is busy. A bit-programming is in progress  
1: The logic which performs bit-programming is idle.  
When the controller is in MPROG mode, this bit should be  
used to monitor the progress of a programming request.  
During APROG mode, the value of this field it is normal to  
changing periodically.  
0x1  
Table 68: OTPC_AHBADR_REG (0x07F4000C)  
Bit  
Mode Symbol  
R/W OTPC_AHBADR  
Description  
Reset  
31:2  
It is the AHB address used by the AHB master interface of  
the controller (the bits [31:2]). The bits [1:0] of the address  
are considered always as equal to zero.  
0x1FF00  
00  
The value of the register remains unchanged, by the internal  
logic of the controller.  
1:0  
-
-
Reserved  
0x0  
Table 69: OTPC_CELADR_REG (0x07F40010)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:30  
29:16  
-
-
Reserved  
R
OTPC_CELADR_LV  
This is a readonly field that contains the "live" value of the  
OTP cell address as it is used by the hardware of the OTPC  
controller during the AREAD and the APROG modes. The  
value of the register is updated only while the OTPC is in  
AREAD or the APROG mode.  
0x0  
15:14  
13:0  
-
-
Reserved  
0x0  
0x0  
R/W  
OTPC_CELADR  
It represents an OTP address, where the OTP word width  
should be considered equal to 32-bits.  
The physical word width of the OTP memory is 72 bits. The  
8-bits of them are used for the implementation of an error  
correcting code and are not available for the application. The  
remaining 64 bits of the physical word are available for the  
application.  
The OTPC_CELADDR can distinguish the upper 32 bits  
from the lower 32 bits of the available for the application bits  
of the OTP word.  
When OTPC_CELADDR[0] = 1 the address refers to the  
upper 32 bits of the physical OTP address  
OTPC_CELADDR[14:1].  
The register is used during the modes: AREAD and APROG.  
The value of the register remains unchanged, by the internal  
logic of the controller.  
Table 70: OTPC_NWORDS_REG (0x07F40014)  
Bit  
Mode Symbol  
Description  
Reset  
31:14  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
182 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 70: OTPC_NWORDS_REG (0x07F40014)  
Bit  
Mode Symbol  
R/W OTPC_NWORDS  
Description  
Reset  
13:0  
The number of words (minus one) for reading /programming  
during the AREAD/APROG mode.  
0x0  
The width of the word should be considered equal to 32-bits.  
The value of the register remains unchanged, by the internal  
logic of the controller.  
During mirroring, this register reflects the current ammount  
of copied data.  
Table 71: OTPC_FFPRT_REG (0x07F40018)  
Bit  
Mode Symbol  
R/W OTPC_FFPRT  
Description  
Reset  
31:0  
Provides access to the fifo through an access port.  
Write to this register with the corresponding data, when the  
APROG mode is selected and the dma is disabled.  
Read from this register the corresponding data, when the  
AREAD mode is selected and the dma is disabled.  
The software should check the OTPCC_STAT_FWORDS  
register for the availability of data/space, before accessing  
the fifo.  
0x0  
Table 72: OTPC_FFRD_REG (0x07F4001C)  
Bit  
Mode Symbol  
OTPC_FFRD  
Description  
Reset  
31:0  
R
Contains the value which taken from the fifo, after a read of  
the OTPC_FFPRT_REG register.  
0x0  
Table 73: OTPC_PWORDL_REG (0x07F40020)  
Bit  
Mode Symbol  
R/W OTPC_PWORDL  
Description  
Reset  
31:0  
Contains the lower 32 bits that can be programmed with the  
help of the OTPC_PCTRL_REG, while the controller is in  
MPROG mode.  
0x0  
Table 74: OTPC_PWORDH_REG (0x07F40024)  
Bit  
Mode Symbol  
R/W OTPC_PWORDH  
Description  
Reset  
31:0  
Contains the upper 32 bits that can be programmed with the  
help of the OTPC_PCTRL_REG, while the controller is in  
MPROG mode.  
0x0  
Table 75: OTPC_TIM1_REG (0x07F40028)  
Bit  
Mode Symbol  
Description  
Reset  
31  
R/W  
R/W  
R/W  
R/W  
OTPC_TIM1_CC_T_  
25NS  
The number of hclk_c clock periods (minus one) that give a  
time interval at least higher than 25 ns.  
0x0  
30:27  
26:22  
21:16  
OTPC_TIM1_CC_T_  
200NS  
The number of hclk_c clock periods (minus one) that give a  
time interval at least higher than 200 ns.  
0x3  
OTPC_TIM1_CC_T_  
500NS  
The number of hclk_c clock periods (minus one) that give a  
time interval at least higher than 500 ns  
0x8  
OTPC_TIM1_CC_T_  
1US  
The number of hclk_c clock periods (minus one) that give a  
time interval at least higher than 1 us.  
0x10  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
183 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 75: OTPC_TIM1_REG (0x07F40028)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
R/W  
OTPC_TIM1_CC_T_  
PW  
The number of hclk_c clock periods (minus one) that give a  
time interval that is  
0x4F  
- at least higher than 4.8 us  
- and lower than 5.2 us  
It is preferred the programmed value to give a time interval  
equal to 5 us.  
It defines the duration of the programming pulse for every bit  
that written in the OTP cell.  
7:0  
R/W  
OTPC_TIM1_CC_T_  
CADX  
The number of hclk_c clock periods (minus one) that give a  
time interval at least higher than 2 us. It is used as a wait  
time each time where the OTP cell is enabled.  
0x20  
Table 76: OTPC_TIM2_REG (0x07F4002C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:24  
23  
-
-
Reserved  
R/W  
OTPC_TIM2_RDENL This bit has meaning only when the  
0x0  
_PROT  
OTPC_TIM1_CC_T_25NS = 1, otherwise has no functional-  
ity.  
0: The minimum number of clock cycles for which the signal  
read_enable of the OTP memory stays inactive is one clock  
cycle. This is also applicable if OTPC_TIM1_CC_T_25NS =  
0.  
1: The minimum number of clock cycles for which the signal  
read_enable of the OTP memory stays inactive is two clock  
cycles. The controller adds one extra wait state in the AHB  
access , if it is required, in order to achieves this constraint.  
This setting is applicable only if OTPC_TIM1_CC_T_25NS =  
1.  
22:16  
R/W  
OTPC_TIM2_CC_T_  
BCHK  
The number of hclk_c clock periods (minus one) that give a  
time interval between 100 ns and 200 ns. This time interval  
is used for the reading of the contents of the OTP cell during  
the TBLANK mode.  
0x1  
15:10  
9:0  
-
-
Reserved  
0x0  
0x0  
R/W  
OTPC_TIM2_CC_ST  
BY_THR  
This register controls a power saving feature, which is appli-  
cable only in MREAD mode. The controller monitors the  
accesses in the OTP cell. If there is no access for more than  
OTPC_TIM2_CC_STBY_THR hclk_c clock cycles, the OTP  
cell goes to the standby while the controller itself remains in  
the MREAD mode. The OTP cell will be enabled again when  
will be applied a new read request. The enabling of the OTP  
cell has a cost of 2 us (OTPC_TIM1_CC_T_CADX hclk_c  
clock cycles).  
When OTPC_TIM2_CC_STBY_THR = 0 the power saving  
feature is disabled and the OTP cell remains active while the  
controller is in MREAD mode.  
37.2 QSPIC REGISTER FILE  
Table 77: Register map QSPIC  
Address  
Port  
Description  
0x0C000000  
0x0C000004  
0x0C000008  
QSPIC_CTRLBUS_REG  
QSPIC_CTRLMODE_REG  
QSPIC_RECVDATA_REG  
SPI Bus control register for the Manual mode  
Mode Control register  
Received data for the Manual mode  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
184 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 77: Register map QSPIC  
Address  
Port  
Description  
0x0C00000C  
QSPIC_BURSTCMDA_REG  
The way of reading in Auto mode (command register  
A)  
0x0C000010  
QSPIC_BURSTCMDB_REG  
The way of reading in Auto mode (command register  
B)  
0x0C000014  
0x0C000018  
0x0C00001C  
0x0C000020  
0x0C000024  
0x0C000028  
QSPIC_STATUS_REG  
The status register of the QSPI controller  
Write data to SPI Bus for the Manual mode  
Read data from SPI Bus for the Manual mode  
Send dummy clocks to SPI Bus for the Manual mode  
QSPI Erase control register  
QSPIC_WRITEDATA_REG  
QSPIC_READDATA_REG  
QSPIC_DUMMYDATA_REG  
QSPIC_ERASECTRL_REG  
QSPIC_ERASECMDA_REG  
The way of erasing in Auto mode (command register  
A)  
0x0C00002C  
QSPIC_ERASECMDB_REG  
The way of erasing in Auto mode (command register  
B)  
0x0C000030  
0x0C000034  
QSPIC_BURSTBRK_REG  
QSPIC_STATUSCMD_REG  
Read break sequence in Auto mode  
The way of reading the status of external device in  
Auto mode  
0x0C000038  
0x0C00003C  
QSPIC_CHCKERASE_REG  
QSPIC_GP_REG  
Check erase progress in Auto mode  
QSPI General Purpose control register  
Table 78: QSPIC_CTRLBUS_REG (0x0C000000)  
Bit  
31:5  
4
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
W
QSPIC_DIS_CS  
Write 1 to disable the chip select (active low) when the con-  
0x0  
troller is in Manual mode.  
3
2
1
0
W
W
W
W
QSPIC_EN_CS  
Write 1 to enable the chip select (active low) when the con-  
troller is in Manual mode.  
0x0  
QSPIC_SET_QUAD  
QSPIC_SET_DUAL  
Write 1 to set the bus mode in Quad mode when the control- 0x0  
ler is in Manual mode.  
Write 1 to set the bus mode in Dual mode when the control-  
ler is in Manual mode.  
0x0  
QSPIC_SET_SINGL  
E
Write 1 to set the bus mode in Single SPI mode when the  
controller is in Manual mode.  
0x0  
Table 79: QSPIC_CTRLMODE_REG (0x0C000004)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:14  
13  
-
-
Reserved  
R/W  
QSPIC_USE_32BA  
Controls the length of the address that the external memory  
device uses.  
0x0  
0 - The external memory device uses 24 bits address.  
1 - The external memory device uses 32 bits address.  
The controller uses this bit in order to decide the number of  
the address bytes that has to transfer to the external device  
during Auto mode.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
185 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 79: QSPIC_CTRLMODE_REG (0x0C000004)  
Bit  
Mode Symbol  
Description  
Reset  
12  
R/W  
QSPIC_FORCENSE  
Q_EN  
Controls the way with which is addressed by the QSPI con-  
troller a burst request from the AMBA bus.  
0x0  
0: The controller translates a burst access on the AMBA bus  
as a burst access on the QSPI bus. That results to the mini-  
mum number of command/address phases.  
1: The controller will split a burst access on the AMBA bus  
into a number of single accesses on the QSPI bus. That  
results to a separate command for each beat of the burst.  
E.g a 4-beat word incremental AMBA read access will be  
split into 4 different sequences on the QSPI bus: command/  
address/extra clock/read data. The QSPI_CS will be low only  
for the time that is needed for each of these single accesses.  
This configuration bit is usefull when the clock frequency of  
the QSPI bus is much higher than the clock of the AMBA  
bus. In this case the interval for which the CS remains low is  
minimized, achieving lower power dissipation with respect of  
the case where the QSPIC_FORCENSEQ_EN=0, at cost of  
performance.  
11:9  
8
R/W  
R/W  
QSPIC_PCLK_MD  
QSPIC_RPIPE_EN  
Read pipe clock delay relative to the falling edge of  
QSPI_SCK.  
Refer to QSPI Timing for timing parameters and recom-  
mended values: 0 to 7  
0x0  
0x0  
Controls the use of the data read pipe.  
0 = The read pipe is disabled; the sampling clock is defined  
according to the QSPIC_RXD_NEG setting.  
1 = The read pipe is enabled. The delay of the sampling  
clock is defined according to the QSPI_PCLK_MD setting.  
(Recommended)  
7
R/W  
QSPIC_RXD_NEG  
Defines the clock edge that is used for the capturing of the  
received data, when the read pipe is not active  
(QSPIC_RPIPE_EN = 0).  
0x0  
0: Sampling of the received data with the positive edge of the  
QSPI_SCK  
1: Sampling of the received data with the negative edge of  
the QSPI_SCK  
The internal QSPI_SCK clock that is used by the controller  
for the capturing of the received data has a skew in respect  
of the QSPI_SCK that is received by the external memory  
device. In order to be improved the timing requirements of  
the read path, the controller supports a read pipe register  
with programmable clock delay. See also the  
QSPIC_RPIPE_EN register.  
6
R/W  
QSPIC_HRDY_MD  
This configuration bit is useful when the frequency of the  
QSPI clock is much lower than the clock of the AMBA bus, in  
order to not locks the AMBA bus for a long time.  
0x0  
0: Adds wait states via hready signal when an access is per-  
formed on the QSPIC_WRITEDATA, QSPIC_READDATA  
and QSPIC_DUMMYDATA registers. It is not needed to  
checked the QSPIC_BUSY of the QSPIC_STATUS_REG.  
1: The controller don't adds wait states via the hready signal,  
when is performed access on the QSPIC_WRITEDATA,  
QSPIC_READDATA and QSPIC_DUMMYDATA registers.  
The QSPIC_BUSY bit of the QSPIC_STATUS_REG must be  
checked in order to be detected the completion of the  
requested access.  
It is applicable only when the controller is in Manual mode. In  
the case of the Auto mode, the controller always adds wait  
states via the hready signal.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
186 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 79: QSPIC_CTRLMODE_REG (0x0C000004)  
Bit  
5
Mode Symbol  
Description  
Reset  
R/W  
R/W  
R/W  
QSPIC_IO3_DAT  
The value of QSPI_IO3 pad if QSPI_IO3_OEN is 1  
The value of QSPI_IO2 pad if QSPI_IO2_OEN is 1  
0x0  
0x0  
0x0  
4
QSPIC_IO2_DAT  
QSPIC_IO3_OEN  
3
QSPI_IO3 output enable. Use this only in SPI or Dual SPI  
mode to control /HOLD signal. When the Auto Mode is  
selected (QSPIC_AUTO_MD = 1) and the QUAD SPI is  
used, set this bit to zero.  
0: The QSPI_IO3 pad is input.  
1: The QSPI_IO3 pad is output.  
2
R/W  
QSPIC_IO2_OEN  
QSPI_IO2 output enable. Use this only in SPI or Dual SPI  
mode to control /WP signal. When the Auto Mode is selected  
(QSPIC_AUTO_MD = 1) and the QUAD SPI is used, set this  
bit to zero.  
0x0  
0: The QSPI_IO2 pad is input.  
1: The QSPI_IO2 pad is output.  
1
0
R/W  
R/W  
QSPIC_CLK_MD  
Mode of the generated QSPI_SCK clock  
0: Use Mode 0 for the QSPI_CLK. The QSPI_SCK is low  
when QSPI_CS is high.  
1: Use Mode 3 for the QSPI_CLK. The QSPI_SCK is high  
when QSPI_CS is high.  
0x0  
0x0  
QSPIC_AUTO_MD  
Mode of operation  
0: The Manual Mode is selected.  
1: The Auto Mode is selected.  
During an erasing the QSPIC_AUTO_MD goes in read only  
mode (see QSPIC_ERASE_EN)  
Table 80: QSPIC_RECVDATA_REG (0x0C000008)  
Bit  
Mode Symbol  
QSPIC_RECVDATA  
Description  
Reset  
31:0  
R
This register contains the received data when the  
0x0  
QSPIC_READDATA_REG register is used in Manual mode,  
in order to be retrieved data from the external memory  
device and QSPIC_HRDY_MD=1 && QSPIC_BUSY=0.  
Table 81: QSPIC_BURSTCMDA_REG (0x0C00000C)  
Bit  
Mode Symbol  
Description  
Reset  
31:30  
R/W  
R/W  
R/W  
QSPIC_DMY_TX_M  
D
It describes the mode of the SPI bus during the Dummy  
0x0  
bytes phase.  
00 - Single SPI  
01 - Dual  
10 - Quad  
11 - Reserved  
29:28  
27:26  
QSPIC_EXT_TX_MD It describes the mode of the SPI bus during the Extra Byte  
0x0  
0x0  
phase.  
00 - Single SPI  
01 - Dual  
10 - Quad  
11 - Reserved  
QSPIC_ADR_TX_M  
D
It describes the mode of the SPI bus during the address  
phase.  
00 - Single SPI  
01 - Dual  
10 - Quad  
11 - Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
187 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 81: QSPIC_BURSTCMDA_REG (0x0C00000C)  
Bit  
Mode Symbol  
Description  
Reset  
25:24  
R/W  
QSPIC_INST_TX_M  
It describes the mode of the SPI bus during the instruction  
0x0  
D
phase.  
00 - Single SPI  
01 - Dual  
10 - Quad  
11 - Reserved  
23:16  
15:8  
R/W  
R/W  
QSPIC_EXT_BYTE  
QSPIC_INST_WB  
The value of an extra byte which will be transferred after  
address (only if QSPIC_EXT_BYTE_EN= 1). Usually this is  
the Mode Bits in Dual/Quad SPI I/O instructions.  
0x0  
0x0  
IInstruction Value for Wrapping Burst. This value is the  
selected instruction when QSPIC_WRAP_MD is equal to 1  
and the access is a wrapping burst of length and size  
described by the bit fields QSPIC_WRAP_LEN and  
QSPIC_WRAP_SIZE respectively.  
7:0  
R/W  
QSPIC_INST  
Instruction Value for Incremental Burst or Single read  
access. This value is the selected instruction at the cases of  
incremental burst or single read access. Also this value is  
used when a wrapping burst is not supported  
(QSPIC_WRAP_MD)  
0x0  
Table 82: QSPIC_BURSTCMDB_REG (0x0C000010)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:16  
15  
-
-
Reserved  
R/W  
QSPIC_DMY_FORC  
E
By setting this bit, the number of dummy bytes is forced to be  
equal to 3. In this case the QSPIC_DMY_NUM field is over-  
ruled and has no function.  
0x0  
0 - The number of dummy bytes is controlled by the  
QSPIC_DMY_NUM field  
1 - Three dummy bytes are used. The QSPIC_DMY_NUM is  
overruled.  
14:12  
11:10  
R/W  
R/W  
QSPIC_CS_HIGH_M  
IN  
Between the transmissions of two different instructions to the  
flash memory, the SPI bus stays in idle state (QSPI_CS  
high) for at least this number of QSPI_SCK clock cycles. See  
the QSPIC_ERS_CS_HI register for some exceptions.  
0x0  
0x0  
QSPIC_WRAP_SIZE  
It describes the selected data size of a wrapping burst  
(QSPIC_WRAP_MD).  
00 - byte access (8-bits)  
01 - half word access (16 bits)  
10 - word access (32-bits)  
11 - Reserved  
9:8  
R/W  
QSPIC_WRAP_LEN  
It describes the selected length of a wrapping burst  
(QSPIC_WRAP_MD).  
0x0  
00 - 4 beat wrapping burst  
01 - 8 beat wrapping burst  
10 - 16 beat wrapping burst  
11 - Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
188 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 82: QSPIC_BURSTCMDB_REG (0x0C000010)  
Bit  
Mode Symbol  
Description  
Reset  
7
R/W  
QSPIC_WRAP_MD  
Wrap mode  
0x0  
0 - The QSPIC_INST is the selected instruction at any  
access.  
1 - The QSPIC_INST_WB is the selected instruction at any  
wrapping burst access of length and size described by the  
registers QSPIC_WRAP_LEN and QSPIC_WRAP_SIZE  
respectively. In all other cases the QSPIC_INST is the  
selected instruction. Use this feature only when the serial  
FLASH memory supports a special instruction for wrapping  
burst access.  
6
R/W  
R/W  
QSPIC_INST_MD  
QSPIC_DMY_NUM  
Instruction mode  
0x0  
0x0  
0 - Transmit instruction at any burst access.  
1 - Transmit instruction only in the first access after the  
selection of Auto Mode.  
5:4  
Number of Dummy Bytes  
00 - Zero Dummy Bytes (Don't Send Dummy Bytes)  
01 - Send 1 Dummy Byte  
10 - Send 2 Dummy Bytes  
11 - Send 4 Dummy Bytes  
When QSPIC_DMY_FORCE is enabled, the  
QSPIC_DMY_NUM is overruled. In this case the number of  
dummy bytes is defined by the QSPIC_DMY_FORCE and is  
equal to 3, independent of the value of the  
QSPIC_DMY_NUM.  
3
R/W  
QSPIC_EXT_HF_DS  
Extra Half Disable Output  
0x0  
0 - if QSPIC_EXT_BYTE_EN=1, is transmitted the complete  
QSPIC_EXT_BYTE  
1 - if QSPIC_EXT_BYTE_EN=1, the output is disabled (hi-z)  
during the transmission of bits [3:0] of QSPIC_EXT_BYTE  
2
R/W  
R/W  
QSPIC_EXT_BYTE_  
EN  
Extra Byte Enable  
0x0  
0x0  
0 - Don't Send QSPIC_EXT_BYTE  
1 - Send QSPIC_EXT_BYTE  
1:0  
QSPIC_DAT_RX_MD It describes the mode of the SPI bus during the data phase.  
00 - Single SPI  
01 - Dual  
10 - Quad  
11 - Reserved  
Table 83: QSPIC_STATUS_REG (0x0C000014)  
Bit  
31:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
QSPIC_BUSY  
The status of the SPI Bus.  
0x0  
0 - The SPI Bus is idle  
1 - The SPI Bus is active. Read data, write data or dummy  
data activity is in progress.  
Has meaning only in Manual mode and only when  
QSPIC_HRDY_MD = 1.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
189 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 84: QSPIC_WRITEDATA_REG (0x0C000018)  
Bit  
Mode Symbol  
QSPIC_WRITEDATA  
Description  
Reset  
31:0  
W
Writing to this register is generating a data transfer from the  
controller to the external memory device. The data written in  
this register, is then transferred to the memory using the  
selected mode of the SPI bus (SPI, Dual SPI, Quad SPI).  
The data size of the access to this register can be 32-bits /  
16-bits/ 8-bits and is equal to the number of the transferred  
bits.  
0x0  
This register has meaning only when the controller is in Man-  
ual mode.  
Table 85: QSPIC_READDATA_REG (0x0C00001C)  
Bit  
Mode Symbol  
QSPIC_READDATA  
Description  
Reset  
31:0  
R
A read access at this register generates a data transfer from  
the external memory device to the QSPIC controller. The  
data is transferred using the selected mode of the SPI bus  
(SPI, Dual SPI, Quad SPI). The data size of the access to  
this register can be 32-bits / 16-bits / 8-bits and is equal to  
the number of the transferred bits.  
0x0  
This register has meaning only when the controller is in Man-  
ual mode.  
Table 86: QSPIC_DUMMYDATA_REG (0x0C000020)  
Bit  
Mode Symbol  
QSPIC_DUMMYDAT  
Description  
Reset  
31:0  
W
Writing to this register generates a number of clock pulses to  
the SPI bus. During the last clock of this activity in the SPI  
bus, the QSPI_IOx data pads are in hi-z state. The data size  
of the access to this register can be 32-bits / 16-bits/ 8-bits.  
The number of generated pulses is equal to: (size of AHB  
bus access) / (size of SPI bus). The size of SPI bus is equal  
to 1, 2 or 4 for Single, Dual or Quad SPI mode respectively.  
This register has meaning only when the controller is in Man-  
ual mode.  
0x0  
A
Table 87: QSPIC_ERASECTRL_REG (0x0C000024)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:28  
27:25  
-
-
Reserved  
R
QSPIC_ERS_STATE  
It shows the progress of sector/block erasing (read only).  
0x0  
000 = No Erase.  
001 = Pending erase request  
010 = Erase procedure is running  
011 = Suspended Erase procedure  
100 = Finishing the Erase procedure  
101..111 = Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
190 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 87: QSPIC_ERASECTRL_REG (0x0C000024)  
Bit  
Mode Symbol  
R/W QSPIC_ERASE_EN  
Description  
Reset  
0x0  
24  
During Manual mode (QSPIC_AUTO_MD = 0). This bit is in  
read only mode.  
During Auto mode (QSPIC_AUTO_MD = 1). To request the  
erasing of the block/sector (QSPIC_ERS_ADDR, 12'b0)  
write 1 to this bit. This bit is cleared automatically with the  
end of the erasing. Until the end of erasing the  
QSPIC_ERASE_EN remains in read only mode. During the  
same period of time the controller remains in Auto Mode  
(QSPIC_AUTO_MD goes in read only mode).  
23:4  
R/W  
QSPIC_ERS_ADDR  
Defines the address of the block/sector that is requested to  
be erased.  
0x0  
If QSPIC_USE_32BA = 0 (24 bits addressing), bits  
QSPIC_ERASECTRL_REG[23-12] determine the block/  
sector address bits [23-12].  
QSPIC_ERASECTRL_REG[11-4] are ignored by the control-  
ler.  
If QSPIC_USE_32BA = 1 (32 bits addressing) bits  
QSPIC_ERASECTRL_REG[23-4] determine the block / sec-  
tors address bits [31:12]  
3:0  
-
-
Reserved  
0x0  
Table 88: QSPIC_ERASECMDA_REG (0x0C000028)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:24  
23:16  
15:8  
7:0  
R/W  
R/W  
R/W  
R/W  
QSPIC_RES_INST  
The code value of the erase resume instruction  
The code value of the erase suspend instruction.  
The code value of the write enable instruction.  
The code value of the erase instruction.  
QSPIC_SUS_INST  
QSPIC_WEN_INST  
QSPIC_ERS_INST  
0x0  
0x0  
0x0  
Table 89: QSPIC_ERASECMDB_REG (0x0C00002C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:30  
29:24  
-
-
Reserved  
R/W  
QSPIC_RESSUS_DL Defines a timer that counts the minimum allowed delay  
0x0  
Y
between an erase suspend command and the previous  
erase resume command (or the initial erase command).  
0 = Dont wait. The controller starts immediately to suspend  
the erase procedure.  
1..63 = The controller waits for at least this number of  
222kHz clock cycles before the suspension of erasing. Time  
starts counting after the end of the previous erase resume  
command (or the initial erase command)  
23:20  
19:16  
-
-
Reserved  
0x0  
0x0  
R/W  
QSPIC_ERSRES_HL The controller must stay without flash memory reading  
D
requests for this number of AMBA hclk clock cycles, before  
to perform the command of erase or erase resume  
15 - 0  
15  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
191 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 89: QSPIC_ERASECMDB_REG (0x0C00002C)  
Bit  
Mode Symbol  
Description  
Reset  
14:10  
R/W  
R/W  
QSPIC_ERS_CS_HI  
After the execution of instructions: write enable, erase, erase  
suspend and erase resume, the QSPI_CS remains high for  
at least this number of qspi bus clock cycles.  
0x0  
9:8  
7:6  
5:4  
3:2  
1:0  
QSPIC_EAD_TX_MD The mode of the QSPI Bus during the address phase of the  
0x0  
erase instruction  
00 - Single  
01 - Dual  
10 - Quad  
11 - Reserved  
R/W  
R/W  
R/W  
R/W  
QSPIC_RES_TX_MD The mode of the QSPI Bus during the transmission of the  
0x0  
0x0  
0x0  
0x0  
resume instruction  
00 - Single  
01 - Dual  
10 - Quad  
11 - Reserved  
QSPIC_SUS_TX_MD The mode of the QSPI Bus during the transmission of the  
suspend instruction.  
00 - Single  
01 - Dual  
10 - Quad  
11 - Reserved  
QSPIC_WEN_TX_M  
D
The mode of the QSPI Bus during the transmission of the  
write enable instruction.  
00 - Single  
01 - Dual  
10 - Quad  
11 - Reserved  
QSPIC_ERS_TX_MD The mode of the QSPI Bus during the instruction phase of  
the erase instruction  
00 - Single  
01 - Dual  
10 - Quad  
11 - Reserved  
Table 90: QSPIC_BURSTBRK_REG (0x0C000030)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:21  
20  
-
-
Reserved  
R/W  
QSPIC_SEC_HF_DS Disable output during the transmission of the second half  
(QSPIC_BRK_WRD[3:0]). Setting this bit is only useful if  
QSPIC_BRK_EN =1 and QSPIC_BRK_SZ= 1.  
0x0  
0 - The controller drives the QSPI bus during the transmis-  
sion of the QSPIC_BRK_WRD[3:0].  
1 - The controller leaves the QSPI bus in Hi-Z during the  
transmission of the QSPIC_BRK_WORD[3:0].  
19:18  
R/W  
R/W  
QSPIC_BRK_TX_MD The mode of the QSPI Bus during the transmission of the  
burst break sequence.  
0x0  
0x0  
00 - Single  
01 - Dual  
10 - Quad  
11 - Reserved  
17  
QSPIC_BRK_SZ  
The size of Burst Break Sequence  
0 - One byte (Send QSPIC_BRK_WRD[15:8])  
1 - Two bytes (Send QSPIC_BRK_WRD[15:0])  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
192 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 90: QSPIC_BURSTBRK_REG (0x0C000030)  
Bit  
Mode Symbol  
R/W QSPIC_BRK_EN  
Description  
Reset  
0x0  
16  
Controls the application of a special command (read burst  
break sequence) that is used in order to force the device to  
abandon the continuous read mode.  
0 - The special command is not applied  
1 - The special command is applied  
This special command is applied by the controller to the  
external device under the following conditions:  
- the controller is in Auto mode  
- the QSPIC_INST_MD = 1  
- the previous command that has been applied in the exter-  
nal device was read  
- the controller want to apply to the external device a com-  
mand different than the read.  
15:0  
R/W  
QSPIC_BRK_WRD  
This is the value of a special command (read burst break  
sequence) that is applied by the controller to the external  
memory device, in order to force the memory device to aban-  
don the continuous read mode.  
0x0  
Table 91: QSPIC_STATUSCMD_REG (0x0C000034)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:23  
22  
-
-
Reserved  
R/W  
QSPIC_STSDLY_SE  
L
Defines the timer which is used to count the delay that it has  
to wait before to read the FLASH Status Register, after an  
erase or an erase resume command.  
0x0  
0 - The delay is controlled by the QSPIC_RESSTS_DLY  
which counts on the qspi clock.  
1 - The delay is controlled by the QSPIC_RESSUS_DLY  
which counts on the 222 kHz clock.  
21:16  
R/W  
QSPIC_RESSTS_DL  
Y
Defines a timer that counts the minimum required delay  
between the reading of the status register and of the previ-  
ous erase or erase resume instruction.  
0x0  
0 - Dont wait. The controller starts to reading the Flash mem-  
ory status register immediately.  
1..63 - The controller waits for at least this number of  
QSPI_CLK cycles and afterwards it starts to reading the  
Flash memory status register. The timer starts to count after  
the end of the previous erase or erase resume command.  
The actual timer that will be used by the controller before the  
reading of the Flash memory status register is defined by the  
QSPIC_STSDLY_SEL.  
15  
R/W  
QSPIC_BUSY_VAL  
QSPIC_BUSY_POS  
Defines the value of the Busy bit which means that the flash  
is busy.  
0 - The flash is busy when the Busy bit is equal to 0.  
1 - The flash is busy when the Busy bit is equal to 1.  
0x0  
14:12  
11:10  
R/W  
R/W  
It describes who from the bits of status represents the  
Busy bit (7 - 0).  
0x0  
0x0  
QSPIC_RSTAT_RX_  
MD  
The mode of the QSPI Bus during the receive status phase  
of the read status instruction  
00 - Single  
01 - Dual  
10 - Quad  
11 - Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
193 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 91: QSPIC_STATUSCMD_REG (0x0C000034)  
Bit  
Mode Symbol  
Description  
Reset  
9:8  
R/W  
QSPIC_RSTAT_TX_  
MD  
The mode of the QSPI Bus during the instruction phase of  
the read status instruction.  
0x0  
00 - Single  
01 - Dual  
10 - Quad  
11 - Reserved  
7:0  
R/W  
QSPIC_RSTAT_INST The code value of the read status instruction.  
0x0  
It is transmitted during the instruction phase of the read sta-  
tus instruction.  
Table 92: QSPIC_CHCKERASE_REG (0x0C000038)  
Bit  
Mode Symbol  
QSPIC_CHCKERAS  
Description  
Reset  
31:0  
W
Writing any value to this register during erasing, forces the  
controller to read the flash memory status register. Depend-  
ing on the value of the Busy bit, it updates the  
QSPIC_ERASE_EN.  
0x0  
E
Table 93: QSPIC_GP_REG (0x0C00003C)  
Bit  
Mode Symbol  
Description  
Reset  
4:3  
R/W  
QSPIC_PADS_SLE  
W
QSPI pads slew rate control. Indicative values under certain  
conditions:  
0x0  
0: Rise=1.7 V/ns, Fall=1.9 V/ns (weak)  
1: Rise=2.0 V/ns, Fall=2.3 V/ns  
2: Rise=2.3 V/ns, Fall=2.6 V/ns  
3: Rise=2.4 V/ns, Fall=2.7 V/ns (strong)  
Conditions: FLASH pin capacitance 6 pF, Vcc=1.8V, T=25C  
and Idrive=16mA.  
2:1  
0
R/W  
QSPIC_PADS_DRV  
QSPI pads drive current  
0: 4 mA  
1: 8 mA  
2: 12 mA  
3: 16 mA  
0x0  
0x0  
-
-
Reserved  
37.3 BLE REGISTER FILE  
Table 94: Register map BLE  
Address  
Port  
Description  
0x40000000  
0x40000004  
0x40000008  
0x4000000C  
0x40000010  
0x40000014  
0x40000018  
0x4000001C  
0x40000020  
0x40000024  
BLE_RWBLECNTL_REG  
BLE_VERSION_REG  
BLE_RWBLECONF_REG  
BLE_INTCNTL_REG  
BLE_INTSTAT_REG  
BLE_INTRAWSTAT_REG  
BLE_INTACK_REG  
BLE Control register  
Version register  
Configuration register  
Interrupt controller register  
Interrupt status register  
Interrupt raw status register  
Interrupt acknowledge register  
BLE_BASETIMECNT_REG  
BLE_FINETIMECNT_REG  
BLE_BDADDRL_REG  
Base time reference counter  
Fine time reference counter  
BLE device address LSB register  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
194 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 94: Register map BLE  
Address  
Port  
Description  
0x40000028  
0x4000002C  
BLE_BDADDRU_REG  
BLE_CURRENTRXDESCPTR_REG  
BLE device address MSB register  
Rx Descriptor Pointer for the Receive Buffer Chained  
List  
0x40000030  
0x40000034  
BLE_DEEPSLCNTL_REG  
BLE_DEEPSLWKUP_REG  
Deep-Sleep control register  
Time (measured in Low Power clock cycles) in Deep  
Sleep Mode before waking-up the device  
0x40000038  
0x4000003C  
0x40000040  
0x40000044  
0x40000050  
0x40000054  
0x40000058  
0x4000005C  
0x40000060  
0x40000064  
0x40000070  
0x40000074  
0x40000078  
0x4000007C  
0x40000080  
0x40000090  
0x400000A0  
0x400000A4  
0x400000B0  
0x400000B4  
0x400000B8  
0x400000C0  
0x400000C4  
0x400000C8  
0x400000CC  
0x400000D0  
0x400000D4  
0x400000D8  
0x400000DC  
0x400000E0  
0x400000E4  
0x400000E8  
0x400000F0  
0x400000F4  
0x400000F8  
0x400000FC  
0x40000100  
0x40000104  
0x40000108  
BLE_DEEPSLSTAT_REG  
BLE_ENBPRESET_REG  
BLE_FINECNTCORR_REG  
BLE_BASETIMECNTCORR_REG  
BLE_DIAGCNTL_REG  
Duration of the last deep sleep phase register  
Time in low power oscillator cycles register  
Phase correction value register  
Base Time Counter  
Diagnostics Register  
BLE_DIAGSTAT_REG  
Debug use only  
BLE_DEBUGADDMAX_REG  
BLE_DEBUGADDMIN_REG  
BLE_ERRORTYPESTAT_REG  
BLE_SWPROFILING_REG  
BLE_RADIOCNTL0_REG  
BLE_RADIOCNTL1_REG  
BLE_RADIOCNTL2_REG  
BLE_RADIOCNTL3_REG  
BLE_RADIOPWRUPDN_REG  
BLE_ADVCHMAP_REG  
BLE_ADVTIM_REG  
Upper limit for the memory zone  
Lower limit for the memory zone  
Error Type Status registers  
Software Profiling register  
Radio interface control register  
Radio interface control register  
Radio interface control register  
Radio interface control register  
RX/TX power up/down phase register  
Advertising Channel Map  
Advertising Packet Interval  
Active scan register  
BLE_ACTSCANSTAT_REG  
BLE_WLPUBADDPTR_REG  
BLE_WLPRIVADDPTR_REG  
BLE_WLNBDEV_REG  
Start address of public devices list  
Start address of private devices list  
Devices in white list  
BLE_AESCNTL_REG  
Start AES register  
BLE_AESKEY31_0_REG  
BLE_AESKEY63_32_REG  
BLE_AESKEY95_64_REG  
BLE_AESKEY127_96_REG  
BLE_AESPTR_REG  
AES encryption key  
AES encryption key  
AES encryption key  
AES encryption key  
Pointer to the block to encrypt/decrypt  
AES / CCM plain MIC value  
AES / CCM plain MIC value  
RF Testing Register  
BLE_TXMICVAL_REG  
BLE_RXMICVAL_REG  
BLE_RFTESTCNTL_REG  
BLE_RFTESTTXSTAT_REG  
BLE_RFTESTRXSTAT_REG  
BLE_TIMGENCNTL_REG  
BLE_GROSSTIMTGT_REG  
BLE_FINETIMTGT_REG  
BLE_SAMPLECLK_REG  
BLE_COEXIFCNTL0_REG  
BLE_COEXIFCNTL1_REG  
BLE_BLEMPRIO0_REG  
RF Testing Register  
RF Testing Register  
Timing Generator Register  
Gross Timer Target value  
Fine Timer Target value  
Samples the Base Time Counter  
Coexistence interface Control 0 Register  
Coexistence interface Control 1 Register  
Coexistence interface Priority 0 Register  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
195 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 94: Register map BLE  
Address  
Port  
Description  
0x4000010C  
0x40000200  
0x40000208  
0x4000020C  
0x40000210  
BLE_BLEMPRIO1_REG  
BLE_CNTL2_REG  
BLE_EM_BASE_REG  
BLE_DIAGCNTL2_REG  
BLE_DIAGCNTL3_REG  
Coexistence interface Priority 1 Register  
BLE Control Register 2  
Exchange Memory Base Register  
Debug use only  
Debug use only  
Table 95: BLE_RWBLECNTL_REG (0x40000000)  
Bit  
Mode Symbol  
Description  
Reset  
31  
R0/W  
R0/W  
R/W  
MASTER_SOFT_RS  
T
Reset the complete BLE Core except registers and timing  
generator, when written with a 1. Resets at 0 when action is  
performed. No action happens if it is written with 0.  
0x0  
0x0  
0x0  
30  
29  
MASTER_TGSOFT_  
RST  
Reset the timing generator, when written with a 1. Resets at  
0 when action is performed. No action happens if it is written  
with 0.  
REG_SOFT_RST  
Reset the complete register block, when written with a 1.  
Resets at 0 when action is performed. No action happens if it  
is written with 0.  
Note that INT STAT will not be cleared, so the user should  
also write to BLE_INTACK_REG after the SW Reset  
28  
26  
R0/W  
R0/W  
SWINT_REQ  
Forces the generation of ble_sw_irq when written with a 1,  
and proper masking is set. Resets at 0 when action is per-  
formed. No action happens if it is written with 0.  
0x0  
0x0  
RFTEST_ABORT  
Abort the current RF Testing defined as per CS-FORMAT  
when written with a 1. Resets at 0 when action is performed.  
No action happens if it is written with 0.  
Note that when RFTEST_ABORT is requested:  
1) In case of infinite Tx, the Packet Controller FSM stops at  
the end of the current byte in process, and processes  
accordingly the packet CRC.  
2) In case of Infinite Rx, the Packet Controller FSM either  
stops as the end of the current Packet reception (if Access  
address has been detected), or simply stop the processing  
switching off the RF.  
25  
24  
22  
R0/W  
R0/W  
R/W  
ADVERT_ABORT  
SCAN_ABORT  
MD_DSB  
Abort the current Advertising event when written with a 1.  
Resets at 0 when action is performed. No action happens if it  
is written with 0.  
0x0  
0x0  
0x0  
Abort the current scan window when written with a 1. Resets  
at 0 when action is performed. No action happens if it is writ-  
ten with 0.  
0: Normal operation of MD bits management  
1: Allow a single Tx/Rx exchange whatever the MD bits are.  
• value forced by SW from Tx Descriptor  
• value just saved in Rx Descriptor during reception  
21  
R/W  
SN_DSB  
0: Normal operation of Sequence number  
1: Sequence Number Management disabled:  
• value forced by SW from Tx Descriptor  
• value ignored in Rx, where no SN error reported.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
196 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 95: BLE_RWBLECNTL_REG (0x40000000)  
Bit  
Mode Symbol  
Description  
Reset  
20  
R/W  
NESN_DSB  
0: Normal operation of Acknowledge  
0x0  
1: Acknowledge scheme disabled:  
• value forced by SW from Tx Descriptor  
• value ignored in Rx, where no NESN error reported.  
19  
R/W  
CRYPT_DSB  
0: Normal operation. Encryption / Decryption enabled.  
1: Encryption / Decryption disabled.  
0x0  
Note that if CS-CRYPT_EN is set, then MIC is generated,  
and only data encryption is disabled, meaning data sent are  
plain data.  
18  
17  
R/W  
R/W  
WHIT_DSB  
CRC_DSB  
0: Normal operation. Whitening enabled.  
1: Whitening disabled.  
0x0  
0x0  
0: Normal operation. CRC removed from data stream.  
1: CRC stripping disabled on Rx packets, CRC replaced by  
0x000 in Tx.  
16  
R/W  
R/W  
HOP_REMAP_DSB  
CORR_MODE  
0: Normal operation. Frequency Hopping Remapping algo-  
rithm enabled.  
1: Frequency Hopping Remapping algorithm disabled  
0x0  
0x0  
13:12  
Defines correlation mode, meaningful only if  
RW_BLE_CORR_PREAMBLE_ENABLE is set  
00: Correlates onto Access Address  
01: Correlates onto half preamble and Access Address  
10: Correlates onto full preamble and Access Address  
11: n/a  
9
R/W  
R/W  
R/W  
ADVERTFILT_EN  
RWBLE_EN  
Advertising Channels Error Filtering Enable control  
0: RW-BLE Core reports all errors to RW-BLE Software  
1: RW-BLE Core reports only correctly received packet, with-  
out error to RW-BLE Software  
0x0  
0x0  
0x0  
8
0: Disable RW-BLE Core Exchange Table pre-fetch mecha-  
nism.  
1: Enable RW-BLE Core Exchange table pre-fetch mecha-  
nism.  
7:4  
RXWINSZDEF  
Default Rx Window size in us. Used when device:  
• is master connected  
• performs its second receipt.  
0 is not a valid value. Recommended value is 10 (in deci-  
mal).  
2:0  
R/W  
SYNCERR  
Indicates the maximum number of errors allowed to recog-  
nize the synchronization word.  
0x0  
Table 96: BLE_VERSION_REG (0x40000004)  
Bit  
Mode Symbol  
Description  
Reset  
0x7  
31:24  
23:16  
15:8  
7:0  
R
R
R
R
TYP  
BLE Core Type  
REL  
BLE Core version Major release number.  
BLE Core upgrade Upgrade number.  
BLE Core Build Build number.  
0x1  
UPG  
BUILD  
0x0  
0x0  
Table 97: BLE_RWBLECONF_REG (0x40000008)  
Bit  
Mode Symbol  
ADD_WIDTH  
Description  
Reset  
29:24  
R
Value of the RW_BLE_ADDRESS_WIDTH parameter con-  
certed into binary.  
0x10  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
197 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 97: BLE_RWBLECONF_REG (0x40000008)  
Bit  
22:16  
13:8  
6
Mode Symbol  
Description  
Reset  
R
R
R
R
R
RFIF  
Radio Interface ID  
0x2  
0x0  
0x0  
0x0  
0x1  
CLK_SEL  
DECIPHER  
DMMODE  
INTMODE  
Operating Frequency (in MHz)  
0: AES deciphering not present  
0: RW-BLE Core is used as a standalone BLE device  
5
4
1: Interrupts are trigger level generated, i.e. stays active at 1  
till acknowledgement  
3
2
1
0
R
R
R
R
COEX  
1: WLAN Coexistence mechanism present  
1: Diagnostic port instantiated  
0x1  
0x1  
0x1  
0x1  
USEDBG  
USECRYPT  
BUSWIDTH  
1: AES-CCM Encryption block present  
Processor bus width:  
1: 32 bits  
Table 98: BLE_INTCNTL_REG (0x4000000C)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
CSCNTDEVMSK  
CSCNT interrupt mask during event. This bit allows to ena-  
ble CSCNT interrupt generation during events (i.e. advertis-  
ing, scanning, initiating, and connection)  
0x1  
0: CSCNT Interrupt not generated during events.  
1: CSCNT Interrupt generated during events.  
9
8
7
6
5
4
3
2
1
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
SWINTMSK  
SW triggered interrupt Mask  
0: Interrupt not generated  
1: Interrupt generated  
0x0  
0x1  
0x0  
0x0  
0x0  
0x1  
0x1  
0x1  
0x1  
0x1  
EVENTAPFAINTMSK End of event / anticipated pre-fetch abort interrupt Mask  
0: Interrupt not generated  
1: Interrupt generated  
FINETGTIMINTMSK  
Fine Target Timer Mask  
0: Interrupt not generated  
1: Interrupt generated  
GROSSTGTIMINT-  
MSK  
Gross Target Timer Mask  
0: Interrupt not generated  
1: Interrupt generated  
ERRORINTMSK  
CRYPTINTMSK  
EVENTINTMSK  
SLPINTMSK  
Error Interrupt Mask  
0: Interrupt not generated  
1: Interrupt generated  
Encryption engine Interrupt Mask  
0: Interrupt not generated  
1: Interrupt generated  
End of event Interrupt Mask  
0: Interrupt not generated  
1: Interrupt generated  
Sleep Mode Interrupt Mask  
0: Interrupt not generated  
1: Interrupt generated  
RXINTMSK  
Rx Interrupt Mask  
0: Interrupt not generated  
1: Interrupt generated  
CSCNTINTMSK  
625us Base Time Interrupt Mask  
0: Interrupt not generated  
1: Interrupt generated  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
198 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 99: BLE_INTSTAT_REG (0x40000010)  
Bit  
Mode Symbol  
SWINTSTAT  
Description  
Reset  
9
R
R
R
R
R
R
R
SW triggered interrupt status  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0: No SW triggered interrupt.  
1: A SW triggered interrupt is pending  
8
7
6
5
4
3
EVENTAPFAINT-  
STAT  
End of event / Anticipated Pre-Fetch Abort interrupt status  
0: No End of Event interrupt.  
1: An End of Event interrupt is pending.  
FINETGTIMINTSTAT  
Masked Fine Target Timer Error interrupt status  
0: No Fine Target Timer interrupt.  
1: A Fine Target Timer interrupt is pending.  
GROSSTGTIMINT-  
STAT  
Masked Gross Target Timer interrupt status  
0: No Gross Target Timer interrupt.  
1: A Gross Target Timer interrupt is pending.  
ERRORINTSTAT  
CRYPTINTSTAT  
EVENTINTSTAT  
Masked Error interrupt status  
0: No Error interrupt.  
1: An Error interrupt is pending.  
Masked Encryption engine interrupt status  
0: No Encryption / Decryption interrupt.  
1: An Encryption / Decryption interrupt is pending.  
Masked End of Event interrupt status  
0: No End of Advertising / Scanning / Connection interrupt.  
1: An End of Advertising / Scanning / Connection interrupt is  
pending.  
2
1
0
R
R
R
SLPINTSTAT  
RXINTSTAT  
Masked Sleep interrupt status  
0: No End of Sleep Mode interrupt.  
1: An End of Sleep Mode interrupt is pending.  
0x0  
0x0  
0x0  
Masked Packet Reception interrupt status  
0: No Rx interrupt.  
1: An Rx interrupt is pending.  
CSCNTINTSTAT  
Masked 625us base time reference interrupt status  
0: No 625us Base Time interrupt.  
1: A 625us Base Time interrupt is pending.  
Table 100: BLE_INTRAWSTAT_REG (0x40000014)  
Bit  
Mode Symbol  
Description  
Reset  
9
R
R
SWINTRAWSTAT  
SW triggered interrupt raw status  
0: No SW triggered interrupt.  
1: A SW triggered interrupt is pending.  
0x0  
8
EVENTAPFAINT-  
RAWSTAT  
End of event / Anticipated Pre-Fetch Abort interrupt raw sta-  
tus  
0x0  
0: No End of Event interrupt.  
1: An End of Event interrupt is pending.  
7
6
5
R
R
R
FINETGTIMINTRAW- Fine Target Timer Error interrupt raw status  
0x0  
0x0  
0x0  
STAT  
0: No Fine Target Timer interrupt.  
1: A Fine Target Timer interrupt is pending.  
GROSSTGTIMIN-  
TRAWSTAT  
Gross Target Timer interrupt raw status  
0: No Gross Target Timer interrupt.  
1: A Gross Target Timer interrupt is pending.  
ERRORINTRAW-  
STAT  
Error interrupt raw status  
0: No Error interrupt.  
1: An Error interrupt is pending.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
199 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 100: BLE_INTRAWSTAT_REG (0x40000014)  
Bit  
Mode Symbol  
Description  
Reset  
4
R
R
CRYPTINTRAWSTAT Encryption engine interrupt raw status  
0: No Encryption / Decryption interrupt.  
0x0  
1: An Encryption / Decryption interrupt is pending.  
3
EVENTINTRAWSTAT End of Event interrupt raw status  
0: No End of Advertising / Scanning / Connection interrupt.  
1: An End of Advertising / Scanning / Connection interrupt is  
pending.  
0x0  
2
1
0
R
R
R
SLPINTRAWSTAT  
Sleep interrupt raw status  
0: No End of Sleep Mode interrupt.  
1: An End of Sleep Mode interrupt is pending.  
0x0  
0x0  
0x0  
RXINTRAWSTAT  
Packet Reception interrupt raw status  
0: No Rx interrupt.  
1: An Rx interrupt is pending.  
CSCNTINTRAW-  
STAT  
625us base time reference interrupt raw status  
0: No 625us Base Time interrupt.  
1: A 625us Base Time interrupt is pending.  
Table 101: BLE_INTACK_REG (0x40000018)  
Bit  
Mode Symbol  
Description  
Reset  
9
R0/W  
SWINTACK  
SW triggered interrupt acknowledgement bit  
0x0  
Software writing 1 acknowledges the SW triggered interrupt.  
This bit resets SWINTSTAT and SWINTRAWSTAT flags.  
Resets at 0 when action is performed  
8
R0/W  
EVENTAPFAINTACK  
FINETGTIMINTACK  
End of event / Anticipated Pre-Fetch Abort interrupt acknowl- 0x0  
edgement bit  
Software writing 1 acknowledges the End of event / Antici-  
pated Pre-Fetch Abort interrupt. This bit resets EVENTAP-  
FAINTSTAT and EVENTAPFAINTRAWSTAT flags.  
Resets at 0 when action is performed  
7
6
R0/W  
R0/W  
Fine Target Timer interrupt acknowledgement bit  
Software writing 1 acknowledges the Fine Timer interrupt.  
This bit resets FINETGTIMINTSTAT and FINETGTIMIN-  
TRAWSTAT flags.  
0x0  
0x0  
Resets at 0 when action is performed  
GROSSTGTI-  
MINTACK  
Gross Target Timer interrupt acknowledgement bit  
Software writing 1 acknowledges the Gross Timer interrupt.  
This bit resets GROSSTGTIMINTSTAT and GROSSTGTI-  
MINTRAWSTAT flags.  
Resets at 0 when action is performed  
5
4
3
R0/W  
R0/W  
R0/W  
ERRORINTACK  
CRYPTINTACK  
EVENTINTACK  
Error interrupt acknowledgement bit  
0x0  
0x0  
0x0  
Software writing 1 acknowledges the Error interrupt. This bit  
resets ERRORINTSTAT and ERRORINTRAWSTAT flags.  
Resets at 0 when action is performed  
Encryption engine interrupt acknowledgement bit Software  
writing 1 acknowledges the Encryption engine interrupt. This  
bit resets CRYPTINTSTAT and CRYPTINTRAWSTAT flags.  
Resets at 0 when action is performed  
End of Event interrupt acknowledgment bit  
Software writing 1 acknowledges the End of Advertising /  
Scanning / Connection interrupt. This bit resets SLPINT-  
STAT and SLPINTRAWSTAT flags.  
Resets at 0 when action is performed  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
200 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 101: BLE_INTACK_REG (0x40000018)  
Bit  
Mode Symbol  
Description  
Reset  
2
R0/W  
SLPINTACK  
End of Deep Sleep interrupt acknowledgment bit  
Software writing 1 acknowledges the End of Sleep Mode  
interrupt. This bit resets SLPINTSTAT and SLPINTRAW-  
STAT flags.  
0x0  
Resets at 0 when action is performed  
1
0
R0/W  
R0/W  
RXINTACK  
Packet Reception interrupt acknowledgment bit  
Software writing 1 acknowledges the Rx interrupt. This bit  
resets RXINTSTAT and RXINTRAWSTAT flags.  
Resets at 0 when action is performed  
0x0  
0x0  
CSCNTINTACK  
625us base time reference interrupt acknowledgment bit  
Software writing 1 acknowledges the CLKN interrupt. This bit  
resets CLKINTSTAT and CLKINTRAWSTAT flags.  
Resets at 0 when action is performed  
Table 102: BLE_BASETIMECNT_REG (0x4000001C)  
Bit  
Mode Symbol  
BASETIMECNT  
Description  
Reset  
26:0  
R
Value of the 625us base time reference counter. Updated  
each time SAMPCLK is written. Used by the SW in order to  
synchronize with the HW  
0x0  
Table 103: BLE_FINETIMECNT_REG (0x40000020)  
Bit  
Mode Symbol  
FINECNT  
Description  
Reset  
9:0  
R
Value of the current s fine time reference counter. Updated  
each time SAMPCLK is written. Used by the SW in order to  
synchronize with the HW, and obtain a more precise sleep  
duration  
0x0  
Table 104: BLE_BDADDRL_REG (0x40000024)  
Bit  
Mode Symbol  
R/W BDADDRL  
Description  
Reset  
31:0  
Bluetooth Low Energy Device Address. LSB part.  
0x0  
Table 105: BLE_BDADDRU_REG (0x40000028)  
Bit  
Mode Symbol  
Description  
Reset  
16  
R/W  
R/W  
PRIV_NPUB  
Bluetooth Low Energy Device Address privacy indicator  
0: Public Bluetooth Device Address  
1: Private Bluetooth Device Address  
0x0  
15:0  
BDADDRU  
Bluetooth Low Energy Device Address. MSB part.  
0x0  
Table 106: BLE_CURRENTRXDESCPTR_REG (0x4000002C)  
Bit  
Mode Symbol  
Description  
Reset  
31:16  
R/W  
ETPTR  
Exchange Table Pointer that determines the starting point of  
the Exchange Table  
0x0  
14:0  
R/W  
CURRENTRX-  
DESCPTR  
Rx Descriptor Pointer that determines the starting point of  
the Receive Buffer Chained List  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
201 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 107: BLE_DEEPSLCNTL_REG (0x40000030)  
Bit  
Mode Symbol  
Description  
Reset  
31  
R/W  
R
EXTWKUPDSB  
External Wake-Up disable  
0: RW-BLE Core can be woken by external wake-up  
1: RW-BLE Core cannot be woken up by external wake-up  
0x0  
15  
4
DEEP_SLEEP_STAT  
Indicator of current Deep Sleep clock mux status:  
0: RW-BLE Core is not yet in Deep Sleep Mode  
1: RW-BLE Core is in Deep Sleep Mode (only  
low_power_clk is running)  
0x0  
R/W  
R/W  
SOFT_WAKEUP_RE  
Q
Wake Up Request from RW-BLE Software. Applies when  
system is in Deep Sleep Mode. It wakes up the RW-BLE  
Core when written with a 1. Resets at 0 when action is per-  
formed. No action happens if it is written with 0.  
0x0  
3
DEEP_SLEEP_COR  
R_EN  
625us base time reference integer and fractional part correc- 0x0  
tion. Applies when system has been woken-up from Deep  
Sleep Mode. It enables Fine Counter and Base Time counter  
when written with a 1. Resets at 0 when action is performed.  
No action happens if it is written with 0.  
2
R/W  
R/W  
DEEP_SLEEP_ON  
0: RW-BLE Core in normal active mode  
1: Request RW-BLE Core to switch in deep sleep mode.  
This bit is reset on DEEP_SLEEP_STAT falling edge.  
0x0  
1:0  
DEEP_SLEEP_IRQ_  
EN  
Always set to "3" when DEEP_SLEEP_ON is set to "1".  
It controls the generation of BLE_WAKEUP_LP_IRQ.  
0x0  
Table 108: BLE_DEEPSLWKUP_REG (0x40000034)  
Bit  
Mode Symbol  
R/W DEEPSLTIME  
Description  
Reset  
31:0  
Determines the time in low_power_clk clock cycles to spend  
in Deep Sleep Mode before waking-up the device. This  
ensures a maximum of 37 hours and 16mn sleep mode  
capabilities at 32kHz. This ensures a maximum of 36 hours  
and 16mn sleep mode capabilities at 32.768kHz  
0x0  
Table 109: BLE_DEEPSLSTAT_REG (0x40000038)  
Bit  
Mode Symbol  
DEEPSLDUR  
Description  
Reset  
31:0  
R
Actual duration of the last deep sleep phase measured in  
low_power_clk clock cycle. DEEPSLDUR is set to zero at  
the beginning of the deep sleep phase, and is incremented  
at each low_power_clk clock cycle until the end of the deep  
sleep phase.  
0x0  
Table 110: BLE_ENBPRESET_REG (0x4000003C)  
Bit  
Mode Symbol  
R/W TWEXT  
Description  
Reset  
31:21  
Minimum and recommended value is "TWIRQ_RESET + 1".  
In the case of wake-up due to an external wake-up request,  
TWEXT specifies the time delay in low power oscillator  
cycles to deassert BLE_WAKEUP_LP_IRQ.  
0x0  
Refer also to GP_CONTROL_REG[BLE_WAKEUP_REQ].  
Range is [0...64 ms] for 32kHz; [0...62.5 ms] for 32.768kHz  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
202 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 110: BLE_ENBPRESET_REG (0x4000003C)  
Bit  
Mode Symbol  
Description  
Reset  
20:10  
R/W  
TWIRQ_SET  
Minimum value is "TWIRQ_RESET + 1".  
Time in low power oscillator cycles to set  
BLE_WAKEUP_LP_IRQ before the BLE sleep timer expira-  
tion.  
0x0  
Refer also to BLE_DEEPSLWKUP_REG[DEEPSLTIME].  
Range is [0...64 ms] for 32kHz; [0...62.5 ms] for 32.768kHz  
9:0  
R/W  
TWIRQ_RESET  
Recommended value is 1.  
0x0  
Time in low power oscillator cycles to reset  
BLE_WAKEUP_LP_IRQ before the BLE sleep timer expira-  
tion.  
Refer also to BLE_DEEPSLWKUP_REG[DEEPSLTIME].  
Range is [0...32 ms] for 32kHz; [0...31.25 ms] for 32.768kHz.  
Table 111: BLE_FINECNTCORR_REG (0x40000040)  
Bit  
Mode Symbol  
R/W FINECNTCORR  
Description  
Reset  
9:0  
Phase correction value for the 625us reference counter (i.e.  
Fine Counter) in us.  
0x0  
Table 112: BLE_BASETIMECNTCORR_REG (0x40000044)  
Bit  
Mode Symbol  
R/W BASETIMECNT-  
CORR  
Description  
Reset  
26:0  
Base Time Counter correction value.  
0x0  
Table 113: BLE_DIAGCNTL_REG (0x40000050)  
Bit  
Mode Symbol  
Description  
Reset  
31  
R/W  
DIAG3_EN  
0: Disable diagnostic port 0 output. All outputs are set to 0x0. 0x0  
1: Enable diagnostic port 0 output.  
29:24  
R/W  
DIAG3  
Only relevant when DIAG3_EN = 1.  
Selection of the outputs that must be driven to the diagnostic  
port BLE_DIAG3.  
0x0  
23  
R/W  
R/W  
DIAG2_EN  
DIAG2  
0: Disable diagnostic port 0 output. All outputs are set to 0x0. 0x0  
1: Enable diagnostic port 0 output.  
21:16  
Only relevant when DIAG2_EN = 1.  
Selection of the outputs that must be driven to the diagnostic  
port BLE_DIAG2.  
0x0  
15  
R/W  
R/W  
DIAG1_EN  
DIAG1  
0: Disable diagnostic port 0 output. All outputs are set to 0x0. 0x0  
1: Enable diagnostic port 0 output.  
13:8  
Only relevant when DIAG1_EN = 1.  
Selection of the outputs that must be driven to the diagnostic  
port BLE_DIAG1.  
0x0  
7
R/W  
R/W  
DIAG0_EN  
DIAG0  
0: Disable diagnostic port 0 output. All outputs are set to 0x0. 0x0  
1: Enable diagnostic port 0 output.  
5:0  
Only relevant when DIAG0_EN = 1.  
Selection of the outputs that must be driven to the diagnostic  
port BLE_DIAG0.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
203 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 114: BLE_DIAGSTAT_REG (0x40000054)  
Bit  
Mode Symbol  
Description  
Reset  
31:24  
23:16  
15:8  
7:0  
R
R
R
R
DIAG3STAT  
Directly connected to ble_dbg3[7:0] output. Debug use only.  
Directly connected to ble_dbg2[7:0] output. Debug use only.  
Directly connected to ble_dbg1[7:0] output. Debug use only.  
Directly connected to ble_dbg0[7:0] output. Debug use only.  
0x0  
0x0  
0x0  
0x0  
DIAG2STAT  
DIAG1STAT  
DIAG0STAT  
Table 115: BLE_DEBUGADDMAX_REG (0x40000058)  
Bit  
Mode Symbol  
Description  
Reset  
31:16  
R/W  
REG_ADDMAX  
Upper limit for the Register zone indicated by the reg_inzone  
flag  
0x0  
15:0  
R/W  
EM_ADDMAX  
Upper limit for the Exchange Memory zone indicated by the  
em_inzone flag  
0x0  
Table 116: BLE_DEBUGADDMIN_REG (0x4000005C)  
Bit  
Mode Symbol  
Description  
Reset  
31:16  
R/W  
REG_ADDMIN  
Lower limit for the Register zone indicated by the reg_inzone  
flag  
0x0  
15:0  
R/W  
EM_ADDMIN  
Lower limit for the Exchange Memory zone indicated by the  
em_inzone flag  
0x0  
Table 117: BLE_ERRORTYPESTAT_REG (0x40000060)  
Bit  
Mode Symbol  
Description  
Reset  
17  
R
CONCEVTIRQ_ERR  
OR  
Indicates whether two consecutive and concurrent  
ble_event_irq have been generated, and not acknowledged  
in time by the RW-BLE Software.  
0: No error  
0x0  
1: Error occurred  
16  
15  
R
R
RXDATA_PTR_ERR  
OR  
Indicates whether Rx data buffer pointer value programmed  
is null: this is a major programming failure.  
0: No error  
0x0  
0x0  
1: Error occurred  
TXDATA_PTR_ERR  
OR  
Indicates whether Tx data buffer pointer value programmed  
is null during Advertising / Scanning / Initiating events, or  
during Master / Slave connections with non-null packet  
length: this is a major programming failure.  
0: No error  
1: Error occurred  
14  
13  
R
R
RXDESC_EMPTY_E  
RROR  
Indicates whether Rx Descriptor pointer value programmed  
in register is null: this is a major programming failure.  
0: No error  
0x0  
0x0  
1: Error occurred  
TXDESC_EMPTY_E  
RROR  
Indicates whether Tx Descriptor pointer value programmed  
in Control Structure is null during Advertising / Scanning / Ini-  
tiating events: this is a major programming failure.  
0: No error  
1: Error occurred  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
204 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 117: BLE_ERRORTYPESTAT_REG (0x40000060)  
Bit  
Mode Symbol  
Description  
Reset  
12  
R
CSFORMAT_ERRO  
Indicates whether CS-FORMAT has been programmed with  
0x0  
R
an invalid value: this is a major software programming fail-  
ure.  
0: No error  
1: Error occurred  
11  
R
LLCHMAP_ERROR  
Indicates Link Layer Channel Map error, happens when  
actual number of CS-LLCHMAP bit set to one is different  
from CS-NBCHGOOD at the beginning of Frequency Hop-  
ping process  
0x0  
0: No error  
1: Error occurred  
10  
9
R
R
ADV_UNDERRUN  
IFS_UNDERRUN  
Indicates Advertising Interval Under run, occurs if time  
between two consecutive Advertising packet (in Advertising  
mode) is lower than the expected value.  
0: No error  
0x0  
0x0  
1: Error occurred  
Indicates Inter Frame Space Under run, occurs if IFS time is  
not enough to update and read Control Structure/Descrip-  
tors, and/or White List parsing is not finished and/or Decryp-  
tion time is too long to be finished on time  
0: No error  
1: Error occurred  
8
7
R
R
WHITELIST_ERROR  
Indicates White List Timeout error, occurs if White List pars-  
ing is not finished on time  
0: No error  
0x0  
0x0  
1: Error occurred  
EVT_CNTL_APFM_E Indicates Anticipated Pre-Fetch Mechanism error: happens  
RROR  
when 2 consecutive events are programmed, and when the  
first event is not completely finished while second pre-fetch  
instant is reached.  
0: No error  
1: Error occured  
6
R
EVT_SCHDL_APFM  
_ERROR  
Indicates Anticipated Pre-Fetch Mechanism error: happens  
when 2 consecutive events are programmed, and when the  
first event is not completely finished while second pre-fetch  
instant is reached.  
0x0  
0: No error  
1: Error occured  
5
4
3
R
R
R
EVT_SCHDL_ENTR  
Y_ERROR  
Indicates Event Scheduler faced Invalid timing programing  
on two consecutive ET entries (e.g first one with 624s offset  
and second one with no offset)  
0: No error  
1: Error occurred  
0x0  
0x0  
0x0  
EVT_SCHDL_EMAC  
C_ERROR  
Indicates Event Scheduler Exchange Memory access error,  
happens when Exchange Memory accesses are not served  
in time, and blocks the Exchange Table entry read  
0: No error  
1: Error occurred  
RADIO_EMACC_ER  
ROR  
Indicates Radio Controller Exchange Memory access error,  
happens when Exchange Memory accesses are not served  
in time and data are corrupted.  
0: No error  
1: Error occurred  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
205 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 117: BLE_ERRORTYPESTAT_REG (0x40000060)  
Bit  
Mode Symbol  
Description  
Reset  
2
R
PKTCNTL_EMACC_  
ERROR  
Indicates Packet Controller Exchange Memory access error,  
happens when Exchange Memory accesses are not served  
in time and Tx/Rx data are corrupted  
0: No error  
0x0  
1: Error occurred  
1
0
R
RXCRYPT_ERROR  
Indicates real time decryption error, happens when AES-  
CCM decryption is too slow compared to Packet Controller  
requests. A 16-bytes block has to be decrypted prior the next  
block is received by the Packet Controller  
0: No error  
0x0  
1: Error occurred  
R
TXCRYPT_ERROR  
Indicates Real Time encryption error, happens when AES-  
CCM encryption is too slow compared to Packet Controller  
requests. A 16-bytes block has to be encrypted and pre-  
pared on Packet Controller request, and needs to be ready  
before the Packet Controller has to send ti  
0: No error  
0x0  
1: Error occurred  
Table 118: BLE_SWPROFILING_REG (0x40000064)  
Bit  
Mode Symbol  
R/W SWPROFVAL  
Description  
Reset  
31:0  
Software Profiling register: used by RW-BLE Software for  
profiling purpose: this value is copied on Diagnostic port  
0x0  
Table 119: BLE_RADIOCNTL0_REG (0x40000070)  
Bit  
Mode Symbol  
Description  
Reserved  
Reserved  
Reserved  
Reserved  
Reset  
0x0  
0x0  
0x0  
0x0  
0x0  
0x1  
0x0  
31:24  
23:18  
17:7  
6:5  
4:2  
1
-
-
-
-
-
-
-
-
-
-
-
FIELD246RSV  
-
-
Reserved  
Reserved  
0
Table 120: BLE_RADIOCNTL1_REG (0x40000074)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:21  
20:16  
-
-
Reserved  
R/W  
XRFSEL  
Extended radio selection field, Must be set to "2".  
0x0  
Table 121: BLE_RADIOCNTL2_REG (0x40000078)  
Bit  
Mode Symbol  
Description  
Reset  
31:0  
-
-
Reserved  
0x0  
Table 122: BLE_RADIOCNTL3_REG (0x4000007C)  
Bit  
Mode Symbol  
Description  
Reset  
31:0  
-
-
Reserved  
0x40  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
206 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 123: BLE_RADIOPWRUPDN_REG (0x40000080)  
Bit  
Mode Symbol  
Description  
Reset  
30:24  
R/W  
R/W  
R/W  
R/W  
RTRIP_DELAY  
Defines round trip delay value. This value correspond to the  
addition of data latency in Tx and data latency in Rx. Value is  
in us  
0x0  
23:16  
11:8  
7:0  
RXPWRUP  
TXPWRDN  
TXPWRUP  
This register holds the length in s of the RX power up phase  
for the current radio device. Default value is 210us (reset  
value). Operating range depends on the selected radio.  
0xD2  
0x3  
This register extends the length in s of the TX power down  
phase for the current radio device. Default value is 3us (reset  
value). Operating range depends on the selected radio.  
This register holds the length in s of the TX power up phase  
for the current radio device. Default value is 210us (reset  
value). Operating range depends on the selected radio.  
0xD2  
Table 124: BLE_ADVCHMAP_REG (0x40000090)  
Bit  
Mode Symbol  
R/W ADVCHMAP  
Description  
Reset  
2:0  
Advertising Channel Map, defined as per the advertising  
connection settings. Contains advertising channels index 37  
to 39. If ADVCHMAP[i] equals:  
0x7  
0: Do not use data channel i+37.  
1: Use data channel i+37.  
Table 125: BLE_ADVTIM_REG (0x400000A0)  
Bit  
Mode Symbol  
R/W ADVINT  
Description  
Reset  
13:0  
Advertising Packet Interval defines the time interval in  
between two ADV_xxx packet sent. Value is in us.  
Value to program depends on the used Advertising Packet  
type and the device filtering policy.  
0x0  
Table 126: BLE_ACTSCANSTAT_REG (0x400000A4)  
Bit  
Mode Symbol  
Description  
Reset  
0x1  
24:16  
8:0  
R
R
BACKOFF  
Active scan mode back-off counter initialization value.  
Active scan mode upper limit counter value.  
UPPERLIMIT  
0x1  
Table 127: BLE_WLPUBADDPTR_REG (0x400000B0)  
Bit  
Mode Symbol  
R/W WLPUBADDPTR  
Description  
Reset  
15:0  
Start address pointer of the public devices white list.  
0x0  
Table 128: BLE_WLPRIVADDPTR_REG (0x400000B4)  
Bit  
Mode Symbol  
R/W WLPRIVADDPTR  
Description  
Reset  
15:0  
Start address pointer of the private devices white list.  
0x0  
Table 129: BLE_WLNBDEV_REG (0x400000B8)  
Bit  
Mode Symbol  
R/W NBPRIVDEV  
Description  
Reset  
15:8  
Number of private devices in the white list.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
207 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 129: BLE_WLNBDEV_REG (0x400000B8)  
Bit  
Mode Symbol  
R/W NBPUBDEV  
Description  
Reset  
7:0  
Number of public devices in the white list.  
0x0  
Table 130: BLE_AESCNTL_REG (0x400000C0)  
Bit  
Mode Symbol  
Description  
Reset  
1
R/W  
AES_MODE  
0: Cipher mode  
0x0  
1: Decipher mode  
0
R0/W  
AES_START  
Writing a 1 starts AES-128 ciphering/deciphering process.  
This bit is reset once the process is finished (i.e.  
ble_crypt_irq interrupt occurs, even masked)  
0x0  
Table 131: BLE_AESKEY31_0_REG (0x400000C4)  
Bit  
Mode Symbol  
R/W AESKEY31_0  
Description  
Reset  
31:0  
AES encryption 128-bit key. Bit 31 down to 0  
0x0  
Table 132: BLE_AESKEY63_32_REG (0x400000C8)  
Bit  
Mode Symbol  
R/W AESKEY63_32  
Description  
Reset  
31:0  
AES encryption 128-bit key. Bit 63 down to 32  
0x0  
Table 133: BLE_AESKEY95_64_REG (0x400000CC)  
Bit  
Mode Symbol  
R/W AESKEY95_64  
Description  
Reset  
31:0  
AES encryption 128-bit key. Bit 95 down to 64  
0x0  
Table 134: BLE_AESKEY127_96_REG (0x400000D0)  
Bit  
Mode Symbol  
R/W AESKEY127_96  
Description  
Reset  
31:0  
AES encryption 128-bit key. Bit 127 down to 96  
0x0  
Table 135: BLE_AESPTR_REG (0x400000D4)  
Bit  
Mode Symbol  
R/W AESPTR  
Description  
Reset  
15:0  
Pointer to the memory zone where the block to cipher/deci-  
pher using AES-128 is stored.  
0x0  
Table 136: BLE_TXMICVAL_REG (0x400000D8)  
Bit  
Mode Symbol  
TXMICVAL  
Description  
Reset  
31:0  
R
AES-CCM plain MIC value. Valid on when MIC has been cal- 0x0  
culated (in Tx)  
Table 137: BLE_RXMICVAL_REG (0x400000DC)  
Bit  
Mode Symbol  
RXMICVAL  
Description  
Reset  
31:0  
R
AES-CCM plain MIC value. Valid on once MIC has been  
extracted from Rx packet.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
208 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 138: BLE_RFTESTCNTL_REG (0x400000E0)  
Bit  
Mode Symbol  
Description  
Reset  
31  
R/W  
R/W  
INFINITERX  
Applicable in RF Test Mode only  
0: Normal mode of operation  
1: Infinite Rx window  
0x0  
27  
RXPKTCNTEN  
Applicable in RF Test Mode only  
0x0  
0: Rx packet count disabled  
1: Rx packet count enabled, and reported in CS-RXCCMPK-  
TCNT and RFTESTRXSTAT-RXPKTCNT on RF abort com-  
mand  
15  
14  
R/W  
R/W  
INFINITETX  
Applicable in RF Test Mode only  
0: Normal mode of operation.  
1: Infinite Tx packet / Normal start of a packet but endless  
payload  
0x0  
0x0  
TXLENGTHSRC  
Applicable only in Tx/Rx RF Test mode  
0: Normal mode of operation: TxDESC-TXADVLEN controls  
the Tx packet payload size  
1: Uses RFTESTCNTL-TXLENGTH packet length (can sup-  
port up to 512 bytes transmit)  
13  
12  
11  
R/W  
R/W  
R/W  
PRBSTYPE  
TXPLDSRC  
TXPKTCNTEN  
Applicable only in Tx/Rx RF Test mode  
0: Tx Packet Payload are PRBS9 type  
1: Tx Packet Payload are PRBS15 type  
0x0  
0x0  
0x0  
Applicable only in Tx/Rx RF Test mode  
0: Tx Packet Payload source is the Control Structure  
1: Tx Packet Payload are PRBS generator  
Applicable in RF Test Mode only  
0: Tx packet count disabled  
1: Tx packet count enabled, and reported in CS-TXCCMPK-  
TCNT and RFTESTTXSTAT-TXPKTCNT on RF abort com-  
mand  
8:0  
R/W  
TXLENGTH  
Applicable only for Tx/Rx RF Test mode, and valid when  
RFTESTCNTL-TXLENGTHSRC = 1  
0x0  
Tx packet length in number of byte  
Table 139: BLE_RFTESTTXSTAT_REG (0x400000E4)  
Bit  
Mode Symbol  
TXPKTCNT  
Description  
Reset  
31:0  
R
Reports number of transmitted packet during Test Modes.  
Value is valid if RFTESTCNTL-TXPKTCNTEN is set  
0x0  
Table 140: BLE_RFTESTRXSTAT_REG (0x400000E8)  
Bit  
Mode Symbol  
RXPKTCNT  
Description  
Reset  
31:0  
R
Reports number of correctly received packet during Test  
Modes (no sync error, no CRC error).  
0x0  
Value is valid if RFTESTCNTL-RXPKTCNTEN is set  
Table 141: BLE_TIMGENCNTL_REG (0x400000F0)  
Bit  
Mode Symbol  
R/W APFM_EN  
Description  
Reset  
31  
Controls the Anticipated pre-Fetch Abort mechanism  
0x1  
0: Disabled  
1: Enabled  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
209 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 141: BLE_TIMGENCNTL_REG (0x400000F0)  
Bit  
Mode Symbol  
Description  
Reset  
25:16  
R/W  
PREFETCHABORT_  
TIME  
Defines the instant in s at which immediate abort is required  
after anticipated pre-fetch abort  
0x1FE  
8:0  
R/W  
PREFETCH_TIME  
Defines Exchange Table pre-fetch instant in us  
0x96  
Table 142: BLE_GROSSTIMTGT_REG (0x400000F4)  
Bit  
Mode Symbol  
R/W GROSSTARGET  
Description  
Reset  
22:0  
Gross Timer Target value on which a ble_grosstgtim_irq  
must be generated. This timer has a precision of 10ms: inter-  
rupt is generated only when GROSSTARGET[22:0] = BASE-  
TIMECNT[26:4] and BASETIMECNT[3:0] = 0.  
0x0  
Table 143: BLE_FINETIMTGT_REG (0x400000F8)  
Bit  
Mode Symbol  
R/W FINETARGET  
Description  
Reset  
26:0  
Fine Timer Target value on which a ble_finetgtim_irq must be  
generated. This timer has a precision of 625us: interrupt is  
generated only when FINETARGET = BASETIMECNT  
0x0  
Table 144: BLE_SAMPLECLK_REG (0x400000FC)  
Bit  
31:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R0/W  
SAMP  
Writing a 1 samples the Base Time Counter value in BASE-  
TIMECNT register. Resets at 0 when action is performed.  
0x0  
Table 145: BLE_COEXIFCNTL0_REG (0x40000100)  
Bit  
Mode Symbol  
Description  
Reset  
21:20  
R/W  
WLCRXPRIOMODE  
Defines Bluetooth Low Energy packet ble_rx mode behavior. 0x0  
00: Rx indication excluding Rx Power up delay (starts when  
correlator is enabled)  
01: Rx indication including Rx Power up delay  
10: Rx High priority indicator  
11: n/a  
17:16  
7:6  
R/W  
R/W  
R/W  
WLCTXPRIOMODE  
WLANTXMSK  
Defines Bluetooth Low Energy packet ble_tx mode behavior  
00: Tx indication excluding Tx Power up delay  
01: Tx indication including Tx Power up delay  
10: Tx High priority indicator  
0x0  
0x0  
0x1  
11: n/a  
Determines how wlan_tx impact BLE Tx and Rx  
00: wlan_tx has no impact (default mode)  
01: wlan_tx can stop BLE Tx, no impact on BLE Rx  
10: wlan_tx can stop BLE Rx, no impact on BLE Tx  
11: wlan_tx can stop both BLE Tx and BLE Rx  
5:4  
WLANRXMSK  
Determines how wlan_rx impact BLE Tx and Rx  
00: wlan_rx has no impact  
01: wlan_rx can stop BLE Tx, no impact on BLE Rx (default  
mode)  
10: wlan_rx can stop BLE Rx, no impact on BLE Tx  
11: wlan_rx can stop both BLE Tx and BLE Rx  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
210 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 145: BLE_COEXIFCNTL0_REG (0x40000100)  
Bit  
Mode Symbol  
Description  
Reset  
1
R/W  
R/W  
SYNCGEN_EN  
Determines whether ble_sync is generated or not.  
0: ble_sync pulse not generated  
1: ble_sync pulse generated  
0x0  
0
COEX_EN  
Enable / Disable control of the MWS/WLAN Coexistence  
control  
0x0  
0: Coexistence interface disabled  
1: Coexistence interface enabled  
Table 146: BLE_COEXIFCNTL1_REG (0x40000104)  
Bit  
Mode Symbol  
Description  
Reset  
28:24  
R/W  
R/W  
R/W  
WLCPRXTHR  
Applies on ble_rx if WLCRXPRIOMODE equals 10  
Determines the threshold for Rx priority setting.  
If ble_pti[3:0] output value is greater than WLCPRXTHR,  
then Rx Bluetooth Low Energy priority is considered as high,  
and must be provided to the WLAN coexistence interface  
0x0  
20:16  
14:8  
WLCPTXTHR  
Applies on ble_tx if WLCTXPRIOMODE equals 10  
Determines the threshold for priority setting.  
If ble_pti[3:0] output value is greater than WLCPTXTHR,  
then Tx Bluetooth Low Energy priority is considered as high,  
and must be provided to the WLAN coexistence interface  
0x0  
0x0  
WLCPDURATION  
Applies on ble_tx if WLCTXPRIOMODE equals 10  
Applies on ble_rx if WLCRXPRIOMODE equals 10  
Determines how many s the priority information must be  
maintained  
Note that if WLCPDURATION = 0x00, then Tx/Rx priority  
levels are maintained till Tx/Rx EN are de-asserted.  
6:0  
R/W  
WLCPDELAY  
Applies on ble_tx if WLCTXPRIOMODE equals 10.  
Applies on ble_rx if WLCRXPRIOMODE equals 10.  
Determines the delay (in us) in Tx/Rx enables rises the time  
Bluetooth Low energy Tx/Rx priority has to be provided .  
0x0  
Table 147: BLE_BLEMPRIO0_REG (0x40000108)  
Bit  
Mode Symbol  
Description  
Reset  
0x3  
31:28  
27:24  
23:20  
19:16  
15:12  
11:8  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BLEM7  
BLEM6  
BLEM5  
BLEM4  
BLEM3  
BLEM2  
Set Priority value for Passive Scanning  
Set Priority value for Non-Connectable Advertising  
Set Priority value for Connectable Advertising BLE message  
Set Priority value for Active Scanning BLE message  
Set Priority value for Initiating (Scanning) BLE message  
0x4  
0x8  
0x9  
0xA  
0xD  
Set Priority value for Data Channel transmission BLE mes-  
sage  
7:4  
3:0  
R/W  
R/W  
BLEM1  
BLEM0  
Set Priority value for LLCP BLE message  
0xE  
0xF  
Set Priority value for Initiating (Connection Request  
Response) BLE message  
Table 148: BLE_BLEMPRIO1_REG (0x4000010C)  
Bit  
Mode Symbol  
R/W BLEMDEFAULT  
Description  
Reset  
31:28  
Set default priority value for other BLE message than those  
defined above  
0x3  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
211 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 149: BLE_CNTL2_REG (0x40000200)  
Bit  
Mode Symbol  
Description  
Reset  
31:22  
R/W  
BLE_TRANSACTION The value will be compared with the FINECNT in order to  
0x0  
_START  
assert the BLE_TRANSACTION signal towards the COEX  
block. The deassertion of BLE_TRANSACTION is triggered  
by the deassertion of BLE_EVENT_IN_PROCESS. Refer  
also to BLE_TRANSACTION_MODE,  
BLE_TRANSACTION_SRC and BLE_PTI_SOURCE_SEL  
bitfields.  
If the desired distance from TX_EN/RX_EN is  
RADIO_PWRDN and TXRXPWRUP=max(TXPWRUP, RXP-  
WRUP), then this bitfield must be set to (RADIO_PWRDN +  
TXRXPWRUP-1) if CS.FCNTOFFSET is "0", otherwise it  
must be set to (RADIO_PWRDN + TXRXPWRUP-1 -  
CS.FCNTOFFSET-1).  
Remark: BLE_EVENT_IN_PROCESS is controlled by the  
BLE_TIMGENCNTL_REG.PREFETCH_TIME, so the  
BLE_TRANSACTION_START should be less than the  
PREFETCH_TIME.  
21  
20  
R/W  
R
BLE_RSSI_SEL  
WAKEUPLPSTAT  
0: Select Peak-hold RSSI value (default).  
1: Select current Average RSSI value.  
0x0  
0x0  
The status of the BLE_WAKEUP_LP_IRQ. The Interrupt  
Service Routine of BLE_WAKEUP_LP_IRQ should return  
only when the WAKEUPLPSTAT is cleared.  
Note that BLE_WAKEUP_LP_IRQ is automatically acknowl-  
edged after the power up of the Radio Subsystem, plus one  
Low Power Clock period.  
19  
18  
17  
R/W  
R/W  
R/W  
SW_RPL_SPI  
BB_ONLY  
Keep to 0.  
Keep to 0.  
0x0  
0x0  
0x0  
BLE_PTI_SOURCE_  
SEL  
0: Provide to COEX block the PTI value indicated by the  
Control Structure. Recommended value is "0".  
1: Provide to COEX block the PTI value generated dynami-  
cally by the BLE core, which is based on the PTI of the Con-  
trol Structure.  
16  
15  
R/W  
R/W  
BLE_TRANSACTION 0: Keep the BLE_TRANSACTION constant during the pro-  
0x0  
0x0  
_MODE  
cess of the current event, regadless of the state of PTI value.  
Recommended value is "0".  
1: Create a one clock cycle of low period at the  
BLE_TRANSACTION whenever a change in the PTI value is  
detected.  
(refer also to BLE_PTI_SOURCE_SEL)  
BLE_TRANSACTION 0: Assert the BLE_TRANSACTION at the moment indicated  
_SRC  
by the BLE_TRANSACTION_START only if the PTI value is  
available at that moment, otherwise assert  
BLE_TRANSACTION at the next positive edge of TX_EN ot  
RX_EN. Recommended value is "0".  
1: Assert the BLE_TRANSACTION at the moment indicated  
by the BLE_TRANSACTION_START, if during this moment  
the BLE_EVENT_IN_PROCESS is asserted, otherwise  
assert BLE_TRANSACTION at the next positive edge of  
TX_EN ot RX_EN. Useful when  
COEX_CTRL_REG[SEL_BLE_PTI]=0.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
212 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 149: BLE_CNTL2_REG (0x40000200)  
Bit  
Mode Symbol  
Description  
Reset  
14:9  
R/W  
BLE_CLK_SEL  
BLE Clock Select.  
0x0  
Specifies the BLE master clock absolute frequency in MHz.  
Typical values are 16 and 8.  
Value depends on the selected XTAL frequency and the  
value of CLK_RADIO_REG[BLE_DIV] bitfield. For example,  
if XTAL oscillates at 16MHz and  
CLK_RADIO_REG[BLE_DIV] = 1 (divide by 2), then BLE  
master clock frequency is 8MHz and BLE_CLK_SEL should  
be set to value 8.  
The selected BLE master clock frequency (affected by  
BLE_DIV and BLE_CLK_SEL) must be modified and set  
only during the initialization time, i.e. before setting  
BLE_RWBTLECNTL_REG[RWBLE_EN] to 1.  
Refer also to BLE_RWBTLECONF_REG[CLK_SEL].  
8
R
RADIO_PWRDN_AL  
LOW  
This active high signal indicates when it is allowed for the  
BLE core (embedded in the Radio sub-System power  
domain) to be powered down.  
0x0  
After the assertion of the  
BLE_DEEPSLCNTL_REG[DEEP_SLEEP_ON] a hardware  
sequence based on the Low Power clock will cause the  
assertion of RADIO_PWRDN_ALLOW. The  
RADIO_PWRDN_ALLOW will be cleared to "0" when the  
BLE core exits from the sleep state, i.e. when the  
BLE_SLP_IRQ will be asserted.  
7
R
MON_LP_CLK  
The SW can only write a "0" to this bit.  
0x0  
Whenever a positive edge of the low power clock used by  
the BLE Timers is detected, then the HW will automatically  
set this bit to "1". This functionality will not work if BLE Timer  
is in reset state (refer to  
CLK_RADIO_REG[BLE_LP_RESET]).  
This bit can be used for SW synchronization, to debug the  
low power clock, etc.  
6
R
BLE_CLK_STAT  
0: BLE uses low power clock  
1: BLE uses master clock  
0x0  
0x0  
5:4  
R/W  
BLE_DIAG_OVR_SE  
L
Effective only when BLE_CNTL2_REG[ BLE_DIAG_OVR ]  
is set to '1', providing the values of P1[0] and P1[2] diagnos-  
tic signals:  
P1[0] will provide the logical OR of all Cortex-M0 IRQ lines,  
regardless of the BLE_DIAG_OVR_SEL value.  
P1[2] will provide the value according to the  
BLE_DIAG_OVR_SEL value:  
00: "low_power_clk" free running clock.  
01: "running_at_32k" status.  
10: "cortex_deepsleep" status.  
11: "deep_sleep_stat_32k" BLE core in sleep mode.  
3
R/W  
BLE_DIAG_OVR  
1: Overrule the P1[0] and P1[2] control signals  
PAD_LATCH_EN to always "1" and the direction to always  
"output". It can be used in combination with the  
BLE_CNTL2_REG[ BLE_DIAG_OVR_SEL ] to provide diag-  
nostic signals on P1[0] and P1[2] even while the system is in  
power down state.  
0x0  
0: The PAD_LATCH_EN and direction of P1[0] and P1[2]  
pins are not overruled.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
213 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 149: BLE_CNTL2_REG (0x40000200)  
Bit  
Mode Symbol  
Description  
Reset  
2
R/W  
R0/W  
R
EMACCERRMSK  
Exchange Memory Access Error Mask:  
When cleared to "0" the EM_ACC_ERR will not cause an  
BLE_ERROR_IRQ interrupt.  
When set to "1" an BLE_ERROR_IRQ will be generated as  
long as EM_ACC_ERR is "1".  
0x1  
0x0  
0x0  
1
0
EMACCERRACK  
EMACCERRSTAT  
Exchange Memory Access Error Acknowledge.  
When the SW writes a "1" to this bit then the EMAC-  
CERRSTAT bit will be cleared.  
When the SW writes "0" it will have no affect.  
The read value is always "0".  
Exchange Memory Access Error Status:  
The bit is read-only and can be cleared only by writing a "1"  
at EMACCERRACK bitfield.  
This bit will be set to "1" by the hardware when the controller  
will access an EM page that is not mapped according to the  
EM_MAPPING value.  
When this bit is "1" then the BLE_ERROR_IRQ will be  
asserted as long as EMACCERRMSK is "1".  
Table 150: BLE_EM_BASE_REG (0x40000208)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:17  
16:10  
-
-
Reserved  
R/W  
BLE_EM_BASE_16_  
10  
The physical address on the system memory map of the  
base of the Exchange Memory.  
0x0  
9:0  
-
-
Reserved  
0x0  
Table 151: BLE_DIAGCNTL2_REG (0x4000020C)  
Bit  
Mode Symbol  
Description  
Reset  
31  
R/W  
DIAG7_EN  
0: Disable diagnostic port 0 output. All outputs are set to 0x0. 0x0  
1: Enable diagnostic port 0 output.  
30  
-
-
Reserved  
0x0  
0x0  
29:24  
R/W  
DIAG7  
Only relevant when DIAG7_EN = 1.  
Selection of the outputs that must be driven to the diagnostic  
port BLE_DIAG7.  
23  
R/W  
DIAG6_EN  
0: Disable diagnostic port 0 output. All outputs are set to 0x0. 0x0  
1: Enable diagnostic port 0 output.  
22  
-
-
Reserved  
0x0  
0x0  
21:16  
R/W  
DIAG6  
Only relevant when DIAG6_EN = 1.  
Selection of the outputs that must be driven to the diagnostic  
port BLE_DIAG6.  
15  
R/W  
DIAG5_EN  
0: Disable diagnostic port 0 output. All outputs are set to 0x0. 0x0  
1: Enable diagnostic port 0 output.  
14  
-
-
Reserved  
0x0  
0x0  
13:8  
R/W  
DIAG5  
Only relevant when DIAG5_EN= 1.  
Selection of the outputs that must be driven to the diagnostic  
port BLE_DIAG5.  
7
6
R/W  
-
DIAG4_EN  
-
0: Disable diagnostic port 0 output. All outputs are set to 0x0. 0x0  
1: Enable diagnostic port 0 output.  
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
214 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 151: BLE_DIAGCNTL2_REG (0x4000020C)  
Bit  
Mode Symbol  
R/W DIAG4  
Description  
Reset  
5:0  
Only relevant when DIAG4_EN = 1.  
Selection of the outputs that must be driven to the diagnostic  
port BLE_DIAG4.  
0x0  
Table 152: BLE_DIAGCNTL3_REG (0x40000210)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31  
R/W  
R/W  
DIAG7_INV  
If set, then the specific diagnostic bit will be inverted.  
30:28  
DIAG7_BIT  
Selects which bit from the DIAG7 word will be forwarded to  
bit 7 of the BLE DIagnostic Port.  
0x0  
27  
R/W  
R/W  
DIAG6_INV  
DIAG6_BIT  
If set, then the specific diagnostic bit will be inverted.  
0x0  
0x0  
26:24  
Selects which bit from the DIAG6 word will be forwarded to  
bit 6 of the BLE DIagnostic Port.  
23  
R/W  
R/W  
DIAG5_INV  
DIAG5_BIT  
If set, then the specific diagnostic bit will be inverted.  
0x0  
0x0  
22:20  
Selects which bit from the DIAG5 word will be forwarded to  
bit 5 of the BLE DIagnostic Port.  
19  
R/W  
R/W  
DIAG4_INV  
DIAG4_BIT  
If set, then the specific diagnostic bit will be inverted.  
0x0  
0x0  
18:16  
Selects which bit from the DIAG4 word will be forwarded to  
bit 4 of the BLE DIagnostic Port.  
15  
R/W  
R/W  
DIAG3_INV  
DIAG3_BIT  
If set, then the specific diagnostic bit will be inverted.  
0x0  
0x0  
14:12  
Selects which bit from the DIAG3 word will be forwarded to  
bit 3 of the BLE DIagnostic Port.  
11  
R/W  
R/W  
DIAG2_INV  
DIAG2_BIT  
If set, then the specific diagnostic bit will be inverted.  
0x0  
0x0  
10:8  
Selects which bit from the DIAG2 word will be forwarded to  
bit 2 of the BLE DIagnostic Port.  
7
R/W  
R/W  
DIAG1_INV  
DIAG1_BIT  
If set, then the specific diagnostic bit will be inverted.  
0x0  
0x0  
6:4  
Selects which bit from the DIAG1 word will be forwarded to  
bit 1 of the BLE DIagnostic Port.  
3
R/W  
R/W  
DIAG0_INV  
DIAG0_BIT  
If set, then the specific diagnostic bit will be inverted.  
0x0  
0x0  
2:0  
Selects which bit from the DIAG0 word will be forwarded to  
bit 0 of the BLE DIagnostic Port.  
37.4 AES_HASH REGISTER FILE  
Table 153: Register map AES_HASH  
Address  
Port  
Description  
0x40020000  
0x40020004  
0x40020008  
0x4002000C  
0x40020010  
0x40020014  
0x40020018  
0x4002001C  
0x40020020  
0x40020024  
0x40020028  
0x40020100  
CRYPTO_CTRL_REG  
CRYPTO_START_REG  
Crypto Control register  
Crypto Start calculation  
CRYPTO_FETCH_ADDR_REG  
CRYPTO_LEN_REG  
Crypto DMA fetch register  
Crypto Length of the input block in bytes  
Crypto DMA destination memory  
Crypto Status register  
CRYPTO_DEST_ADDR_REG  
CRYPTO_STATUS_REG  
CRYPTO_CLRIRQ_REG  
CRYPTO_MREG0_REG  
CRYPTO_MREG1_REG  
CRYPTO_MREG2_REG  
CRYPTO_MREG3_REG  
CRYPTO_KEYS_START  
Crypto Clear interrupt request  
Crypto Mode depended register 0  
Crypto Mode depended register 1  
Crypto Mode depended register 2  
Crypto Mode depended register 3  
Crypto First position of the AES keys storage memory  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
215 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 154: CRYPTO_CTRL_REG (0x40020000)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:18  
17  
-
-
Reserved  
R/W  
CRYPTO_AES_KEX  
P
It forces (active high) the execution of the key expansion pro- 0x0  
cess with the starting of the AES encryption/decryption pro-  
cess. The bit will be cleared automatically by the hardware,  
after the completion of the AES key expansion process.  
16  
R/W  
R/W  
CRYPTO_MORE_IN  
0 - Define that this is the last input block. When the current  
input is consumed by the crypto engine and the output data  
is written to the memory, the calculation ends  
(CRYPTO_INACTIVE goes to one).  
1 - The current input data block is not the last. More input  
data will follow. When the current input is consumed, the  
engine stops and waits for more data  
0x0  
(CRYPTO_WAIT_FOR_IN goes to one).  
15:10  
CRYPTO_HASH_OU  
T_LEN  
The number of bytes minus one of the hash result which will  
be saved at the memory by the DMA. In relation with the  
selected hash algorithm the accepted values are:  
MD5: 0..15 -> 1-16 bytes  
0x0  
SHA-1: 0..19 -> 1-20 bytes  
SHA-256: 0..31 -> 1 - 32 bytes  
SHA-256/224: 0..27 -> 1- 28 bytes  
SHA-384: 0..47 -> 1 - 48 bytes  
SHA-512: 0..63 -> 1 - 64 bytes  
SHA-512/224: 0..27 -> 1- 28 bytes  
SHA-512/256: 0..31 -> 1 - 32 bytes  
9
8
R/W  
R/W  
CRYPTO_HASH_SE  
L
Selects the type of the algorithm  
0 - The encryption algorithm (AES)  
1 - A hash algorithm.  
The exact algorithm is defined by the fileds CRYPTO_ALG  
and CRYPTO_ALG_MD.  
0x0  
0x0  
CRYPTO_IRQ_EN  
CRYPTO_ENCDEC  
Interrupt Request Enable  
0 - The interrupt generation ability is disabled.  
1 - The interrupt generation ability is enabled. Generates an  
interrupt request at the end of operation.  
7
R/W  
R/W  
Encryption/Decryption  
0 - Decryption  
1 - Encryption  
0x0  
0x0  
6:5  
CRYPTO_AES_KEY  
_SZ  
The size of AES Key  
00 - 128 bits AES Key  
01 - 192 bits AES Key  
10 - 256 bits AES Key  
11 - 256 bits AES Key  
4
R/W  
CRYPTO_OUT_MD  
Output Mode. This field makes sense only when the AES  
algorithm is selected (CRYPTO_HASH_SEL =0)  
0 - Write back to memory all the resulting data  
1 - Write back to memory only the final block of the resulting  
data  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
216 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 154: CRYPTO_CTRL_REG (0x40020000)  
Bit  
Mode Symbol  
R/W CRYPTO_ALG_MD  
Description  
Reset  
0x0  
3:2  
It defines the mode of operation of the AES algorithm when  
the controller is configured for an encryption/decryption pro-  
cessing (CRYPTO_HASH_SEL = 0).  
00 - ECB  
01 - ECB  
10 - CTR  
11 - CBC  
When the controller is configured to applies a HASH func-  
tion, this field selects the desired HASH algorithm with the  
help of the CRYPTO_ALG.  
00 - HASH algorithms that are based on 32 bits operations  
01 - HASH algorithms that are based on 64 bits operations  
10 - Reserved  
11 - Reserved  
See also the CRYPTO_ALG field.  
1:0  
R/W  
CRYPTO_ALG  
Algorithm selection. When CRYPTO_HASH_SEL = 0 the  
only available choice is the AES algorithm.  
00 - AES  
0x0  
01 - Reserved  
10 - Reserved  
11 - Reserved  
When CRYPTO_HASH_SEL = 1, this field selects the  
desired hash algorithms, with the help of the  
CRYPTO_ALG_MD field.  
If CRYPTO_ALG_MD = 00  
00 - MD5  
01 - SHA-1  
10 - SHA-256/224  
11 - SHA-256  
If CRYPTO_ALG_MD = 01  
00 - SHA-384  
01 - SHA-512  
10 - SHA-512/224  
11 - SHA-512/256  
Table 155: CRYPTO_START_REG (0x40020004)  
Bit  
31:1  
0
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
R0/W  
CRYPTO_START  
Write 1 to initiate the processing of the input data. This regis- 0x0  
ter is auto-cleared.  
Table 156: CRYPTO_FETCH_ADDR_REG (0x40020008)  
Bit  
Mode Symbol  
R/W CRYPTO_FETCH_A  
DDR  
Description  
Reset  
31:0  
The memory address from where will be retrieved the data  
that will be processed. The value of this register is updated  
as the calculation proceeds and the output data are written  
to the memory.  
0x0  
Table 157: CRYPTO_LEN_REG (0x4002000C)  
Bit  
Mode Symbol  
Description  
Reset  
31:24  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
217 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 157: CRYPTO_LEN_REG (0x4002000C)  
Bit  
Mode Symbol  
R/W CRYPTO_LEN  
Description  
Reset  
23:0  
It contains the number of bytes of input data. If this number is  
not a multiple of a block size, the data is automatically  
extended with zeros. The value of this register is updated as  
the calculation proceeds and the output data are written to  
the memory.  
0x0  
Table 158: CRYPTO_DEST_ADDR_REG (0x40020010)  
Bit  
Mode Symbol  
R/W CRYPTO_DEST_AD  
DR  
Description  
Reset  
31:0  
Destination address at where the result of the processing is  
stored. The value of this register is updated as the calcula-  
tion proceeds and the output data are written to the memory.  
0x0  
Table 159: CRYPTO_STATUS_REG (0x40020014)  
Bit  
31:3  
2
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
R
CRYPTO_IRQ_ST  
The status of the interrupt request line of the CRYPTO block. 0x0  
0 - There is no active interrupt request.  
1 - An interrupt request is pending.  
1
R
CRYPTO_WAIT_FO  
R_IN  
Indicates the situation where the engine waits for more input  
data. This is applicable when the CRYPTO_MORE_IN= 1,  
so the input data are fragmented in the memory.  
0 - The crypto is not waiting for more input data.  
1 - The crypto waits for more input data.  
0x0  
The CRYPTO_INACTIVE flag remains to zero to indicate  
that the calculation is not finished. The supervisor of the  
CRYPTO must program to the CRYPTO_FETCH_ADDR  
and CRYPTO_LEN a new input data fragment. The calcula-  
tion will be continued as soon as the CRYPTO_START reg-  
ister will be written with 1. This action will clear the  
CRYPTO_WAIT_FOR_IN flag.  
0
R
CRYPTO_INACTIVE  
0 - The CRYPTO is active. The processing is in progress.  
1 - The CRYPTO is inactive. The processing has finished.  
0x1  
Table 160: CRYPTO_CLRIRQ_REG (0x40020018)  
Bit  
31:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R0/W  
CRYPTO_CLRIRQ  
Write 1 to clear a pending interrupt request.  
0x0  
Table 161: CRYPTO_MREG0_REG (0x4002001C)  
Bit  
Mode Symbol  
R/W CRYPTO_MREG0  
Description  
Reset  
31:0  
It contains information that are depended by the mode of  
operation, when is used the AES algorithm:  
CBC - IV[31:0]  
0x0  
CTR - CTRBLK[31:0]. It is the initial value of the 32 bits  
counter.  
At any other mode, the contents of this register has no  
meaning.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
218 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 162: CRYPTO_MREG1_REG (0x40020020)  
Bit  
Mode Symbol  
R/W CRYPTO_MREG1  
Description  
Reset  
31:0  
It contains information that are depended by the mode of  
operation, when is used the AES algorithm:  
CBC - IV[63:32]  
0x0  
CTR - CTRBLK[63:32]  
At any other mode, the contents of this register has no  
meaning.  
Table 163: CRYPTO_MREG2_REG (0x40020024)  
Bit  
Mode Symbol  
R/W CRYPTO_MREG2  
Description  
Reset  
31:0  
It contains information that are depended by the mode of  
operation, when is used the AES algorithm:  
CBC - IV[95:64]  
0x0  
CTR - CTRBLK[95:64]  
At any other mode, the contents of this register has no  
meaning.  
Table 164: CRYPTO_MREG3_REG (0x40020028)  
Bit  
Mode Symbol  
R/W CRYPTO_MREG3  
Description  
Reset  
31:0  
It contains information that are depended by the mode of  
operation, when is used the AES algorithm:  
CBC - IV[127:96]  
0x0  
CTR - CTRBLK[127:96]  
At any other mode, the contents of this register has no  
meaning.  
Table 165: CRYPTO_KEYS_START (0x40020100)  
Bit  
Mode Symbol  
CRYPTO_KEY_X  
Description  
Reset  
31:0  
W
CRYPTO_KEY_(0-63)  
0x0  
This is the AES keys storage memory. This memory is  
accessible via AHB slave interface, only when the CRYPTO  
is inactive (CRYPTO_INACTIVE = 1).  
37.5 CACHE REGISTER FILE  
Table 166: Register map CACHE  
Address  
Port  
Description  
0x400C3000  
0x400C3004  
0x400C3008  
0x400C3020  
0x400C3028  
0x400C302C  
0x400C3030  
0x400C3034  
CACHE_CTRL1_REG  
Cache control register 1  
CACHE_LNSIZECFG_REG  
CACHE_ASSOCCFG_REG  
CACHE_CTRL2_REG  
Cache line size configuration register  
Cache associativity configuration register  
Cache control register 2  
CACHE_MRM_HITS_REG  
CACHE_MRM_MISSES_REG  
CACHE_MRM_CTRL_REG  
CACHE_MRM_TINT_REG  
Cache MRM (Miss Rate Monitor) HITS register  
Cache MRM (Miss Rate Monitor) MISSES register  
Cache MRM (Miss Rate Monitor) CONTROL register  
Cache MRM (Miss Rate Monitor) TIME INTERVAL  
register  
0x400C3038  
CACHE_MRM_THRES_REG  
SWD_RESET_REG  
Cache MRM (Miss Rate Monitor) THRESHOLD regis-  
ter  
0x400C3050  
Datasheet  
SWD HW reset control register  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
219 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 167: CACHE_CTRL1_REG (0x400C3000)  
Bit  
31:2  
1
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0
0
0
R/W  
R0/W  
CACHE_RES1  
CACHE_FLUSH  
Reserved. Always keep 0.  
0
Writing a '1' into this bit, flushes the contents of the tag mem-  
ories which invalidates the content of the cache memory.  
The read of this bit is always '0'.  
Note: The flushing of the cache TAG memory takes 0x100 or  
0x200 HCLK cycles for a Cache Data RAM size of 8 KB  
resp. 16 KB.  
Table 168: CACHE_LNSIZECFG_REG (0x400C3004)  
Bit  
Mode Symbol  
Description  
Reset  
31:2  
1:0  
-
-
Reserved  
0
0
R/W  
CACHE_LINE  
Cache line size:  
0: 8 bytes,  
1: 16 bytes,  
2: 32 bytes,  
3: reserved.  
Note: Flush the cache just after the dynamic (run-time)  
reconfiguration of the cache with an 8 bytes cache line size:  
write the value "01" into the cache control register  
CACHE_CTRL1_REG just after the write of the value "00"  
into the cache line size configuration register  
CACHE_LNSIZECFG_REG.  
Table 169: CACHE_ASSOCCFG_REG (0x400C3008)  
Bit  
Mode Symbol  
Description  
Reset  
31:2  
1:0  
-
-
Reserved  
0
2
R/W  
CACHE_ASSOC  
Cache associativity:  
0: 1-way (direct mapped)  
1: 2-way  
2: 4-way  
3: reserved.  
Note: Flush the cache controller before dynamically decreas-  
ing the associativity.  
Table 170: CACHE_CTRL2_REG (0x400C3020)  
Bit  
Mode Symbol  
Description  
Reset  
31:13  
12  
-
-
Reserved  
0
0
R/W  
ENABLE_ALSO_QS  
PIFLASH_CACHED  
Enable also the QSPI FLASH cacheability when remapped  
to OTP (cached).  
See also the notes at "CACHE_LEN".  
11  
R/W  
ENABLE_ALSO_OT  
P_CACHED  
Enable also the OTP cacheability when remapped to QSPI  
FLASH (cached).  
0
See also the notes at "CACHE_LEN".  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
220 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 170: CACHE_CTRL2_REG (0x400C3020)  
Bit  
Mode Symbol  
Description  
Reset  
10  
R/W  
CACHE_CGEN  
0: Cache controller clock gating is not enabled.  
1: Cache controller clock gating is enabled (enabling power  
saving).  
0
Note: This bit must be set to '0' (default) when setting the  
CACHE_FLUSH bit while executing from other than QSPI  
FLASH cached or OTP cached, e.g. from Booter or SYS-  
RAM.  
9
R/W  
CACHE_WEN  
0: Cache Data and TAG memory read only.  
1: Cache Data and TAG memory read/write.  
The TAG and Data memory are only updated by the cache  
controller.  
0
There is no HW protection to prevent unauthorized access  
by the Arm.  
Note: When accessing the memory mapped Cache Data and  
TAG memory (for debugging purposes) only 32 bits access  
is allowed to the Cache Data memory and only 16 bits  
access is allowed to the Cache TAG memory.  
8:0  
R/W  
CACHE_LEN  
Length of QSPI FLASH cacheable memory.  
N*64kbyte. N= 0 to 512 (Max of 32 Mbyte).  
Setting CACHE_LEN=0 disables the cache.  
Note 1: The OTP memory is completely cacheable (when  
enabled).  
0
Note 2: The max. size/length of QSPI FLASH cacheable  
memory is 16 Mbyte when also OTP is cached.  
Table 171: CACHE_MRM_HITS_REG (0x400C3028)  
Bit  
Mode Symbol  
Description  
Reset  
31:19  
18:0  
-
-
Reserved  
0
0
R/W  
MRM_HITS  
Contains the amount of cache hits.  
Table 172: CACHE_MRM_MISSES_REG (0x400C302C)  
Bit  
Mode Symbol  
Description  
Reset  
31:18  
17:0  
-
-
Reserved  
0
0
R/W  
MRM_MISSES  
Contains the amount of cache misses.  
Table 173: CACHE_MRM_CTRL_REG (0x400C3030)  
Bit  
31:4  
3
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0
0
R/W  
MRM_IRQ_THRES_  
STATUS  
0: No interrupt is generated.  
1: Interrupt (pulse-sensitive) is generated because the num-  
ber of cache misses reached the programmed threshold  
(threshold != 0).  
2
1
R/W  
R/W  
MRM_IRQ_TINT_ST  
ATUS  
0: No interrupt is generated.  
1: Interrupt (pulse-sensitive) is generated because the time  
interval counter reached the end (time interval != 0).  
0
0
MRM_IRQ_MASK  
0: Disables interrupt generation.  
1: Enables interrupt generation.  
Note: The Cache MRM generates a pulse-sensitive interrupt  
towards the Arm processor,  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
221 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 173: CACHE_MRM_CTRL_REG (0x400C3030)  
Bit  
Mode Symbol  
R/W MRM_START  
Description  
Reset  
0
0: Freeze the "misses/hits" counters and reset the time inter-  
val counter to the programmed value in  
0
CACHE_MRM_TINT_REG.  
1: Enables the counters.  
Note: In case CACHE_MRM_CTRL_REG[MRM_START] is  
set to '1' and CACHE_MRM_TINT_REG (!=0) is used for the  
MRM interrupt generation, the time interval counter counts  
down (on a fixed reference clock of 16 MHz) until it's '0'. At  
that time CACHE_MRM_CTRL_REG[MRM_START] will be  
reset automatically to '0' by the MRM hardware and the  
MRM interrupt will be generated.  
Table 174: CACHE_MRM_TINT_REG (0x400C3034)  
Bit  
Mode Symbol  
Description  
Reset  
31:18  
17:0  
-
-
Reserved  
0
0
R/W  
MRM_TINT  
Defines the time interval for the monitoring in 16 MHz clock  
cycles. See also the description of  
CACHE_MRM_CTRL_REG[MRM_IRQ_TINT_STATUS].  
Note: When MRM_TINT=0 (unrealistic value), no interrupt  
will be generated.  
Table 175: CACHE_MRM_THRES_REG (0x400C3038)  
Bit  
Mode Symbol  
Description  
Reset  
31:18  
17:0  
-
-
Reserved  
0
0
R/W  
MRM_THRES  
Defines the threshold to trigger the interrupt generation. See  
also the description of  
CACHE_MRM_CTRL_REG[MRM_IRQ_THRES_STATUS].  
Note: When MRM_THRES=0 (unrealistic value), no interrupt  
will be generated.  
Table 176: SWD_RESET_REG (0x400C3050)  
Bit  
31:1  
0
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0
0
R0/W  
SWD_HW_RESET_  
REQ  
0: default.  
1: HW reset request without resetting the SWD and DAP  
controller. The register is automatically reset with a  
HW_RESET.  
This bit can only be accessed by the debugger software and  
not by the application.  
37.6 CRG REGISTER FILE  
Table 177: Register map CRG  
Address  
Port  
Description  
0x50000000  
0x50000002  
0x50000008  
0x5000000A  
0x5000000C  
CLK_AMBA_REG  
CLK_FREQ_TRIM_REG  
CLK_RADIO_REG  
CLK_CTRL_REG  
CLK_TMR_REG  
HCLK, PCLK, divider and clock gates  
Xtal frequency trimming register.  
Radio PLL control register  
Clock control register  
Clock control for the timers  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
222 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 177: Register map CRG  
Address  
Port  
Description  
0x50000010  
0x50000012  
0x50000014  
0x50000020  
0x50000022  
0x50000024  
0x50000028  
0x5000002A  
0x50000030  
0x50000032  
0x50000034  
0x50000036  
0x50000038  
0x5000003A  
0x5000003C  
0x5000003E  
0x50000042  
0x50000050  
0x50000054  
0x5000005E  
0x50000066  
0x50000068  
0x5000006A  
PMU_CTRL_REG  
SYS_CTRL_REG  
Power Management Unit control register  
System Control register  
SYS_STAT_REG  
System status register  
CLK_32K_REG  
32 kHz oscillator register  
16 MHz RC and xtal oscillator register  
20KHz RXC-oscillator control register  
bandgap trimming  
CLK_16M_REG  
CLK_RCX20K_REG  
BANDGAP_REG  
ANA_STATUS_REG  
VBUS_IRQ_MASK_REG  
VBUS_IRQ_CLEAR_REG  
BOD_CTRL_REG  
status bit of analog (power management) circuits  
IRQ masking  
Clear pending IRQ register  
Brown Out Detection control register  
Brown Out Detection control register  
Brown Out Detection status register  
LDO control register  
BOD_CTRL2_REG  
BOD_STATUS_REG  
LDO_CTRL1_REG  
LDO_CTRL2_REG  
SLEEP_TIMER_REG  
POR_VBAT_CTRL_REG  
XTALRDY_CTRL_REG  
LDO_CTRL3_REG  
RESET_STAT_REG  
SECURE_BOOT_REG  
PMU_RESET_RAIL_REG  
DISCHARGE_RAIL_REG  
LDO control register  
Timer for regulated sleep  
Controls the POR on VBAT  
Control register for XTALRDY IRQ  
Retention LDO control register  
Reset status register  
Controls secure booting  
Controls rail resetting when RST is pulsed  
Immediate rail resetting. There is no LDO/DCDC gat-  
ing  
Table 178: CLK_AMBA_REG (0x50000000)  
Bit  
Mode Symbol  
Description  
Reset  
12  
R/W  
R/W  
QSPI_ENABLE  
Clock enable for QSPI controller  
0x0  
0x0  
11:10  
QSPI_DIV  
QSPI divider  
00 = divide by 1  
01 = divide by 2  
10 = divide by 4  
11 = divide by 8  
9
8
R/W  
R/W  
OTP_ENABLE  
Clock enable for OTP controller  
Clock enable for TRNG block  
0x0  
0x0  
TRNG_CLK_ENABL  
E
7
R/W  
R/W  
R/W  
ECC_CLK_ENABLE  
AES_CLK_ENABLE  
PCLK_DIV  
Clock enable for ECC block  
0x0  
0x0  
0x2  
6
Clock enable for AES crypto block  
5:4  
APB interface clock, Cascaded with HCLK:  
00 = divide hclk by 1  
01 = divide hclk by 2  
10 = divide hclk by 4  
11 = divide hclk by 8  
3
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
223 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 178: CLK_AMBA_REG (0x50000000)  
Bit  
Mode Symbol  
R/W HCLK_DIV  
Description  
Reset  
2:0  
AHB interface and microprocessor clock. Source clock  
divided by:  
0x2  
000 = divide hclk by 1  
001 = divide hclk by 2  
010 = divide hclk by 4  
011 = divide hclk by 8  
1xx = divide hclk by 16  
Table 179: CLK_FREQ_TRIM_REG (0x50000002)  
Bit  
Mode Symbol  
Description  
Reset  
10:8  
R/W  
COARSE_ADJ  
Xtal frequency course trimming register.  
0x0 = lowest frequency  
0x0  
0x7 = highest frequencyIncrement or decrement the binary  
value with 1. Wait approximately 200usec to allow the adjust-  
ment to settle.  
7:0  
R/W  
FINE_ADJ  
Xtal frequency fine trimming register.0x00 = lowest fre-  
0x0  
quency  
0xFF = highest frequency  
Table 180: CLK_RADIO_REG (0x50000008)  
Bit  
11  
10  
9:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
-
Reserved  
Reserved  
-
-
Reserved  
0x0  
-
0x0  
R/W  
BLE_ENABLE  
Enable the BLE core clocks.  
0x0  
When the BLE system clock is disabled, either due to the  
CLK_RADIO_REG[BLE_ENABLE] or due to the  
PMU_CTRL_REG[BLE_SLEEP], then any access to the  
BLE Register file will issue a hard fault to the CPU.  
6
R/W  
R/W  
BLE_LP_RESET  
BLE_DIV  
Reset for the BLE LP timer  
0x1  
0x0  
5:4  
Division factor for BLE core blocks, having as reference the  
DIVN clock:  
00 = Divide by 1  
01 = Divide by 2  
10 = Divide by 4  
11 = Divide by 8  
The programmed frequency should not be lower than 8MHz,  
not faster than 16MHz and not faster than the programmed  
CPU clock frequency. Refer also to  
BLE_CNTL2_REG[BLE_CLK_SEL].  
3
R/W  
-
RFCU_ENABLE  
Enable the RF control Unit clock  
Reserved  
0x0  
0x0  
0x0  
2
-
1:0  
R/W  
RFCU_DIV  
Division factor for RF Control Unit  
0x0 = divide by 1  
0x1 = divide by 2  
0x2 = divide by 4  
0x3 = divide by 8  
The programmed frequency must be exactly 8MHz.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
224 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 181: CLK_CTRL_REG (0x5000000A)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R
R
R
R
RUNNING_AT_PLL9  
6M  
Indicates that the PLL96MHz clock is used as clock, and  
may not be switched off  
0x0  
0x0  
0x1  
0x0  
14  
13  
12  
RUNNING_AT_XTAL  
16M  
Indicates that the XTAL16M clock is used as clock, and may  
not be switched off  
RUNNING_AT_RC16  
M
Indicates that the RC16M clock is used as clock  
RUNNING_AT_32K  
Indicates that either the RC32k or XTAL32k is being used as  
clock  
11  
-
-
Reserved  
0x0  
0x0  
9:8  
R/W  
CLK32K_SOURCE  
Sets the clock source of the LowerPower clock  
'00': 32 Khz RC Oscillator  
'01': RCX Oscillator  
'10': XTAL32kHz, when using an external crystal i.c.w. the  
internal oscillator (set P20 and P21 to FUNC_XTAL32)  
'11': XTAL32kHz, when an external generator or MCU  
applies a square wave on P20 (set P20 to FUNC_GPIO)  
6
R/W  
DIVN_XTAL32M_MO  
DE  
Enables the DIVN divide-by-2, in case of a 32 MHz crystal  
(See also XTAL32M_MODE), to keep the DIVN clock at 16  
MHz.  
0x0  
5
4
R/W  
R/W  
PLL_DIV2  
Divides the PLL clock by 2 before being used  
0x0  
0x0  
USB_CLK_SRC  
Selects the USB source clock  
0 : PLL clock, divided by 2  
1 : HCLK  
3
2
R/W  
R/W  
XTAL32M_MODE  
Enables dividers in the XTAL for both the RF and the BB  
PLL.  
0x0  
0x0  
XTAL16M_DISABLE  
Setting this bit instantaneously disables the 16 MHz crystal  
oscillator. This bit may not be set to '1' when  
"RUNNING_AT_XTAL16M is '1' to prevent deadlock. After  
resetting this bit, wait for XTAL16_TRIM_READY to become  
'1' before switching to XTAL16 clock source.  
1:0  
R/W  
SYS_CLK_SEL  
Selects the clock source.  
0x1  
0x0 : XTAL16M (check the XTAL16_TRIM_READY bit!!)  
0x1 : RC16M  
0x2 : The Low Power clock is used  
0x3 : The PLL96Mhz is used  
Table 182: CLK_TMR_REG (0x5000000C)  
Bit  
Mode Symbol  
Description  
Reset  
14  
R/W  
R/W  
P06_TMR1_PWM_M  
ODE  
Maps Timer1_pwm onto P06, when DEBUGGER_EN = '0'.  
This state is preserved during deep sleep, to allow PWM out-  
put on the pad during deep sleep.  
0x0  
13  
WAKEUPCT_ENABL  
E
Enables the clock  
0x0  
12  
11  
R/W  
R/W  
BREATH_ENABLE  
TMR2_CLK_SEL  
Enables the clock  
0x0  
0x0  
Selects the clock source  
1 = DIV1 clock  
0 = DIVN clock  
10  
R/W  
TMR2_ENABLE  
Enable timer clock  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
225 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 182: CLK_TMR_REG (0x5000000C)  
Bit  
Mode Symbol  
Description  
Reset  
9:8  
R/W  
TMR2_DIV  
Division factor for Timer  
0x0 = divide by 1  
0x1 = divide by 2  
0x2 = divide by 4  
0x3 = divide by 8  
0x0  
7
R/W  
TMR1_CLK_SEL  
Selects the clock source  
1 = DIV1 clock  
0x0  
0 = DIVN clock  
6
R/W  
R/W  
TMR1_ENABLE  
TMR1_DIV  
Enable timer clock  
0x0  
0x0  
5:4  
Division factor for Timer  
0x0 = divide by 1  
0x1 = divide by 2  
0x2 = divide by 4  
0x3 = divide by 8  
3
R/W  
TMR0_CLK_SEL  
Selects the clock source  
1 = DIV1 clock  
0x0  
0 = DIVN clock  
2
R/W  
R/W  
TMR0_ENABLE  
TMR0_DIV  
Enable timer clock  
0x0  
0x0  
1:0  
Division factor for Timer  
0x0 = divide by 1  
0x1 = divide by 2  
0x2 = divide by 4  
0x3 = divide by 8  
Table 183: PMU_CTRL_REG (0x50000010)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
R/W  
R/W  
RETAIN_ECCRAM  
Selects the retainability of the ECC u-Code RAM during  
deep sleep.  
'1' is retainable, '0' is power gated  
0x0  
14  
13  
RETAIN_CACHE  
Selects the retainability of the cache block during deep  
sleep.  
'1' is retainable, '0' is power gated  
0x0  
0x0  
ENABLE_CLKLESS  
Selects the clockless sleep mode. Wakeup is done asyn-  
chronously.  
When set to '1', the lp_clk is stopped during deep sleep, until  
a wakeup event (not debounced) is detected by the  
WAKUPCT block.  
When set to '0', the lp_clk continues running, so the MAC  
counters keep on running.  
This mode cannot be combined with regulated sleep, so  
keep SLEEP_TIMER=0 when using ENABLE_CLKLESS.  
12:8  
R/W  
RETAIN_RAM  
Select the retainability of the 5 system memory RAM macros  
during deep sleep.  
0x0  
'1' is retainable, '0' is power gated  
(4) is SYSRAM5  
(3) is SYSRAM4  
(2) is SYSRAM3  
(1) is SYSRAM2  
(0) is SYSRAM1  
7:6  
5
R/W  
R/W  
OTP_COPY_DIV  
Sets the HCLK division during OTP mirroring  
0x0  
0x0  
RESET_ON_WAKEU Perform a Hardware Reset after waking up. Booter will be  
started.  
P
4
R/W  
MAP_BANDGAP_EN Maps the bandgap_enable to P06  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
226 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 183: PMU_CTRL_REG (0x50000010)  
Bit  
3
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x1  
0x1  
2
R/W  
BLE_SLEEP  
Put the BLE in powerdown.  
When the BLE system clock is disabled, either due to the  
CLK_RADIO_REG[BLE_ENABLE] or due to the  
PMU_CTRL_REG[BLE_SLEEP], then any access to the  
BLE Register file will issue a hard fault to the CPU.  
1
0
R/W  
R/W  
RADIO_SLEEP  
PERIPH_SLEEP  
Put the digital part of the radio in powerdown  
0x1  
0x1  
Put all peripherals (I2C, UART, SPI, ADC) in powerdown  
Table 184: SYS_CTRL_REG (0x50000012)  
Bit  
15  
14  
Mode Symbol  
Description  
Reset  
0x0  
W
SW_RESET  
Writing a '1' to this bit will generate a SW_RESET.  
R/W  
REMAP_INTVECT  
0: normal operation  
0x0  
1: If Arm is in address range 0 to 0x1FF then the address is  
remapped to SYS-RAM 0x07FC.0000 to 0x07FC.01FF. This  
allows to put the interrupt vector table to be placed in RAM  
while executing from QSPI  
13  
R/W  
OTP_COPY  
Enables OTP to SysRAM copy action after waking up  
PD_SYS  
0x0  
12  
11  
R/W  
R/W  
QSPI_INIT  
Enables QSPI initialization after wakeup  
0x0  
0x0  
DEV_PHASE  
Sets the development phase mode, used in combination with  
OTP_COPY  
No copy action to SysRAM is done when the system wakes  
up.  
For emulating startup time, the OTP_COPY bit still needs to  
be set.  
10  
R/W  
CACHERAM_MUX  
TIMEOUT_DISABLE  
Controls accessiblity of Cache RAM:  
0x0  
0: the cache controller is bypassed, the cacheRAM is visible  
in the memory space next to the DataRAMs  
1: the cache controller is enabled, the cacheRAM is not visi-  
ble anymore in the memory space  
9
7
R/W  
R/W  
Disables timeout in Power statemachine. By default, the  
statemachine continues if after 2 ms the blocks are not  
started up. This can be read back from  
ANA_STATUS_REG  
0x0  
0x0  
DEBUGGER_ENABL Enable the debugger. This bit is set by the booter according  
E
to the OTP header. If not set, the SWDIO and SW_CLK can  
be used as gpio ports.  
6
5
R/W  
R/W  
OTPC_RESET_REQ  
PAD_LATCH_EN  
Reset request for the OTP controller.  
0x0  
0x1  
Latches the control signals of the pads for state retention in  
powerdown mode.  
0 = Control signals are retained  
1 = Latch is transparant, pad can be recontrolled  
4:3  
R/W  
REMAP_RAMS  
Defines the sequence of the 3 first DataRAMs in the memory  
space. DataRAM4, DataRAM5 and potentially CacheRAM,  
cannot not be reshuffled.  
0x0  
0x0: DataRAM1, DataRAM2, DataRAM3  
0x1: DataRAM2, DataRAM1, DataRAM3  
0x2: DataRAM3, DataRAM1, DataRAM2  
0x3: DataRAM3, DataRAM2, DataRAM1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
227 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 184: SYS_CTRL_REG (0x50000012)  
Bit  
Mode Symbol  
R/W REMAP_ADR0  
Description  
Reset  
2:0  
Controls which memory is located at address 0x0000 for  
execution.  
0x0  
0x0: ROM  
0x1: OTP  
0x2: FLASH  
0x3: RAMS (for the exact configuration see REMAP_RAMS)  
0x4: FLASH un-cached (for verification only)  
0x5: OTP un-cached (for verification only)  
0x6: Cache Data RAM (CACHERAM_MUX=0, for testing  
purposes only)  
Note 1: DWord (64 bits) access is not supported by the  
Cache Data RAM interface in mirrored mode (only 32, 16  
and 8 bits).  
Note 2: DMA access is not supported by the Cache Data  
RAM interface when REMAP_ADR0=0x6.  
Table 185: SYS_STAT_REG (0x50000014)  
Bit  
11  
10  
9
Mode Symbol  
Description  
Reset  
0x0  
-
-
-
-
Reserved  
Reserved  
0x1  
R
R
R
BLE_IS_UP  
Indicates that PD_DBG is functional  
Indicates that PD_DBG is in power down  
0x0  
8
BLE_IS_DOWN  
0x1  
7
XTAL16_SETTLE_R  
EADY  
Indicates that the XTAL16_CLK_CNT has reached the  
XTAL_SETTLE_N threshold.  
0x1  
6
R
XTAL16_TRIM_REA  
DY  
Indicates that XTAL trimming mechanism is ready, i.e. the  
trimming equals CLK_FREQ_TRIM_REG.  
0x1  
5
3
2
1
0
R
R
R
R
R
DBG_IS_ACTIVE  
PER_IS_UP  
Indicates that a debugger is attached.  
Indicates that PD_PER is functional  
Indicates that PD_PER is in power down  
Indicates that PD_RAD is functional  
Indicates that PD_RAD is in power down  
0x0  
0x0  
0x1  
0x0  
0x1  
PER_IS_DOWN  
RAD_IS_UP  
RAD_IS_DOWN  
Table 186: CLK_32K_REG (0x50000020)  
Bit  
Mode Symbol  
Description  
Reset  
12  
R/W  
XTAL32K_DISABLE_ Setting this bit disables the amplitude regulation of the  
0x0  
AMPREG  
XTAL32kHz oscillator.  
Set this bit to '1' for an external clock to XTAL32Kp  
Keep this bit '0' with a crystal between XTAL32Kp and  
XTAL32Km  
11:8  
R/W  
RC32K_TRIM  
0000 = lowest frequency  
0111 = default  
0x7  
1111 = highest frequency  
7
R/W  
R/W  
RC32K_ENABLE  
XTAL32K_CUR  
Enables the 32kHz RC oscillator  
0x1  
0x5  
6:3  
Bias current for the 32kHz XTAL oscillator. 0000 is minimum,  
1111 is maximum, 0011 is default. For each application there  
is an optimal setting for which the start-up behavior is opti-  
mal  
2:1  
R/W  
XTAL32K_RBIAS  
Setting for the bias resistor. 00 is maximum, 11 is minimum.  
Prefered setting will be provided by Dialog  
0x3  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
228 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 186: CLK_32K_REG (0x50000020)  
Bit  
Mode Symbol  
R/W XTAL32K_ENABLE  
Description  
Reset  
0
Enables the 32kHz XTAL oscillator  
0x0  
Table 187: CLK_16M_REG (0x50000022)  
Bit  
Mode Symbol  
Description  
Reset  
14  
R/W  
XTAL16_HPASS_FLT enables high pass filter  
0x1  
_EN  
13  
R/W  
XTAL16_SPIKE_FLT  
_BYPASS  
bypasses spikefilter  
0x0  
12:10  
7:5  
R/W  
R/W  
XTAL16_AMP_TRIM  
XTAL16_CUR_SET  
sets xtal amplitude, 0 is minimum, 101 is maximum  
0x5  
0x5  
start-up current for the 16MHz XTAL oscillator. 000 is mini-  
mum, 110 is maximum.  
4:1  
0
R/W  
R/W  
RC16M_TRIM  
0000 = lowest frequency  
1111 = highest frequency  
0x0  
0x0  
RC16M_ENABLE  
Enables the 16MHz RC oscillator  
Table 188: CLK_RCX20K_REG (0x50000024)  
Bit  
11  
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
R/W  
R/W  
RCX20K_ENABLE  
Enable the RCX oscillator  
Extra low frequency  
Bias control  
10  
RCX20K_LOWF  
RCX20K_BIAS  
RCX20K_NTC  
RCX20K_TRIM  
0x1  
9:8  
7:4  
3:0  
0x0  
Temperature control  
0xC  
0x2  
0000 = lowest frequency  
0111 = default  
1111 = highest frequency  
Table 189: BANDGAP_REG (0x50000028)  
Bit  
15  
14  
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
LDO_SUPPLY_USE_ 0x0 -> LDO_SUPPLY_(VBAT/USB) uses V12 voltage/(V12/  
0x0  
BGREF  
2Mohm) current as reference  
0x1 -> LDO_SUPPLY_(VBAT/USB) uses bandgap voltage/  
bandgap current (1uA) as reference -> set 0x1 in (booter-  
)software  
Switch to 0x1 at start of user application when maximum  
BOD functionality is switched on.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
229 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 189: BANDGAP_REG (0x50000028)  
Bit  
Mode Symbol  
Description  
Reset  
13:10  
R/W  
LDO_SLEEP_TRIM  
0x4 --> 1120 mV  
0x0  
0x5 --> 1089 mV  
0x6 --> 1058 mV  
0x7 --> 1030 mV  
0x0 --> 1037 mV  
0x1 --> 1005 mV  
0x2 --> 978 mV  
0x3 --> 946 mV  
0x8 --> 952 mV  
0x9 --> 918 mV  
0xA --> 889 mV  
0xB --> 861 mV  
0xC --> 862 mV  
0xD --> 828 mV  
0xE --> 798 mV  
0xF --> 770 mV  
These values are from simulation and vary over corners  
9:5  
4:0  
R/W  
R/W  
BGR_ITRIM  
BGR_TRIM  
Current trimming for bias  
Trim register for bandgap  
0x0  
0x0  
Table 190: ANA_STATUS_REG (0x5000002A)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R
COMP_1V8_PA_HIG  
VDD1V8P > 1.7V  
0x0  
H
14  
R
COMP_1V8_FLASH_ VDD1V8 > 1.7V  
HIGH  
0x0  
13  
12  
11  
10  
R
R
R
R
COMP_V33_HIGH  
COMP_VBUS_LOW  
COMP_VBUS_HIGH  
V33 > 1.7V  
0x0  
0x0  
0x0  
0x0  
VBUS > 3.4V  
VBUS > 4V  
LDO_1V8_FLASH_O  
K
ldo_vdd1v8 = ok  
9
8
7
6
5
R
R
R
R
R
LDO_1V8_PA_OK  
LDO_CORE_OK  
COMP_VDD_HIGH  
BANDGAP_OK  
ldo_vdd1v8P = ok  
ldo_core = ok  
VDD > 1.13V  
0x0  
0x0  
0x1  
0x0  
0x0  
bandgap = ok  
LDO_SUPPLY_USB_ ldo_supply_usb = ok  
OK  
4
R
LDO_SUPPLY_VBAT ldo_supply_vbat =ok  
_OK  
0x1  
3
2
1
0
R
R
R
R
NEWBAT  
new battery has been detected  
0x0  
0x0  
0x0  
0x0  
VBUS_AVAILABLE  
COMP_VBAT_OK  
LDO_RADIO_OK  
vbus is available (vbus > vbat)  
vbat > 1.7V  
ldo_radio = ok  
Table 191: VBUS_IRQ_MASK_REG (0x50000030)  
Bit  
Mode Symbol  
R/W VBUS_IRQ_EN_RIS  
Description  
Reset  
1
Setting this bit to '1' enables VBUS_IRQ generation when  
the VBUS starts to ramp above threshold  
0x0  
E
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
230 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 191: VBUS_IRQ_MASK_REG (0x50000030)  
Bit  
Mode Symbol  
R/W VBUS_IRQ_EN_FAL  
Description  
Reset  
0
Setting this bit to '1' enables VBUS_IRQ generation when  
the VBUS starts to fall below threshold  
0x0  
L
Table 192: VBUS_IRQ_CLEAR_REG (0x50000032)  
Bit  
Mode Symbol  
VBUS_IRQ_CLEAR  
Description  
Reset  
15:0  
W
Writing any value to this register will reset the VBUS_IRQ  
line  
0x0  
Table 193: BOD_CTRL_REG (0x50000034)  
Bit  
Mode Symbol  
R/W BOD_VDD_LVL  
Description  
Reset  
10:8  
VDD BOD Level; 0=700mV; 1=700mV; 3=800mV; 7=1.05V  
0x7  
Table 194: BOD_CTRL2_REG (0x50000036)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
BOD_V14_EN  
V14 BOD Enable  
VBAT BOD Enable  
1V8 Flash BOD Enable  
5
BOD_VBAT_EN  
0x0  
4
BOD_1V8_FLASH_E  
N
0x0  
3
2
1
0
R/W  
R/W  
R/W  
R/W  
BOD_1V8_PA_EN  
BOD_V33_EN  
1V8 PA BOD Enable  
0x0  
0x0  
0x1  
0x1  
V33 BOD Enable  
BOD_VDD_EN  
BOD_RESET_EN  
VDD BOD Enable  
Generate a chip reset on BOD event  
Table 195: BOD_STATUS_REG (0x50000038)  
Bit  
5
Mode Symbol  
Description  
Reset  
0x0  
R
R
R
R
BOD_V14_LOW  
Indicates V14 > V14_Trigger  
Indicates VBAT > VBAT_Trigger  
Indicates V33 > V33_Trigger  
Indicates V18_Flash > V18_Flash_Trigger  
4
BOD_VBAT_LOW  
BOD_V33_LOW  
0x0  
3
0x0  
2
BOD_1V8_FLASH_L  
OW  
0x0  
1
0
R
R
BOD_1V8_PA_LOW  
BOD_VDD_LOW  
Indicates V18_PA > V18_PA_Trigger  
Indicates VDD > VDD_Trigger  
0x0  
0x0  
Table 196: LDO_CTRL1_REG (0x5000003A)  
Bit  
Mode Symbol  
Description  
LDO_RADIO_ENABL Enables (1) or disables (0) LDO_RADIO  
For fast XTAL startup, this bit may be kept to '1' during deep  
Reset  
14  
R/W  
0x0  
E
sleep. The LDO is switched off automatically when in deep  
sleep, and enabled when waking up.  
13:11  
R/W  
LDO_RADIO_SETVD Sets the output voltage of LDO_RADIO  
0x0  
D
000 = 1.30 V  
001 = 1.35 V  
010 = 1.40 V  
011 = 1.45 V  
1XX = 1.50 V  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
231 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 196: LDO_CTRL1_REG (0x5000003A)  
Bit  
Mode Symbol  
Description  
Reset  
10:8  
R/W  
LDO_CORE_SETVD  
D
Sets the output voltage of LDO_CORE  
000 = 1.20 V  
0x0  
001 = 1.15 V  
010 = 1.10 V  
011 = 1.05 V  
1XX = 1.32 V  
7:6  
5:4  
3:2  
1:0  
R/W  
R/W  
R/W  
R/W  
LDO_SUPPLY_USB_ Sets the output voltage of LDO_SUPPLY_USB  
0x1  
0x1  
0x1  
0x3  
LEVEL  
00 = 2.40 V  
01 = 3.30 V  
10 = 3.45 V  
11 = 3.60 V  
LDO_SUPPLY_VBAT Sets the output voltage of LDO_SUPPLY_VBAT  
_LEVEL  
00 = 2.40 V  
01 = 3.30 V  
10 = 3.45 V  
11 = 3.60 V  
LDO_VBAT_RET_LE  
VEL  
Sets the output voltage of LDO_VBAT_RET  
00 = 2.40 V  
01 = 3.30 V  
10 = 3.45 V  
11 = 3.60 V  
LDO_CORE_CURLI  
M
Sets the current limit of LDO_CORE  
00 = Current limiter disabled  
01 = 8 mA  
10 = 60 mA  
11 = 80 mA  
Table 197: LDO_CTRL2_REG (0x5000003C)  
Bit  
Mode Symbol  
Description  
Reset  
6
R/W  
R/W  
R/W  
LDO_1V8_PA_RET_  
DISABLE  
Disables (1) or enables (0) LDO_1V8_PA_RET  
0x0  
5
4
LDO_1V8_FLASH_R  
ET_DISABLE  
Disables (1) or enables (0) LDO_1V8_FLASH_RET  
Disables (1) or enables (0) LDO_VBAT_RET  
0x0  
0x0  
LDO_VBAT_RET_DI  
SABLE  
3
2
R/W  
R/W  
LDO_1V8_PA_ON  
Enables (1) or disables (0) LDO_1V8_PA  
0x1  
0x1  
LDO_1V8_FLASH_O  
N
Enables (1) or disables (0) LDO_1V8_FLASH  
1
0
R/W  
R/W  
LDO_3V3_ON  
Enables (1) or disables (0) LDO_SUPPLY_VBAT and  
LDO_SUPPLY_USB  
0x1  
0x1  
LDO_1V2_ON  
Enables (1) or disables (0) LDO_CORE  
Table 198: SLEEP_TIMER_REG (0x5000003E)  
Bit  
Mode Symbol  
R/W SLEEP_TIMER  
Description  
Reset  
15:0  
Defines the amount of ticks of the sleep clock between ena-  
bling the bandgap for re-charging the retention LDOs. This  
value depends on the load and should be calibrated on a per  
application basis.If set to 0, no recharging cycle will happen  
at all.  
0x0  
Keep this value to 0 (no recharging) when using the clock-  
less sleep.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
232 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 199: POR_VBAT_CTRL_REG (0x50000042)  
Bit  
Mode Symbol  
Description  
Reset  
13  
R/W  
R/W  
R/W  
R/W  
POR_VBAT_MASK_  
N
Enables propagation of the generated POR  
0x1  
0x1  
0x2  
0x6  
12  
POR_VBAT_ENABL  
E
Enables generation of the POR  
11:8  
7:4  
POR_VBAT_HYST_L Controls hysteresis of POR. 20mV per step. Must be set to  
OW  
0x2 when thres_ctrl_low is set to 0xf.  
POR_VBAT_THRES  
_HIGH  
High-side (PTAT) threshold contribution:  
Level --> Threshold  
0x0 --> 1.25V  
0x1 --> 1.27V  
0x2 --> 1.29V  
0x3 --> 1.31V  
0x4 --> 1.44V  
0x5 --> 1.49V  
0x6 --> 1.53V  
0x7 --> 1.58V  
0x8 --> 1.63V  
0x9 --> 1.68V  
0xA --> 1.73V  
0xB --> 1.78V  
(continued on next page)  
7:4  
7:4  
7:4  
3:0  
R/W  
R/W  
R/W  
R/W  
POR_VBAT_THRES  
_HIGH  
0xC --> 1.83V  
(continued on next page)  
0x6  
0x6  
0x6  
0xF  
(continued)  
POR_VBAT_THRES  
_HIGH  
0xD --> 1.87V  
(continued on next page)  
(continued)  
POR_VBAT_THRES  
_HIGH  
0xE --> 1.92V  
0xF --> 1.97V  
(continued)  
POR_VBAT_THRES  
_LOW  
Low-side (CTAT) threshold contribution  
Level --> Threshold  
0xC --> 1.25V  
0xC --> 1.27V  
0xC --> 1.29V  
0xC --> 1.31V  
0x0 --> 1.44V  
0x1 --> 1.49V  
0x2 --> 1.53V  
0x3 --> 1.58V  
0x4 --> 1.63V  
0x5 --> 1.68V  
0x6 --> 1.73V  
0x7 --> 1.78V  
0x8 --> 1.83V  
0x9 --> 1.87V  
0xA --> 1.92V  
0xB --> 1.97V  
0xF --> 1.63V; use only with POR_VBAT_THRES_LOW=0x6  
and POR_VBAT_THRES_HYST=0x2  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
233 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 200: XTALRDY_CTRL_REG (0x50000050)  
Bit  
Mode Symbol  
R/W XTALRDY_CNT  
Description  
Reset  
7:0  
Number of LP cycles between the crystal is enabled, and the  
XTALRDY_IRQ is fired.  
0x0  
0x00: no interrupt  
Table 201: LDO_CTRL3_REG (0x50000054)  
Bit  
Mode Symbol  
Description  
Reset  
5
R/W  
LDO_1V8_PA_RET_  
VREF_HOLD  
Setting of this register is "ORed" with the vref_hold  
control from the CRG StateMachine.  
"0" = CRG controls the T&H of Vref.  
"1" = T&H is always in "Hold"  
0x0  
4
R/W  
LDO_1V8_PA_RET_  
ENABLE  
Setting of this register is "ORed" with the ldo_enable  
control from the CRG StateMachine.  
0x0  
"0" = CRG controls the enable of the LDO.  
"1" = LDO is always enabled  
To activate a retention LDO in "active-mode", this bit  
must be "1" and the VREF_HOLD bit must be "0".  
3
2
R/W  
R/W  
LDO_1V8_FLASH_R  
ET_VREF_HOLD  
Setting of this register is "ORed" with the vref_hold  
control from the CRG StateMachine.  
"0" = CRG controls the T&H of Vref.  
"1" = T&H is always in "Hold"  
0x0  
0x0  
LDO_1V8_FLASH_R  
ET_ENABLE  
Setting of this register is "ORed" with the ldo_enable  
control from the CRG StateMachine.  
"0" = CRG controls the enable of the LDO.  
"1" = LDO is always enabled  
To activate a retention LDO in "active-mode", this bit  
must be "1" and the VREF_HOLD bit must be "0".  
1
0
R/W  
R/W  
LDO_VBAT_RET_VR Setting of this register is "ORed" with the vref_hold  
0x0  
0x0  
EF_HOLD  
control from the CRG StateMachine.  
"0" = CRG controls the T&H of Vref.  
"1" = T&H is always in "Hold"  
LDO_VBAT_RET_EN Setting of this register is "ORed" with the ldo_enable  
ABLE  
control from the CRG StateMachine.  
"0" = CRG controls the enable of the LDO.  
"1" = LDO is always enabled  
To activate a retention LDO in "active-mode", this bit  
must be "1" and the VREF_HOLD bit must be "0".  
Table 202: RESET_STAT_REG (0x5000005E)  
Bit  
Mode Symbol  
Description  
Reset  
4
R/W  
SWD_HWRESET_S  
TAT  
Indicates that a write to SWD_RESET_REG has happened.  
Note thatit is also set when a POReset has happened.  
0x1  
3
R/W  
WDOGRESET_STAT  
Indicates that a Watchdog has happened. Note that it is also  
set when a POReset has happened.  
0x1  
2
1
0
R/W  
R/W  
R/W  
SWRESET_STAT  
HWRESET_STAT  
PORESET_STAT  
Indicates that a SW Reset has happened  
Indicates that a HW Reset has happened  
Indicates that a PowerOn Reset has happened  
0x1  
0x1  
0x1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
234 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 203: SECURE_BOOT_REG (0x50000066)  
Bit  
Mode Symbol  
Description  
Reset  
1
R/W  
FORCE_DEBUGGE  
R_OFF  
Follows the respective OTP flag value. Is write-one-only and  
will be reset by POR only! Its value is updated by the  
BootROM code.  
0x0  
1: The system debugger SWD is totally disabled.  
0: The system debugger is enabled with  
DEBUGGER_ENABLE  
0
R/W  
SECURE_BOOT  
Follows the respective OTP flag value. Is write-one-only and  
will be reset by POR only! Its value is updated by the  
BootROM code.  
0x0  
1: system is a secure system supporting secure boot  
0: system is not supporting secure boot  
Table 204: PMU_RESET_RAIL_REG (0x50000068)  
Bit  
Mode Symbol  
Description  
Reset  
2
R/W  
R/W  
R/W  
RESET_V18P  
1: Enables discharging of the V18P rail when HW reset is  
pressed  
0: this rail will not be discharged when HW reset is pressed  
0x0  
1
0
RESET_V18  
RESET_V14  
1: Enables discharging of the V18 rail when HW reset is  
pressed  
0: this rail will not be discharged when HW reset is pressed  
0x0  
0x0  
1: Enables discharging of the V14 rail when HW reset is  
pressed  
0: this rail will not be discharged when HW reset is pressed  
Table 205: DISCHARGE_RAIL_REG (0x5000006A)  
Bit  
Mode Symbol  
Description  
Reset  
2
R/W  
R/W  
R/W  
RESET_V18P  
1: Enables immediate discharging of the V18P rail. Note that  
the source is not disabled.  
0: disable immediate discharging of the V18P rail.  
This bit is ORed with the automatic function controlled by  
PMU_RESET_RAIL_REG.RESET_V18P  
0x0  
1
0
RESET_V18  
RESET_V14  
1: Enables immediate discharging of the V18 rail. Note that  
the source is not disabled.  
0: disable immediate discharging of the V18 rail.  
This bit is ORed with the automatic function controlled by  
PMU_RESET_RAIL_REG.RESET_V18  
0x0  
0x0  
1: Enables immediate discharging of the V14 rail. Note that  
the source is not disabled.  
0: disable immediate discharging of the V14 rail.  
This bit is ORed with the automatic function controlled by  
PMU_RESET_RAIL_REG.RESET_V14  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
235 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
37.7 DCDC REGISTER FILE  
Table 206: Register map DCDC  
Address  
Port  
Description  
0x50000082  
0x50000084  
0x50000086  
0x50000088  
0x5000008A  
0x5000008C  
0x5000008E  
0x50000090  
0x50000092  
0x50000094  
0x50000096  
0x50000098  
0x5000009A  
0x5000009C  
0x5000009E  
0x500000A0  
0x500000A2  
0x500000A4  
0x500000A6  
0x500000A8  
0x500000AA  
0x500000AC  
0x500000AE  
0x500000B0  
0x500000B2  
0x500000B4  
0x500000B6  
0x500000B8  
DCDC_CTRL_0_REG  
DCDC_CTRL_1_REG  
DCDC_CTRL_2_REG  
DCDC_V14_0_REG  
DCDC_V14_1_REG  
DCDC_V18_0_REG  
DCDC_V18_1_REG  
DCDC_VDD_0_REG  
DCDC_VDD_1_REG  
DCDC_V18P_0_REG  
DCDC_V18P_1_REG  
DCDC_RET_0_REG  
DCDC_RET_1_REG  
DCDC_TRIM_REG  
DCDC First Control Register  
DCDC Second Control Register  
DCDC Third Control Register  
DCDC V14 First Control Register  
DCDC V14 Second Control Register  
DCDC V18 First Control Register  
DCDC V18 Second Control Register  
DCDC VDD First Control Register  
DCDC VDD Second Control Register  
DCDC VPA First Control Register  
DCDC VPA Second Control Register  
DCDC First Retention Mode Register  
DCDC Second Retention Mode Register  
DCDC Comparator Trim Register  
DCDC Test Register  
DCDC_TEST_0_REG  
DCDC_TEST_1_REG  
DCDC_STATUS_0_REG  
DCDC_STATUS_1_REG  
DCDC_STATUS_2_REG  
DCDC_STATUS_3_REG  
DCDC_STATUS_4_REG  
DCDC_TRIM_0_REG  
DCDC_TRIM_1_REG  
DCDC_TRIM_2_REG  
DCDC_TRIM_3_REG  
DCDC_IRQ_STATUS_REG  
DCDC_IRQ_CLEAR_REG  
DCDC_IRQ_MASK_REG  
DCDC Test Register  
DCDC First Status Register  
DCDC Second Status Register  
DCDC Third Status Register  
DCDC Fourth Status Register  
DCDC Fifth Status Register  
DCDC V14 Comparator Trim Register  
DCDC V18 Comparator Trim Register  
DCDC VDD Comparator Trim Register  
DCDC VPA Comparator Trim Register  
DCDC Interrupt Status Register  
DCDC Interrupt Clear Register  
DCDC Interrupt Clear Register  
Table 207: DCDC_CTRL_0_REG (0x50000082)  
Bit  
Mode Symbol  
Description  
Reset  
14  
R/W  
R/W  
R/W  
DCDC_FAST_START Set current limit to maximum during initial startup  
UP  
0x0  
0x1  
0x1  
13  
DCDC_BROWNOUT  
_LV_MODE  
Switches to low voltage settings when battery voltage drops  
below 2.5 V  
12:11  
DCDC_IDLE_CLK_D  
IV  
Idle Clock Divider  
00 = 2  
01 = 4  
10 = 8  
11 = 16  
10:3  
R/W  
DCDC_PRIORITY  
Charge priority register (4x 2 bit ID)  
Charge sequence is [1:0] > [3:2] > [5:4] > [7:6]  
ID[V14] = 00  
0xE4  
ID[V18] = 01  
ID[VDD] = 10  
ID[V18P] = 11  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
236 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 207: DCDC_CTRL_0_REG (0x50000082)  
Bit  
2
Mode Symbol  
Description  
Reset  
R/W  
R/W  
DCDC_FW_ENABLE  
DCDC_MODE  
Freewheel switch enable  
0x1  
0x0  
1:0  
DCDC converter mode  
00 = Disabled  
01 = Active  
10 = Sleep mode  
11 = Disabled  
Table 208: DCDC_CTRL_1_REG (0x50000084)  
Bit  
Mode Symbol  
Description  
Reset  
15:11  
R/W  
R/W  
DCDC_STARTUP_D  
ELAY  
Delay between turning bias on and converter becoming  
active  
0 - 31 us, 1 us step size  
0xA  
10:5  
4:0  
DCDC_GLOBAL_MA  
X_IDLE_TIME  
Global maximum idle time  
The current limit of any output that is idle for this long will be  
downramped faster than normal  
0x20  
0x10  
0 - 7875 ns, 125 ns step size  
R/W  
DCDC_TIMEOUT  
P and N switch timeout, if switch is closed longer than this a  
timeout is generated and the FSM is forced to the next state  
Writing 0 disables timeout functionality  
62.5 - 1937.5 ns, 62.5 ns step size  
Table 209: DCDC_CTRL_2_REG (0x50000086)  
Bit  
Mode Symbol  
Description  
Reset  
15:12  
R/W  
R/W  
R/W  
DCDC_TIMEOUT_IR  
Q_TRIG  
Number of timeout events before timeout interrupt is gener-  
ated  
0x8  
11:8  
7:6  
DCDC_TIMEOUT_IR  
Q_RES  
Number of successive non-timed out charge events required  
to clear timeout event counter  
0x8  
0x0  
DCDC_TUNE  
Trim current sensing circuitry  
00 = +0 %  
01 = +4 %  
10 = +8 %  
11 = +12 %  
5:3  
2:0  
R/W  
R/W  
DCDC_LSSUP_TRI  
M
Trim low side supply voltage  
V = 2 V + 100 mV * N  
0x5  
0x5  
DCDC_HSGND_TRI  
M
Trim high side ground  
V = V  
- (2.2 V + 200 mV * N)  
BAT  
Table 210: DCDC_V14_0_REG (0x50000088)  
Bit  
Mode Symbol  
Description  
DCDC_V14_FAST_R V14 output fast current ramping (improves response time at  
AMPING the cost of more ripple)  
DCDC_V14_VOLTAG V14 output voltage  
Reset  
15  
R/W  
R/W  
R/W  
0x1  
14:10  
9:5  
0x8  
E
V = 1.2 V + 25 mV * N  
DCDC_V14_CUR_LI  
M_MAX_HV  
V14 output maximum current limit (high battery voltage  
mode)  
0xD  
I = 30 mA * (1 + N)  
4:0  
R/W  
DCDC_V14_CUR_LI  
M_MIN  
V14 output minimum current limit  
I = 30 mA * (1 + N)  
0x4  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
237 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 211: DCDC_V14_1_REG (0x5000008A)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
R/W  
DCDC_V14_ENABL  
E_HV  
V14 output enable (high battery voltage mode)  
0 = Disabled  
1 = Enabled  
0x1  
14  
DCDC_V14_ENABL  
E_LV  
V14 output enable (low battery voltage mode)  
0 = Disabled  
1 = Enabled  
0x1  
13:10  
9:5  
R/W  
R/W  
DCDC_V14_CUR_LI  
M_MAX_LV  
V14 output maximum current limit low battery voltage mode) 0x6  
I = 30 mA * (1 + N)  
DCDC_V14_IDLE_H  
YST  
V14 output idle time hysteresis  
0x4  
0 - 3875 ns, 125 ns step size  
IDLE_MAX = IDLE_MIN + IDLE_HYST  
Maximum idle time before decreasing CUR_LIM  
4:0  
R/W  
DCDC_V14_IDLE_MI V14 output minimum idle time  
0x10  
N
0 - 3875 ns, 125 ns step size  
Minimum idle time, CUR_LIM is increased if this limit is not  
reached  
Table 212: DCDC_V18_0_REG (0x5000008C)  
Bit  
Mode Symbol  
Description  
DCDC_V18_FAST_R V18 output fast current ramping (improves response time at  
AMPING the cost of more ripple)  
DCDC_V18_VOLTAG V18 output voltage  
Reset  
15  
R/W  
R/W  
R/W  
0x1  
14:10  
9:5  
0x18  
0x1F  
E
V = 1.2 V + 25 mV * N  
DCDC_V18_CUR_LI  
M_MAX_HV  
V18 output maximum current limit (high battery voltage  
mode)  
I = 30 mA * (1 + N)  
4:0  
R/W  
DCDC_V18_CUR_LI  
M_MIN  
V18 output minimum current limit  
I = 30 mA * (1 + N)  
0x4  
Table 213: DCDC_V18_1_REG (0x5000008E)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
R/W  
DCDC_V18_ENABL  
E_HV  
V18 output enable (high battery voltage mode)  
0 = Disabled  
1 = Enabled  
0x1  
14  
DCDC_V18_ENABL  
E_LV  
V18 output enable (low battery voltage mode)  
0 = Disabled  
1 = Enabled  
0x0  
13:10  
9:5  
R/W  
R/W  
DCDC_V18_CUR_LI  
M_MAX_LV  
V18 output maximum current limit low battery voltage mode) 0xF  
I = 30 mA * (1 + N)  
DCDC_V18_IDLE_H  
YST  
V18 output idle time hysteresis  
0x4  
0 - 3875 ns, 125 ns step size  
IDLE_MAX = IDLE_MIN + IDLE_HYST  
Maximum idle time before decreasing CUR_LIM  
4:0  
R/W  
DCDC_V18_IDLE_MI V18 output minimum idle time  
0x10  
N
0 - 3875 ns, 125 ns step size  
Minimum idle time, CUR_LIM is increased if this limit is not  
reached  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
238 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 214: DCDC_VDD_0_REG (0x50000090)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
R/W  
R/W  
DCDC_VDD_FAST_  
RAMPING  
VDD output fast current ramping (improves response time at  
the cost of more ripple)  
0x1  
14:10  
9:5  
DCDC_VDD_VOLTA  
GE  
VDD output voltage  
V = 0.8 V + 25 mV * N  
0x10  
0x18  
DCDC_VDD_CUR_LI VDD output maximum current limit (high battery voltage  
M_MAX_HV  
mode)  
I = 30 mA * (1 + N)  
4:0  
R/W  
DCDC_VDD_CUR_LI VDD output minimum current limit  
M_MIN I = 30 mA * (1 + N)  
0x4  
Table 215: DCDC_VDD_1_REG (0x50000092)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
R/W  
DCDC_VDD_ENABL  
E_HV  
VDD output enable (high battery voltage mode)  
0 = Disabled  
1 = Enabled  
0x1  
14  
DCDC_VDD_ENABL  
E_LV  
VDD output enable (low battery voltage mode)  
0 = Disabled  
1 = Enabled  
0x1  
13:10  
9:5  
R/W  
R/W  
DCDC_VDD_CUR_LI VDD output maximum current limit low battery voltage mode) 0xB  
M_MAX_LV I = 30 mA * (1 + N)  
DCDC_VDD_IDLE_H VDD output idle time hysteresis  
0x4  
YST  
0 - 3875 ns, 125 ns step size  
IDLE_MAX = IDLE_MIN + IDLE_HYST  
Maximum idle time before decreasing CUR_LIM  
4:0  
R/W  
DCDC_VDD_IDLE_  
MIN  
VDD output minimum idle time  
0 - 3875 ns, 125 ns step size  
Minimum idle time, CUR_LIM is increased if this limit is not  
reached  
0x10  
Table 216: DCDC_V18P_0_REG (0x50000094)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
R/W  
R/W  
DCDC_V18P_FAST_  
RAMPING  
V18P output fast current ramping (improves response time  
at the cost of more ripple)  
0x1  
14:10  
9:5  
DCDC_V18P_VOLTA V18P output voltage  
GE  
0x18  
0x1F  
V = 1.2 V + 25 mV * N  
DCDC_V18P_CUR_  
LIM_MAX_HV  
V18P output maximum current limit (high battery voltage  
mode)  
I = 30 mA * (1 + N)  
4:0  
R/W  
DCDC_V18P_CUR_  
LIM_MIN  
V18P output minimum current limit  
I = 30 mA * (1 + N)  
0x4  
Table 217: DCDC_V18P_1_REG (0x50000096)  
Bit  
Mode Symbol  
R/W DCDC_V18P_ENAB  
LE_HV  
Description  
Reset  
15  
V18P output enable (high battery voltage mode)  
0 = Disabled  
1 = Enabled  
0x1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
239 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 217: DCDC_V18P_1_REG (0x50000096)  
Bit  
Mode Symbol  
Description  
Reset  
14  
R/W  
R/W  
R/W  
DCDC_V18P_ENAB  
LE_LV  
V18P output enable (low battery voltage mode)  
0 = Disabled  
1 = Enabled  
0x0  
0xF  
0x4  
13:10  
9:5  
DCDC_V18P_CUR_  
LIM_MAX_LV  
V18P output maximum current limit low battery voltage  
mode)  
I = 30 mA * (1 + N)  
DCDC_V18P_IDLE_  
HYST  
V18P output idle time hysteresis  
0 - 3875 ns, 125 ns step size  
IDLE_MAX = IDLE_MIN + IDLE_HYST  
Maximum idle time before decreasing CUR_LIM  
4:0  
R/W  
DCDC_V18P_IDLE_  
MIN  
V18P output minimum idle time  
0 - 3875 ns, 125 ns step size  
Minimum idle time, CUR_LIM is increased if this limit is not  
reached  
0x10  
Table 218: DCDC_RET_0_REG (0x50000098)  
Bit  
Mode Symbol  
Description  
Reset  
15:13  
R/W  
R/W  
R/W  
R/W  
DCDC_V18P_RET_  
CYCLES  
Charge cycles for V18P output in sleep mode  
Cycles = 1 + 2 * N  
0x5  
12:8  
7:5  
DCDC_V18P_CUR_  
LIM_RET  
V18P output sleep mode current limit  
I = 30 mA * (1 + N)  
0xA  
0x5  
0x6  
DCDC_VDD_RET_C  
YCLES  
Charge cycles for VDD output in sleep mode  
Cycles = 1 + 2 * N  
4:0  
DCDC_VDD_CUR_LI VDD output sleep mode current limit  
M_RET I = 30 mA * (1 + N)  
Table 219: DCDC_RET_1_REG (0x5000009A)  
Bit  
Mode Symbol  
Description  
Reset  
15:13  
R/W  
R/W  
R/W  
R/W  
DCDC_V18_RET_C  
YCLES  
Charge cycles for V18 output in sleep mode  
Cycles = 1 + 2 * N  
0x5  
12:8  
7:5  
DCDC_V18_CUR_LI  
M_RET  
V18 output sleep mode current limit  
I = 30 mA * (1 + N)  
0xA  
0x2  
0x6  
DCDC_V14_RET_C  
YCLES  
Charge cycles for V14 output in sleep mode  
Cycles = 1 + 2 * N  
4:0  
DCDC_V14_CUR_LI  
M_RET  
V14 output sleep mode current limit  
I = 30 mA * (1 + N)  
Table 220: DCDC_TRIM_REG (0x5000009C)  
Bit  
Mode Symbol  
Description  
Reset  
13  
R/W  
R/W  
DCDC_P_COMP_M  
AN_TRIM  
Trim mode for P side comparator  
0 = Automatic  
1 = Manual  
0x0  
12:7  
DCDC_P_COMP_TR Manual trim value for P side comparator  
0x0  
IM  
Signed magnitude representation  
011111 = +47 mV  
000000 = 100000 = +16 mV  
111111 = -15 mV  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
240 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 220: DCDC_TRIM_REG (0x5000009C)  
Bit  
Mode Symbol  
Description  
Reset  
6
R/W  
R/W  
DCDC_N_COMP_M  
AN_TRIM  
Trim mode for N side comparator  
0 = Automatic  
1 = Manual  
0x0  
5:0  
DCDC_N_COMP_TR Manual trim value for N side comparator  
0x0  
IM  
Signed magnitude representation  
011111 = +13 mV  
000000 = 100000 = -22 mV  
111111 = -56 mV  
Table 221: DCDC_TEST_0_REG (0x5000009E)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
R/W  
R/W  
DCDC_FORCE_CO  
MP_CLK  
Disables automatic comparator clock, clock lines values  
based on DCDC_COMP_CLK  
0x0  
14  
DCDC_FORCE_CUR Force output current setting  
RENT  
0x0  
0x0  
13:11  
DCDC_OUTPUT_M  
ONITOR  
Output monitor switch (connect to ADC)  
000 = None  
001 = V14  
010 = V18  
011 = VDD  
100 = VPA  
101 = None  
110 = None  
111 = None  
10:8  
R/W  
DCDC_ANA_TEST  
Analog test bus  
000 = None  
0x0  
001 = High side ground  
010 = Low side supply  
011 = 1.2 V buffer output  
100 = None  
101 = None  
110 = None  
111 = None  
7
6
R/W  
R/W  
DCDC_FORCE_IDL  
E
Force idle mode  
0x0  
0x0  
DCDC_FORCE_V18  
P
Force V18P switch on  
5
4
3
2
1
R/W  
R/W  
R/W  
R/W  
R/W  
DCDC_FORCE_VDD Force VDD switch on  
0x0  
0x0  
0x0  
0x0  
0x0  
DCDC_FORCE_V18  
DCDC_FORCE_V14  
DCDC_FORCE_FW  
Force V18 switch on  
Force V14 switch on  
Force FW switch on  
Force N switch on  
DCDC_FORCE_NS  
W
0
R/W  
DCDC_FORCE_PS  
W
Force P switch on  
0x0  
Table 222: DCDC_TEST_1_REG (0x500000A0)  
Bit  
Mode Symbol  
R/W DCDC_COMP_CLK  
Description  
Reset  
12:9  
Forced clock values for [COMP_VPA, COMP_VDD,  
COMP_V18, COMP_V14] (requires  
0x0  
DCDC_FORCE_COMP_CLK = 1)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
241 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 222: DCDC_TEST_1_REG (0x500000A0)  
Bit  
Mode Symbol  
Description  
Reset  
8:4  
R/W  
DCDC_TEST_CURR  
Current limit setting when current limit is forced  
0x0  
ENT  
3:0  
R/W  
DCDC_TEST_REG  
Determines which register appears on the testbus  
0x0 = DCDC_NONE  
0x0  
0x1 = DCDC_STATUS_0  
0x2 = DCDC_STATUS_1  
0x3 = DCDC_STATUS_2  
0x4 = DCDC_STATUS_3  
0x5 = DCDC_STATUS_4  
0x6 = DCDC_TRIM_0  
0x7 = DCDC_TRIM_1  
0x8 = DCDC_TRIM_2  
0x9 = DCDC_TRIM_3  
0xA-0xF = DCDC_NONE  
Table 223: DCDC_STATUS_0_REG (0x500000A2)  
Bit  
Mode Symbol  
Description  
Reset  
11:9  
R
R
R
R
DCDC_CHARGE_RE Charge register position 3  
G_3  
0x0  
8:6  
5:3  
2:0  
DCDC_CHARGE_RE Charge register position 2  
G_2  
0x0  
0x0  
0x0  
DCDC_CHARGE_RE Charge register position 1  
G_1  
DCDC_CHARGE_RE Charge register position 0  
G_0  
Table 224: DCDC_STATUS_1_REG (0x500000A4)  
Bit  
Mode Symbol  
Description  
Reset  
11  
R
R
R
R
DCDC_V18P_AVAIL  
ABLE  
Indicates whether V18P is available  
Requires that converter is enabled, output is enabled and  
V_OK and V_NOK have both occured  
0x0  
10  
9
DCDC_VDD_AVAILA  
BLE  
Indicates whether VDD is available  
Requires that converter is enabled, output is enabled and  
V_OK and V_NOK have both occured  
0x0  
0x0  
0x0  
DCDC_V18_AVAILA  
BLE  
Indicates whether V18 is available  
Requires that converter is enabled, output is enabled and  
V_OK and V_NOK have both occured  
8
DCDC_V14_AVAILA  
BLE  
Indicates whether V14 is available  
Requires that converter is enabled, output is enabled and  
V_OK and V_NOK have both occured  
7
6
5
4
3
2
1
0
R
R
R
R
R
R
R
R
DCDC_V18P_OK  
DCDC_VDD_OK  
DCDC_V18_OK  
DCDC_V14_OK  
DCDC_V18P_NOK  
DCDC_VDD_NOK  
DCDC_V18_NOK  
DCDC_V14_NOK  
OK output of V18P comparator  
OK output of VDD comparator  
OK output of V18 comparator  
OK output of V14 comparator  
NOK output of V18P comparator  
NOK output of VDD comparator  
NOK output of V18 comparator  
NOK output of V14 comparator  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
242 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 225: DCDC_STATUS_2_REG (0x500000A6)  
Bit  
Mode Symbol  
Description  
Reset  
11  
R
R
R
R
DCDC_V18P_SW_S  
TATE  
DCDC state machine V18P output  
0x0  
0x0  
0x0  
0x0  
10  
9
DCDC_VDD_SW_ST DCDC state machine VDD output  
ATE  
DCDC_V18_SW_ST  
ATE  
DCDC state machine V18 output  
8
DCDC_V14_SW_ST  
ATE  
DCDC state machine V14 output  
7
6
5
4
3
2
1
0
R
R
R
R
R
R
R
R
DCDC_NSW_STATE  
DCDC_PSW_STATE  
DCDC_P_COMP_P  
DCDC_P_COMP_N  
DCDC_N_COMP_P  
DCDC_N_COMP_N  
DCDC_P_COMP  
DCDC state machine NSW output  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
DCDC state machine PSW output  
DCDC P side dynamic comparator P output  
DCDC P side dynamic comparator N output  
DCDC N side dynamic comparator P output  
DCDC N side dynamic comparator N output  
DCDC P side continuous time comparator output  
DCDC N side continuous time comparator output  
DCDC_N_COMP  
Table 226: DCDC_STATUS_3_REG (0x500000A8)  
Bit  
Mode Symbol  
Description  
Reset  
11  
R
DCDC_STARTUP_C  
OMPLETE  
Indicates if the converter is enabled and the startup counter  
has expired (internal biasing settled)  
0x0  
10  
R
R
R
DCDC_LV_MODE  
DCDC_I_LIM_V18P  
DCDC_I_LIM_VDD  
Indicates if the converter is in low battery voltage mode  
Actual V18P current limit  
0x0  
0x4  
0x4  
9:5  
4:0  
Actual VDD current limit  
Table 227: DCDC_STATUS_4_REG (0x500000AA)  
Bit  
9:5  
4:0  
Mode Symbol  
Description  
Reset  
0x4  
R
R
DCDC_I_LIM_V18  
DCDC_I_LIM_V14  
Actual V18 current limit  
Actual V14 current limit  
0x4  
Table 228: DCDC_TRIM_0_REG (0x500000AC)  
Bit  
Mode Symbol  
Description  
Reset  
11:6  
R
DCDC_V14_TRIM_P  
P comparator trim value when V14 is active  
Signed magnitude representation  
011111 = +47 mV  
0x0  
000000 = 100000 = +16 mV  
111111 = -15 mV  
5:0  
R
DCDC_V14_TRIM_N  
N comparator trim value when V14 is active  
Signed magnitude representation  
011111 = +13 mV  
0x0  
000000 = 100000 = -22 mV  
111111 = -56 mV  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
243 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 229: DCDC_TRIM_1_REG (0x500000AE)  
Bit  
Mode Symbol  
Description  
Reset  
11:6  
R
R
DCDC_V18_TRIM_P  
P comparator trim value when V18 is active  
Signed magnitude representation  
011111 = +47 mV  
000000 = 100000 = +16 mV  
111111 = -15 mV  
0x0  
5:0  
DCDC_V18_TRIM_N  
N comparator trim value when V18 is active  
Signed magnitude representation  
011111 = +13 mV  
0x0  
000000 = 100000 = -22 mV  
111111 = -56 mV  
Table 230: DCDC_TRIM_2_REG (0x500000B0)  
Bit  
Mode Symbol  
Description  
Reset  
11:6  
R
DCDC_VDD_TRIM_  
P
P comparator trim value when VDD is active  
Signed magnitude representation  
011111 = +47 mV  
0x0  
000000 = 100000 = +16 mV  
111111 = -15 mV  
5:0  
R
DCDC_VDD_TRIM_  
N
N comparator trim value when VDD is active  
Signed magnitude representation  
011111 = +13 mV  
0x0  
000000 = 100000 = -22 mV  
111111 = -56 mV  
Table 231: DCDC_TRIM_3_REG (0x500000B2)  
Bit  
Mode Symbol  
Description  
Reset  
11:6  
R
DCDC_V18P_TRIM_  
P
P comparator trim value when V18P is active  
Signed magnitude representation  
011111 = +47 mV  
0x0  
000000 = 100000 = +16 mV  
111111 = -15 mV  
5:0  
R
DCDC_V18P_TRIM_  
N
N comparator trim value when V18P is active  
Signed magnitude representation  
011111 = +13 mV  
0x0  
000000 = 100000 = -22 mV  
111111 = -56 mV  
Table 232: DCDC_IRQ_STATUS_REG (0x500000B4)  
Bit  
Mode Symbol  
Description  
Reset  
4
R
R
R
R
R
DCDC_BROWN_OU  
T_IRQ_STATUS  
Brown out detector triggered (battery voltage below 2.5 V)  
0x0  
3
2
1
0
DCDC_V18P_TIMEO Timeout occured on V18P output  
UT_IRQ_STATUS  
0x0  
0x0  
0x0  
0x0  
DCDC_VDD_TIMEO  
UT_IRQ_STATUS  
Timeout occured on VDD output  
DCDC_V18_TIMEOU Timeout occured on V18 output  
T_IRQ_STATUS  
DCDC_V14_TIMEOU Timeout occured on V14 output  
T_IRQ_STATUS  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
244 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 233: DCDC_IRQ_CLEAR_REG (0x500000B6)  
Bit  
Mode Symbol  
Description  
Reset  
4
R0/W  
R0/W  
R0/W  
R0/W  
R0/W  
DCDC_BROWN_OU  
T_IRQ_CLEAR  
Clear brown out interrupt  
0x0  
0x0  
0x0  
0x0  
0x0  
3
2
1
0
DCDC_V18P_TIMEO Clear V18P timeout interrupt  
UT_IRQ_CLEAR  
DCDC_VDD_TIMEO  
UT_IRQ_CLEAR  
Clear VDD timeout interrupt  
DCDC_V18_TIMEOU Clear V18 timeout interrupt  
T_IRQ_CLEAR  
DCDC_V14_TIMEOU Clear V14 timeout interrupt  
T_IRQ_CLEAR  
Table 234: DCDC_IRQ_MASK_REG (0x500000B8)  
Bit  
Mode Symbol  
Description  
Reset  
4
R/W  
R/W  
R/W  
R/W  
R/W  
DCDC_BROWN_OU  
T_IRQ_MASK  
Mask brown out interrupt  
0x0  
3
2
1
0
DCDC_V18P_TIMEO Mask V18P timeout interrupt  
UT_IRQ_MASK  
0x0  
0x0  
0x0  
0x0  
DCDC_VDD_TIMEO  
UT_IRQ_MASK  
Mask VDD timeout interrupt  
DCDC_V18_TIMEOU Mask V18 timeout interrupt  
T_IRQ_MASK  
DCDC_V14_TIMEOU Mask V14 timeout interrupt  
T_IRQ_MASK  
37.8 WAKEUP REGISTER FILE  
Table 235: Register map WakeUp  
Address  
Port  
Description  
0x50000100  
0x50000104  
0x5000010A  
WKUP_CTRL_REG  
WKUP_RESET_IRQ_REG  
WKUP_SELECT_P0_REG  
Control register for the wakeup counter  
Reset wakeup interrupt  
select which inputs from P0 port can trigger wkup  
counter  
0x5000010C  
0x5000010E  
0x50000110  
0x50000112  
WKUP_SELECT_P1_REG  
WKUP_SELECT_P2_REG  
WKUP_SELECT_P3_REG  
WKUP_SELECT_P4_REG  
select which inputs from P1 port can trigger wkup  
counter  
select which inputs from P2 port can trigger wkup  
counter  
select which inputs from P3 port can trigger wkup  
counter  
select which inputs from P3 port can trigger wkup  
counter  
0x50000114  
0x50000116  
0x50000118  
0x5000011A  
0x5000011C  
0x5000011E  
0x50000120  
WKUP_POL_P0_REG  
WKUP_POL_P1_REG  
WKUP_POL_P2_REG  
WKUP_POL_P3_REG  
WKUP_POL_P4_REG  
WKUP_STATUS_0_REG  
WKUP_STATUS_1_REG  
select the sesitivity polarity for each P0 input  
select the sesitivity polarity for each P1 input  
select the sesitivity polarity for each P2 input  
select the sesitivity polarity for each P3 input  
select the sesitivity polarity for each P3 input  
Event status register for P0 and P1  
Event status register for P2  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
245 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 235: Register map WakeUp  
Address  
Port  
Description  
0x50000122  
0x50000124  
0x50000126  
0x50000128  
0x5000012A  
0x5000012C  
0x5000012E  
0x50000130  
0x50000132  
WKUP_STATUS_2_REG  
WKUP_CLEAR_0_REG  
WKUP_CLEAR_1_REG  
WKUP_CLEAR_2_REG  
WKUP_SEL_GPIO_P0_REG  
WKUP_SEL_GPIO_P1_REG  
WKUP_SEL_GPIO_P2_REG  
WKUP_SEL_GPIO_P3_REG  
WKUP_SEL_GPIO_P4_REG  
Event status register for P3 and P4  
Clear event register for P0 and P1  
Clear event register for P2  
Clear event register for P3 and P4  
select which inputs from P0 port can trigger interrupt  
select which inputs from P1 port can trigger interrupt  
select which inputs from P2 port can trigger interrupt  
select which inputs from P3 port can trigger interrupt  
select which inputs from P3 port can trigger interrupt  
Table 236: WKUP_CTRL_REG (0x50000100)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
R/W  
WKUP_ENABLE_IR  
Q
0: no interrupt will be enabled  
1: if you have an event an IRQ will be generated  
0x0  
6
R/W  
R/W  
WKUP_SFT_KEYHIT 0 = no effect  
0x0  
1 = emulate key hit. First make this bit 0 before any new key  
hit can be sensed.  
5:0  
WKUP_DEB_VALUE  
Wakeup debounce time. If set to 0, no debouncing will be  
0x0  
done.  
Debounce time: N*1 ms. N =1..63  
Table 237: WKUP_RESET_IRQ_REG (0x50000104)  
Bit  
Mode Symbol  
WKUP_IRQ_RST  
Description  
Reset  
15:0  
W
writing any value to this register will reset the interrupt. read- 0x0  
ing always returns 0.  
Table 238: WKUP_SELECT_P0_REG (0x5000010A)  
Bit  
Mode Symbol  
R/W WKUP_SELECT_P0  
Description  
Reset  
7:0  
0: input P0x is not enabled for wakeup event  
1: input P0x is enabled for wakeup event  
0x0  
Table 239: WKUP_SELECT_P1_REG (0x5000010C)  
Bit  
Mode Symbol  
R/W WKUP_SELECT_P1  
Description  
Reset  
7:0  
0: input P1x is not enabled for wakeup event  
1: input P1x is enabled for wakeup event  
0x0  
Table 240: WKUP_SELECT_P2_REG (0x5000010E)  
Bit  
Mode Symbol  
R/W WKUP_SELECT_P2  
Description  
Reset  
4:0  
0: input P2x is not enabled for wakeup event  
1: input P2x is enabled for wakeup event  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
246 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 241: WKUP_SELECT_P3_REG (0x50000110)  
Bit  
Mode Symbol  
R/W WKUP_SELECT_P3  
Description  
Reset  
7:0  
0: input P3x is not enabled for wakeup event  
1: input P3x is enabled for wakeup event  
0x0  
Table 242: WKUP_SELECT_P4_REG (0x50000112)  
Bit  
Mode Symbol  
R/W WKUP_SELECT_P4  
Description  
Reset  
7:0  
0: input P4x is not enabled for wakeup event  
1: input P4x is enabled for wakeup event  
0x0  
Table 243: WKUP_POL_P0_REG (0x50000114)  
Bit  
Mode Symbol  
R/W WKUP_POL_P0  
Description  
Reset  
7:0  
0: enabled input P0x will give an event if that input goes high 0x0  
1: enabled input P0x will give an event if that input goes low  
Table 244: WKUP_POL_P1_REG (0x50000116)  
Bit  
Mode Symbol  
R/W WKUP_POL_P1  
Description  
Reset  
7:0  
0: enabled input P1x will give an event if that input goes high 0x0  
1: enabled input P1x will give an event if that input goes low  
Table 245: WKUP_POL_P2_REG (0x50000118)  
Bit  
Mode Symbol  
R/W WKUP_POL_P2  
Description  
Reset  
4:0  
0: enabled input P2x will give an event if that input goes high 0x0  
1: enabled input P2x will give an event if that input goes low  
Table 246: WKUP_POL_P3_REG (0x5000011A)  
Bit  
Mode Symbol  
R/W WKUP_POL_P3  
Description  
Reset  
7:0  
0: enabled input P3x will give an event if that input goes high 0x0  
1: enabled input P3x will give an event if that input goes low  
Table 247: WKUP_POL_P4_REG (0x5000011C)  
Bit  
Mode Symbol  
R/W WKUP_POL_P4  
Description  
Reset  
7:0  
0: enabled input P4x will give an event if that input goes high 0x0  
1: enabled input P4x will give an event if that input goes low  
Table 248: WKUP_STATUS_0_REG (0x5000011E)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
R
WKUP_STAT_P1  
Contains the latched value of any toggle of the GPIOs Port  
P1. WKUP_STAT_P0[8] -> P1_0.  
0x0  
7:0  
R
WKUP_STAT_P0  
Contains the latched value of any toggle of the GPIOs Port  
P0. WKUP_STAT_P0[0] -> P0_0.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
247 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 249: WKUP_STATUS_1_REG (0x50000120)  
Bit  
Mode Symbol  
WKUP_STAT_P2  
Description  
Reset  
4:0  
R
Contains the latched value of any toggle of the GPIOs Port  
P2 WKUP_STATUS_1[0] -> P2_0.  
0x0  
Table 250: WKUP_STATUS_2_REG (0x50000122)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
R
WKUP_STAT_P4  
Contains the latched value of any toggle of the GPIOs Port  
P4. WKUP_STATUS_2[8] -> P4_0.  
0x0  
7:0  
R
WKUP_STAT_P3  
Contains the latched value of any toggle of the GPIOs Port  
P3. WKUP_STATUS_2[0] -> P3_0.  
0x0  
Table 251: WKUP_CLEAR_0_REG (0x50000124)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
W
WKUP_CLEAR_P1  
Clear latched value of the GPIOs P1 when corresponding bit  
is 1  
0x0  
7:0  
W
WKUP_CLEAR_P0  
Clear latched value of the GPIOs P0 when corresponding bit  
is 1  
0x0  
Table 252: WKUP_CLEAR_1_REG (0x50000126)  
Bit  
Mode Symbol  
WKUP_CLEAR_P2  
Description  
Reset  
4:0  
W
Clear latched value of the GPIOs P2 when corresponding bit  
is 1  
0x0  
Table 253: WKUP_CLEAR_2_REG (0x50000128)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
W
WKUP_CLEAR_P4  
Clear latched value of the GPIOs P4 when corresponding bit  
is 1  
0x0  
7:0  
W
WKUP_CLEAR_P3  
Clear latched value of the GPIOs P3 when corresponding bit  
is 1  
0x0  
Table 254: WKUP_SEL_GPIO_P0_REG (0x5000012A)  
Bit  
Mode Symbol  
R/W WKUP_SEL_GPIO_  
P0  
Description  
Reset  
7:0  
0: input P0x is not enabled for GPIO interrupt  
1: input P0x is enabled for GPIO interrupt  
0x0  
Table 255: WKUP_SEL_GPIO_P1_REG (0x5000012C)  
Bit  
Mode Symbol  
R/W WKUP_SEL_GPIO_  
P1  
Description  
Reset  
7:0  
0: input P1x is not enabled for GPIO interrupt  
1: input P1x is enabled for GPIO interrupt  
0x0  
Table 256: WKUP_SEL_GPIO_P2_REG (0x5000012E)  
Bit  
Mode Symbol  
R/W WKUP_SEL_GPIO_  
P2  
Description  
Reset  
4:0  
0: input P2x is not enabled for GPIO interrupt  
1: input P2x is enabled for GPIO interrupt  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
248 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 257: WKUP_SEL_GPIO_P3_REG (0x50000130)  
Bit  
Mode Symbol  
R/W WKUP_SEL_GPIO_  
P3  
Description  
Reset  
7:0  
0: input P3x is not enabled for GPIO interrupt  
1: input P3x is enabled for GPIO interrupt  
0x0  
Table 258: WKUP_SEL_GPIO_P4_REG (0x50000132)  
Bit  
Mode Symbol  
R/W WKUP_SEL_GPIO_  
P4  
Description  
Reset  
7:0  
0: input P4x is not enabled for GPIO interrupt  
1: input P4x is enabled for GPIO interrupt  
0x0  
37.9 TIMER1 REGISTER FILE  
Table 259: Register map Timer1  
Address  
Port  
Description  
0x50000200  
0x50000202  
0x50000204  
0x50000206  
0x50000208  
0x5000020A  
0x5000020C  
0x5000020E  
0x50000210  
0x50000212  
0x50000214  
0x50000216  
0x50000218  
0x5000021A  
0x5000021C  
CAPTIM_CTRL_REG  
Capture Timer control register  
CAPTIM_TIMER_VAL_REG  
CAPTIM_STATUS_REG  
Capture Timer counter value  
Capture Timer status register  
Capture Timer gpio1 selection  
Capture Timer gpio2 selection  
CAPTIM_GPIO1_CONF_REG  
CAPTIM_GPIO2_CONF_REG  
CAPTIM_RELOAD_REG  
Capture Timer reload value and Delay in shot mode  
Capture Timer Shot duration in shot mode  
Capture Timer prescaler value  
CAPTIM_SHOTWIDTH_REG  
CAPTIM_PRESCALER_REG  
CAPTIM_CAPTURE_GPIO1_REG  
CAPTIM_CAPTURE_GPIO2_REG  
CAPTIM_PRESCALER_VAL_REG  
CAPTIM_PWM_FREQ_REG  
CAPTIM_PWM_DC_REG  
Capture Timer value for event on GPIO1  
Capture Timer value for event on GPIO2  
Capture Timer interrupt status register  
Capture Timer pwm frequency register  
Capture Timer pwm dc register  
CAPTIM_TIMER_HVAL_REG  
CAPTIM_RELOAD_HIGH_REG  
Capture Timer counter high value  
Capture Timer reload high value and Delay in shot  
mode  
0x5000021E  
0x50000220  
0x50000222  
CAPTIM_CAPTURE_HIGH_GPIO1_REG Capture Timer high value for event on GPIO01  
CAPTIM_CAPTURE_HIGH_GPIO2_REG Capture Timer high value for event on GPIO02  
CAPTIM_SHOTWIDTH_HIGH_REG  
Capture Timer Shot high duration in shot mode  
Table 260: CAPTIM_CTRL_REG (0x50000200)  
Bit  
Mode Symbol  
Description  
Reset  
7
R/W  
CAPTIM_SYS_CLK_  
EN  
'1' Capture Timer uses the system clock  
'0' Capture Timer uses the 32KHz clock  
0x0  
6
R/W  
CAPTIM_FREE_RU  
N_MODE_EN  
Valid when timer counts up, if it is '1' timer does not zero  
when reaches to reload value. it becomes zero only when it  
reaches the max value.  
0x0  
5
4
R/W  
R/W  
CAPTIM_IRQ_EN  
'1' Capture timer IRQ is unmasked, '0' masked  
'1' input1 event type is falling edge, '0' rising edge  
0x0  
0x0  
CAPTIM_IN2_EVEN  
T_FALL_EN  
3
2
R/W  
R/W  
CAPTIM_IN1_EVEN  
T_FALL_EN  
'1' input2 event type is falling edge, '0' rising edge  
'1' timer counts down, '0' count up  
0x0  
0x0  
CAPTIM_COUNT_D  
OWN_EN  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
249 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 260: CAPTIM_CTRL_REG (0x50000200)  
Bit  
Mode Symbol  
Description  
Reset  
1
R/W  
CAPTIM_ONESHOT  
'1' OneShot mode enabled, '0' Capture/Timer mode enabled  
0x0  
_MODE_EN  
0
R/W  
CAPTIM_EN  
'1' Capture Timer enabled, else disabled  
0x0  
Table 261: CAPTIM_TIMER_VAL_REG (0x50000202)  
Bit  
Mode Symbol  
CAPTIM_TIMER_VA  
LUE  
Description  
Reset  
15:0  
R
Gives the current timer value  
0x0  
Table 262: CAPTIM_STATUS_REG (0x50000204)  
Bit  
Mode Symbol  
Description  
Reset  
3:2  
R
CAPTIM_ONESHOT  
_PHASE  
0 : Wait for event, 1 : Delay phase, 2 : Start Shot, 3 : Shot  
phase  
0x0  
1
0
R
R
CAPTIM_IN2_STATE  
CAPTIM_IN1_STATE  
Gives the logic level of the IN1  
Gives the logic level of the IN2  
0x0  
0x0  
Table 263: CAPTIM_GPIO1_CONF_REG (0x50000206)  
Bit  
Mode Symbol  
R/W CAPTIM_GPIO1_CO  
NF  
Description  
Reset  
5:0  
Select one of the 37 GPIOs as IN1, Valid value 0-37. 1 for  
P00 .. 37 for P47. 0 Disable input  
0x0  
Table 264: CAPTIM_GPIO2_CONF_REG (0x50000208)  
Bit  
Mode Symbol  
R/W CAPTIM_GPIO2_CO  
NF  
Description  
Reset  
5:0  
Select one of the 37 GPIOs as IN2, Valid value 0-37. 1 for  
P00 .. 37 for P47. 0 Disable input  
0x0  
Table 265: CAPTIM_RELOAD_REG (0x5000020A)  
Bit  
Mode Symbol  
R/W CAPTIM_RELOAD  
Description  
Reset  
15:0  
Reload or max value in timer mode, Delay phase duration in  
oneshot mode. Actual delay is the register value plus syn-  
chronization time (3 clock cycles)  
0x0  
Table 266: CAPTIM_SHOTWIDTH_REG (0x5000020C)  
Bit  
Mode Symbol  
Description  
Reset  
15:0  
R/W  
CAPTIM_SHOTWIDT Shot phase duration in oneshot mode  
H
0x0  
Table 267: CAPTIM_PRESCALER_REG (0x5000020E)  
Bit  
Mode Symbol  
Description  
Reset  
15:0  
R/W CAPTIM_PRESCALE Defines the timer count frequncy. CLOCK frequency /  
0x0  
R
(CAPTIM_PRESCARLER+1)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
250 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 268: CAPTIM_CAPTURE_GPIO1_REG (0x50000210)  
Bit  
Mode Symbol  
Description  
Reset  
15:0  
R
CAPTIM_CAPTURE_ Gives the Capture time for event on GPIO1  
GPIO1  
0x0  
Table 269: CAPTIM_CAPTURE_GPIO2_REG (0x50000212)  
Bit  
Mode Symbol  
Description  
Reset  
15:0  
R
CAPTIM_CAPTURE_ Gives the Capture time for event on GPIO2  
GPIO2  
0x0  
Table 270: CAPTIM_PRESCALER_VAL_REG (0x50000214)  
Bit  
Mode Symbol  
Description  
Reset  
15:0  
R
CAPTIM_PRESCALE Gives the current prescaler value  
R_VAL  
0x0  
Table 271: CAPTIM_PWM_FREQ_REG (0x50000216)  
Bit  
Mode Symbol  
R/W CAPTIM_PWM_FRE  
Description  
Reset  
15:0  
Defines the PWM frequency. Timer clock frequency /  
(CAPTIM_PWM_FREQ+1)  
0x0  
Q
Table 272: CAPTIM_PWM_DC_REG (0x50000218)  
Bit  
Mode Symbol  
R/W CAPTIM_PWM_DC  
Description  
Reset  
15:0  
Defines the PWM duty cycle. CAPTIM_PWM_DC / (  
CAPTIM_PWM_FREQ+1)  
0x0  
Table 273: CAPTIM_TIMER_HVAL_REG (0x5000021A)  
Bit  
Mode Symbol  
CAPTIM_TIMER_HV  
ALUE  
Description  
Reset  
15:0  
R
Gives the current timer high value  
0x0  
Table 274: CAPTIM_RELOAD_HIGH_REG (0x5000021C)  
Bit  
Mode Symbol  
R/W CAPTIM_RELOAD_  
HIGH  
Description  
Reset  
15:0  
Reload high value or max high value in timer mode, Delay  
phase duration in oneshot mode. Actual delay is the register  
value plus synchronization time (3 clock cycles)  
0x0  
Table 275: CAPTIM_CAPTURE_HIGH_GPIO1_REG (0x5000021E)  
Bit  
Mode Symbol  
Description  
Reset  
15:0  
R
CAPTIM_CAPTURE_ Gives the Capture high time for event on GPIO1  
HIGH_GPIO1  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
251 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 276: CAPTIM_CAPTURE_HIGH_GPIO2_REG (0x50000220)  
Bit  
Mode Symbol  
Description  
Reset  
15:0  
R
CAPTIM_CAPTURE_ Gives the Capture high time for event on GPIO2  
HIGH_GPIO2  
0x0  
Table 277: CAPTIM_SHOTWIDTH_HIGH_REG (0x50000222)  
Bit  
Mode Symbol  
Description  
Reset  
15:0  
R/W  
CAPTIM_SHOTWIDT Shot phase high duration in oneshot mode  
H_HIGH  
0x0  
37.10 UART REGISTER FILE  
Table 278: Register map UART  
Address  
Port  
Description  
0x50001000  
0x50001004  
0x50001008  
0x5000100C  
0x50001010  
0x50001014  
0x5000101C  
0x5000107C  
0x50001088  
0x50001090  
0x500010A8  
0x500010C0  
0x500010F4  
0x500010F8  
0x500010FC  
0x50001100  
0x50001104  
0x50001108  
0x5000110C  
0x50001110  
0x50001114  
0x50001118  
0x5000111C  
0x50001130  
0x50001134  
0x50001138  
0x5000113C  
0x50001140  
0x50001144  
0x50001148  
0x5000114C  
0x50001150  
UART_RBR_THR_DLL_REG  
UART_IER_DLH_REG  
UART_IIR_FCR_REG  
UART_LCR_REG  
Receive Buffer Register  
Interrupt Enable Register  
Interrupt Identification Register  
Line Control Register  
UART_MCR_REG  
Modem Control Register  
Line Status Register  
UART_LSR_REG  
UART_SCR_REG  
Scratchpad Register  
UART_USR_REG  
UART Status register.  
UART_SRR_REG  
Software Reset Register.  
Shadow Break Control Register  
DMA Software Acknowledge  
Divisor Latch Fraction Register  
Component Parameter Register  
Component Version  
UART_SBCR_REG  
UART_DMASA_REG  
UART_DLF_REG  
UART_CPR_REG  
UART_UCV_REG  
UART_CTR_REG  
Component Type Register  
Receive Buffer Register  
Interrupt Enable Register  
UART2_RBR_THR_DLL_REG  
UART2_IER_DLH_REG  
UART2_IIR_FCR_REG  
UART2_LCR_REG  
Interrupt Identification Register/FIFO Control Register  
Line Control Register  
UART2_MCR_REG  
Modem Control Register  
UART2_LSR_REG  
Line Status Register  
UART2_MSR_REG  
Modem Status Register  
UART2_SCR_REG  
Scratchpad Register  
UART2_SRBR_STHR0_REG  
UART2_SRBR_STHR1_REG  
UART2_SRBR_STHR2_REG  
UART2_SRBR_STHR3_REG  
UART2_SRBR_STHR4_REG  
UART2_SRBR_STHR5_REG  
UART2_SRBR_STHR6_REG  
UART2_SRBR_STHR7_REG  
UART2_SRBR_STHR8_REG  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
252 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 278: Register map UART  
Address  
Port  
Description  
0x50001154  
0x50001158  
0x5000115C  
0x50001160  
0x50001164  
0x50001168  
0x5000116C  
0x50001170  
0x5000117C  
0x50001180  
0x50001184  
0x50001188  
0x5000118C  
0x50001190  
0x50001194  
0x50001198  
0x5000119C  
0x500011A0  
0x500011A4  
0x500011A8  
0x500011C0  
0x500011F4  
0x500011F8  
0x500011FC  
UART2_SRBR_STHR9_REG  
UART2_SRBR_STHR10_REG  
UART2_SRBR_STHR11_REG  
UART2_SRBR_STHR12_REG  
UART2_SRBR_STHR13_REG  
UART2_SRBR_STHR14_REG  
UART2_SRBR_STHR15_REG  
UART2_FAR_REG  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
Shadow Receive/Transmit Buffer Register  
FIFO Access Register  
UART2_USR_REG  
UART Status register.  
UART2_TFL_REG  
Transmit FIFO Level  
UART2_RFL_REG  
Receive FIFO Level.  
UART2_SRR_REG  
Software Reset Register.  
UART2_SRTS_REG  
UART2_SBCR_REG  
UART2_SDMAM_REG  
UART2_SFE_REG  
Shadow Request to Send  
Shadow Break Control Register  
Shadow DMA Mode  
Shadow FIFO Enable  
UART2_SRT_REG  
Shadow RCVR Trigger  
UART2_STET_REG  
UART2_HTX_REG  
Shadow TX Empty Trigger  
Halt TX  
UART2_DMASA_REG  
UART2_DLF_REG  
DMA Software Acknowledge  
Divisor Latch Fraction Register  
Component Parameter Register  
Component Version  
UART2_CPR_REG  
UART2_UCV_REG  
UART2_CTR_REG  
Component Type Register  
Table 279: UART_RBR_THR_DLL_REG (0x50001000)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
253 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 279: UART_RBR_THR_DLL_REG (0x50001000)  
Bit  
Mode Symbol  
R/W RBR_THR_DLL  
Description  
Reset  
7:0  
Receive Buffer Register: (RBR).  
0x0  
This register contains the data byte received on the serial  
input port (sin) in UART mode or the serial infrared input  
(sir_in) in infrared mode. The data in this register is valid only  
if the Data Ready (DR) bit in the Line status Register (LSR)  
is set. The data in the RBR must be read before the next  
data arrives, otherwise it will be overwritten, resulting in an  
overrun error.  
Transmit Holding Register: (THR)  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set.  
Writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten.  
Divisor Latch (Low): (DLL)  
This register makes up the lower 8-bits of a 16-bit, read/  
write, Divisor Latch register that contains the baud rate divi-  
sor for the UART. This register may only be accessed when  
the DLAB bit (LCR[7]) is set. The output baud rate is equal to  
the serial clock (sclk) frequency divided by sixteen times the  
value of the baud rate divisor, as follows:  
baud rate = (serial clock freq) / (16 * divisor)  
Note that with the Divisor Latch Registers (DLL and DLH) set  
to zero, the baud clock is disabled and no serial communica-  
tions will occur. Also, once the DLL is set, at least 8 clock  
cycles of the slowest DW_apb_uart clock should be allowed  
to pass before transmitting or receiving data.  
Divisor Latch (Low): (DLH) (Note: This register is placed in  
UART_IER_DLH_REG with offset 0x4)  
Upper 8-bits of a 16-bit, read/write, Divisor Latch register  
that contains the baud rate divisor for the UART. This regis-  
ter may be accessed only when the DLAB bit (LCR[7]) is set.  
The output baud rate is equal to the serial clock frequency  
divided by sixteen times the value of the baud rate divisor, as  
follows:  
baud rate = (serial clock freq) / (16 * divisor).  
Note that with the Divisor Latch Registers (DLL and DLH) set  
to zero, the baud clock is disabled and no serial communica-  
tions occur. Also, once the DLH is set, at least 8 clock cycles  
of the slowest DW_apb_uart clock should be allowed to pass  
before transmitting or receiving data.  
Table 280: UART_IER_DLH_REG (0x50001004)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
PTIME_DLH7  
Interrupt Enable Register: PTIME, Programmable THRE  
Interrupt Mode Enable. This is used to enable/disable the  
generation of THRE Interrupt. 0 = disabled 1 = enabled Divi-  
sor Latch (High): Bit[7] of the 8 bit DLH register.  
0x0  
6:4  
3
-
-
-
-
Reserved  
Reserved  
0x0  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
254 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 280: UART_IER_DLH_REG (0x50001004)  
Bit  
Mode Symbol  
Description  
Reset  
2
R/W  
R/W  
R/W  
ELSI_DHL2  
Interrupt Enable Register: ELSI, Enable Receiver Line Sta-  
tus Interrupt. This is used to enable/disable the generation of  
Receiver Line Status Interrupt. This is the highest priority  
interrupt. 0 = disabled 1 = enabled Divisor Latch (High):  
Bit[2] of the 8 bit DLH register.  
0x0  
0x0  
0x0  
1
0
ETBEI_DLH1  
ERBFI_DLH0  
Interrupt Enable Register: ETBEI, Enable Transmit Holding  
Register Empty Interrupt. This is used to enable/disable the  
generation of Transmitter Holding Register Empty Interrupt.  
This is the third highest priority interrupt. 0 = disabled 1 =  
enabled Divisor Latch (High): Bit[1] of the 8 bit DLH register.  
Interrupt Enable Register: ERBFI, Enable Received Data  
Available Interrupt. This is used to enable/disable the gener-  
ation of Received Data Available Interrupt. These are the  
second highest priority interrupts. 0 = disabled 1 = enabled  
Divisor Latch (High): Bit[0] of the 8 bit DLH register.  
Table 281: UART_IIR_FCR_REG (0x50001008)  
Bit  
Mode Symbol  
IIR_FCR  
Description  
Reset  
15:0  
R
Interrupt Identification Register: Bits[7:6], returns 00.  
Bits[3:0], Interrupt ID (or IID): This indicates the highest pri-  
ority pending interrupt which can be one of the following  
types: 0001 = no interrupt pending. 0010 = THR empty. 0100  
= received data available. 0110 = receiver line status. 0111 =  
busy detect. 1100 = character timeout.  
0x0  
Table 282: UART_LCR_REG (0x5000100C)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
UART_DLAB  
Divisor Latch Access Bit.  
0x0  
This bit is used to enable reading and writing of the Divisor  
Latch register (DLL and DLH) to set the baud rate of the  
UART.  
This bit must be cleared after initial baud rate setup in order  
to access other registers.  
6
R/W  
UART_BC  
Break Control Bit.  
0x0  
This is used to cause a break condition to be transmitted to  
the receiving device. If set to one the serial output is forced  
to the spacing (logic 0) state. When not in Loopback Mode,  
as determined by MCR[4], the sout line is forced low until the  
Break bit is cleared. If active (MCR[6] set to one) the  
sir_out_n line is continuously pulsed. When in Loopback  
Mode, the break condition is internally looped back to the  
receiver and the sir_out_n line is forced low.  
5
4
-
-
Reserved  
0x0  
0x0  
R/W  
UART_EPS  
Even Parity Select. Writeable only when UART is not busy  
(USR[0] is zero).  
This is used to select between even and odd parity, when  
parity is enabled (PEN set to one). If set to one, an even  
number of logic 1s is transmitted or checked. If set to zero,  
an odd number of logic 1s is transmitted or checked.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
255 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 282: UART_LCR_REG (0x5000100C)  
Bit  
Mode Symbol  
Description  
Reset  
3
R/W  
UART_PEN  
Parity Enable. Writeable only when UART is not busy  
(USR[0] is zero).  
0x0  
This bit is used to enable and disable parity generation and  
detection in transmitted and received serial character  
respectively.  
0 = parity disabled  
1 = parity enabled  
2
R/W  
UART_STOP  
Number of stop bits.  
0x0  
This is used to select the number of stop bits per character  
that the peripheral transmits and receives. If set to zero, one  
stop bit is transmitted in the serial data.  
If set to one and the data bits are set to 5 (LCR[1:0] set to  
zero) one and a half stop bits is transmitted. Otherwise, two  
stop bits are transmitted. Note that regardless of the number  
of stop bits selected, the receiver checks only the first stop  
bit.  
0 = 1 stop bit  
1 = 1.5 stop bits when DLS (LCR[1:0]) is zero, else 2 stop bit  
1:0  
R/W  
UART_DLS  
Data Length Select.  
0x0  
This is used to select the number of data bits per character  
that the peripheral transmits and receives. The number of bit  
that may be selected areas follows:  
00 = 5 bits  
01 = 6 bits  
10 = 7 bits  
11 = 8 bits  
Table 283: UART_MCR_REG (0x50001010)  
Bit  
15:7  
6
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
UART_SIRE  
SIR Mode Enable.  
0x0  
This is used to enable/disable the IrDA SIR Mode features  
as described in "IrDA 1.0 SIR Protocol".  
0 = IrDA SIR Mode disabled  
1 = IrDA SIR Mode enabled  
5
4
-
-
Reserved  
0x0  
0x0  
R/W  
UART_LB  
LoopBack Bit.  
This is used to put the UART into a diagnostic mode for test  
purposes.  
If operating in UART mode (SIR_MODE not active, MCR[6]  
set to zero), data on the sout line is held high, while serial  
data output is looped back to the sin line, internally. In this  
mode all the interrupts are fully functional. Also, in loopback  
mode, the modem control inputs (dsr_n, cts_n, ri_n, dcd_n)  
are disconnected and the modem control outputs (dtr_n,  
rts_n, out1_n, out2_n) are looped back to the inputs, inter-  
nally.  
If operating in infrared mode (SIR_MODE active, MCR[6] set  
to one), data on the sir_out_n line is held low, while serial  
data output is inverted and looped back to the sir_in line.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
256 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 283: UART_MCR_REG (0x50001010)  
Bit  
Mode Symbol  
UART_OUT2  
Description  
Reset  
3
R/W  
R/W  
-
OUT2.  
0x0  
0x0  
0x0  
This is used to directly control the user-designated Output2  
(out2_n) output. The value written to this location is inverted  
and driven out on out2_n, that is:  
0 = out2_n de-asserted (logic 1)  
1 = out2_n asserted (logic 0)  
Note that in Loopback mode (MCR[4] set to one), the out2_n  
output is held inactive high while the value of this location is  
internally looped back to an input.  
2
UART_OUT1  
OUT1.  
This is used to directly control the user-designated Output1  
(out1_n) output. The value written to this location is inverted  
and driven out on out1_n, that is:  
0 = out1_n de-asserted (logic 1)  
1 = out1_n asserted (logic 0)  
Note that in Loopback mode (MCR[4] set to one), the out1_n  
output is held inactive high while the value of this location is  
internally looped back to an input.  
1:0  
-
Reserved  
Table 284: UART_LSR_REG (0x50001014)  
Bit  
15:7  
6
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
UART_TEMT  
Transmitter Empty bit.  
0x1  
This bit is set whenever the Transmitter Holding Register  
and the Transmitter Shift Register are both empty.  
5
R
R
UART_THRE  
Transmit Holding Register Empty bit.  
If THRE mode is disabled (IER[7] set to zero), this bit indi-  
cates that the THR.  
This bit is set whenever data is transferred from the THR to  
the transmitter shift register and no new data has been writ-  
ten to the THR. This also causes a THRE Interrupt to occur,  
if the THRE Interrupt is enabled.  
0x1  
4
UART_BI  
Break Interrupt bit.  
0x0  
This is used to indicate the detection of a break sequence on  
the serial input data.  
If in UART mode (SIR_MODE == Disabled), it is set when-  
ever the serial input, sin, is held in a logic '0' state for longer  
than the sum of start time + data bits + parity + stop bits.  
If in infrared mode (SIR_MODE == Enabled), it is set when-  
ever the serial input, sir_in, is continuously pulsed to logic '0'  
for longer than the sum of start time + data bits + parity +  
stop bits. A break condition on serial input causes one and  
only one character, consisting of all zeros, to be received by  
the UART.  
Reading the LSR clears the BI bit. The BI indication occurs  
immediately and persists until the LSR is read.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
257 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 284: UART_LSR_REG (0x50001014)  
Bit  
Mode Symbol  
Description  
Reset  
3
R
UART_FE  
Framing Error bit.  
0x0  
This is used to indicate the occurrence of a framing error in  
the receiver. A framing error occurs when the receiver does  
not detect a valid STOP bit in the received data.  
When a framing error occurs, the UART tries to resynchro-  
nize. It does this by assuming that the error was due to the  
start bit of the next character and then continues receiving  
the other bit i.e. data, and/or parity and stop. It should be  
noted that the Framing Error (FE) bit (LSR[3]) is set if a  
break interrupt has occurred, as indicated by Break Interrupt  
(BI) bit (LSR[4]).  
0 = no framing error  
1 = framing error  
Reading the LSR clears the FE bit.  
2
R
UART_PE  
Parity Error bit.  
0x0  
This is used to indicate the occurrence of a parity error in the  
receiver if the Parity Enable (PEN) bit (LCR[3]) is set.  
It should be noted that the Parity Error (PE) bit (LSR[2]) is  
set if a break interrupt has occurred, as indicated by Break  
Interrupt (BI) bit (LSR[4]).  
0 = no parity error  
1 = parity error  
Reading the LSR clears the PE bit.  
1
R
UART_OE  
Overrun error bit.  
0x0  
This is used to indicate the occurrence of an overrun error.  
This occurs if a new data character was received before the  
previous data was read.  
The OE bit is set when a new character arrives in the  
receiver before the previous character was read from the  
RBR. When this happens, the data in the RBR is overwritten.  
0 = no overrun error  
1 = overrun error  
Reading the LSR clears the OE bit.  
0
R
UART_DR  
Data Ready bit.  
0x0  
This is used to indicate that the receiver contains at least  
one character in the RBR.  
0 = no data ready  
1 = data ready  
This bit is cleared when the RBR is read.  
Table 285: UART_SCR_REG (0x5000101C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
UART_SCRATCH_P  
AD  
This register is for programmers to use as a temporary stor-  
age space. It has no defined purpose in the UART Ctrl.  
0x0  
Table 286: UART_USR_REG (0x5000107C)  
Bit  
Mode Symbol  
Description  
Reset  
15:1  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
258 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 286: UART_USR_REG (0x5000107C)  
Bit  
Mode Symbol  
UART_BUSY  
Description  
Reset  
0
R
UART Busy. This indicates that a serial transfer is in pro-  
gress, when cleared indicates that the DW_apb_uart is idle  
or inactive. 0 - DW_apb_uart is idle or inactive 1 -  
0x0  
DW_apb_uart is busy (actively transferring data) Note that it  
is possible for the UART Busy bit to be cleared even though  
a new character may have been sent from another device.  
That is, if the DW_apb_uart has no data in the THR and RBR  
and there is no transmission in progress and a start bit of a  
new character has just reached the DW_apb_uart. This is  
due to the fact that a valid start is not seen until the middle of  
the bit period and this duration is dependent on the baud  
divisor that has been programmed. If a second system clock  
has been implemented (CLOCK_MODE == Enabled) the  
assertion of this bit will also be delayed by several cycles of  
the slower clock.  
Table 287: UART_SRR_REG (0x50001088)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
W
UART_UR  
UART Reset. This asynchronously resets the UART Ctrl and  
synchronously removes the reset assertion. For a two clock  
implementation both pclk and sclk domains are reset.  
0x0  
Table 288: UART_SBCR_REG (0x50001090)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
UART_SHADOW_B  
REAK_CONTROL  
Shadow Break Control Bit.  
0x0  
This is a shadow register for the Break bit (LCR[6]), this can  
be used to remove the burden of having to performing a read  
modify write on the LCR. This is used to cause a break con-  
dition to be transmitted to the receiving device.  
If set to one the serial output is forced to the spacing (logic 0)  
state. When not in Loopback Mode, as determined by  
MCR[4], the sout line is forced low until the Break bit is  
cleared.  
If SIR_MODE active (MCR[6] = 1) the sir_out_n line is con-  
tinuously pulsed. When in Loopback Mode, the break condi-  
tion is internally looped back to the receiver.  
Table 289: UART_DMASA_REG (0x500010A8)  
Bit  
Mode Symbol  
DMASA  
Description  
Reset  
0
W
This register is use to perform DMA software acknowledge if  
a transfer needs to be terminated due to an error condition.  
For example, if the DMA disables the channel, then the  
DW_apb_uart should clear its request. This will cause the  
TX request, TX single, RX request and RX single signals to  
de-assert. Note that this bit is 'self-clearing' and it is not nec-  
essary to clear this bit.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
259 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 290: UART_DLF_REG (0x500010C0)  
Bit  
Mode Symbol  
R/W UART_DLF  
Description  
Reset  
3:0  
The fractional value is added to integer value set by DLH,  
DLL. Fractional value is determined by (Divisor Fraction  
value)/(2^DLF_SIZE).  
0x0  
Table 291: UART_CPR_REG (0x500010F4)  
Bit  
Mode Symbol  
CPR  
Description  
Reset  
15:0  
R
Component Parameter Register  
0x3941  
Table 292: UART_UCV_REG (0x500010F8)  
Bit  
Mode Symbol  
UCV  
Description  
Reset  
15:0  
R
Component Version  
0x33135  
2A  
Table 293: UART_CTR_REG (0x500010FC)  
Bit  
Mode Symbol  
CTR  
Description  
Reset  
15:0  
R
Component Type Register  
0x44570  
110  
Table 294: UART2_RBR_THR_DLL_REG (0x50001100)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
260 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 294: UART2_RBR_THR_DLL_REG (0x50001100)  
Bit  
Mode Symbol  
R/W RBR_THR_DLL  
Description  
Reset  
7:0  
Receive Buffer Register: (RBR).  
0x0  
This register contains the data byte received on the serial  
input port (sin) in UART mode or the serial infrared input  
(sir_in) in infrared mode. The data in this register is valid only  
if the Data Ready (DR) bit in the Line status Register (LSR)  
is set. If FIFOs are disabled (FCR[0] set to zero), the data in  
the RBR must be read before the next data arrives, other-  
wise it will be overwritten, resulting in an overrun error. If  
FIFOs are enabled (FCR[0] set to one), this register  
accesses the head of the receive FIFO. If the receive FIFO is  
full and this register is not read before the next data charac-  
ter arrives, then the data already in the FIFO will be pre-  
served but any incoming data will be lost. An overrun error  
will also occur.  
Transmit Holding Register: (THR)  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
Divisor Latch (Low): (DLL)  
This register makes up the lower 8-bits of a 16-bit, read/  
write, Divisor Latch register that contains the baud rate divi-  
sor for the UART. This register may only be accessed when  
the DLAB bit (LCR[7]) is set. The output baud rate is equal to  
the serial clock (sclk) frequency divided by sixteen times the  
value of the baud rate divisor, as follows:  
baud rate = (serial clock freq) / (16 * divisor)  
Note that with the Divisor Latch Registers (DLL and DLH) set  
to zero, the baud clock is disabled and no serial communica-  
tions will occur. Also, once the DLL is set, at least 8 clock  
cycles of the slowest DW_apb_uart clock should be allowed  
to pass before transmitting or receiving data.  
Divisor Latch (Low): (DLH) (Note: This register is placed in  
UART_IER_DLH_REG with offset 0x4)  
Upper 8-bits of a 16-bit, read/write, Divisor Latch register  
that contains the baud rate divisor for the UART. This regis-  
ter may be accessed only when the DLAB bit (LCR[7]) is set.  
The output baud rate is equal to the serial clock frequency  
divided by sixteen times the value of the baud rate divisor, as  
follows:  
baud rate = (serial clock freq) / (16 * divisor).  
Note that with the Divisor Latch Registers (DLL and DLH) set  
to zero, the baud clock is disabled and no serial communica-  
tions occur. Also, once the DLH is set, at least 8 clock cycles  
of the slowest DW_apb_uart clock should be allowed to pass  
before transmitting or receiving data.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
261 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 295: UART2_IER_DLH_REG (0x50001104)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R/W  
PTIME_DLH7  
Interrupt Enable Register: PTIME, Programmable THRE  
Interrupt Mode Enable. This is used to enable/disable the  
generation of THRE Interrupt. 0 = disabled 1 = enabled Divi-  
sor Latch (High): Bit[7] of the 8 bit DLH register.  
6:4  
3
-
-
Reserved  
Reserved  
0x0  
0x0  
0x0  
-
-
2
R/W  
ELSI_DHL2  
Interrupt Enable Register: ELSI, Enable Receiver Line Sta-  
tus Interrupt. This is used to enable/disable the generation of  
Receiver Line Status Interrupt. This is the highest priority  
interrupt. 0 = disabled 1 = enabled Divisor Latch (High):  
Bit[2] of the 8 bit DLH register.  
1
0
R/W  
R/W  
ETBEI_DLH1  
ERBFI_DLH0  
Interrupt Enable Register: ETBEI, Enable Transmit Holding  
Register Empty Interrupt. This is used to enable/disable the  
generation of Transmitter Holding Register Empty Interrupt.  
This is the third highest priority interrupt. 0 = disabled 1 =  
enabled Divisor Latch (High): Bit[1] of the 8 bit DLH register.  
0x0  
0x0  
Interrupt Enable Register: ERBFI, Enable Received Data  
Available Interrupt. This is used to enable/disable the gener-  
ation of Received Data Available Interrupt and the Character  
Timeout Interrupt (if in FIFO mode and FIFO's enabled).  
These are the second highest priority interrupts. 0 = disabled  
1 = enabled Divisor Latch (High): Bit[0] of the 8 bit DLH reg-  
ister.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
262 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 296: UART2_IIR_FCR_REG (0x50001108)  
Bit  
Mode Symbol  
R/W IIR_FCR  
Description  
Reset  
15:0  
Interrupt Identification Register, reading this register; FIFO  
Control Register, writing to this register.  
0x0  
Interrupt Identification Register: Bits[7:6], FIFO's Enabled (or  
FIFOSE): This is used to indicate whether the FIFO's are  
enabled or disabled. 00 = disabled. 11 = enabled. Bits[3:0],  
Interrupt ID (or IID): This indicates the highest priority pend-  
ing interrupt which can be one of the following types:0001 =  
no interrupt pending. 0010 = THR empty. 0100 = received  
data available. 0110 = receiver line status. 0111 = busy  
detect. 1100 = character timeout.  
FIFO Control Register Bits[7:6], RCVR Trigger (or RT):. This  
is used to select the trigger level in the receiver FIFO at  
which the Received Data Available Interrupt will be gener-  
ated. In auto flow control mode it is used to determine when  
the rts_n signal will be de-asserted. It also determines when  
the dma_rx_req_n signal will be asserted when in certain  
modes of operation. The following trigger levels are sup-  
ported: 00 = 1 character in the FIFO 01 = FIFO 1/4 full 10 =  
FIFO 1/2 full 11 = FIFO 2 less than full Bits[5:4], TX Empty  
Trigger (or TET): This is used to select the empty threshold  
level at which the THRE Interrupts will be generated when  
the mode is active. It also determines when the  
dma_tx_req_n signal will be asserted when in certain modes  
of operation. The following trigger levels are supported: 00 =  
FIFO empty 01 = 2 characters in the FIFO 10 = FIFO 1/4 full  
11 = FIFO 1/2 full Bit[3], DMA Mode (or DMAM): This deter-  
mines the DMA signalling mode used for the dma_tx_req_n  
and dma_rx_req_n output signals. 0 = mode 0 1 = mode 1  
Bit[2], XMIT FIFO Reset (or XFIFOR): This resets the control  
portion of the transmit FIFO and treats the FIFO as empty.  
Note that this bit is 'self-clearing' and it is not necessary to  
clear this bit. Bit[1], RCVR FIFO Reset (or RFIFOR): This  
resets the control portion of the receive FIFO and treats the  
FIFO as empty. Note that this bit is 'self-clearing' and it is not  
necessary to clear this bit. Bit[0], FIFO Enable (or FIFOE):  
This enables/disables the transmit (XMIT) and receive  
(RCVR) FIFO's. Whenever the value of this bit is changed  
both the XMIT and RCVR controller portion of FIFO's will be  
reset.  
Table 297: UART2_LCR_REG (0x5000110C)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
UART_DLAB  
Divisor Latch Access Bit.  
0x0  
This bit is used to enable reading and writing of the Divisor  
Latch register (DLL and DLH) to set the baud rate of the  
UART.  
This bit must be cleared after initial baud rate setup in order  
to access other registers.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
263 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 297: UART2_LCR_REG (0x5000110C)  
Bit  
Mode Symbol  
Description  
Reset  
6
R/W  
UART_BC  
Break Control Bit.  
0x0  
This is used to cause a break condition to be transmitted to  
the receiving device. If set to one the serial output is forced  
to the spacing (logic 0) state. When not in Loopback Mode,  
as determined by MCR[4], the sout line is forced low until the  
Break bit is cleared. If active (MCR[6] set to one) the  
sir_out_n line is continuously pulsed. When in Loopback  
Mode, the break condition is internally looped back to the  
receiver and the sir_out_n line is forced low.  
5
4
-
-
Reserved  
0x0  
0x0  
R/W  
UART_EPS  
Even Parity Select. Writeable only when UART is not busy  
(USR[0] is zero).  
This is used to select between even and odd parity, when  
parity is enabled (PEN set to one). If set to one, an even  
number of logic 1s is transmitted or checked. If set to zero,  
an odd number of logic 1s is transmitted or checked.  
3
2
R/W  
R/W  
UART_PEN  
Parity Enable. Writeable only when UART is not busy  
(USR[0] is zero)  
This bit is used to enable and disable parity generation and  
detection in transmitted and received serial character  
respectively.  
0x0  
0x0  
0 = parity disabled  
1 = parity enabled  
UART_STOP  
Number of stop bits.  
This is used to select the number of stop bits per character  
that the peripheral transmits and receives. If set to zero, one  
stop bit is transmitted in the serial data.  
If set to one and the data bits are set to 5 (LCR[1:0] set to  
zero) one and a half stop bits is transmitted. Otherwise, two  
stop bits are transmitted. Note that regardless of the number  
of stop bits selected, the receiver checks only the first stop  
bit.  
0 = 1 stop bit  
1 = 1.5 stop bits when DLS (LCR[1:0]) is zero, else 2 stop bit  
1:0  
R/W  
UART_DLS  
Data Length Select.  
0x0  
This is used to select the number of data bits per character  
that the peripheral transmits and receives. The number of bit  
that may be selected areas follows:  
00 = 5 bits  
01 = 6 bits  
10 = 7 bits  
11 = 8 bits  
Table 298: UART2_MCR_REG (0x50001110)  
Bit  
15:7  
6
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
UART_SIRE  
SIR Mode Enable.  
0x0  
This is used to enable/disable the IrDA SIR Mode features  
as described in "IrDA 1.0 SIR Protocol".  
0 = IrDA SIR Mode disabled  
1 = IrDA SIR Mode enabled  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
264 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 298: UART2_MCR_REG (0x50001110)  
Bit  
Mode Symbol  
Description  
Reset  
5
R/W  
UART_AFCE  
Auto Flow Control Enable.  
0x0  
Writeable only when AFCE_MODE == Enabled, always  
readable. When FIFOs are enabled and the Auto Flow Con-  
trol Enable (AFCE) bit is set, Auto Flow Control features are  
enabled as described in "Auto Flow Control".  
0 = Auto Flow Control Mode disabled  
1 = Auto Flow Control Mode enabled  
4
R/W  
UART_LB  
LoopBack Bit.  
0x0  
This is used to put the UART into a diagnostic mode for test  
purposes.  
If operating in UART mode (SIR_MODE not active, MCR[6]  
set to zero), data on the sout line is held high, while serial  
data output is looped back to the sin line, internally. In this  
mode all the interrupts are fully functional. Also, in loopback  
mode, the modem control inputs (dsr_n, cts_n, ri_n, dcd_n)  
are disconnected and the modem control outputs (dtr_n,  
rts_n, out1_n, out2_n) are looped back to the inputs, inter-  
nally.  
If operating in infrared mode (SIR_MODE active, MCR[6] set  
to one), data on the sir_out_n line is held low, while serial  
data output is inverted and looped back to the sir_in line.  
3
2
1
R/W  
R/W  
R/W  
UART_OUT2  
UART_OUT1  
UART_RTS  
OUT2.  
0x0  
0x0  
0x0  
This is used to directly control the user-designated Output2  
(out2_n) output. The value written to this location is inverted  
and driven out on out2_n, that is:  
0 = out2_n de-asserted (logic 1)  
1 = out2_n asserted (logic 0)  
Note that in Loopback mode (MCR[4] set to one), the out2_n  
output is held inactive high while the value of this location is  
internally looped back to an input.  
OUT1.  
This is used to directly control the user-designated Output1  
(out1_n) output. The value written to this location is inverted  
and driven out on out1_n, that is:  
0 = out1_n de-asserted (logic 1)  
1 = out1_n asserted (logic 0)  
Note that in Loopback mode (MCR[4] set to one), the out1_n  
output is held inactive high while the value of this location is  
internally looped back to an input.  
Request to Send.  
This is used to directly control the Request to Send (rts_n)  
output. The Request To Send (rts_n) output is used to inform  
the modem or data set that the UART is ready to exchange  
data.  
When Auto RTS Flow Control is not enabled (MCR[5] set to  
zero), the rts_n signal is set low by programming MCR[1]  
(RTS) to a high.In Auto Flow Control, AFCE_MODE == Ena-  
bled and active (MCR[5] set to one) and FIFOs enable  
(FCR[0] set to one), the rts_n output is controlled in the  
same way, but is also gated with the receiver FIFO threshold  
trigger (rts_n is inactive high when above the threshold). The  
rts_n signal is de-asserted when MCR[1] is set low.  
Note that in Loopback mode (MCR[4] set to one), the rts_n  
output is held inactive high while the value of this location is  
internally looped back to an input.  
0
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
265 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 299: UART2_LSR_REG (0x50001114)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R
UART_RFE  
Receiver FIFO Error bit.  
This bit is only relevant when FIFOs are enabled (FCR[0] set  
to one). This is used to indicate if there is at least one parity  
error, framing error, or break indication in the FIFO.  
0 = no error in RX FIFO  
1 = error in RX FIFO  
This bit is cleared when the LSR is read and the character  
with the error is at the top of the receiver FIFO and there are  
no subsequent errors in the FIFO.  
6
5
R
R
UART_TEMT  
UART_THRE  
Transmitter Empty bit.  
0x1  
0x1  
If FIFOs enabled (FCR[0] set to one), this bit is set whenever  
the Transmitter Shift Register and the FIFO are both empty.  
If FIFOs are disabled, this bit is set whenever the Transmitter  
Holding Register and the Transmitter Shift Register are both  
empty.  
Transmit Holding Register Empty bit.  
If THRE mode is disabled (IER[7] set to zero) and regardless  
of FIFO's being implemented/enabled or not, this bit indi-  
cates that the THR or TX FIFO is empty.  
This bit is set whenever data is transferred from the THR or  
TX FIFO to the transmitter shift register and no new data has  
been written to the THR or TX FIFO. This also causes a  
THRE Interrupt to occur, if the THRE Interrupt is enabled. If  
both modes are active (IER[7] set to one and FCR[0] set to  
one respectively), the functionality is switched to indicate the  
transmitter FIFO is full, and no longer controls THRE inter-  
rupts, which are then controlled by the FCR[5:4] threshold  
setting.  
4
R
UART_BI  
Break Interrupt bit.  
0x0  
This is used to indicate the detection of a break sequence on  
the serial input data.  
If in UART mode (SIR_MODE == Disabled), it is set when-  
ever the serial input, sin, is held in a logic '0' state for longer  
than the sum of start time + data bits + parity + stop bits.  
If in infrared mode (SIR_MODE == Enabled), it is set when-  
ever the serial input, sir_in, is continuously pulsed to logic '0'  
for longer than the sum of start time + data bits + parity +  
stop bits. A break condition on serial input causes one and  
only one character, consisting of all zeros, to be received by  
the UART.  
In the FIFO mode, the character associated with the break  
condition is carried through the FIFO and is revealed when  
the character is at the top of the FIFO.  
Reading the LSR clears the BI bit. In the non-FIFO mode,  
the BI indication occurs immediately and persists until the  
LSR is read.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
266 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 299: UART2_LSR_REG (0x50001114)  
Bit  
Mode Symbol  
Description  
Reset  
3
R
UART_FE  
Framing Error bit.  
0x0  
This is used to indicate the occurrence of a framing error in  
the receiver. A framing error occurs when the receiver does  
not detect a valid STOP bit in the received data.  
In the FIFO mode, since the framing error is associated with  
a character received, it is revealed when the character with  
the framing error is at the top of the FIFO.  
When a framing error occurs, the UART tries to resynchro-  
nize. It does this by assuming that the error was due to the  
start bit of the next character and then continues receiving  
the other bit i.e. data, and/or parity and stop. It should be  
noted that the Framing Error (FE) bit (LSR[3]) is set if a  
break interrupt has occurred, as indicated by Break Interrupt  
(BI) bit (LSR[4]).  
0 = no framing error  
1 = framing error  
Reading the LSR clears the FE bit.  
2
R
UART_PE  
Parity Error bit.  
0x0  
This is used to indicate the occurrence of a parity error in the  
receiver if the Parity Enable (PEN) bit (LCR[3]) is set.  
In the FIFO mode, since the parity error is associated with a  
character received, it is revealed when the character with the  
parity error arrives at the top of the FIFO.  
It should be noted that the Parity Error (PE) bit (LSR[2]) is  
set if a break interrupt has occurred, as indicated by Break  
Interrupt (BI) bit (LSR[4]).  
0 = no parity error  
1 = parity error  
Reading the LSR clears the PE bit.  
1
R
UART_OE  
Overrun error bit.  
0x0  
This is used to indicate the occurrence of an overrun error.  
This occurs if a new data character was received before the  
previous data was read.  
In the non-FIFO mode, the OE bit is set when a new charac-  
ter arrives in the receiver before the previous character was  
read from the RBR. When this happens, the data in the RBR  
is overwritten. In the FIFO mode, an overrun error occurs  
when the FIFO is full and a new character arrives at the  
receiver. The data in the FIFO is retained and the data in the  
receive shift register is lost.  
0 = no overrun error  
1 = overrun error  
Reading the LSR clears the OE bit.  
0
R
UART_DR  
Data Ready bit.  
0x0  
This is used to indicate that the receiver contains at least  
one character in the RBR or the receiver FIFO.  
0 = no data ready  
1 = data ready  
This bit is cleared when the RBR is read in non-FIFO mode,  
or when the receiver FIFO is empty, in FIFO mode.  
Table 300: UART2_MSR_REG (0x50001118)  
Bit  
Mode Symbol  
Description  
Reset  
15:5  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
267 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 300: UART2_MSR_REG (0x50001118)  
Bit  
Mode Symbol  
Description  
Reset  
4
R
UART_CTS  
Clear to Send.  
0x0  
This is used to indicate the current state of the modem con-  
trol line cts_n. This bit is the complement of cts_n. When the  
Clear to Send input (cts_n) is asserted it is an indication that  
the modem or data set is ready to exchange data with the  
UART Ctrl.  
0 = cts_n input is de-asserted (logic 1)  
1 = cts_n input is asserted (logic 0)  
In Loopback Mode (MCR[4] = 1), CTS is the same as  
MCR[1] (RTS).  
3:1  
0
-
-
Reserved  
0x0  
0x0  
R
UART_DCTS  
Delta Clear to Send.  
This is used to indicate that the modem control line cts_n  
has changed since the last time the MSR was read.  
0 = no change on cts_n since last read of MSR  
1 = change on cts_n since last read of MSR  
Reading the MSR clears the DCTS bit. In Loopback Mode  
(MCR[4] = 1), DCTS reflects changes on MCR[1] (RTS).  
Note, if the DCTS bit is not set and the cts_n signal is  
asserted (low) and a reset occurs (software or otherwise),  
then the DCTS bit is set when the reset is removed if the  
cts_n signal remains asserted.  
Table 301: UART2_SCR_REG (0x5000111C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
UART_SCRATCH_P  
AD  
This register is for programmers to use as a temporary stor-  
age space. It has no defined purpose in the UART Ctrl.  
0x0  
Table 302: UART2_SRBR_STHR0_REG (0x50001130)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
268 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 302: UART2_SRBR_STHR0_REG (0x50001130)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 303: UART2_SRBR_STHR1_REG (0x50001134)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
269 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 303: UART2_SRBR_STHR1_REG (0x50001134)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 304: UART2_SRBR_STHR2_REG (0x50001138)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
270 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 304: UART2_SRBR_STHR2_REG (0x50001138)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 305: UART2_SRBR_STHR3_REG (0x5000113C)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
271 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 305: UART2_SRBR_STHR3_REG (0x5000113C)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 306: UART2_SRBR_STHR4_REG (0x50001140)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
272 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 306: UART2_SRBR_STHR4_REG (0x50001140)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 307: UART2_SRBR_STHR5_REG (0x50001144)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
273 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 307: UART2_SRBR_STHR5_REG (0x50001144)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 308: UART2_SRBR_STHR6_REG (0x50001148)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
274 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 308: UART2_SRBR_STHR6_REG (0x50001148)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 309: UART2_SRBR_STHR7_REG (0x5000114C)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
275 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 309: UART2_SRBR_STHR7_REG (0x5000114C)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 310: UART2_SRBR_STHR8_REG (0x50001150)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
276 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 310: UART2_SRBR_STHR8_REG (0x50001150)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 311: UART2_SRBR_STHR9_REG (0x50001154)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
277 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 311: UART2_SRBR_STHR9_REG (0x50001154)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 312: UART2_SRBR_STHR10_REG (0x50001158)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
278 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 312: UART2_SRBR_STHR10_REG (0x50001158)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 313: UART2_SRBR_STHR11_REG (0x5000115C)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
279 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 313: UART2_SRBR_STHR11_REG (0x5000115C)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 314: UART2_SRBR_STHR12_REG (0x50001160)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
280 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 314: UART2_SRBR_STHR12_REG (0x50001160)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 315: UART2_SRBR_STHR13_REG (0x50001164)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
281 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 315: UART2_SRBR_STHR13_REG (0x50001164)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 316: UART2_SRBR_STHR14_REG (0x50001168)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
282 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 316: UART2_SRBR_STHR14_REG (0x50001168)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 317: UART2_SRBR_STHR15_REG (0x5000116C)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
283 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 317: UART2_SRBR_STHR15_REG (0x5000116C)  
Bit  
Mode Symbol  
R/W SRBR_STHRX  
Description  
Reset  
7:0  
Shadow Receive Buffer Register x: This is a shadow register  
for the RBR and has been allocated sixteen 32-bit locations  
so as to accommodate burst accesses from the master. This  
register contains the data byte received on the serial input  
port (sin) in UART mode or the serial infrared input (sir_in) in  
infrared mode. The data in this register is valid only if the  
Data Ready (DR) bit in the Line status Register (LSR) is set.  
If FIFOs are disabled (FCR[0] set to zero), the data in the  
RBR must be read before the next data arrives, otherwise it  
will be overwritten, resulting in an overrun error. If FIFOs are  
enabled (FCR[0] set to one), this register accesses the head  
of the receive FIFO. If the receive FIFO is full and this regis-  
ter is not read before the next data character arrives, then  
the data already in the FIFO will be preserved but any  
incoming data will be lost. An overrun error will also occur.  
Shadow Transmit Holding Register 0: This is a shadow reg-  
ister for the THR and has been allocated sixteen 32-bit loca-  
tions so as to accommodate burst accesses from the master.  
This register contains data to be transmitted on the serial  
output port (sout) in UART mode or the serial infrared output  
(sir_out_n) in infrared mode. Data should only be written to  
the THR when the THR Empty (THRE) bit (LSR[5]) is set. If  
FIFO's are disabled (FCR[0] set to zero) and THRE is set,  
writing a single character to the THR clears the THRE. Any  
additional writes to the THR before the THRE is set again  
causes the THR data to be overwritten. If FIFO's are enabled  
(FCR[0] set to one) and THRE is set, x number of characters  
of data may be written to the THR before the FIFO is full.  
The number x (default=16) is determined by the value of  
FIFO Depth that you set during configuration. Any attempt to  
write data when the FIFO is full results in the write data being  
lost.  
0x0  
Table 318: UART2_FAR_REG (0x50001170)  
Bit  
Mode Symbol  
UART_FAR  
Description  
Reset  
0
R
Description: Writes will have no effect when FIFO_ACCESS  
== No, always readable. This register is use to enable a  
FIFO access mode for testing, so that the receive FIFO can  
be written by the master and the transmit FIFO can be read  
by the master when FIFO's are implemented and enabled.  
When FIFO's are not implemented or not enabled it allows  
the RBR to be written by the master and the THR to be read  
by the master. 0 = FIFO access mode disabled 1 = FIFO  
access mode enabled Note, that when the FIFO access  
mode is enabled/disabled, the control portion of the receive  
FIFO and transmit FIFO is reset and the FIFO's are treated  
as empty.  
0x0  
Table 319: UART2_USR_REG (0x5000117C)  
Bit  
Mode Symbol  
Description  
Reset  
15:5  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
284 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 319: UART2_USR_REG (0x5000117C)  
Bit  
Mode Symbol  
Description  
Reset  
4
R
R
R
UART_RFF  
Receive FIFO Full.  
This is used to indicate that the receive FIFO is completely  
full.  
0 = Receive FIFO not full  
1 = Receive FIFO Full  
0x0  
0x0  
0x1  
This bit is cleared when the RX FIFO is no longer full.  
3
2
UART_RFNE  
UART_TFE  
Receive FIFO Not Empty.  
This is used to indicate that the receive FIFO contains one or  
more entries.  
0 = Receive FIFO is empty  
1 = Receive FIFO is not empty  
This bit is cleared when the RX FIFO is empty.  
Transmit FIFO Empty.  
This is used to indicate that the transmit FIFO is completely  
empty.  
0 = Transmit FIFO is not empty  
1 = Transmit FIFO is empty  
This bit is cleared when the TX FIFO is no longer empty.  
1
0
R
R
UART_TFNF  
UART_BUSY  
Transmit FIFO Not Full.  
This is used to indicate that the transmit FIFO in not full.  
0 = Transmit FIFO is full  
1 = Transmit FIFO is not full  
This bit is cleared when the TX FIFO is full.  
0x1  
0x0  
UART Busy. This indicates that a serial transfer is in pro-  
gress, when cleared indicates that the DW_apb_uart is idle  
or inactive. 0 - DW_apb_uart is idle or inactive 1 -  
DW_apb_uart is busy (actively transferring data) Note that it  
is possible for the UART Busy bit to be cleared even though  
a new character may have been sent from another device.  
That is, if the DW_apb_uart has no data in the THR and RBR  
and there is no transmission in progress and a start bit of a  
new character has just reached the DW_apb_uart. This is  
due to the fact that a valid start is not seen until the middle of  
the bit period and this duration is dependent on the baud  
divisor that has been programmed. If a second system clock  
has been implemented (CLOCK_MODE == Enabled) the  
assertion of this bit will also be delayed by several cycles of  
the slower clock.  
Table 320: UART2_TFL_REG (0x50001180)  
Bit  
Mode Symbol  
UART_TRANSMIT_F  
IFO_LEVEL  
Description  
Reset  
15:0  
R
Transmit FIFO Level.  
This is indicates the number of data entries in the transmit  
FIFO.  
0x0  
Table 321: UART2_RFL_REG (0x50001184)  
Bit  
Mode Symbol  
UART_RECEIVE_FI  
FO_LEVEL  
Description  
Reset  
15:0  
R
Receive FIFO Level.  
This is indicates the number of data entries in the receive  
FIFO.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
285 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 322: UART2_SRR_REG (0x50001188)  
Bit  
15:3  
2
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
W
UART_XFR  
XMIT FIFO Reset.  
This is a shadow register for the XMIT FIFO Reset bit  
(FCR[2]). This can be used to remove the burden on soft-  
ware having to store previously written FCR values (which  
are pretty static) just to reset the transmit FIFO. This resets  
the control portion of the transmit FIFO and treats the FIFO  
as empty. Note that this bit is 'self-clearing'. It is not neces-  
sary to clear this bit.  
1
W
UART_RFR  
RCVR FIFO Reset.  
0x0  
This is a shadow register for the RCVR FIFO Reset bit  
(FCR[1]). This can be used to remove the burden on soft-  
ware having to store previously written FCR values (which  
are pretty static) just to reset the receive FIFO This resets  
the control portion of the receive FIFO and treats the FIFO  
as empty.  
Note that this bit is 'self-clearing'. It is not necessary to clear  
this bit.  
0
W
UART_UR  
UART Reset. This asynchronously resets the UART Ctrl and  
synchronously removes the reset assertion. For a two clock  
implementation both pclk and sclk domains are reset.  
0x0  
Table 323: UART2_SRTS_REG (0x5000118C)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
UART_SHADOW_R  
EQUEST_TO_SEND  
Shadow Request to Send.  
This is a shadow register for the RTS bit (MCR[1]), this can  
be used to remove the burden of having to  
0x0  
performing a read-modify-write on the MCR. This is used to  
directly control the Request to Send (rts_n) output. The  
Request To Send (rts_n) output is used to inform the modem  
or data set that the UART Ctrl is ready to exchange data.  
When Auto RTS Flow Control is not enabled (MCR[5] = 0),  
the rts_n signal is set low by programming MCR[1] (RTS) to  
a high.  
In Auto Flow Control, AFCE_MODE == Enabled and active  
(MCR[5] = 1) and FIFOs enable (FCR[0] = 1), the rts_n out-  
put is controlled in the same way, but is also gated with the  
receiver FIFO threshold trigger (rts_n is inactive high when  
above the threshold).  
Note that in Loopback mode (MCR[4] = 1), the rts_n output is  
held inactive-high while the value of this location is internally  
looped back to an input.  
Table 324: UART2_SBCR_REG (0x50001190)  
Bit  
Mode Symbol  
Description  
Reset  
15:1  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
286 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 324: UART2_SBCR_REG (0x50001190)  
Bit  
Mode Symbol  
R/W UART_SHADOW_B  
REAK_CONTROL  
Description  
Reset  
0
Shadow Break Control Bit.  
0x0  
This is a shadow register for the Break bit (LCR[6]), this can  
be used to remove the burden of having to performing a read  
modify write on the LCR. This is used to cause a break con-  
dition to be transmitted to the receiving device.  
If set to one the serial output is forced to the spacing (logic 0)  
state. When not in Loopback Mode, as determined by  
MCR[4], the sout line is forced low until the Break bit is  
cleared.  
If SIR_MODE active (MCR[6] = 1) the sir_out_n line is con-  
tinuously pulsed. When in Loopback Mode, the break condi-  
tion is internally looped back to the receiver.  
Table 325: UART2_SDMAM_REG (0x50001194)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
UART_SHADOW_D  
MA_MODE  
Shadow DMA Mode.  
0x0  
This is a shadow register for the DMA mode bit (FCR[3]).  
This can be used to remove the burden of having to store the  
previously written value to the FCR in memory and having to  
mask this value so that only the DMA Mode bit gets updated.  
This determines the DMA signalling mode used for the  
dma_tx_req_n and dma_rx_req_n output signals.  
0 = mode 0  
1 = mode 1  
Table 326: UART2_SFE_REG (0x50001198)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
UART_SHADOW_FI  
FO_ENABLE  
Shadow FIFO Enable.  
0x0  
This is a shadow register for the FIFO enable bit (FCR[0]).  
This can be used to remove the burden of having to store the  
previously written value to the FCR in memory and having to  
mask this value so that only the FIFO enable bit gets  
updated.This enables/disables the transmit (XMIT) and  
receive (RCVR) FIFOs. If this bit is set to zero (disabled)  
after being enabled then both the XMIT and RCVR controller  
portion of FIFOs are reset.  
Table 327: UART2_SRT_REG (0x5000119C)  
Bit  
Mode Symbol  
Description  
Reset  
15:2  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
287 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 327: UART2_SRT_REG (0x5000119C)  
Bit  
Mode Symbol  
R/W UART_SHADOW_R  
CVR_TRIGGER  
Description  
Reset  
1:0  
Shadow RCVR Trigger.  
0x0  
This is a shadow register for the RCVR trigger bits  
(FCR[7:6]). This can be used to remove the burden of having  
to store the previously written value to the FCR in memory  
and having to mask this value so that only the RCVR trigger  
bit gets updated.  
This is used to select the trigger level in the receiver FIFO at  
which the Received Data Available Interrupt is generated. It  
also determines when the dma_rx_req_n signal is asserted  
when DMA Mode (FCR[3]) = 1. The following trigger levels  
are supported:  
00 = 1 character in the FIFO  
01 = FIFO ¼ full  
10 = FIFO ½ full  
11 = FIFO 2 less than full  
Table 328: UART2_STET_REG (0x500011A0)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:2  
1:0  
-
-
Reserved  
R/W  
UART_SHADOW_TX Shadow TX Empty Trigger.  
_EMPTY_TRIGGER This is a shadow register for the TX empty trigger bits  
0x0  
(FCR[5:4]). This can be used to remove the burden of having  
to store the previously written value to the FCR in memory  
and having to mask this value so that only the TX empty trig-  
ger bit gets updated.  
This is used to select the empty threshold level at which the  
THRE Interrupts are generated when the mode is active.  
The following trigger levels are supported:  
00 = FIFO empty  
01 = 2 characters in the FIFO  
10 = FIFO ¼ full  
11 = FIFO ½ full  
Table 329: UART2_HTX_REG (0x500011A4)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
UART_HALT_TX  
This register is use to halt transmissions for testing, so that  
the transmit FIFO can be filled by the master when FIFOs  
are implemented and enabled.  
0x0  
0 = Halt TX disabled  
1 = Halt TX enabled  
Note, if FIFOs are implemented and not enabled, the setting  
of the halt TX register has no effect on operation.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
288 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 330: UART2_DMASA_REG (0x500011A8)  
Bit  
Mode Symbol  
DMASA  
Description  
Reset  
0
W
This register is use to perform DMA software acknowledge if  
a transfer needs to be terminated due to an error condition.  
For example, if the DMA disables the channel, then the  
DW_apb_uart should clear its request. This will cause the  
TX request, TX single, RX request and RX single signals to  
de-assert. Note that this bit is 'self-clearing' and it is not nec-  
essary to clear this bit.  
0x0  
Table 331: UART2_DLF_REG (0x500011C0)  
Bit  
Mode Symbol  
R/W UART_DLF  
Description  
Reset  
3:0  
The fractional value is added to integer value set by DLH,  
DLL. Fractional value is determined by (Divisor Fraction  
value)/(2^DLF_SIZE).  
0x0  
Table 332: UART2_CPR_REG (0x500011F4)  
Bit  
Mode Symbol  
CPR  
Description  
Reset  
15:0  
R
Component Parameter Register  
0x3D71  
Table 333: UART2_UCV_REG (0x500011F8)  
Bit  
Mode Symbol  
UCV  
Description  
Reset  
15:0  
R
Component Version  
0x33313  
52A  
Table 334: UART2_CTR_REG (0x500011FC)  
Bit  
Mode Symbol  
CTR  
Description  
Reset  
15:0  
R
Component Type Register  
0x44570  
110  
37.11 SPI REGISTER FILE  
Table 335: Register map SPI  
Address  
Port  
Description  
0x50001200  
0x50001202  
0x50001204  
0x50001206  
0x50001208  
0x50001300  
0x50001302  
0x50001304  
0x50001306  
0x50001308  
SPI_CTRL_REG  
SPI control register 0  
SPI RX/TX register0  
SPI RX/TX register1  
SPI clear interrupt register  
SPI control register 1  
SPI control register 0  
SPI RX/TX register0  
SPI RX/TX register1  
SPI clear interrupt register  
SPI control register 1  
SPI_RX_TX_REG0  
SPI_RX_TX_REG1  
SPI_CLEAR_INT_REG  
SPI_CTRL_REG1  
SPI2_CTRL_REG  
SPI2_RX_TX_REG0  
SPI2_RX_TX_REG1  
SPI2_CLEAR_INT_REG  
SPI2_CTRL_REG1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
289 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 336: SPI_CTRL_REG (0x50001200)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
R/W  
SPI_EN_CTRL  
0 = SPI_EN pin disabled in slave mode. Pin SPI_EN is don't  
care.  
1 = SPI_EN pin enabled in slave mode.  
0x0  
14  
13  
SPI_MINT  
0 = Disable SPI_INT_BIT to ICU  
1 = Enable SPI_INT_BIT to ICU.  
Note that the SPI_INT interrupt is shared with AD_INT inter-  
rupt  
0x0  
R
SPI_INT_BIT  
0 = RX Register or FIFO is empty.  
0x0  
1 = SPI interrupt. Data has been transmitted and received-  
Must be reset by SW by writing to SPI_CLEAR_INT_REG.  
12  
11  
10  
9
R
SPI_DI  
Returns the actual value of pin SPI_DIN (delayed with two  
internal SPI clock cycles)  
0x0  
0x0  
0x0  
0x0  
R
SPI_TXH  
0 = TX-FIFO is not full, data can be written.  
1 = TX-FIFO is full, data can not be written.  
R/W  
R/W  
SPI_FORCE_DO  
SPI_RST  
0 = normal operation  
1 = Force SPIDO output level to value of SPI_DO.  
0 = normal operation  
1 = Reset SPI. Same function as SPI_ON except that inter-  
nal clock remain active.  
8:7  
6
R/W  
R/W  
SPI_WORD  
SPI_SMN  
00 = 8 bits mode, only SPI_RX_TX_REG0 used  
01 = 16 bit mode, only SPI_RX_TX_REG0 used  
10 = 32 bits mode, SPI_RX_TX_REG0 &  
SPI_RX_TX_REG1 used  
0x0  
0x0  
11 = 9 bits mode. Only valid in master mode.  
Master/slave mode  
0 = Master,  
1 = Slave(SPI1 only)  
5
R/W  
R/W  
SPI_DO  
Pin SPI_DO output level when SPI is idle or when  
SPI_FORCE_DO=1  
0x0  
0x0  
4:3  
SPI_CLK  
Select SPI_CLK clock output frequency in master mode:  
00 = SPI_CLK / 8  
01 = SPI_CLK / 4  
10 = SPI_CLK / 2  
11 = SPI_CLK / 14  
2
R/W  
SPI_POL  
Select SPI_CLK polarity.  
0 = SPI_CLK is initially low.  
1 = SPI_CLK is initially high.  
0x0  
1
0
R/W  
R/W  
SPI_PHA  
SPI_ON  
Select SPI_CLK phase. See functional timing diagrams in  
SPI chapter  
0x0  
0x0  
0 = SPI Module switched off (power saving). Everything is  
reset except SPI_CTRL_REG0 and SPI_CTRL_REG1.  
When this bit is cleared the SPI will remain active in master  
mode until the shift register and holding register are both  
empty.  
1 = SPI Module switched on. Should only be set after all con-  
trol bits have their desired values. So two writes are needed!  
Table 337: SPI_RX_TX_REG0 (0x50001202)  
Bit  
Mode Symbol  
R0/W SPI_DATA0  
Description  
Reset  
15:0  
Write: SPI_TX_REG0 output register 0 (TX-FIFO)  
Read: SPI_RX_REG0 input register 0 (RX-FIFO)  
In 8 or 9 bits mode bits 15 to 8 are not used, they contain old  
data.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
290 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 338: SPI_RX_TX_REG1 (0x50001204)  
Bit  
Mode Symbol  
R0/W SPI_DATA1  
Description  
Reset  
15:0  
Write: SPI_TX_REG1 output register 1 (MSB's of TX-FIFO)  
Read: SPI_RX_REG1 input register 1 (MSB's of RX-FIFO)  
In 8 or 9 or 16 bits mode bits this register is not used.  
0x0  
Table 339: SPI_CLEAR_INT_REG (0x50001206)  
Bit  
Mode Symbol  
R0/W SPI_CLEAR_INT  
Description  
Reset  
15:0  
Writing any value to this register will clear the  
SPI_CTRL_REG[SPI_INT_BIT]  
Reading returns 0.  
0x0  
Table 340: SPI_CTRL_REG1 (0x50001208)  
Bit  
15:5  
4
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
R
SPI_9BIT_VAL  
SPI_BUSY  
Determines the value of the first bit in 9 bits SPI mode.  
0x0  
3
0 = The SPI is not busy with a transfer. This means that  
either no TX-data is available or that the transfers have been  
suspended due to a full RX-FIFO. The  
0x0  
SPIx_CTRL_REG0[SPI_INT_BIT] can be used to distinguish  
between these situations.  
1 = The SPI is busy with a transfer.  
2
R/W  
R/W  
SPI_PRIORITY  
0 = The SPI has low priority, the DMA request signals are  
reset after the corresponding acknowledge.  
1 = The SPI has high priority, DMA request signals remain  
active until the FIFOS are filled/emptied, so the DMA holds  
the AHB bus.  
0x0  
0x3  
1:0  
SPI_FIFO_MODE  
0: TX-FIFO and RX-FIFO used (Bidirectional mode).  
1: RX-FIFO used (Read Only Mode) TX-FIFO single depth,  
no flow control  
2: TX-FIFO used (Write Only Mode), RX-FIFO single depth,  
no flow control  
3: No FIFOs used (backwards compatible mode)  
Table 341: SPI2_CTRL_REG (0x50001300)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
R/W  
SPI_EN_CTRL  
0 = SPI_EN pin disabled in slave mode. Pin SPI_EN is don't  
care.  
1 = SPI_EN pin enabled in slave mode.  
0x0  
14  
13  
SPI_MINT  
0 = Disable SPI_INT_BIT to ICU  
1 = Enable SPI_INT_BIT to ICU.  
Note that the SPI_INT interrupt is shared with AD_INT inter-  
rupt  
0x0  
0x0  
R
SPI_INT_BIT  
0 = RX Register or FIFO is empty.  
1 = SPI interrupt. Data has been transmitted and received-  
Must be reset by SW by writing to SPI_CLEAR_INT_REG.  
12  
11  
R
R
SPI_DI  
Returns the actual value of pin SPI_DIN (delayed with two  
internal SPI clock cycles)  
0x0  
0x0  
SPI_TXH  
0 = TX-FIFO is not full, data can be written.  
1 = TX-FIFO is full, data can not be written.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
291 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 341: SPI2_CTRL_REG (0x50001300)  
Bit  
Mode Symbol  
Description  
Reset  
10  
R/W  
SPI_FORCE_DO  
0 = normal operation  
0x0  
1 = Force SPIDO output level to value of SPI_DO.  
9
R/W  
SPI_RST  
0 = normal operation  
0x0  
1 = Reset SPI. Same function as SPI_ON except that inter-  
nal clock remain active.  
8:7  
R/W  
R/W  
SPI_WORD  
00 = 8 bits mode, only SPI_RX_TX_REG0 used  
01 = 16 bit mode, only SPI_RX_TX_REG0 used  
10 = 32 bits mode, SPI_RX_TX_REG0 &  
SPI_RX_TX_REG1 used  
0x0  
0x0  
11 = 9 bits mode. Only valid in master mode.  
6
SPI_SMN  
Master/slave mode  
0 = Master,  
1 = Slave(SPI1 only)  
5
R/W  
R/W  
SPI_DO  
Pin SPI_DO output level when SPI is idle or when  
SPI_FORCE_DO=1  
0x0  
0x0  
4:3  
SPI_CLK  
Select SPI_CLK clock output frequency in master mode:  
00 = SPI_CLK / 8  
01 = SPI_CLK / 4  
10 = SPI_CLK / 2  
11 = SPI_CLK / 14  
2
R/W  
SPI_POL  
Select SPI_CLK polarity.  
0 = SPI_CLK is initially low.  
1 = SPI_CLK is initially high.  
0x0  
1
0
R/W  
R/W  
SPI_PHA  
SPI_ON  
Select SPI_CLK phase. See functional timing diagrams in  
SPI chapter  
0x0  
0x0  
0 = SPI Module switched off (power saving). Everything is  
reset except SPI_CTRL_REG0 and SPI_CTRL_REG1.  
When this bit is cleared the SPI will remain active in master  
mode until the shift register and holding register are both  
empty.  
1 = SPI Module switched on. Should only be set after all con-  
trol bits have their desired values. So two writes are needed!  
Table 342: SPI2_RX_TX_REG0 (0x50001302)  
Bit  
Mode Symbol  
R0/W SPI_DATA0  
Description  
Reset  
15:0  
Write: SPI_TX_REG0 output register 0 (TX-FIFO)  
Read: SPI_RX_REG0 input register 0 (RX-FIFO)  
In 8 or 9 bits mode bits 15 to 8 are not used, they contain old  
data.  
0x0  
Table 343: SPI2_RX_TX_REG1 (0x50001304)  
Bit  
Mode Symbol  
R0/W SPI_DATA1  
Description  
Reset  
15:0  
Write: SPI_TX_REG1 output register 1 (MSB's of TX-FIFO)  
Read: SPI_RX_REG1 input register 1 (MSB's of RX-FIFO)  
In 8 or 9 or 16 bits mode bits this register is not used.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
292 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 344: SPI2_CLEAR_INT_REG (0x50001306)  
Bit  
Mode Symbol  
R0/W SPI_CLEAR_INT  
Description  
Reset  
15:0  
Writing any value to this register will clear the  
SPI_CTRL_REG[SPI_INT_BIT]  
Reading returns 0.  
0x0  
Table 345: SPI2_CTRL_REG1 (0x50001308)  
Bit  
15:5  
4
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
R
SPI_9BIT_VAL  
SPI_BUSY  
Determines the value of the first bit in 9 bits SPI mode.  
0x0  
3
0 = The SPI is not busy with a transfer. This means that  
either no TX-data is available or that the transfers have been  
suspended due to a full RX-FIFO. The  
0x0  
SPIx_CTRL_REG0[SPI_INT_BIT] can be used to distinguish  
between these situations.  
1 = The SPI is busy with a transfer.  
2
R/W  
R/W  
SPI_PRIORITY  
0 = The SPI has low priority, the DMA request signals are  
reset after the corresponding acknowledge.  
1 = The SPI has high priority, DMA request signals remain  
active until the FIFOS are filled/emptied, so the DMA holds  
the AHB bus.  
0x0  
0x3  
1:0  
SPI_FIFO_MODE  
0: TX-FIFO and RX-FIFO used (Bidirectional mode).  
1: RX-FIFO used (Read Only Mode) TX-FIFO single depth,  
no flow control  
2: TX-FIFO used (Write Only Mode), RX-FIFO single depth,  
no flow control  
3: No FIFOs used (backwards compatible mode)  
37.12 I2C REGISTER FILE  
Table 346: Register map I2C  
Address  
Port  
Description  
0x50001400  
0x50001404  
0x50001408  
0x50001410  
0x50001414  
0x50001418  
0x5000141C  
0x50001420  
0x5000142C  
0x50001430  
0x50001434  
0x50001438  
0x5000143C  
0x50001440  
0x50001444  
0x50001448  
0x5000144C  
0x50001450  
I2C_CON_REG  
I2C Control Register  
I2C Target Address Register  
I2C Slave Address Register  
I2C_TAR_REG  
I2C_SAR_REG  
I2C_DATA_CMD_REG  
I2C_SS_SCL_HCNT_REG  
I2C_SS_SCL_LCNT_REG  
I2C_FS_SCL_HCNT_REG  
I2C_FS_SCL_LCNT_REG  
I2C_INTR_STAT_REG  
I2C_INTR_MASK_REG  
I2C_RAW_INTR_STAT_REG  
I2C_RX_TL_REG  
I2C Rx/Tx Data Buffer and Command Register  
Standard Speed I2C Clock SCL High Count Register  
Standard Speed I2C Clock SCL Low Count Register  
Fast Speed I2C Clock SCL High Count Register  
Fast Speed I2C Clock SCL Low Count Register  
I2C Interrupt Status Register  
I2C Interrupt Mask Register  
I2C Raw Interrupt Status Register  
I2C Receive FIFO Threshold Register  
I2C Transmit FIFO Threshold Register  
Clear Combined and Individual Interrupt Register  
Clear RX_UNDER Interrupt Register  
Clear RX_OVER Interrupt Register  
I2C_TX_TL_REG  
I2C_CLR_INTR_REG  
I2C_CLR_RX_UNDER_REG  
I2C_CLR_RX_OVER_REG  
I2C_CLR_TX_OVER_REG  
I2C_CLR_RD_REQ_REG  
Clear TX_OVER Interrupt Register  
Clear RD_REQ Interrupt Register  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
293 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 346: Register map I2C  
Address  
Port  
Description  
0x50001454  
0x50001458  
0x5000145C  
0x50001460  
0x50001464  
0x50001468  
0x5000146C  
0x50001470  
0x50001474  
0x50001478  
0x5000147C  
0x50001480  
0x50001488  
0x5000148C  
0x50001490  
0x50001494  
0x50001498  
0x5000149C  
0x500014A0  
0x500014F4  
0x500014F6  
0x500014F8  
0x500014FA  
0x500014FC  
0x500014FE  
0x50001500  
0x50001504  
0x50001508  
0x50001510  
0x50001514  
0x50001518  
0x5000151C  
0x50001520  
0x5000152C  
0x50001530  
0x50001534  
0x50001538  
0x5000153C  
0x50001540  
0x50001544  
0x50001548  
0x5000154C  
0x50001550  
0x50001554  
I2C_CLR_TX_ABRT_REG  
I2C_CLR_RX_DONE_REG  
I2C_CLR_ACTIVITY_REG  
I2C_CLR_STOP_DET_REG  
I2C_CLR_START_DET_REG  
I2C_CLR_GEN_CALL_REG  
I2C_ENABLE_REG  
Clear TX_ABRT Interrupt Register  
Clear RX_DONE Interrupt Register  
Clear ACTIVITY Interrupt Register  
Clear STOP_DET Interrupt Register  
Clear START_DET Interrupt Register  
Clear GEN_CALL Interrupt Register  
I2C Enable Register  
I2C_STATUS_REG  
I2C Status Register  
I2C_TXFLR_REG  
I2C Transmit FIFO Level Register  
I2C Receive FIFO Level Register  
I2C SDA Hold Time Length Register  
I2C Transmit Abort Source Register  
DMA Control Register  
I2C_RXFLR_REG  
I2C_SDA_HOLD_REG  
I2C_TX_ABRT_SOURCE_REG  
I2C_DMA_CR_REG  
I2C_DMA_TDLR_REG  
I2C_DMA_RDLR_REG  
I2C_SDA_SETUP_REG  
I2C_ACK_GENERAL_CALL_REG  
I2C_ENABLE_STATUS_REG  
I2C_IC_FS_SPKLEN_REG  
I2C_COMP_PARAM1_REG  
I2C_COMP_PARAM2_REG  
I2C_COMP_VERSION_REG  
I2C_COMP2_VERSION  
I2C_COMP_TYPE_REG  
I2C_COMP_TYPE2_REG  
I2C2_CON_REG  
DMA Transmit Data Level Register  
I2C Receive Data Level Register  
I2C SDA Setup Register  
I2C ACK General Call Register  
I2C Enable Status Register  
I2C SS and FS spike suppression limit Size  
Component Parameter Register  
Component Parameter Register 2  
I2C Component Version Register  
I2C Component2 Version Register  
I2C Component Type Register  
I2C Component2 Type Register  
I2C Control Register  
I2C2_TAR_REG  
I2C Target Address Register  
I2C2_SAR_REG  
I2C Slave Address Register  
I2C2_DATA_CMD_REG  
I2C2_SS_SCL_HCNT_REG  
I2C2_SS_SCL_LCNT_REG  
I2C2_FS_SCL_HCNT_REG  
I2C2_FS_SCL_LCNT_REG  
I2C2_INTR_STAT_REG  
I2C2_INTR_MASK_REG  
I2C2_RAW_INTR_STAT_REG  
I2C2_RX_TL_REG  
I2C Rx/Tx Data Buffer and Command Register  
Standard Speed I2C Clock SCL High Count Register  
Standard Speed I2C Clock SCL Low Count Register  
Fast Speed I2C Clock SCL High Count Register  
Fast Speed I2C Clock SCL Low Count Register  
I2C Interrupt Status Register  
I2C Interrupt Mask Register  
I2C Raw Interrupt Status Register  
I2C Receive FIFO Threshold Register  
I2C Transmit FIFO Threshold Register  
Clear Combined and Individual Interrupt Register  
Clear RX_UNDER Interrupt Register  
Clear RX_OVER Interrupt Register  
I2C2_TX_TL_REG  
I2C2_CLR_INTR_REG  
I2C2_CLR_RX_UNDER_REG  
I2C2_CLR_RX_OVER_REG  
I2C2_CLR_TX_OVER_REG  
I2C2_CLR_RD_REQ_REG  
I2C2_CLR_TX_ABRT_REG  
Clear TX_OVER Interrupt Register  
Clear RD_REQ Interrupt Register  
Clear TX_ABRT Interrupt Register  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
294 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 346: Register map I2C  
Address  
Port  
Description  
0x50001558  
0x5000155C  
0x50001560  
0x50001564  
0x50001568  
0x5000156C  
0x50001570  
0x50001574  
0x50001578  
0x5000157C  
0x50001580  
0x50001588  
0x5000158C  
0x50001590  
0x50001594  
0x50001598  
0x5000159C  
0x500015A0  
0x500015F4  
0x500015F6  
0x500015F8  
0x500015FA  
0x500015FC  
0x500015FE  
I2C2_CLR_RX_DONE_REG  
I2C2_CLR_ACTIVITY_REG  
I2C2_CLR_STOP_DET_REG  
I2C2_CLR_START_DET_REG  
I2C2_CLR_GEN_CALL_REG  
I2C2_ENABLE_REG  
Clear RX_DONE Interrupt Register  
Clear ACTIVITY Interrupt Register  
Clear STOP_DET Interrupt Register  
Clear START_DET Interrupt Register  
Clear GEN_CALL Interrupt Register  
I2C Enable Register  
I2C2_STATUS_REG  
I2C Status Register  
I2C2_TXFLR_REG  
I2C Transmit FIFO Level Register  
I2C Receive FIFO Level Register  
I2C SDA Hold Time Length Register  
I2C Transmit Abort Source Register  
DMA Control Register  
I2C2_RXFLR_REG  
I2C2_SDA_HOLD_REG  
I2C2_TX_ABRT_SOURCE_REG  
I2C2_DMA_CR_REG  
I2C2_DMA_TDLR_REG  
I2C2_DMA_RDLR_REG  
I2C2_SDA_SETUP_REG  
I2C2_ACK_GENERAL_CALL_REG  
I2C2_ENABLE_STATUS_REG  
I2C2_IC_FS_SPKLEN_REG  
I2C2_COMP_PARAM1_REG  
I2C2_COMP_PARAM2_REG  
I2C2_COMP_VERSION_REG  
I2C2_COMP2_VERSION  
I2C2_COMP_TYPE_REG  
I2C2_COMP_TYPE2_REG  
DMA Transmit Data Level Register  
I2C Receive Data Level Register  
I2C SDA Setup Register  
I2C ACK General Call Register  
I2C Enable Status Register  
I2C SS and FS spike suppression limit Size  
Component Parameter Register  
Component Parameter Register 2  
I2C Component Version Register  
I2C Component2 Version Register  
I2C Component Type Register  
I2C Component2 Type Register  
Table 347: I2C_CON_REG (0x50001400)  
Bit  
15:7  
6
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x1  
R/W  
I2C_SLAVE_DISABL  
E
Slave enabled or disabled after reset is applied, which  
means software does not have to configure the slave.  
0=slave is enabled  
1=slave is disabled  
Software should ensure that if this bit is written with '0', then  
bit 0 should also be written with a '0'.  
5
4
3
R/W  
R/W  
R/W  
I2C_RESTART_EN  
Determines whether RESTART conditions may be sent  
when acting as a master  
0= disable  
0x1  
1=enable  
I2C_10BITADDR_MA Controls whether the controller starts its transfers in 7- or 10- 0x1  
STER  
bit addressing mode when acting as a master.  
0= 7-bit addressing  
1= 10-bit addressing  
I2C_10BITADDR_SL  
AVE  
When acting as a slave, this bit controls whether the control- 0x1  
ler responds to 7- or 10-bit addresses.  
0= 7-bit addressing  
1= 10-bit addressing  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
295 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 347: I2C_CON_REG (0x50001400)  
Bit  
Mode Symbol  
Description  
Reset  
2:1  
R/W  
R/W  
I2C_SPEED  
These bits control at which speed the controller operates.  
1= standard mode (100 kbit/s)  
2= fast mode (400 kbit/s)  
0x2  
0
I2C_MASTER_MOD  
E
This bit controls whether the controller master is enabled.  
0= master disabled  
0x1  
1= master enabled  
Software should ensure that if this bit is written with '1' then  
bit 6 should also be written with a '1'.  
Table 348: I2C_TAR_REG (0x50001404)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R/W  
SPECIAL  
This bit indicates whether software performs a General Call  
0x0  
or  
START BYTE command.  
0: ignore bit 10 GC_OR_START and use IC_TAR normally  
1: perform special I2C command as specified in  
GC_OR_START  
bit  
10  
R/W  
GC_OR_START  
If bit 11 (SPECIAL) is set to 1, then this bit indicates whether  
a General Call or START byte command is to be performed  
by the controller.  
0x0  
0: General Call Address - after issuing a General Call, only  
writes may be performed. Attempting to issue a read com-  
mand results in setting bit 6 (TX_ABRT) of the  
IC_RAW_INTR_STAT register. The controller remains in  
General Call mode until the SPECIAL bit value (bit 11) is  
cleared.  
1: START BYTE  
9:0  
R/W  
IC_TAR  
This is the target address for any master transaction. When  
transmitting a General Call, these bits are ignored. To gener-  
ate a START BYTE, the CPU needs to write only once into  
these bits.  
0x55  
Note: If the IC_TAR and IC_SAR are the same, loopback  
exists but the FIFOs are shared between master and slave,  
so full loopback is not feasible. Only one direction loopback  
mode is supported (simplex), not duplex. A master cannot  
transmit to itself; it can transmit to only a slave  
Writes to this register succeed only when IC_ENABLE[0] is  
set to 0  
Table 349: I2C_SAR_REG (0x50001408)  
Bit  
Mode Symbol  
Description  
Reset  
15:10  
9:0  
-
-
Reserved  
0x0  
R/W  
IC_SAR  
The IC_SAR holds the slave address when the I2C is operat- 0x55  
ing as a slave. For 7-bit addressing, only IC_SAR[6:0] is  
used. This register can be written only when the I2C inter-  
face is disabled, which corresponds to the IC_ENABLE reg-  
ister being set to 0. Writes at other times have no effect.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
296 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 350: I2C_DATA_CMD_REG (0x50001410)  
Bit  
Mode Symbol  
Description  
Reset  
15:11  
10  
-
-
Reserved  
0x0  
0x0  
W
RESTART  
This bit controls whether a RESTART is issued before the  
byte is sent or received. When 1, If IC_RESTART_EN is 1, a  
RESTART is issued before the data is sent/received (accord-  
ing to the value of CMD), regardless of whether or not the  
transfer direction is changing from the previous command; if  
IC_RESTART_EN is 0, a STOP followed by a START is  
issued instead. When 0 If IC_RESTART_EN is 1, a  
RESTART is issued only if the transfer direction is changing  
from the previous command; if IC_RESTART_EN is 0, a  
STOP followed by a START is issued instead. Reset value:  
0x0  
9
W
STOP  
This bit controls whether a STOP is issued after the byte is  
sent or received. When 1 STOP is issued after this byte,  
regardless of whether or not the Tx FIFO is empty. If the Tx  
FIFO is not empty, the master immediately tries to start a  
new transfer by issuing a START and arbitrating for the bus.  
When 0 STOP is not issued after this byte, regardless of  
whether or not the Tx FIFO is empty. If the Tx FIFO is not  
empty, the master continues the current transfer by sending/  
receiving data bytes according to the value of the CMD bit. If  
the Tx FIFO is empty, the master holds the SCL line low and  
stalls the bus until a new command is available in the Tx  
FIFO. Reset value: 0x0  
0x0  
8
W
CMD  
This bit controls whether a read or a write is performed. This  
bit does not control the direction when the I2C Ctrl acts as a  
slave. It controls only the direction when it acts as a master.  
1 = Read  
0x0  
0 = Write  
When a command is entered in the TX FIFO, this bit distin-  
guishes the write and read commands. In slave-receiver  
mode, this bit is a "don't care" because writes to this register  
are not required. In slave-transmitter mode, a "0" indicates  
that CPU data is to be transmitted and as DAT or  
IC_DATA_CMD[7:0]. When programming this bit, you should  
remember the following: attempting to perform a read opera-  
tion after a General Call command has been sent results in a  
TX_ABRT interrupt (bit 6 of the  
I2C_RAW_INTR_STAT_REG), unless bit 11 (SPECIAL) in  
the I2C_TAR register has been cleared.  
If a "1" is written to this bit after receiving a RD_REQ inter-  
rupt, then a TX_ABRT interrupt occurs.  
NOTE: It is possible that while attempting a master I2C read  
transfer on the controller, a RD_REQ interrupt may have  
occurred simultaneously due to a remote I2C master  
addressing the controller. In this type of scenario, it ignores  
the I2C_DATA_CMD write, generates a TX_ABRT interrupt,  
and waits to service the RD_REQ interrupt  
7:0  
R/W  
DAT  
This register contains the data to be transmitted or received  
on the I2C bus. If you are writing to this register and want to  
perform a read, bits 7:0 (DAT) are ignored by the controller.  
However, when you read this register, these bits return the  
value of data received on the controller's interface.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
297 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 351: I2C_SS_SCL_HCNT_REG (0x50001414)  
Bit  
Mode Symbol  
R/W IC_SS_SCL_HCNT  
Description  
Reset  
15:0  
This register must be set before any I2C bus transaction can  
take place to ensure proper I/O timing. This register sets the  
SCL clock high-period count for standard speed. This regis-  
ter can be written only when the I2C interface is disabled  
which corresponds to the IC_ENABLE register being set to  
0. Writes at other  
0x48  
times have no effect.  
The minimum valid value is 6; hardware prevents values less  
than this being written, and if attempted results in 6 being  
set.  
NOTE: This register must not be programmed to a value  
higher than 65525, because the controller uses a 16-bit  
counter to flag an I2C bus idle condition when this counter  
reaches a value of IC_SS_SCL_HCNT + 10.  
Table 352: I2C_SS_SCL_LCNT_REG (0x50001418)  
Bit  
Mode Symbol  
R/W IC_SS_SCL_LCNT  
Description  
Reset  
15:0  
This register must be set before any I2C bus transaction can  
take place to ensure proper I/O timing. This register sets the  
SCL clock low period count for standard speed.  
This register can be written only when the I2C interface is  
disabled which corresponds to the I2C_ENABLE register  
being set to 0. Writes at other times have no effect.  
The minimum valid value is 8; hardware prevents values less  
than this being written, and if attempted, results in 8 being  
set.  
0x4F  
Table 353: I2C_FS_SCL_HCNT_REG (0x5000141C)  
Bit  
Mode Symbol  
R/W IC_FS_SCL_HCNT  
Description  
Reset  
15:0  
This register must be set before any I2C bus transaction can  
take place to ensure proper I/O timing. This register sets the  
SCL clock high-period count for fast speed. It is used in high-  
speed mode to send the Master Code and START BYTE or  
General CALL. This register can be written only when the  
I2C interface is disabled, which corresponds to the  
I2C_ENABLE register being set to 0. Writes at other times  
have no effect.  
0x8  
The minimum valid value is 6; hardware prevents values less  
than this being written, and if attempted results in 6 being  
set.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
298 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 354: I2C_FS_SCL_LCNT_REG (0x50001420)  
Bit  
Mode Symbol  
R/W IC_FS_SCL_LCNT  
Description  
Reset  
15:0  
This register must be set before any I2C bus transaction can  
take place to ensure proper I/O timing. This register sets the  
SCL clock low-period count for fast speed. It is used in high-  
speed mode to send the Master Code and START BYTE or  
General CALL. This register can be written only when the  
I2C interface is disabled, which corresponds to the  
I2C_ENABLE register being set to 0. Writes at other times  
have no effect.  
0x17  
The minimum valid value is 8; hardware prevents values less  
than this being written, and if attempted results in 8 being  
set.  
Table 355: I2C_INTR_STAT_REG (0x5000142C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R
R_GEN_CALL  
Set only when a General Call address is received and it is  
acknowledged. It stays set until it is cleared either by disa-  
bling controller or when the CPU reads bit 0 of the  
I2C_CLR_GEN_CALL register. The controller stores the  
received data in the Rx buffer.  
0x0  
10  
9
R
R
R
R_START_DET  
R_STOP_DET  
R_ACTIVITY  
Indicates whether a START or RESTART condition has  
occurred on the I2C interface regardless of whether control-  
ler is operating in slave or master mode.  
0x0  
0x0  
0x0  
Indicates whether a STOP condition has occurred on the I2C  
interface regardless of whether controller is operating in  
slave or master mode.  
8
This bit captures I2C Ctrl activity and stays set until it is  
cleared. There are four ways to clear it:  
=> Disabling the I2C Ctrl  
=> Reading the IC_CLR_ACTIVITY register  
=> Reading the IC_CLR_INTR register  
=> System reset  
Once this bit is set, it stays set unless one of the four meth-  
ods is used to clear it. Even if the controller module is idle,  
this bit remains set until cleared, indicating that there was  
activity on the bus.  
7
6
R
R
R_RX_DONE  
R_TX_ABRT  
When the controller is acting as a slave-transmitter, this bit is  
set to 1 if the master does not acknowledge a transmitted  
byte. This occurs on the last byte of the transmission, indi-  
cating that the transmission is done.  
0x0  
0x0  
This bit indicates if the controller, as an I2C transmitter, is  
unable to complete the intended actions on the contents of  
the transmit FIFO. This situation can occur both as an I2C  
master or an I2C slave, and is referred to as a "transmit  
abort".  
When this bit is set to 1, the I2C_TX_ABRT_SOURCE regis-  
ter indicates the reason why the transmit abort takes places.  
NOTE: The controller flushes/resets/empties the TX FIFO  
whenever this bit is set. The TX FIFO remains in this flushed  
state until the register I2C_CLR_TX_ABRT is read. Once  
this read is performed, the TX FIFO is then ready to accept  
more data bytes from the APB interface.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
299 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 355: I2C_INTR_STAT_REG (0x5000142C)  
Bit  
Mode Symbol  
R R_RD_REQ  
Description  
Reset  
0x0  
5
This bit is set to 1 when the controller is acting as a slave  
and another I2C master is attempting to read data from the  
controller. The controller holds the I2C bus in a wait state  
(SCL=0) until this interrupt is serviced, which means that the  
slave has been addressed by a remote master that is asking  
for data to be transferred. The processor must respond to  
this interrupt and then write the requested data to the  
I2C_DATA_CMD register. This bit is set to 0 just after the  
processor reads the I2C_CLR_RD_REQ register  
4
R
R_TX_EMPTY  
This bit is set to 1 when the transmit buffer is at or below the  
threshold value set in the I2C_TX_TL register. It is automati-  
cally cleared by hardware when the buffer level goes above  
the threshold. When the IC_ENABLE bit 0 is 0, the TX FIFO  
is flushed and held in reset. There the TX FIFO looks like it  
has no data within it, so this bit is set to 1, provided there is  
activity in the master or slave state machines. When there is  
no longer activity, then with ic_en=0, this bit is set to 0.  
0x0  
3
2
R
R
R_TX_OVER  
R_RX_FULL  
Set during transmit if the transmit buffer is filled to 32 and the  
processor attempts to issue another I2C command by writing  
to the IC_DATA_CMD register. When the module is disabled,  
this bit keeps its level until the master or slave state  
machines go into idle, and when ic_en goes to 0, this inter-  
rupt is cleared  
0x0  
0x0  
Set when the receive buffer reaches or goes above the  
RX_TL threshold in the I2C_RX_TL register. It is automati-  
cally cleared by hardware when buffer level goes below the  
threshold. If the module is disabled (I2C_ENABLE[0]=0), the  
RX FIFO is flushed and held in reset; therefore the RX FIFO  
is not full. So this bit is cleared once the I2C_ENABLE bit 0 is  
programmed with a 0, regardless of the activity that contin-  
ues.  
1
0
R
R
R_RX_OVER  
Set if the receive buffer is completely filled to 32 and an addi- 0x0  
tional byte is received from an external I2C device. The con-  
troller acknowledges this, but any data bytes received after  
the FIFO is full are lost. If the module is disabled  
(I2C_ENABLE[0]=0), this bit keeps its level until the master  
or slave state machines go into idle, and when ic_en goes to  
0, this interrupt is cleared.  
R_RX_UNDER  
Set if the processor attempts to read the receive buffer when  
it is empty by reading from the IC_DATA_CMD register. If the  
module is disabled (I2C_ENABLE[0]=0), this bit keeps its  
level until the master or slave state machines go into idle,  
and when ic_en goes to 0, this interrupt is cleared.  
0x0  
Table 356: I2C_INTR_MASK_REG (0x50001430)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R/W  
M_GEN_CALL  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
0x1  
10  
9
R/W  
R/W  
M_START_DET  
M_STOP_DET  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
0x0  
0x0  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
300 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 356: I2C_INTR_MASK_REG (0x50001430)  
Bit  
Mode Symbol  
M_ACTIVITY  
Description  
Reset  
8
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
0x0  
0x1  
0x1  
0x1  
0x1  
0x1  
0x1  
0x1  
0x1  
7
6
5
4
3
2
1
0
M_RX_DONE  
M_TX_ABRT  
M_RD_REQ  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
M_TX_EMPTY  
M_TX_OVER  
M_RX_FULL  
M_RX_OVER  
M_RX_UNDER  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
Table 357: I2C_RAW_INTR_STAT_REG (0x50001434)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R
GEN_CALL  
Set only when a General Call address is received and it is  
acknowledged. It stays set until it is cleared either by disa-  
bling controller or when the CPU reads bit 0 of the  
I2C_CLR_GEN_CALL register. I2C Ctrl stores the received  
data in the Rx buffer.  
0x0  
10  
9
R
R
R
START_DET  
STOP_DET  
ACTIVITY  
Indicates whether a START or RESTART condition has  
occurred on the I2C interface regardless of whether control-  
ler is operating in slave or master mode.  
0x0  
0x0  
0x0  
Indicates whether a STOP condition has occurred on the I2C  
interface regardless of whether controller is operating in  
slave or master mode.  
8
This bit captures I2C Ctrl activity and stays set until it is  
cleared. There are four ways to clear it:  
=> Disabling the I2C Ctrl  
=> Reading the IC_CLR_ACTIVITY register  
=> Reading the IC_CLR_INTR register  
=> System reset  
Once this bit is set, it stays set unless one of the four meth-  
ods is used to clear it. Even if the controller module is idle,  
this bit remains set until cleared, indicating that there was  
activity on the bus.  
7
R
RX_DONE  
When the controller is acting as a slave-transmitter, this bit is  
set to 1 if the master does not acknowledge a transmitted  
byte. This occurs on the last byte of the transmission, indi-  
cating that the transmission is done.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
301 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 357: I2C_RAW_INTR_STAT_REG (0x50001434)  
Bit  
Mode Symbol  
Description  
Reset  
6
R
TX_ABRT  
This bit indicates if the controller, as an I2C transmitter, is  
unable to complete the intended actions on the contents of  
the transmit FIFO. This situation can occur both as an I2C  
master or an I2C slave, and is referred to as a "transmit  
abort".  
0x0  
When this bit is set to 1, the I2C_TX_ABRT_SOURCE regis-  
ter indicates the reason why the transmit abort takes places.  
NOTE: The controller flushes/resets/empties the TX FIFO  
whenever this bit is set. The TX FIFO remains in this flushed  
state until the register I2C_CLR_TX_ABRT is read. Once  
this read is performed, the TX FIFO is then ready to accept  
more data bytes from the APB interface.  
5
R
RD_REQ  
This bit is set to 1 when I2C Ctrl is acting as a slave and  
another I2C master is attempting to read data from the con-  
troller. The controller holds the I2C bus in a wait state  
(SCL=0) until this interrupt is serviced, which means that the  
slave has been addressed by a remote master that is asking  
for data to be transferred. The processor must respond to  
this interrupt and then write the requested data to the  
I2C_DATA_CMD register. This bit is set to 0 just after the  
processor reads the I2C_CLR_RD_REQ register  
0x0  
4
R
TX_EMPTY  
This bit is set to 1 when the transmit buffer is at or below the  
threshold value set in the I2C_TX_TL register. It is automati-  
cally cleared by hardware when the buffer level goes above  
the threshold. When the IC_ENABLE bit 0 is 0, the TX FIFO  
is flushed and held in reset. There the TX FIFO looks like it  
has no data within it, so this bit is set to 1, provided there is  
activity in the master or slave state machines. When there is  
no longer activity, then with ic_en=0, this bit is set to 0.  
0x0  
3
2
R
R
TX_OVER  
RX_FULL  
Set during transmit if the transmit buffer is filled to 32 and the  
processor attempts to issue another I2C command by writing  
to the IC_DATA_CMD register. When the module is disabled,  
this bit keeps its level until the master or slave state  
machines go into idle, and when ic_en goes to 0, this inter-  
rupt is cleared  
0x0  
0x0  
Set when the receive buffer reaches or goes above the  
RX_TL threshold in the I2C_RX_TL register. It is automati-  
cally cleared by hardware when buffer level goes below the  
threshold. If the module is disabled (I2C_ENABLE[0]=0), the  
RX FIFO is flushed and held in reset; therefore the RX FIFO  
is not full. So this bit is cleared once the I2C_ENABLE bit 0 is  
programmed with a 0, regardless of the activity that contin-  
ues.  
1
0
R
R
RX_OVER  
Set if the receive buffer is completely filled to 32 and an addi- 0x0  
tional byte is received from an external I2C device. The con-  
troller acknowledges this, but any data bytes received after  
the FIFO is full are lost. If the module is disabled  
(I2C_ENABLE[0]=0), this bit keeps its level until the master  
or slave state machines go into idle, and when ic_en goes to  
0, this interrupt is cleared.  
RX_UNDER  
Set if the processor attempts to read the receive buffer when  
it is empty by reading from the IC_DATA_CMD register. If the  
module is disabled (I2C_ENABLE[0]=0), this bit keeps its  
level until the master or slave state machines go into idle,  
and when ic_en goes to 0, this interrupt is cleared.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
302 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 358: I2C_RX_TL_REG (0x50001438)  
Bit  
Mode Symbol  
Description  
Reset  
15:5  
4:0  
-
-
Reserved  
0x0  
0x0  
R/W  
RX_TL  
Receive FIFO Threshold Level Controls the level of entries  
(or above) that triggers the RX_FULL interrupt (bit 2 in  
I2C_RAW_INTR_STAT register). The valid range is 0-3,a  
value of 0 sets the threshold for 1 entry, and a value of 3 sets  
the threshold for 4 entries.  
Table 359: I2C_TX_TL_REG (0x5000143C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:0  
-
-
Reserved  
R/W  
TX_TL  
Transmit FIFO Threshold Level Controls the level of entries  
(or below) that trigger the TX_EMPTY interrupt (bit 4 in  
I2C_RAW_INTR_STAT register). The valid range is 0-3, a  
value of 0 sets the threshold for 0 entries, and a value of 3  
sets the threshold for 4 entries..  
0x0  
Table 360: I2C_CLR_INTR_REG (0x50001440)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
R
CLR_INTR  
Read this register to clear the combined interrupt, all individ- 0x0  
ual interrupts, and the I2C_TX_ABRT_SOURCE register.  
This bit does not clear hardware clearable interrupts but soft-  
ware clearable interrupts. Refer to Bit 9 of the  
I2C_TX_ABRT_SOURCE register for an exception to clear-  
ing I2C_TX_ABRT_SOURCE  
Table 361: I2C_CLR_RX_UNDER_REG (0x50001444)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_RX_UNDER  
Read this register to clear the RX_UNDER interrupt (bit 0) of  
0x0  
the  
I2C_RAW_INTR_STAT register.  
Table 362: I2C_CLR_RX_OVER_REG (0x50001448)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_RX_OVER  
Read this register to clear the RX_OVER interrupt (bit 1) of  
0x0  
the  
I2C_RAW_INTR_STAT register.  
Table 363: I2C_CLR_TX_OVER_REG (0x5000144C)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_TX_OVER  
Read this register to clear the TX_OVER interrupt (bit 3) of  
the I2C_RAW_INTR_STAT register.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
303 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 364: I2C_CLR_RD_REQ_REG (0x50001450)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R
CLR_RD_REQ  
Read this register to clear the RD_REQ interrupt (bit 5) of  
the I2C_RAW_INTR_STAT register.  
Table 365: I2C_CLR_TX_ABRT_REG (0x50001454)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_TX_ABRT  
Read this register to clear the TX_ABRT interrupt (bit 6) of  
the  
0x0  
IC_RAW_INTR_STAT register, and the  
I2C_TX_ABRT_SOURCE register. This also releases the TX  
FIFO from the flushed/reset state, allowing more writes to  
the TX FIFO. Refer to Bit 9 of the I2C_TX_ABRT_SOURCE  
register for an exception to clearing  
IC_TX_ABRT_SOURCE.  
Table 366: I2C_CLR_RX_DONE_REG (0x50001458)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_RX_DONE  
Read this register to clear the RX_DONE interrupt (bit 7) of  
0x0  
the  
I2C_RAW_INTR_STAT register.  
Table 367: I2C_CLR_ACTIVITY_REG (0x5000145C)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_ACTIVITY  
Reading this register clears the ACTIVITY interrupt if the I2C  
is not active anymore. If the I2C module is still active on the  
bus, the ACTIVITY interrupt bit continues to be set. It is auto-  
matically cleared by hardware if the module is disabled and if  
there is no further activity on the bus. The value read from  
this register to get status of the ACTIVITY interrupt (bit 8) of  
the IC_RAW_INTR_STAT register  
0x0  
Table 368: I2C_CLR_STOP_DET_REG (0x50001460)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_ACTIVITY  
Reading this register clears the ACTIVITY interrupt if the I2C  
is not active anymore. If the I2C module is still active on the  
bus, the ACTIVITY interrupt bit continues to be set. It is auto-  
matically cleared by hardware if the module is disabled and if  
there is no further activity on the bus. The value read from  
this register to get status of the ACTIVITY interrupt (bit 8) of  
the IC_RAW_INTR_STAT register.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
304 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 369: I2C_CLR_START_DET_REG (0x50001464)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R
CLR_START_DET  
Read this register to clear the START_DET interrupt (bit 10)  
of the IC_RAW_INTR_STAT register.  
Table 370: I2C_CLR_GEN_CALL_REG (0x50001468)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
R
CLR_GEN_CALL  
Read this register to clear the GEN_CALL interrupt (bit 11) of 0x0  
I2C_RAW_INTR_STAT register.  
Table 371: I2C_ENABLE_REG (0x5000146C)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
CTRL_ENABLE  
Controls whether the controller is enabled.  
0: Disables the controller (TX and RX FIFOs are held in an  
erased state)  
0x0  
1: Enables the controller  
Software can disable the controller while it is active. How-  
ever, it is important that care be taken to ensure that the con-  
troller is disabled properly. When the controller is disabled,  
the following occurs:  
* The TX FIFO and RX FIFO get flushed.  
* Status bits in the IC_INTR_STAT register are still active  
until the controller goes into IDLE state.  
If the module is transmitting, it stops as well as deletes the  
contents of the transmit buffer after the current transfer is  
complete. If the module is receiving, the controller stops the  
current transfer at the end of the current byte and does not  
acknowledge the transfer.  
There is a two ic_clk delay when enabling or disabling the  
controller  
Table 372: I2C_STATUS_REG (0x50001470)  
Bit  
15:7  
6
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
SLV_ACTIVITY  
Slave FSM Activity Status. When the Slave Finite State  
Machine (FSM) is not in the IDLE state, this bit is set.  
0: Slave FSM is in IDLE state so the Slave part of the con-  
troller is not Active  
0x0  
1: Slave FSM is not in IDLE state so the Slave part of the  
controller is Active  
5
R
MST_ACTIVITY  
Master FSM Activity Status. When the Master Finite State  
Machine (FSM) is not in the IDLE state, this bit is set.  
0: Master FSM is in IDLE state so the Master part of the con-  
troller is not Active  
0x0  
1: Master FSM is not in IDLE state so the Master part of the  
controller is Active  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
305 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 372: I2C_STATUS_REG (0x50001470)  
Bit  
Mode Symbol  
Description  
Reset  
4
R
R
R
RFF  
Receive FIFO Completely Full. When the receive FIFO is  
completely full, this bit is set. When the receive FIFO con-  
tains one or more empty location, this bit is cleared.  
0: Receive FIFO is not full  
0x0  
0x0  
0x1  
1: Receive FIFO is full  
3
2
RFNE  
TFE  
Receive FIFO Not Empty. This bit is set when the receive  
FIFO contains one or more entries; it is cleared when the  
receive FIFO is empty.  
0: Receive FIFO is empty  
1: Receive FIFO is not empty  
Transmit FIFO Completely Empty. When the transmit FIFO is  
completely empty, this bit is set. When it contains one or  
more valid entries, this bit is cleared. This bit field does not  
request an interrupt.  
0: Transmit FIFO is not empty  
1: Transmit FIFO is empty  
1
0
R
R
TFNF  
Transmit FIFO Not Full. Set when the transmit FIFO contains  
one or more empty locations, and is cleared when the FIFO  
is full.  
0: Transmit FIFO is full  
1: Transmit FIFO is not full  
0x1  
0x0  
I2C_ACTIVITY  
I2C Activity Status.  
Table 373: I2C_TXFLR_REG (0x50001474)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:6  
5:0  
-
-
Reserved  
R
TXFLR  
Transmit FIFO Level. Contains the number of valid data  
entries in the transmit FIFO. Size is constrained by the  
TXFLR value  
0x0  
Table 374: I2C_RXFLR_REG (0x50001478)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:6  
5:0  
-
-
Reserved  
R
RXFLR  
Receive FIFO Level. Contains the number of valid data  
entries in the receive FIFO. Size is constrained by the  
RXFLR value  
0x0  
Table 375: I2C_SDA_HOLD_REG (0x5000147C)  
Bit  
Mode Symbol  
R/W IC_SDA_HOLD  
Description  
Reset  
15:0  
SDA Hold time  
0x1  
Table 376: I2C_TX_ABRT_SOURCE_REG (0x50001480)  
Bit  
Mode Symbol  
ABRT_SLVRD_INTX  
Description  
Reset  
15  
R
1: When the processor side responds to a slave mode  
request for data to be transmitted to a remote master and  
user writes a 1 in CMD (bit 8) of 2 IC_DATA_CMD register  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
306 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 376: I2C_TX_ABRT_SOURCE_REG (0x50001480)  
Bit  
Mode Symbol  
Description  
Reset  
14  
R
ABRT_SLV_ARBLOS 1: Slave lost the bus while transmitting data to a remote  
0x0  
T
master.  
I2C_TX_ABRT_SOURCE[12] is set at the same time. Note:  
Even though the slave never "owns" the bus, something  
could go wrong on the bus. This is a fail safe check. For  
instance, during a data transmission at the low-to-high tran-  
sition of SCL, if what is on the data bus is not what is sup-  
posed to be transmitted, then the controller no longer own  
the bus.  
13  
12  
R
R
ABRT_SLVFLUSH_T  
XFIFO  
1: Slave has received a read command and some data  
exists in the TX FIFO so the slave issues a TX_ABRT inter-  
rupt to flush old data in TX FIFO.  
0x0  
0x0  
ARB_LOST  
1: Master has lost arbitration, or if  
I2C_TX_ABRT_SOURCE[14] is also set, then the slave  
transmitter has lost arbitration. Note: I2C can be both master  
and slave at the same time.  
11  
10  
R
R
ABRT_MASTER_DIS 1: User tries to initiate a Master operation with the Master  
mode disabled.  
0x0  
0x0  
ABRT_10B_RD_NO  
RSTRT  
1: The restart is disabled (IC_RESTART_EN bit  
(I2C_CON[5]) = 0) and the master sends a read command in  
10-bit addressing mode.  
9
R
ABRT_SBYTE_NOR  
STRT  
To clear Bit 9, the source of the ABRT_SBYTE_NORSTRT  
must be fixed first; restart must be enabled (I2C_CON[5]=1),  
the SPECIAL bit must be cleared (I2C_TAR[11]), or the  
GC_OR_START bit must be cleared (I2C_TAR[10]). Once  
the source of the ABRT_SBYTE_NORSTRT is fixed, then  
this bit can be cleared in the same manner as other bits in  
this register. If the source of the ABRT_SBYTE_NORSTRT  
is not fixed before attempting to clear this bit, bit 9 clears for  
one cycle and then gets re-asserted. 1: The restart is disa-  
bled (IC_RESTART_EN bit (I2C_CON[5]) = 0) and the user  
is trying to send a START Byte.  
0x0  
8
R
ABRT_HS_NORSTR  
T
1: The restart is disabled (IC_RESTART_EN bit  
(I2C_CON[5]) = 0) and the user is trying to use the master to  
transfer data in High Speed mode  
0x0  
7
6
5
R
R
R
ABRT_SBYTE_ACK  
DET  
1: Master has sent a START Byte and the START Byte was  
acknowledged (wrong behavior).  
0x0  
0x0  
0x0  
ABRT_HS_ACKDET  
1: Master is in High Speed mode and the High Speed Master  
code was acknowledged (wrong behavior).  
ABRT_GCALL_REA  
D
1: the controller in master mode sent a General Call but the  
user programmed the byte following the General Call to be a  
read from the bus (IC_DATA_CMD[9] is set to 1).  
4
3
R
R
ABRT_GCALL_NOA  
CK  
1: the controller in master mode sent a General Call and no  
slave on the bus acknowledged the General Call.  
0x0  
0x0  
ABRT_TXDATA_NO  
ACK  
1: This is a master-mode only bit. Master has received an  
acknowledgement for the address, but when it sent data  
byte(s) following the address, it did not receive an acknowl-  
edge from the remote slave(s).  
2
1
R
R
ABRT_10ADDR2_N  
OACK  
1: Master is in 10-bit address mode and the second address  
byte of the 10-bit address was not acknowledged by any  
slave.  
0x0  
0x0  
ABRT_10ADDR1_N  
OACK  
1: Master is in 10-bit address mode and the first 10-bit  
address byte was not acknowledged by any slave.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
307 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 376: I2C_TX_ABRT_SOURCE_REG (0x50001480)  
Bit  
Mode Symbol  
ABRT_7B_ADDR_N  
OACK  
Description  
Reset  
0
R
1: Master is in 7-bit addressing mode and the address sent  
was not acknowledged by any slave.  
0x0  
Table 377: I2C_DMA_CR_REG (0x50001488)  
Bit  
Mode Symbol  
Description  
Reset  
1
R/W  
R/W  
TDMAE  
RDMAE  
Transmit DMA Enable. This bit enables/disables the transmit  
FIFO DMA channel. 0 = Transmit DMA disabled 1 = Transmit  
DMA enabled  
0x0  
0
Receive DMA Enable. This bit enables/disables the receive  
FIFO DMA channel. 0 = Receive DMA disabled 1 = Receive  
DMA enabled  
0x0  
Table 378: I2C_DMA_TDLR_REG (0x5000148C)  
Bit  
Mode Symbol  
R/W DMATDL  
Description  
Reset  
4:0  
Transmit Data Level. This bit field controls the level at which  
a DMA request is made by the transmit logic. It is equal to  
the watermark level; that is, the dma_tx_req signal is gener-  
ated when the number of valid data entries in the transmit  
FIFO is equal to or below this field value, and TDMAE = 1.  
0x0  
Table 379: I2C_DMA_RDLR_REG (0x50001490)  
Bit  
Mode Symbol  
R/W DMARDL  
Description  
Reset  
4:0  
Receive Data Level. This bit field controls the level at which  
a DMA request is made by the receive logic. The watermark  
level = DMARDL+1; that is, dma_rx_req is generated when  
the number of valid data entries in the receive FIFO is equal  
to or more than this field value + 1, and RDMAE =1. For  
instance, when DMARDL is 0, then dma_rx_req is asserted  
when 1 or more data entries are present in the receive FIFO.  
0x0  
Table 380: I2C_SDA_SETUP_REG (0x50001494)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
SDA_SETUP  
SDA Setup.  
0x64  
This register controls the amount of time delay (number of  
I2C clock periods) between the rising edge of SCL and SDA  
changing by holding SCL low when I2C block services a  
read request while operating as a slave-transmitter. This reg-  
ister must be programmed with a value equal to or greater  
than 2. It is recommended that if the required delay is  
1000ns, then for an I2C frequency of 10 MHz,  
IC_SDA_SETUP should be programmed to a value of  
11.Writes to this register succeed only when IC_ENABLE[0]  
= 0.  
Table 381: I2C_ACK_GENERAL_CALL_REG (0x50001498)  
Bit  
Mode Symbol  
Description  
Reset  
15:1  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
308 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 381: I2C_ACK_GENERAL_CALL_REG (0x50001498)  
Bit  
Mode Symbol  
R/W ACK_GEN_CALL  
Description  
Reset  
0
ACK General Call. When set to 1, I2C Ctrl responds with a  
ACK (by asserting ic_data_oe) when it receives a General  
Call. When set to 0, the controller does not generate General  
Call interrupts.  
0x0  
Table 382: I2C_ENABLE_STATUS_REG (0x5000149C)  
Bit  
15:3  
2
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
SLV_RX_DATA_LOS  
T
Slave Received Data Lost. This bit indicates if a Slave-  
Receiver  
0x0  
operation has been aborted with at least one data byte  
received from an I2C transfer due to the setting of  
IC_ENABLE from 1 to 0. When read as 1, the controller is  
deemed to have been actively engaged in an aborted I2C  
transfer (with matching address) and the data phase of the  
I2C transfer has been entered, even though a data byte has  
been responded with a NACK. NOTE: If the remote I2C mas-  
ter terminates the transfer with a STOP condition before the  
controller has a chance to NACK a transfer, and IC_ENABLE  
has been set to 0, then this bit is also set to 1.  
When read as 0, the controller is deemed to have been disa-  
bled without being actively involved in the data phase of a  
Slave-Receiver transfer.  
NOTE: The CPU can safely read this bit when IC_EN (bit 0)  
is read as 0.  
1
R
SLV_DISABLED_WH Slave Disabled While Busy (Transmit, Receive). This bit indi- 0x0  
ILE_BUSY  
cates if a potential or active Slave operation has been  
aborted due to the setting of the IC_ENABLE register from 1  
to 0. This bit is set when the CPU writes a 0 to the  
IC_ENABLE register while:  
(a) I2C Ctrl is receiving the address byte of the Slave-Trans-  
mitter operation from a remote master; OR,  
(b) address and data bytes of the Slave-Receiver operation  
from a remote master. When read as 1, the controller is  
deemed to have forced a NACK during any part of an I2C  
transfer, irrespective of whether the I2C address matches  
the slave address set in I2C Ctrl (IC_SAR register) OR if the  
transfer is completed before IC_ENABLE is set to 0 but has  
not taken effect.  
NOTE: If the remote I2C master terminates the transfer with  
a STOP condition before the the controller has a chance to  
NACK a transfer, and IC_ENABLE has been set to 0, then  
this bit will also be set to 1.  
When read as 0, the controller is deemed to have been disa-  
bled when there is master activity, or when the I2C bus is  
idle.  
NOTE: The CPU can safely read this bit when IC_EN (bit 0)  
is read as 0.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
309 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 382: I2C_ENABLE_STATUS_REG (0x5000149C)  
Bit  
Mode Symbol  
IC_EN  
Description  
Reset  
0
R
ic_en Status. This bit always reflects the value driven on the  
output port ic_en. When read as 1, the controller is deemed  
to be in an enabled state.  
0x0  
When read as 0, the controller is deemed completely inac-  
tive.  
NOTE: The CPU can safely read this bit anytime. When this  
bit is read as 0, the CPU can safely read  
SLV_RX_DATA_LOST (bit 2) and  
SLV_DISABLED_WHILE_BUSY (bit 1).  
Table 383: I2C_IC_FS_SPKLEN_REG (0x500014A0)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
IC_FS_SPKLEN  
This register must be set before any I2C bus transaction can  
take place to ensure stable operation. This register sets the  
duration, measured in ic_clk cycles, of the longest spike in  
the SCL or SDA lines that will be filtered out by the spike  
suppression logic. This register can be written only when the  
I2C interface is disabled which corresponds to the  
IC_ENABLE register being set to 0. Writes at other times  
have no effect. The minimum valid value is 2; hardware pre-  
vents values less than this being written, and if attempted  
results in 2 being set.  
0x1  
Table 384: I2C_COMP_PARAM1_REG (0x500014F4)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Table 385: I2C_COMP_PARAM2_REG (0x500014F6)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Table 386: I2C_COMP_VERSION_REG (0x500014F8)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Table 387: I2C_COMP2_VERSION (0x500014FA)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Table 388: I2C_COMP_TYPE_REG (0x500014FC)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
310 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 389: I2C_COMP_TYPE2_REG (0x500014FE)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Table 390: I2C2_CON_REG (0x50001500)  
Bit  
15:7  
6
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
I2C_SLAVE_DISABL  
E
Slave enabled or disabled after reset is applied, which  
means software does not have to configure the slave.  
0=slave is enabled  
0x1  
1=slave is disabled  
Software should ensure that if this bit is written with '0', then  
bit 0 should also be written with a '0'.  
5
4
3
R/W  
R/W  
R/W  
I2C_RESTART_EN  
Determines whether RESTART conditions may be sent  
when acting as a master  
0= disable  
0x1  
1=enable  
I2C_10BITADDR_MA Controls whether the controller starts its transfers in 7- or 10- 0x1  
STER  
bit addressing mode when acting as a master.  
0= 7-bit addressing  
1= 10-bit addressing  
I2C_10BITADDR_SL  
AVE  
When acting as a slave, this bit controls whether the control- 0x1  
ler responds to 7- or 10-bit addresses.  
0= 7-bit addressing  
1= 10-bit addressing  
2:1  
0
R/W  
R/W  
I2C_SPEED  
These bits control at which speed the controller operates.  
1= standard mode (100 kbit/s)  
2= fast mode (400 kbit/s)  
0x2  
0x1  
I2C_MASTER_MOD  
E
This bit controls whether the controller master is enabled.  
0= master disabled  
1= master enabled  
Software should ensure that if this bit is written with '1' then  
bit 6 should also be written with a '1'.  
Table 391: I2C2_TAR_REG (0x50001504)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R/W  
SPECIAL  
This bit indicates whether software performs a General Call  
0x0  
or  
START BYTE command.  
0: ignore bit 10 GC_OR_START and use IC_TAR normally  
1: perform special I2C command as specified in  
GC_OR_START  
bit  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
311 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 391: I2C2_TAR_REG (0x50001504)  
Bit  
Mode Symbol  
R/W GC_OR_START  
Description  
Reset  
10  
If bit 11 (SPECIAL) is set to 1, then this bit indicates whether  
a General Call or START byte command is to be performed  
by the controller.  
0x0  
0: General Call Address - after issuing a General Call, only  
writes may be performed. Attempting to issue a read com-  
mand results in setting bit 6 (TX_ABRT) of the  
IC_RAW_INTR_STAT register. The controller remains in  
General Call mode until the SPECIAL bit value (bit 11) is  
cleared.  
1: START BYTE  
9:0  
R/W  
IC_TAR  
This is the target address for any master transaction. When  
transmitting a General Call, these bits are ignored. To gener-  
ate a START BYTE, the CPU needs to write only once into  
these bits.  
0x55  
Note: If the IC_TAR and IC_SAR are the same, loopback  
exists but the FIFOs are shared between master and slave,  
so full loopback is not feasible. Only one direction loopback  
mode is supported (simplex), not duplex. A master cannot  
transmit to itself; it can transmit to only a slave  
Writes to this register succeed only when IC_ENABLE[0] is  
set to 0  
Table 392: I2C2_SAR_REG (0x50001508)  
Bit  
Mode Symbol  
Description  
Reset  
15:10  
9:0  
-
-
Reserved  
0x0  
R/W  
IC_SAR  
The IC_SAR holds the slave address when the I2C is operat- 0x55  
ing as a slave. For 7-bit addressing, only IC_SAR[6:0] is  
used. This register can be written only when the I2C inter-  
face is disabled, which corresponds to the IC_ENABLE reg-  
ister being set to 0. Writes at other times have no effect.  
Table 393: I2C2_DATA_CMD_REG (0x50001510)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
W
RESTART  
This bit controls whether a RESTART is issued before the  
byte is sent or received. When 1, If IC_RESTART_EN is 1, a  
RESTART is issued before the data is sent/received (accord-  
ing to the value of CMD), regardless of whether or not the  
transfer direction is changing from the previous command; if  
IC_RESTART_EN is 0, a STOP followed by a START is  
issued instead. When 0 If IC_RESTART_EN is 1, a  
RESTART is issued only if the transfer direction is changing  
from the previous command; if IC_RESTART_EN is 0, a  
STOP followed by a START is issued instead. Reset value:  
0x0  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
312 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 393: I2C2_DATA_CMD_REG (0x50001510)  
Bit  
Mode Symbol  
W STOP  
Description  
Reset  
0x0  
9
This bit controls whether a STOP is issued after the byte is  
sent or received. When 1 STOP is issued after this byte,  
regardless of whether or not the Tx FIFO is empty. If the Tx  
FIFO is not empty, the master immediately tries to start a  
new transfer by issuing a START and arbitrating for the bus.  
When 0 STOP is not issued after this byte, regardless of  
whether or not the Tx FIFO is empty. If the Tx FIFO is not  
empty, the master continues the current transfer by sending/  
receiving data bytes according to the value of the CMD bit. If  
the Tx FIFO is empty, the master holds the SCL line low and  
stalls the bus until a new command is available in the Tx  
FIFO. Reset value: 0x0  
8
W
CMD  
This bit controls whether a read or a write is performed. This  
bit does not control the direction when the I2C Ctrl acts as a  
slave. It controls only the direction when it acts as a master.  
1 = Read  
0x0  
0 = Write  
When a command is entered in the TX FIFO, this bit distin-  
guishes the write and read commands. In slave-receiver  
mode, this bit is a "don't care" because writes to this register  
are not required. In slave-transmitter mode, a "0" indicates  
that CPU data is to be transmitted and as DAT or  
IC_DATA_CMD[7:0]. When programming this bit, you should  
remember the following: attempting to perform a read opera-  
tion after a General Call command has been sent results in a  
TX_ABRT interrupt (bit 6 of the  
I2C_RAW_INTR_STAT_REG), unless bit 11 (SPECIAL) in  
the I2C_TAR register has been cleared.  
If a "1" is written to this bit after receiving a RD_REQ inter-  
rupt, then a TX_ABRT interrupt occurs.  
NOTE: It is possible that while attempting a master I2C read  
transfer on the controller, a RD_REQ interrupt may have  
occurred simultaneously due to a remote I2C master  
addressing the controller. In this type of scenario, it ignores  
the I2C_DATA_CMD write, generates a TX_ABRT interrupt,  
and waits to service the RD_REQ interrupt  
7:0  
R/W  
DAT  
This register contains the data to be transmitted or received  
on the I2C bus. If you are writing to this register and want to  
perform a read, bits 7:0 (DAT) are ignored by the controller.  
However, when you read this register, these bits return the  
value of data received on the controller's interface.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
313 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 394: I2C2_SS_SCL_HCNT_REG (0x50001514)  
Bit  
Mode Symbol  
R/W IC_SS_SCL_HCNT  
Description  
Reset  
15:0  
This register must be set before any I2C bus transaction can  
take place to ensure proper I/O timing. This register sets the  
SCL clock high-period count for standard speed. This regis-  
ter can be written only when the I2C interface is disabled  
which corresponds to the IC_ENABLE register being set to  
0. Writes at other  
0x48  
times have no effect.  
The minimum valid value is 6; hardware prevents values less  
than this being written, and if attempted results in 6 being  
set.  
NOTE: This register must not be programmed to a value  
higher than 65525, because the controller uses a 16-bit  
counter to flag an I2C bus idle condition when this counter  
reaches a value of IC_SS_SCL_HCNT + 10.  
Table 395: I2C2_SS_SCL_LCNT_REG (0x50001518)  
Bit  
Mode Symbol  
R/W IC_SS_SCL_LCNT  
Description  
Reset  
15:0  
This register must be set before any I2C bus transaction can  
take place to ensure proper I/O timing. This register sets the  
SCL clock low period count for standard speed.  
This register can be written only when the I2C interface is  
disabled which corresponds to the I2C_ENABLE register  
being set to 0. Writes at other times have no effect.  
The minimum valid value is 8; hardware prevents values less  
than this being written, and if attempted, results in 8 being  
set.  
0x4F  
Table 396: I2C2_FS_SCL_HCNT_REG (0x5000151C)  
Bit  
Mode Symbol  
R/W IC_FS_SCL_HCNT  
Description  
Reset  
15:0  
This register must be set before any I2C bus transaction can  
take place to ensure proper I/O timing. This register sets the  
SCL clock high-period count for fast speed. It is used in high-  
speed mode to send the Master Code and START BYTE or  
General CALL. This register can be written only when the  
I2C interface is disabled, which corresponds to the  
I2C_ENABLE register being set to 0. Writes at other times  
have no effect.  
0x8  
The minimum valid value is 6; hardware prevents values less  
than this being written, and if attempted results in 6 being  
set.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
314 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 397: I2C2_FS_SCL_LCNT_REG (0x50001520)  
Bit  
Mode Symbol  
R/W IC_FS_SCL_LCNT  
Description  
Reset  
15:0  
This register must be set before any I2C bus transaction can  
take place to ensure proper I/O timing. This register sets the  
SCL clock low-period count for fast speed. It is used in high-  
speed mode to send the Master Code and START BYTE or  
General CALL. This register can be written only when the  
I2C interface is disabled, which corresponds to the  
I2C_ENABLE register being set to 0. Writes at other times  
have no effect.  
0x17  
The minimum valid value is 8; hardware prevents values less  
than this being written, and if attempted results in 8 being  
set.  
Table 398: I2C2_INTR_STAT_REG (0x5000152C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R
R_GEN_CALL  
Set only when a General Call address is received and it is  
acknowledged. It stays set until it is cleared either by disa-  
bling controller or when the CPU reads bit 0 of the  
I2C_CLR_GEN_CALL register. The controller stores the  
received data in the Rx buffer.  
0x0  
10  
9
R
R
R
R_START_DET  
R_STOP_DET  
R_ACTIVITY  
Indicates whether a START or RESTART condition has  
occurred on the I2C interface regardless of whether control-  
ler is operating in slave or master mode.  
0x0  
0x0  
0x0  
Indicates whether a STOP condition has occurred on the I2C  
interface regardless of whether controller is operating in  
slave or master mode.  
8
This bit captures I2C Ctrl activity and stays set until it is  
cleared. There are four ways to clear it:  
=> Disabling the I2C Ctrl  
=> Reading the IC_CLR_ACTIVITY register  
=> Reading the IC_CLR_INTR register  
=> System reset  
Once this bit is set, it stays set unless one of the four meth-  
ods is used to clear it. Even if the controller module is idle,  
this bit remains set until cleared, indicating that there was  
activity on the bus.  
7
6
R
R
R_RX_DONE  
R_TX_ABRT  
When the controller is acting as a slave-transmitter, this bit is  
set to 1 if the master does not acknowledge a transmitted  
byte. This occurs on the last byte of the transmission, indi-  
cating that the transmission is done.  
0x0  
0x0  
This bit indicates if the controller, as an I2C transmitter, is  
unable to complete the intended actions on the contents of  
the transmit FIFO. This situation can occur both as an I2C  
master or an I2C slave, and is referred to as a "transmit  
abort".  
When this bit is set to 1, the I2C_TX_ABRT_SOURCE regis-  
ter indicates the reason why the transmit abort takes places.  
NOTE: The controller flushes/resets/empties the TX FIFO  
whenever this bit is set. The TX FIFO remains in this flushed  
state until the register I2C_CLR_TX_ABRT is read. Once  
this read is performed, the TX FIFO is then ready to accept  
more data bytes from the APB interface.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
315 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 398: I2C2_INTR_STAT_REG (0x5000152C)  
Bit  
Mode Symbol  
R R_RD_REQ  
Description  
Reset  
0x0  
5
This bit is set to 1 when the controller is acting as a slave  
and another I2C master is attempting to read data from the  
controller. The controller holds the I2C bus in a wait state  
(SCL=0) until this interrupt is serviced, which means that the  
slave has been addressed by a remote master that is asking  
for data to be transferred. The processor must respond to  
this interrupt and then write the requested data to the  
I2C_DATA_CMD register. This bit is set to 0 just after the  
processor reads the I2C_CLR_RD_REQ register  
4
R
R_TX_EMPTY  
This bit is set to 1 when the transmit buffer is at or below the  
threshold value set in the I2C_TX_TL register. It is automati-  
cally cleared by hardware when the buffer level goes above  
the threshold. When the IC_ENABLE bit 0 is 0, the TX FIFO  
is flushed and held in reset. There the TX FIFO looks like it  
has no data within it, so this bit is set to 1, provided there is  
activity in the master or slave state machines. When there is  
no longer activity, then with ic_en=0, this bit is set to 0.  
0x0  
3
2
R
R
R_TX_OVER  
R_RX_FULL  
Set during transmit if the transmit buffer is filled to 32 and the  
processor attempts to issue another I2C command by writing  
to the IC_DATA_CMD register. When the module is disabled,  
this bit keeps its level until the master or slave state  
machines go into idle, and when ic_en goes to 0, this inter-  
rupt is cleared  
0x0  
0x0  
Set when the receive buffer reaches or goes above the  
RX_TL threshold in the I2C_RX_TL register. It is automati-  
cally cleared by hardware when buffer level goes below the  
threshold. If the module is disabled (I2C_ENABLE[0]=0), the  
RX FIFO is flushed and held in reset; therefore the RX FIFO  
is not full. So this bit is cleared once the I2C_ENABLE bit 0 is  
programmed with a 0, regardless of the activity that contin-  
ues.  
1
0
R
R
R_RX_OVER  
Set if the receive buffer is completely filled to 32 and an addi- 0x0  
tional byte is received from an external I2C device. The con-  
troller acknowledges this, but any data bytes received after  
the FIFO is full are lost. If the module is disabled  
(I2C_ENABLE[0]=0), this bit keeps its level until the master  
or slave state machines go into idle, and when ic_en goes to  
0, this interrupt is cleared.  
R_RX_UNDER  
Set if the processor attempts to read the receive buffer when  
it is empty by reading from the IC_DATA_CMD register. If the  
module is disabled (I2C_ENABLE[0]=0), this bit keeps its  
level until the master or slave state machines go into idle,  
and when ic_en goes to 0, this interrupt is cleared.  
0x0  
Table 399: I2C2_INTR_MASK_REG (0x50001530)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R/W  
M_GEN_CALL  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
0x1  
10  
9
R/W  
R/W  
M_START_DET  
M_STOP_DET  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
0x0  
0x0  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
316 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 399: I2C2_INTR_MASK_REG (0x50001530)  
Bit  
Mode Symbol  
M_ACTIVITY  
Description  
Reset  
8
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
0x0  
0x1  
0x1  
0x1  
0x1  
0x1  
0x1  
0x1  
0x1  
7
6
5
4
3
2
1
0
M_RX_DONE  
M_TX_ABRT  
M_RD_REQ  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
M_TX_EMPTY  
M_TX_OVER  
M_RX_FULL  
M_RX_OVER  
M_RX_UNDER  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
These bits mask their corresponding interrupt status bits in  
the I2C_INTR_STAT register.  
Table 400: I2C2_RAW_INTR_STAT_REG (0x50001534)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R
GEN_CALL  
Set only when a General Call address is received and it is  
acknowledged. It stays set until it is cleared either by disa-  
bling controller or when the CPU reads bit 0 of the  
I2C_CLR_GEN_CALL register. I2C Ctrl stores the received  
data in the Rx buffer.  
0x0  
10  
9
R
R
R
START_DET  
STOP_DET  
ACTIVITY  
Indicates whether a START or RESTART condition has  
occurred on the I2C interface regardless of whether control-  
ler is operating in slave or master mode.  
0x0  
0x0  
0x0  
Indicates whether a STOP condition has occurred on the I2C  
interface regardless of whether controller is operating in  
slave or master mode.  
8
This bit captures I2C Ctrl activity and stays set until it is  
cleared. There are four ways to clear it:  
=> Disabling the I2C Ctrl  
=> Reading the IC_CLR_ACTIVITY register  
=> Reading the IC_CLR_INTR register  
=> System reset  
Once this bit is set, it stays set unless one of the four meth-  
ods is used to clear it. Even if the controller module is idle,  
this bit remains set until cleared, indicating that there was  
activity on the bus.  
7
R
RX_DONE  
When the controller is acting as a slave-transmitter, this bit is  
set to 1 if the master does not acknowledge a transmitted  
byte. This occurs on the last byte of the transmission, indi-  
cating that the transmission is done.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
317 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 400: I2C2_RAW_INTR_STAT_REG (0x50001534)  
Bit  
Mode Symbol  
Description  
Reset  
6
R
TX_ABRT  
This bit indicates if the controller, as an I2C transmitter, is  
unable to complete the intended actions on the contents of  
the transmit FIFO. This situation can occur both as an I2C  
master or an I2C slave, and is referred to as a "transmit  
abort".  
0x0  
When this bit is set to 1, the I2C_TX_ABRT_SOURCE regis-  
ter indicates the reason why the transmit abort takes places.  
NOTE: The controller flushes/resets/empties the TX FIFO  
whenever this bit is set. The TX FIFO remains in this flushed  
state until the register I2C_CLR_TX_ABRT is read. Once  
this read is performed, the TX FIFO is then ready to accept  
more data bytes from the APB interface.  
5
R
RD_REQ  
This bit is set to 1 when I2C Ctrl is acting as a slave and  
another I2C master is attempting to read data from the con-  
troller. The controller holds the I2C bus in a wait state  
(SCL=0) until this interrupt is serviced, which means that the  
slave has been addressed by a remote master that is asking  
for data to be transferred. The processor must respond to  
this interrupt and then write the requested data to the  
I2C_DATA_CMD register. This bit is set to 0 just after the  
processor reads the I2C_CLR_RD_REQ register  
0x0  
4
R
TX_EMPTY  
This bit is set to 1 when the transmit buffer is at or below the  
threshold value set in the I2C_TX_TL register. It is automati-  
cally cleared by hardware when the buffer level goes above  
the threshold. When the IC_ENABLE bit 0 is 0, the TX FIFO  
is flushed and held in reset. There the TX FIFO looks like it  
has no data within it, so this bit is set to 1, provided there is  
activity in the master or slave state machines. When there is  
no longer activity, then with ic_en=0, this bit is set to 0.  
0x0  
3
2
R
R
TX_OVER  
RX_FULL  
Set during transmit if the transmit buffer is filled to 32 and the  
processor attempts to issue another I2C command by writing  
to the IC_DATA_CMD register. When the module is disabled,  
this bit keeps its level until the master or slave state  
machines go into idle, and when ic_en goes to 0, this inter-  
rupt is cleared  
0x0  
0x0  
Set when the receive buffer reaches or goes above the  
RX_TL threshold in the I2C_RX_TL register. It is automati-  
cally cleared by hardware when buffer level goes below the  
threshold. If the module is disabled (I2C_ENABLE[0]=0), the  
RX FIFO is flushed and held in reset; therefore the RX FIFO  
is not full. So this bit is cleared once the I2C_ENABLE bit 0 is  
programmed with a 0, regardless of the activity that contin-  
ues.  
1
0
R
R
RX_OVER  
Set if the receive buffer is completely filled to 32 and an addi- 0x0  
tional byte is received from an external I2C device. The con-  
troller acknowledges this, but any data bytes received after  
the FIFO is full are lost. If the module is disabled  
(I2C_ENABLE[0]=0), this bit keeps its level until the master  
or slave state machines go into idle, and when ic_en goes to  
0, this interrupt is cleared.  
RX_UNDER  
Set if the processor attempts to read the receive buffer when  
it is empty by reading from the IC_DATA_CMD register. If the  
module is disabled (I2C_ENABLE[0]=0), this bit keeps its  
level until the master or slave state machines go into idle,  
and when ic_en goes to 0, this interrupt is cleared.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
318 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 401: I2C2_RX_TL_REG (0x50001538)  
Bit  
Mode Symbol  
Description  
Reset  
15:5  
4:0  
-
-
Reserved  
0x0  
0x0  
R/W  
RX_TL  
Receive FIFO Threshold Level Controls the level of entries  
(or above) that triggers the RX_FULL interrupt (bit 2 in  
I2C_RAW_INTR_STAT register). The valid range is 0-3,a  
value of 0 sets the threshold for 1 entry, and a value of 3 sets  
the threshold for 4 entries.  
Table 402: I2C2_TX_TL_REG (0x5000153C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:0  
-
-
Reserved  
R/W  
TX_TL  
Transmit FIFO Threshold Level Controls the level of entries  
(or below) that trigger the TX_EMPTY interrupt (bit 4 in  
I2C_RAW_INTR_STAT register). The valid range is 0-3, a  
value of 0 sets the threshold for 0 entries, and a value of 3  
sets the threshold for 4 entries..  
0x0  
Table 403: I2C2_CLR_INTR_REG (0x50001540)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
R
CLR_INTR  
Read this register to clear the combined interrupt, all individ- 0x0  
ual interrupts, and the I2C_TX_ABRT_SOURCE register.  
This bit does not clear hardware clearable interrupts but soft-  
ware clearable interrupts. Refer to Bit 9 of the  
I2C_TX_ABRT_SOURCE register for an exception to clear-  
ing I2C_TX_ABRT_SOURCE  
Table 404: I2C2_CLR_RX_UNDER_REG (0x50001544)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_RX_UNDER  
Read this register to clear the RX_UNDER interrupt (bit 0) of  
0x0  
the  
I2C_RAW_INTR_STAT register.  
Table 405: I2C2_CLR_RX_OVER_REG (0x50001548)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_RX_OVER  
Read this register to clear the RX_OVER interrupt (bit 1) of  
0x0  
the  
I2C_RAW_INTR_STAT register.  
Table 406: I2C2_CLR_TX_OVER_REG (0x5000154C)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_TX_OVER  
Read this register to clear the TX_OVER interrupt (bit 3) of  
the I2C_RAW_INTR_STAT register.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
319 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 407: I2C2_CLR_RD_REQ_REG (0x50001550)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R
CLR_RD_REQ  
Read this register to clear the RD_REQ interrupt (bit 5) of  
the I2C_RAW_INTR_STAT register.  
Table 408: I2C2_CLR_TX_ABRT_REG (0x50001554)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_TX_ABRT  
Read this register to clear the TX_ABRT interrupt (bit 6) of  
the  
0x0  
IC_RAW_INTR_STAT register, and the  
I2C_TX_ABRT_SOURCE register. This also releases the TX  
FIFO from the flushed/reset state, allowing more writes to  
the TX FIFO. Refer to Bit 9 of the I2C_TX_ABRT_SOURCE  
register for an exception to clearing  
IC_TX_ABRT_SOURCE.  
Table 409: I2C2_CLR_RX_DONE_REG (0x50001558)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_RX_DONE  
Read this register to clear the RX_DONE interrupt (bit 7) of  
0x0  
the  
I2C_RAW_INTR_STAT register.  
Table 410: I2C2_CLR_ACTIVITY_REG (0x5000155C)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_ACTIVITY  
Reading this register clears the ACTIVITY interrupt if the I2C  
is not active anymore. If the I2C module is still active on the  
bus, the ACTIVITY interrupt bit continues to be set. It is auto-  
matically cleared by hardware if the module is disabled and if  
there is no further activity on the bus. The value read from  
this register to get status of the ACTIVITY interrupt (bit 8) of  
the IC_RAW_INTR_STAT register  
0x0  
Table 411: I2C2_CLR_STOP_DET_REG (0x50001560)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CLR_ACTIVITY  
Reading this register clears the ACTIVITY interrupt if the I2C  
is not active anymore. If the I2C module is still active on the  
bus, the ACTIVITY interrupt bit continues to be set. It is auto-  
matically cleared by hardware if the module is disabled and if  
there is no further activity on the bus. The value read from  
this register to get status of the ACTIVITY interrupt (bit 8) of  
the IC_RAW_INTR_STAT register.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
320 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 412: I2C2_CLR_START_DET_REG (0x50001564)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R
CLR_START_DET  
Read this register to clear the START_DET interrupt (bit 10)  
of the IC_RAW_INTR_STAT register.  
Table 413: I2C2_CLR_GEN_CALL_REG (0x50001568)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
R
CLR_GEN_CALL  
Read this register to clear the GEN_CALL interrupt (bit 11) of 0x0  
I2C_RAW_INTR_STAT register.  
Table 414: I2C2_ENABLE_REG (0x5000156C)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
CTRL_ENABLE  
Controls whether the controller is enabled.  
0: Disables the controller (TX and RX FIFOs are held in an  
erased state)  
0x0  
1: Enables the controller  
Software can disable the controller while it is active. How-  
ever, it is important that care be taken to ensure that the con-  
troller is disabled properly. When the controller is disabled,  
the following occurs:  
* The TX FIFO and RX FIFO get flushed.  
* Status bits in the IC_INTR_STAT register are still active  
until the controller goes into IDLE state.  
If the module is transmitting, it stops as well as deletes the  
contents of the transmit buffer after the current transfer is  
complete. If the module is receiving, the controller stops the  
current transfer at the end of the current byte and does not  
acknowledge the transfer.  
There is a two ic_clk delay when enabling or disabling the  
controller  
Table 415: I2C2_STATUS_REG (0x50001570)  
Bit  
15:7  
6
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
SLV_ACTIVITY  
Slave FSM Activity Status. When the Slave Finite State  
Machine (FSM) is not in the IDLE state, this bit is set.  
0: Slave FSM is in IDLE state so the Slave part of the con-  
troller is not Active  
0x0  
1: Slave FSM is not in IDLE state so the Slave part of the  
controller is Active  
5
R
MST_ACTIVITY  
Master FSM Activity Status. When the Master Finite State  
Machine (FSM) is not in the IDLE state, this bit is set.  
0: Master FSM is in IDLE state so the Master part of the con-  
troller is not Active  
0x0  
1: Master FSM is not in IDLE state so the Master part of the  
controller is Active  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
321 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 415: I2C2_STATUS_REG (0x50001570)  
Bit  
Mode Symbol  
Description  
Reset  
4
R
R
R
RFF  
Receive FIFO Completely Full. When the receive FIFO is  
completely full, this bit is set. When the receive FIFO con-  
tains one or more empty location, this bit is cleared.  
0: Receive FIFO is not full  
0x0  
0x0  
0x1  
1: Receive FIFO is full  
3
2
RFNE  
TFE  
Receive FIFO Not Empty. This bit is set when the receive  
FIFO contains one or more entries; it is cleared when the  
receive FIFO is empty.  
0: Receive FIFO is empty  
1: Receive FIFO is not empty  
Transmit FIFO Completely Empty. When the transmit FIFO is  
completely empty, this bit is set. When it contains one or  
more valid entries, this bit is cleared. This bit field does not  
request an interrupt.  
0: Transmit FIFO is not empty  
1: Transmit FIFO is empty  
1
0
R
R
TFNF  
Transmit FIFO Not Full. Set when the transmit FIFO contains  
one or more empty locations, and is cleared when the FIFO  
is full.  
0: Transmit FIFO is full  
1: Transmit FIFO is not full  
0x1  
0x0  
I2C_ACTIVITY  
I2C Activity Status.  
Table 416: I2C2_TXFLR_REG (0x50001574)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:6  
5:0  
-
-
Reserved  
R
TXFLR  
Transmit FIFO Level. Contains the number of valid data  
entries in the transmit FIFO. Size is constrained by the  
TXFLR value  
0x0  
Table 417: I2C2_RXFLR_REG (0x50001578)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:6  
5:0  
-
-
Reserved  
R
RXFLR  
Receive FIFO Level. Contains the number of valid data  
entries in the receive FIFO. Size is constrained by the  
RXFLR value  
0x0  
Table 418: I2C2_SDA_HOLD_REG (0x5000157C)  
Bit  
Mode Symbol  
R/W IC_SDA_HOLD  
Description  
Reset  
15:0  
SDA Hold time  
0x1  
Table 419: I2C2_TX_ABRT_SOURCE_REG (0x50001580)  
Bit  
Mode Symbol  
ABRT_SLVRD_INTX  
Description  
Reset  
15  
R
1: When the processor side responds to a slave mode  
request for data to be transmitted to a remote master and  
user writes a 1 in CMD (bit 8) of 2 IC_DATA_CMD register  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
322 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 419: I2C2_TX_ABRT_SOURCE_REG (0x50001580)  
Bit  
Mode Symbol  
Description  
Reset  
14  
R
ABRT_SLV_ARBLOS 1: Slave lost the bus while transmitting data to a remote  
0x0  
T
master.  
I2C_TX_ABRT_SOURCE[12] is set at the same time. Note:  
Even though the slave never "owns" the bus, something  
could go wrong on the bus. This is a fail safe check. For  
instance, during a data transmission at the low-to-high tran-  
sition of SCL, if what is on the data bus is not what is sup-  
posed to be transmitted, then the controller no longer own  
the bus.  
13  
12  
R
R
ABRT_SLVFLUSH_T  
XFIFO  
1: Slave has received a read command and some data  
exists in the TX FIFO so the slave issues a TX_ABRT inter-  
rupt to flush old data in TX FIFO.  
0x0  
0x0  
ARB_LOST  
1: Master has lost arbitration, or if  
I2C_TX_ABRT_SOURCE[14] is also set, then the slave  
transmitter has lost arbitration. Note: I2C can be both master  
and slave at the same time.  
11  
10  
R
R
ABRT_MASTER_DIS 1: User tries to initiate a Master operation with the Master  
mode disabled.  
0x0  
0x0  
ABRT_10B_RD_NO  
RSTRT  
1: The restart is disabled (IC_RESTART_EN bit  
(I2C_CON[5]) = 0) and the master sends a read command in  
10-bit addressing mode.  
9
R
ABRT_SBYTE_NOR  
STRT  
To clear Bit 9, the source of the ABRT_SBYTE_NORSTRT  
must be fixed first; restart must be enabled (I2C_CON[5]=1),  
the SPECIAL bit must be cleared (I2C_TAR[11]), or the  
GC_OR_START bit must be cleared (I2C_TAR[10]). Once  
the source of the ABRT_SBYTE_NORSTRT is fixed, then  
this bit can be cleared in the same manner as other bits in  
this register. If the source of the ABRT_SBYTE_NORSTRT  
is not fixed before attempting to clear this bit, bit 9 clears for  
one cycle and then gets re-asserted. 1: The restart is disa-  
bled (IC_RESTART_EN bit (I2C_CON[5]) = 0) and the user  
is trying to send a START Byte.  
0x0  
8
R
ABRT_HS_NORSTR  
T
1: The restart is disabled (IC_RESTART_EN bit  
(I2C_CON[5]) = 0) and the user is trying to use the master to  
transfer data in High Speed mode  
0x0  
7
6
5
R
R
R
ABRT_SBYTE_ACK  
DET  
1: Master has sent a START Byte and the START Byte was  
acknowledged (wrong behavior).  
0x0  
0x0  
0x0  
ABRT_HS_ACKDET  
1: Master is in High Speed mode and the High Speed Master  
code was acknowledged (wrong behavior).  
ABRT_GCALL_REA  
D
1: the controller in master mode sent a General Call but the  
user programmed the byte following the General Call to be a  
read from the bus (IC_DATA_CMD[9] is set to 1).  
4
3
R
R
ABRT_GCALL_NOA  
CK  
1: the controller in master mode sent a General Call and no  
slave on the bus acknowledged the General Call.  
0x0  
0x0  
ABRT_TXDATA_NO  
ACK  
1: This is a master-mode only bit. Master has received an  
acknowledgement for the address, but when it sent data  
byte(s) following the address, it did not receive an acknowl-  
edge from the remote slave(s).  
2
1
R
R
ABRT_10ADDR2_N  
OACK  
1: Master is in 10-bit address mode and the second address  
byte of the 10-bit address was not acknowledged by any  
slave.  
0x0  
0x0  
ABRT_10ADDR1_N  
OACK  
1: Master is in 10-bit address mode and the first 10-bit  
address byte was not acknowledged by any slave.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
323 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 419: I2C2_TX_ABRT_SOURCE_REG (0x50001580)  
Bit  
Mode Symbol  
ABRT_7B_ADDR_N  
OACK  
Description  
Reset  
0
R
1: Master is in 7-bit addressing mode and the address sent  
was not acknowledged by any slave.  
0x0  
Table 420: I2C2_DMA_CR_REG (0x50001588)  
Bit  
Mode Symbol  
Description  
Reset  
1
R/W  
R/W  
TDMAE  
RDMAE  
Transmit DMA Enable. This bit enables/disables the transmit  
FIFO DMA channel. 0 = Transmit DMA disabled 1 = Transmit  
DMA enabled  
0x0  
0
Receive DMA Enable. This bit enables/disables the receive  
FIFO DMA channel. 0 = Receive DMA disabled 1 = Receive  
DMA enabled  
0x0  
Table 421: I2C2_DMA_TDLR_REG (0x5000158C)  
Bit  
Mode Symbol  
R/W DMATDL  
Description  
Reset  
4:0  
Transmit Data Level. This bit field controls the level at which  
a DMA request is made by the transmit logic. It is equal to  
the watermark level; that is, the dma_tx_req signal is gener-  
ated when the number of valid data entries in the transmit  
FIFO is equal to or below this field value, and TDMAE = 1.  
0x0  
Table 422: I2C2_DMA_RDLR_REG (0x50001590)  
Bit  
Mode Symbol  
R/W DMARDL  
Description  
Reset  
4:0  
Receive Data Level. This bit field controls the level at which  
a DMA request is made by the receive logic. The watermark  
level = DMARDL+1; that is, dma_rx_req is generated when  
the number of valid data entries in the receive FIFO is equal  
to or more than this field value + 1, and RDMAE =1. For  
instance, when DMARDL is 0, then dma_rx_req is asserted  
when 1 or more data entries are present in the receive FIFO.  
0x0  
Table 423: I2C2_SDA_SETUP_REG (0x50001594)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
SDA_SETUP  
SDA Setup.  
0x64  
This register controls the amount of time delay (number of  
I2C clock periods) between the rising edge of SCL and SDA  
changing by holding SCL low when I2C block services a  
read request while operating as a slave-transmitter. This reg-  
ister must be programmed with a value equal to or greater  
than 2. It is recommended that if the required delay is  
1000ns, then for an I2C frequency of 10 MHz,  
IC_SDA_SETUP should be programmed to a value of  
11.Writes to this register succeed only when IC_ENABLE[0]  
= 0.  
Table 424: I2C2_ACK_GENERAL_CALL_REG (0x50001598)  
Bit  
Mode Symbol  
Description  
Reset  
15:1  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
324 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 424: I2C2_ACK_GENERAL_CALL_REG (0x50001598)  
Bit  
Mode Symbol  
R/W ACK_GEN_CALL  
Description  
Reset  
0
ACK General Call. When set to 1, I2C Ctrl responds with a  
ACK (by asserting ic_data_oe) when it receives a General  
Call. When set to 0, the controller does not generate General  
Call interrupts.  
0x0  
Table 425: I2C2_ENABLE_STATUS_REG (0x5000159C)  
Bit  
15:3  
2
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
SLV_RX_DATA_LOS  
T
Slave Received Data Lost. This bit indicates if a Slave-  
Receiver  
0x0  
operation has been aborted with at least one data byte  
received from an I2C transfer due to the setting of  
IC_ENABLE from 1 to 0. When read as 1, the controller is  
deemed to have been actively engaged in an aborted I2C  
transfer (with matching address) and the data phase of the  
I2C transfer has been entered, even though a data byte has  
been responded with a NACK. NOTE: If the remote I2C mas-  
ter terminates the transfer with a STOP condition before the  
controller has a chance to NACK a transfer, and IC_ENABLE  
has been set to 0, then this bit is also set to 1.  
When read as 0, the controller is deemed to have been disa-  
bled without being actively involved in the data phase of a  
Slave-Receiver transfer.  
NOTE: The CPU can safely read this bit when IC_EN (bit 0)  
is read as 0.  
1
R
SLV_DISABLED_WH Slave Disabled While Busy (Transmit, Receive). This bit indi- 0x0  
ILE_BUSY  
cates if a potential or active Slave operation has been  
aborted due to the setting of the IC_ENABLE register from 1  
to 0. This bit is set when the CPU writes a 0 to the  
IC_ENABLE register while:  
(a) I2C Ctrl is receiving the address byte of the Slave-Trans-  
mitter operation from a remote master; OR,  
(b) address and data bytes of the Slave-Receiver operation  
from a remote master. When read as 1, the controller is  
deemed to have forced a NACK during any part of an I2C  
transfer, irrespective of whether the I2C address matches  
the slave address set in I2C Ctrl (IC_SAR register) OR if the  
transfer is completed before IC_ENABLE is set to 0 but has  
not taken effect.  
NOTE: If the remote I2C master terminates the transfer with  
a STOP condition before the the controller has a chance to  
NACK a transfer, and IC_ENABLE has been set to 0, then  
this bit will also be set to 1.  
When read as 0, the controller is deemed to have been disa-  
bled when there is master activity, or when the I2C bus is  
idle.  
NOTE: The CPU can safely read this bit when IC_EN (bit 0)  
is read as 0.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
325 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 425: I2C2_ENABLE_STATUS_REG (0x5000159C)  
Bit  
Mode Symbol  
IC_EN  
Description  
Reset  
0
R
ic_en Status. This bit always reflects the value driven on the  
output port ic_en. When read as 1, the controller is deemed  
to be in an enabled state.  
0x0  
When read as 0, the controller is deemed completely inac-  
tive.  
NOTE: The CPU can safely read this bit anytime. When this  
bit is read as 0, the CPU can safely read  
SLV_RX_DATA_LOST (bit 2) and  
SLV_DISABLED_WHILE_BUSY (bit 1).  
Table 426: I2C2_IC_FS_SPKLEN_REG (0x500015A0)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
IC_FS_SPKLEN  
This register must be set before any I2C bus transaction can  
take place to ensure stable operation. This register sets the  
duration, measured in ic_clk cycles, of the longest spike in  
the SCL or SDA lines that will be filtered out by the spike  
suppression logic. This register can be written only when the  
I2C interface is disabled which corresponds to the  
IC_ENABLE register being set to 0. Writes at other times  
have no effect. The minimum valid value is 2; hardware pre-  
vents values less than this being written, and if attempted  
results in 2 being set.  
0x1  
Table 427: I2C2_COMP_PARAM1_REG (0x500015F4)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Table 428: I2C2_COMP_PARAM2_REG (0x500015F6)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Table 429: I2C2_COMP_VERSION_REG (0x500015F8)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Table 430: I2C2_COMP2_VERSION (0x500015FA)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Table 431: I2C2_COMP_TYPE_REG (0x500015FC)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
326 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 432: I2C2_COMP_TYPE2_REG (0x500015FE)  
Bit  
Mode Symbol  
Description  
Reset  
-
-
-
Undefined  
-
37.13 KEYBOARD SCAN REGISTER FILE  
Table 433: Register map KEYBOARD SCAN  
Address  
Port  
Description  
0x50001600  
0x50001602  
0x50001604  
0x50001606  
0x50001608  
0x5000160A  
0x5000160C  
0x5000160E  
0x50001610  
0x50001612  
0x50001614  
0x50001616  
0x50001618  
0x5000161A  
0x5000161C  
0x5000161E  
0x50001620  
0x50001622  
0x50001624  
0x50001626  
0x50001628  
0x5000162A  
0x5000162C  
0x5000162E  
0x50001630  
0x50001632  
0x50001634  
0x5000163C  
0x5000163E  
0x50001640  
0x50001642  
0x50001644  
0x50001646  
0x50001648  
0x5000164A  
0x5000164C  
0x5000164E  
0x50001650  
KBSCN_CTRL_REG  
Keyboard scanner control register  
Keyboard scanner control 2 register  
KBSCN_CTRL2_REG  
KBSCN_MATRIX_SIZE_REG  
KBSCN_DEBOUNCE_REG  
KBSCN_STATUS_REG  
Defines the number of rows and columns of the matrix  
Defines the debounce time for key press and release  
keyboard scanner Interrupt status register  
Returns a key message from the message queue  
Defines the keyboard mode for P00  
Defines the keyboard mode for P01  
Defines the keyboard mode for P02  
Defines the keyboard mode for P03  
Defines the keyboard mode for P04  
Defines the keyboard mode for P05  
Defines the keyboard mode for P06  
Defines the keyboard mode for P07  
Defines the keyboard mode for P10  
Defines the keyboard mode for P11  
Defines the keyboard mode for P12  
Defines the keyboard mode for P13  
Defines the keyboard mode for P14  
Defines the keyboard mode for P15  
Defines the keyboard mode for P16  
Defines the keyboard mode for P17  
Defines the keyboard mode for P20  
Defines the keyboard mode for P21  
Defines the keyboard mode for P22  
Defines the keyboard mode for P23  
Defines the keyboard mode for P24  
Defines the keyboard mode for P30  
Defines the keyboard mode for P31  
Defines the keyboard mode for P32  
Defines the keyboard mode for P33  
Defines the keyboard mode for P34  
Defines the keyboard mode for P35  
Defines the keyboard mode for P36  
Defines the keyboard mode for P37  
Defines the keyboard mode for P40  
Defines the keyboard mode for P41  
Defines the keyboard mode for P42  
KBSCN_MESSAGE_KEY_REG  
KBSCN_P00_MODE_REG  
KBSCN_P01_MODE_REG  
KBSCN_P02_MODE_REG  
KBSCN_P03_MODE_REG  
KBSCN_P04_MODE_REG  
KBSCN_P05_MODE_REG  
KBSCN_P06_MODE_REG  
KBSCN_P07_MODE_REG  
KBSCN_P10_MODE_REG  
KBSCN_P11_MODE_REG  
KBSCN_P12_MODE_REG  
KBSCN_P13_MODE_REG  
KBSCN_P14_MODE_REG  
KBSCN_P15_MODE_REG  
KBSCN_P16_MODE_REG  
KBSCN_P17_MODE_REG  
KBSCN_P20_MODE_REG  
KBSCN_P21_MODE_REG  
KBSCN_P22_MODE_REG  
KBSCN_P23_MODE_REG  
KBSCN_P24_MODE_REG  
KBSCN_P30_MODE_REG  
KBSCN_P31_MODE_REG  
KBSCN_P32_MODE_REG  
KBSCN_P33_MODE_REG  
KBSCN_P34_MODE_REG  
KBSCN_P35_MODE_REG  
KBSCN_P36_MODE_REG  
KBSCN_P37_MODE_REG  
KBSCN_P40_MODE_REG  
KBSCN_P41_MODE_REG  
KBSCN_P42_MODE_REG  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
327 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 433: Register map KEYBOARD SCAN  
Address  
Port  
Description  
0x50001652  
0x50001654  
0x50001656  
0x50001658  
0x5000165A  
KBSCN_P43_MODE_REG  
KBSCN_P44_MODE_REG  
KBSCN_P45_MODE_REG  
KBSCN_P46_MODE_REG  
KBSCN_P47_MODE_REG  
Defines the keyboard mode for P43  
Defines the keyboard mode for P44  
Defines the keyboard mode for P45  
Defines the keyboard mode for P46  
Defines the keyboard mode for P47  
Table 434: KBSCN_CTRL_REG (0x50001600)  
Bit  
Mode Symbol  
Description  
Reset  
14  
R0/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
KBSCN_RESET_FIF  
O
'1' reset fifo, read always '0'  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
13:12  
KBSCN_CLKDIV  
Defines keyboard clk. "00" div/1, "01" div/4, "10" div/16, "11"  
div/64  
11  
10:4  
3
KBSCN_INACTIVE_  
EN  
'1' After inactive time the keyboard scanner stops the key  
maxtrix scan  
KBSCN_INACTIVE_  
TIME  
Defines the inactive time in scan cycles. Value 0 is not  
allowed  
KBSCN_IRQ_FIFO_  
MASK  
'1' Enable IRQ for fifo over and under flow  
2
KBSCN_IRQ_INACTI '1' : Enable IRQ for inactive  
VE_MASK  
1
KBSCN_IRQ_MESS  
AGE_MASK  
'1' : Enable IRQ for message  
0
KBSCN_EN  
'1' : Enable keyboard scanner, Auto clear when inactive ena- 0x0  
ble and inactive case  
Table 435: KBSCN_CTRL2_REG (0x50001602)  
Bit  
Mode Symbol  
R/W KBSCN_ROW_ACTI  
VE_TIME  
Description  
Reset  
15:0  
Define the row active time in keyboard clock cycles  
0x0  
Table 436: KBSCN_MATRIX_SIZE_REG (0x50001604)  
Bit  
Mode Symbol  
Description  
Reset  
8:4  
R/W  
KBSCN_MATRIX_C  
OLUMN  
Defines the number of the columns of the keyboard matrix  
minus 1. Zero means number of columns 1  
0x0  
3:0  
R/W  
KBSCN_MATRIX_R  
OW  
Defines the number of the rows of the keyboard matrix minus  
1. Zero means number of rows 1  
0x0  
Table 437: KBSCN_DEBOUNCE_REG (0x50001606)  
Bit  
Mode Symbol  
Description  
KBSCN_DEBOUNCE Defines the press debounce time in cycles of full matrix  
_PRESS_TIME scan. One means no debounce, zero is reserved  
KBSCN_DEBOUNCE Defines the press debounce time in cycles of full matrix  
Reset  
11:6  
R/W  
0x2  
5:0  
R/W  
0x2  
_RELEASE_TIME  
scan. One means no debounce, zero is reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
328 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 438: KBSCN_STATUS_REG (0x50001608)  
Bit  
Mode Symbol  
Description  
Reset  
8
R
R
R
R
R
KBSCN_FIFO_UNDE '1' Fifo Underflow occurred  
RFL  
0x0  
0x0  
0x0  
0x0  
0x0  
7
KBSCN_FIFO_OVER '1' Fifo Overflow occurred  
FL  
6:2  
1
KBSCN_NUM_MESS Defines how many messages there are in the fifo.  
AGE  
KBSCN_INACTIVE_I  
RQ_STATUS  
There is no keyboard activity for a predefined time  
0
KBSCN_MES_IRQ_  
STATUS  
There is at least one last message in the fifo.  
Table 439: KBSCN_MESSAGE_KEY_REG (0x5000160A)  
Bit  
Mode Symbol  
Description  
Reset  
10  
R
R
R
R
KBSCN_LAST_ENT  
RY  
'1' : this message is the last of the group message, else '0'.  
When '1' bits 9:0 are all '1'  
0x0  
9
KBSCN_KEY_STATE '0' : New key state is release  
'1' : New key state is press  
0x0  
0x0  
0x0  
8:4  
3:0  
KBSCN_KEYID_COL Defines the column id of key  
UMN  
KBSCN_KEYID_RO  
W
Defines the row id of key  
Table 440: KBSCN_P00_MODE_REG (0x5000160C)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 441: KBSCN_P01_MODE_REG (0x5000160E)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 442: KBSCN_P02_MODE_REG (0x50001610)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 443: KBSCN_P03_MODE_REG (0x50001612)  
Bit  
Mode Symbol  
R/W KBSCN_GPIO_EN  
Description  
Reset  
6
'1' GPIO is enable for row or column  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
329 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 443: KBSCN_P03_MODE_REG (0x50001612)  
Bit  
5
Mode Symbol  
Description  
Reset  
R/W  
R/W  
KBSCN_ROW  
KBSCN_MODE  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
0x0  
0x0  
4:0  
Table 444: KBSCN_P04_MODE_REG (0x50001614)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 445: KBSCN_P05_MODE_REG (0x50001616)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 446: KBSCN_P06_MODE_REG (0x50001618)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 447: KBSCN_P07_MODE_REG (0x5000161A)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 448: KBSCN_P10_MODE_REG (0x5000161C)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 449: KBSCN_P11_MODE_REG (0x5000161E)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
330 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 450: KBSCN_P12_MODE_REG (0x50001620)  
Bit  
6
Mode Symbol  
Description  
Reset  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
0x0  
0x0  
0x0  
5
KBSCN_ROW  
KBSCN_MODE  
4:0  
Table 451: KBSCN_P13_MODE_REG (0x50001622)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 452: KBSCN_P14_MODE_REG (0x50001624)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 453: KBSCN_P15_MODE_REG (0x50001626)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 454: KBSCN_P16_MODE_REG (0x50001628)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 455: KBSCN_P17_MODE_REG (0x5000162A)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 456: KBSCN_P20_MODE_REG (0x5000162C)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
331 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 457: KBSCN_P21_MODE_REG (0x5000162E)  
Bit  
6
Mode Symbol  
Description  
Reset  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
0x0  
0x0  
0x0  
5
KBSCN_ROW  
KBSCN_MODE  
4:0  
Table 458: KBSCN_P22_MODE_REG (0x50001630)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 459: KBSCN_P23_MODE_REG (0x50001632)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 460: KBSCN_P24_MODE_REG (0x50001634)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 461: KBSCN_P30_MODE_REG (0x5000163C)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 462: KBSCN_P31_MODE_REG (0x5000163E)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 463: KBSCN_P32_MODE_REG (0x50001640)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
332 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 464: KBSCN_P33_MODE_REG (0x50001642)  
Bit  
6
Mode Symbol  
Description  
Reset  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
0x0  
0x0  
0x0  
5
KBSCN_ROW  
KBSCN_MODE  
4:0  
Table 465: KBSCN_P34_MODE_REG (0x50001644)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 466: KBSCN_P35_MODE_REG (0x50001646)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 467: KBSCN_P36_MODE_REG (0x50001648)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 468: KBSCN_P37_MODE_REG (0x5000164A)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 469: KBSCN_P40_MODE_REG (0x5000164C)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 470: KBSCN_P41_MODE_REG (0x5000164E)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
333 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 471: KBSCN_P42_MODE_REG (0x50001650)  
Bit  
6
Mode Symbol  
Description  
Reset  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
0x0  
0x0  
0x0  
5
KBSCN_ROW  
KBSCN_MODE  
4:0  
Table 472: KBSCN_P43_MODE_REG (0x50001652)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 473: KBSCN_P44_MODE_REG (0x50001654)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 474: KBSCN_P45_MODE_REG (0x50001656)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 475: KBSCN_P46_MODE_REG (0x50001658)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
Table 476: KBSCN_P47_MODE_REG (0x5000165A)  
Bit  
6
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
R/W  
KBSCN_GPIO_EN  
'1' GPIO is enable for row or column  
'1' GPIO is row, '0' GPIO is column  
Defines the row/column index that has to be connected  
5
KBSCN_ROW  
KBSCN_MODE  
0x0  
4:0  
0x0  
37.14 IR REGISTER FILE  
Table 477: Register map IR  
Address  
Port  
Description  
0x50001700  
0x50001702  
0x50001704  
IR_FREQ_CARRIER_ON_REG  
IR_FREQ_CARRIER_OFF_REG  
IR_LOGIC_ONE_TIME_REG  
Defines the carrier signal high duration  
Defnes the carrier signal low duration  
Defines the logic one waveform  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
334 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 477: Register map IR  
Address  
Port  
Description  
0x50001706  
0x50001708  
0x5000170A  
0x5000170C  
0x5000170E  
0x50001710  
0x50001712  
IR_LOGIC_ZERO_TIME_REG  
IR_CTRL_REG  
Defines the logic zero wavefrom  
IR control register  
IR_STATUS_REG  
IR status register  
IR_REPEAT_TIME_REG  
IR_MAIN_FIFO_REG  
IR_REPEAT_FIFO_REG  
IR_IRQ_STATUS_REG  
Defines the repeat time  
Main fifo write register  
Repeat fifo write register  
IR interrupt status register  
Table 478: IR_FREQ_CARRIER_ON_REG (0x50001700)  
Bit  
Mode Symbol  
R/W IR_FREQ_CARRIER  
_ON  
Description  
Reset  
9:0  
Defines the carrier signal high duration in IR_clk cycles. 0x0  
is not allowed as a value.  
0x1  
Table 479: IR_FREQ_CARRIER_OFF_REG (0x50001702)  
Bit  
Mode Symbol  
R/W IR_FREQ_CARRIER  
_OFF  
Description  
Reset  
9:0  
Defines the carrier signal low duration in IR_clk cycles  
0x1  
Table 480: IR_LOGIC_ONE_TIME_REG (0x50001704)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
R/W  
IR_LOGIC_ONE_MA  
Defines the mark duration in carrier clock cycles. Must be >0 0x1  
RK  
7:0  
R/W  
IR_LOGIC_ONE_SP  
ACE  
Defines the space duration in carrier clock cycles. Must be  
>0  
0x1  
Table 481: IR_LOGIC_ZERO_TIME_REG (0x50001706)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
R/W  
IR_LOGIC_ZERO_M  
Defines the mark duration in carrier clock cycles. Must be >0 0x1  
ARK  
7:0  
R/W  
IR_LOGIC_ZERO_S  
PACE  
Defines the space duration in carrier clock cycles. Must be  
>0  
0x1  
Table 482: IR_CTRL_REG (0x50001708)  
Bit  
Mode Symbol  
Description  
Reset  
8
R/W  
R/W  
IR_IRQ_EN  
1 = Enables the interrupt generation upon TX completion  
0 = masks out the interrupt generation upon TX completion  
0x0  
7
IR_LOGIC_ONE_FO  
RMAT  
1 = Logic one starts with a Space followed by a Mark  
0 = Logic one starts with a Mark followed by a Space  
0x0  
6
5
R/W  
R/W  
IR_LOGIC_ZERO_F  
ORMAT  
1 = Logic zero starts with a Space followed by a Mark  
0 = Logic zero starts with a Mark followed by a Space  
0x0  
0x0  
IR_INVERT_OUTPU  
T
1 = IR output is inverted  
0 = IR output is not inverted  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
335 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 482: IR_CTRL_REG (0x50001708)  
Bit  
Mode Symbol  
Description  
Reset  
4
R/W  
R/W  
IR_REPEAT_TYPE  
1 = repeat command is defined at Repeat FIFO  
0 = repeat command is defined at Code FIFO  
0x0  
3
2
IR_TX_START  
IR_ENABLE  
1 = IR transmits a command  
0 = IR is stopped  
While this bit is 1 and SW programs it to 0, the code FIFO  
will be flushed automatically.  
0x0  
R/W  
1 = IR block is enabled  
0x0  
0 = IR block is disabled and at reset state. This also resets  
the pointers at the FIFOs  
1
0
R0/W  
R0/W  
IR_REP_FIFO_RES  
ET  
1 = Flush Repeat FIFO (auto clear)  
1 = Flush Code FIFO (auto clear)  
0x0  
0x0  
IR_CODE_FIFO_RE  
SET  
Table 483: IR_STATUS_REG (0x5000170A)  
Bit  
Mode Symbol  
Description  
Reset  
10  
R
IR_BUSY  
1 = IR generator is busy sending a message  
0 = IR generator is idle  
0x0  
9:6  
5:0  
R
R
IR_REP_FIFO_WRD  
S
Contains the amount of words in Repeat FIFO (updated only  
on write)  
0x0  
0x0  
IR_CODE_FIFO_WR  
DS  
Contains the amount of words in Code FIFO (updated only  
on write)  
Table 484: IR_REPEAT_TIME_REG (0x5000170C)  
Bit  
Mode Symbol  
R/W IR_REPEAT_TIME  
Description  
Reset  
15:0  
Defines the repeat time in carrier clock cycles. The repeat  
timer will start counting from the start of the command and  
will trigger the output of the same command residing in the  
Code FIFO or the special command residing in the Repeat  
FIFO as soon as it expires.  
0x0  
Table 485: IR_MAIN_FIFO_REG (0x5000170E)  
Bit  
Mode Symbol  
R0/W IR_CODE_FIFO_DA  
TA  
Description  
Reset  
15:0  
Code FIFO data write port  
0x0  
Table 486: IR_REPEAT_FIFO_REG (0x50001710)  
Bit  
Mode Symbol  
Description  
Reset  
15:0  
R0/W  
IR_REPEAT_FIFO_D Repeat FIFO data write port  
ATA  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
336 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 487: IR_IRQ_STATUS_REG (0x50001712)  
Bit  
Mode Symbol  
IR_IRQ_ACK  
Description  
Reset  
0x0  
0
R
When read Interrupt line is cleared  
37.15 USB REGISTER FILE  
Table 488: Register map USB  
Address  
Port  
Description  
0x50001800  
0x50001802  
0x50001804  
0x50001806  
0x50001808  
0x5000180A  
0x5000180C  
0x5000180E  
0x50001810  
0x50001812  
0x50001814  
0x50001816  
0x50001818  
0x5000181A  
0x5000181C  
0x5000181E  
0x50001820  
0x50001822  
0x50001824  
0x50001826  
0x5000183E  
USB_MCTRL_REG  
USB_XCVDIAG_REG  
USB_TCR_REG  
Main Control Register)  
Transceiver diagnostic Register (for test purpose only)  
Transceiver configuration Register  
USB test Register (for test purpose only)  
Function Address Register  
Node Functional State Register  
Main Event Register  
USB_UTR_REG  
USB_FAR_REG  
USB_NFSR_REG  
USB_MAEV_REG  
USB_MAMSK_REG  
USB_ALTEV_REG  
USB_ALTMSK_REG  
USB_TXEV_REG  
USB_TXMSK_REG  
USB_RXEV_REG  
USB_RXMSK_REG  
USB_NAKEV_REG  
USB_NAKMSK_REG  
USB_FWEV_REG  
USB_FWMSK_REG  
USB_FNH_REG  
Main Mask Register  
Alternate Event Register  
Alternate Mask Register  
Transmit Event Register  
Transmit Mask Register  
Receive Event Register  
Receive Mask Register  
NAK Event Register  
NAK Mask Register  
FIFO Warning Event Register  
FIFO Warning Mask Register  
Frame Number High Byte Register  
Frame Number Low Byte Register  
USB_FNL_REG  
USB_UX20CDR_REG  
Transceiver 2.0 Configuration and Diagnostics Regis-  
ter(for test purpose only)  
0x50001840  
0x50001842  
0x50001844  
0x50001846  
0x50001848  
0x5000184A  
0x5000184C  
0x5000184E  
0x50001850  
0x50001852  
0x50001854  
0x50001856  
0x50001858  
0x5000185A  
0x5000185C  
0x5000185E  
USB_EPC0_REG  
USB_TXD0_REG  
USB_TXS0_REG  
USB_TXC0_REG  
USB_EP0_NAK_REG  
USB_RXD0_REG  
USB_RXS0_REG  
USB_RXC0_REG  
USB_EPC1_REG  
USB_TXD1_REG  
USB_TXS1_REG  
USB_TXC1_REG  
USB_EPC2_REG  
USB_RXD1_REG  
USB_RXS1_REG  
USB_RXC1_REG  
Endpoint Control 0 Register  
Transmit Data 0 Register  
Transmit Status 0 Register  
Transmit command 0 Register  
EP0 INNAK and OUTNAK Register  
Receive Data 0 Register  
Receive Status 0 Register  
Receive Command 0 Register  
Endpoint Control Register 1  
Transmit Data Register 1  
Transmit Status Register 1  
Transmit Command Register 1  
Endpoint Control Register 2  
Receive Data Register,1  
Receive Status Register 1  
Receive Command Register 1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
337 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 488: Register map USB  
Address  
Port  
Description  
0x50001860  
0x50001862  
0x50001864  
0x50001866  
0x50001868  
0x5000186A  
0x5000186C  
0x5000186E  
0x50001870  
0x50001872  
0x50001874  
0x50001876  
0x50001878  
0x5000187A  
0x5000187C  
0x5000187E  
0x500018D0  
0x500018D4  
0x500018D6  
USB_EPC3_REG  
USB_TXD2_REG  
USB_TXS2_REG  
USB_TXC2_REG  
USB_EPC4_REG  
USB_RXD2_REG  
USB_RXS2_REG  
USB_RXC2_REG  
USB_EPC5_REG  
USB_TXD3_REG  
USB_TXS3_REG  
USB_TXC3_REG  
USB_EPC6_REG  
USB_RXD3_REG  
USB_RXS3_REG  
USB_RXC3_REG  
USB_DMA_CTRL_REG  
USB_CHARGER_CTRL_REG  
USB_CHARGER_STAT_REG  
Endpoint Control Register 3  
Transmit Data Register 2  
Transmit Status Register 2  
Transmit Command Register 2  
Endpoint Control Register 4  
Receive Data Register 2  
Receive Status Register 2  
Receive Command Register 2  
Endpoint Control Register 5  
Transmit Data Register 3  
Transmit Status Register 3  
Transmit Command Register 3  
Endpoint Control Register 6  
Receive Data Register 3  
Receive Status Register 3  
Receive Command Register 3  
USB DMA control register  
USB Charger Control Register  
USB Charger Status Register  
Table 489: USB_MCTRL_REG (0x50001800)  
Bit  
15:5  
4
Mode Symbol  
Description  
Reserved  
Reset  
-
-
0x0  
0x0  
R/W  
LSMODE  
Low Speed Mode  
This bit enables USB 1.5 Mbit/s low speed and swaps D+  
and D- pull-up resistors. Changing speed may only be done  
if USBEN is set to 0.  
Also D+ and D- rise and fall times are adjusted according to  
the USB specification.  
3
R/W  
USB_NAT  
Node Attached  
0x0  
This bit indicates that this node is ready to be detected as  
attached to USB. When cleared to 0 the transceiver forces  
SE0 on the USB port to prevent the hub (to which this node  
is connected to) from detecting an attach event. After reset  
or when the USB node is disabled, this bit is cleared to 0 to  
give the device time before it must respond to commands.  
After this bit has been set to 1, the device no longer drives  
the USB and should be ready to receive Reset signalling  
from the hub.  
Note: This bit can only be set is USBEN is '1'  
2
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
338 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 489: USB_MCTRL_REG (0x50001800)  
Bit  
Mode Symbol  
R/W USB_DBG  
Description  
Reset  
0x0  
1
Debug Mode.  
When this bit is set, the following registers are writable: Main  
Event (MAEV), Alternate Event (ALTEV), NAK Event  
(NAKEV), Transmit Status and Receive Status. Setting the  
DBG bit forces the node into a locked state. The node states  
can be read out of the transceiver diagnostic register (XCV-  
DIAG) at location 0xFF6802 by setting the DIAG bit in the  
Test Control register (UTR).  
Note: The operation of CoR bits is not effected by entering  
Debug mode) Note: This bit can only be set is USBEN is '1'  
0
R/W  
USBEN  
USB EnableSetting this bit to 1 enables the Full/Low Speed  
USB node. If the USBEN bit is cleared to 0, the USB is disa-  
bled and the 48 MHz clock within the USB node is stopped.  
In addition, all USB registers are set to their reset state.  
Note that the transceiver forces SE0 on the bus to prevent  
the hub to detected the USB node, when it is disabled (not  
attached).  
0x0  
The USBEN bit is cleared to 0 after reset  
Table 490: USB_XCVDIAG_REG (0x50001802)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
USB_VPIN  
With Bit0 = 1 this bit shows the level of the USB_Dp receive  
data from transceiver; i.e. D+ <= VSE.  
0x0  
6
5
R
R
USB_VMIN  
USB_RCV  
With Bit0 = 1 this bit shows the level USB_Dm receive data  
from transceiver; i.e. D- <= VSE.  
0x0  
0x0  
With Bit0 = 1 this bit shows the differential level of the  
receive comparator.  
4
3
-
-
Reserved  
0x0  
0x0  
R/W  
USB_XCV_TXEN  
With Bit0 = 1, this bit enables test Bits 2,1. Must be kept to '0'  
for normal operation  
2
1
0
R/W  
R/W  
R/W  
USB_XCV_TXN  
USB_XCV_TXP  
USB_XCV_TEST  
With Bit3,0 = 1, this bit sets USB_Dm to a high level, inde-  
pendent of LSMODE selection  
0x0  
0x0  
0x0  
With Bit3,0 = 1, this bit sets USB_Dp to a high level, inde-  
pendent of LSMODE selection  
Enable USB_XCVDIAG_REG  
0: Normal operation, test bits disabled  
1: Enable test bits 7,6,5,3,2,1  
Table 491: USB_TCR_REG (0x50001804)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:5  
-
-
Reserved  
R/W  
USB_VADJ  
Reference Voltage/ Threshold voltage AdjustControls the  
single-ended receiver threshold.  
0x4  
Shall not be modified unless instructed by Dialog Semicon-  
ductor  
Only enabled if USB_UTR_REG[7] = 1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
339 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 491: USB_TCR_REG (0x50001804)  
Bit  
Mode Symbol  
R/W USB_CADJ  
Description  
Reset  
4:0  
Transmitter Current Adjust  
0x10  
Controls the driver edge rate control current.  
Shall not be modified unless instructed by Dialog Semicon-  
ductor  
Only enabled if USB_UTR_REG[7] = 1  
Table 492: USB_UTR_REG (0x50001806)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_DIAG  
Diagnostic enable  
0x0  
'0': Normal operational.  
'1': Access to the USB_XCVDIAG_REG and  
USB_TCR_REG enabled. For diagnostic purposes only  
6
R/W  
USB_NCRC  
No CRC16  
0x0  
When this bit is set to 1, all packets transmitted by the Full/  
Low Speed USB node are sent without a trailing CRC16.  
Receive operations are unaffected. This mode is used to  
check that CRC errors can be detected by other nodes. For  
diagnostic purposes only  
5
R/W  
R/W  
USB_SF  
Short Frame  
0x0  
0x0  
Enables the Frame timer to lock and track, short, non-com-  
pliant USB frame sizes. The Short Frame bit should not be  
set during normal operation. For test purposes only  
4:0  
USB_UTR_RES  
Reserved. Must be kept to '0'  
Table 493: USB_FAR_REG (0x50001808)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_AD_EN  
Address Enable  
0x0  
When set to 1, USB address field bits 6-0 are used in  
address comparison  
When cleared to 0, the device does not respond to any token  
on the USB bus.  
Note: If the DEF bit in the Endpoint Control 0 register is set,  
Endpoint 0 responds to the default address.  
6:0  
R/W  
USB_AD  
Address  
0x0  
This field holds the 7-bit function address used to transmit  
and receive all tokens addressed to this device.  
Table 494: USB_NFSR_REG (0x5000180A)  
Bit  
Mode Symbol  
Description  
Reset  
15:2  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
340 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 494: USB_NFSR_REG (0x5000180A)  
Bit  
Mode Symbol  
R/W USB_NFS  
Description  
Reset  
1:0  
The Node Functional State Register reports and controls the  
current functional state of the USB node.  
0x0  
00: NodeReset.  
This is the USB Reset state. This is entered upon a module  
reset or by software upon detection of a USB Reset. Upon  
entry, all endpoint pipes are disabled. DEF in the Endpoint  
Control 0 (EPC0) register and AD_EN in the Function  
Address (FAR) register should be cleared by software on  
entry to this state. On exit, DEF should be reset so the  
device responds to the default address.  
01: NodeResume  
In this state, resume signalling is generated. This state  
should be entered by firmware to initiate a remote wake-up  
sequence by the device. The node must remain in this state  
for at least 1 ms and no more than 15 ms.  
10: NodeOperational  
This is the normal operational state. In this state the node is  
configured for operation on the USB bus.  
11: NodeSuspend  
Suspend state should be entered by firmware on detection of  
a Suspend event while in Operational state. While in Sus-  
pend state, the transceivers operate in their low-power sus-  
pend mode. All endpoint controllers and the bits TX_EN,  
LAST and RX_EN are reset, while all other internal states  
are frozen. On detection of bus activity, the RESUME bit in  
the ALTEV register is set. In response, software can cause  
entry to NodeOperational state.  
Table 495: USB_MAEV_REG (0x5000180C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R/W  
USB_CH_EV  
USB Charger event  
0x0  
This bit is set if one of the bits in  
USB_CHARGER_STAT_REG[2-0] change. This bit is  
cleared to 0 when if USB_CHARGER_STAT_REG is read.  
10  
9
R/W  
R/W  
USB_EP0_NAK  
USB_EP0_RX  
Endpoint 0 NAK Event  
0x0  
0x0  
This bit is an OR of EP0_NAK_REG[EP0_OUTNAK] and  
EP0_NAK_REG[EP0_INNAK] bits. USB_EP0_NAK is  
cleared to 0 when EP0_NAK_REG is read.  
Endpoint 0 Receive Event  
This bit is a copy of the RXS0[RX_LAST] and is cleared to 0  
when this RXS0 register is read.  
Note: Since Endpoint 0 implements a store and forward prin-  
ciple, an overrun condition for FIFO0 cannot occur  
8
7
R/W  
R/W  
USB_EP0_TX  
USB_INTR  
Endpoint 0 Transmit Event  
This bit is a copy of the TXS0[TX_DONE] bit and is cleared  
to 0 when the TXS0 register is read.  
Note: Since Endpoint 0 implements a store and forward prin-  
ciple, an underrun condition for FIFO0 cannot occur.  
0x0  
0x0  
Master Interrupt Enable  
This bit is hardwired to 0 in the Main Event (MAEV) register;  
bit 7 in the Main Mask (MAMSK) register is the Master Inter-  
rupt Enable.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
341 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 495: USB_MAEV_REG (0x5000180C)  
Bit  
Mode Symbol  
Description  
Reset  
6
R/W  
USB_RX_EV  
Receive Event  
0x0  
This bit is set to 1 if any of the unmasked bits in the Receive  
Event (RXEV) register is set to 1. It indicates that a SETUP  
or OUT transaction has been completed. This bit is cleared  
to 0 when all of the RX_LAST bits in each Receive Status  
(RXSn) register and all RXOVRRN bits in the RXEV register  
are cleared to 0.  
5
R/W  
USB_ULD  
Unlocked/Locked Detected  
0x0  
This bit is set to 1, when the frame timer has either entered  
unlocked condition from a locked condition, or has re-  
entered a locked condition from an unlocked condition as  
determined by the UL bit in the Frame Number (FNH or FNL)  
register. This bit is cleared to 0 when the register is read.  
4
3
R/W  
R/W  
USB_NAK  
Negative Acknowledge Event  
0x0  
0x0  
This bit indicates that one of the unmasked NAK Event  
(NAKEV) register bits has been set to 1. This bit is cleared to  
0 when the NAKEV register is read.  
USB_FRAME  
Frame Event  
This bit is set to 1, if the frame counter is updated with a new  
value. This can be due to the receipt of a valid SOF packet  
on the USB or to an artificial update if the frame counter was  
unlocked or a frame was missed. This bit is cleared to 0  
when the register is read.  
2
R/W  
USB_TX_EV  
Transmit Event  
0x0  
This bit is set to 1, if any of the unmasked bits in the Transmit  
Event (TXEV) register (TXFIFOn or TXUNDRNn) is set to 1.  
Therefore, it indicates that an IN transaction has been com-  
pleted. This bit is cleared to 0 when all the TX_DONE bits  
and the TXUNDRN bits in each Transmit Status (TXSn) reg-  
ister are cleared to 0.  
1
0
R/W  
R/W  
USB_ALT  
Alternate Event  
0x0  
0x0  
This bit indicates that one of the unmasked ALTEV register  
bits has been set to 1. This bit is cleared to 0 by reading the  
ALTEV register.  
USB_WARN  
Warning Event  
This bit indicates that one of the unmasked bits in the FIFO  
Warning Event (FWEV) register has been set to 1. This bit is  
cleared to 0 by reading the FWEV register.  
Table 496: USB_MAMSK_REG (0x5000180E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R/W  
USB_M_CH_EV  
The Main Mask Register masks out events reported in the  
MAEV registers. A bit set to 1, enables the interrupts for the  
respective event in the MAEV register. If the corresponding  
bit is cleared to 0, interrupt generation for this event is disa-  
bled. Same Bit Definition as MAEV Register  
0x0  
10  
9
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
USB_M_EP0_NAK  
USB_M_EP0_RX  
USB_M_EP0_TX  
USB_M_INTR  
Same Bit Definition as MAEV Register  
Same Bit Definition as MAEV Register  
Same Bit Definition as MAEV Register  
Same Bit Definition as MAEV Register  
Same Bit Definition as MAEV Register  
Same Bit Definition as MAEV Register  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
8
7
6
USB_M_RX_EV  
USB_M_ULD  
5
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
342 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 496: USB_MAMSK_REG (0x5000180E)  
Bit  
4
Mode Symbol  
Description  
Reset  
R/W  
R/W  
R/W  
R/W  
R/W  
USB_M_NAK  
Same Bit Definition as MAEV Register  
Same Bit Definition as MAEV Register  
Same Bit Definition as MAEV Register  
Same Bit Definition as MAEV Register  
Same Bit Definition as MAEV Register  
0x0  
0x0  
0x0  
0x0  
0x0  
3
USB_M_FRAME  
USB_M_TX_EV  
USB_M_ALT  
2
1
0
USB_M_WARN  
Table 497: USB_ALTEV_REG (0x50001810)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_RESUME  
Resume  
0x0  
Resume signalling is detected on the USB when the device  
is in Suspend state (NFS in the NFSR register is set to SUS-  
PEND), and a non IDLE signal is present on the USB, indi-  
cating that this device should begin it's wake-up sequence  
and enter Operational state. This bit is cleared when the reg-  
ister is read.  
6
5
R/W  
R/W  
USB_RESET  
USB_SD5  
Reset  
0x0  
0x0  
This bit is set to 1, when 2.5 us of SEO have been detected  
on the upstream port. In response, the functional state  
should be reset (NFS in the NFSR register is set to RESET),  
where it must remain for at least 100 us. The functional state  
can then return to Operational state. This bit is cleared when  
the register is read  
Suspend Detect 5 ms  
This bit is set to 1 after 5 ms of IDLE have been detected on  
the upstream port, indicating that this device is permitted to  
perform a remote wake-up operation. The resume may be  
initiated under firmware control by writing the resume value  
to the NFSR register. This bit is cleared when the register is  
read.  
4
3
R/W  
R/W  
USB_SD3  
USB_EOP  
Suspend Detect 3 ms  
0x0  
0x0  
This bit is set to 1 after 3 ms of IDLE have been detected on  
the upstream port, indicating that the device should be sus-  
pended. The suspend occurs under firmware control by writ-  
ing the suspend value to the Node Functional State (NFSR)  
register. This bit is cleared when the register is read.  
End of Packet  
A valid EOP sequence was been detected on the USB. It is  
used when this device has initiated a Remote wake-up  
sequence to indicate that the Resume sequence has been  
acknowledged and completed by the host. This bit is cleared  
when the register is read.  
2
-
-
-
-
Reserved  
Reserved  
0x0  
0x0  
1:0  
Table 498: USB_ALTMSK_REG (0x50001812)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
343 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 498: USB_ALTMSK_REG (0x50001812)  
Bit  
Mode Symbol  
Description  
Reset  
7
R/W  
USB_M_RESUME  
A bit set to 1 in this register enables automatic setting of the  
ALT bit in the MAEV register when the respective event in  
the ALTEV register occurs. Otherwise, setting MAEV.ALT bit  
is disabled.  
0x0  
Same Bit Definition as ALTEV Register  
6
R/W  
R/W  
R/W  
R/W  
-
USB_M_RESET  
Same Bit Definition as ALTEV Register  
Same Bit Definition as ALTEV Register  
Same Bit Definition as ALTEV Register  
Same Bit Definition as ALTEV Register  
Reserved  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
5
USB_M_SD5  
4
USB_M_SD3  
3
USB_M_EOP  
2
-
-
1:0  
-
Reserved  
Table 499: USB_TXEV_REG (0x50001814)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:7  
6:4  
-
-
Reserved  
R
USB_TXUDRRN31  
Transmit Underrun n: 3:1  
0x0  
The bit n is a copy of the respective TX_URUN bit from the  
corresponding Transmit Status register (TXSn). Whenever  
any of the Transmit FIFOs underflows, the respective  
TXUDRRN bit is set to 1. These bits are cleared to 0 when  
the corresponding Transmit Status register is read  
3
-
-
Reserved  
0x0  
0x0  
2:0  
R
USB_TXFIFO31  
Transmit FIFO n: 3:1  
The bit n is a copy of the TX_DONE bit from the correspond-  
ing Transmit Status register (TXSn). A bit is set to 1 when the  
IN transaction for the corresponding transmit endpoint n has  
been completed. These bits are cleared to 0 when the corre-  
sponding TXSn register is read.  
Table 500: USB_TXMSK_REG (0x50001816)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:7  
6:4  
-
-
Reserved  
R/W  
USB_M_TXUDRRN3  
1
The Transmit Mask Register is used to select the bits of the  
TXEV registers, which causes the TX_EV bit in the MAEV  
register to be set to 1. When a bit is set to 1 and the corre-  
sponding bit in the TXEV register is set to 1, the TX_EV bit in  
the MAEV register is set to1. When cleared to 0, the corre-  
sponding bit in the TXEV register does not cause TX_EV to  
be set to 1. Same Bit Definition as TXEV Register  
0x0  
3
-
-
Reserved  
0x0  
0x0  
2:0  
R/W  
USB_M_TXFIFO31  
Same Bit Definition as TXEV Register  
Table 501: USB_RXEV_REG (0x50001818)  
Bit  
Mode Symbol  
Description  
Reset  
15:7  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
344 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 501: USB_RXEV_REG (0x50001818)  
Bit  
Mode Symbol  
Description  
Reset  
6:4  
R
USB_RXOVRRN31  
Receive Overrun n: 3:1  
0x0  
The bit n is set to 1 in the event of an overrun condition in the  
corresponding receive FIFO n. They are cleared to 0 when  
the register is read. The firmware must check the respective  
RX_ERR bits that packets received for the other receive  
endpoints (EP2, EP4 and EP6, ) are not corrupted by errors,  
as these endpoints support data streaming (packets which  
are longer than the actual FIFO depth).  
3
-
-
Reserved  
0x0  
0x0  
2:0  
R
USB_RXFIFO31  
Receive FIFO n: 3:1  
The bit n is set to 1 whenever either RX_ERR or RX_LAST  
in the respective Receive Status register (RXSn) is set to 1.  
Reading the corresponding RXSn register automatically  
clears these bits.The CoR function is disabled, when the  
Freeze signal is asserted.The USB node discards all packets  
for Endpoint 0 received with errors. This is necessary in case  
of retransmission due to media errors, ensuring that a good  
copy of a SETUP packet is captured. Otherwise, the FIFO  
may potentially be tied up, holding corrupted data and una-  
ble to receive a retransmission of the same packet.  
If data streaming is used for the receive endpoints (EP2,  
EP4 and EP6, EP8) the firmware must check the respective  
RX_ERR bits to ensure the packets received are not cor-  
rupted by errors.  
Table 502: USB_RXMSK_REG (0x5000181A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:7  
6:4  
-
-
Reserved  
R/W  
USB_M_RXOVRRN3 The Receive Mask Register is used to select the bits of the  
0x0  
1
RXEV registers, which causes the RX_EV bit in the MAEV  
register to be set to 1. When set to 1 and the corresponding  
bit in the RXEV register is set to 1, RX_EV bit in the MAEV  
register is set to1. When cleared to 0, the corresponding bit  
in the RXEV register does not cause RX_EV to be set to1.  
Same Bit Definition as RXEV Register  
3
-
-
Reserved  
0x0  
0x0  
2:0  
R/W  
USB_M_RXFIFO31  
Same Bit Definition as RXEV Register  
Table 503: USB_NAKEV_REG (0x5000181C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:7  
6:4  
-
-
Reserved  
R
USB_OUT31  
OUT n: 3:1  
0x0  
The bit n is set to 1 when a NAK handshake is generated for  
an enabled address/endpoint combination (AD_EN in the  
FAR register is set to 1 and EP_EN in the EPCx register is  
set to 1) in response to an OUT token. This bit is not set if  
NAK is generated as result of an overrun condition. It is  
cleared when the register is read.  
3
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
345 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 503: USB_NAKEV_REG (0x5000181C)  
Bit  
Mode Symbol  
USB_IN31  
Description  
Reset  
2:0  
R
IN n: 3:1  
0x0  
The bit n is set to 1 when a NAK handshake is generated for  
an enabled address/endpoint combination (AD_EN in the  
Function Address, FAR, register is set to 1 and EP_EN in the  
Endpoint Control, EPCx, register is set to 1) in response to  
an IN token. This bit is cleared when the register is read.  
Table 504: USB_NAKMSK_REG (0x5000181E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:7  
6:4  
-
-
Reserved  
R/W  
USB_M_OUT31  
When set and the corresponding bit in the NAKEV register is  
set, the NAK bit in the MAEV register is set. When cleared,  
the corresponding bit in the NAKEV register does not cause  
NAK to be set. Same Bit Definition as NAKEV Register  
0x0  
3
-
-
Reserved  
0x0  
0x0  
2:0  
R/W  
USB_M_IN31  
Same Bit Definition as NAKEV Register  
Table 505: USB_FWEV_REG (0x50001820)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:7  
6:4  
-
-
Reserved  
R
USB_RXWARN31  
Receive Warning n: 3:1  
0x0  
The bit n is set to 1 when the respective receive endpoint  
FIFO reaches the warning limit, as specified by the RFWL  
bits of the respective EPCx register. This bit is cleared when  
the warning condition is cleared by either reading data from  
the FIFO or when the FIFO is flushed.  
3
-
-
Reserved  
0x0  
0x0  
2:0  
R
USB_TXWARN31  
Transmit Warning n: 3:1  
The bit n is set to 1 when the respective transmit endpoint  
FIFO reaches the warning limit, as specified by the TFWL  
bits of the respective TXCn register, and transmission from  
the respective endpoint is enabled. This bit is cleared when  
the warning condition is cleared by either writing new data to  
the FIFO when the FIFO is flushed, or when transmission is  
done, as indicated by the TX_DONE bit in the TXSn register.  
Table 506: USB_FWMSK_REG (0x50001822)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:7  
6:4  
-
-
Reserved  
R/W  
USB_M_RXWARN31  
The FIFO Warning Mask Register selects, which FWEV bits  
are reported in the MAEV register. A bit set to 1 and the cor-  
responding bit in the FWEV register is set 1, causes the  
WARN bit in the MAEV register to be set to 1. When cleared  
to 0, the corresponding bit in the FWEV register does not  
cause WARN to be set to 1. Same Bit Definition as FWEV  
Register  
0x0  
3
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
346 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 506: USB_FWMSK_REG (0x50001822)  
Bit  
Mode Symbol  
R/W USB_M_TXWARN31  
Description  
Reset  
2:0  
The FIFO Warning Mask Register selects, which FWEV bits  
are reported in the MAEV register. A bit set to 1 and the cor-  
responding bit in the FWEV register is set 1, causes the  
WARN bit in the MAEV register to be set to 1. When cleared  
to 0, the corresponding bit in the FWEV register does not  
cause WARN to be set to 1. Same Bit Definition as FWEV  
Register  
0x0  
Table 507: USB_FNH_REG (0x50001824)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
USB_MF  
Missed SOF Flag  
0x1  
This flag is set to 1, when the frame number in a valid  
received SOF does not match the expected next value, or  
when an SOF is not received within 12060 bit times. This bit  
is set by the hardware and is cleared by reading the FNH  
register.  
6
R
USB_UL  
Unlock Flag  
0x1  
This bit indicates that at least two frames were received with-  
out an expected frame number, or that no valid SOF was  
received within 12060 bit times. If this bit is set, the frame  
number from the next valid SOF packet is loaded in FN. This  
bit is set by the hardware and is cleared by reading the FNH  
register.  
5
R
USB_RFC  
Reset Frame Count  
0x0  
Writing a 1 to this bit resets the frame number to 00016, after  
which this bit clears itself to 0 again. This bit always reads 0.  
4:3  
2:0  
-
-
Reserved  
0x0  
0x0  
R
USB_FN_10_8  
Frame Number  
This 3-bit field contains the three most significant bits (MSB)  
of the current frame number, received in the last SOF  
packet. If a valid frame number is not received within 12060  
bit times (Frame Length Maximum, FLMAX, with tolerance)  
of the previous change, the frame number is incremented  
artificially. If two successive frames are missed or are incor-  
rect, the current FN is frozen and loaded with the next frame  
number from a valid SOF packet.  
If the frame number low byte was read by firmware before  
reading the FNH register, the user actually reads the con-  
tents of a buffer register which holds the value of the three  
frame number bits of this register when the low byte was  
read. Therefore, the correct sequence to read the frame  
number is: FNL, FNH. Read operations to the FNH register,  
without first reading the Frame Number Low Byte (FNL) reg-  
ister directly, read the actual value of the three MSBs of the  
frame number.  
Table 508: USB_FNL_REG (0x50001826)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
347 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 508: USB_FNL_REG (0x50001826)  
Bit  
Mode Symbol  
USB_FN  
Description  
Reset  
7:0  
R
The Frame Number Low Byte Register holds the low byte of  
the frame number. To ensure consistency, reading this low  
byte causes the three frame number bits in the FNH register  
to be locked until this register is read. The correct sequence  
to read the frame number is: FNL, FNH.  
0x0  
Table 509: USB_UX20CDR_REG (0x5000183E)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reserved  
Test bit  
Reset  
0x0  
-
-
R
RPU_TEST7  
0x0  
6
R/W  
RPU_TEST_SW2  
0: Closes SW2 switch to reduced pull-up resistor connected  
to the USB_Dp and USB_Dm.  
0x0  
1: Opens SW2 switch resistor connected to the USB_Dp and  
USB_Dm (independent of the VBus state).  
5
4
R/W  
R/W  
RPU_TEST_SW1  
RPU_TEST_EN  
0: Enable the pull-up resistor on USB_Dp (SW1 closed)  
1: Disable the pull-up resistor on USB_Dp (SW1 open)  
(Independent of the VBus state).  
0x0  
0x0  
Pull-Up Resistor Test Enable  
0: Normal operation  
1: Enables the test features controlled by RPU_TEST_SW1,  
RPU_TEST_SW1DM and RPU_TEST_SW2  
3
2
-
-
Reserved  
0x0  
0x0  
R/W  
RPU_TEST_SW1DM  
0: Enable the pull-up resistor on USB_Dm (SW1DM closed)  
1: Disable the pull-up resistor on USB_Dm (SW1DM open)  
(Independent of the VBus state).  
1
0
R/W  
R/W  
RPU_RCDELAY  
Test bit, must be kept 0  
Test bit, must be kept 0  
0x0  
0x0  
RPU_SSPROTEN  
Table 510: USB_EPC0_REG (0x50001840)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_STALL  
Stall  
0x0  
Setting this bit to 1 causes the chip to generate STALL hand-  
shakes under the following conditions:  
- The transmit FIFO is enabled and an IN token is received.  
- The receive FIFO is enabled and an OUT token is received.  
Note: A SETUP token does not cause a STALL handshake  
to be generated when this bit is set.  
Upon transmitting the STALL handshake, the RX_LAST and  
the TX_DONE bits in the respective Receive/Transmit Status  
registers are set to 1.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
348 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 510: USB_EPC0_REG (0x50001840)  
Bit  
Mode Symbol  
Description  
Reset  
6
R/W  
USB_DEF  
Default Address  
0x0  
When set to 1, the device responds to the default address  
regardless of the contents of FAR6-0/EP03-0 fields. When  
an IN packet is transmitted for the endpoint, the DEF bit is  
automatically cleared to 0.  
This bit aids in the transition from default address to  
assigned address. The transition from the default address  
00000000000b to an address assigned during bus enumera-  
tion may not occur in the middle of the SET_ADDRESS con-  
trol sequence. This is necessary to complete the control  
sequence. However, the address must change immediately  
after this sequence finishes in order to avoid errors when  
another control sequence immediately follows the  
SET_ADDRESS command.  
On USB reset, the firmware has 10 ms for set-up, and  
should write 8016 to the FAR register and 0016 to the EPC0  
register. On receipt of a SET_ADDRESS command, the firm-  
ware must write 4016 to the EPC0 register and (8016 or  
<assigned_function_address>) to the FAR register. It must  
then queue a zero length IN packet to complete the status  
phase of the SET_ADDRESS control sequence.  
5:4  
3:0  
-
-
Reserved  
0x0  
0x0  
R
USB_EP  
Endpoint Address  
This field holds the 4-bit Endpoint address. For Endpoint 0,  
these bits are hardwired to 0000b. Writing a 1 to any of the  
EP bits is ignored.  
Table 511: USB_TXD0_REG (0x50001842)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
W
USB_TXFD  
Transmit FIFO Data Byte  
0x0  
The firmware is expected to write only the packet payload  
data. The PID and CRC16 are created automatically.  
Table 512: USB_TXS0_REG (0x50001844)  
Bit  
15:7  
6
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
USB_ACK_STAT  
Acknowledge Status  
0x0  
This bit indicates the status, as received from the host, of the  
ACK for the packet previously sent. This bit is to be inter-  
preted when TX_DONE is set to 1. It is set to 1, when an  
ACK is received; otherwise, it remains cleared. This bit is  
also cleared to 0, when this register is read.  
5
R
R
USB_TX_DONE  
USB_TCOUNT  
Transmission Done  
When set to 1, this bit indicates that a packet has completed  
transmission. It is cleared to 0, when this register is read.  
0x0  
0x8  
4:0  
Transmission Count  
This 5-bit field indicates the number of empty bytes available  
in the FIFO. This field is never larger than 8 for Endpoint 0.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
349 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 513: USB_TXC0_REG (0x50001846)  
Bit  
15:5  
4
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R/W  
USB_IGN_IN  
Ignore IN Tokens  
When this bit is set to 1, the endpoint will ignore any IN  
tokens directed to its configured address.  
3
R/W  
R/W  
USB_FLUSH  
Flush FIFO  
0x0  
0x0  
Writing a 1 to this bit flushes all data from the control end-  
point FIFOs, resets the endpoint to Idle state, clears the  
FIFO read and write pointer, and then clears itself. If the end-  
point is currently using the FIFO0 to transfer data on USB,  
flushing is delayed until after the transfer is done. It is equiv-  
alent to the FLUSH bit in the RXC0 register.  
2
USB_TOGGLE_TX0  
Toggle  
This bit specifies the PID used when transmitting the packet.  
A value of 0 causes a DATA0 PID to be generated, while a  
value of 1 causes a DATA1 PID to be generated. This bit is  
not altered by the hardware.  
1
0
-
-
Reserved  
0x0  
0x0  
R/W  
USB_TX_EN  
Transmission Enable  
This bit enables data transmission from the FIFO. It is  
cleared to 0 by hardware after transmitting a single packet,  
or a STALL handshake, in response to an IN token. It must  
be set to 1 by firmware to start packet transmission. The  
RX_EN bit in the Receive Command 0 (RXC0) register takes  
precedence over this bit; i.e. if RX_EN is set, TX_EN bit is  
ignored until RX_EN is reset.  
Zero length packets are indicated by setting this bit without  
writing any data to the FIFO.  
Table 514: USB_EP0_NAK_REG (0x50001848)  
Bit  
15:2  
1
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
USB_EP0_OUTNAK  
End point 0 OUT NAK  
0x0  
This bit n is set to 1 when a NAK handshake is generated for  
an enabled address/endpoint combination (AD_EN in the  
FAR register is set to 1) in response to an OUT token. This  
bit is not set if NAK is generated as result of an overrun con-  
dition. It is cleared when the register is read.  
0
R
USB_EP0_INNAK  
End point 0 IN NAK  
0x0  
This bit is set to 1 when a NAK handshake is generated for  
an enabled address/endpoint combination (AD_EN in the  
FAR register is set to 1) in response to an IN token. This bit  
is cleared when the register is read.  
Table 515: USB_RXD0_REG (0x5000184A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R
USB_RXFD  
Receive FIFO Data Byte  
0x0  
The firmware should expect to read only the packet payload  
data. The PID and CRC16 are removed from the incoming  
data stream automatically.  
In TEST mode this register allow read/write access.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
350 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 516: USB_RXS0_REG (0x5000184C)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reserved  
Reserved  
Reset  
-
-
0x0  
0x0  
0x0  
-
-
6
R
USB_SETUP  
Setup  
This bit indicates that the setup packet has been received.  
This bit is unchanged for zero length packets. It is cleared to  
0 when this register is read.  
5
R
USB_TOGGLE_RX0  
Toggle  
0x0  
This bit specified the PID used when receiving the packet. A  
value of 0 indicates that the last successfully received packet  
had a DATA0 PID, while a value of 1 indicates that this  
packet had a DATA1 PID. This bit is unchanged for zero  
length packets. It is cleared to 0 when this register is read.  
4
R
R
USB_RX_LAST  
USB_RCOUNT  
Receive Last Bytes  
0x0  
0x0  
This bit indicates that an ACK was sent upon completion of a  
successful receive operation. This bit is unchanged for zero  
length packets. It is cleared to 0 when this register is read.  
3:0  
Receive Count  
This 4-bit field contains the number of bytes presently in the  
RX FIFO. This number is never larger than 8 for Endpoint 0.  
Table 517: USB_RXC0_REG (0x5000184E)  
Bit  
15:6  
5
Mode Symbol  
Description  
Reserved  
Reserved  
Reserved  
Reset  
0x0  
-
-
-
-
0x0  
4
-
-
0x0  
3
R/W  
USB_FLUSH  
Flush  
0x0  
Writing a 1 to this bit flushes all data from the control end-  
point FIFOs, resets the endpoint to Idle state, clears the  
FIFO read and write pointer, and then clears itself. If the end-  
point is currently using FIFO0 to transfer data on USB, flush-  
ing is delayed until after the transfer is done. This bit is  
cleared to 0 on reset. This bit is equivalent to FLUSH in the  
TXC0 register.  
2
1
R/W  
R/W  
USB_IGN_SETUP  
USB_IGN_OUT  
Ignore SETUP Tokens  
When this bit is set to 1, the endpoint ignores any SETUP  
tokens directed to its configured address.  
0x0  
0x0  
Ignore OUT Tokens  
When this bit is set to 1, the endpoint ignores any OUT  
tokens directed to its configured address.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
351 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 517: USB_RXC0_REG (0x5000184E)  
Bit  
Mode Symbol  
R/W USB_RX_EN  
Description  
Reset  
0
Receive Enable  
0x0  
OUT packet reception is disabled after every data packet is  
received, or when a STALL handshake is returned in  
response to an OUT token. A 1 must be written to this bit to  
re-enable data reception. Reception of SETUP packets is  
always enabled. In the case of back-to-back SETUP packets  
(for a given endpoint) where a valid SETUP packet is  
received with no other intervening non-SETUP tokens, the  
Endpoint Controller discards the new SETUP packet and  
returns an ACK handshake. If any other reasons prevent the  
Endpoint Controller from accepting the SETUP packet, it  
must not generate a handshake. This allows recovery from a  
condition where the ACK of the first SETUP token was lost  
by the host.  
Table 518: USB_EPC1_REG (0x50001850)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_STALL  
Stall  
0x0  
Setting this bit to 1 causes the chip to generate STALL hand-  
shakes under the following conditions:  
The transmit FIFO is enabled and an IN token is received.  
The receive FIFO is enabled and an OUT token is received.  
Setting this bit to 1 does not generate a STALL handshake in  
response to a SETUP token  
6
5
-
-
Reserved  
0x0  
0x0  
R/W  
USB_ISO  
Isochronous  
When this bit is set to 1, the endpoint is isochronous. This  
implies that no NAK is sent if the endpoint is not ready but  
enabled; i.e. If an IN token is received and no data is availa-  
ble in the FIFO to transmit, or if an OUT token is received  
and the FIFO is full since there is no USB handshake for  
isochronous transfers.  
4
R/W  
R/W  
USB_EP_EN  
USB_EP  
Endpoint Enable  
0x0  
0x0  
When this bit is set to 1, the EP[3:0] field is used in address  
comparison, together with the AD[6:0] field in the FAR regis-  
ter. When cleared to 0, the endpoint does not respond to any  
token on the USB bus.  
3:0  
Endpoint Address  
This 4-bit field holds the endpoint address.  
Table 519: USB_TXD1_REG (0x50001852)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
W
USB_TXFD  
Transmit FIFO Data Byte  
0x0  
The firmware is expected to write only the packet payload  
data. PID and CRC16 are inserted automatically in the trans-  
mit data stream.  
In TEST mode this register allow read/write access via the  
core bus.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
352 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 520: USB_TXS1_REG (0x50001854)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R
USB_TX_URUN  
Transmit FIFO Underrun  
This bit is set to 1, if the transmit FIFO becomes empty dur-  
ing a transmission, and no new data is written to the FIFO. If  
so, the Media Access Controller (MAC) forces a bit stuff error  
followed by an EOP. This bit is cleared to 0, when this regis-  
ter is read.  
6
R
USB_ACK_STAT  
Acknowledge Status  
0x0  
This bit is interpreted when TX_DONE is set. It's function dif-  
fers depending on whether ISO (ISO in the EPCx register is  
set) or non-ISO operation (ISO is reset) is used.  
For non-ISO operation, this bit indicates the acknowledge  
status (from the host) about the ACK for the previously sent  
packet. This bit itself is set to 1, when an ACK is received;  
otherwise, it is cleared to 0.  
For ISO operation, this bit is set if a frame number LSB  
match (see IGN_ISOMSK bit in the USB_TXCx_REG)  
occurs, and data was sent in response to an IN token. Other-  
wise, this bit is cleared to 0, the FIFO is flushed and  
TX_DONE is set.  
This bit is also cleared to 0, when this register is read.  
5
R
USB_TX_DONE  
Transmission Done  
0x0  
When set to 1, this bit indicates that the endpoint responded  
to a USB packet. Three conditions can cause this bit to be  
set:  
A data packet completed transmission in response to an IN  
token with non-ISO operation.  
The endpoint sent a STALL handshake in response to an IN  
token  
A scheduled ISO frame was transmitted or discarded.  
This bit is cleared to 0 when this register is read.  
4:0  
R
USB_TCOUNT  
Transmission Count  
0x1F  
This 5-bit field holds the number of empty bytes available in  
the FIFO. If this number is greater than 31, a value of 31 is  
actually reported.  
Table 521: USB_TXC1_REG (0x50001856)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_IGN_ISOMSK  
Ignore ISO Mask  
0x0  
This bit has an effect only if the endpoint is set to be isochro-  
nous. If set to 1, this bit disables locking of specific frame  
numbers with the alternate function of the TOGGLE bit. Thus  
data is transmitted upon reception of the next IN token. If  
cleared to 0, data is only transmitted when FNL0 matches  
TOGGLE. This bit is cleared to 0 after reset.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
353 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 521: USB_TXC1_REG (0x50001856)  
Bit  
Mode Symbol  
R/W USB_TFWL  
Description  
Reset  
0x0  
6:5  
Transmit FIFO Warning Limit  
These bits specify how many more bytes can be transmitted  
from the respective FIFO before an underrun condition  
occurs. If the number of bytes remaining in the FIFO is equal  
to or less than the selected warning limit, the TXWARN bit in  
the FWEV register is set. To avoid interrupts caused by set-  
ting this bit while the FIFO is being filled before a transmis-  
sion begins, TXWARN is only set when transmission from  
the endpoint is enabled (TX_ENn in the TXCn register is  
set).  
TFWL[1:0] :  
00: TFWL disabled  
01: Less than 5 bytes remaining in FIFO  
10: Less than 9 bytes remaining in FIFO  
11: Less than 17 bytes remaining in FIFO  
4
R/W  
USB_RFF  
Refill FIFO  
0x0  
Setting the LAST bit to 1 automatically saves the Transmit  
Read Pointer (TXRP) to a buffer. When the RFF bit is set to  
1, the buffered TXRP is reloaded into the TXRP. This allows  
the user to repeat the last transaction if no ACK was  
received from the host. If the MAC is currently using the  
FIFO to transmit, TXRP is reloaded only after the transmis-  
sion is complete. After reload, this bit is cleared to 0 by hard-  
ware.  
3
2
R/W  
R/W  
USB_FLUSH  
Flush FIFO  
0x0  
0x0  
Writing a 1 to this bit flushes all data from the corresponding  
transmit FIFO, resets the endpoint to Idle state, and clears  
both the FIFO read and write pointers. If the MAC is currently  
using the FIFO to transmit, data is flushed after the transmis-  
sion is complete. After data flushing, this bit is cleared to 0 by  
hardware.  
USB_TOGGLE_TX  
Toggle  
The function of this bit differs depending on whether ISO  
(ISO bit in the EPCn register is set to 1) or non-ISO opera-  
tion (ISO bit is cleared to 0) is used.  
For non-ISO operation, it specifies the PID used when trans-  
mitting the packet. A value of 0 causes a DATA0 PID to be  
generated, while a value of 1 causes a DATA1 PID to be  
generated.  
For ISO operation, this bit and the LSB of the frame counter  
(FNL0) act as a mask for the TX_EN bit to allow pre-queuing  
of packets to specific frame numbers; I.e. transmission is  
enabled only if bit 0 in the FNL register is set to TOGGLE. If  
an IN token is not received while this condition is true, the  
contents of the FIFO are flushed with the next SOF. If the  
endpoint is set to ISO, data is always transferred with a  
DATA0 PID.  
1
R/W  
USB_LAST  
Last Byte  
0x0  
Setting this bit to 1 indicates that the entire packet has been  
written into the FIFO. This is used especially for streaming  
data to the FIFO while the actual transmission occurs. If the  
LAST bit is not set to 1 and the transmit FIFO becomes  
empty during a transmission, a stuff error followed by an  
EOP is forced on the bus. Zero length packets are indicated  
by setting this bit without writing any data to the FIFO.  
The transmit state machine transmits the payload data,  
CRC16 and the EOP signal before clearing this bit.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
354 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 521: USB_TXC1_REG (0x50001856)  
Bit  
Mode Symbol  
R/W USB_TX_EN  
Description  
Reset  
0
Transmission Enable  
0x0  
This bit enables data transmission from the FIFO. It is  
cleared to 0 by hardware after transmitting a single packet or  
after a STALL handshake in response to an IN token. It must  
be set to 1 by firmware to start packet transmission.  
Table 522: USB_EPC2_REG (0x50001858)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_STALL  
Stall  
0x0  
Setting this bit to 1 causes the chip to generate STALL hand-  
shakes under the following conditions:  
The transmit FIFO is enabled and an IN token is received.  
The receive FIFO is enabled and an OUT token is received.  
Setting this bit to 1 does not generate a STALL handshake in  
response to a SETUP token  
6
5
-
-
Reserved  
0x0  
0x0  
R/W  
USB_ISO  
Isochronous  
When this bit is set to 1, the endpoint is isochronous. This  
implies that no NAK is sent if the endpoint is not ready but  
enabled; i.e. If an IN token is received and no data is availa-  
ble in the FIFO to transmit, or if an OUT token is received  
and the FIFO is full since there is no USB handshake for  
isochronous transfers.  
4
R/W  
R/W  
USB_EP_EN  
USB_EP  
Endpoint Enable  
0x0  
0x0  
When this bit is set to 1, the EP[3:0] field is used in address  
comparison, together with the AD[6:0] field in the FAR regis-  
ter. When cleared to 0, the endpoint does not respond to any  
token on the USB bus.  
3:0  
Endpoint Address  
This 4-bit field holds the endpoint address.  
Table 523: USB_RXD1_REG (0x5000185A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R
USB_RXFD  
Receive FIFO Data Byte  
0x0  
The firmware should expect to read only the packet payload  
data. The PID and CRC16 are terminated by the receive  
state machine.  
In TEST mode this register allow read/write access via the  
core bus.  
Table 524: USB_RXS1_REG (0x5000185C)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
USB_RX_ERR  
Receive Error  
0x0  
When set to 1, this bit indicates a media error, such as bit-  
stuffing or CRC. If this bit is set to 1, the firmware must flush  
the respective FIFO.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
355 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 524: USB_RXS1_REG (0x5000185C)  
Bit  
Mode Symbol  
Description  
Reset  
6
R
R
USB_SETUP  
Setup  
0x0  
This bit indicates that the setup packet has been received. It  
is cleared when this register is read.  
5
USB_TOGGLE_RX  
Toggle  
0x0  
The function of this bit differs depending on whether ISO  
(ISO in the EPCn register is set) or non-ISO operation (ISO  
is reset) is used.  
For non-ISO operation, a value of 0 indicates that the last  
successfully received packet had a DATA0 PID, while a  
value of 1 indicates that this packet had a DATA1 PID.  
For ISO operation, this bit reflects the LSB of the frame num-  
ber (FNL0) after a packet was successfully received for this  
endpoint.  
This bit is reset to 0 by reading the RXSn register.  
4
R
R
USB_RX_LAST  
USB_RCOUNT  
Receive Last  
0x0  
0x0  
This bit indicates that an ACK was sent upon completion of a  
successful receive operation. This bit is cleared to 0 when  
this register is read.  
3:0  
Receive Counter  
This 4-bit field contains the number of bytes presently in the  
endpoint receive FIFO. If this number is greater than 15, a  
value of 15 is actually reported.  
Table 525: USB_RXC1_REG (0x5000185E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:7  
6:5  
-
-
Reserved  
R/W  
USB_RFWL  
Receive FIFO Warning Limit  
0x0  
These bits specify how many more bytes can be received to  
the respective FIFO before an overrun condition occurs. If  
the number of empty bytes remaining in the FIFO is equal to  
or less than the selected warning limit, the RXWARN bit in  
the FWEV register is set to 1.RFWL[1:0] :  
00: RFWL disabled  
01: Less than 5 bytes remaining in FIFO  
10: Less than 9 bytes remaining in FIFO  
11: Less than 17 bytes remaining in FIFO  
4
3
-
-
Reserved  
0x0  
0x0  
R/W  
USB_FLUSH  
Flush FIFO  
Writing a 1 to this bit flushes all data from the corresponding  
receive FIFO, resets the endpoint to Idle state, and resets  
both the FIFO read and write pointers. If the MAC is currently  
using the FIFO to receive data, flushing is delayed until after  
receiving is completed.  
2
1
R/W  
-
USB_IGN_SETUP  
-
Ignore SETUP Tokens  
When this bit is set to 1, the endpoint ignores any SETUP  
tokens directed to its configured address.  
0x0  
0x0  
Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
356 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 525: USB_RXC1_REG (0x5000185E)  
Bit  
Mode Symbol  
R/W USB_RX_EN  
Description  
Reset  
0
Receive Enable  
0x0  
OUT packet cannot be received after every data packet is  
received, or when a STALL handshake is returned in  
response to an OUT token. This bit must be written with a 1  
to re-enable data reception. SETUP packets can always be  
received. In the case of back-to-back SETUP packets (for a  
given endpoint) where a valid SETUP packet has been  
received with no other intervening non-SETUP tokens, the  
receive state machine discards the new SETUP packet and  
returns an ACK handshake. If, for any other reason, the  
receive state machine cannot accept the SETUP packet, no  
HANDSHAKE should be generated.  
Table 526: USB_EPC3_REG (0x50001860)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_STALL  
Stall  
0x0  
Setting this bit to 1 causes the chip to generate STALL hand-  
shakes under the following conditions:  
The transmit FIFO is enabled and an IN token is received.  
The receive FIFO is enabled and an OUT token is received.  
Setting this bit to 1 does not generate a STALL handshake in  
response to a SETUP token  
6
5
-
-
Reserved  
0x0  
0x0  
R/W  
USB_ISO  
Isochronous  
When this bit is set to 1, the endpoint is isochronous. This  
implies that no NAK is sent if the endpoint is not ready but  
enabled; i.e. If an IN token is received and no data is availa-  
ble in the FIFO to transmit, or if an OUT token is received  
and the FIFO is full since there is no USB handshake for  
isochronous transfers.  
4
R/W  
R/W  
USB_EP_EN  
USB_EP  
Endpoint Enable  
0x0  
0x0  
When this bit is set to 1, the EP[3:0] field is used in address  
comparison, together with the AD[6:0] field in the FAR regis-  
ter. When cleared to 0, the endpoint does not respond to any  
token on the USB bus.  
3:0  
Endpoint Address  
This 4-bit field holds the endpoint address.  
Table 527: USB_TXD2_REG (0x50001862)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
W
USB_TXFD  
Transmit FIFO Data Byte  
0x0  
The firmware is expected to write only the packet payload  
data. PID and CRC16 are inserted automatically in the trans-  
mit data stream.  
In TEST mode this register allow read/write access via the  
core bus.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
357 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 528: USB_TXS2_REG (0x50001864)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R
USB_TX_URUN  
Transmit FIFO Underrun  
This bit is set to 1, if the transmit FIFO becomes empty dur-  
ing a transmission, and no new data is written to the FIFO. If  
so, the Media Access Controller (MAC) forces a bit stuff error  
followed by an EOP. This bit is cleared to 0, when this regis-  
ter is read.  
6
R
USB_ACK_STAT  
Acknowledge Status  
0x0  
This bit is interpreted when TX_DONE is set. It's function dif-  
fers depending on whether ISO (ISO in the EPCx register is  
set) or non-ISO operation (ISO is reset) is used.  
For non-ISO operation, this bit indicates the acknowledge  
status (from the host) about the ACK for the previously sent  
packet. This bit itself is set to 1, when an ACK is received;  
otherwise, it is cleared to 0.  
For ISO operation, this bit is set if a frame number LSB  
match (see IGN_ISOMSK bit in the USB_TXCx_REG)  
occurs, and data was sent in response to an IN token. Other-  
wise, this bit is cleared to 0, the FIFO is flushed and  
TX_DONE is set.  
This bit is also cleared to 0, when this register is read.  
5
R
USB_TX_DONE  
Transmission Done  
0x0  
When set to 1, this bit indicates that the endpoint responded  
to a USB packet. Three conditions can cause this bit to be  
set:  
A data packet completed transmission in response to an IN  
token with non-ISO operation.  
The endpoint sent a STALL handshake in response to an IN  
token  
A scheduled ISO frame was transmitted or discarded.  
This bit is cleared to 0 when this register is read.  
4:0  
R
USB_TCOUNT  
Transmission Count  
0x1F  
This 5-bit field holds the number of empty bytes available in  
the FIFO. If this number is greater than 31, a value of 31 is  
actually reported.  
Table 529: USB_TXC2_REG (0x50001866)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_IGN_ISOMSK  
Ignore ISO Mask  
0x0  
This bit has an effect only if the endpoint is set to be isochro-  
nous. If set to 1, this bit disables locking of specific frame  
numbers with the alternate function of the TOGGLE bit. Thus  
data is transmitted upon reception of the next IN token. If  
cleared to 0, data is only transmitted when FNL0 matches  
TOGGLE. This bit is cleared to 0 after reset.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
358 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 529: USB_TXC2_REG (0x50001866)  
Bit  
Mode Symbol  
R/W USB_TFWL  
Description  
Reset  
0x0  
6:5  
Transmit FIFO Warning Limit  
These bits specify how many more bytes can be transmitted  
from the respective FIFO before an underrun condition  
occurs. If the number of bytes remaining in the FIFO is equal  
to or less than the selected warning limit, the TXWARN bit in  
the FWEV register is set. To avoid interrupts caused by set-  
ting this bit while the FIFO is being filled before a transmis-  
sion begins, TXWARN is only set when transmission from  
the endpoint is enabled (TX_ENn in the TXCn register is  
set).  
TFWL[1:0] :  
00: TFWL disabled  
01: Less than 5 bytes remaining in FIFO  
10: Less than 9 bytes remaining in FIFO  
11: Less than 17 bytes remaining in FIFO  
4
R/W  
USB_RFF  
Refill FIFO  
0x0  
Setting the LAST bit to 1 automatically saves the Transmit  
Read Pointer (TXRP) to a buffer. When the RFF bit is set to  
1, the buffered TXRP is reloaded into the TXRP. This allows  
the user to repeat the last transaction if no ACK was  
received from the host. If the MAC is currently using the  
FIFO to transmit, TXRP is reloaded only after the transmis-  
sion is complete. After reload, this bit is cleared to 0 by hard-  
ware.  
3
2
R/W  
R/W  
USB_FLUSH  
Flush FIFO  
0x0  
0x0  
Writing a 1 to this bit flushes all data from the corresponding  
transmit FIFO, resets the endpoint to Idle state, and clears  
both the FIFO read and write pointers. If the MAC is currently  
using the FIFO to transmit, data is flushed after the transmis-  
sion is complete. After data flushing, this bit is cleared to 0 by  
hardware.  
USB_TOGGLE_TX  
Toggle  
The function of this bit differs depending on whether ISO  
(ISO bit in the EPCn register is set to 1) or non-ISO opera-  
tion (ISO bit is cleared to 0) is used.  
For non-ISO operation, it specifies the PID used when trans-  
mitting the packet. A value of 0 causes a DATA0 PID to be  
generated, while a value of 1 causes a DATA1 PID to be  
generated.  
For ISO operation, this bit and the LSB of the frame counter  
(FNL0) act as a mask for the TX_EN bit to allow pre-queuing  
of packets to specific frame numbers; I.e. transmission is  
enabled only if bit 0 in the FNL register is set to TOGGLE. If  
an IN token is not received while this condition is true, the  
contents of the FIFO are flushed with the next SOF. If the  
endpoint is set to ISO, data is always transferred with a  
DATA0 PID.  
1
R/W  
USB_LAST  
Last Byte  
0x0  
Setting this bit to 1 indicates that the entire packet has been  
written into the FIFO. This is used especially for streaming  
data to the FIFO while the actual transmission occurs. If the  
LAST bit is not set to 1 and the transmit FIFO becomes  
empty during a transmission, a stuff error followed by an  
EOP is forced on the bus. Zero length packets are indicated  
by setting this bit without writing any data to the FIFO.  
The transmit state machine transmits the payload data,  
CRC16 and the EOP signal before clearing this bit.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
359 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 529: USB_TXC2_REG (0x50001866)  
Bit  
Mode Symbol  
R/W USB_TX_EN  
Description  
Reset  
0
Transmission Enable  
0x0  
This bit enables data transmission from the FIFO. It is  
cleared to 0 by hardware after transmitting a single packet or  
after a STALL handshake in response to an IN token. It must  
be set to 1 by firmware to start packet transmission.  
Table 530: USB_EPC4_REG (0x50001868)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_STALL  
Stall  
0x0  
Setting this bit to 1 causes the chip to generate STALL hand-  
shakes under the following conditions:  
The transmit FIFO is enabled and an IN token is received.  
The receive FIFO is enabled and an OUT token is received.  
Setting this bit to 1 does not generate a STALL handshake in  
response to a SETUP token  
6
5
-
-
Reserved  
0x0  
0x0  
R/W  
USB_ISO  
Isochronous  
When this bit is set to 1, the endpoint is isochronous. This  
implies that no NAK is sent if the endpoint is not ready but  
enabled; i.e. If an IN token is received and no data is availa-  
ble in the FIFO to transmit, or if an OUT token is received  
and the FIFO is full since there is no USB handshake for  
isochronous transfers.  
4
R/W  
R/W  
USB_EP_EN  
USB_EP  
Endpoint Enable  
0x0  
0x0  
When this bit is set to 1, the EP[3:0] field is used in address  
comparison, together with the AD[6:0] field in the FAR regis-  
ter. When cleared to 0, the endpoint does not respond to any  
token on the USB bus.  
3:0  
Endpoint Address  
This 4-bit field holds the endpoint address.  
Table 531: USB_RXD2_REG (0x5000186A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R
USB_RXFD  
Receive FIFO Data Byte  
0x0  
The firmware should expect to read only the packet payload  
data. The PID and CRC16 are terminated by the receive  
state machine.  
In TEST mode this register allow read/write access via the  
core bus.  
Table 532: USB_RXS2_REG (0x5000186C)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
USB_RX_ERR  
Receive Error  
0x0  
When set to 1, this bit indicates a media error, such as bit-  
stuffing or CRC. If this bit is set to 1, the firmware must flush  
the respective FIFO.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
360 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 532: USB_RXS2_REG (0x5000186C)  
Bit  
Mode Symbol  
Description  
Reset  
6
R
R
USB_SETUP  
Setup  
0x0  
This bit indicates that the setup packet has been received. It  
is cleared when this register is read.  
5
USB_TOGGLE_RX  
Toggle  
0x0  
The function of this bit differs depending on whether ISO  
(ISO in the EPCn register is set) or non-ISO operation (ISO  
is reset) is used.  
For non-ISO operation, a value of 0 indicates that the last  
successfully received packet had a DATA0 PID, while a  
value of 1 indicates that this packet had a DATA1 PID.  
For ISO operation, this bit reflects the LSB of the frame num-  
ber (FNL0) after a packet was successfully received for this  
endpoint.  
This bit is reset to 0 by reading the RXSn register.  
4
R
R
USB_RX_LAST  
USB_RCOUNT  
Receive Last  
0x0  
0x0  
This bit indicates that an ACK was sent upon completion of a  
successful receive operation. This bit is cleared to 0 when  
this register is read.  
3:0  
Receive Counter  
This 4-bit field contains the number of bytes presently in the  
endpoint receive FIFO. If this number is greater than 15, a  
value of 15 is actually reported.  
Table 533: USB_RXC2_REG (0x5000186E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:7  
6:5  
-
-
Reserved  
R/W  
USB_RFWL  
Receive FIFO Warning Limit  
0x0  
These bits specify how many more bytes can be received to  
the respective FIFO before an overrun condition occurs. If  
the number of empty bytes remaining in the FIFO is equal to  
or less than the selected warning limit, the RXWARN bit in  
the FWEV register is set to 1.RFWL[1:0] :  
00: RFWL disabled  
01: Less than 5 bytes remaining in FIFO  
10: Less than 9 bytes remaining in FIFO  
11: Less than 17 bytes remaining in FIFO  
4
3
-
-
Reserved  
0x0  
0x0  
R/W  
USB_FLUSH  
Flush FIFO  
Writing a 1 to this bit flushes all data from the corresponding  
receive FIFO, resets the endpoint to Idle state, and resets  
both the FIFO read and write pointers. If the MAC is currently  
using the FIFO to receive data, flushing is delayed until after  
receiving is completed.  
2
1
R/W  
-
USB_IGN_SETUP  
-
Ignore SETUP Tokens  
When this bit is set to 1, the endpoint ignores any SETUP  
tokens directed to its configured address.  
0x0  
0x0  
Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
361 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 533: USB_RXC2_REG (0x5000186E)  
Bit  
Mode Symbol  
R/W USB_RX_EN  
Description  
Reset  
0
Receive Enable  
0x0  
OUT packet cannot be received after every data packet is  
received, or when a STALL handshake is returned in  
response to an OUT token. This bit must be written with a 1  
to re-enable data reception. SETUP packets can always be  
received. In the case of back-to-back SETUP packets (for a  
given endpoint) where a valid SETUP packet has been  
received with no other intervening non-SETUP tokens, the  
receive state machine discards the new SETUP packet and  
returns an ACK handshake. If, for any other reason, the  
receive state machine cannot accept the SETUP packet, no  
HANDSHAKE should be generated.  
Table 534: USB_EPC5_REG (0x50001870)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_STALL  
Stall  
0x0  
Setting this bit to 1 causes the chip to generate STALL hand-  
shakes under the following conditions:  
The transmit FIFO is enabled and an IN token is received.  
The receive FIFO is enabled and an OUT token is received.  
Setting this bit to 1 does not generate a STALL handshake in  
response to a SETUP token  
6
5
-
-
Reserved  
0x0  
0x0  
R/W  
USB_ISO  
Isochronous  
When this bit is set to 1, the endpoint is isochronous. This  
implies that no NAK is sent if the endpoint is not ready but  
enabled; i.e. If an IN token is received and no data is availa-  
ble in the FIFO to transmit, or if an OUT token is received  
and the FIFO is full since there is no USB handshake for  
isochronous transfers.  
4
R/W  
R/W  
USB_EP_EN  
USB_EP  
Endpoint Enable  
0x0  
0x0  
When this bit is set to 1, the EP[3:0] field is used in address  
comparison, together with the AD[6:0] field in the FAR regis-  
ter. When cleared to 0, the endpoint does not respond to any  
token on the USB bus.  
3:0  
Endpoint Address  
This 4-bit field holds the endpoint address.  
Table 535: USB_TXD3_REG (0x50001872)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
W
USB_TXFD  
Transmit FIFO Data Byte  
0x0  
The firmware is expected to write only the packet payload  
data. PID and CRC16 are inserted automatically in the trans-  
mit data stream.  
In TEST mode this register allow read/write access via the  
core bus.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
362 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 536: USB_TXS3_REG (0x50001874)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R
USB_TX_URUN  
Transmit FIFO Underrun  
This bit is set to 1, if the transmit FIFO becomes empty dur-  
ing a transmission, and no new data is written to the FIFO. If  
so, the Media Access Controller (MAC) forces a bit stuff error  
followed by an EOP. This bit is cleared to 0, when this regis-  
ter is read.  
6
R
USB_ACK_STAT  
Acknowledge Status  
0x0  
This bit is interpreted when TX_DONE is set. It's function dif-  
fers depending on whether ISO (ISO in the EPCx register is  
set) or non-ISO operation (ISO is reset) is used.  
For non-ISO operation, this bit indicates the acknowledge  
status (from the host) about the ACK for the previously sent  
packet. This bit itself is set to 1, when an ACK is received;  
otherwise, it is cleared to 0.  
For ISO operation, this bit is set if a frame number LSB  
match (see IGN_ISOMSK bit in the USB_TXCx_REG)  
occurs, and data was sent in response to an IN token. Other-  
wise, this bit is cleared to 0, the FIFO is flushed and  
TX_DONE is set.  
This bit is also cleared to 0, when this register is read.  
5
R
USB_TX_DONE  
Transmission Done  
0x0  
When set to 1, this bit indicates that the endpoint responded  
to a USB packet. Three conditions can cause this bit to be  
set:  
A data packet completed transmission in response to an IN  
token with non-ISO operation.  
The endpoint sent a STALL handshake in response to an IN  
token  
A scheduled ISO frame was transmitted or discarded.  
This bit is cleared to 0 when this register is read.  
4:0  
R
USB_TCOUNT  
Transmission Count  
0x1F  
This 5-bit field holds the number of empty bytes available in  
the FIFO. If this number is greater than 31, a value of 31 is  
actually reported.  
Table 537: USB_TXC3_REG (0x50001876)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_IGN_ISOMSK  
Ignore ISO Mask  
0x0  
This bit has an effect only if the endpoint is set to be isochro-  
nous. If set to 1, this bit disables locking of specific frame  
numbers with the alternate function of the TOGGLE bit. Thus  
data is transmitted upon reception of the next IN token. If  
cleared to 0, data is only transmitted when FNL0 matches  
TOGGLE. This bit is cleared to 0 after reset.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
363 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 537: USB_TXC3_REG (0x50001876)  
Bit  
Mode Symbol  
R/W USB_TFWL  
Description  
Reset  
0x0  
6:5  
Transmit FIFO Warning Limit  
These bits specify how many more bytes can be transmitted  
from the respective FIFO before an underrun condition  
occurs. If the number of bytes remaining in the FIFO is equal  
to or less than the selected warning limit, the TXWARN bit in  
the FWEV register is set. To avoid interrupts caused by set-  
ting this bit while the FIFO is being filled before a transmis-  
sion begins, TXWARN is only set when transmission from  
the endpoint is enabled (TX_ENn in the TXCn register is  
set).  
TFWL[1:0] :  
00: TFWL disabled  
01: Less than 5 bytes remaining in FIFO  
10: Less than 9 bytes remaining in FIFO  
11: Less than 17 bytes remaining in FIFO  
4
R/W  
USB_RFF  
Refill FIFO  
0x0  
Setting the LAST bit to 1 automatically saves the Transmit  
Read Pointer (TXRP) to a buffer. When the RFF bit is set to  
1, the buffered TXRP is reloaded into the TXRP. This allows  
the user to repeat the last transaction if no ACK was  
received from the host. If the MAC is currently using the  
FIFO to transmit, TXRP is reloaded only after the transmis-  
sion is complete. After reload, this bit is cleared to 0 by hard-  
ware.  
3
2
R/W  
R/W  
USB_FLUSH  
Flush FIFO  
0x0  
0x0  
Writing a 1 to this bit flushes all data from the corresponding  
transmit FIFO, resets the endpoint to Idle state, and clears  
both the FIFO read and write pointers. If the MAC is currently  
using the FIFO to transmit, data is flushed after the transmis-  
sion is complete. After data flushing, this bit is cleared to 0 by  
hardware.  
USB_TOGGLE_TX  
Toggle  
The function of this bit differs depending on whether ISO  
(ISO bit in the EPCn register is set to 1) or non-ISO opera-  
tion (ISO bit is cleared to 0) is used.  
For non-ISO operation, it specifies the PID used when trans-  
mitting the packet. A value of 0 causes a DATA0 PID to be  
generated, while a value of 1 causes a DATA1 PID to be  
generated.  
For ISO operation, this bit and the LSB of the frame counter  
(FNL0) act as a mask for the TX_EN bit to allow pre-queuing  
of packets to specific frame numbers; I.e. transmission is  
enabled only if bit 0 in the FNL register is set to TOGGLE. If  
an IN token is not received while this condition is true, the  
contents of the FIFO are flushed with the next SOF. If the  
endpoint is set to ISO, data is always transferred with a  
DATA0 PID.  
1
R/W  
USB_LAST  
Last Byte  
0x0  
Setting this bit to 1 indicates that the entire packet has been  
written into the FIFO. This is used especially for streaming  
data to the FIFO while the actual transmission occurs. If the  
LAST bit is not set to 1 and the transmit FIFO becomes  
empty during a transmission, a stuff error followed by an  
EOP is forced on the bus. Zero length packets are indicated  
by setting this bit without writing any data to the FIFO.  
The transmit state machine transmits the payload data,  
CRC16 and the EOP signal before clearing this bit.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
364 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 537: USB_TXC3_REG (0x50001876)  
Bit  
Mode Symbol  
R/W USB_TX_EN  
Description  
Reset  
0
Transmission Enable  
0x0  
This bit enables data transmission from the FIFO. It is  
cleared to 0 by hardware after transmitting a single packet or  
after a STALL handshake in response to an IN token. It must  
be set to 1 by firmware to start packet transmission.  
Table 538: USB_EPC6_REG (0x50001878)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
USB_STALL  
Stall  
0x0  
Setting this bit to 1 causes the chip to generate STALL hand-  
shakes under the following conditions:  
The transmit FIFO is enabled and an IN token is received.  
The receive FIFO is enabled and an OUT token is received.  
Setting this bit to 1 does not generate a STALL handshake in  
response to a SETUP token  
6
5
-
-
Reserved  
0x0  
0x0  
R/W  
USB_ISO  
Isochronous  
When this bit is set to 1, the endpoint is isochronous. This  
implies that no NAK is sent if the endpoint is not ready but  
enabled; i.e. If an IN token is received and no data is availa-  
ble in the FIFO to transmit, or if an OUT token is received  
and the FIFO is full since there is no USB handshake for  
isochronous transfers.  
4
R/W  
R/W  
USB_EP_EN  
USB_EP  
Endpoint Enable  
0x0  
0x0  
When this bit is set to 1, the EP[3:0] field is used in address  
comparison, together with the AD[6:0] field in the FAR regis-  
ter. When cleared to 0, the endpoint does not respond to any  
token on the USB bus.  
3:0  
Endpoint Address  
This 4-bit field holds the endpoint address.  
Table 539: USB_RXD3_REG (0x5000187A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R
USB_RXFD  
Receive FIFO Data Byte  
0x0  
The firmware should expect to read only the packet payload  
data. The PID and CRC16 are terminated by the receive  
state machine.  
In TEST mode this register allow read/write access via the  
core bus.  
Table 540: USB_RXS3_REG (0x5000187C)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
USB_RX_ERR  
Receive Error  
0x0  
When set to 1, this bit indicates a media error, such as bit-  
stuffing or CRC. If this bit is set to 1, the firmware must flush  
the respective FIFO.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
365 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 540: USB_RXS3_REG (0x5000187C)  
Bit  
Mode Symbol  
Description  
Reset  
6
R
R
USB_SETUP  
Setup  
0x0  
This bit indicates that the setup packet has been received. It  
is cleared when this register is read.  
5
USB_TOGGLE_RX  
Toggle  
0x0  
The function of this bit differs depending on whether ISO  
(ISO in the EPCn register is set) or non-ISO operation (ISO  
is reset) is used.  
For non-ISO operation, a value of 0 indicates that the last  
successfully received packet had a DATA0 PID, while a  
value of 1 indicates that this packet had a DATA1 PID.  
For ISO operation, this bit reflects the LSB of the frame num-  
ber (FNL0) after a packet was successfully received for this  
endpoint.  
This bit is reset to 0 by reading the RXSn register.  
4
R
R
USB_RX_LAST  
USB_RCOUNT  
Receive Last  
0x0  
0x0  
This bit indicates that an ACK was sent upon completion of a  
successful receive operation. This bit is cleared to 0 when  
this register is read.  
3:0  
Receive Counter  
This 4-bit field contains the number of bytes presently in the  
endpoint receive FIFO. If this number is greater than 15, a  
value of 15 is actually reported.  
Table 541: USB_RXC3_REG (0x5000187E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:7  
6:5  
-
-
Reserved  
R/W  
USB_RFWL  
Receive FIFO Warning Limit  
0x0  
These bits specify how many more bytes can be received to  
the respective FIFO before an overrun condition occurs. If  
the number of empty bytes remaining in the FIFO is equal to  
or less than the selected warning limit, the RXWARN bit in  
the FWEV register is set to 1.RFWL[1:0] :  
00: RFWL disabled  
01: Less than 5 bytes remaining in FIFO  
10: Less than 9 bytes remaining in FIFO  
11: Less than 17 bytes remaining in FIFO  
4
3
-
-
Reserved  
0x0  
0x0  
R/W  
USB_FLUSH  
Flush FIFO  
Writing a 1 to this bit flushes all data from the corresponding  
receive FIFO, resets the endpoint to Idle state, and resets  
both the FIFO read and write pointers. If the MAC is currently  
using the FIFO to receive data, flushing is delayed until after  
receiving is completed.  
2
1
R/W  
-
USB_IGN_SETUP  
-
Ignore SETUP Tokens  
When this bit is set to 1, the endpoint ignores any SETUP  
tokens directed to its configured address.  
0x0  
0x0  
Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
366 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 541: USB_RXC3_REG (0x5000187E)  
Bit  
Mode Symbol  
R/W USB_RX_EN  
Description  
Reset  
0
Receive Enable  
0x0  
OUT packet cannot be received after every data packet is  
received, or when a STALL handshake is returned in  
response to an OUT token. This bit must be written with a 1  
to re-enable data reception. SETUP packets can always be  
received. In the case of back-to-back SETUP packets (for a  
given endpoint) where a valid SETUP packet has been  
received with no other intervening non-SETUP tokens, the  
receive state machine discards the new SETUP packet and  
returns an ACK handshake. If, for any other reason, the  
receive state machine cannot accept the SETUP packet, no  
HANDSHAKE should be generated.  
Table 542: USB_DMA_CTRL_REG (0x500018D0)  
Bit  
Mode Symbol  
Description  
Reset  
6
R/W  
R/W  
R/W  
USB_DMA_EN  
0 = USB DMA control off. (Normal operation)  
1 = USB_DMA on. DMA channels 0 and 1 are connected by  
USB Endpoint according bits USB_DMA_TX and  
USB_DMA_RX  
0x0  
5:3  
2:0  
USB_DMA_TX  
USB_DMA_RX  
000 = DMA channels 1 is connected Tx USB Endpoint 1  
001 = DMA channels 1 is connected Tx USB Endpoint 3  
010 = DMA channels 1 is connected Tx USB Endpoint 5  
100, 1xx = Reserved  
0x0  
0x0  
000 = DMA channels 0 is connected Rx USB Endpoint 2  
001 = DMA channels 0 is connected Rx USB Endpoint 4  
010 = DMA channels 0 is connected Rx USB Endpoint 6  
100, 1xx = Reserved  
Table 543: USB_CHARGER_CTRL_REG (0x500018D4)  
Bit  
15:6  
5
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
IDM_SINK_ON  
0 = Disable  
0x0  
1 = Enable the Idm_sink to USBm  
4
3
R/W  
R/W  
IDP_SINK_ON  
VDM_SRC_ON  
0 = Disable  
1 = Enable the Idp_sink to USBp  
0x0  
0x0  
0 = Disable  
1 = Enable Vdm_src to USBm and USB_DCP_DET status  
bit.  
2
1
0
R/W  
R/W  
R/W  
VDP_SRC_ON  
IDP_SRC_ON  
0 = Disable  
0x0  
0x0  
0x0  
1 = Enable the Vdp_src to USB_CHG_DET status bit.  
0 = Disable  
1 = Enable the Idp_src and Rdm_dwn.  
USB_CHARGE_ON  
0 = Disable USB charger detect circuit.  
1 = Enable USB charger detect circuit.  
Table 544: USB_CHARGER_STAT_REG (0x500018D6)  
Bit  
15:6  
5
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
USB_DM_VAL2  
0 = USBm <2.3V  
1 = USBm >2.5V  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
367 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 544: USB_CHARGER_STAT_REG (0x500018D6)  
Bit  
Mode Symbol  
Description  
Reset  
4
R
R
R
R
USB_DP_VAL2  
0: USBp < 2.3V  
1: USBp > 2.5V  
0x0  
0x0  
0x0  
0x0  
3
2
1
USB_DM_VAL  
USB_DP_VAL  
USB_CHG_DET  
0 = USBm < 0.8V  
1 = USBm > 1.5V (PS2 or Proprietary Charger)  
0 = USBp < 0.8V  
1 = USBp > 1.5V  
0 = Standard downstream or nothing connected.  
1 = Charging Downstream Port (CDP) or Dedicated Charg-  
ing.  
0
R
USB_DCP_DET  
0 = Charging downstream port is detected.  
1 = Dedicated charger is detected.  
Control bit VDM_SRC_ON must be set to validate this status  
bit.  
0x0  
Note: This register shows the actual status.  
37.16 GPADC REGISTER FILE  
Table 545: Register map GPADC  
Address  
Port  
Description  
0x50001900  
0x50001902  
0x50001904  
0x50001906  
0x50001908  
0x5000190A  
0x5000190C  
GP_ADC_CTRL_REG  
GP_ADC_CTRL2_REG  
GP_ADC_CTRL3_REG  
GP_ADC_OFFP_REG  
GP_ADC_OFFN_REG  
GP_ADC_CLEAR_INT_REG  
GP_ADC_RESULT_REG  
General Purpose ADC Control Register  
General Purpose ADC Second Control Register  
General Purpose ADC Third Control Register  
General Purpose ADC Positive Offset Register  
General Purpose ADC Negative Offset Register  
General Purpose ADC Clear Interrupt Register  
General Purpose ADC Result Register  
Table 546: GP_ADC_CTRL_REG (0x50001900)  
Bit  
Mode Symbol  
Description  
1: Samples and disconnects VREF, should be refreshed fre-  
quently. Note that the LDO consumpes power when bit is  
set.  
Reset  
0x0  
15  
R/W  
R/W  
GP_ADC_LDO_ZER  
O
14  
13  
GP_ADC_CHOP  
0: Chopper mode off  
0x0  
0x0  
1: Chopper mode enabled. Takes two samples with opposite  
GP_ADC_SIGN to cancel the internal offset voltage of the  
ADC; Highly recommended for DC-measurements.  
R/W  
GP_ADC_SIGN  
0: Default  
1: Conversion with opposite sign at input and output to can-  
cel out the internal offset of the ADC and low-frequency  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
368 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 546: GP_ADC_CTRL_REG (0x50001900)  
Bit  
Mode Symbol  
R/W GP_ADC_SEL  
Description  
Reset  
0x0  
12:8  
ADC input selection.  
If GP_ADC_SE = 1 (single ended mode):  
0: P1[2]  
1: P1[4]  
2: P1[3]  
3: P0[7]  
4: AVS  
5: Internal VDD_REF (used for offset calibration)  
6: VDCDC (see  
DCDC_TEST_0_REG.DCDC_OUTPUT_MONITOR for  
more information; GP_ADC_ATTN3X scaler automatically  
selected)  
7: V33 (GP_ADC_ATTN3X scaler automatically selected)  
8: V33 (GP_ADC_ATTN3X scaler automatically selected)  
9: VBAT (5V to 1.2V scaler selected)  
16: P0[6]  
17: P1[0]  
18: P1[5]  
19: P2[4]  
All other combinations are reserved.  
If GP_ADC_SE = 0 (differential mode):  
0: P1[2] vs P1[4]  
All other combinations are P1[3] vs P0[7].  
7
R/W  
GP_ADC_MUTE  
0: Normal operation  
0x0  
1: Mute ADC input. Takes sample at mid-scale (to derter-  
mine the internal offset and/or noise of the ADC with regards  
to VDD_REF which is also sampled by the ADC).  
6
5
4
R/W  
R/W  
R
GP_ADC_SE  
GP_ADC_MINT  
GP_ADC_INT  
0: Differential mode  
1: Single ended mode  
0x0  
0x0  
0x0  
0: Disable (mask) GP_ADC_INT.  
1: Enable GP_ADC_INT to ICU.  
1: AD conversion ready and has generated an interrupt.  
Must be cleared by writing any value to  
GP_ADC_CLEAR_INT_REG.  
3
2
R/W  
R/W  
GP_ADC_CLK_SEL  
GP_ADC_CONT  
0: Internal high-speed ADC clock used (recommended).  
1: Digital clock used (ADC_CLK).  
0x0  
0x0  
0: Manual ADC mode, a single result will be generated after  
setting the GP_ADC_START bit.  
1: Continuous ADC mode, new ADC results will be con-  
stantly stored in GP_ADC_RESULT_REG. Still  
GP_ADC_START has to be set to start the execution. The  
time between conversions is configurable with  
GP_ADC_INTERVAL.  
1
0
R/W  
R/W  
GP_ADC_START  
GP_ADC_EN  
0: ADC conversion ready.  
0x0  
0x0  
1: If a 1 is written, the ADC starts a conversion. After the con-  
version this bit will be set to 0 and the GP_ADC_INT bit will  
be set. It is not allowed to write this bit while it is not (yet)  
zero.  
0: LDO is off and ADC is disabled..  
1: LDO is turned on and afterwards the ADC is enabled.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
369 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 547: GP_ADC_CTRL2_REG (0x50001902)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
R/W  
GP_ADC_STORE_D  
EL  
0: Data is stored after handshake synchronisation  
1: Data is stored two ADC_CLK cycles after internal start  
trigger  
15: Data is stored sixteen ADC_CLK cycles after internal  
start trigger  
11:8  
7:5  
R/W  
R/W  
GP_ADC_SMPL_TIM 0: The sample time (switch is closed) is one ADC_CLK cycle 0x0  
E
1: The sample time is 1*32 ADC_CLK cycles  
2: The sample time is 2*32 ADC_CLK cycles  
15: The sample time is 15*32 ADC_CLK cycles  
GP_ADC_CONV_NR 0: 1 sample is taken or 2 in case ADC_CHOP is active.  
0x0  
S
1: 2 samples are taken.  
2: 4 samples are taken.  
7: 128 samples are taken.  
4
3
-
-
Reserved  
0x0  
0x0  
R/W  
GP_ADC_DMA_EN  
0: DMA functionality disabled  
1: DMA functionality enabled  
2
1
0
R/W  
R/W  
R/W  
GP_ADC_I20U  
GP_ADC_IDYN  
GP_ADC_ATTN3X  
1: Adds 20uA constant load current at the ADC LDO to mini- 0x0  
mize ripple on the reference voltage of the ADC.  
1: Enables dynamic load current at the ADC LDO to mini-  
mize ripple on the reference voltage of the ADC.  
0x0  
0: Input voltages up to 1.2V allowed.  
0x0  
1: Input voltages up to 3.6V allowed by enabling 3x attenua-  
tor. (if ADC_SEL=7 or 8, this bit is automatically set to 1)  
Enabling the attenuator requires a longer sampling time.  
Table 548: GP_ADC_CTRL3_REG (0x50001904)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
R/W  
GP_ADC_INTERVAL  
Defines the interval between two ADC conversions in case  
GP_ADC_CONT is set.  
0x0  
0: No extra delay between two conversions.  
1: 1.024ms interval between two conversions.  
2: 2.048ms interval between two conversions.  
255: 261.12ms interval between two conversions.  
7:0  
R/W  
GP_ADC_EN_DEL  
Defines the delay for enabling the ADC after enabling the  
0x40  
LDO.  
0: Not allowed  
1: 32x ADC_CLK period.  
n: n*32x ADC_CLK period.  
Table 549: GP_ADC_OFFP_REG (0x50001906)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:10  
9:0  
-
-
Reserved  
R/W  
GP_ADC_OFFP  
Offset adjust of 'positive' array of ADC-network (effective if  
"GP_ADC_SE=0", or "GP_ADC_SE=1 AND  
GP_ADC_SIGN=0")  
0x200  
Table 550: GP_ADC_OFFN_REG (0x50001908)  
Bit  
Mode Symbol  
Description  
Reset  
15:10  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
370 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 550: GP_ADC_OFFN_REG (0x50001908)  
Bit  
Mode Symbol  
R/W GP_ADC_OFFN  
Description  
Reset  
9:0  
Offset adjust of 'negative' array of ADC-network (effective if  
"GP_ADC_SE=0", or "GP_ADC_SE=1 AND  
GP_ADC_SIGN=1")  
0x200  
Table 551: GP_ADC_CLEAR_INT_REG (0x5000190A)  
Bit  
Mode Symbol  
R0/W GP_ADC_CLR_INT  
Description  
Reset  
15:0  
Writing any value to this register will clear the ADC_INT  
interrupt. Reading returns 0.  
0x0  
Table 552: GP_ADC_RESULT_REG (0x5000190C)  
Bit  
Mode Symbol  
GP_ADC_VAL  
Description  
Reset  
15:0  
R
Returns the 10 up to 16 bits linear value of the last AD con-  
version. The upper 10 bits are always valid, the lower 6 bits  
are only valid in case oversampling has been applied. Two  
samples results in one extra bit and 64 samples results in six  
extra bits.  
0x0  
37.17 QUADRATURE DECODER REGISTER FILE  
Table 553: Register map Quadrature Decoder  
Address  
Port  
Description  
0x50001A00  
0x50001A02  
0x50001A04  
0x50001A06  
0x50001A08  
QDEC_CTRL_REG  
QDEC_XCNT_REG  
QDEC_YCNT_REG  
QDEC_ZCNT_REG  
QDEC_CLOCKDIV_REG  
Quad decoder control register  
Counter value of the X Axis  
Counter value of the Y Axis  
Counter value of the Z Axis  
Quad decoder clock divider register  
Table 554: QDEC_CTRL_REG (0x50001A00)  
Bit  
15:13  
12  
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
R/W  
R/W  
R/W  
CHZ_PORT_EN  
CHY_PORT_EN  
CHX_PORT_EN  
QD_IRQ_THRES  
'1' : Enable channel  
'1' : Enable channel  
'1' : Enable channel  
0x0  
11  
0x0  
10  
0x0  
9:3  
The number of events on either counter (X or Y or Z) that  
need to be reached before an interrupt is generated. If 0 is  
written, then threshold is considered to be 1.  
0x2  
2
1
R
QD_IRQ_STATUS  
QD_IRQ_CLR  
Interrupt Status. If 1 an interrupt has occured.  
0x0  
0x0  
R/W  
Writing 1 to this bit clears the interrupt. This bit is auto-  
cleared  
0
R/W  
QD_IRQ_MASK  
0: interrupt is masked  
1: interrupt is enabled  
0x0  
Table 555: QDEC_XCNT_REG (0x50001A02)  
Bit  
Mode Symbol  
X_COUNTER  
Description  
Reset  
15:0  
R
Contains a signed value of the events. Zero when channel is  
disabled  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
371 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 556: QDEC_YCNT_REG (0x50001A04)  
Bit  
Mode Symbol  
Y_COUNTER  
Description  
Reset  
15:0  
R
Contains a signed value of the events. Zero when channel is  
disabled  
0x0  
Table 557: QDEC_ZCNT_REG (0x50001A06)  
Bit  
Mode Symbol  
Z_COUNTER  
Description  
Reset  
15:0  
R
Contains a signed value of the events. Zero when channel is  
disabled  
0
Table 558: QDEC_CLOCKDIV_REG (0x50001A08)  
Bit  
Mode Symbol  
R/W CLOCK_DIVIDER  
Description  
Reset  
9:0  
Contains the number of the input clock cycles minus one,  
that are required to generate one logic clock cycle.  
0x0  
37.18 ANAMISC REGISTER FILE  
Table 559: Register map ANAMISC  
Address  
Port  
Description  
0x50001B08  
0x50001B0A  
0x50001B0C  
0x50001B40  
0x50001B42  
0x50001B44  
0x50001B46  
CHARGER_CTRL1_REG  
CHARGER_CTRL2_REG  
Charger control register 1  
Charger control register 2  
CHARGER_STATUS_REG  
SOC_CTRL1_REG  
Charger status and trimming register  
Fuel Gauge Control register 1  
Fuel Gauge Control register 2  
Fuel Gauge Control register 3  
SOC_CTRL2_REG  
SOC_CTRL3_REG  
SOC_ADD2CH_REG  
Fuel Gauge manually add extra charge to  
SOC_CHARGE_CNTRx_REG  
0x50001B48  
0x50001B4A  
0x50001B4C  
0x50001B50  
0x50001B52  
0x50001B54  
0x50001B56  
0x50001B60  
0x50001B62  
0x50001B64  
0x50001B66  
SOC_CHARGE_CNTR1_REG  
SOC_CHARGE_CNTR2_REG  
SOC_CHARGE_CNTR3_REG  
SOC_CHARGE_AVG_REG  
SOC_STATUS_REG  
Fuel Gauge Charge counter bits 15-0  
Fuel Gauge Charge counter bits 31-16  
Fuel Gauge Charge counter bits 39-32  
Fuel Gauge Average charge counter  
Fuel Gauge Status register  
SOC_EXT_IN_REG  
Fuel Gauge input test register  
SOC_EXT_OUT_REG  
Fuel Gauge output test register  
CLK_REF_SEL_REG  
Select clock for oscillator calibration  
Count value for oscillator calibration  
DIVN reference cycles, lower 16 bits  
DIVN reference cycles, upper 16 bits  
CLK_REF_CNT_REG  
CLK_REF_VAL_L_REG  
CLK_REF_VAL_H_REG  
Table 560: CHARGER_CTRL1_REG (0x50001B08)  
Bit  
15  
14  
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
DIE_TEMP_DISABL  
E
0: Die temperature protection enabled: charger will be disa-  
bled when die temp exceeds value set in DIE_TEMP_SET  
1: Die temperature protection disabled: testmode, use only in  
agreement with Dialog  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
372 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 560: CHARGER_CTRL1_REG (0x50001B08)  
Bit  
Mode Symbol  
R/W DIE_TEMP_SET  
Description  
Reset  
0x2  
13:12  
Die temperature protection level.  
Charging will be automatically disabled if set level is  
exceeded and resumed when temperature has dropped few  
degrees below set level.  
o
00: 0 C (do not use, for test only)  
o
01: 50 C (do not use, for test only)  
o
10: 80 C (default)  
o
11: 100 C  
11:8  
R/W  
CHARGE_CUR  
Constant Current levels (typical values)  
0000: 5 mA  
0x0  
0001: 10 mA  
0010: 30 mA  
0011: 45 mA  
0100: 60 mA  
0101: 90 mA  
0110: 120 mA  
0111: 150 mA  
1000: 180 mA  
1001: 210 mA  
1010: 270 mA  
1011: 300 mA  
1100: 350 mA  
1101: 400 mA  
7
R/W  
NTC_LOW_DISABLE 0: Normal operation: voltage level higher than 7/8 VDD_USB  
will disable the charger  
0x0  
1: NTC low temp limit disabled: use if trickle charging below  
the minimum temperature is required  
6
R/W  
R/W  
R/W  
NTC_DISABLE  
CHARGE_ON  
0: Charger NTC protection enabled  
1: Charger NTC protection disable  
0x0  
0x0  
0x0  
5
0: Charger in powerdown  
1: Charger enabled  
4:0  
CHARGE_LEVEL  
Constant Voltage Levels  
00000: 3.00V (reset)  
00001: 3.40V (e.g. 2xNiMH)  
00010: 3.50V  
00011: 3.60V (e.g. Li-phosphate)  
00100: 3.74V  
00101: 3.86V  
00110: 4.00V  
00111: 4.05V  
01000: 4.10V  
01001: 4.15V  
01010: 4.20V (e.g. Li-Co, Li-Mn, NMC)  
01011: 4.25V  
01100: 4.30V  
01101: 4.35V  
01110: 4.40V  
01111: 4.50V  
10000: 4.60V  
10001: 4.90V e.g. 3xNiMH  
10010: 5.00V  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
373 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 561: CHARGER_CTRL2_REG (0x50001B0A)  
Bit  
Mode Symbol  
Description  
Reset  
15:13  
R/W  
CHARGER_TEST  
Signals are mapped on SPDIF pin.  
Also set ANA_TEST_REG[ANA_TESTBUS_TO_ADCPIN] =  
1
0x0  
000: normal mode (no test selected)  
001: Vptat (temperature sensor) [1.4V max]  
010: Vbat_sense after divider [1.2V]  
011: Current loop output [0 to vsupply]  
100: Voltage loop output [0 to vsupply]  
101: Imeas or Iref/10  
110: Icharge reduced by 26.6  
111: reserved  
12:8  
7:4  
R/W  
R/W  
R/W  
CURRENT_OFFSET  
_TRIM  
do not change, for test purpose only  
0xF  
0x0  
0x7  
CHARGER_VFLOAT  
_ADJ  
Independent adjustment for the charge level. Adjust range is  
+/- 1.8%. The 4 bits adjustment is in two's complement.  
3:0  
CURRENT_GAIN_T  
RIM  
do not change, for test purpose only  
Table 562: CHARGER_STATUS_REG (0x50001B0C)  
Bit  
15:8  
6
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CHARGER_TMODE  
_PROT  
0: Dietemp below DIE_TEMP_SET level. Normal operation  
1: Dietemp above DIE_TEMP_SET level. Charging is disa-  
bled  
0x0  
5
4
3
2
R
R
R
R
CHARGER_BATTEM  
P_HIGH  
0: Battery pack temperature 'ok' or 'too low' (voltage level on  
NTC pin above 1/2 VDD_USB)  
1: Battery pack temperature 'too high' (voltage level on NTC  
pin below 1/2 VDD_USB)  
0x0  
0x0  
0x0  
0x0  
CHARGER_BATTEM  
P_OK  
0: Battery pack temperature 'too low' or 'too high' (voltage  
level on NTC pin below 1/2 or above 7/8 VDD_USB)  
1: Battery pack temperature 'ok' (voltage level on NTC pin  
between 1/2 and 7/8 VDD_USB)  
CHARGER_BATTEM  
P_LOW  
0: Battery pack temperature 'ok' or 'too high' (voltage level on  
NTC pin below 7/8 VDD_USB)  
1: Battery pack temperature 'too low' (voltage level on NTC  
pin above than 7/8 VDD_USB)  
END_OF_CHARGE  
0: Actual charge current is between 10...100% of set  
CHARGE_CUR (or CHARGE_ON=0)  
1: Actual charge current <10% of set CHARGE_CUR  
1
0
R
R
CHARGER_CV_MO  
DE  
0: voltage loop not in regulation (or charger is off)  
1: constant voltage mode active, voltage loop in regulation.  
0x0  
0x0  
CHARGER_CC_MO  
DE  
0: current loop not in regulation (or charger is off)  
1: constant current mode active, current loop in regulation.  
Table 563: SOC_CTRL1_REG (0x50001B40)  
Bit  
Mode Symbol  
R/W SOC_CINT  
Description  
Reset  
15:14  
Integrator capacitor scaler  
0: Cint = 1 pF  
0x3  
1: Cint = 2 pF  
2: Cint = 4 pF  
3: Cint = 8 pF (=default)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
374 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 563: SOC_CTRL1_REG (0x50001B40)  
Bit  
Mode Symbol  
Description  
Reset  
13:12  
R/W  
SOC_BIAS  
Current DAC scaler  
0: Ibias = 2 uA  
0x1  
1: Ibias = 1 uA (=default)  
2: Ibias = 0.5 uA  
3: Ibias = 0.25 uA  
11:9  
R/W  
SOC_CLK  
SOC Sample frequency  
0: automatic mode  
1: fs = 18 kHz  
0x4  
2: fs = 36 kHz  
3: fs = 72 kHz  
4: fs = 144 kHz (=default)  
5: fs = 288 kHz  
6: fs = 576 kHz  
7: fs = 1152 kHz  
8
R/W  
R/W  
SOC_LPF  
0: low-pass filter at integrator inputs disabled  
1: Enables a low-pass filter at the integrator inputs  
0x0  
0x2  
7:6  
SOC_IDAC  
Scales the current DAC (Ibias: default=1uA)  
0: Idac=0.25*Ibias  
1: Idac=0.5*Ibias  
2: Idac=Ibias (=default)  
3: Idac=2*Ibias  
5
R/W  
SOC_SIGN  
Defines the sign of the charge converter input and output to  
perform a chopper function to eliminate offset voltage (see  
also SOC_CHOP and 'sign' on output pin)  
0: non-inverted inputs and outputs  
0x0  
1: inverted inputs and outputs  
4
3
2
1
0
R/W  
R/W  
R/W  
R/W  
R/W  
SOC_GPIO  
Reserved (not yet implemented): switches the SOC-inputs to  
the GPIO pins  
0x0  
0x0  
0x0  
0x0  
0x0  
SOC_MUTE  
0: Normal operation  
1: Connect the input voltage to 0V  
SOC_RESET_AVG  
1: Reset the SOC_CHARGE_AVG_REG to the last value of  
SOC_CHARGE_CNTRx_REG  
SOC_RESET_CHAR  
GE  
1: Reset CHARGE_CNTR_REG  
SOC_ENABLE  
0: SOC analog circuits off. CHARGE_CNTRx_REG can still  
be written for a manual update.  
See SOC_ADD2CH_REG  
1: SOC analog circuits enabled  
Table 564: SOC_CTRL2_REG (0x50001B42)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R/W  
R/W  
SOC_DYNAVG  
if HIGH then 'weight' of Moving Average is forced to 1 if the  
converter detects significant input change  
(if dcharge > 4*delta_c, or high_limit, or low_limit)  
0x0  
14:12  
11  
SOC_MAW  
Moving Average Weight factor  
charge_avg(n) =  
(weight*charge_avg(n-1) + charge(n) ) / (weight+1)  
where:weight = 2^(soc_maw)  
0x7  
0x0  
R/W  
SOC_CMIREG_ENA  
BLE  
SOC_CMIREG enable  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
375 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 564: SOC_CTRL2_REG (0x50001B42)  
Bit  
Mode Symbol  
Description  
Reset  
10:8  
R/W  
SOC_CHOP  
Chopping control  
0x7  
0: 'external' chopping control with 'soc_sign'-input  
1: chop each 2^1*scycle fs-periods  
2: chop each 2^2*scycle fs-periods  
..  
7: chop each 2^7*scycle fs-periods.  
7:6  
R/W  
SOC_ICM  
adds a common-mode current to Idac to increase the com-  
mon-mode input-level of the integrator.  
The common-mode input level is equal to (Idac+Icm)*Rvi;  
0: Icm=0;  
0x1  
1: Icm=1*Ibias (=default);  
2: Icm=2*Ibias;  
3: Icm=4*Ibias  
5
R/W  
R/W  
SOC_DCYCLE  
SOC_SCYCLE  
Cycle the current divider segments of Idac  
0: no cycling  
1: cycle each scycle fs-periods  
0x1  
0x2  
4:2  
Cycle current segments (8 segments) of Idac  
0: no cycling  
1: cycle each fs-period  
2: cycle each 2 fs-periods  
..  
7: cycle each 7 fs-periods  
1:0  
R/W  
SOC_RVI  
Voltage-to-current resistor scaler  
0: Rvi = 25 k  
0x2  
1: Rvi = 50 k  
2: Rvi = 100 k (= default)  
3: Rvi = 200 k  
Table 565: SOC_CTRL3_REG (0x50001B44)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:6  
5:4  
-
-
Reserved  
R/W  
SOC_VCMI  
Common Input Voltage target of regulator (see  
0x1  
SOC_CMIREG_ENABLE)  
0: 50 mV  
1: 100 mV  
2: 150 mV  
3: 200 mV  
3
R/W  
R/W  
R/W  
SOC_DYNHYS  
SOC_DYNTARG  
SOC_VSAT  
Reserved. (To be implemented)  
Hysteresis of the comparator which detects if the integrator  
voltage is rising or falling  
0x0  
0x0  
0x1  
2
Reserved. (To be implemented)  
0: Vint_target = 0V  
1: Vint_target tracks the 2 MSB's of the charge register)  
1:0  
Trigger level of the high-limit and low-limit comparators.  
0: low_limit = -50mV; high_limit = +50mV  
1: low_limit = -100mV; high_limit = +100mV (=default)  
2: low_limit = -200mV; high_limit = +200mV  
3: low_limit = -400mV; high_limit = +400mV  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
376 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 566: SOC_ADD2CH_REG (0x50001B46)  
Bit  
Mode Symbol  
R/W SOC_ADD2CH  
Description  
Reset  
15:0  
Extra charge to be added to the  
0x0  
SOC_CHARGE_CNTRx_REG per sample period (9-bit +  
sign + 6 fractional bits  
Table 567: SOC_CHARGE_CNTR1_REG (0x50001B48)  
Bit  
Mode Symbol  
CHARGE_CNT1  
Description  
Reset  
15:0  
R
Sum of the charge-values per sampling period; (bits15:0)  
The absolute full-scale charge value is 6-bits, At full scale  
charge current it takes 2^26 sampling periods until overflow  
of the charge_cnt register after a reset_charge event.  
At fs=144kHz (=default) this will happen after 33 hours  
At fs=1.152MHz After 10 hours  
0x0  
Table 568: SOC_CHARGE_CNTR2_REG (0x50001B4A)  
Bit  
Mode Symbol  
CHARGE_CNT2  
Description  
Reset  
15:0  
R
Sum of the charge-values per sampling period; (bits23:16)  
0x0  
Table 569: SOC_CHARGE_CNTR3_REG (0x50001B4C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R
CHARGE_CNT3  
Sum of the charge-values per sampling period; (bits39:24)  
0x0  
Table 570: SOC_CHARGE_AVG_REG (0x50001B50)  
Bit  
Mode Symbol  
CHARGE_AVG  
Description  
Reset  
15:0  
R
Average of 'charge' current (9-bit + sign and 6 fractional bits  
0x0  
Table 571: SOC_STATUS_REG (0x50001B52)  
Bit  
15:2  
1
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
SOC_INT_LOCKED  
0: Normal Operation  
0x0  
1: Integrator is pushed over high or low limit.  
Returns to '0' if the converter runs for more than 2 sequential  
sampling periods in a 'safe' region (dcharge < 2*delta_c)  
0
R
SOC_INT_OVERLO  
AD  
0: Normal Operation  
1: Integrator exceeds high or low limit with full-scale IDAC  
(charge) for more than 3 sequential sampling periods  
0x0  
Table 572: SOC_EXT_IN_REG (0x50001B54)  
Bit  
15  
14  
Mode Symbol  
Description  
Reset  
0x0  
R/W  
R/W  
SOC_EXT_IDAC_EN 1: Enable 'external' control of Idac  
SOC_EXT_SCYCLE  
_EN  
1: Enable 'external' control of scycle  
Number of the scycle  
0x0  
13:11  
R/W  
SOC_NR_SCYCLE  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
377 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 572: SOC_EXT_IN_REG (0x50001B54)  
Bit  
Mode Symbol  
Description  
Reset  
10  
R/W  
SOC_RDAC_DIS  
0: Disables the resistor divider DAC. The Idac has 6-bits  
0x0  
(plus sign)  
1: Enables the resistor divider DAC. The Idac has 9-bits  
(plus sign)  
9
R/W  
R/W  
SOC_IDAC_SIGN  
SOC_IDAC_VAL  
0: SOC_IDAC_VAL is positive  
1: SOC_IDAC_VAL is negative  
0x0  
0x0  
8:0  
Controls the current for the DAC.  
0: 0/512*SOC_IDAC  
N: N/512*SOC_IDAC  
Table 573: SOC_EXT_OUT_REG (0x50001B56)  
Bit  
15:9  
8
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
R
R
SOC_CTRL_EVENT  
SOC_STATE  
Controller event  
Controller state  
Rising comparator output  
0x0  
7:4  
3
0x0  
SOC_RISING_COM  
P
0x0  
2
1
R
R
SOC_POS_COMP  
Positive comparator output  
0x0  
0x0  
SOC_LOWLIM_COM Low_limit comparator output  
P
0
R
SOC_HIGH_LIM  
High_limit comparator output  
0x0  
Table 574: CLK_REF_SEL_REG (0x50001B60)  
Bit  
15:3  
2
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
R/W  
REF_CAL_START  
Writing a '1' starts a calibration. This bit is cleared when cali- 0x0  
bration is finished, and CLK_REF_VAL is ready.  
1:0  
R/W  
REF_CLK_SEL  
Select clock input for calibration:  
0x0 : 32KHz RC oscillator clock  
0x1 : 16MHz RC oscillator clock  
0x2 : 32KHz XTAL clock  
0x0  
0x3 : 11.4KHz RCX oscillator clock  
Table 575: CLK_REF_CNT_REG (0x50001B62)  
Bit  
Mode Symbol  
R/W REF_CNT_VAL  
Description  
Reset  
15:0  
Indicates the calibration time, with a decrement counter to 1.  
0x0  
Table 576: CLK_REF_VAL_L_REG (0x50001B64)  
Bit  
Mode Symbol  
XTAL_CNT_VAL  
Description  
Reset  
15:0  
R
Returns the lower 16 bits of DIVN clock cycles counted dur-  
ing the calibration time, defined with REF_CNT_VAL  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
378 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 577: CLK_REF_VAL_H_REG (0x50001B66)  
Bit  
Mode Symbol  
XTAL_CNT_VAL  
Description  
Reset  
15:0  
R
Returns the upper 16 bits of DIVN clock cycles counted dur-  
ing the calibration time, defined with REF_CNT_VAL  
0x0  
37.19 CRG REGISTER FILE  
Table 578: Register map CRG  
Address  
Port  
Description  
0x50001C04  
0x50001C40  
0x50001C42  
0x50001C44  
0x50001C46  
0x50001C4A  
CLK_PER_REG  
PCM_DIV_REG  
PCM_FDIV_REG  
PDM_DIV_REG  
SRC_DIV_REG  
USBPAD_REG  
Peripheral divider register  
PCM divider and enables  
PCM fractional division register  
PDM divider and enables  
SRC divider and enables  
USB pads control register  
Table 579: CLK_PER_REG (0x50001C04)  
Bit  
Mode Symbol  
Description  
Reset  
11  
R/W  
R/W  
R/W  
R/W  
ADC_CLK_SEL  
Selects the clock source  
1 = DIV1 clock  
0 = DIVN clock  
0x0  
10  
9
KBSCAN_CLK_SEL  
I2C_CLK_SEL  
Selects the clock source  
1 = DIV1 clock  
0 = DIVN clock  
0x0  
0x0  
0x0  
Selects the clock source  
1 = DIV1 clock  
0 = DIVN clock  
8
SPI_CLK_SEL  
Selects the clock source  
1 = DIV1 clock  
0 = DIVN clock  
7:6  
5
-
-
Reserved  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
KBSCAN_ENABLE  
IR_CLK_ENABLE  
QUAD_ENABLE  
I2C_ENABLE  
SPI_ENABLE  
UART_ENABLE  
Enables the clock  
Enables the clock  
Enables the clock  
Enables the clock  
Enables the clock  
Enables the clock  
4
3
2
1
0
Table 580: PCM_DIV_REG (0x50001C40)  
Bit  
Mode Symbol  
Description  
Reset  
13  
R/W  
R/W  
R/W  
PCM_SRC_SEL  
Selects the clock source  
1 = DIV1 clock  
0 = DIVN clock  
0x0  
12  
CLK_PCM_EN  
PCM_DIV  
Enable for the internally generated PCM clock  
The PCM_DIV must be set before or together with  
CLK_PCM_EN.  
0x0  
0x0  
11:0  
PCM clock divider  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
379 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 581: PCM_FDIV_REG (0x50001C42)  
Bit  
Mode Symbol  
R/W PCM_FDIV  
Description  
Reset  
15:0  
These bits define the fractional division part of the PCM  
clock. The left most '1' defines the denominator, the number  
of '1' bits define the numerator. E.g.  
0x0  
0x0110 means 2/9, with a distribution of 1.0001.0000  
0xfeee means 13/16, with a distribution of  
1111.1110.1110.1110  
Table 582: PDM_DIV_REG (0x50001C44)  
Bit  
Mode Symbol  
Description  
Reset  
9
R/W  
R/W  
R/W  
PDM_MASTER_MO  
DE  
Master mode selection  
0: slave mode  
1: master mode  
0x0  
8
CLK_PDM_EN  
Enable for the internally generated PDM clock  
The PDM_DIV must be set before or together with  
CLK_PDM_EN.  
0x0  
0x0  
7:0  
PDM_DIV  
PDM clock divider  
Table 583: SRC_DIV_REG (0x50001C46)  
Bit  
Mode Symbol  
Description  
Reset  
8
R/W  
R/W  
CLK_SRC_EN  
Enable for the internally generated SRC clock  
The SRC_DIV must be set before or together with  
CLK_SRC_EN.  
0x0  
7:0  
SRC_DIV  
SRC clock divider  
0x0  
Table 584: USBPAD_REG (0x50001C4A)  
Bit  
Mode Symbol  
Description  
Reset  
2
R/W  
R/W  
R/W  
USBPHY_FORCE_S  
W2_ON  
0: Pull up resistor SW2 is controlled by the USB controller. It  
is off when the USB is not enabled.  
1: Force the pull up resistor on USBP to be 2.3Kohm  
0x0  
1
0
USBPHY_FORCE_S  
W1_OFF  
0: Pull up resistor SW1 is controlled by the USB controller. It  
is off when the USB is not enabled.  
1: Force the pull up resistor on USBP to be switched off.  
0x0  
0x0  
USBPAD_EN  
0: The power for the USB PHY and USB pads is switched on  
when the USB is enabled.  
1: The power for the USB PHY and USB pads is forced on.  
37.20 RFCU REGISTER FILE  
Table 585: Register map RFCU  
Address  
Port  
RF_TXDAC_CAL_CAP_STAT_REG  
Description  
0x500020DC  
Current CAL CAP value for TXDAC  
Table 586: RF_TXDAC_CAL_CAP_STAT_REG (0x500020DC)  
Bit  
Mode Symbol  
TXDAC_FIXED_CAP  
_ON_RD  
Description  
Reset  
5
R
Read back TXDAC_FIXED_CAP_ON value.  
Reset value is, RF_TXDAC_CAL_CAP_STAT_REG[5] =  
RF_TXDAC_CTRL_REG[6].  
0x1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
380 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 586: RF_TXDAC_CAL_CAP_STAT_REG (0x500020DC)  
Bit  
Mode Symbol  
TXDAC_CAL_CAP_  
RD  
Description  
Reset  
4:0  
R
Reset value is:RF_TXDAC_CAL_CAP_STAT_REG[4:0] =  
RF_IFF_CC_BLE_SET1_REG  
0x10  
37.21 DEM REGISTER FILE  
Table 587: Register map DEM  
Address  
Port  
Description  
0x50002E56  
RF_CCA_RSSITH_REG  
Table 588: RF_CCA_RSSITH_REG (0x50002E56)  
Bit  
Mode Symbol  
Description  
Reset  
15:13  
R/W  
SIGDET_TIMEOUT_  
0x0  
LEN  
12:0  
R/W  
CCA_RSSITH  
RSSI threshold used during CCA  
0x708  
37.22 COEX REGISTER FILE  
Table 589: Register map COEX  
Address  
Port  
Description  
0x50002F00  
0x50002F02  
0x50002F04  
0x50002F06  
0x50002F08  
0x50002F0A  
0x50002F0C  
0x50002F12  
0x50002F14  
0x50002F16  
0x50002F18  
0x50002F1A  
0x50002F1C  
0x50002F1E  
0x50002F20  
0x50002F22  
0x50002F24  
0x50002F26  
0x50002F28  
0x50002F2A  
0x50002F2C  
0x50002F2E  
COEX_CTRL_REG  
COEX_STAT_REG  
COEX_STAT2_REG  
COEX_INT_MASK_REG  
COEX_INT_STAT_REG  
COEX_BLE_PTI_REG  
COEX Control Register  
COEX Status Register  
COEX Status 2 Register  
COEX Interrupt Mask Register  
COEX Interrupt Status Register  
COEX BLE PTI Control Register  
COEX_PRI1_REG  
COEX_PRI2_REG  
COEX_PRI3_REG  
COEX_PRI4_REG  
COEX_PRI5_REG  
COEX_PRI6_REG  
COEX_PRI7_REG  
COEX_PRI8_REG  
COEX_PRI9_REG  
COEX_PRI10_REG  
COEX_PRI11_REG  
COEX_PRI12_REG  
COEX_PRI13_REG  
COEX_PRI14_REG  
COEX_PRI15_REG  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
COEX Priority Register  
Table 590: COEX_CTRL_REG (0x50002F00)  
Bit  
Mode Symbol  
R/W IGNORE_BLE  
Description  
Reset  
15  
If set to "1" then all BLE requests are ignored by masking the  
internal "ble_active" signal. Refer also to  
IGNORE_BLE_STAT.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
381 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 590: COEX_CTRL_REG (0x50002F00)  
Bit  
14  
13  
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R/W  
R/W  
IGNORE_EXT  
If set to "1" then all EXT requests are ignored by masking the  
internal "ext_act" signal ("ext_act" is the logical OR of  
"ext_act0" and "ext_act1"). Refer also to  
IGNORE_EXT_STAT.  
12:11  
SEL_BLE_RADIO_B  
USY  
Select the logic driving the BLE core input "ble.radio_busy":  
0: (decision==BLE) AND rfcu.radio_busy.  
1: Hold to "0".  
0x0  
2: (decision==EXT) OR rfcu.radio_busy.  
3: decision==EXT)  
Selection "0" is the default, while selection "2" is the recom-  
mended value if the BLE SW supports it.  
10  
9
R/W  
R/W  
SEL_BLE_WLAN_TX If set to "1" then the COEX block will drive the WLAN_TX  
0x0  
0x0  
_RX  
and WLAN_RX inputs of the BLE core. Otherwise both BLE  
inputs will be forced to "0".  
SEL_BLE_PTI  
It controls the source of the BLE PTI value that the COEX  
Arbiter will use.  
If "0" then use the COEX_BLE_PTI_REG.  
If "1" then use the PTI value provided by the BLE core.  
8
-
-
-
Reserved  
Reserved  
0x0  
0x0  
0x0  
7
-
6:5  
R/W  
SEL_COEX_DIAG  
The COEX block can provide internal diagnostic signals by  
overwriting the BLE diagnostic bus, which is forwarded to  
GPIO multiplexing. There is no need to program the BLE  
registers, but only this field and the GPIO PID fields.  
4
R/W  
SMART_ACT_IMPL  
Controls the behavior of the SMART_ACT (and SMART_PRI  
as a consequence).  
0x0  
If SMART_ACT_IMPL="0" then if any BLE request is active  
then SMART_ACT will be asserted. SMART_ACT will actu-  
ally be the "ble_active" internal signal. SMART_ACT will be  
asserted regardless the decision of the Arbiter to allow or  
disallow the access to the on-chip radio from the active  
MAC(s).  
if SMART_ACT_IMPL="1" then if the Arbiter's decision is to  
allow EXTernal MAC, then keep SMART_ACT to "0", other-  
wise follow the implementation of SMART_ACT_IMPL="0".  
3
R/W  
TXRX_MON_BLE_A  
LL  
It controls the behavior of the Monitoring bitfields  
COEX_INT_STAT_REG[ *TXRX_MON* ]  
If "0" then update the Monitoring bitfields with BLE Rx/Tx that  
has been masked.  
0x0  
0x0  
If "1" then update for every BLE Rx/Tx, either masked or not.  
2
1
-
-
Reserved  
R/W  
DECISION_SW_ALL  
Refer to COEX_INT_STAT_REG[ IRQ_DECISION_SW ] bit- 0x0  
field description.  
0
R/W  
PRGING_ARBITER  
If set to "1" then the current transaction (Tx or Rx) will com-  
plete normally and after that no further decision will be taken  
by the arbiter. Will be set to "1" automatically by the HW as  
soon as a write operation will be detected to the  
0x0  
COEX_PRIx_REG registers. As soon as the update on the  
priorities will be completed, the SW should clear this bit. The  
SW can set or clear this bit.  
Note: Depending on the relationship between the PCLK and  
COEX_CLK periods a write operation to this bitfield may be  
effective in more than one PCLK clock cycles.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
382 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 591: COEX_STAT_REG (0x50002F02)  
Bit  
Mode Symbol  
Description  
Reset  
15  
R
IGNORE_BLE_STAT  
If set to "1" then all BLE requests are ignored by masking  
immediately the request signal from the BLE.  
0x0  
In more detail, the internal signal "ble_active" is the logical  
AND of this bitfield and the "ble.event_in_process".  
14  
13  
-
-
Reserved  
0x0  
0x0  
R
R
IGNORE_EXT_STAT  
If set to "1" then all EXT requests are ignored by masking  
immediately the request signal from the external MAC.  
In more detail, the internal signal "ext_active" is the logical  
AND of this bitfield and the "ext_act".  
12  
COEX_RADIO_BUS  
Y
Current state of RADIO_BUSY signal generated from RFCU,  
which is the logical OR among all Radio DCFs.  
Note that the arbiter will process this value with one COEX  
clock cycle delay.  
0x0  
11  
10  
9
R
R
R
R
R
R
EXT_ACT1  
Current state of the pin.  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
EXT_ACT0  
Current state of the pin.  
SMART_PRI  
Current state of the pin.  
8
SMART_ACT  
COEX_CLOSING  
COEX_DECISION  
Current state of the pin.  
7
Provides the value of the "CLOSING" substate.  
6:5  
Decision values:  
0: Decision is NONE.  
1: Decision is BLE.  
2: Reserved  
3: Decision is EXT.  
Note: If "0" (i.e. decision is NONE) then no MAC will have  
access to the on-chip radio. As a consequence, the  
SMART_PRI signal will stay low, since no on-chip (SMART)  
MAC will have priority.  
Note: While in programming mode, the COEX_PRIx_REGs  
are considered as invalid, which means that no new decision  
can be taken.  
Note: The decision NONE will be held as long as there is no  
"*_active" internal signal from BLE or EXT. Also, if in pro-  
gramming state and the last transaction has been finished,  
then the decision will be held also to NONE.  
4
-
-
Reserved  
0x0  
0x0  
3:0  
R
COEX_DECISION_P  
TR  
Provides the number "x" of the COEX_PRIx_REG that win  
the last arbitration cycle. If "0" then it is a null pointer, point-  
ing to no COEX_PRIx_REG.  
Table 592: COEX_STAT2_REG (0x50002F04)  
Bit  
15  
14:12  
11  
10  
9
Mode Symbol  
Description  
Reset  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
R
R
R
R
R
COEX_EXT_ACT  
The internal EXT_ACT used for the decision taking.  
COEX_BLE_PTI_INT The BLE PTI value that is used for decision taking.  
COEX_BLE_TX_EN  
The current value of BLE TX_EN.  
COEX_BLE_RX_EN  
The current value of BLE RX_EN.  
COEX_BLE_ACTIVE  
The internal BLE_ACTIVE signal used for decision taking.  
8:6  
5
-
-
-
-
-
-
-
-
Reserved  
Reserved  
Reserved  
Reserved  
4
3
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
383 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 592: COEX_STAT2_REG (0x50002F04)  
Bit  
Mode Symbol  
COEX_DECISION_  
WITH_CLOSING  
Description  
Reset  
2:0  
R
DECISION (bits [1:0]) appended the CLOSING (bit [2]) state. 0x0  
Table 593: COEX_INT_MASK_REG (0x50002F06)  
Bit  
Mode Symbol  
Description  
Reset  
15:10  
9
-
-
Reserved  
0x0  
0x0  
R/W  
IRQ_DECISION_SW  
If "1" then a "1" on  
COEX_INT_STAT_REG[IRQ_DECISION_SW] will generate  
an IRQ to CPU.  
8
R/W  
-
IRQ_TXRX_MON  
-
If "1" then a "1" on  
COEX_INT_STAT_REG[IRQ_TXRX_MON] will generate an  
IRQ to CPU.  
0x0  
0x0  
7:0  
Reserved  
Table 594: COEX_INT_STAT_REG (0x50002F08)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:10  
9
-
-
Reserved  
RC  
IRQ_DECISION_SW  
IRQ event when the DECISION switches to another value.  
If DECISION_SW_ALL=1, then it reports any change of  
DECISION value.  
0x0  
If DECISION_SW_ALL=0, is reserved for future use  
Note that after a Radio Power domain reset, the first transi-  
tion of the DECISION to any non-NONE value will also trig-  
ger this event.  
8
7
RC  
RC  
IRQ_TXRX_MON  
Tx/Rx Monitor event pending. When this bitfield is set, then  
there is a valid entry at the bitfields TXRX_MON_PTR,  
TXRX_MON_TX, TXRX_MON_PASSED and  
TXRX_MON_OVWR.  
0x0  
0x0  
TXRX_MON_OVWR  
Tx/Rx Monitor entry Overwritten.  
if "1" then TXRX_MON_PTR loaded a new value without  
being cleared first by the software. Provides an indication  
that the software does not fetch the TXRX_MON_PTR fast  
enough.  
6
RC  
TXRX_MON_PASSE  
D
This bit indicates if the corresponding TXRX_MON_PTR  
pointer indicates a Tx/Rx that has been masked or not by the  
COEX block.  
0x0  
If "0" then the Tx/Rx has been masked.  
If "1" then the Tx/Rx has not been masked.  
The bitfield is valid only when TXRX_MON_PTR is not zero.  
5
4
RC  
TXRX_MON_TX  
If "0" then the corresponding TXRX_MON_PTR corresponds  
to an Rx.  
If "1" then the corresponding TXRX_MON_PTR corresponds  
to an Tx.  
0x0  
0x0  
The bitfield is valid only when TXRX_MON_PTR is not zero.  
-
-
Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
384 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 594: COEX_INT_STAT_REG (0x50002F08)  
Bit  
Mode Symbol  
RC TXRX_MON_PTR  
Description  
Reset  
3:0  
Tx/Rx Monitor Pointer.  
0x0  
If not zero then it provides a pointer to the Priority registers  
indicating the completion of an Tx or Rx (deassertion of  
TX_EN or RX_EN) that corresponds to this Priority register.  
Refer also to the COEX_CTRL_REG[ TXRX_MON_ALL ]  
control bit.  
If the PTI that corresponds to the deasserted TX_EN/RX_EN  
is not in the Priority Register list, then this event will be  
ignored and will not be reported by the TXRX Monitoring bit-  
fields.  
Reading the register will clear the bitfield.  
Table 595: COEX_BLE_PTI_REG (0x50002F0A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:3  
2:0  
-
-
Reserved  
R/W  
COEX_BLE_PTI  
This value specifies the PTI value that characterizes the next  
BLE transaction that will be initiated on the following  
"ble_active" positive edge. The value should remain con-  
stant during the high period of the "ble_active" signal.  
0x0  
Table 596: COEX_PRI1_REG (0x50002F12)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
-
-
Reserved  
R/W  
COEX_PRI_MAC  
Specifies the MAC that has been assigned with the specific  
priority level. The MAC encoding follows the  
COEX_DECISION bitfield encoding.  
0x3  
2:0  
R/W  
COEX_PRI_PTI  
The priority level specified by the name of this register will be  
applied to the packets coming from the MAC specified by the  
COEX_PRI_MAC bitfield and characterized with the PTI  
value specified by the COEX_PRI_PTI bitfield.  
0x0  
The effective PTI value of the packets coming from BLE is  
controlled by the register bitfields SEL_BLE_PTI , while for  
the External MAC (EXT) the PTI is considered always as "0".  
Table 597: COEX_PRI2_REG (0x50002F14)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x1  
0x0  
Table 598: COEX_PRI3_REG (0x50002F16)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x2  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
385 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 599: COEX_PRI4_REG (0x50002F18)  
Bit  
Mode Symbol  
Description  
Reset  
15:5  
4:3  
2:0  
-
-
Reserved  
0x0  
0x0  
0x0  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
Table 600: COEX_PRI5_REG (0x50002F1A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x0  
0x0  
Table 601: COEX_PRI6_REG (0x50002F1C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x0  
0x0  
Table 602: COEX_PRI7_REG (0x50002F1E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x0  
0x0  
Table 603: COEX_PRI8_REG (0x50002F20)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x0  
0x0  
Table 604: COEX_PRI9_REG (0x50002F22)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x0  
0x0  
Table 605: COEX_PRI10_REG (0x50002F24)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x0  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
386 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 606: COEX_PRI11_REG (0x50002F26)  
Bit  
Mode Symbol  
Description  
Reset  
15:5  
4:3  
2:0  
-
-
Reserved  
0x0  
0x0  
0x0  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
Table 607: COEX_PRI12_REG (0x50002F28)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x0  
0x0  
Table 608: COEX_PRI13_REG (0x50002F2A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x0  
0x0  
Table 609: COEX_PRI14_REG (0x50002F2C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x0  
0x0  
Table 610: COEX_PRI15_REG (0x50002F2E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:3  
2:0  
-
-
Reserved  
R/W  
R/W  
COEX_PRI_MAC  
COEX_PRI_PTI  
Refer to COEX_PRI1_REG.  
Refer to COEX_PRI1_REG.  
0x0  
0x0  
37.23 GPIO REGISTER FILE  
Table 611: Register map GPIO  
Address  
Port  
Description  
0x50003000  
0x50003002  
0x50003004  
0x50003006  
0x50003008  
0x5000300A  
0x5000300C  
0x5000300E  
0x50003010  
0x50003012  
P0_DATA_REG  
P1_DATA_REG  
P2_DATA_REG  
P3_DATA_REG  
P4_DATA_REG  
P0_SET_DATA_REG  
P1_SET_DATA_REG  
P2_SET_DATA_REG  
P3_SET_DATA_REG  
P4_SET_DATA_REG  
P0 Data input / output Register  
P1 Data input / output Register  
P2 Data input / output Register  
P3 Data input / output Register  
P4 Data input / output Register  
P0 Set port pins Register  
P1 Set port pins Register  
P2 Set port pins Register  
P3 Set port pins Register  
P4 Set port pins Register  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
387 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 611: Register map GPIO  
Address  
Port  
Description  
0x50003014  
0x50003016  
0x50003018  
0x5000301A  
0x5000301C  
0x5000301E  
0x50003020  
0x50003022  
0x50003024  
0x50003026  
0x50003028  
0x5000302A  
0x5000302C  
0x5000302E  
0x50003030  
0x50003032  
0x50003034  
0x50003036  
0x50003038  
0x5000303A  
0x5000303C  
0x5000303E  
0x50003040  
0x50003042  
0x50003044  
0x50003046  
0x5000304E  
0x50003050  
0x50003052  
0x50003054  
0x50003056  
0x50003058  
0x5000305A  
0x5000305C  
0x5000305E  
0x50003060  
0x50003062  
0x50003064  
0x50003066  
0x50003068  
0x5000306A  
0x5000306C  
0x500030C0  
0x500030C2  
P0_RESET_DATA_REG  
P1_RESET_DATA_REG  
P2_RESET_DATA_REG  
P3_RESET_DATA_REG  
P4_RESET_DATA_REG  
P00_MODE_REG  
P01_MODE_REG  
P02_MODE_REG  
P03_MODE_REG  
P04_MODE_REG  
P05_MODE_REG  
P06_MODE_REG  
P07_MODE_REG  
P10_MODE_REG  
P11_MODE_REG  
P12_MODE_REG  
P13_MODE_REG  
P14_MODE_REG  
P15_MODE_REG  
P16_MODE_REG  
P17_MODE_REG  
P20_MODE_REG  
P21_MODE_REG  
P22_MODE_REG  
P23_MODE_REG  
P24_MODE_REG  
P30_MODE_REG  
P31_MODE_REG  
P32_MODE_REG  
P33_MODE_REG  
P34_MODE_REG  
P35_MODE_REG  
P36_MODE_REG  
P37_MODE_REG  
P40_MODE_REG  
P41_MODE_REG  
P42_MODE_REG  
P43_MODE_REG  
P44_MODE_REG  
P45_MODE_REG  
P46_MODE_REG  
P47_MODE_REG  
P0_PADPWR_CTRL_REG  
P1_PADPWR_CTRL_REG  
P0 Reset port pins Register  
P1 Reset port pins Register  
P2 Reset port pins Register  
P3 Reset port pins Register  
P4 Reset port pins Register  
P00 Mode Register  
P01 Mode Register  
P02 Mode Register  
P03 Mode Register  
P04 Mode Register  
P05 Mode Register  
P06 Mode Register  
P07 Mode Register  
P10 Mode Register  
P11 Mode Register  
P12 Mode Register  
P13 Mode Register  
P14 Mode Register  
P15 Mode Register  
P24 Mode Register  
P25 Mode Register  
P20 Mode Register  
P21 Mode Register  
P22 Mode Register  
P23 Mode Register  
P24 Mode Register  
P30 Mode Register  
P31 Mode Register  
P32 Mode Register  
P33 Mode Register  
P34 Mode Register  
P35 Mode Register  
P36 Mode Register  
P37 Mode Register  
P40 Mode Register  
P41 Mode Register  
P42 Mode Register  
P43 Mode Register  
P44 Mode Register  
P45 Mode Register  
P46 Mode Register  
P47 Mode Register  
P0 Output Power Control Register  
P1 Output Power Control Register  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
388 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 611: Register map GPIO  
Address  
Port  
Description  
0x500030C4  
0x500030C6  
0x500030C8  
0x500030D0  
P2_PADPWR_CTRL_REG  
P3_PADPWR_CTRL_REG  
P4_PADPWR_CTRL_REG  
GPIO_CLK_SEL  
P2 Output Power Control Register  
P3 Output Power Control Register  
P4 Output Power Control Register  
Select which clock to map on port in PPA  
Table 612: P0_DATA_REG (0x50003000)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
7:0  
-
-
Reserved  
0x0  
R/W  
P0_DATA  
Set P0 output register when written; Returns the value of P0  
port when read  
0x20  
Table 613: P1_DATA_REG (0x50003002)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
P1_DATA  
Set P1 output register when written; Returns the value of P1  
port when read  
0x60  
Table 614: P2_DATA_REG (0x50003004)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:0  
-
-
Reserved  
R/W  
P2_DATA  
Set P2 output register when written; Returns the value of P2  
port when read  
0x0  
Table 615: P3_DATA_REG (0x50003006)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
P3_DATA  
Set P3 output register when written; Returns the value of P3  
port when read  
0x0  
Table 616: P4_DATA_REG (0x50003008)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
P4_DATA  
Set P4 output register when written; Returns the value of P4  
port when read  
0x0  
Table 617: P0_SET_DATA_REG (0x5000300A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R0/W  
P0_SET  
Writing a 1 to P0[y] sets P0[y] to 1. Writing 0 is discarded;  
Reading returns 0  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
389 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 618: P1_SET_DATA_REG (0x5000300C)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
7:0  
-
-
Reserved  
0x0  
0x0  
R0/W  
P1_SET  
Writing a 1 to P1[y] sets P1[y] to 1. Writing 0 is discarded;  
Reading returns 0  
Table 619: P2_SET_DATA_REG (0x5000300E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:0  
-
-
Reserved  
R0/W  
P2_SET  
Writing a 1 to P2[y] sets P2[y] to 1. Writing 0 is discarded;  
Reading returns 0  
0x0  
Table 620: P3_SET_DATA_REG (0x50003010)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R0/W  
P3_SET  
Writing a 1 to P3[y] sets P3[y] to 1. Writing 0 is discarded;  
Reading returns 0  
0x0  
Table 621: P4_SET_DATA_REG (0x50003012)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R0/W  
P4_SET  
Writing a 1 to P4[y] sets P4[y] to 1. Writing 0 is discarded;  
Reading returns 0  
0x0  
Table 622: P0_RESET_DATA_REG (0x50003014)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R0/W  
P0_RESET  
Writing a 1 to P0[y] sets P0[y] to 0. Writing 0 is discarded;  
Reading returns 0  
0x0  
Table 623: P1_RESET_DATA_REG (0x50003016)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R0/W  
P1_RESET  
Writing a 1 to P1[y] sets P1[y] to 0. Writing 0 is discarded;  
Reading returns 0  
0x0  
Table 624: P2_RESET_DATA_REG (0x50003018)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:0  
-
-
Reserved  
R0/W  
P2_RESET  
Writing a 1 to P2[y] sets P2[y] to 0. Writing 0 is discarded;  
Reading returns 0  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
390 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 625: P3_RESET_DATA_REG (0x5000301A)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
7:0  
-
-
Reserved  
0x0  
0x0  
R0/W  
P3_RESET  
Writing a 1 to P3[y] sets P3[y] to 0. Writing 0 is discarded;  
Reading returns 0  
Table 626: P4_RESET_DATA_REG (0x5000301C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R0/W  
P4_RESET  
Writing a 1 to P4[y] sets P4[y] to 0. Writing 0 is discarded;  
Reading returns 0  
0x0  
Table 627: P00_MODE_REG (0x5000301E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
Function of port  
0: GPIO, PUPD see above  
1: UART_RX  
2: UART_TX  
3: UART_IRDA_RX  
4: UART_IRDA_TX  
5: UART2_RX  
6: UART2_TX  
7: UART2_IRDA_RX  
8: UART2_IRDA_TX  
9: UART2_CTSN  
10: UART2_RTSN  
11: SPI_DI  
12: SPI_DO  
13: SPI_CLK  
(continued on next page)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
391 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 627: P00_MODE_REG (0x5000301E)  
Bit  
Mode Symbol  
R/W PID  
Description  
Reset  
0x0  
5:0  
14: SPI_EN  
(continued)  
15: SPI2_DI  
16: SPI2_DO  
17: SPI2_CLK  
18: SPI2_EN  
19: I2C_SCL  
20: I2C_SDA  
21: I2C2_SCL  
22: I2C2_SDA  
23: PWM0  
24: PWM1  
25: PWM2  
26: PWM3  
27: PWM4  
28: BLE_DIAG (ble_diag_0: pins P2_0 and P3_0,  
ble_diag_1: pins P2_1 and P3_1, ble_diag_2: pins P2_2 and  
P3_2, ble_diag_3: pins P1_0 and P3_3, ble_diag_4: pins  
P1_1 and P3_4, ble_diag_5: pins P1_2 and P3_5,  
ble_diag_6: pins P1_3 and P3_6, ble_diag_7: pins P2_3 and  
P3_7)  
29: Reserved  
30: PCM_DI  
31: PCM_DO  
32: PCM_FSC  
33: PCM_CLK  
34: PDM_DI  
35: PDM_DO  
36: PDM_CLK  
37: USB_SOF  
38: ADC (only for P0[7:6], P1[5:2,0] and P2[4])  
38: USB (only for P2[2] and P1[1])  
38: XTAL32 (only for P2[1:0])  
39: QD_CHA_X  
40: QD_CHB_X  
41: QD_CHA_Y  
42: QD_CHB_Y  
43: QD_CHA_Z  
44: QD_CHB_Z  
45: IR_OUT  
46: BREATH  
47: KB_ROW  
48: COEX_EXT_ACT0  
49: COEX_EXT_ACT1  
50: COEX_SMART_ACT  
51: COEX_SMART_PRI  
52: CLOCK  
53: ONESHOT  
54: PWM5  
55: PORT0_DCF  
56: PORT1_DCF  
57: PORT2_DCF  
58: PORT3_DCF  
59: PORT4_DCF  
60: RF_ANT_TRIM[0]  
61: RF_ANT_TRIM[1]  
62: RF_ANT_TRIM[2]  
63: Reserved  
(Note 20)  
Note 20: Note: when a certain input function (like SPI_DI) is selected on more than 1 port pin, the port with the lowest index has the highest priority  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
392 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
and P0 has higher priority than P1.  
Table 628: P01_MODE_REG (0x50003020)  
Bit  
Mode Symbol  
Description  
Reset  
15:11  
10  
-
-
Reserved  
0x0  
0x0  
R/W  
PPOD  
0: Push pull  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 629: P02_MODE_REG (0x50003022)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 630: P03_MODE_REG (0x50003024)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 631: P04_MODE_REG (0x50003026)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
393 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 631: P04_MODE_REG (0x50003026)  
Bit  
Mode Symbol  
Description  
Reset  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 632: P05_MODE_REG (0x50003028)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x1  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 633: P06_MODE_REG (0x5000302A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 634: P07_MODE_REG (0x5000302C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
394 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 635: P10_MODE_REG (0x5000302E)  
Bit  
Mode Symbol  
Description  
Reset  
15:11  
10  
-
-
Reserved  
0x0  
0x0  
R/W  
PPOD  
0: Push pull  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 636: P11_MODE_REG (0x50003030)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 637: P12_MODE_REG (0x50003032)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 638: P13_MODE_REG (0x50003034)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
395 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 638: P13_MODE_REG (0x50003034)  
Bit  
7:6  
5:0  
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 639: P14_MODE_REG (0x50003036)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 640: P15_MODE_REG (0x50003038)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x1  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 641: P16_MODE_REG (0x5000303A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x1  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 642: P17_MODE_REG (0x5000303C)  
Bit  
Mode Symbol  
Description  
Reset  
15:11  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
396 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 642: P17_MODE_REG (0x5000303C)  
Bit  
Mode Symbol  
Description  
Reset  
10  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 643: P20_MODE_REG (0x5000303E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 644: P21_MODE_REG (0x50003040)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 645: P22_MODE_REG (0x50003042)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
397 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 646: P23_MODE_REG (0x50003044)  
Bit  
Mode Symbol  
Description  
Reset  
15:11  
10  
-
-
Reserved  
0x0  
0x0  
R/W  
PPOD  
0: Push pull  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 647: P24_MODE_REG (0x50003046)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 648: P30_MODE_REG (0x5000304E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 649: P31_MODE_REG (0x50003050)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
398 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 649: P31_MODE_REG (0x50003050)  
Bit  
7:6  
5:0  
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 650: P32_MODE_REG (0x50003052)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 651: P33_MODE_REG (0x50003054)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 652: P34_MODE_REG (0x50003056)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 653: P35_MODE_REG (0x50003058)  
Bit  
Mode Symbol  
Description  
Reset  
15:11  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
399 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 653: P35_MODE_REG (0x50003058)  
Bit  
Mode Symbol  
Description  
Reset  
10  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 654: P36_MODE_REG (0x5000305A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 655: P37_MODE_REG (0x5000305C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 656: P40_MODE_REG (0x5000305E)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
400 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 657: P41_MODE_REG (0x50003060)  
Bit  
Mode Symbol  
Description  
Reset  
15:11  
10  
-
-
Reserved  
0x0  
0x0  
R/W  
PPOD  
0: Push pull  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 658: P42_MODE_REG (0x50003062)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 659: P43_MODE_REG (0x50003064)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 660: P44_MODE_REG (0x50003066)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
401 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 660: P44_MODE_REG (0x50003066)  
Bit  
7:6  
5:0  
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 661: P45_MODE_REG (0x50003068)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 662: P46_MODE_REG (0x5000306A)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 663: P47_MODE_REG (0x5000306C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:11  
10  
-
-
Reserved  
R/W  
PPOD  
0: Push pull  
0x0  
1: Open drain  
9:8  
R/W  
PUPD  
00 = Input, no resistors selected  
01 = Input, pull-up selected  
0x2  
10 = Input, pull-down selected  
11 = Output, no resistors selected  
In ADC mode, these bits are don't care  
7:6  
5:0  
-
-
Reserved  
0x0  
0x0  
R/W  
PID  
See P00_MODE_REG[PID]  
Table 664: P0_PADPWR_CTRL_REG (0x500030C0)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
402 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 664: P0_PADPWR_CTRL_REG (0x500030C0)  
Bit  
Mode Symbol  
Description  
Reset  
7:6  
R/W  
P0_OUT_CTRL  
1 = P0_x port output is powered by VDD1V8P rail  
0 = P0_x port output is powered by V33 rail  
bit 6 controls the power supply of P0[6],  
bit 7 controls the power supply of P0[7]  
0x0  
5:0  
-
-
Reserved  
0x0  
Table 665: P1_PADPWR_CTRL_REG (0x500030C2)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
P1_OUT_CTRL  
1 = P1_x port output is powered by VDD1V8P rail  
0 = P1_x port output is powered by V33 rail  
bit x controls the power supply of P1[x]  
0x0  
Table 666: P2_PADPWR_CTRL_REG (0x500030C4)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:5  
4:0  
-
-
Reserved  
R/W  
P2_OUT_CTRL  
1 = P2_x port output is powered by VDD1V8P rail  
0 = P2_x port output is powered by V33 rail  
bit x controls the power supply of P2[x]  
0x0  
Table 667: P3_PADPWR_CTRL_REG (0x500030C6)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
P3_OUT_CTRL  
1 = P3_x port output is powered by VDD1V8P rail  
0 = P3_x port output is powered by V33 rail  
bit x controls the power supply of P3[x]  
0x0  
Table 668: P4_PADPWR_CTRL_REG (0x500030C8)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:8  
7:0  
-
-
Reserved  
R/W  
P4_OUT_CTRL  
1 = P4_x port output is powered by VDD1V8P rail  
0 = P4_x port output is powered by V33 rail  
bit x controls the power supply of P4[x]  
0x0  
Table 669: GPIO_CLK_SEL (0x500030D0)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:3  
2:0  
-
-
Reserved  
R/W  
FUNC_CLOCK_SEL  
Select which clock to map when PID = FUNC_CLOCK.  
0x0  
0x0: XTAL32K  
0x1: RC32K  
0x2: RCX  
0x3: XTAL16M  
0x4: RC16M  
0x5: DIVN  
0x6: Reserved  
0x7: Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
403 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
37.24 WDOG REGISTER FILE  
Table 670: Register map WDOG  
Address  
Port  
Description  
0x50003100  
0x50003102  
WATCHDOG_REG  
WATCHDOG_CTRL_REG  
Watchdog timer register.  
Watchdog control register.  
Table 671: WATCHDOG_REG (0x50003100)  
Bit  
Mode Symbol  
Description  
Reset  
15:9  
R0/W  
WDOG_WEN  
0000.000 = Write enable for Watchdog timer  
else Write disable. This filter prevents unintentional preset-  
ting the watchdog with a SW run-away.  
0x0  
8
R/W  
R/W  
WDOG_VAL_NEG  
WDOG_VAL  
0 = Watchdog timer value is positive.  
1 = Watchdog timer value is negative.  
0x0  
7:0  
Write: Watchdog timer reload value. Note that all bits 15-9  
must be 0 to reload this register.  
0xFF  
Read: Actual Watchdog timer value. Decremented by 1  
every 10.24 msec. Bit 8 indicates a negative counter value.  
2, 1, 0, 1FF , 1FE etc. An NMI or WDOG (SYS) reset is  
16  
16  
generated under the following conditions:  
If WATCHDOG_CTRL_REG[NMI_RST] = 0 then  
If WDOG_VAL = 0 -> NMI (Non Maskable Interrupt)  
if WDOG_VAL = 1F0 -> WDOG reset -> reload FF  
16  
16  
If WATCHDOG_CTRL_REG[NMI_RST] = 1 then  
if WDOG_VAL <= 0 -> WDOG reset -> reload FF  
16  
Table 672: WATCHDOG_CTRL_REG (0x50003102)  
Bit  
15:2  
1
Mode Symbol  
Description  
Reserved  
Reserved  
Reset  
0x0  
-
-
-
-
0x0  
0
R/W  
NMI_RST  
0 = Watchdog timer generates NMI at value 0, and WDOG  
(SYS) reset at <=-16. Timer can be frozen /resumed using  
SET_FREEZE_REG[FRZ_WDOG]/  
0x0  
RESET_FREEZE_REG[FRZ_WDOG].  
1 = Watchdog timer generates a WDOG (SYS) reset at value  
0 and can not be frozen by Software.  
Note that this bit can only be set to 1 by SW and only be  
reset with a WDOG (SYS) reset or SW reset.  
The watchdog is always frozen when the Cortex-M0 is halted  
in DEBUG State.  
37.25 VERSION REGISTER FILE  
Table 673: Register map Version  
Address  
Port  
Description  
0x50003200  
0x50003201  
0x50003202  
0x50003203  
0x50003204  
CHIP_ID1_REG  
CHIP_ID2_REG  
CHIP_ID3_REG  
CHIP_SWC_REG  
CHIP_REVISION_REG  
Chip identification register 1.  
Chip identification register 2.  
Chip identification register 3.  
Software compatibility register.  
Chip revision register.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
404 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 674: CHIP_ID1_REG (0x50003200)  
Bit  
Mode Symbol  
CHIP_ID1  
Description  
Reset  
7:0  
R
First character of device type "680" in ASCII.  
0x36  
Table 675: CHIP_ID2_REG (0x50003201)  
Bit  
Mode Symbol  
CHIP_ID2  
Description  
Reset  
7:0  
R
Second character of device type "680" in ASCII.  
0x38  
Table 676: CHIP_ID3_REG (0x50003202)  
Bit  
Mode Symbol  
CHIP_ID3  
Description  
Reset  
7:0  
R
Third character of device type "680" in ASCII.  
0x30  
Table 677: CHIP_SWC_REG (0x50003203)  
Bit  
7:4  
3:0  
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
CHIP_SWC  
SoftWare Compatibility code.  
0x0  
Integer (default = 0) which is incremented if a silicon change  
has impact on the CPU Firmware.  
Can be used by software developers to write silicon revision  
dependent code.  
Table 678: CHIP_REVISION_REG (0x50003204)  
Bit  
Mode Symbol  
REVISION_ID  
Description  
Reset  
7:0  
R
Chip version, corresponds with type number in ASCII.  
0x41 = 'A', 0x42 = 'B'  
0x42  
37.26 GPREG REGISTER FILE  
Table 679: Register map GPREG  
Address  
Port  
Description  
0x50003300  
SET_FREEZE_REG  
Controls freezing of various timers/counters (incl.  
DMA and USB).  
0x50003302  
RESET_FREEZE_REG  
Controls unfreezing of various timers/counters (incl.  
DMA and USB).  
0x50003304  
0x50003306  
0x50003308  
0x5000330A  
0x5000330C  
0x5000330E  
DEBUG_REG  
Various debug information register.  
GP_STATUS_REG  
General purpose system status register.  
General purpose system control register.  
Base address of the ECC Crypto memory register.  
Controls muxing and enabling of the LEDs.  
GP_CONTROL_REG  
ECC_BASE_ADDR_REG  
LED_CONTROL_REG  
BLE_FINECNT_SAMP_REG  
BLE FINECNT sampled value while in deep sleep  
state.  
0x50003310  
0x50003312  
0x50003314  
0x50003316  
PLL_SYS_CTRL1_REG  
PLL_SYS_CTRL2_REG  
PLL_SYS_CTRL3_REG  
PLL_SYS_STATUS_REG  
System PLL control register 1.  
System PLL control register 2.  
System PLL control register 3.  
System PLL status register.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
405 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 680: SET_FREEZE_REG (0x50003300)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
R/W  
R/W  
R/W  
R/W  
R/W  
FRZ_SWTIM2  
FRZ_SWTIM1  
FRZ_DMA  
FRZ_USB  
FRZ_WDOG  
If '1', the SW Timer (TIMER2) is frozen, '0' is discarded.  
If '1', the SW Timer (TIMER1) is frozen, '0' is discarded.  
If '1', the DMA is frozen, '0' is discarded.  
If '1', the USB is frozen, '0' is discarded.  
6
5
4
3
If '1', the watchdog timer is frozen, '0' is discarded.  
WATCHDOG_CTRL_REG[NMI_RST] must be '0' to allow  
the freeze function.  
2
1
0
R/W  
R/W  
R/W  
FRZ_BLETIM  
FRZ_SWTIM0  
FRZ_WKUPTIM  
If '1', the BLE master clock is frozen, '0' is discarded.  
If '1', the SW Timer (TIMER0) is frozen, '0' is discarded.  
If '1', the Wake Up Timer is frozen, '0' is discarded.  
0x0  
0x0  
0x0  
Table 681: RESET_FREEZE_REG (0x50003302)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
-
-
Reserved  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
FRZ_SWTIM2  
FRZ_SWTIM1  
FRZ_DMA  
If '1', the SW Timer (TIMER2) continues, '0' is discarded.  
If '1', the SW Timer (TIMER1) continues, '0' is discarded.  
If '1', the DMA continues, '0' is discarded.  
If '1', the USB continues, '0' is discarded.  
If '1', the watchdog timer continues, '0' is discarded.  
If '1', the BLE master clock continues, '0' is discarded.  
If '1', the SW Timer (TIMER0) continues, '0' is discarded.  
If '1', the Wake Up Timer continues, '0' is discarded.  
6
5
4
FRZ_USB  
3
FRZ_WDOG  
FRZ_BLETIM  
FRZ_SWTIM0  
FRZ_WKUPTIM  
2
1
0
Table 682: DEBUG_REG (0x50003304)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
DEBUGS_FREEZE_  
EN  
Default '1', freezing of the on-chip timers is enabled when the  
Cortex-M0 is halted in DEBUG State.  
0x1  
If '0', freezing of the on-chip timers is depending on  
FREEZE_REG when the Cortex-M0 is halted in DEBUG  
State except the watchdog timer. The watchdog timer is  
always frozen when the Cortex-M0 is halted in DEBUG  
State.  
Note: This bit is retained.  
Table 683: GP_STATUS_REG (0x50003306)  
Bit  
15:1  
0
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
CAL_PHASE  
If '1', it designates that the chip is in Calibration Phase i.e.  
the OTP has been initially programmed but no Calibration  
has occured.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
406 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 684: GP_CONTROL_REG (0x50003308)  
Bit  
15:8  
7:3  
2
Mode Symbol  
Description  
Reserved  
Reserved  
Reset  
-
-
-
0x0  
0x0  
0x0  
-
R
BLE_WAKEUP_LP_I  
RQ  
The current value of the BLE_WAKEUP_LP_IRQ interrupt  
request.  
1
R/W  
R/W  
BLE_H2H_BRIDGE_  
BYPASS  
If '1', the AHB-to-AHB bridge is bypassed, needed to access  
the BLE Register file, only when the system clock source is  
the XTAL and both hclk and ble_hclk are running at 16MHz,  
i.e. at the XTAL clock rate.  
0x0  
0
BLE_WAKEUP_REQ  
If '1', the BLE wakes up. Must be kept high at least for 1 low  
power clock period.  
0x0  
If the BLE is in deep sleep state, then by setting this bit it will  
cause the wakeup LP IRQ to be asserted with a delay of 3 to  
4 low power cycles.  
Table 685: ECC_BASE_ADDR_REG (0x5000330A)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reserved  
Reserved  
Reset  
0x0  
-
-
-
-
0x0  
6:0  
R/W  
ECC_BASE_ADDR  
Contains the base address of the ECC Crypto memory.  
Memory allocation is in pages of 1KB and up to 127KB.  
Since the ECC has an address range of 2KB and the total  
addressable memory range is 128KB, the maximum value of  
0x7F (127KB offset) will result in 1KB at the top of the mem-  
ory range and the other 1KB at the bottom of the memory  
range.  
0x0  
Table 686: LED_CONTROL_REG (0x5000330C)  
Bit  
15:10  
9:6  
5
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
R/W  
LED_TRIM  
LED3_EN  
LED current trimming bits.  
0x0  
0: LED3 disabled,  
1: LED3 enabled.  
0x0  
4
3
2
1
0
R/W  
R/W  
R/W  
R/W  
R/W  
LED2_EN  
0: LED2 disabled,  
1: LED2 enabled.  
0x0  
0x0  
0x0  
0x0  
0x0  
LED1_EN  
0: LED1 disabled,  
1: LED1 enabled.  
LED3_SRC_SEL  
LED2_SRC_SEL  
LED1_SRC_SEL  
0: LED3 = PWM4,  
1: LED3 = Breathing Timer.  
0: LED2 = PWM3,  
1: LED2 = Breathing Timer.  
0: LED1 = PWM2,  
1: LED1 = Breathing Timer.  
Note: The PWM2/3/4 can also be routed to GPIOs using PID  
25/26/27 respectively.  
Table 687: BLE_FINECNT_SAMP_REG (0x5000330E)  
Bit  
Mode Symbol  
Description  
Reset  
15:10  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
407 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 687: BLE_FINECNT_SAMP_REG (0x5000330E)  
Bit  
Mode Symbol  
R/W BLE_FINECNT_SAM  
Description  
Reset  
9:0  
This register is located at the Always On Power Domain and  
it holds the automatically sampled value of the BLE  
FINECNT timer  
0x0  
P
The HW automatically samples the value into this register  
during the sequence of "BLE Sleep On" and restores auto-  
matically the value during the BLE Wake up sequence.  
The Software may read and modify the value while the BLE  
is in Sleep state. While the BLE is awake, the value of the  
register has no meaning, while changing the value by writing  
another one will have no effect in the operation of the BLE  
core.  
Table 688: PLL_SYS_CTRL1_REG (0x50003310)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15  
-
-
Reserved  
14:8  
R/W  
PLL_R_DIV  
PLL Output dvider R (x means divide by x, 0 means divide by  
1)  
0x1  
7:3  
2
-
-
Reserved  
0x0  
0x0  
R/W  
LDO_PLL_VREF_HO 0: indicates that the reference input is tracked,  
LD  
1: indicates that the reference input is sampled.  
1
0
R/W  
R/W  
LDO_PLL_ENABLE  
0: LDO PLL off,  
1: LDO PLL on.  
0x0  
0x0  
PLL_EN  
0: Power down  
1: PLL on  
Table 689: PLL_SYS_CTRL2_REG (0x50003312)  
Bit  
15  
14  
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
PLL_SEL_MIN_CUR  
_INT  
0: VCO current read from min_current <5:0>,  
1: VCO current is internally determined with a calibration  
algoritm.  
0x0  
13:12  
R/W  
PLL_DEL_SEL  
PLL manual delay value for Phase Frequency Detector.  
0x2  
0: 0.493  
1: 0.814  
2: 1.13 ns <- default  
3: 1.44 ns  
11:8  
7
-
-
Reserved  
Reserved  
0x0  
0x0  
0x6  
-
-
6:0  
R/W  
PLL_N_DIV  
PLL Loop divider N (x means divide by x, 0 means divide by  
1)  
Table 690: PLL_SYS_CTRL3_REG (0x50003314)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15  
R/W  
R/W  
PLL_RECALIB  
Recalibrate  
14:10  
PLL_START_DEL  
Programmable delay time for the loop filter voltage preset  
value. After PLL_EN is set, the loopfilter precharge resistors  
are disabled after this delay time. One LSB is 48 ns  
0xF  
9:5  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
408 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 690: PLL_SYS_CTRL3_REG (0x50003314)  
Bit  
Mode Symbol  
R/W PLL_ICP_SEL  
Description  
Reset  
4:0  
PLL charge pump current select  
One LSB is 5uA.  
0x9  
Table 691: PLL_SYS_STATUS_REG (0x50003316)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:12  
11  
-
-
Reserved  
R
R
PLL_CALIBR_END  
Indicates that calibration has finished.  
0x0  
10:5  
PLL_PLL_BEST_MIN Calibrated VCO frequency band.  
_CUR  
0x0  
4:2  
1
-
-
Reserved  
0x0  
0x0  
0x0  
R
R
LDO_PLL_OK  
1: Indicates that LDO PLL is in regulation.  
1: PLL locked  
0
PLL_LOCK_FINE  
37.27 TIMER0/2 AND BREATH REGISTER FILE  
Table 692: Register map Timer0/2 and Breath  
Address  
Port  
Description  
0x50003400  
0x50003402  
0x50003404  
0x50003406  
0x50003408  
0x5000340A  
0x5000340C  
0x5000340E  
0x50003410  
0x50003412  
0x50003414  
0x50003416  
0x50003418  
0x5000341A  
0x5000341C  
0x5000341E  
TIMER0_CTRL_REG  
TIMER0_ON_REG  
Timer0 control register  
Timer0 on control register  
16 bits reload value for Timer0  
16 bits reload value for Timer0  
Defines start Cycle for PWM2  
Defines start Cycle for PWM3  
Defines start Cycle for PWM4  
Defines end Cycle for PWM2  
Defines end Cycle for PWM3  
Defines end Cycle for PWM4  
Defines the PMW2,3,4 frequency  
PWM 2 3 4 Control register  
Breath configuration register  
Breath max duty cycle register  
Breath min duty cycle register  
Breath control register  
TIMER0_RELOAD_M_REG  
TIMER0_RELOAD_N_REG  
PWM2_START_CYCLE  
PWM3_START_CYCLE  
PWM4_START_CYCLE  
PWM2_END_CYCLE  
PWM3_END_CYCLE  
PWM4_END_CYCLE  
TRIPLE_PWM_FREQUENCY  
TRIPLE_PWM_CTRL_REG  
BREATH_CFG_REG  
BREATH_DUTY_MAX_REG  
BREATH_DUTY_MIN_REG  
BREATH_CTRL_REG  
Table 693: TIMER0_CTRL_REG (0x50003400)  
Bit  
15:4  
3
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R/W  
PWM_MODE  
'0' = PWM signals are '1' during high time.  
'1' = PWM signals send out the (fast) clock divided by 2 dur-  
ing high time.  
0x0  
2
1
R/W  
R/W  
TIM0_CLK_DIV  
TIM0_CLK_SEL  
'1' = Timer0 uses selected clock frequency as is.  
'0' = Timer0 uses selected clock frequency divided by 10.  
Note that this applies only to the ON-counter.  
0x0  
0x0  
'1' = Timer0 uses fast clock frequency.  
'0' = Timer0 uses 32 kHz (slow) clock frequency.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
409 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 693: TIMER0_CTRL_REG (0x50003400)  
Bit  
Mode Symbol  
R/W TIM0_CTRL  
Description  
Reset  
0
'0' = Timer0 is off and in reset state.  
'1' = Timer0 is running.  
0x0  
Table 694: TIMER0_ON_REG (0x50003402)  
Bit  
Mode Symbol  
R0/W TIM0_ON  
Description  
Reset  
15:0  
Timer0 On reload value.  
0x0  
If read the actual counter value ON_CNTer is returned  
Table 695: TIMER0_RELOAD_M_REG (0x50003404)  
Bit  
Mode Symbol  
R0/W TIM0_M  
Description  
Reset  
15:0  
Timer0 'high' reload value.  
0x0  
If read the actual counter value T0_CNTer is returned  
Table 696: TIMER0_RELOAD_N_REG (0x50003406)  
Bit  
Mode Symbol  
R0/W TIM0_N  
Description  
Reset  
15:0  
Timer0 'low' reload value.  
0x0  
If read the actual counter value T0_CNTer is returned  
Table 697: PWM2_START_CYCLE (0x50003408)  
Bit  
Mode Symbol  
R/W START_CYCLE  
Description  
Reset  
13:0  
Defines the cycle in which the PWM becomes high. if  
start_cycle is larger than freq or end_cycle is equal to  
start_cycle, pwm out is always 0  
0x0  
Table 698: PWM3_START_CYCLE (0x5000340A)  
Bit  
Mode Symbol  
R/W START_CYCLE  
Description  
Reset  
13:0  
Defines the cycle in which the PWM becomes high. if  
start_cycle is larger than freq or end_cycle is equal to  
start_cycle, pwm out is always 0  
0x0  
Table 699: PWM4_START_CYCLE (0x5000340C)  
Bit  
Mode Symbol  
R/W START_CYCLE  
Description  
Reset  
13:0  
Defines the cycle in which the PWM becomes high. if  
start_cycle is larger than freq or end_cycle is equal to  
start_cycle, pwm out is always 0  
0x0  
Table 700: PWM2_END_CYCLE (0x5000340E)  
Bit  
Mode Symbol  
R/W END_CYCLE  
Description  
Reset  
13:0  
Defines the cycle in which the PWM becomes low. If  
end_cycle is larger then freq and start_cycle is not larger  
then freq, output is always 1  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
410 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 701: PWM3_END_CYCLE (0x50003410)  
Bit  
Mode Symbol  
R/W END_CYCLE  
Description  
Reset  
13:0  
Defines the cycle in which the PWM becomes low. If  
end_cycle is larger then freq and start_cycle is not larger  
then freq, output is always 1  
0x0  
Table 702: PWM4_END_CYCLE (0x50003412)  
Bit  
Mode Symbol  
R/W END_CYCLE  
Description  
Reset  
13:0  
Defines the cycle in which the PWM becomes low. If  
end_cycle is larger then freq and start_cycle is not larger  
then freq, output is always 1  
0x0  
Table 703: TRIPLE_PWM_FREQUENCY (0x50003414)  
Bit  
Mode Symbol  
R/W FREQ  
Description  
Reset  
13:0  
Defines the frequency of PWM 2 3 4, period = TMR2_CLK * (  
FREQ+1)  
0x0  
Table 704: TRIPLE_PWM_CTRL_REG (0x50003416)  
Bit  
Mode Symbol  
Description  
Reset  
3
R/W  
TRIPLE_PWM_CLK_ '1' = Triple PWM uses fast clock frequency.  
0x1  
SEL  
'0' = Triple PWM uses 32 Khz (slow) clock frequency  
'1' = HW can pause PWM 2,3,4  
'1' = PWM 2 3 4 is paused  
2
1
0
R/W  
R/W  
R/W  
HW_PAUSE_EN  
SW_PAUSE_EN  
0x1  
0x0  
0x0  
TRIPLE_PWM_ENA  
BLE  
'1' = PWM 2 3 4 is enabled  
Table 705: BREATH_CFG_REG (0x50003418)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
R/W  
BRTH_STEP  
Defines the number of PWM periods minus 1, in which duty  
cycle will be constant  
0x1  
7:0  
R/W  
BRTH_DIV  
Defines the breath PWM frequecny. Breath PWM frequency  
is 16MHz / (BRTH_DIV+1)  
0xFF  
Table 706: BREATH_DUTY_MAX_REG (0x5000341A)  
Bit  
Mode Symbol  
R/W BRTH_DUTY_MAX  
Description  
Reset  
7:0  
Defines the maximum duty cycle of the PWM breath func-  
tion. Max duty cycle = BRTH_DUTY_MAX / (BRTH_DIV+1)  
0xA  
Table 707: BREATH_DUTY_MIN_REG (0x5000341C)  
Bit  
Mode Symbol  
R/W BRTH_DUTY_MIN  
Description  
Reset  
7:0  
Defines the minimum duty cycle of the PWM breath function.  
Min duty cycle = BRTH_DUTY_MIN / (BRTH_DIV+1)  
0x1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
411 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 708: BREATH_CTRL_REG (0x5000341E)  
Bit  
Mode Symbol  
Description  
Reset  
1
R/W  
BRTH_PWM_POL  
Defines the output polarity. '0' line is low in idle state. '1' line  
is high in idle state.  
0x0  
0
R/W  
BRTH_EN  
'1' enable the Breath operation  
0x0  
37.28 DMA REGISTER FILE  
Table 709: Register map DMA  
Address  
Port  
Description  
0x50003500  
0x50003502  
0x50003504  
0x50003506  
0x50003508  
0x5000350A  
0x5000350C  
0x5000350E  
0x50003510  
0x50003512  
0x50003514  
0x50003516  
0x50003518  
0x5000351A  
0x5000351C  
0x5000351E  
0x50003520  
0x50003522  
0x50003524  
0x50003526  
0x50003528  
0x5000352A  
0x5000352C  
0x5000352E  
0x50003530  
0x50003532  
0x50003534  
0x50003536  
0x50003538  
0x5000353A  
0x5000353C  
0x5000353E  
0x50003540  
0x50003542  
0x50003544  
0x50003546  
DMA0_A_STARTL_REG  
DMA0_A_STARTH_REG  
DMA0_B_STARTL_REG  
DMA0_B_STARTH_REG  
DMA0_INT_REG  
Start address Low A of DMA channel 0  
Start address High A of DMA channel 0  
Start address Low B of DMA channel 0  
Start address High B of DMA channel 0  
DMA receive interrupt register channel 0  
DMA receive length register channel 0  
Control register for the DMA channel 0  
Index value of DMA channel 0  
DMA0_LEN_REG  
DMA0_CTRL_REG  
DMA0_IDX_REG  
DMA1_A_STARTL_REG  
DMA1_A_STARTH_REG  
DMA1_B_STARTL_REG  
DMA1_B_STARTH_REG  
DMA1_INT_REG  
Start address Low A of DMA channel 1  
Start address High A of DMA channel 1  
Start address Low B of DMA channel 1  
Start address High B of DMA channel 1  
DMA receive interrupt register channel 1  
DMA receive length register channel 1  
Control register for the DMA channel 1  
Index value of DMA channel 1  
DMA1_LEN_REG  
DMA1_CTRL_REG  
DMA1_IDX_REG  
DMA2_A_STARTL_REG  
DMA2_A_STARTH_REG  
DMA2_B_STARTL_REG  
DMA2_B_STARTH_REG  
DMA2_INT_REG  
Start address Low A of DMA channel 2  
Start address High A of DMA channel 2  
Start address Low B of DMA channel 2  
Start address High B of DMA channel 2  
DMA receive interrupt register channel 2  
DMA receive length register channel 2  
Control register for the DMA channel 2  
Index value of DMA channel 2  
DMA2_LEN_REG  
DMA2_CTRL_REG  
DMA2_IDX_REG  
DMA3_A_STARTL_REG  
DMA3_A_STARTH_REG  
DMA3_B_STARTL_REG  
DMA3_B_STARTH_REG  
DMA3_INT_REG  
Start address Low A of DMA channel 3  
Start address High A of DMA channel 3  
Start address Low B of DMA channel 3  
Start address High B of DMA channel 3  
DMA receive interrupt register channel 3  
DMA receive length register channel 3  
Control register for the DMA channel 3  
Index value of DMA channel 3  
DMA3_LEN_REG  
DMA3_CTRL_REG  
DMA3_IDX_REG  
DMA4_A_STARTL_REG  
DMA4_A_STARTH_REG  
DMA4_B_STARTL_REG  
DMA4_B_STARTH_REG  
Start address Low A of DMA channel 4  
Start address High A of DMA channel 4  
Start address Low B of DMA channel 4  
Start address High B of DMA channel 4  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
412 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 709: Register map DMA  
Address  
Port  
Description  
0x50003548  
0x5000354A  
0x5000354C  
0x5000354E  
0x50003550  
0x50003552  
0x50003554  
0x50003556  
0x50003558  
0x5000355A  
0x5000355C  
0x5000355E  
0x50003560  
0x50003562  
0x50003564  
0x50003566  
0x50003568  
0x5000356A  
0x5000356C  
0x5000356E  
0x50003570  
0x50003572  
0x50003574  
0x50003576  
0x50003578  
0x5000357A  
0x5000357C  
0x5000357E  
0x50003580  
0x50003582  
0x50003584  
DMA4_INT_REG  
DMA receive interrupt register channel 4  
DMA receive length register channel 4  
Control register for the DMA channel 4  
Index value of DMA channel 4  
DMA4_LEN_REG  
DMA4_CTRL_REG  
DMA4_IDX_REG  
DMA5_A_STARTL_REG  
DMA5_A_STARTH_REG  
DMA5_B_STARTL_REG  
DMA5_B_STARTH_REG  
DMA5_INT_REG  
Start address Low A of DMA channel 5  
Start address High A of DMA channel 5  
Start address Low B of DMA channel 5  
Start address High B of DMA channel 5  
DMA receive interrupt register channel 5  
DMA receive length register channel 5  
Control register for the DMA channel 5  
Index value of DMA channel 5  
DMA5_LEN_REG  
DMA5_CTRL_REG  
DMA5_IDX_REG  
DMA6_A_STARTL_REG  
DMA6_A_STARTH_REG  
DMA6_B_STARTL_REG  
DMA6_B_STARTH_REG  
DMA6_INT_REG  
Start address Low A of DMA channel 6  
Start address High A of DMA channel 6  
Start address Low B of DMA channel 6  
Start address High B of DMA channel 6  
DMA receive interrupt register channel 6  
DMA receive length register channel 6  
Control register for the DMA channel 6  
Index value of DMA channel 6  
DMA6_LEN_REG  
DMA6_CTRL_REG  
DMA6_IDX_REG  
DMA7_A_STARTL_REG  
DMA7_A_STARTH_REG  
DMA7_B_STARTL_REG  
DMA7_B_STARTH_REG  
DMA7_INT_REG  
Start address Low A of DMA channel 7  
Start address High A of DMA channel 7  
Start address Low B of DMA channel 7  
Start address High B of DMA channel 7  
DMA receive interrupt register channel 7  
DMA receive length register channel 7  
Control register for the DMA channel 7  
Index value of DMA channel 7  
DMA7_LEN_REG  
DMA7_CTRL_REG  
DMA7_IDX_REG  
DMA_REQ_MUX_REG  
DMA_INT_STATUS_REG  
DMA_CLEAR_INT_REG  
DMA channel assignments  
DMA interrupt status register  
DMA clear interrupt register  
Table 710: DMA0_A_STARTL_REG (0x50003500)  
Bit  
Mode Symbol  
R/W DMA0_A_STARTL  
Description  
Source start address, lower 16 bits  
Reset  
15:0  
0x0  
Table 711: DMA0_A_STARTH_REG (0x50003502)  
Bit  
Mode Symbol  
R/W DMA0_A_STARTH  
Description  
Reset  
15:0  
Source start address, upper 16 bits  
0x0  
Table 712: DMA0_B_STARTL_REG (0x50003504)  
Bit  
Mode Symbol  
R/W DMA0_B_STARTL  
Description  
Reset  
15:0  
Destination start address, lower 16 bits  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
413 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 713: DMA0_B_STARTH_REG (0x50003506)  
Bit  
Mode Symbol  
R/W DMA0_B_STARTH  
Description  
Reset  
15:0  
Destination start address, upper 16 bits  
0x0  
Table 714: DMA0_INT_REG (0x50003508)  
Bit  
Mode Symbol  
R/W DMA0_INT  
Description  
Reset  
15:0  
Number of transfers until an interrupt is generated. The inter- 0x0  
rupt is generated after a transfer, if DMAx_INT_REG is equal  
to DMAx_IDX_REG and before DMAx_IDX_REG is incre-  
mented. The bit-field IRQ_ENABLE of DMAx_CTRL_REG  
must be set to '1' to let the controller generate the interrupt.  
Table 715: DMA0_LEN_REG (0x5000350A)  
Bit  
Mode Symbol  
R/W DMA0_LEN  
Description  
Reset  
15:0  
DMA channel's transfer length. DMAx_LEN of value 0, 1, 2,  
... results into an actual transfer length of 1, 2, 3, ...  
0x0  
Table 716: DMA0_CTRL_REG (0x5000350C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:14  
13  
-
-
Reserved  
R/W  
REQ_SENSE  
0 = DMA operates with level-sensitive peripheral requests  
0x0  
(default)  
1 = DMA operates with (positive) edge-sensitive peripheral  
requests  
12  
R/W  
R/W  
R/W  
DMA_INIT  
DMA_IDLE  
DMA_PRIO  
0 = DMA performs copy A1 to B1, A2 to B2, etc ...  
1 = DMA performs copy of A1 to B1, B2, etc ...  
0x0  
0x0  
0x0  
This feature is useful for memory initialization to any value.  
Thus, BINC must be set to '1', while AINC is don't care, as  
only one fetch from A is done. This process cannot be inter-  
rupted by other DMA channels. It is also noted that  
DMA_INIT should not be used when DREQ_MODE='1'.  
11  
0 = Blocking mode, the DMA performs a fast back-to-back  
copy, disabling bus access for any bus master with lower pri-  
ority.  
1 = Interrupting mode, the DMA inserts a wait cycle after  
each store allowing the CPU to steal cycles or cache to per-  
form a burst read. If DREQ_MODE='1', DMA_IDLE is don't  
care.  
10:8  
The priority level determines which DMA channel will be  
granted access for transferring data, in case more than one  
channels are active and request the bus at the same time.  
The greater the value, the higher the priority. In specific:  
000 = lowest priority  
111 = highest priority  
If different channels with equal priority level values request  
the bus at the same time, an inherent priority mechanism is  
applied. According to this mechanism, if, for example, both  
the DMA0 and DMA1 channels have the same priority level,  
then DMA0 will first be granted access to the bus.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
414 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 716: DMA0_CTRL_REG (0x5000350C)  
Bit  
Mode Symbol  
Description  
Reset  
7
R/W  
CIRCULAR  
0 = Normal mode. The DMA channel stops after having com- 0x0  
pleted the transfer of length determined by  
DMAx_LEN_REG. DMA_ON automatically deasserts when  
the transfer is completed.  
1 = Circular mode (applicable only if DREQ_MODE = '1'). In  
this mode, DMA_ON never deasserts, as the DMA channel  
automatically resets DMAx_IDX_REG and starts a new  
transfer.  
6
5
4
R/W  
R/W  
R/W  
AINC  
Enable increment of source address.  
0 = do not increment (source address stays the same during  
the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
0x0  
0x0  
0x0  
BINC  
Enable increment of destination address.  
0 = do not increment (destination address stays the same  
during the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
DREQ_MODE  
0 = DMA channel starts immediately  
1 = DMA channel must be triggered by peripheral DMA  
request (see also the description of DMA_REQ_MUX_REG)  
3
R/W  
R/W  
IRQ_ENABLE  
BW  
0 = disable interrupt on this channel  
1 = enable interrupt on this channel  
0x0  
0x0  
2:1  
Bus transfer width:  
00 = 1 Byte (suggested for peripherals like UART and 8-bit  
SPI)  
01 = 2 Bytes (suggested for peripherals like I2C and 16-bit  
SPI)  
10 = 4 Bytes (suggested for Memory-to-Memory transfers)  
11 = Reserved  
0
R/W  
DMA_ON  
0 = DMA channel is off, clocks are disabled  
0x0  
1 = DMA channel is enabled. This bit will be automatically  
cleared after the completion of a transfer, if circular mode is  
not enabled. In circular mode, this bit stays set.  
Table 717: DMA0_IDX_REG (0x5000350E)  
Bit  
Mode Symbol  
DMA0_IDX  
Description  
Reset  
15:0  
R
This (read-only) register determines the data items currently  
fetched by the DMA channel, during an on-going transfer.  
When the transfer is completed, the register is automatically  
reset to 0.  
0x0  
The DMA channel uses this register to form the source/desti-  
nation address of the next DMA cycle, considering also  
AINC/BINC and BW.  
Table 718: DMA1_A_STARTL_REG (0x50003510)  
Bit  
Mode Symbol  
R/W DMA1_A_STARTL  
Description  
Reset  
15:0  
Source start address, lower 16 bits  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
415 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 719: DMA1_A_STARTH_REG (0x50003512)  
Bit  
Mode Symbol  
R/W DMA1_A_STARTH  
Description  
Reset  
15:0  
Source start address, upper 16 bits  
0x0  
Table 720: DMA1_B_STARTL_REG (0x50003514)  
Bit  
Mode Symbol  
R/W DMA1_B_STARTL  
Description  
Reset  
15:0  
Destination start address, lower 16 bits  
0x0  
Table 721: DMA1_B_STARTH_REG (0x50003516)  
Bit  
Mode Symbol  
R/W DMA1_B_STARTH  
Description  
Reset  
15:0  
Destination start address, upper 16 bits  
0x0  
Table 722: DMA1_INT_REG (0x50003518)  
Bit  
Mode Symbol  
R/W DMA1_INT  
Description  
Reset  
15:0  
Number of transfers until an interrupt is generated. The inter- 0x0  
rupt is generated after a transfer, if DMAx_INT_REG is equal  
to DMAx_IDX_REG and before DMAx_IDX_REG is incre-  
mented. The bit-field IRQ_ENABLE of DMAx_CTRL_REG  
must be set to '1' to let the controller generate the interrupt.  
Table 723: DMA1_LEN_REG (0x5000351A)  
Bit  
Mode Symbol  
R/W DMA1_LEN  
Description  
Reset  
15:0  
DMA channel's transfer length. DMAx_LEN of value 0, 1, 2,  
... results into an actual transfer length of 1, 2, 3, ...  
0x0  
Table 724: DMA1_CTRL_REG (0x5000351C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:14  
13  
-
-
Reserved  
R/W  
REQ_SENSE  
0 = DMA operates with level-sensitive peripheral requests  
0x0  
(default)  
1 = DMA operates with (positive) edge-sensitive peripheral  
requests  
12  
11  
R/W  
R/W  
DMA_INIT  
DMA_IDLE  
0 = DMA performs copy A1 to B1, A2 to B2, etc ...  
1 = DMA performs copy of A1 to B1, B2, etc ...  
0x0  
0x0  
This feature is useful for memory initialization to any value.  
Thus, BINC must be set to '1', while AINC is don't care, as  
only one fetch from A is done. This process cannot be inter-  
rupted by other DMA channels. It is also noted that  
DMA_INIT should not be used when DREQ_MODE='1'.  
0 = Blocking mode, the DMA performs a fast back-to-back  
copy, disabling bus access for any bus master with lower pri-  
ority.  
1 = Interrupting mode, the DMA inserts a wait cycle after  
each store allowing the CPU to steal cycles or cache to per-  
form a burst read. If DREQ_MODE='1', DMA_IDLE is don't  
care.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
416 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 724: DMA1_CTRL_REG (0x5000351C)  
Bit  
Mode Symbol  
R/W DMA_PRIO  
Description  
Reset  
0x0  
10:8  
The priority level determines which DMA channel will be  
granted access for transferring data, in case more than one  
channels are active and request the bus at the same time.  
The greater the value, the higher the priority. In specific:  
000 = lowest priority  
111 = highest priority  
If different channels with equal priority level values request  
the bus at the same time, an inherent priority mechanism is  
applied. According to this mechanism, if, for example, both  
the DMA0 and DMA1 channels have the same priority level,  
then DMA0 will first be granted access to the bus.  
7
R/W  
CIRCULAR  
0 = Normal mode. The DMA channel stops after having com- 0x0  
pleted the transfer of length determined by  
DMAx_LEN_REG. DMA_ON automatically deasserts when  
the transfer is completed.  
1 = Circular mode (applicable only if DREQ_MODE = '1'). In  
this mode, DMA_ON never deasserts, as the DMA channel  
automatically resets DMAx_IDX_REG and starts a new  
transfer.  
6
5
4
R/W  
R/W  
R/W  
AINC  
Enable increment of source address.  
0 = do not increment (source address stays the same during  
the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
0x0  
0x0  
0x0  
BINC  
Enable increment of destination address.  
0 = do not increment (destination address stays the same  
during the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
DREQ_MODE  
0 = DMA channel starts immediately  
1 = DMA channel must be triggered by peripheral DMA  
request (see also the description of DMA_REQ_MUX_REG)  
3
R/W  
R/W  
IRQ_ENABLE  
BW  
0 = disable interrupt on this channel  
1 = enable interrupt on this channel  
0x0  
0x0  
2:1  
Bus transfer width:  
00 = 1 Byte (suggested for peripherals like UART and 8-bit  
SPI)  
01 = 2 Bytes (suggested for peripherals like I2C and 16-bit  
SPI)  
10 = 4 Bytes (suggested for Memory-to-Memory transfers)  
11 = Reserved  
0
R/W  
DMA_ON  
0 = DMA channel is off, clocks are disabled  
0x0  
1 = DMA channel is enabled. This bit will be automatically  
cleared after the completion of a transfer, if circular mode is  
not enabled. In circular mode, this bit stays set.  
Table 725: DMA1_IDX_REG (0x5000351E)  
Bit  
Mode Symbol  
DMA1_IDX  
Description  
Reset  
15:0  
R
This (read-only) register determines the data items currently  
fetched by the DMA channel, during an on-going transfer.  
When the transfer is completed, the register is automatically  
reset to 0.  
0x0  
The DMA channel uses this register to form the source/desti-  
nation address of the next DMA cycle, considering also  
AINC/BINC and BW.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
417 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 726: DMA2_A_STARTL_REG (0x50003520)  
Bit  
Mode Symbol  
R/W DMA2_A_STARTL  
Description  
Reset  
15:0  
Source start address, lower 16 bits  
0x0  
Table 727: DMA2_A_STARTH_REG (0x50003522)  
Bit  
Mode Symbol  
R/W DMA2_A_STARTH  
Description  
Reset  
15:0  
Source start address, upper 16 bits  
0x0  
Table 728: DMA2_B_STARTL_REG (0x50003524)  
Bit  
Mode Symbol  
R/W DMA2_B_STARTL  
Description  
Reset  
15:0  
Destination start address, lower 16 bits  
0x0  
Table 729: DMA2_B_STARTH_REG (0x50003526)  
Bit  
Mode Symbol  
R/W DMA2_B_STARTH  
Description  
Reset  
15:0  
Destination start address, upper 16 bits  
0x0  
Table 730: DMA2_INT_REG (0x50003528)  
Bit  
Mode Symbol  
R/W DMA2_INT  
Description  
Reset  
15:0  
Number of transfers until an interrupt is generated. The inter- 0x0  
rupt is generated after a transfer, if DMAx_INT_REG is equal  
to DMAx_IDX_REG and before DMAx_IDX_REG is incre-  
mented. The bit-field IRQ_ENABLE of DMAx_CTRL_REG  
must be set to '1' to let the controller generate the interrupt.  
Table 731: DMA2_LEN_REG (0x5000352A)  
Bit  
Mode Symbol  
R/W DMA2_LEN  
Description  
Reset  
15:0  
DMA channel's transfer length. DMAx_LEN of value 0, 1, 2,  
... results into an actual transfer length of 1, 2, 3, ...  
0x0  
Table 732: DMA2_CTRL_REG (0x5000352C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:14  
13  
-
-
Reserved  
R/W  
REQ_SENSE  
0 = DMA operates with level-sensitive peripheral requests  
0x0  
(default)  
1 = DMA operates with (positive) edge-sensitive peripheral  
requests  
12  
R/W  
DMA_INIT  
0 = DMA performs copy A1 to B1, A2 to B2, etc ...  
1 = DMA performs copy of A1 to B1, B2, etc ...  
0x0  
This feature is useful for memory initialization to any value.  
Thus, BINC must be set to '1', while AINC is don't care, as  
only one fetch from A is done. This process cannot be inter-  
rupted by other DMA channels. It is also noted that  
DMA_INIT should not be used when DREQ_MODE='1'.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
418 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 732: DMA2_CTRL_REG (0x5000352C)  
Bit  
Mode Symbol  
Description  
Reset  
11  
R/W  
DMA_IDLE  
0 = Blocking mode, the DMA performs a fast back-to-back  
copy, disabling bus access for any bus master with lower pri-  
ority.  
0x0  
1 = Interrupting mode, the DMA inserts a wait cycle after  
each store allowing the CPU to steal cycles or cache to per-  
form a burst read. If DREQ_MODE='1', DMA_IDLE is don't  
care.  
10:8  
R/W  
DMA_PRIO  
The priority level determines which DMA channel will be  
granted access for transferring data, in case more than one  
channels are active and request the bus at the same time.  
The greater the value, the higher the priority. In specific:  
000 = lowest priority  
0x0  
111 = highest priority  
If different channels with equal priority level values request  
the bus at the same time, an inherent priority mechanism is  
applied. According to this mechanism, if, for example, both  
the DMA0 and DMA1 channels have the same priority level,  
then DMA0 will first be granted access to the bus.  
7
6
R/W  
R/W  
CIRCULAR  
0 = Normal mode. The DMA channel stops after having com- 0x0  
pleted the transfer of length determined by  
DMAx_LEN_REG. DMA_ON automatically deasserts when  
the transfer is completed.  
1 = Circular mode (applicable only if DREQ_MODE = '1'). In  
this mode, DMA_ON never deasserts, as the DMA channel  
automatically resets DMAx_IDX_REG and starts a new  
transfer.  
AINC  
Enable increment of destination address.  
0x0  
0 = do not increment (destination address stays the same  
during the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
5
4
R/W  
R/W  
BINC  
Enable increment of destination address  
0 = do not increment  
1 = increment according value of BW  
0x0  
0x0  
DREQ_MODE  
0 = DMA channel starts immediately  
1 = DMA channel must be triggered by peripheral DMA  
request (see also the description of DMA_REQ_MUX_REG)  
3
R/W  
R/W  
IRQ_ENABLE  
BW  
0 = disable interrupt on this channel  
1 = enable interrupt on this channel  
0x0  
0x0  
2:1  
Bus transfer width:  
00 = 1 Byte (suggested for peripherals like UART and 8-bit  
SPI)  
01 = 2 Bytes (suggested for peripherals like I2C and 16-bit  
SPI)  
10 = 4 Bytes (suggested for Memory-to-Memory transfers)  
11 = Reserved  
0
R/W  
DMA_ON  
0 = DMA channel is off, clocks are disabled  
0x0  
1 = DMA channel is enabled. This bit will be automatically  
cleared after the completion of a transfer, if circular mode is  
not enabled. In circular mode, this bit stays set.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
419 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 733: DMA2_IDX_REG (0x5000352E)  
Bit  
Mode Symbol  
DMA2_IDX  
Description  
Reset  
15:0  
R
This (read-only) register determines the data items currently  
fetched by the DMA channel, during an on-going transfer.  
When the transfer is completed, the register is automatically  
reset to 0.  
0x0  
The DMA channel uses this register to form the source/desti-  
nation address of the next DMA cycle, considering also  
AINC/BINC and BW.  
Table 734: DMA3_A_STARTL_REG (0x50003530)  
Bit  
Mode Symbol  
R/W DMA3_A_STARTL  
Description  
Reset  
15:0  
Source start address, lower 16 bits  
0x0  
Table 735: DMA3_A_STARTH_REG (0x50003532)  
Bit  
Mode Symbol  
R/W DMA3_A_STARTH  
Description  
Reset  
15:0  
Source start address, upper 16 bits  
0x0  
Table 736: DMA3_B_STARTL_REG (0x50003534)  
Bit  
Mode Symbol  
R/W DMA3_B_STARTL  
Description  
Reset  
15:0  
Destination start address, lower 16 bits  
0x0  
Table 737: DMA3_B_STARTH_REG (0x50003536)  
Bit  
Mode Symbol  
R/W DMA3_B_STARTH  
Description  
Reset  
15:0  
Destination start address, upper 16 bits  
0x0  
Table 738: DMA3_INT_REG (0x50003538)  
Bit  
Mode Symbol  
R/W DMA3_INT  
Description  
Reset  
15:0  
Number of transfers until an interrupt is generated. The inter- 0x0  
rupt is generated after a transfer, if DMAx_INT_REG is equal  
to DMAx_IDX_REG and before DMAx_IDX_REG is incre-  
mented. The bit-field IRQ_ENABLE of DMAx_CTRL_REG  
must be set to '1' to let the controller generate the interrupt.  
Table 739: DMA3_LEN_REG (0x5000353A)  
Bit  
Mode Symbol  
R/W DMA3_LEN  
Description  
Reset  
15:0  
DMA channel's transfer length. DMAx_LEN of value 0, 1, 2,  
... results into an actual transfer length of 1, 2, 3, ...  
0x0  
Table 740: DMA3_CTRL_REG (0x5000353C)  
Bit  
Mode Symbol  
Description  
Reset  
15:14  
-
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
420 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 740: DMA3_CTRL_REG (0x5000353C)  
Bit  
Mode Symbol  
Description  
Reset  
13  
R/W  
REQ_SENSE  
0 = DMA operates with level-sensitive peripheral requests  
0x0  
(default)  
1 = DMA operates with (positive) edge-sensitive peripheral  
requests  
12  
R/W  
DMA_INIT  
DMA_IDLE  
DMA_PRIO  
0 = DMA performs copy A1 to B1, A2 to B2, etc ...  
1 = DMA performs copy of A1 to B1, B2, etc ...  
0x0  
This feature is useful for memory initialization to any value.  
Thus, BINC must be set to '1', while AINC is don't care, as  
only one fetch from A is done. This process cannot be inter-  
rupted by other DMA channels. It is also noted that  
DMA_INIT should not be used when DREQ_MODE='1'.  
11  
R/W  
R/W  
0 = Blocking mode, the DMA performs a fast back-to-back  
copy, disabling bus access for any bus master with lower pri-  
ority.  
1 = Interrupting mode, the DMA inserts a wait cycle after  
each store allowing the CPU to steal cycles or cache to per-  
form a burst read. If DREQ_MODE='1', DMA_IDLE is don't  
care.  
0x0  
0x0  
10:8  
The priority level determines which DMA channel will be  
granted access for transferring data, in case more than one  
channels are active and request the bus at the same time.  
The greater the value, the higher the priority. In specific:  
000 = lowest priority  
111 = highest priority  
If different channels with equal priority level values request  
the bus at the same time, an inherent priority mechanism is  
applied. According to this mechanism, if, for example, both  
the DMA0 and DMA1 channels have the same priority level,  
then DMA0 will first be granted access to the bus.  
7
R/W  
CIRCULAR  
0 = Normal mode. The DMA channel stops after having com- 0x0  
pleted the transfer of length determined by  
DMAx_LEN_REG. DMA_ON automatically deasserts when  
the transfer is completed.  
1 = Circular mode (applicable only if DREQ_MODE = '1'). In  
this mode, DMA_ON never deasserts, as the DMA channel  
automatically resets DMAx_IDX_REG and starts a new  
transfer.  
6
5
R/W  
R/W  
AINC  
BINC  
Enable increment of source address.  
0 = do not increment (source address stays the same during  
the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
0x0  
0x0  
Enable increment of destination address.  
0 = do not increment (destination address stays the same  
during the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
4
3
R/W  
R/W  
DREQ_MODE  
IRQ_ENABLE  
0 = DMA channel starts immediately  
1 = DMA channel must be triggered by peripheral DMA  
request (see also the description of DMA_REQ_MUX_REG)  
0x0  
0x0  
0 = disable interrupt on this channel  
1 = enable interrupt on this channel  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
421 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 740: DMA3_CTRL_REG (0x5000353C)  
Bit  
Mode Symbol  
Description  
Reset  
2:1  
R/W  
BW  
Bus transfer width:  
0x0  
00 = 1 Byte (suggested for peripherals like UART and 8-bit  
SPI)  
01 = 2 Bytes (suggested for peripherals like I2C and 16-bit  
SPI)  
10 = 4 Bytes (suggested for Memory-to-Memory transfers)  
11 = Reserved  
0
R/W  
DMA_ON  
0 = DMA channel is off, clocks are disabled  
0x0  
1 = DMA channel is enabled. This bit will be automatically  
cleared after the completion of a transfer, if circular mode is  
not enabled. In circular mode, this bit stays set.  
Table 741: DMA3_IDX_REG (0x5000353E)  
Bit  
Mode Symbol  
DMA3_IDX  
Description  
Reset  
15:0  
R
This (read-only) register determines the data items currently  
fetched by the DMA channel, during an on-going transfer.  
When the transfer is completed, the register is automatically  
reset to 0.  
0x0  
The DMA channel uses this register to form the source/desti-  
nation address of the next DMA cycle, considering also  
AINC/BINC and BW.  
Table 742: DMA4_A_STARTL_REG (0x50003540)  
Bit  
Mode Symbol  
R/W DMA4_A_STARTL  
Description  
Reset  
15:0  
Source start address, lower 16 bits  
0x0  
Table 743: DMA4_A_STARTH_REG (0x50003542)  
Bit  
Mode Symbol  
R/W DMA4_A_STARTH  
Description  
Reset  
15:0  
Source start address, upper 16 bits  
0x0  
Table 744: DMA4_B_STARTL_REG (0x50003544)  
Bit  
Mode Symbol  
R/W DMA4_B_STARTL  
Description  
Reset  
15:0  
Destination start address, lower 16 bits  
0x0  
Table 745: DMA4_B_STARTH_REG (0x50003546)  
Bit  
Mode Symbol  
R/W DMA4_B_STARTH  
Description  
Reset  
15:0  
Destination start address, upper 16 bits  
0x0  
Table 746: DMA4_INT_REG (0x50003548)  
Bit  
Mode Symbol  
R/W DMA4_INT  
Description  
Reset  
15:0  
Number of transfers until an interrupt is generated. The inter- 0x0  
rupt is generated after a transfer, if DMAx_INT_REG is equal  
to DMAx_IDX_REG and before DMAx_IDX_REG is incre-  
mented. The bit-field IRQ_ENABLE of DMAx_CTRL_REG  
must be set to '1' to let the controller generate the interrupt.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
422 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 747: DMA4_LEN_REG (0x5000354A)  
Bit  
Mode Symbol  
R/W DMA4_LEN  
Description  
Reset  
15:0  
DMA channel's transfer length. DMAx_LEN of value 0, 1, 2,  
... results into an actual transfer length of 1, 2, 3, ...  
0x0  
Table 748: DMA4_CTRL_REG (0x5000354C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:14  
13  
-
-
Reserved  
R/W  
REQ_SENSE  
0 = DMA operates with level-sensitive peripheral requests  
0x0  
(default)  
1 = DMA operates with (positive) edge-sensitive peripheral  
requests  
12  
R/W  
R/W  
R/W  
DMA_INIT  
DMA_IDLE  
DMA_PRIO  
0 = DMA performs copy A1 to B1, A2 to B2, etc ...  
1 = DMA performs copy of A1 to B1, B2, etc ...  
0x0  
0x0  
0x0  
This feature is useful for memory initialization to any value.  
Thus, BINC must be set to '1', while AINC is don't care, as  
only one fetch from A is done. This process cannot be inter-  
rupted by other DMA channels. It is also noted that  
DMA_INIT should not be used when DREQ_MODE='1'.  
11  
0 = Blocking mode, the DMA performs a fast back-to-back  
copy, disabling bus access for any bus master with lower pri-  
ority.  
1 = Interrupting mode, the DMA inserts a wait cycle after  
each store allowing the CPU to steal cycles or cache to per-  
form a burst read. If DREQ_MODE='1', DMA_IDLE is don't  
care.  
10:8  
The priority level determines which DMA channel will be  
granted access for transferring data, in case more than one  
channels are active and request the bus at the same time.  
The greater the value, the higher the priority. In specific:  
000 = lowest priority  
111 = highest priority  
If different channels with equal priority level values request  
the bus at the same time, an inherent priority mechanism is  
applied. According to this mechanism, if, for example, both  
the DMA0 and DMA1 channels have the same priority level,  
then DMA0 will first be granted access to the bus.  
7
R/W  
CIRCULAR  
0 = Normal mode. The DMA channel stops after having com- 0x0  
pleted the transfer of length determined by  
DMAx_LEN_REG. DMA_ON automatically deasserts when  
the transfer is completed.  
1 = Circular mode (applicable only if DREQ_MODE = '1'). In  
this mode, DMA_ON never deasserts, as the DMA channel  
automatically resets DMAx_IDX_REG and starts a new  
transfer.  
6
5
R/W  
R/W  
AINC  
BINC  
Enable increment of source address.  
0 = do not increment (source address stays the same during  
the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
0x0  
0x0  
Enable increment of destination address.  
0 = do not increment (destination address stays the same  
during the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
423 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 748: DMA4_CTRL_REG (0x5000354C)  
Bit  
Mode Symbol  
Description  
Reset  
4
R/W  
DREQ_MODE  
0 = DMA channel starts immediately  
0x0  
1 = DMA channel must be triggered by peripheral DMA  
request (see also the description of DMA_REQ_MUX_REG)  
3
R/W  
R/W  
IRQ_ENABLE  
BW  
0 = disable interrupt on this channel  
1 = enable interrupt on this channel  
0x0  
0x0  
2:1  
Bus transfer width:  
00 = 1 Byte (suggested for peripherals like UART and 8-bit  
SPI)  
01 = 2 Bytes (suggested for peripherals like I2C and 16-bit  
SPI)  
10 = 4 Bytes (suggested for Memory-to-Memory transfers)  
11 = Reserved  
0
R/W  
DMA_ON  
0 = DMA channel is off, clocks are disabled  
0x0  
1 = DMA channel is enabled. This bit will be automatically  
cleared after the completion of a transfer, if circular mode is  
not enabled. In circular mode, this bit stays set.  
Table 749: DMA4_IDX_REG (0x5000354E)  
Bit  
Mode Symbol  
DMA4_IDX  
Description  
Reset  
15:0  
R
This (read-only) register determines the data items currently  
fetched by the DMA channel, during an on-going transfer.  
When the transfer is completed, the register is automatically  
reset to 0.  
0x0  
The DMA channel uses this register to form the source/desti-  
nation address of the next DMA cycle, considering also  
AINC/BINC and BW.  
Table 750: DMA5_A_STARTL_REG (0x50003550)  
Bit  
Mode Symbol  
R/W DMA5_A_STARTL  
Description  
Reset  
15:0  
Source start address, lower 16 bits  
0x0  
Table 751: DMA5_A_STARTH_REG (0x50003552)  
Bit  
Mode Symbol  
R/W DMA5_A_STARTH  
Description  
Reset  
15:0  
Source start address, upper 16 bits  
0x0  
Table 752: DMA5_B_STARTL_REG (0x50003554)  
Bit  
Mode Symbol  
R/W DMA5_B_STARTL  
Description  
Reset  
15:0  
Destination start address, lower 16 bits  
0x0  
Table 753: DMA5_B_STARTH_REG (0x50003556)  
Bit  
Mode Symbol  
R/W DMA5_B_STARTH  
Description  
Reset  
15:0  
Destination start address, upper 16 bits  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
424 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 754: DMA5_INT_REG (0x50003558)  
Bit  
Mode Symbol  
R/W DMA5_INT  
Description  
Reset  
15:0  
Number of transfers until an interrupt is generated. The inter- 0x0  
rupt is generated after a transfer, if DMAx_INT_REG is equal  
to DMAx_IDX_REG and before DMAx_IDX_REG is incre-  
mented. The bit-field IRQ_ENABLE of DMAx_CTRL_REG  
must be set to '1' to let the controller generate the interrupt.  
Table 755: DMA5_LEN_REG (0x5000355A)  
Bit  
Mode Symbol  
R/W DMA5_LEN  
Description  
Reset  
0x0  
15:0  
DMA channel's transfer length. DMAx_LEN of value 0, 1, 2,  
... results into an actual transfer length of 1, 2, 3, ...  
Table 756: DMA5_CTRL_REG (0x5000355C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:14  
13  
-
-
Reserved  
R/W  
REQ_SENSE  
0 = DMA operates with level-sensitive peripheral requests  
0x0  
(default)  
1 = DMA operates with (positive) edge-sensitive peripheral  
requests  
12  
R/W  
R/W  
R/W  
DMA_INIT  
DMA_IDLE  
DMA_PRIO  
0 = DMA performs copy A1 to B1, A2 to B2, etc ...  
1 = DMA performs copy of A1 to B1, B2, etc ...  
0x0  
0x0  
0x0  
This feature is useful for memory initialization to any value.  
Thus, BINC must be set to '1', while AINC is don't care, as  
only one fetch from A is done. This process cannot be inter-  
rupted by other DMA channels. It is also noted that  
DMA_INIT should not be used when DREQ_MODE='1'.  
11  
0 = Blocking mode, the DMA performs a fast back-to-back  
copy, disabling bus access for any bus master with lower pri-  
ority.  
1 = Interrupting mode, the DMA inserts a wait cycle after  
each store allowing the CPU to steal cycles or cache to per-  
form a burst read. If DREQ_MODE='1', DMA_IDLE is don't  
care.  
10:8  
The priority level determines which DMA channel will be  
granted access for transferring data, in case more than one  
channels are active and request the bus at the same time.  
The greater the value, the higher the priority. In specific:  
000 = lowest priority  
111 = highest priority  
If different channels with equal priority level values request  
the bus at the same time, an inherent priority mechanism is  
applied. According to this mechanism, if, for example, both  
the DMA0 and DMA1 channels have the same priority level,  
then DMA0 will first be granted access to the bus.  
7
R/W  
CIRCULAR  
0 = Normal mode. The DMA channel stops after having com- 0x0  
pleted the transfer of length determined by  
DMAx_LEN_REG. DMA_ON automatically deasserts when  
the transfer is completed.  
1 = Circular mode (applicable only if DREQ_MODE = '1'). In  
this mode, DMA_ON never deasserts, as the DMA channel  
automatically resets DMAx_IDX_REG and starts a new  
transfer.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
425 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 756: DMA5_CTRL_REG (0x5000355C)  
Bit  
Mode Symbol  
Description  
Reset  
6
R/W  
R/W  
R/W  
AINC  
Enable increment of source address.  
0 = do not increment (source address stays the same during  
the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
0x0  
0x0  
0x0  
5
4
BINC  
Enable increment of destination address.  
0 = do not increment (destination address stays the same  
during the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
DREQ_MODE  
0 = DMA channel starts immediately  
1 = DMA channel must be triggered by peripheral DMA  
request (see also the description of DMA_REQ_MUX_REG)  
3
R/W  
R/W  
IRQ_ENABLE  
BW  
0 = disable interrupt on this channel  
1 = enable interrupt on this channel  
0x0  
0x0  
2:1  
Bus transfer width:  
00 = 1 Byte (suggested for peripherals like UART and 8-bit  
SPI)  
01 = 2 Bytes (suggested for peripherals like I2C and 16-bit  
SPI)  
10 = 4 Bytes (suggested for Memory-to-Memory transfers)  
11 = Reserved  
0
R/W  
DMA_ON  
0 = DMA channel is off, clocks are disabled  
0x0  
1 = DMA channel is enabled. This bit will be automatically  
cleared after the completion of a transfer, if circular mode is  
not enabled. In circular mode, this bit stays set.  
Table 757: DMA5_IDX_REG (0x5000355E)  
Bit  
Mode Symbol  
DMA5_IDX  
Description  
Reset  
15:0  
R
This (read-only) register determines the data items currently  
fetched by the DMA channel, during an on-going transfer.  
When the transfer is completed, the register is automatically  
reset to 0.  
0x0  
The DMA channel uses this register to form the source/desti-  
nation address of the next DMA cycle, considering also  
AINC/BINC and BW.  
Table 758: DMA6_A_STARTL_REG (0x50003560)  
Bit  
Mode Symbol  
R/W DMA6_A_STARTL  
Description  
Reset  
15:0  
Source start address, lower 16 bits  
0x0  
Table 759: DMA6_A_STARTH_REG (0x50003562)  
Bit  
Mode Symbol  
R/W DMA6_A_STARTH  
Description  
Reset  
15:0  
Source start address, upper 16 bits  
0x0  
Table 760: DMA6_B_STARTL_REG (0x50003564)  
Bit  
Mode Symbol  
R/W DMA6_B_STARTL  
Description  
Reset  
15:0  
Destination start address, lower 16 bits  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
426 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 761: DMA6_B_STARTH_REG (0x50003566)  
Bit  
Mode Symbol  
R/W DMA6_B_STARTH  
Description  
Reset  
15:0  
Destination start address, upper 16 bits  
0x0  
Table 762: DMA6_INT_REG (0x50003568)  
Bit  
Mode Symbol  
R/W DMA6_INT  
Description  
Reset  
15:0  
Number of transfers until an interrupt is generated. The inter- 0x0  
rupt is generated after a transfer, if DMAx_INT_REG is equal  
to DMAx_IDX_REG and before DMAx_IDX_REG is incre-  
mented. The bit-field IRQ_ENABLE of DMAx_CTRL_REG  
must be set to '1' to let the controller generate the interrupt.  
Table 763: DMA6_LEN_REG (0x5000356A)  
Bit  
Mode Symbol  
R/W DMA6_LEN  
Description  
Reset  
15:0  
DMA channel's transfer length. DMAx_LEN of value 0, 1, 2,  
... results into an actual transfer length of 1, 2, 3, ...  
0x0  
Table 764: DMA6_CTRL_REG (0x5000356C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:14  
13  
-
-
Reserved  
R/W  
REQ_SENSE  
0 = DMA operates with level-sensitive peripheral requests  
0x0  
(default)  
1 = DMA operates with (positive) edge-sensitive peripheral  
requests  
12  
R/W  
R/W  
R/W  
DMA_INIT  
DMA_IDLE  
DMA_PRIO  
0 = DMA performs copy A1 to B1, A2 to B2, etc ...  
1 = DMA performs copy of A1 to B1, B2, etc ...  
0x0  
0x0  
0x0  
This feature is useful for memory initialization to any value.  
Thus, BINC must be set to '1', while AINC is don't care, as  
only one fetch from A is done. This process cannot be inter-  
rupted by other DMA channels. It is also noted that  
DMA_INIT should not be used when DREQ_MODE='1'.  
11  
0 = Blocking mode, the DMA performs a fast back-to-back  
copy, disabling bus access for any bus master with lower pri-  
ority.  
1 = Interrupting mode, the DMA inserts a wait cycle after  
each store allowing the CPU to steal cycles or cache to per-  
form a burst read. If DREQ_MODE='1', DMA_IDLE is don't  
care.  
10:8  
The priority level determines which DMA channel will be  
granted access for transferring data, in case more than one  
channels are active and request the bus at the same time.  
The greater the value, the higher the priority. In specific:  
000 = lowest priority  
111 = highest priority  
If different channels with equal priority level values request  
the bus at the same time, an inherent priority mechanism is  
applied. According to this mechanism, if, for example, both  
the DMA0 and DMA1 channels have the same priority level,  
then DMA0 will first be granted access to the bus.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
427 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 764: DMA6_CTRL_REG (0x5000356C)  
Bit  
Mode Symbol  
Description  
Reset  
7
R/W  
CIRCULAR  
0 = Normal mode. The DMA channel stops after having com- 0x0  
pleted the transfer of length determined by  
DMAx_LEN_REG. DMA_ON automatically deasserts when  
the transfer is completed.  
1 = Circular mode (applicable only if DREQ_MODE = '1'). In  
this mode, DMA_ON never deasserts, as the DMA channel  
automatically resets DMAx_IDX_REG and starts a new  
transfer.  
6
5
4
R/W  
R/W  
R/W  
AINC  
Enable increment of source address.  
0 = do not increment (source address stays the same during  
the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
0x0  
0x0  
0x0  
BINC  
Enable increment of destination address.  
0 = do not increment (destination address stays the same  
during the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
DREQ_MODE  
0 = DMA channel starts immediately  
1 = DMA channel must be triggered by peripheral DMA  
request (see also the description of DMA_REQ_MUX_REG)  
3
R/W  
R/W  
IRQ_ENABLE  
BW  
0 = disable interrupt on this channel  
1 = enable interrupt on this channel  
0x0  
0x0  
2:1  
Bus transfer width:  
00 = 1 Byte (suggested for peripherals like UART and 8-bit  
SPI)  
01 = 2 Bytes (suggested for peripherals like I2C and 16-bit  
SPI)  
10 = 4 Bytes (suggested for Memory-to-Memory transfers)  
11 = Reserved  
0
R/W  
DMA_ON  
0 = DMA channel is off, clocks are disabled  
0x0  
1 = DMA channel is enabled. This bit will be automatically  
cleared after the completion of a transfer, if circular mode is  
not enabled. In circular mode, this bit stays set.  
Table 765: DMA6_IDX_REG (0x5000356E)  
Bit  
Mode Symbol  
DMA6_IDX  
Description  
Reset  
15:0  
R
This (read-only) register determines the data items currently  
fetched by the DMA channel, during an on-going transfer.  
When the transfer is completed, the register is automatically  
reset to 0.  
0x0  
The DMA channel uses this register to form the source/desti-  
nation address of the next DMA cycle, considering also  
AINC/BINC and BW.  
Table 766: DMA7_A_STARTL_REG (0x50003570)  
Bit  
Mode Symbol  
R/W DMA7_A_STARTL  
Description  
Reset  
15:0  
Source start address, lower 16 bits  
0x0  
NOTE: See also the DMA chapter of the Datasheet for the  
allowed range of the DMA7 source address in Secure Boot  
mode.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
428 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 767: DMA7_A_STARTH_REG (0x50003572)  
Bit  
Mode Symbol  
R/W DMA7_A_STARTH  
Description  
Reset  
15:0  
Source start address, upper 16 bits  
0x0  
NOTE: See also the DMA chapter of the Datasheet for the  
allowed range of the DMA7 source address in Secure Boot  
mode.  
Table 768: DMA7_B_STARTL_REG (0x50003574)  
Bit  
Mode Symbol  
R/W DMA7_B_STARTL  
Description  
Reset  
15:0  
Destination start address, lower 16 bits  
0x0  
NOTE: In Secure Boot mode, this register is overruled to the  
lower 16 bits of address CRYPTO_KEYS_START_ADDR.  
Table 769: DMA7_B_STARTH_REG (0x50003576)  
Bit  
Mode Symbol  
R/W DMA7_B_STARTH  
Description  
Reset  
15:0  
Destination start address, upper 16 bits  
0x0  
NOTE: In Secure Boot mode, this register is overruled to the  
higher 16 bits of address CRYPTO_KEYS_START_ADDR.  
Table 770: DMA7_INT_REG (0x50003578)  
Bit  
Mode Symbol  
R/W DMA7_INT  
Description  
Reset  
15:0  
Number of transfers until an interrupt is generated. The inter- 0x0  
rupt is generated after a transfer, if DMAx_INT_REG is equal  
to DMAx_IDX_REG and before DMAx_IDX_REG is incre-  
mented. The bit-field IRQ_ENABLE of DMAx_CTRL_REG  
must be set to '1' to let the controller generate the interrupt.  
Table 771: DMA7_LEN_REG (0x5000357A)  
Bit  
Mode Symbol  
R/W DMA7_LEN  
Description  
Reset  
15:0  
DMA channel's transfer length. DMAx_LEN of value 0, 1, 2,  
... results into an actual transfer length of 1, 2, 3, ...  
0x0  
Table 772: DMA7_CTRL_REG (0x5000357C)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
15:14  
13  
-
-
Reserved  
R/W  
REQ_SENSE  
0 = DMA operates with level-sensitive peripheral requests  
0x0  
(default)  
1 = DMA operates with (positive) edge-sensitive peripheral  
requests  
12  
R/W  
DMA_INIT  
0 = DMA performs copy A1 to B1, A2 to B2, etc ...  
1 = DMA performs copy of A1 to B1, B2, etc ...  
This feature is useful for memory initialization to any value.  
Thus, BINC must be set to '1', while AINC is don't care, as  
only one fetch from A is done. This process cannot be inter-  
rupted by other DMA channels. It is also noted that  
DMA_INIT should not be used when DREQ_MODE='1'.  
NOTE: This bit-field is overruled to '0' when the DMA7 chan-  
nel is configured as "trusted" channel (in Secure Boot  
mode).  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
429 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 772: DMA7_CTRL_REG (0x5000357C)  
Bit  
Mode Symbol  
R/W DMA_IDLE  
Description  
Reset  
0x0  
11  
0 = Blocking mode, the DMA performs a fast back-to-back  
copy, disabling bus access for any bus master with lower pri-  
ority.  
1 = Interrupting mode, the DMA inserts a wait cycle after  
each store allowing the CPU to steal cycles or cache to per-  
form a burst read. If DREQ_MODE='1', DMA_IDLE is don't  
care.  
*NOTE: This bit-field is overruled to '0' when the DMA7  
channel is configured as "trusted" channel (in Secure Boot  
mode).  
10:8  
R/W  
DMA_PRIO  
The priority level determines which DMA channel will be  
granted access for transferring data, in case more than one  
channels are active and request the bus at the same time.  
The greater the value, the higher the priority. In specific:  
000 = lowest priority  
0x0  
111 = highest priority  
If different channels with equal priority level values request  
the bus at the same time, an inherent priority mechanism is  
applied. According to this mechanism, if, for example, both  
the DMA0 and DMA1 channels have the same priority level,  
then DMA0 will first be granted access to the bus.  
7
R/W  
CIRCULAR  
0 = Normal mode. The DMA channel stops after having com- 0x0  
pleted the transfer of length determined by  
DMAx_LEN_REG. DMA_ON automatically deasserts when  
the transfer is completed.  
1 = Circular mode (applicable only if DREQ_MODE = '1'). In  
this mode, DMA_ON never deasserts, as the DMA channel  
automatically resets DMAx_IDX_REG and starts a new  
transfer.  
6
5
4
R/W  
R/W  
R/W  
AINC  
Enable increment of source address.  
0 = do not increment (source address stays the same during  
the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
0x0  
0x0  
0x0  
BINC  
Enable increment of destination address.  
0 = do not increment (destination address stays the same  
during the transfer)  
1 = increment according to the value of BW bit-field (by 1,  
when BW="00" ; by 2, when BW="01" ; by 4, when BW="10")  
DREQ_MODE  
0 = DMA channel starts immediately  
1 = DMA channel must be triggered by peripheral DMA  
request (see also the description of DMA_REQ_MUX_REG)  
*NOTE: This bit-field is overruled to '0' when channel DMA7  
is configured as "trusted" channel (in Secure Boot mode).  
3
R/W  
R/W  
IRQ_ENABLE  
BW  
0 = disable interrupt on this channel  
1 = enable interrupt on this channel  
0x0  
0x0  
2:1  
Bus transfer width:  
00 = 1 Byte (suggested for peripherals like UART and 8-bit  
SPI)  
01 = 2 Bytes (suggested for peripherals like I2C and 16-bit  
SPI)  
10 = 4 Bytes (suggested for Memory-to-Memory transfers)  
11 = Reserved  
NOTE: This bit-field is overruled to "10" when channel DMA7  
is configured as "trusted" channel (in Secure Boot mode).  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
430 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 772: DMA7_CTRL_REG (0x5000357C)  
Bit  
Mode Symbol  
R/W DMA_ON  
Description  
Reset  
0
0 = DMA channel is off, clocks are disabled  
0x0  
1 = DMA channel is enabled. This bit will be automatically  
cleared after the completion of a transfer, if circular mode is  
not enabled. In circular mode, this bit stays set.  
Table 773: DMA7_IDX_REG (0x5000357E)  
Bit  
Mode Symbol  
DMA7_IDX  
Description  
Reset  
15:0  
R
This (read-only) register determines the data items currently  
fetched by the DMA channel, during an on-going transfer.  
When the transfer is completed, the register is automatically  
reset to 0.  
0x0  
The DMA channel uses this register to form the source/desti-  
nation address of the next DMA cycle, considering also  
AINC/BINC and BW.  
Table 774: DMA_REQ_MUX_REG (0x50003580)  
Bit  
Mode Symbol  
Description  
Reset  
15:12  
R/W  
R/W  
R/W  
DMA67_SEL  
Select which combination of peripherals are mapped on the  
DMA channels. The peripherals are mapped as pairs on two  
channels.  
Here, the first DMA request is mapped on channel 6 and the  
second on channel 7.  
0xF  
See DMA01_SEL for the peripheral mapping.  
11:8  
7:4  
DMA45_SEL  
DMA23_SEL  
Select which combination of peripherals are mapped on the  
DMA channels. The peripherals are mapped as pairs on two  
channels.  
Here, the first DMA request is mapped on channel 4 and the  
second on channel 5.  
0xF  
0xF  
See DMA01_SEL for the peripherals' mapping.  
Select which combination of peripherals are mapped on the  
DMA channels. The peripherals are mapped as pairs on two  
channels.  
Here, the first DMA request is mapped on channel 2 and the  
second on channel 3.  
See DMA01_SEL for the peripherals' mapping.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
431 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 774: DMA_REQ_MUX_REG (0x50003580)  
Bit  
Mode Symbol  
R/W DMA01_SEL  
Description  
Reset  
3:0  
Select which combination of peripherals are mapped on the  
DMA channels. The peripherals are mapped as pairs on two  
channels.  
0xF  
Here, the first DMA request is mapped on channel 0 and the  
second on channel 1.  
0x0: SPI_rx / SPI_tx  
0x1: SPI2_rx / SPI2_tx  
0x2: UART_rx / UART_tx  
0x3: UART2_rx / UART2_tx  
0x4: I2C_rx / I2C_tx  
0x5: I2C2_rx / I2C2_tx  
0x6: USB_rx / USB_tx  
0x7: Reserved  
0x8: PCM_rx / PCM_tx  
0x9: SRC_rx / SRC_tx (for all the supported conversions)  
0xA: Reserved  
0xB: Reserved  
0xC: ADC / -  
0xD: Reserved  
0xE: Reserved  
0xF: None  
Note: If any of the four available peripheral selector fields  
(DMA01_SEL, DMA23_SEL, DMA45_SEL, DMA67_SEL)  
have the same value, the lesser significant selector has  
higher priority and will control the dma acknowledge. Hence,  
if DMA01_SEL = DMA23_SEL, the channels 0 and 1 will  
generate the DMA acknowledge signals for the selected  
peripheral. Consequently, it is suggested to assign the  
intended peripheral value to a unique selector field.  
Table 775: DMA_INT_STATUS_REG (0x50003582)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
DMA_IRQ_CH7  
0: IRQ on channel 7 is not set  
1: IRQ on channel 7 is set  
0x0  
6
5
4
3
2
1
0
R
R
R
R
R
R
R
DMA_IRQ_CH6  
DMA_IRQ_CH5  
DMA_IRQ_CH4  
DMA_IRQ_CH3  
DMA_IRQ_CH2  
DMA_IRQ_CH1  
DMA_IRQ_CH0  
0: IRQ on channel 6 is not set  
1: IRQ on channel 6 is set  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0: IRQ on channel 5 is not set  
1: IRQ on channel 5 is set  
0: IRQ on channel 4 is not set  
1: IRQ on channel 4 is set  
0: IRQ on channel 3 is not set  
1: IRQ on channel 3 is set  
0: IRQ on channel 2 is not set  
1: IRQ on channel 2 is set  
0: IRQ on channel 1 is not set  
1: IRQ on channel 1 is set  
0: IRQ on channel 0 is not set  
1: IRQ on channel 0 is set  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
432 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 776: DMA_CLEAR_INT_REG (0x50003584)  
Bit  
15:8  
7
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R0/W  
DMA_RST_IRQ_CH7 Writing a 1 will reset the IRQ of channel 7 ; writing a 0 will  
have no effect.  
6
5
4
3
2
1
0
R0/W  
R0/W  
R0/W  
R0/W  
R0/W  
R0/W  
R0/W  
DMA_RST_IRQ_CH6 Writing a 1 will reset the IRQ of channel 6 ; writing a 0 will  
have no effect.  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
DMA_RST_IRQ_CH5 Writing a 1 will reset the IRQ of channel 5 ; writing a 0 will  
have no effect.  
DMA_RST_IRQ_CH4 Writing a 1 will reset the IRQ of channel 4 ; writing a 0 will  
have no effect.  
DMA_RST_IRQ_CH3 Writing a 1 will reset the IRQ of channel 3 ; writing a 0 will  
have no effect.  
DMA_RST_IRQ_CH2 Writing a 1 will reset the IRQ of channel 2 ; writing a 0 will  
have no effect.  
DMA_RST_IRQ_CH1 Writing a 1 will reset the IRQ of channel 1 ; writing a 0 will  
have no effect.  
DMA_RST_IRQ_CH0 Writing a 1 will reset the IRQ of channel 0 ; writing a 0 will  
have no effect.  
37.29 APU REGISTER FILE  
Table 777: Register map APU  
Address  
Port  
Description  
0x50004000  
0x50004004  
0x50004008  
0x5000400C  
0x50004010  
0x50004014  
0x50004018  
0x5000401C  
0x50004020  
0x50004024  
0x50004028  
0x5000402C  
0x50004030  
0x50004034  
0x50004100  
0x50004104  
0x50004108  
0x5000410C  
0x50004110  
SRC1_CTRL_REG  
SRC1_IN_FS_REG  
SRC1_OUT_FS_REG  
SRC1_IN1_REG  
SRC1 control register  
SRC1 Sample input rate  
SRC1 Sample output rate  
SRC1 data in 1  
SRC1_IN2_REG  
SRC1 data in 2  
SRC1_OUT1_REG  
SRC1_OUT2_REG  
APU_MUX_REG  
SRC1 data out 1  
SRC1 data out 2  
APU mux register  
COEF10_SET1_REG  
COEF32_SET1_REG  
COEF54_SET1_REG  
COEF76_SET1_REG  
COEF98_SET1_REG  
COEF0A_SET1_REG  
PCM1_CTRL_REG  
PCM1_IN1_REG  
SRC coefficient 1,0 set 1  
SRC coefficient 3,2 set 1  
SRC coefficient 5,4 set 1  
SRC coefficient 7,6 set 1  
SRC coefficient 9,8 set 1  
SRC coefficient 10 set 1  
PCM1 Control register  
PCM1 data in 1  
PCM1_IN2_REG  
PCM1 data in 2  
PCM1_OUT1_REG  
PCM1_OUT2_REG  
PCM1 data out 1  
PCM1 data out 2  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
433 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 778: SRC1_CTRL_REG (0x50004000)  
Bit  
Mode Symbol  
Description  
Reset  
31:30  
R/W  
R/W  
R/W  
SRC_PDM_DO_DEL  
PDM_DO output delay line  
0: no delay  
1: 14 ns  
2: 20 ns  
3: 26 ns  
0
0
0
29:28  
27:26  
SRC_PDM_MODE  
SRC_PDM_DI_DEL  
PDM Output mode selection on PDM_DO1  
00: No output  
01: Right channel (falling edge of PDM_CLK)  
10: Left channel (rising edge of PDM_CLK)  
11: Left and Right channel  
PDM_DI input delay line  
0: no delay  
1: 6 ns  
2: 12 ns  
3: 18 ns  
25  
24  
W
W
SRC_OUT_FLOWCL  
R
Writing a 1 clears the SRC1_OUT Overflow/underflow bits  
23-22. No more over/underflow indications while bit is 1.  
Keep 1 until the over/under flow bit is cleared  
0
0
SRC_IN_FLOWCLR  
Writing a 1 clears the SRC1_IN Overflow/underflow bits 21-  
20. No more over/underflow indications while bit is 1. Keep 1  
until the over/under flow bit is cleared  
23  
22  
21  
20  
19  
18  
R
SRC_OUT_UNFLOW 1 = SRC1_OUT Underflow occurred  
SRC_OUT_OVFLOW 1 = SRC1_OUT Overflow occurred  
0
0
0
0
0
0
R
R
SRC_IN_UNFLOW  
SRC_IN_OVFLOW  
SRC_RESYNC  
1 = SRC1_IN Underflow occurred  
1 = SRC1_IN Overflow occurred  
1 = SRC will restart synchronisation  
R
R0/W  
R
SRC_OUT_OK  
SRC1_OUT Status  
0: acquisition in progress  
1: acquisition ready (In manual mode this bit is always 1)  
17:16  
R/W  
SRC_OUT_US  
SRC1_OUT UpSampling IIR filters setting  
00: for sample rates up-to 48kHz  
01: for sample rates of 96kHz  
10: reserved  
0
11: for sample rates of 192kHz  
15  
14  
-
-
Reserved  
0
0
R/W  
SRC_OUT_CAL_BY  
PASS  
SRC1_OUT1 upsampiling filter bypass  
0:Do not bypass  
1:Bypass filter  
13  
R/W  
SRC_OUT_AMODE  
SRC1_OUT1 Automatic Conversion mode  
0:Manual mode  
0
1:Automatic mode  
12:10  
9:8  
7
-
-
-
Reserved  
Reserved  
0
0
0
-
R/W  
SRC_DITHER_DISA  
BLE  
Dithering feature  
0: Enable  
1: Disable  
6
R
SRC_IN_OK  
SRC1_IN status  
0
0: Acquisition in progress  
1: Acquisition ready  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
434 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 778: SRC1_CTRL_REG (0x50004000)  
Bit  
Mode Symbol  
Description  
Reset  
5:4  
R/W  
SRC_IN_DS  
SRC1_IN UpSampling IIR filters setting  
00: for sample rates up-to 48kHz  
01: for sample rates of 96kHz  
10: reserved  
0
11: for sample rates of 192kHz  
3
2
-
-
Reserved  
0
0
R/W  
SRC_IN_CAL_BYPA  
SS  
SRC1_IN upsampeling filter bypass  
0: Do not bypass  
1: Bypass filter  
1
0
R/W  
R/W  
SRC_IN_AMODE  
SRC_EN  
SRC1_IN Automatic conversion mode  
0: Manual mode  
1: Automatic mode  
0
0
SRC1_IN and SRC1_OUT enable  
0: disabled  
1: enabled  
Table 779: SRC1_IN_FS_REG (0x50004004)  
Bit  
Mode Symbol  
Description  
Reset  
31:24  
23:0  
-
-
Reserved  
0
0
R/W  
SRC_IN_FS  
SRC_IN Sample rate  
SRC_IN_FS = 8192*Sample_rate/100  
Sample_rate upper limit is 192kHz. For 96kHz and 192kHz  
SRC_CTRLx_REG[SRC_IN_DS] must be set as shown  
below:  
Sample_rate SRC_IN_FS SRC_IN_DS Audio band-  
width  
8000 Hz 0xA0000 0 4000 Hz  
11025 Hz 0x0DC800 0 5512 Hz  
16000 Hz 0x140000 0 8000 Hz  
22050 Hz 0x1B9000 0 11025 Hz  
32000 Hz 0x280000 0 16000 Hz  
44100 Hz 0x372000 0 22050 Hz  
48000 Hz 0x3C0000 0 24000 Hz  
96000 Hz 0x3C0000 1 24000 Hz  
192000 Hz 0x3C0000 3 24000 Hz  
In manual SRC mode, SRC_IN_FS can be set and adjusted  
to the desired sample rate at any time.  
In automatic mode the SRC returns the final sample rate as  
soon as SRC_IN_OK. Note that SRC_DS is not calculated in  
automatic mode and must be set manually automatic mode  
with Sample_rate of 96 and 192kHz.  
Table 780: SRC1_OUT_FS_REG (0x50004008)  
Bit  
Mode Symbol  
Description  
Reset  
31:24  
-
-
Reserved  
0
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
435 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 780: SRC1_OUT_FS_REG (0x50004008)  
Bit  
Mode Symbol  
R/W SRC_OUT_FS  
Description  
Reset  
23:0  
SRC_OUT Sample rate  
0
SRC_OUT_FS = 8192*Sample_rate/100  
Sample_rate upper limit is 192kHz. For 96kHz and 192kHz  
SRC_CTRLx_REG[SRC_DS] must be set as shown below:  
Sample_rate SRC_OUT_FS SRC_OUT_DS Audio  
bandwidth  
8000 Hz  
0xA0000  
0
0
0
0
0
0
0
1
3
4000 Hz  
5512 Hz  
8000 Hz  
11025 Hz  
16000 Hz  
22050 Hz  
24000 Hz  
24000 Hz  
24000 Hz  
11025 Hz  
16000 Hz  
22050 Hz  
32000 Hz  
44100 Hz  
48000 Hz  
96000 Hz  
192000 Hz  
0x0DC800  
0x140000  
0x1B9000  
0x280000  
0x372000  
0x3C0000  
0x3C0000  
0x3C0000  
In manual SRC mode, SRC_OUT_FS can be set and  
adjusted to the desired sample rate at any time.  
In automatic mode the SRC returns the final sample rate as  
soon as SRC_OUT_OK. Note that SRC_DS is not calculated  
in automatic mode and must be set manually automatic  
mode with Sample_rate of 96 and 192kHz.  
Table 781: SRC1_IN1_REG (0x5000400C)  
Bit  
Mode Symbol  
R/W SRC_IN  
Description  
Reset  
31:8  
SRC1_IN1  
0
Table 782: SRC1_IN2_REG (0x50004010)  
Bit  
Mode Symbol  
R/W SRC_IN  
Description  
Reset  
31:8  
SRC1_IN2  
0
Table 783: SRC1_OUT1_REG (0x50004014)  
Bit  
Mode Symbol  
SRC_OUT  
Description  
Reset  
31:8  
R
SRC1_OUT1  
0
Table 784: SRC1_OUT2_REG (0x50004018)  
Bit  
Mode Symbol  
SRC_OUT  
Description  
Reset  
31:8  
R
SRC1_OUT2  
0
Table 785: APU_MUX_REG (0x5000401C)  
Bit  
Mode Symbol  
Description  
Reset  
6
R/W  
R/W  
PDM1_MUX_IN  
PDM1 input mux  
0 = SRC1_MUX_IN  
1 = PDM input  
0x0  
5:3  
PCM1_MUX_IN  
PCM1 input mux  
0 = off  
0x0  
1 = SRC1 output  
2 = PCM output registers  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
436 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 785: APU_MUX_REG (0x5000401C)  
Bit  
Mode Symbol  
R/W SRC1_MUX_IN  
Description  
Reset  
2:0  
SRC1 input mux  
0 = off  
0x0  
1 = PCM output  
2 = SRC1 input registers  
Table 786: COEF10_SET1_REG (0x50004020)  
Bit  
Mode Symbol  
Description  
coefficient 1  
coefficient 0  
Reset  
31:16  
15:0  
R/W  
R/W  
SRC_COEF1  
SRC_COEF0  
0x79A9  
0x9278  
Table 787: COEF32_SET1_REG (0x50004024)  
Bit  
Mode Symbol  
Description  
coefficient 3  
coefficient 2  
Reset  
31:16  
15:0  
R/W  
R/W  
SRC_COEF3  
SRC_COEF2  
0x6D56  
0x8B41  
Table 788: COEF54_SET1_REG (0x50004028)  
Bit  
Mode Symbol  
Description  
coefficient 5  
coefficient 4  
Reset  
31:16  
15:0  
R/W  
R/W  
SRC_COEF5  
SRC_COEF4  
0x9BC5  
0xBE15  
Table 789: COEF76_SET1_REG (0x5000402C)  
Bit  
Mode Symbol  
Description  
Reset  
31:16  
R/W  
SRC_COEF7  
coefficient 7  
0x8C28  
15:0  
R/W  
SRC_COEF6  
coefficient 6  
0x7E1A  
Table 790: COEF98_SET1_REG (0x50004030)  
Bit  
Mode Symbol  
Description  
coefficient 9  
coefficient 8  
Reset  
31:16  
15:0  
R/W  
R/W  
SRC_COEF9  
SRC_COEF8  
0x92D7  
0x75E6  
Table 791: COEF0A_SET1_REG (0x50004034)  
Bit  
Mode Symbol  
R/W SRC_COEF10  
Description  
Reset  
15:0  
coefficient 10  
0x41F2  
Table 792: PCM1_CTRL_REG (0x50004100)  
Bit  
Mode Symbol  
Description  
Reset  
31:20  
R/W  
-
PCM_FSC_DIV  
PCM Framesync divider, Values 7-0xFFF. To divide by N,  
write N-1. (Minimum value N-1=7 for 8 bits PCM_FSC)  
Note if PCM_CLK_BIT=1, N must always be even  
0x0  
19:17  
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
437 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 792: PCM1_CTRL_REG (0x50004100)  
Bit  
Mode Symbol  
Description  
Reset  
16  
R/W  
PCM_FSC_EDGE  
0: shift channels 1, 2, 3, 4, 5, 6, 7, 8 after PCM_FSC edge  
1: shift channels 1, 2, 3, 4 after PCM_FSC edge shift chan-  
nels 5, 6, 7, 8 after opposite PCM_FSC edge  
0x0  
15:11  
10  
R/W  
R/W  
PCM_CH_DEL  
PCM_CLK_BIT  
Channel delay in multiples of 8 bits  
0x0  
0x0  
0:One clock cycle per data bit  
1:Two cloc cycles per data bit  
9
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
PCM_FSCINV  
PCM_CLKINV  
PCM_PPOD  
PCM_FSCDEL  
PCM_FSCLEN  
PCM_MASTER  
PCM_EN  
0: PCM FSC  
1: PCM FSC inverted  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
0x0  
8
0:PCM CLK  
1:PCM CLK inverted  
7
0:PCM DO push pull  
1:PCM DO open drain  
6
0:PCM FSC starts one cycle before MSB bit  
1:PCM FSC starts at the same time as MSB bit  
5:2  
1
0:PCM FSC length equal to 1 data bit  
N:PCM FSC length equal to N*8  
0:PCM interface in slave mode  
1:PCM interface in master mode  
0
0:PCM interface disabled  
1:PCM interface enabled  
Table 793: PCM1_IN1_REG (0x50004104)  
Bit  
Mode Symbol  
PCM_IN  
Description  
Reset  
31:0  
R
PCM1_IN1 bits 31-0  
0xFFFFF  
FFF  
Table 794: PCM1_IN2_REG (0x50004108)  
Bit  
Mode Symbol  
PCM_IN  
Description  
Reset  
31:0  
R
PCM1_IN2 bits 31-0  
0xFFFFF  
FFF  
Table 795: PCM1_OUT1_REG (0x5000410C)  
Bit  
Mode Symbol  
R/W PCM_OUT  
Description  
Reset  
31:0  
PCM1_OUT1 bits 31-0  
0xFFFFF  
FFF  
Table 796: PCM1_OUT2_REG (0x50004110)  
Bit  
Mode Symbol  
R/W PCM_OUT  
Description  
Reset  
31:0  
PCM1_OUT2 bits 31-0  
0xFFFFF  
FFF  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
438 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
37.30 TRNG REGISTER FILE  
Table 797: Register map TRNG  
Address  
Port  
Description  
0x50005000  
0x50005004  
0x50005008  
TRNG_CTRL_REG  
TRNG_FIFOLVL_REG  
TRNG_VER_REG  
TRNG control register  
TRNG FIFO level register  
TRNG Version register  
Table 798: TRNG_CTRL_REG (0x50005000)  
Bit  
31:2  
1
Mode Symbol  
Description  
Reset  
-
-
Reserved  
0x0  
0x0  
R/W  
TRNG_MODE  
0: select the TRNG with asynchronous free running oscilla-  
tors (default)  
1: select the pseudo-random generator with synchronous  
oscillators (for simulation purpose only)  
0
R/W  
TRNG_ENABLE  
0: Disable the TRNG  
0x0  
1: Enable the TRNG this signal is ignored when the FIFO is  
full  
Table 799: TRNG_FIFOLVL_REG (0x50005004)  
Bit  
31:6  
5
Mode Symbol  
Description  
Reset  
0x0  
-
-
Reserved  
R
R
TRNG_FIFOFULL  
TRNG_FIFOLVL  
1:FIFO full indication. This bit is cleared if the FIFO is read.  
0x0  
4:0  
Number of 32 bit words of random data in the FIFO (max 31)  
until the FIFO is full. When it is 0 and TRNG_FIFOFULL is 1,  
it means the FIFO is full.  
0x0  
Table 800: TRNG_VER_REG (0x50005008)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
31:24  
23:16  
15:0  
R
R
R
TRNG_MAJ  
Major version number  
Minor version number  
SVN revision number  
TRNG_MIN  
TRNG_SVN  
0x0  
0x103  
37.31 ELLIPTIC CURVE CONTROLLER REGISTER FILE  
Table 801: Register map Elliptic Curve Controller  
Address  
Port  
Description  
0x50006000  
0x50006004  
0x50006008  
0x5000600C  
0x50006010  
ECC_CONFIG_REG  
ECC_COMMAND_REG  
ECC_CONTROL_REG  
ECC_STATUS_REG  
ECC_VERSION_REG  
Configuration register  
Command register  
Control register  
Status register  
Version register  
Table 802: ECC_CONFIG_REG (0x50006000)  
Bit  
Mode Symbol  
Description  
Reset  
20:16  
R/W  
-
ECC_OPPTRC  
When executing primitive arithmetic operations, this pointer  
defines the location where the result will be stored in Mem-  
ory.  
0x0  
15:13  
-
Reserved  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
439 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 802: ECC_CONFIG_REG (0x50006000)  
Bit  
Mode Symbol  
Description  
Reset  
12:8  
R/W  
ECC_OPPTRB  
When executing primitive arithmetic operations, this Pointer  
defines where operand B is located in memory.  
0x0  
7:5  
4:0  
-
-
Reserved  
0x0  
0x0  
R/W  
ECC_OPPTRA  
When executing primitive arithmetic operations, this Pointer  
defines where operand A is located in memory.  
Table 803: ECC_COMMAND_REG (0x50006004)  
Bit  
Mode Symbol  
Description  
Reset  
31  
R/W  
ECC_CALCR2  
This bit indicates if the IP has to calculate R mod N for the  
next operation. This bit must be set to 1 when a new prime  
number has been programmed. This bit is automatically  
cleared when R mod N has been calculated.  
'0': no effect  
0x0  
'1': forces the IP to re-calculate R mod N  
30  
29  
R/W  
R/W  
ECC_SIGNB  
ECC_SIGNA  
-
Sign of parameter B in equation y2=x3+Ax+B  
'0': B is positive  
'1': B is negative  
0x0  
0x0  
Sign of parameter A in equation y2=x3+Ax+B  
'0': A is positive  
'1': A is negative  
28:16  
15:8  
-
Reserved  
0x0  
0x0  
R/W  
ECC_SIZEOFOPER  
ANDS  
This field defines the size (= number of 64-bit double words)  
of the operands for the current operation. Possible values  
are limited by the generic parameter g_Log2MaxDataSize  
that defines the max space allocated or reserved to each  
operand.  
Arbitrary Data/Key size from 128 up to 2566 are supported:  
0x02 (02d) -> 128-bit Data/Key size  
0x03 (02d) -> 256-bit Data/Key size  
ECC-ECDSA - Prime Field F(p)  
0x03 -> 192-bit (Curve P-192)  
0x04 -> 256-bit (Curves P-224 & P-256)  
ECC-ECDSA - Binary Field F(2m)  
0x03 -> 192-bit (Curve K-163)  
0x04 -> 256-bit (Curve K-233)  
- 4 Xers: 0x01, 0x02, 0x4, 0x6 -> 64, 128 & multiples of 128  
bits  
7
R/W  
ECC_FIELD  
'0': Field is F(p)  
0x0  
'1': Field is F(2m)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
440 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 803: ECC_COMMAND_REG (0x50006004)  
Bit  
Mode Symbol  
Description  
Reset  
0x0  
6:0  
R/W ECC_TYPEOPERATI Primitive Arithmetic Operations F(p) & F(2m)  
ON  
[6:4] = 0x0  
[3:0] =  
0x0 -> Reserved  
0x1 -> Modular Addition  
0x2 -> Modular Subtraction  
0x3 -> Modular Multiplication (Odd N)  
0x4 -> Modular Reduction (Odd N)  
0x5 -> Modular Division (Odd N)  
0x6 -> Modular Inversion (Odd N)  
0x7 -> Reserved  
0x8 -> Multiplication  
0x9 -> Modular Inversion (Even N)  
0xA -> Modular Reduction (Even N)  
others -> Reserved  
C = A + B mod N  
C = A - B mod N  
C = A * B mod N  
C = B mod N  
C = A/B mod N  
C = 1/B mod N  
C = A * B  
C = 1/B mod N  
C = B mod N  
High-level RSA, CRT & DSA Operations - F(p) only  
([7] forced to 0)  
[6:4] = 0x1  
[3:0] =  
0x0 -> MulModN  
0x1 -> MulAddN  
0x2 -> ECMQV (part1)  
others -> Reserved  
Primitive ECC & Check Point Operations F(p) & F(2m)  
[6:4] = 0x2  
[3:0] =  
0x0 -> Point Doubling (Projective Coord.)  
0x1 -> ptAdd3  
0x2 -> GenSessionKey  
0x3 -> Check_AB (ECDSA)  
0x4 -> Check_n (ECDSA)  
0x5 -> Check single value less than N  
0x6 -> Check_Point_On_Curve  
0x7-> Reserved  
0x8 -> Curve25519 point multiplication  
0x9 -> Ed25519 Check point on curve  
0xA -> Ed25519 ScalarMult  
0xB -> Ed25519 CheckValid  
others -> Reserved  
(continued on next page)  
6:0  
R/W  
ECC_TYPEOPERATI High-level ECC ECDSA Operations F(p) & F(2m)  
0x0  
ON  
[6:4] = 0x3  
(continued)  
[3:0] =  
0x0 -> ECMQV (part 2)  
0x1 -> Verify ZKP  
0x2 -> ECDSA Domain Parameters Validation  
others -> Reserved  
[6:4]=0x4, 0x5, 0x6, 0x7 -> Reserved  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
441 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 804: ECC_CONTROL_REG (0x50006008)  
Bit  
Mode Symbol  
R/W ECC_START  
Description  
Reset  
0
The Start signal is activated when all data and key inputs  
have been loaded in the external crypto memory and are  
available for processing. This signal is active high and is  
sampled on the rising edge of Clk.  
0x0  
When this signal goes high, the PK Command present in the  
PK_CommandReg[] is initiated and executed. The PK_Start  
signal is ignored when the core is already processing data  
and is automatically cleared when the operation is finished  
Table 805: ECC_STATUS_REG (0x5000600C)  
Bit  
Mode Symbol  
Description  
Reset  
16  
R
ECC_BUSY  
This Status Signal indicates that the core is processing data.  
This signal is active high and goes low when the selected  
algorithm is finished.  
0x0  
15:13  
12  
-
-
Reserved  
0x0  
0x0  
R
ECC_PRIMALITYTE  
STRESULT  
After the Miller-Rabin Primality test, this flag is:  
- set to 0 when the random number under test is probably  
prime  
- cleared to 1 when the random number under test is com-  
posite  
11  
10  
9
R
R
R
ECC_NOTINVERTIB  
LE  
This flag is set to 1 when executing a modular inversion  
(PK_CommandReg[3:0] = 0x6 or 0x9) if the operand is not  
invertible.  
0x0  
0x0  
0x0  
ECC_PARAM_AB_N  
OTVALID  
Status signal set to 1 when parameters A and B are not valid,  
i.e 4A+ 27B = 0. This flag is updated after execution of the  
command Check_AB.  
ECC_SIGNATURE_  
NOTVALID  
This flag indicates if the signature can be accepted or must  
be rejected.  
This flag is set to 1 when the signature is not valid and is  
updated after execution of the command  
ECDSA_Generation, ECDSA_Verification, DSA_Generation,  
DSA_Verification.  
8
7
-
-
Reserved  
0x0  
0x0  
R
ECC_PARAM_N_NO  
TVALID  
Status signal set to 1 when Parameter n is not valid.  
This flag is updated after execution of the command  
Check_n.  
6
R
ECC_COUPLE_NOT  
VALID  
Status signal set to 1 when couple x, y is not valid (i.e. not  
smaller than the prime).  
0x0  
This flag is updated after execution of the command  
Check_Couple_Less_Prime.  
5
4
R
R
ECC_POINT_PX_ATI Status signal set to 1 when Point Px is at the infinity.  
NFINITY This flag is updated after execution of an ECC operation.  
ECC_POINT_PX_NO Status signal set to 1 when Point Px is not on the defined  
0x0  
0x0  
TONCURVE  
EC. This flag is updated after execution of the command  
Check_Point_OnCurve.  
3:0  
R
ECC_FAIL_ADDRES  
S
Address of the last Point detected as Not On Curve, Not  
Valid or at the infinity.  
0x0  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
442 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 806: ECC_VERSION_REG (0x50006010)  
Bit  
Mode Symbol  
Description  
Reset  
15:8  
7:0  
R
R
ECC_HVN  
ECC_SVN  
Version of IP to be read via CPU interface.  
0x4  
0x0  
Version of Crypto code to be read via CPU interface.Note  
that this should be read before ECC is used since it corrupts  
its contents.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
443 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
38 Specifications  
All MIN/MAX specification limits are guaranteed by design, production testing and/or statistical characterization, and  
are valid over the full operating temperature range and power supply range, unless otherwise noted. Typical values  
are based on characterization results at default measurement conditions and are informative only.  
Default measurement conditions (unless otherwise specified): V  
= V  
= 3.0 V, T = 25 C. All radio measure-  
BAT1  
BAT2 A  
ments are performed with standard RF measurement equipment providing a source/load impedance of 50 .  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
444 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 807: Absolute maximum ratings  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
V
V
V
limiting voltage on a pin  
default, unless other-  
wise specified  
-0.1  
3.6  
V
PIN_LIM_DEF  
limiting battery supply  
voltage  
pin VBAT  
0
0
6
V
V
BAT_LIM  
limiting bus supply volt-  
age  
pin VBUS  
6.5  
BUS_LIM  
t
power supply rise time  
limiting voltage on a pin  
limiting voltage on a pin  
30  
ms  
V
R_SUP  
V
V
V
3.3 V I/O pins  
1.8 V I/O pins  
QFN60 package  
0
0
3.45  
1.98  
2000  
PIN_LIM_3V3  
PIN_LIM_1V8  
ESD_HBM_QFN  
V
electrostatic discharge  
voltage (Human Body  
Model)  
V
60  
V
electrostatic discharge  
voltage (Charged Device  
Model)  
QFN60 package  
500  
150  
V
ESD_CDM_QFN  
60  
T
storage temperature  
-50  
°C  
STG  
Table 808: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
1.7  
Typ  
Max  
4.75  
3.6  
Unit  
V
V
battery supply voltage  
V33 rail supply voltage  
pin VBAT1 and VBAT2  
BAT  
V
Voltage range for OTP  
programming. Required  
temperature for pro-  
2.25  
V
BAT_OTP  
gramming is between -  
o
o
20 C and 85 C  
pin VBUS  
V
V
V
bus supply voltage  
voltage on a pin  
4.2  
0
5.75  
3.3  
1.8  
85  
V
V
BUS  
3.3 V I/O pins  
1.8 V I/O pins  
PIN_3V3  
PIN_1V8  
A
voltage on a pin  
0
V
T
ambient temperature  
-40  
°C  
Table 809: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
I
I
battery supply current  
CPU is idle (Wait for  
0.7  
mA  
BAT_IDLE  
Interrupt - WFI); sys_clk  
= 16 MHz; pclk = 2 MHz;  
DC-DC on; FLASH off;  
peripherals on; V  
= 3  
BAT  
V.  
battery supply current  
CPU is executing code  
from 32 kB RAM; sys_clk  
= 16 MHz; pclk=2 MHz;  
DC-DC on; FLASH off;  
1.2  
mA  
BAT_RUN_16MHz  
peripherals on; V  
= 3  
BAT  
V.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
445 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 809: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
I
I
battery supply current  
CPU is executing code  
from 32 kB RAM; sys_clk  
= 48 MHz; pclk = 2 MHz;  
DC-DC on; FLASH off.  
PLL on; peripherals on;  
3.5  
mA  
BAT_RUN_48MHz  
V
= 3 V.  
BAT  
battery supply current  
CPU is executing code  
from 32 kB RAM; sys_clk  
= 96 MHz; pclk = 2 MHz;  
DC-DC on; FLASH off;  
PLL on; peripherals on;  
6.3  
mA  
BAT_RUN_96MHz  
V
= 3 V.  
BAT  
I
I
I
battery supply current  
battery supply current  
battery supply current  
battery supply current  
Hibernation mode; no  
RAM retained; all clocks  
1.2  
1.4  
2
A  
A  
A  
A  
BAT_HIBERN  
off; DC-DC off; V  
DD_RET  
= 0.9 V; FLASH off; V  
= 3 V.  
BAT  
Deep Sleep mode; 8 kB  
RAM retained; all clocks  
BAT_DP_SLP_8K  
BAT_DP_SLP_24  
off; DC-DC off; V  
DD_RET  
= 0.9 V; FLASH off; V  
= 3 V.  
BAT  
Deep Sleep mode; 24 kB  
RAM retained; all clocks  
K
off; DC-DC off; V  
DD_RET  
= 0.9 V; FLASH off; V  
= 3 V.  
BAT  
I
Extended Sleep mode;  
16 kB (code) and 32 kB  
(data) RAM retained;  
XTAL32K on; DC-DC off;  
3.3  
BAT_EX_SLP_16  
K_32K_FP  
V
= 0.9 V; FLASH  
DD_RET  
in Power Down mode;  
= 3 V.  
V
BAT  
I
battery supply current  
Extended Sleep mode;  
16 kB cache and 128 kB  
(data) RAM retained;  
6.5  
A  
BAT_EX_SLP_16  
K_128K_FP  
XTAL32K on; DC-DC off;  
V
= 0.9 V; FLASH  
DD_RET  
in Power Down mode;  
= 3 V.  
V
BAT  
I
battery supply current  
battery supply current  
battery supply current  
BLE receive mode; f  
= 16 MHz; DC-DC on;  
FLASH in Standby  
5.2  
4.5  
5.4  
mA  
mA  
mA  
BAT_BLE_RX_16  
CLK  
M_FS  
mode; V = 3 V.  
BAT  
I
BLE transmit mode; f  
= 16 MHz; DC-DC on;  
FLASH in Standby  
BAT_BLE_TX_16  
M_FS  
CLK  
mode; V  
= 3 V.  
BAT  
I
15.4 receive mode; f  
CLK  
BAT_FTDF_RX_1  
= 16 MHz; DC-DC on;  
FLASH in Standby  
6M_FS  
mode; V  
= 3 V.  
BAT  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
446 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 809: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
I
battery supply current  
15.4 transmit mode; f  
= 16 MHz; DC-DC on;  
FLASH in Standby  
5
mA  
BAT_FTDF_TX_1  
6M_FS  
CLK  
mode; V  
= 3 V.  
BAT  
I
battery supply current  
battery supply current  
battery supply current  
battery supply current  
BLE receive mode; f  
= 96 MHz; DC-DC on;  
FLASH in Standby  
7.7  
7
mA  
mA  
mA  
mA  
BAT_BLE_RX_96  
CLK  
M_FS  
mode; V  
= 3 V.  
BAT  
I
BLE transmit mode; f  
CLK  
= 96 MHz; DC-DC on;  
FLASH in Standby  
BAT_BLE_TX_96  
M_FS  
mode; V  
= 3 V.  
BAT  
I
15.4 receive mode; f  
= 96 MHz; DC-DC on;  
FLASH in Standby  
8
BAT_FTDF_RX_9  
6M_FS  
CLK  
mode; V  
= 3 V.  
BAT  
I
15.4 transmit mode; f  
7.5  
BAT_FTDF_TX_9  
CLK  
= 96 MHz; DC-DC on;  
FLASH in Standby  
6M_FS  
mode; V  
= 3 V.  
BAT  
Table 810: Timing characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
t
supply startup time  
time from power-on reset  
or wake-up to BootROM/  
application execution  
start  
2000  
s  
STA_SUP  
t
booter startup time  
BootROM code execu-  
tion time  
20  
ms  
STA_BOOT  
t
t
cache line fetch time  
cache line fetch time  
from OTP; line size = 8 B  
6
clock  
clock  
CLF_OTP  
CLF_FLA  
from FLASH; line size =  
8 B  
40  
Table 811: Thermal characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
R_P1_A9  
Device thermal resist-  
ance junction to ambient standard PCB; Zero  
aQFN60 package; Non-  
56.9  
ºC/W  
for a non standard PCB  
and a QFN package  
number of thermal vias  
(worst case);  
R_P2_A9  
Device thermal resist-  
ance junction to ambient JEDEC standard PCB;  
for a JEDEC PCB and a Zero number of thermal  
aQFN60 package;  
40  
ºC/W  
QFN package  
vias (worst case);  
Table 812: ldo_io_ret: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
C
effective load capaci-  
tance  
3
100  
F  
L_LDO_VBAT  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
447 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 813: ldo_io_ret: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
V
LDO output voltage  
LDO_3V3_LEVEL = 0x0;  
VDROP > 800 mV  
1.67  
1.8  
1.93  
V
LDO_IO_RET  
V /  
load regulation  
1 mA < Iload < 10 mA;  
VDROP > 800 mV  
0.11  
%/mA  
O
I  
L_LDO_IO_RET  
Table 814: ldo_io_ret2: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
C
effective load capaci-  
tance  
3
100  
F  
L_LDO_VBAT  
Table 815: ldo_io_ret2: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
V
LDO output voltage  
LDO_3V3_LEVEL = 0x0  
1.67  
1.8  
1.93  
V
LDO_IO_RET_re  
t2  
V /  
load regulation  
1 mA < Iload < 10 mA  
0.11  
%/mA  
O
I  
L_LDO_IO_RET  
_ret2  
Table 816: LDO_RADIO: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
50  
Unit  
mA  
F  
I
load current  
L_LDO_V14  
C
load capacitance  
1
10  
L_LDO_V14  
ESR  
equivalent series resist-  
ance  
100  
m  
CL_LDO_V1  
4
Table 817: LDO_RADIO: DC characteristics  
Parameter  
Description  
Conditions  
Min  
50  
Typ  
60  
Max  
100  
1.34  
1.39  
1.44  
1.5  
Unit  
mA  
V
I
clamping load current  
LDO output voltage  
LDO output voltage  
LDO output voltage  
LDO output voltage  
LDO output voltage  
output short-circuited  
LDO_1V4_LEVEL = 0x0  
LDO_1V4_LEVEL = 0x1  
LDO_1V4_LEVEL = 0x2  
LDO_1V4_LEVEL = 0x3  
LK_LDO_V14  
V
V
V
V
V
1.26  
1.31  
1.36  
1.4  
1.3  
LDO_V14_0  
LDO_V14_1  
LDO_V14_2  
LDO_V14_3  
LDO_V14_4  
1.35  
1.4  
V
V
1.45  
1.5  
V
LDO_1V4_LEVEL = 0x4  
to 0x7  
1.45  
1.55  
V
I
quiescent current  
off-state current  
load regulation  
25  
A  
nA  
Q_LDO_V14  
I
LDO disabled  
50  
OFF_LDO_V14  
V /  
5 mA I 50 mA  
0.03  
%/mA  
O
L
I  
L_LDO_V14  
V /  
line regulation  
DC  
1
%/V  
mV  
O
V  
I_LDO_V14  
V
dropout voltage  
I = 1 mA  
100  
DROP_V14  
L
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
448 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 817: LDO_RADIO: DC characteristics  
Parameter  
Description  
Conditions  
I = 50 mA  
Min  
Typ  
Typ  
Max  
Unit  
V
maximum dropout volt-  
age  
200  
mV  
DROP_V14_MA  
L
X
Table 818: LDO_RADIO: AC characteristics  
Parameter  
Description  
Conditions  
Min  
Max  
Unit  
V /  
output voltage overshoot I = 2.5 mA to/from 25  
3
%
O
L
V
mA; C = 1 F  
O_LDO_V14  
L
PSRR  
power supply rejection  
ratio  
5 mA I 50 mA; f  
200 kHz  
40  
40  
dB  
°
LDO_V14  
L
phase margin  
0 mA I 50 mA  
M_LDO_V14  
L
Table 819: LDO_RADIO: Timing characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
t
recovery time  
I = 2.5 mA to/from 25  
20  
s  
REC_LDO_V14  
L
mA  
t
startup time  
startup time  
V = 1 %; C = 1 F  
100  
200  
s  
s  
STA_LDO_V14_1  
O
L
t
V = 1 %; C = 10 F  
O L  
STA_LDO_V14_2  
Table 820: QSPI FLASH: Absolute maximum ratings  
Parameter  
Description  
Conditions  
erase/write; per sector  
Min  
Typ  
Max  
Unit  
N
Flash memory endur-  
ance  
100000  
cycle  
ENDU_FLASH  
Table 821: 16 MHz Crystal Oscillator: Recommended operating conditions  
Parameter  
(16M)  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
f
crystal oscillator fre-  
quency  
16  
MHz  
XTAL  
ESR(16M)  
(32M)  
equivalent series resist-  
ance  
100  
MHz  
pF  
f
crystal oscillator fre-  
quency  
32  
10  
XTAL  
C (16M)  
load capacitance  
No external capacitors  
required  
4
12  
60  
5
L
ESR(32M)  
equivalent series resist-  
ance  
C (16M)  
shunt capacitance  
load capacitance  
shunt capacitance  
No external capacitors  
required  
pF  
0
C (32M)  
No external capacitors  
are required  
4
6
12  
pF  
L
C (32M)  
5
pF  
0
f  
(16M)  
crystal frequency toler-  
ance  
After optional trimming;  
including aging and tem-  
perature drift  
-20  
20  
ppm  
XTAL  
(Note 21)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
449 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 821: 16 MHz Crystal Oscillator: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
f  
crystal frequency toler-  
ance  
Untrimmed; including  
aging and temperature  
drift  
-40  
40  
ppm  
X-  
(16M)UNT  
TAL  
(Note 22)  
f  
(32M)  
crystal frequency toler-  
ance  
After optional trimming;  
including aging and tem-  
perature drift  
-20  
-40  
20  
40  
ppm  
ppm  
XTAL  
(Note 21)  
f  
crystal frequency toler-  
ance  
Untrimmed; including  
aging and temperature  
drift  
X-  
(32M)UNT  
TAL  
(Note 22)  
P
)
(16M maximum drive power  
(16M) external clock voltage  
(Note 23)  
100  
1
W  
DRV(MAX)  
V
In case of external clock  
source on XTAL16Mp  
(XTAL16Mm floating or  
connected to mid-level  
0.6 V)  
1.2  
V
CLK(EXT)  
(EXTER-  
NAL)16M  
phase noise  
f = 50 kHz; in case of  
external clock source  
-130  
dBc/  
Hz  
N
C
Note 21: Using the internal varicaps a wide range of crystals can be trimmed to the required tolerance.  
Note 22: Maximum allowed frequency tolerance for compensation by the internal varicap trimming mechanism.  
Note 23: Select a crystal which can handle a drive level of at least this specification.  
Table 822: 16 MHz Crystal Oscillator: Timing characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
t
(16M) crystal oscillator startup  
time  
Worst crystal case  
(Note 24)  
0.5  
2
3
ms  
STA(XTAL)  
t
(32M) crystal oscillator startup  
time  
Worst crystal case  
(Note 25)  
0.3  
1
1.5  
ms  
STA(XTAL)  
Note 24: Using a crystal with ESR=21Ohm, C0=1pF, typical start up time will be 1.2 ms  
Note 25: Using a crystal with ESR=36Ohm, C0=1pF, typical start up time will be 0.7 ms  
Table 823: 32 kHz Crystal Oscillator: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
f
external clock frequency at pin XTAL32KP/P2_0  
in GPIO mode  
31  
33  
kHz  
CLK_EXT_32K  
f
crystal oscillator fre-  
quency  
32.768  
kHz  
k  
pF  
XTAL_32K  
ESR  
equivalent series resist-  
ance  
100  
9
32K  
C
load capacitance  
No external capacitors  
are required for a 6 pF or  
7 pF crystal.  
6
7
1
L_32K  
C
shunt capacitance  
2
pF  
0_32K  
f  
crystal frequency toler-  
ance (including aging)  
Timing accuracy is domi-  
nated by crystal accu-  
racy. A much smaller  
value is preferred.  
-250  
250  
ppm  
XTAL_32K  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
450 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 823: 32 kHz Crystal Oscillator: Recommended operating conditions  
Parameter  
Description  
Conditions  
(Note 26)  
Min  
Typ  
Typ  
Max  
Unit  
P
maximum drive power  
0.1  
W  
DRV_MAX_32K  
Note 26: Select a crystal that can handle a drive level of at least this specification.  
Table 824: 32 kHz Crystal Oscillator: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Max  
Unit  
V
HIGH level input voltage at pin XTAL32KP/P2_0  
in GPIO input mode;  
0.84  
V
IH_EXT_CLK_32  
K
XTAL32K disabled  
(Note 27)  
V
LOW level input voltage at pin XTAL32KP/P2_0  
in GPIO input mode;  
0.36  
V
IL_EXT_CLK_32  
K
XTAL32K disabled  
(Note 27)  
Note 27: Maximum input voltage of GPIO pins applies.  
Table 825: 32 kHz Crystal Oscillator: Timing characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
t
crystal oscillator startup  
time  
Typical application, time  
until 1000 clocks are  
detected.  
400  
ms  
STA_XTAL_32K  
Table 826: 16 MHz RC Oscillator: AC characteristics  
Parameter  
Description  
Conditions  
Min  
6
Typ  
Max  
19  
Unit  
MHz  
ppm  
f
f
_rc16m  
clock frequency  
frequency tolerance  
CLK  
TOL  
_rc16m  
after calibration  
-93750  
93750  
Table 827: 16 MHz RC Oscillator: Timing characteristics  
Parameter  
_rc16m  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
t
startup time  
5
s  
STA  
Table 828: Stable low frequency RCX Oscillator: Timing characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
f /T  
RCX oscillator fre-  
quency variation versus applied  
temperature  
preferred settings  
-70  
70  
ppm/  
deg  
RC  
_RCX  
f
RCX oscillator frequency preferred settings  
applied  
10.1  
11.4  
14.4  
kHz  
RC_RCX  
Table 829: Low Power PLL: AC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
f
output frequency  
96  
MHz  
O_LPPLL  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
451 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 830: Low Power PLL: Timing characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
t
frequency settling time  
1 % accuracy after VCO  
calibration  
20  
s  
LOCK_LPPLL_1  
t
frequency settling time  
200 ppm accuracy  
33  
100  
s  
LOCK_LPPLL_2  
Table 831: LDO_VBAT: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
100  
100  
Unit  
mA  
F  
I
load current  
L_LDO_VBAT  
C
effective load capaci-  
tance  
3
0
L_LDO_VBAT  
ESR  
equivalent series resist-  
ance  
100  
m  
CL_LDO_VB  
AT  
Table 832: LDO_VBAT: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
V
LDO output voltage  
during startup  
3.3  
V
LDO_VBAT_STA  
RT  
V
V
V
V
LDO output voltage  
LDO output voltage  
LDO output voltage  
LDO output voltage  
line regulation  
LDO_3V3_LEVEL = 0x0  
LDO_3V3_LEVEL = 0x1  
LDO_3V3_LEVEL = 0x2  
LDO_3V3_LEVEL = 0x3  
V (V + 200 mV)  
2.28  
3.13  
3.27  
2.9  
2.4  
3.3  
3.45  
3
2.52  
3.46  
3.62  
3.2  
V
V
LDO_VBAT_0  
LDO_VBAT_1  
LDO_VBAT_2  
LDO_VBAT_3  
V
V
V /  
-0.1  
0.06  
0.25  
%/V  
O
i
o
V  
I_LDO_VBAT  
V /  
load regulation  
dropout voltage  
11 mA < I  
< 110 mA  
load  
0.022  
%/mA  
O
I  
L_LDO_VBAT  
V
V
I = 1 mA  
100  
200  
mV  
mV  
DROP_VBAT  
L
maximum dropout volt-  
age  
I = 110 mA  
L
DROP_VBAT_M  
AX  
Table 833: ldo_io: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
75  
Unit  
mA  
F  
I
load current  
L_LDO_IO  
C
load capacitance  
1
0
10  
L_LDO_IO  
ESR  
equivalent series resist-  
ance  
100  
m  
CL_LDO_IO  
Table 834: ldo_io: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
1.86  
0.03  
0.5  
Unit  
V
V
LDO output voltage  
load regulation  
line regulation  
1.745  
1.8  
LDO_IO  
V /I  
7.5 mA I 75 mA  
%/mA  
%/V  
O
L_LDO_IO  
L
V /  
V > (V + 0.2V)  
O
i
o
V  
I_LDO_IO  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
452 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 834: ldo_io: DC characteristics  
Parameter  
Description  
Conditions  
I = 1 mA  
Min  
Typ  
Typ  
Max  
100  
200  
Unit  
mV  
V
dropout voltage  
DROP_IO  
L
V
maximum dropout volt-  
age  
I = 75 mA  
mV  
DROP_IO_MAX  
L
Table 835: ldo_vbat_ret: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Max  
Unit  
C
effective load capaci-  
tance  
3
100  
F  
L_LDO_VBAT  
Table 836: ldo_vbat_ret: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
V
LDO output voltage  
LDO_3V3_LEVEL = 0x0  
2.23  
2.4  
2.57  
V
LDO_VBAT_RET  
_0  
V
LDO output voltage  
LDO output voltage  
LDO output voltage  
load regulation  
LDO_3V3_LEVEL = 0x1  
LDO_3V3_LEVEL = 0x2  
LDO_3V3_LEVEL = 0x3  
1 mA < Iload < 10 mA  
3.07  
3.21  
2.79  
3.3  
3.45  
3
3.53  
3.69  
3.21  
0.11  
V
V
LDO_VBAT_RET  
_1  
V
LDO_VBAT_RET  
_2  
V
V
LDO_VBAT_RET  
_3  
V /  
%/mA  
O
I  
L_LDO_VBAT  
Table 837: LDO_USB: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
100  
100  
100  
Unit  
mA  
F  
I
load current  
L_LDO_USB  
C
load capacitance  
1
0
L_LDO_USB  
ESR  
equivalent series resist-  
ance  
m  
CL_LDO_US  
B
Table 838: LDO_USB: DC characteristics  
Parameter  
Description  
Conditions  
Min  
110  
Typ  
160  
2.4  
3.3  
3.45  
3
Max  
210  
Unit  
mA  
V
I
clamping load current  
LDO output voltage  
LDO output voltage  
LDO output voltage  
LDO output voltage  
load regulation  
output short-circuited  
LDO_USB_LEVEL = 0x0  
LDO_USB_LEVEL = 0x1  
LDO_USB_LEVEL = 0x2  
LDO_USB_LEVEL = 0x3  
LK_LDO_USB  
V
V
V
V
2.28  
3.13  
3.27  
2.9  
2.52  
3.46  
3.62  
3.2  
LDO_USB_0  
LDO_USB_1  
LDO_USB_2  
LDO_USB_3  
V
V
V
V /  
10 mA I  
100 mA  
LOAD  
0.022  
%/mA  
O
I  
L_LDO_USB  
V /  
line regulation  
-0.1  
0.1  
%/V  
O
V  
I_LDO_USB  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
453 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 839: SIMO DC-DC converter: Recommended operating conditions  
Parameter  
Description  
load current  
load current  
Conditions  
Min  
Typ  
Max  
75  
Unit  
mA  
I
I
L_1V8  
75  
mA  
L_1V8P  
Table 840: SIMO DC-DC converter: DC characteristics  
Parameter  
Description  
output voltage  
ripple voltage  
Conditions  
Min  
Typ  
1.8  
60  
Max  
Unit  
V
V
pin VDD1V8  
O_1V8  
V
peak-to-peak value.  
Using 10 uF, 16 V, X5R  
capacitors  
110  
mV  
RPL_1V8  
V
voltage accuracy  
maximum error on aver-  
age level  
6
%
ACC_V18  
V /I  
load regulation  
%/mA  
%/V  
%
O
L_1V8  
V /V  
line regulation  
O
I_1V8  
conversion efficiency  
VBAT = 3.5 V; no load on  
other supply rails  
62  
77  
CONV_1V8  
V
output voltage  
ripple voltage  
pin VDD1V8P  
1.71  
1.8  
60  
1.9  
V
O_1V8P  
V
peak-to-peak value.  
Using 10 uF, 16 V, X5R  
capacitors  
110  
mV  
RPL_1V8P  
V
voltage accuracy  
maximum error on aver-  
age level  
6
%
%
ACC_1V8P  
conversion efficiency  
VBAT = 3.5 V; no load on  
other supply rails  
62  
77  
CONV_1V8P  
Table 841: Brownout Detection: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
V
V
V
V
reset voltage  
pin V12; BOD_VDD_LVL  
= 0x0  
0.65  
0.7  
0.75  
V
RST_1V2_0  
RST_1V2_1  
RST_1V2_3  
RST_1V2_7  
reset voltage  
reset voltage  
reset voltage  
pin V12; BOD_VDD_LVL  
= 0x1  
0.6  
0.7  
0.8  
0.75  
0.85  
1.16  
V
V
V
pin V12; BOD_VDD_LVL  
= 0x3  
0.75  
0.98  
pin V12; BOD_VDD_LVL  
= 0x7  
1.05  
V
V
V
V
reset voltage  
reset voltage  
reset voltage  
pin V14  
1.18  
1.55  
2.49  
2.35  
1.23  
1.65  
2.7  
1.32  
1.77  
2.92  
2.55  
V
V
V
V
RST_1V4  
RST_1V8  
RST_3V3  
TH_LDO  
pins VDD1V8, VDD1V8P  
pin V33  
threshold voltage below  
which DCDC stops and  
LDO is active  
2.45  
Table 842: Charger: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
7.7  
Max  
Unit  
mA  
I
I
charge current 0000b  
charge current 0001b  
CHARGE_0  
CHARGE_1  
11.9  
mA  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
454 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 842: Charger: DC characteristics  
Parameter  
Description  
Conditions  
Min  
27  
Typ  
30  
Max  
34.5  
49.5  
66  
Unit  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
%
I
I
I
I
I
I
I
I
I
I
I
I
charge current 0010b  
charge current 0011b  
charge current 0100b  
charge current 0101b  
charge current 0110b  
charge current 0111b  
charge current 1000b  
charge current 1001b  
charge current 1010b  
charge current 1011b  
charge current 1100b  
charge current 1101b  
CHARGE_2  
CHARGE_3  
CHARGE_4  
CHARGE_5  
CHARGE_6  
CHARGE_7  
CHARGE_8  
CHARGE_9  
CHARGE_10  
CHARGE_11  
CHARGE_12  
CHARGE_13  
40.5  
54  
45  
60  
81  
90  
99  
108  
135  
162  
189  
243  
270  
315  
360  
83  
120  
150  
180  
210  
270  
300  
350  
400  
87.5  
132  
165  
198  
231  
297  
330  
385  
440  
92  
NTCR  
NTC to VDD_USB volt-  
age ratio threshold  
TH_COLD  
NTCR  
NTC to VDD_USB volt-  
age ratio threshold  
45  
50  
3
55  
%
V
TH_HOT  
V
charge voltage 00000b  
Trimmed without battery  
on VBAT  
2.91  
3.09  
CHARGE_0  
NOTE: For Li-Ion appli-  
cations it is recom-  
mended  
to use the charger output  
as trimming  
reference (in stead of  
VDDIO_1V8).  
This way an accuracy  
better than 1% can  
be obtained.  
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
charge voltage 00001b  
charge voltage 00010b  
charge voltage 00011b  
charge voltage 00100b  
charge voltage 00101b  
charge voltage 00110b  
charge voltage 00111b  
charge voltage 01000b  
charge voltage 01001b  
charge voltage 01010b  
charge voltage 01011b  
charge voltage 01100b  
charge voltage 01101b  
charge voltage 01110b  
charge voltage 01111b  
charge voltage 10000b  
3.298  
3.395  
3.492  
3.628  
3.744  
3.88  
3.4  
3.5  
3.502  
3.605  
3.708  
3.852  
3.976  
4.12  
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
CHARGE_1  
CHARGE_2  
CHARGE_3  
CHARGE_4  
CHARGE_5  
CHARGE_6  
CHARGE_7  
CHARGE_8  
CHARGE_9  
CHARGE_10  
CHARGE_11  
CHARGE_12  
CHARGE_13  
CHARGE_14  
CHARGE_15  
CHARGE_16  
3.6  
3.74  
3.86  
4
3.929  
3.977  
4.026  
4.148  
4.197  
4.246  
4.296  
4.268  
4.365  
4.462  
4.05  
4.1  
4.172  
4.223  
4.275  
4.253  
4.303  
4.354  
4.404  
4.532  
4.635  
4.738  
4.15  
4.2  
(Note 28)  
(Note 29)  
(Note 30)  
(Note 31)  
4.25  
4.3  
4.35  
4.4  
4.5  
4.6  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
455 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 842: Charger: DC characteristics  
Parameter  
Description  
Conditions  
Min  
4.753  
4.85  
Typ  
4.9  
5
Max  
5.047  
5.15  
Unit  
V
V
charge voltage 10001b  
charge voltage 10010b  
CHARGE_17  
CHARGE_18  
V
V
Note 28: Characterized for temperatures 0 °C to 50 °C  
Note 29: Characterized for temperatures 0 °C to 50 °C  
Note 30: Characterized for temperatures 0 °C to 50 °C  
Note 31: Characterized for temperatures 0 °C to 50 °C  
Table 843: General Purpose ADC: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
ENOB(AVG16) Effective Number of Bits Averaging 16 times;  
10.5  
bits  
GP_ADC_CTRL_REG=  
0x4C01;  
GP_ADC_CTRL2_REG  
=0x0008;  
GP_ADC_OFFP_REG=  
0x0200;  
GP_ADC_OFFN_REG=  
0x0200;  
GP_ADC_DELAY2_RE  
G=0xC000;  
ENOB(AVG32) Effective Number of Bits Averaging 32 times;  
10.8  
bits  
GP_ADC_CTRL_REG=  
0x4C01;  
GP_ADC_CTRL2_REG  
=0x0008;  
GP_ADC_OFFP_REG=  
0x0200;  
GP_ADC_OFFN_REG=  
0x0200;  
GP_ADC_DELAY2_RE  
G=0xC000;  
ENOB(AVG64) Effective Number of Bits Averaging 64 times;  
11.1  
bits  
GP_ADC_CTRL_REG=  
0x4C01;  
GP_ADC_CTRL2_REG  
=0x0008;  
GP_ADC_OFFP_REG=  
0x0200;  
GP_ADC_OFFN_REG=  
0x0200;  
GP_ADC_DELAY2_RE  
G=0xC000;  
Table 844: General Purpose ADC: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
V
V
V
zero-scale input voltage single-ended, calibrated  
at zero input  
-2.5  
2.5  
mV  
I(ZS)  
full-scale input voltage  
single-ended, calibrated  
at zero input  
1150  
1180  
1250  
mV  
mV  
I(FS)  
negative full-scale input  
voltage  
differential, calibrated at  
zero input  
-1180  
I(FSN)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
456 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 844: General Purpose ADC: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
V
positive full-scale input  
voltage  
differential, calibrated at  
zero input  
1180  
mV  
I(FSP)  
INL  
integral non-linearity  
GP_ADC_CTRL_REG=  
0x4C01;  
-2  
2
LSB  
GP_ADC_CTRL2_REG  
=0x0008;  
GP_ADC_OFFP_REG=  
0x0200;  
GP_ADC_OFFN_REG=  
0x0200;  
GP_ADC_DELAY2_RE  
G=0xC000;  
DNL  
differential non-linearity  
offset error  
-2  
-4  
2
4
LSB  
LSB  
E
differential, uncali-  
brated.  
OFS  
GP_ADC_IDYN=1 and  
GP_ADC_I20U=1  
E
gain error  
GP_ADC_IDYN=1 and  
GP_ADC_I20U=1  
0
32  
LSB  
G
Table 845: General Purpose ADC: Timing characteristics  
Parameter  
(ADC)  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
t
conversion time  
Excluding initial settling  
time of the LDO and the  
3x-attenuation (if used):  
0.25  
0.4  
s  
CONV  
LDO settling time is 20  
s (max), 3x-attenuation  
settling time = 1 s (max)  
Using internal ADC-clock  
(~200 MHz)  
Table 846: LED Driver: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
200  
200  
200  
0.2  
Max  
Unit  
mV  
mV  
mV  
%
V
V
V
saturation voltage  
saturation voltage  
saturation voltage  
current matching  
SAT_LED0  
SAT_LED1  
SAT_LED2  
MATCH_LED  
I
relative to average LED  
sink current  
2
I
maximum sink current  
maximum sink current  
maximum sink current  
200 mV saturation volt-  
age and 100% duty cycle  
(after trimming)  
19  
19  
19  
20  
20  
20  
21  
mA  
mA  
mA  
O_MAX_LED0  
O_MAX_LED1  
O_MAX_LED2  
I
I
200 mV saturation volt-  
age and 100% duty cycle  
(after trimming)  
21  
21  
200 mV saturation volt-  
age and 100% duty cycle  
(after trimming)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
457 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 846: LED Driver: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
I
I
I
current accuracy  
PWM accuracy at 10%  
duty cycle and above rel-  
ative to Io_max (100%  
duty cycle)  
-2  
2
%
ACC_LED0  
ACC_LED1  
ACC_LED2  
current accuracy  
current accuracy  
PWM accuracy at 10%  
duty cycle and above rel-  
ative to Io_max (100%  
duty cycle)  
-2  
-2  
2
2
%
%
PWM accuracy at 10%  
duty cycle and above rel-  
ative to Io_max (100%  
duty cycle)  
I
I
I
off-state current  
off-state current  
off-state current  
driver disabled  
driver disabled  
driver disabled  
1
1
1
A  
A  
A  
OFF_LED0  
OFF_LED1  
OFF_LED2  
Table 847: LED Driver: AC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Typ  
Max  
Unit  
f
PWM frequency  
256  
512  
Hz  
PWM_LED  
Table 848: chrgdet: DC characteristics  
Parameter Description  
Conditions  
Min  
Max  
Unit  
V
V
V
V
HIGH level input voltage USB_CHARGER_CTRL  
0.4  
V
IH_CHG_DET  
IL_CHG_DET  
IH_DCP_DET  
IL_DCP_DET  
_REG[VDP_SRC_ON]=  
1
LOW level input voltage USB_CHARGER_CTRL  
0.25  
V
V
V
_REG[VDP_SRC_ON]=  
1
HIGH level input voltage USB_CHARGER_CTRL  
0.8  
_REG[VDM_SRC_ON]=  
1
LOW level input voltage USB_CHARGER_CTRL  
0.25  
_REG[VDM_SRC_ON]=  
1
V
V
V
V
V
V
V
V
V
V
I
HIGH level input voltage  
LOW level input voltage  
HIGH level input voltage  
LOW level input voltage  
HIGH level input voltage  
LOW level input voltage  
HIGH level input voltage  
LOW level input voltage  
output voltage  
1.5  
1.5  
2.5  
2.5  
V
V
IH_DM_VAL  
IL_DM_VAL  
IH_DP_VAL  
IL_DP_VAL  
IH_DM_VAL2  
IL_DM_VAL2  
IH_DP_VAL2  
IL_DP_VAL2  
O_DM_SRC  
O_DP_SRC  
0.8  
0.8  
2.3  
V
V
V
V
V
2.3  
0.7  
0.7  
175  
175  
V
0.5  
0.5  
25  
V
output voltage  
V
D- sink current  
A  
A  
DM_SINK  
DP_SINK  
I
D+ sink current  
25  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
458 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 848: chrgdet: DC characteristics  
Parameter  
Description  
Conditions  
Min  
5
Typ  
Max  
13  
Unit  
A  
I
D+ source current  
D- resistance to ground  
DP_SRC  
R
USB_CHARGER_CTRL  
14.25  
24.8  
k  
DM_DWN  
_REG[IDP_SRC_ON] =  
1
Table 849: Digital I/O Pad: DC characteristics  
Parameter  
V _dio  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
V
HIGH level input voltage  
LOW level input voltage  
0.84  
IH  
V _dio  
0.36  
V
IL  
V
V
V
V
HIGH level output volt-  
age  
I
= -4.8 mA, VDD1V8P  
O
1.44  
1.88  
V
OH_1V8_dio  
OL_1V8_dio  
OH_3V3_dio  
OL_3V3_dio  
= 1.80 V  
LOW level output voltage I = 4.8 mA, VDD1V8P =  
0.36  
V
V
V
O
1.80 V  
HIGH level output volt-  
age  
I = -4.8 mA, V33 = 2.35  
V
O
LOW level output voltage  
I = 4.8 mA, V33 = 2.35  
O
0.47  
V
I _dio  
HIGH level input current V = V33 = 3.3 V  
-10  
-10  
65  
0.0005  
10  
10  
A  
A  
A  
A  
IH  
I
I _dio  
LOW level input current  
V = VSS = 0 V  
I
IL  
I
HIGH level input current V = V33 = 3.3 V  
200  
-35  
IH_PD_3V3_dio  
I
I
LOW level input current  
LOW level input current  
V = VSS = 0 V, VDD1V8  
= 1.8 V  
-110  
IL_PU_1V8_dio  
I
I
V = VSS = 0 V, V33 =  
-200  
-65  
A  
IL_PU_3V3_dio  
I
3.3 V  
SR  
SR  
rising slew rate  
falling slew rate  
input capacitance  
C = 15 pF; I = 4.8 mA;  
0.4  
0.4  
3.2  
3.3  
V/ns  
V/ns  
pF  
R_dio  
L
L
C = 15 pF; IL = 4.8 mA;  
F_dio  
L
C _dio  
0.75  
IN  
Table 850: Quad SPI Digital I/O Pad: DC characteristics  
Parameter  
V _qspi  
Description  
Conditions  
Min  
Typ  
Max  
1.04  
0.48  
Unit  
V
HIGH level input voltage VDDIO = 3.45 V  
LOW level input voltage VDDIO = 3.45 V  
HIGH level input voltage VDDIO = 1.6 V  
LOW level input voltage VDDIO = 1.6 V  
2.42  
IH  
V _qspi  
V
IL  
V
V
V
1.12  
V
IH_IO_1V8_qspi  
IL_IO_1V8_qspi  
OH_4mA_qspi  
V
HIGH level output volt-  
age  
I = 4 mA, VDDIO = 2.8  
2.24  
2.24  
2.24  
2.24  
1.32  
V
O
V
V
V
V
V
HIGH level output volt-  
age  
I = 8 mA, VDDIO = 2.8  
V
V
V
V
OH_8mA_qspi  
OH_12mA_qspi  
OH_16mA_qspi  
OH_1V6_4mA_q  
O
V
HIGH level output volt-  
age  
I = 12 mA, VDDIO = 2.8  
O
V
HIGH level output volt-  
age  
I = 16 mA, VDDIO = 2.8  
O
V
HIGH level output volt-  
age  
I = 3 mA, VDDIO = 1.65  
O
V
spi  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
459 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 850: Quad SPI Digital I/O Pad: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
V
HIGH level output volt-  
age  
I = 6 mA, VDDIO = 1.65  
V
1.32  
V
OH_1V6_8mA_q  
spi  
O
V
HIGH level output volt-  
age  
I = 9 mA, VDDIO = 1.65  
V
1.32  
1.32  
3.35  
V
V
V
OH_1V6_12mA_  
O
qspi  
V
HIGH level output volt-  
age  
I = 12 mA, VDDIO =  
OH_1V6_16mA_  
O
1.65 V  
qspi  
V
HIGH level output volt-  
age  
I = 100 A, VDDIO =  
OH_3V3_100uA_  
O
3.45 V  
qspi  
V
V
V
V
LOW level output voltage I = 4 mA, VDDIO = 2.8  
0.56  
0.56  
0.56  
0.56  
0.33  
V
V
V
V
V
OL_4mA_qspi  
OL_8mA_qspi  
OL_12mA_qspi  
OL_16mA_qspi  
OL_1V6_4mA_qs  
O
V
LOW level output voltage I = 8 mA, VDDIO = 2.8  
O
V
LOW level output voltage I = 12 mA, VDDIO = 2.8  
O
V
LOW level output voltage I = 16 mA, VDDIO = 2.8  
O
V
V
pi  
V
pi  
V
LOW level output voltage I = 3 mA, VDDIO = 1.65  
O
V
LOW level output voltage I = 6 mA, VDDIO = 1.65  
0.33  
0.33  
0.33  
0.1  
V
V
OL_1V6_8mA_qs  
OL_1V6_12mA_  
O
V
LOW level output voltage I = 9 mA, VDDIO = 1.65  
O
V
qspi  
V
LOW level output voltage  
LOW level output voltage  
I
= 12 mA, VDDIO =  
O
V
OL_1V6_16mA_  
1.65 V  
qspi  
V
I
= 100 A, VDDIO =  
V
OL_3V3_100uA_  
O
3.45 V  
qspi  
I _qspi  
HIGH level input current V = VDDIO, VDDIO =  
-10  
10  
A  
IH  
I
3.45 V  
I
_qspi  
HIGH level input current V = 1.8 V  
with pull-down  
25  
45  
75  
10  
A  
A  
IH_PD  
I
I _qspi  
LOW level input current  
V = VSS, VDDIO = 3.45  
-10  
IL  
I
V
I
_qspi  
LOW level input current  
with pull-up  
V = VSS, VDDIO = 1.8 V  
-75  
-45  
1.7  
2
-25  
A  
IL_PU  
I
SR  
SR  
SR  
SR  
SR  
SR  
rising slew rate  
rising slew rate  
rising slew rate  
rising slew rate  
falling slew rate  
falling slew rate  
QSPIC_GP_REG[QSPI  
C_PADS_SLEW] = 0x0  
V/ns  
V/ns  
V/ns  
V/ns  
V/ns  
V/ns  
R_0_qspi  
R_1_qspi  
R_2_qspi  
R_3_qspi  
F_0_qspi  
F_1_qspi  
QSPIC_GP_REG[QSPI  
C_PADS_SLEW] = 0x1  
QSPIC_GP_REG[QSPI  
C_PADS_SLEW] = 0x2  
2.3  
2.4  
1.9  
2.3  
QSPIC_GP_REG[QSPI  
C_PADS_SLEW] = 0x3  
QSPIC_GP_REG[QSPI  
C_PADS_SLEW] = 0x0  
QSPIC_GP_REG[QSPI  
C_PADS_SLEW] = 0x1  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
460 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 850: Quad SPI Digital I/O Pad: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
SR  
falling slew rate  
QSPIC_GP_REG[QSPI  
C_PADS_SLEW] = 0x2  
2.6  
V/ns  
F_2_qspi  
SR  
falling slew rate  
QSPIC_GP_REG[QSPI  
C_PADS_SLEW] = 0x3  
2.7  
V/ns  
pF  
F_3_qspi  
C _qspi  
input capacitance  
0.87  
IN  
Table 851: Reset Pad: DC characteristics  
Parameter Description  
Conditions  
Min  
Typ  
Typ  
Max  
Unit  
V
V
V
I
HIGH level input voltage pin RST  
LOW level input voltage pin RST  
0.84  
IH_RST  
IL_RST  
0.36  
75  
V
HIGH level input current pin RST, V = 1.2 V  
25  
A  
IH_RST  
I
Table 852: Radio - BLE mode: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Max  
Unit  
MHz  
1
f
operating frequency  
number of channels  
channel frequency  
2400  
2483.5  
OPER  
N
40  
CH  
f
K = 0 to 39  
2402+K*2  
MHz  
CH  
Table 853: Radio - BLE mode: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
I
battery supply current  
radio receiver and syn-  
thesizer active; ideal DC-  
3.1  
mA  
BAT_RF_RX_ble  
DC converter; T = 25  
A
C  
(Note 32)  
I
battery supply current  
radio transmitter and  
3.4  
mA  
BAT_RF_TX_ble  
synthesizer active; ideal  
DC-DC converter; T =  
A
25 C  
(Note 32)  
Note 32: The DC-DC converter efficiency is assumed to be 100 % to enable benchmarking of the radio currents at battery supply domain.  
Table 854: Radio - BLE mode: AC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
P
sensitivity level  
Dirty Transmitter disa-  
bled; DC-DC converter  
disabled; PER = 30.8 %;  
(Note 33)  
-94  
dBm  
SENS_CLEAN_b  
le  
P
_ble  
sensitivity level  
Normal Operating Condi-  
tions; DC-DC converter  
disabled; PER = 30.8 %;  
(Note 33)  
-93.5  
dBm  
SENS  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
461 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 854: Radio - BLE mode: AC characteristics  
Parameter  
_ble  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
P
intermodulation distor-  
tion interferer power  
level  
worst-case interferer  
-35  
-31  
dBm  
INT_IMD  
level @ f , f with 2*f - f  
1
2
1
2
= f , |f - f | = n MHz and  
0
1
2
n = 3, 4, 5; P  
= -  
WANTED  
64 dBm @ f ; PER =  
0
30.8 %;  
(Note 34)  
CIR  
CIR  
carrier to interferer ratio  
carrier to interferer ratio  
n = 0; interferer @ f = f  
+ n*1 MHz;  
(Note 35)  
7
13  
2
dB  
dB  
0_ble  
1
0
n = 1; interferer @ f =  
-3  
1_ble  
1
f + n*1 MHz;  
0
(Note 36)  
CIR  
carrier to interferer ratio  
n = +2 (image fre-  
-20  
-12  
dB  
P2_ble  
quency); interferer @ f  
1
= f + n*1 MHz;  
0
(Note 36)  
CIR  
CIR  
carrier to interferer ratio  
carrier to interferer ratio  
n = -2; interferer @ f =  
-30  
-35  
-26  
-19  
dB  
dB  
M2_ble  
1
f + n*1 MHz;  
0
(Note 36)  
n = +3 (image frequency  
P3_ble  
+ 1 MHz); interferer @ f  
1
= f + n*1 MHz;  
0
(Note 36)  
CIR  
CIR  
carrier to interferer ratio  
carrier to interferer ratio  
n = -3; interferer @ f =  
-41  
-43  
-33  
-27  
dB  
dB  
M3_ble  
1
f + n*1 MHz;  
0
(Note 36)  
|n| 4 (any other BLE  
4_ble  
channel); interferer @ f  
1
= f + n*1 MHz;  
0
(Note 36)  
P
blocker power level  
30 MHz f 2000  
-5  
-5  
-5  
-5  
dBm  
dBm  
dBm  
dBm  
BL_I_ble  
BL_II_ble  
BL_III_ble  
BL_IV_ble  
BL  
MHz; P  
= -67  
WANTED  
dBm;  
(Note 37)  
2003 MHz f 2399  
P
P
P
blocker power level  
(Note 38)  
BL  
MHz; P  
= -67  
WANTED  
dBm;  
(Note 37)  
2484 MHz f 2997  
blocker power level  
blocker power level  
BL  
MHz; P  
= -67  
WANTED  
dBm;  
(Note 37)  
3000 MHz f 12.75  
BL  
GHz; P  
= -67  
WANTED  
dBm;  
(Note 37)  
P
P
RSSI power level  
RSSI power level  
absolute power level for  
RXRSSI[7:0] = 0;  
-116  
-24  
-114  
-22  
-112  
-20  
dBm  
dBm  
RSSI_MIN_ble  
upper limit of monoto-  
nous range;  
RSSI_MAX_ble  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
462 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 854: Radio - BLE mode: AC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
L
level accuracy  
tolerance at 5 % to 95 %  
confidence interval of  
0
2
dB  
ACC_RSSI_ble  
P
: when RXRSSI[7:0]  
RF  
= X, 50 < X < 175; burst  
mode, 1500 packets;  
L
level resolution  
gradient of monotonous  
range for RXRSSI[7:0] =  
X, 50 < X < 175; burst  
mode, 1500 packets;  
0.47  
0.48  
0.49  
dB/  
LSB  
RES_RSSI_ble  
ACP  
ACP  
adjacent channel power  
level  
f
2 MHz;  
OFS  
-53  
-57  
0
dBm  
dBm  
2M_ble  
(Note 39)  
f 3 MHz;  
OFS  
(Note 39)  
adjacent channel power  
level  
3M_ble  
P _ble  
output power level  
maximum gain;  
-1  
1
dBm  
dBm  
O
P
P
P
P
P
output power level (sec- maximum gain;  
ond harmonic)  
-41  
O_H2_ble  
O_H3_ble  
O_H4_ble  
O_H5_ble  
O_NFM_ble  
output power level (third maximum gain;  
harmonic)  
-41  
-41  
-41  
-15  
dBm  
dBm  
dBm  
dBm  
output power level  
(fourth harmonic)  
maximum gain;  
output power level (fifth  
harmonic)  
maximum gain;  
output power level (Near maximum gain;  
Field Mode) (Note 40)  
-25  
-20  
Note 33: Measured according to Bluetooth® Low Energy Test Specification RF-PHY.TS/4.0.1, section 6.4.1.  
Note 34: Measured according to Bluetooth® Core Technical Specification document, version 4.0, volume 6, section 4.4. Published value is for n =  
IXIT = 3. IXIT =4 or 5 gives the same results  
Note 35: Measured according to Bluetooth® Core Technical Specification document, version 4.0, volume 6, section 4.2.  
Note 36: Measured according to Bluetooth® Low Energy Test Specification RF-PHY.TS/4.0.1, section 6.4.2.  
Note 37: Measured according to Bluetooth® Core Technical Specification document, version 4.0, volume 6, section 4.3. Due to limitations of the  
measurement equipment, levels of -5 dBm should be interpreted as > -5 dBm.  
Note 38: Frequencies close to the ISM band can show slightly worse performance  
Note 39: Measured according to Bluetooth® Low Energy Test Specification RF-PHY.TS/4.0.1, section 6.2.3.  
Note 40: To activate the "Near Field Mode", program address 0x50002230, bits 9:5 with the value 0x0. To stop NFC restore previous bitfield value.  
Table 855: Radio - 802.15.4 mode: Recommended operating conditions  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
MHz  
1
f
operating frequency  
number of channels  
channel frequency  
2400  
2483.5  
OPER  
N
16  
CH  
f
K = 11 to 26  
2405+(K-  
11)*5  
MHz  
CH  
Table 856: Radio - 802.15.4 mode: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
I
battery supply current  
radio receiver and syn-  
thesizer active; ideal DC-  
3.2  
mA  
BAT_RF_RX_ftdf  
DC converter; T = 25  
A
C  
(Note 41)  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
463 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 856: Radio - 802.15.4 mode: DC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
I
battery supply current  
radio transmitter and  
3.4  
mA  
BAT_RF_TX_ftdf  
synthesizer active; ideal  
DC-DC converter; T =  
A
25 C  
(Note 41)  
Note 41: The DC-DC converter efficiency is assumed to be 100 % to enable benchmarking of the radio currents at battery supply domain.  
Table 857: Radio - 802.15.4 mode: AC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
P
_ftdf  
sensitivity level  
DC-DC converter ena-  
-98  
dBm  
SENS  
bled; PER < 1 %; T =  
A
25 C  
P
_ftdf  
maximum input power  
level  
DC-DC converter disa-  
0
dBm  
dB  
I_MAX  
bled; PER < 1 %; T =  
A
25 C  
CCR_ftdf  
co-channel rejection  
interferer @ f = f ;  
-6  
1
0
P
= -82 dBm; T  
A
WANTED  
= 25 C  
ACR  
adjacent channel rejec-  
tion  
n = 1; interferer @ f =  
28  
dB  
dB  
M1_ftdf  
1
f + n*5 MHz; P  
=
0
WANTED  
-82 dBm; T = 25 C  
A
ACR  
alternate channel rejec-  
tion  
n = +2 ; interferer @ f1 =  
f0 + n*5 MHz;  
40  
P2_ftdf  
P
=-82 dBm; TA =  
WANTED  
o
25 C  
ACR  
ACR  
adjacent channel rejec-  
tion  
n = -2; interferer @ f =  
42  
23  
dB  
dB  
M2_ftdf  
P1_ftdf  
1
f + n*5 MHz; P  
=
0
WANTED  
-82 dBm; T = 25 C  
A
adjacent channel rejec-  
tion  
n = +1; interferer @ f =  
1
f + n*5 MHz; P  
=
0
WANTED  
-82 dBm; T = 25 C  
A
P
P
RSSI power level  
absolute power level for  
-117  
-24  
-114  
-111  
dBm  
RSSI_MIN_ftdf  
RXRSSI[7:0] = 0; T =  
A
25 C  
RSSI power level  
level accuracy  
upper limit of monoto-  
-22  
0
-20  
2
dBm  
dB  
RSSI_MAX_ftdf  
nous range; T = 25 C  
A
L
tolerance at 5 % to 95 %  
confidence interval of  
ACC_RSSI_ftdf  
P
: when RXRSSI[7:0]  
RF  
= X, 50 < X < 175; burst  
mode, 1500 packets; T  
A
= 25 C  
L
level resolution  
gradient of monotonous  
range for RXRSSI[7:0] =  
X, 50 < X < 175; burst  
0.47  
-1  
0.48  
0.49  
dB/  
LSB  
RES_RSSI_ftdf  
mode, 1500 packets; T  
A
= 25 C  
P _ftdf  
output power level  
maximum gain; T = 25  
0
1
dBm  
O
A
C  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
464 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Table 857: Radio - 802.15.4 mode: AC characteristics  
Parameter  
Description  
Conditions  
Min  
Typ  
Max  
Unit  
P
P
P
P
P
output power level (sec- maximum gain; T = 25  
-41  
dBm  
O_H2_ftdf  
O_H3_ftdf  
O_H4_ftdf  
O_H5_ftdf  
O_NFM_ftdf  
A
ond harmonic)  
C  
C  
output power level (third maximum gain; T = 25  
harmonic)  
-41  
-41  
-41  
-15  
dBm  
dBm  
dBm  
dBm  
A
output power level  
(fourth harmonic)  
maximum gain; T = 25  
C  
A
output power level (fifth  
harmonic)  
maximum gain; T = 25  
C  
A
output power level (Near maximum gain; T = 25  
-25  
-20  
A
Field Mode)  
C  
(Note 42)  
EVM_ftdf  
EVM  
error vector magnitude  
as defined by IEEE  
802.15.4  
9
1
%
%
offset error vector magni-  
tude  
OFS_ftdf  
Note 42: To activate the "Near Field Mode", program address 0x50002230, bits 9:5 with the value 0x0. To stop NFC restore previous bitfield value.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
465 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
39 Package information  
39.1 MOISTURE SENSITIVITY LEVEL (MSL)  
The MSL is an indicator for the maximum allowable  
time period (floor life time) in which a moisture sensi-  
tive plastic device, once removed from the dry bag, can  
be exposed to an environment with a maximum tem-  
perature of 30°C and a maximum relative humidity of  
60% RH. before the solder reflow process.  
WLCSP packages are qualified for MSL 1.  
AQFN packages are qualified for MSL 3.  
MSL Level  
MSL 4  
Floor Life Time  
72 hours  
MSL 3  
168 hours  
MSL 2A  
MSL 2  
4 weeks  
1 year  
MSL 1  
Unlimited at 30°C/85% RH  
39.2 WLCSP HANDLING  
Manual handling of WLCSP packages should be  
reduced to the absolute minimum. In cases where it is  
still necessary, a vacuum pick-up tool should be used.  
In extreme cases plastic tweezers could be used, but  
metal tweezers are not acceptable, since contact may  
easily damage the silicon chip.  
Removal will cause damage to the solder balls and  
therefore a removed sample cannot be reused.  
WLCSP is sensitive to visible and infrared light. Pre-  
cautions should be taken to shield the chip properly in  
the final product.  
39.3 SOLDERING INFORMATION  
Refer to the JEDEC standard J-STD-020 for relevant  
soldering information.  
This document can be downloaded from http://  
www.jedec.org.  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
466 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
39.4 PACKAGE OUTLINES  
Figure 134: AQFN60 Package Outline Drawing  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
467 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Figure 135: WLCSP53 package outline drawing  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
468 of 469  
© 2019-2020 Dialog Semiconductor  
DA14683  
FINAL  
Bluetooth Low Energy 5.0 SoC with Enhanced Security  
Status definitions  
Version Datasheet status  
Product status  
Definition  
1.<n>  
Target  
Development  
This datasheet contains the design specifications for prod-  
uct development. Specifications may change in any manner  
without notice.  
2.<n>  
Preliminary  
Qualification  
Production  
This datasheet contains the specifications and preliminary  
characterisation data for products in pre-production. Specifi-  
cations may be changed at any time without notice in order  
to improve the design.  
3.<n>  
4.<n>  
Final  
This datasheet contains the final specifications for products  
in volume production. The specifications may be changed  
at any time in order to improve the design, manufacturing  
and supply. Relevant changes will be communicated via  
Customer Product Notifications.  
Obsolete  
Archived  
This datasheet contains the specifications for discontinued  
products. The information is provided for reference only.  
Disclaimer  
Information in this document is believed to be accurate and reliable. However, Dialog Semiconductor does not give  
any representations or warranties, expressed or implied, as to the accuracy or completeness of such information.  
Dialog Semiconductor furthermore takes no responsibility whatsoever for the content in this document if provided by  
any information source outside of Dialog Semiconductor.  
Dialog Semiconductor reserves the right to change without notice the information published in this document, includ-  
ing without limitation the specification and design of the related semiconductor products, software and applications.  
Applications, software, and semiconductor products described in this document are for illustrative purposes only.  
Dialog Semiconductor makes no representation or warranty that such applications, software and semiconductor  
products will be suitable for the specified use without further testing or modification. Unless otherwise agreed in writ-  
ing, such testing or modification is the sole responsibility of the customer and Dialog Semiconductor excludes all lia-  
bility in this respect.  
Customer notes that nothing in this document may be construed as a license for customer to use the Dialog Semi-  
conductor products, software and applications referred to in this document. Such license must be separately sought  
by customer with Dialog Semiconductor.  
All use of Dialog Semiconductor products, software and applications referred to in this document are subject to  
Dialog Semiconductor's Standard Terms and Conditions of Sale, unless otherwise stated.  
© Dialog Semiconductor. All rights reserved.  
RoHS compliance  
Dialog Semiconductor complies to European Directive 2001/95/EC and from 2 January 2013 onwards to European  
Directive 2011/65/EU concerning Restriction of Hazardous Substances (RoHS/RoHS2). Dialog Semiconductor’s  
statement on RoHS can be found on the customer portal https://support.diasemi.com/. RoHS certificates from our  
suppliers are available on request.  
Contacting Dialog Semiconductor  
United Kingdom (Headquarters)  
Dialog Semiconductor (UK) LTD  
Phone: +44 1793 757700  
North America  
Singapore  
China (Shenzhen)  
Dialog Semiconductor Inc.  
Phone: +1 408 845 8500  
Dialog Semiconductor Singapore  
Phone: +65 64 8499 29  
Dialog Semiconductor China  
Phone: +86 755 2981 3669  
Germany  
Japan  
Hong Kong  
China (Shanghai)  
Dialog Semiconductor GmbH  
Phone: +49 7021 805-0  
Dialog Semiconductor K. K.  
Phone: +81 3 5425 4567  
Dialog Semiconductor Hong Kong  
Phone: +852 3769 5200  
Dialog Semiconductor China  
Phone: +86 21 5424 9058  
The Netherlands  
Taiwan  
Korea  
469  
Dialog Semiconductor B.V.  
Phone: +31 73 640 8822  
Dialog Semiconductor Taiwan  
Phone: +886 281 786 222  
Dialog Semiconductor Korea  
Phone: +82 2 3469 8200  
Email:  
Web site:  
enquiry@diasemi.com  
www.dialog-semiconductor.com  
Datasheet  
Revision 3.4  
24-Nov-2020  
CFR0011-120-01  
469 of 469  
© 2019-2020 Dialog Semiconductor  

相关型号:

SI9130DB

5- and 3.3-V Step-Down Synchronous Converters

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9135LG-T1

SMBus Multi-Output Power-Supply Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9135LG-T1-E3

SMBus Multi-Output Power-Supply Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9135_11

SMBus Multi-Output Power-Supply Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9136_11

Multi-Output Power-Supply Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9130CG-T1-E3

Pin-Programmable Dual Controller - Portable PCs

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9130LG-T1-E3

Pin-Programmable Dual Controller - Portable PCs

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9130_11

Pin-Programmable Dual Controller - Portable PCs

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9137

Multi-Output, Sequence Selectable Power-Supply Controller for Mobile Applications

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9137DB

Multi-Output, Sequence Selectable Power-Supply Controller for Mobile Applications

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9137LG

Multi-Output, Sequence Selectable Power-Supply Controller for Mobile Applications

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY

SI9122E

500-kHz Half-Bridge DC/DC Controller with Integrated Secondary Synchronous Rectification Drivers

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
VISHAY