0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
NRF52811-QCAA-R7

NRF52811-QCAA-R7

  • 厂商:

    NORDIC(北欧)

  • 封装:

    VFQFN32_EP

  • 描述:

  • 数据手册
  • 价格&库存
NRF52811-QCAA-R7 数据手册
nRF52811 Product Specification v1.1 4454_140 v1.1 / 2021-12-21 Feature list Features: • ® Bluetooth 5.1, IEEE 802.15.4-2006, 2.4 GHz transceiver • ® -97 dBm sensitivity in 1 Mbps Bluetooth low energy mode Nordic SoftDevice ready -104 dBm sensitivity in 125 kbps Bluetooth low energy mode (long range) • Support for concurrent multi-protocol • -20 to +4 dBm TX power, configurable in 4 dB steps • 12-bit, 200 ksps ADC that has 8 configurable channels with • On-air compatible with nRF52, nRF51, nRF24L, and nRF24AP Series • Supported data rates: ® programmable gain ® • Bluetooth 5.1: 2 Mbps, 1 Mbps, 500 kbps, and 125 kbps • IEEE 802.15.4-2006: 250 kbps • Proprietary 2.4 GHz: 2 Mbps, 1 Mbps Angle-of-arrival (AoA) and angle-of-departure (AoD) direction finding using ® Bluetooth . • Single-ended antenna output (on-chip balun) • 4.6 mA peak current in TX (0 dBm) • 4.6 mA peak current in RX • • 192 kB flash and 24 kB RAM • • • • • RSSI (1 dB resolution) ® ® ARM Cortex -M4 32-bit processor, 64 MHz ® • 144 EEMBC CoreMark score running from flash memory • 34.4 µA/MHz running CoreMark from flash memory • 32.8 µA/MHz running CoreMark from RAM memory • Serial wire debug (SWD) • 64 level comparator • Temperature sensor • Up to 32 general purpose I/O pins • 4-channel pulse width modulator (PWM) unit with EasyDMA • Digital microphone interface (PDM) • 3x 32-bit timer with counter mode • 2x SPI master/slave with EasyDMA • I2C compatible two-wire master/slave • UART (CTS/RTS) with EasyDMA • Programmable peripheral interconnect (PPI) • Quadrature decoder (QDEC) • AES HW encryption with EasyDMA • 2x real-time counter (RTC) • Single crystal operation • Package variants Flexible power management • 1.7 V to 3.6 V supply voltage range • Fully automatic LDO and DC/DC regulator system • Fast wake-up using 64 MHz internal oscillator • 0.3 µA at 3 V in System OFF mode, no RAM retention • 0.5 µA at 3 V in System OFF mode with full 24 kB RAM retention • 1.5 µA at 3 V in System ON mode, with full 24 kB RAM retention, wake on • QFN48 package, 6 x 6 mm • QFN32 package, 5 x 5 mm • WLCSP package, 2.482 x 2.464 mm RTC • 1.4 µA at 3 V in System ON mode, no RAM retention, wake on RTC Applications: • Computer peripherals and I/O devices • Health and medical • Mouse • Enterprise lighting • Keyboard • Industrial • Mobile HID • Commercial • Retail • CE remote controls • Network processor • Beacons • Wearables • Connectivity device in multi-chip solutions • Virtual reality headsets 4454_140 v1.1 ii Contents Feature list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii 1 Revision history. 2 About this document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 11 2.1 Document status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Peripheral chapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Register tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Fields and values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 DUMMY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 11 12 12 12 12 3 Block diagram. 14 4 Core components. 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.1 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 CPU and support module configuration . . . . . . . . . . . . . . . . . . . . . 4.2 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 RAM - Random access memory . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Flash - Non-volatile memory . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3 Memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.4 Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 NVMC — Non-volatile memory controller . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Writing to flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Erasing a page in flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 Writing to user information configuration registers (UICR) . . . . . . . . . . . . . 4.3.4 Erasing user information configuration registers (UICR) . . . . . . . . . . . . . . . 4.3.5 Erase all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.6 Partial erase of a page in flash . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.7 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.8 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 FICR — Factory information configuration registers . . . . . . . . . . . . . . . . . . 4.4.1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 UICR — User information configuration registers . . . . . . . . . . . . . . . . . . . 4.5.1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 EasyDMA error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.2 EasyDMA array list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 AHB multilayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.1 DAP - Debug access port . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.2 Access port protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.3 CTRL-AP - Control access port . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.4 Debug Interface mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.5 Real-time debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 15 16 17 17 17 18 19 19 19 20 20 20 20 20 24 24 24 32 32 35 37 37 38 38 39 39 42 44 44 Power and clock management. 45 4454_140 v1.1 . . . . . . . . . . . . . . . . . . . . . . . iii 6 5.1 Power management unit (PMU) . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Current consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 POWER — Power supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Regulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 System OFF mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 System ON mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.4 Power supply supervisor . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.5 RAM power control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.6 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.7 Retained registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.8 Reset behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.9 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.10 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 CLOCK — Clock control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 HFCLK clock controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 LFCLK clock controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.3 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.4 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 45 46 51 51 52 53 53 55 55 56 56 57 63 64 65 66 69 75 Peripherals. 77 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Peripheral interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.1.1 Peripheral ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.1.2 Peripherals with shared ID . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.1.3 Peripheral registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.1.4 Bit set and clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.1.5 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.1.6 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.1.7 Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.1.8 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.2 AAR — Accelerated address resolver . . . . . . . . . . . . . . . . . . . . . . . . 80 6.2.1 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.2.2 Resolving a resolvable address . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.2.3 Use case example for chaining RADIO packet reception with address resolution using AAR . 81 6.2.4 IRK data structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.2.5 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.2.6 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.3 BPROT — Block protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6.3.1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.4 CCM — AES CCM mode encryption . . . . . . . . . . . . . . . . . . . . . . . . 88 6.4.1 Keystream generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.4.2 Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.4.3 Decryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.4.4 AES CCM and RADIO concurrent operation . . . . . . . . . . . . . . . . . . . . 90 6.4.5 Encrypting packets on-the-fly in radio transmit mode . . . . . . . . . . . . . . . 90 6.4.6 Decrypting packets on-the-fly in RADIO receive mode . . . . . . . . . . . . . . . 91 6.4.7 CCM data structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.4.8 EasyDMA and ERROR event . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.4.9 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.4.10 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.5 COMP — Comparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.5.1 Differential mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.5.2 Single-ended mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.5.3 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4454_140 v1.1 iv 6.5.4 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 ECB — AES electronic codebook mode encryption . . . . . . . . . . . . . . . . . . 6.6.1 Shared resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.2 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.3 ECB data structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.4 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6.5 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7 EGU — Event generator unit . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7.2 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8 GPIO — General purpose input/output . . . . . . . . . . . . . . . . . . . . . . 6.8.1 Pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8.2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8.3 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9 GPIOTE — GPIO tasks and events . . . . . . . . . . . . . . . . . . . . . . . . . 6.9.1 Pin events and tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9.2 Port event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9.3 Tasks and events pin configuration . . . . . . . . . . . . . . . . . . . . . . 6.9.4 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9.5 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10 PDM — Pulse density modulation interface . . . . . . . . . . . . . . . . . . . . 6.10.1 Master clock generator . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10.2 Module operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10.3 Decimation filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10.4 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10.5 Hardware example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10.6 Pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10.7 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10.8 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.11 PPI — Programmable peripheral interconnect . . . . . . . . . . . . . . . . . . . 6.11.1 Pre-programmed channels . . . . . . . . . . . . . . . . . . . . . . . . . 6.11.2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.12 PWM — Pulse width modulation . . . . . . . . . . . . . . . . . . . . . . . . 6.12.1 Wave counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.12.2 Decoder with EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.12.3 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.12.4 Pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.12.5 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13 QDEC — Quadrature decoder . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13.1 Sampling and decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13.2 LED output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13.3 Debounce filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13.4 Accumulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13.5 Output/input pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13.6 Pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13.7 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13.8 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14 RADIO — 2.4 GHz radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.1 Packet configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.2 Address configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.3 Data whitening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.4 CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.5 Radio states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.6 Transmit sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4454_140 v1.1 v 111 112 112 112 112 113 115 115 116 118 118 119 120 125 126 126 127 127 128 132 132 132 132 133 133 134 135 135 141 142 143 144 149 149 152 159 159 160 168 169 170 170 171 171 171 172 183 183 184 185 186 186 187 187 6.14.7 Receive sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.8 Received signal strength indicator (RSSI) . . . . . . . . . . . . . . . . . . . . 6.14.9 Interframe spacing (IFS) . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.10 Device address match . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.11 Bit counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.12 Direction finding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.13 IEEE 802.15.4 operation . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.14 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.15 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.14.16 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.15 RNG — Random number generator . . . . . . . . . . . . . . . . . . . . . . . 6.15.1 Bias correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.15.2 Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.15.3 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.15.4 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.16 RTC — Real-time counter . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.16.1 Clock source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.16.2 Resolution versus overflow and the PRESCALER . . . . . . . . . . . . . . . . . 6.16.3 COUNTER register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.16.4 Overflow features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.16.5 TICK event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.16.6 Event control feature . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.16.7 Compare feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.16.8 TASK and EVENT jitter/delay . . . . . . . . . . . . . . . . . . . . . . . . . 6.16.9 Reading the COUNTER register . . . . . . . . . . . . . . . . . . . . . . . 6.16.10 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.16.11 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17 SAADC — Successive approximation analog-to-digital converter . . . . . . . . . . . . 6.17.1 Shared resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.3 Digital output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.4 Analog inputs and channels . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.5 Operation modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.6 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.7 Resistor ladder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.8 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.9 Acquisition time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.10 Limits event monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.11 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.12 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.17.13 Performance factors . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.18 SPI — Serial peripheral interface master . . . . . . . . . . . . . . . . . . . . . 6.18.1 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.18.2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.18.3 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.19 SPIM — Serial peripheral interface master with EasyDMA . . . . . . . . . . . . . . 6.19.1 SPI master transaction sequence . . . . . . . . . . . . . . . . . . . . . . . 6.19.2 Master mode pin configuration . . . . . . . . . . . . . . . . . . . . . . . 6.19.3 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.19.4 Low power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.19.5 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.19.6 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.20 SPIS — Serial peripheral interface slave with EasyDMA . . . . . . . . . . . . . . . . 6.20.1 Shared resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4454_140 v1.1 vi 189 190 190 191 192 192 197 206 207 242 248 248 248 248 251 251 251 251 252 253 253 253 254 256 258 259 264 264 264 264 265 266 266 268 269 270 270 271 272 286 287 287 288 291 294 295 296 297 298 298 298 307 308 309 6.20.2 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.20.3 SPI slave operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.20.4 Pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.20.5 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.20.6 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.21 SWI — Software interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.21.1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.22 TEMP — Temperature sensor . . . . . . . . . . . . . . . . . . . . . . . . . . 6.22.1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.22.2 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.23 TWI — I2C compatible two-wire interface . . . . . . . . . . . . . . . . . . . . . 6.23.1 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.23.2 Master mode pin configuration . . . . . . . . . . . . . . . . . . . . . . . 6.23.3 Shared resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.23.4 Master write sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.23.5 Master read sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.23.6 Master repeated start sequence . . . . . . . . . . . . . . . . . . . . . . . 6.23.7 Low power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.23.8 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.23.9 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24 TIMER — Timer/counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24.1 Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24.2 Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24.3 Task delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24.4 Task priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24.5 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.25 TWIM — I2C compatible two-wire interface master with EasyDMA . . . . . . . . . . . 6.25.1 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.25.2 Master write sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.25.3 Master read sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.25.4 Master repeated start sequence . . . . . . . . . . . . . . . . . . . . . . . 6.25.5 Low power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.25.6 Master mode pin configuration . . . . . . . . . . . . . . . . . . . . . . . 6.25.7 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.25.8 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.25.9 Pullup resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.26 TWIS — I2C compatible two-wire interface slave with EasyDMA . . . . . . . . . . . . 6.26.1 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.26.2 TWI slave responding to a read command . . . . . . . . . . . . . . . . . . . 6.26.3 TWI slave responding to a write command . . . . . . . . . . . . . . . . . . . 6.26.4 Master repeated start sequence . . . . . . . . . . . . . . . . . . . . . . . 6.26.5 Terminating an ongoing TWI transaction . . . . . . . . . . . . . . . . . . . . 6.26.6 Low power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.26.7 Slave mode pin configuration . . . . . . . . . . . . . . . . . . . . . . . . 6.26.8 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.26.9 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.27 UART — Universal asynchronous receiver/transmitter . . . . . . . . . . . . . . . . 6.27.1 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.27.2 Pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.27.3 Shared resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.27.4 Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.27.5 Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.27.6 Suspending the UART . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.27.7 Error conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4454_140 v1.1 vii 309 309 311 312 322 324 324 324 325 331 331 331 332 332 333 333 334 335 335 343 344 345 345 345 345 346 350 351 352 353 354 355 355 355 366 367 367 370 370 371 372 373 373 373 374 384 384 385 385 385 385 386 387 387 6.27.8 Using the UART without flow control . . . . . . . . . . . . . . . . . . . . . 6.27.9 Parity and stop bit configuration . . . . . . . . . . . . . . . . . . . . . . . 6.27.10 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.27.11 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.28 UARTE — Universal asynchronous receiver/transmitter with EasyDMA . . . . . . . . . 6.28.1 EasyDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.28.2 Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.28.3 Reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.28.4 Error conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.28.5 Using the UARTE without flow control . . . . . . . . . . . . . . . . . . . . 6.28.6 Parity and stop bit configuration . . . . . . . . . . . . . . . . . . . . . . . 6.28.7 Low power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.28.8 Pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.28.9 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.28.10 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.29 WDT — Watchdog timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.29.1 Reload criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.29.2 Temporarily pausing the watchdog . . . . . . . . . . . . . . . . . . . . . . 6.29.3 Watchdog reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.29.4 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.29.5 Electrical specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Hardware and layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Pin assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 QFN48 pin assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.2 QFN32 pin assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.3 WLCSP ball assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.4 GPIO pins located near the radio . . . . . . . . . . . . . . . . . . . . . . . 7.2 Mechanical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.1 QFN48 6 x 6 mm package . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.2 QFN32 5 x 5 mm package . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.3 WLCSP 2.482 x 2.464 mm package . . . . . . . . . . . . . . . . . . . . . . 7.3 Reference circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 Schematic QFAA QFN48 with internal LDO regulator setup . . . . . . . . . . . . . 7.3.2 Schematic QFAA QFN48 with DC/DC regulator setup . . . . . . . . . . . . . . . 7.3.3 Schematic QCAA QFN32 with internal LDO regulator setup . . . . . . . . . . . . . 7.3.4 Schematic QCAA QFN32 with DC/DC regulator setup . . . . . . . . . . . . . . . 7.3.5 Schematic CAAA WLCSP with internal LDO regulator setup . . . . . . . . . . . . . 7.3.6 Schematic CAAA WLCSP with DC/DC regulator setup . . . . . . . . . . . . . . . 7.3.7 Schematic CAAA WLCSP with two layers . . . . . . . . . . . . . . . . . . . . 7.3.8 PCB guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.9 PCB layout example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 9 Recommended operating conditions. 387 387 387 396 396 397 397 398 400 400 400 400 401 401 414 414 415 415 415 415 419 420 420 420 422 424 427 427 427 428 428 429 429 430 431 432 433 434 436 437 438 . . . . . . . . . . . . . . . . . . . 440 8.1 WLCSP light sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Absolute maximum ratings. 10 Ordering information. 10.1 10.2 10.3 10.4 . . . . . . . . . . . . . . . . . . . . . . . . 441 . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Device marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Box labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Order code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Code ranges and values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4454_140 v1.1 viii 442 442 443 444 10.5 Product options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Legal notices. 4454_140 v1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 445 447 1 Revision history Date Version Description December 2021 1.1 The following content has been added or updated: • POWER — Power supply on page 51 - Added Wake from System OFF reset source for the WDT in reference to Erratum-213 • Debug on page 38 - Updated access port protection • UICR - Added NRFMDK registers and updated access port protection • RADIO - Updated conversion formula for PRF and registers DFEPACKET.MAXCNT, DFEGPIO, and EDSAMPLE • Updated minimum valid value for EasyDMA registers MAXCNT and AMOUNT in the following: • • • • • February 2019 4454_140 v1.1 1.0 • SPIM • SPIS • TWIM • TWIS • UARTE TWIM - Updated tTWIM,HD_STA parameters Mechanical specifications on page 427 - Updated WLCSP mechanical specification Absolute maximum ratings on page 441 - Updated flash memory retention to 10 years at 85 °C Ordering information on page 442 - Updated product options and box labels Editorial First release 10 2 About this document This document is organized into chapters that are based on the modules and peripherals available in the IC. 2.1 Document status The document status reflects the level of maturity of the document. Document name Description Objective Product Specification (OPS) Applies to document versions up to 1.0. This document contains target specifications for product development. Product Specification (PS) Applies to document versions 1.0 and higher. This document contains final product specifications. Nordic Semiconductor ASA reserves the right to make changes at any time without notice in order to improve design and supply the best possible product. Table 1: Defined document names 2.2 Peripheral chapters Every peripheral has a unique capitalized name or an abbreviation of its name, e.g. TIMER, used for identification and reference. This name is used in chapter headings and references, and it will appear in the ARM® Cortex® Microcontroller Software Interface Standard (CMSIS) hardware abstraction layer to identify the peripheral. The peripheral instance name, which is different from the peripheral name, is constructed using the peripheral name followed by a numbered postfix, starting with 0, for example, TIMER0. A postfix is normally only used if a peripheral can be instantiated more than once. The peripheral instance name is also used in the CMSIS to identify the peripheral instance. The chapters describing peripherals may include the following information: • A detailed functional description of the peripheral • Register configuration for the peripheral • Electrical specification tables, containing performance data which apply for the operating conditions described in Recommended operating conditions on page 440. 2.3 Register tables Individual registers are described using register tables. These tables are built up of two sections. The first three colored rows describe the position and size of the different fields in the register. The following rows describe the fields in more detail. 4454_140 v1.1 11 About this document 2.3.1 Fields and values The Id (Field Id) row specifies the bits that belong to the different fields in the register. If a field has enumerated values, then every value will be identified with a unique value id in the Value Id column. A blank space means that the field is reserved and read as undefined, and it also must be written as 0 to secure forward compatibility. If a register is divided into more than one field, a unique field name is specified for each field in the Field column. The Value Id may be omitted in the single-bit bit fields when values can be substituted with a Boolean type enumerator range, e.g. true/false, disable(d)/enable(d), on/ off, and so on. Values are usually provided as decimal or hexadecimal. Hexadecimal values have a 0x prefix, decimal values have no prefix. The Value column can be populated in the following ways: • Individual enumerated values, for example 1, 3, 9. • Range of values, e.g. [0..4], indicating all values from and including 0 and 4. • Implicit values. If no values are indicated in the Value column, all bit combinations are supported, or alternatively the field's translation and limitations are described in the text instead. If two or more fields are closely related, the Value Id, Value, and Description may be omitted for all but the first field. Subsequent fields will indicate inheritance with '..'. A feature marked Deprecated should not be used for new designs. 2.3.2 Permissions Different fields in a register might have different access permissions enforced by hardware. The access permission for each register field is documented in the Access column in the following ways: Access Description Hardware behavior RO Read-only Field can only be read. A write will be ignored. WO Write-only Field can only be written. A read will return an undefined value. RW Read-write Field can be read and written multiple times. W1 Write-once Field can only be written once per reset. Any subsequent write will be ignored. A read will return an undefined value. RW1 Read-write-once Field can be read multiple times, but only written once per reset. Any subsequent write will be ignored. Table 2: Register field permission schemes 2.4 Registers Register Offset Description DUMMY 0x514 Example of a register controlling a dummy feature Table 3: Register overview 2.4.1 DUMMY Address offset: 0x514 Example of a register controlling a dummy feature 4454_140 v1.1 12 About this document Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID D D D D Reset 0x00050002 ID Access Field A RW FIELD_A C C C B A A 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Value ID Value Description Example of a read-write field with several enumerated values Disabled 0 The example feature is disabled NormalMode 1 The example feature is enabled in normal mode ExtendedMode 2 The example feature is enabled along with extra functionality B RW FIELD_B C RW FIELD_C D RW FIELD_D Example of a deprecated read-write field Disabled 0 The override feature is disabled Enabled 1 The override feature is enabled Example of a read-write field with a valid range of values ValidRange [2..7] Example of allowed values for this field Example of a read-write field with no restriction on the values 4454_140 v1.1 13 Deprecated Block diagram This block diagram illustrates the overall system. Arrows with white heads indicate signals that share physical pins with other signals. CTRL-AP NVIC slave slave slave CPU ARM CORTEX-M4 slave AHB multilayer AHB-AP nRESET P0 (P0.0 – P0.31) GPIO slave RAM2 slave SW-DP RAM1 slave SWCLK SWDIO RAM0 slave nRF52811 master AHB TO APB BRIDGE FICR UICR Flash SysTick NVMC RNG POWER RTC [0..1] TIMER [0..2] WDT TEMP PPI XC1 XC2 XL1 XL2 CLOCK ANT RADIO ECB master EasyDMA master EasyDMA master mast AAR er EasyDMA CCM EasyDMA master APB0 3 P0 (P0.0 – P0.31) SPIM [0..1] master GPIOTE COMP AIN0 – AIN7 EasyDMA LED A B OUT[0] - OUT[3] master EasyDMA master EasyDMA TWIM master QDEC UARTE PWM EasyDMA CLK DIN master master PDM EasyDMA master Figure 1: Block diagram 14 SCL SDA SCL SDA RTS CTS TXD RXD EasyDMA SPIS [0..1] master 4454_140 v1.1 EasyDMA TWIS SAADC SCK MOSI MISO EasyDMA CSN MISO MOSI SCK 4 Core components 4.1 CPU The ARM® Cortex®-M4 processor has a 32-bit instruction set (Thumb®-2 technology) that implements a superset of 16- and 32-bit instructions to maximize code density and performance. This processor implements several features that enable energy-efficient arithmetic and high-performance signal processing including: • • • • Digital signal processing (DSP) instructions Single-cycle multiply and accumulate (MAC) instructions Hardware divide 8- and 16-bit single instruction multiple data (SIMD) instructions The ARM Cortex Microcontroller Software Interface Standard (CMSIS) hardware abstraction layer for the ARM Cortex processor series is implemented and available for the M4 CPU. Real-time execution is highly deterministic in thread mode, to and from sleep modes, and when handling events at configurable priority levels via the nested vectored interrupt controller (NVIC). Executing code from flash will have a wait state penalty on the nRF52 Series. The section Electrical specification on page 15 shows CPU performance parameters including wait states in different modes, CPU current and efficiency, and processing power and efficiency based on the CoreMark® benchmark. The ARM System Timer (SysTick) is present on the device. The SysTick's clock will only tick when the CPU is running or when the system is in debug interface mode. 4.1.1 Electrical specification 4.1.1.1 CPU performance The CPU clock speed is 64 MHz. Current and efficiency data is taken when in System ON and the CPU is executing the CoreMark® benchmark. It includes power regulator and clock base currents. All other blocks are IDLE. Symbol Description Min. WFLASH CPU wait states, running from flash 0 Typ. Max. Units WRAM CPU wait states, running from RAM CMFLASH CoreMark1, running from flash 144 CoreMark CMFLASH/MHz CoreMark per MHz, running from flash 2.25 CoreMark/ CMFLASH/mA CoreMark per mA, running from flash, DCDC 3V 65 2 0 MHz CoreMark/ mA 4.1.2 CPU and support module configuration The ARM® Cortex®-M4 processor has a number of CPU options and support modules implemented on the device. 1 Using IAR v6.50.1.4452 with flags --endian=little --cpu=Cortex-M4 -e --fpu=VFPv4_sp –Ohs -no_size_constraints 4454_140 v1.1 15 Core components Option / Module Description Implemented NVIC Nested vector interrupt controller 30 vectors PRIORITIES Priority bits 3 WIC Wakeup interrupt controller NO Endianness Memory system endianness Little endian Bit-banding Bit banded memory NO DWT Data watchpoint and trace NO SysTick System tick timer YES MPU Memory protection unit YES FPU Floating-point unit NO DAP Debug access port YES ETM Embedded trace macrocell NO ITM Instrumentation trace macrocell NO TPIU Trace port interface unit NO ETB Embedded trace buffer NO FPB Flash patch and breakpoint unit YES HTM AMBA AHB trace macrocell Core options Modules ® NO 4.2 Memory The nRF52811 contains flash and RAM that can be used for code and data storage. The amount of RAM and flash differs depending on variant, see Memory variants on page 16. Device name RAM Flash nRF52811-QFAA 24 kB 192 kB nRF52811-QCAA 24 kB 192 kB nRF52811-CAAA 24 kB 192 kB Table 4: Memory variants The CPU and peripherals with EasyDMA can access memory via the AHB multilayer interconnect. The CPU is also able to access peripherals via the AHB multilayer interconnect, as illustrated in Memory layout on page 17. 4454_140 v1.1 16 Core components AHB2APB APB CPU System bus EasyDMA ICODE EasyDMA DMA bus Peripheral DMA bus Peripheral DCODE ARM Cortex-M4 Data RAM System Code RAM ICODE/DCODE RAM2 AHB slave Section 1 0x20005000 0x00805000 Section 0 0x20004000 0x00804000 RAM1 AHB slave Section 1 0x20003000 0x00803000 Section 0 0x20002000 0x00802000 RAM0 AHB slave Section 1 0x20001000 0x00801000 Section 0 0x20000000 0x00800000 AHB multilayer interconnect NVMC DCODE AHB slave ICODE AHB AHB slave Page 47 Flash ICODE/DCODE 0x0002F000 Page 3..46 0x00003000 Page 2 Page 1 Page 0 0x00002000 0x00001000 Block 7 0x00000E00 Block 2..6 0x00000400 Block 1 0x00000200 Block 0 0x00000000 Figure 2: Memory layout See AHB multilayer on page 38 and EasyDMA on page 35 for more information about the AHB multilayer interconnect and the EasyDMA. The same physical RAM is mapped to both the Data RAM region and the Code RAM region. It is up to the application to partition the RAM within these regions so that one does not corrupt the other. 4.2.1 RAM - Random access memory The RAM interface is divided into three RAM AHB slaves. RAM AHB slaves 0 to 2 are connected to two 4 kB RAM sections each, as shown in Memory layout on page 17. Each RAM section has separate power control for System ON and System OFF mode operation, which is configured via RAM register (see the POWER — Power supply on page 51). 4.2.2 Flash - Non-volatile memory The flash can be read an unlimited number of times by the CPU, but it has restrictions on the number of times it can be written and erased, and also on how it can be written. Writing to flash is managed by the non-volatile memory controller (NVMC), see NVMC — Non-volatile memory controller on page 19. The flash is divided into multiple 4 kB pages that can be accessed by the CPU via both the ICODE and DCODE buses as shown in, Memory layout on page 17. Each page is divided into 8 blocks. 4.2.3 Memory map The complete memory map is shown in Memory map on page 18. As described in Memory on page 16, Code RAM and Data RAM are the same physical RAM. 4454_140 v1.1 17 Core components Cortex M4 system address map 0xFFFFFFFF 0xE0100000 0xE0000000 Private peripheral bus 0x5FFFFFFF AHB peripherals 0x50000000 APB peripherals 0x1FFFFFFF 0x10002000 0x40000000 UICR 0x10001000 FICR 0x10000000 0x00806000 Code RAM 0x00800000 0x00030000 Peripheral 0.5GB SRAM 0.5GB Code 0.5GB 0x3FFFFFFF 0x20006000 Data RAM Flash 0x20000000 0x00000000 Figure 3: Memory map 4.2.4 Instantiation ID Base address Peripheral Instance Description 0 0x40000000 APPROTECT APPROTECT APPROTECT control 0 0x40000000 BPROT BPROT Block protect 0 0x40000000 CLOCK CLOCK Clock control 0 0x40000000 POWER POWER Power control 0 0x50000000 GPIO P0 General purpose input and output 1 0x40001000 RADIO RADIO 2.4 GHz radio 2 0x40002000 UART UART0 Universal asynchronous receiver/transmitter 2 0x40002000 UARTE UARTE0 Universal asynchronous receiver/transmitter with EasyDMA 3 0x40003000 SPI SPI1 SPI master 1 3 0x40003000 SPIM SPIM1 SPI master 1 3 0x40003000 SPIS SPIS1 SPI slave 1 3 0x40003000 TWI TWI0 Two-wire interface master 3 0x40003000 TWIM TWIM0 Two-wire interface master 3 0x40003000 TWIS TWIS0 Two-wire interface slave 4 0x40004000 SPI SPI0 SPI master 0 4 0x40004000 SPIM SPIM0 SPI master 0 4 0x40004000 SPIS SPIS0 SPI slave 0 6 0x40006000 GPIOTE GPIOTE GPIO tasks and events 7 0x40007000 SAADC SAADC Analog-to-digital converter 8 0x40008000 TIMER TIMER0 Timer 0 9 0x40009000 TIMER TIMER1 Timer 1 10 0x4000A000 TIMER TIMER2 Timer 2 11 0x4000B000 RTC RTC0 Real-time counter 0 12 0x4000C000 TEMP TEMP Temperature sensor 13 0x4000D000 RNG RNG Random number generator 14 0x4000E000 ECB ECB AES Electronic Codebook (ECB) mode block encryption 4454_140 v1.1 18 Deprecated Deprecated Deprecated Deprecated Core components ID Base address Peripheral Instance Description 15 0x4000F000 AAR AAR Accelerated address resolver 15 0x4000F000 CCM CCM AES CCM mode encryption 16 0x40010000 WDT WDT Watchdog timer 17 0x40011000 RTC RTC1 Real-time counter 1 18 0x40012000 QDEC QDEC Quadrature decoder 19 0x40013000 COMP COMP General purpose comparator 20 0x40014000 EGU EGU0 Event generator unit 0 20 0x40014000 SWI SWI0 Software interrupt 0 21 0x40015000 EGU EGU1 Event generator unit 1 21 0x40015000 SWI SWI1 Software interrupt 1 22 0x40016000 SWI SWI2 Software interrupt 2 23 0x40017000 SWI SWI3 Software interrupt 3 24 0x40018000 SWI SWI4 Software interrupt 4 25 0x40019000 SWI SWI5 Software interrupt 5 28 0x4001C000 PWM PWM0 Pulse-width modulation unit 0 29 0x4001D000 PDM PDM Pulse-density modulation (digital microphone interface) 30 0x4001E000 NVMC NVMC Non-volatile memory controller 31 0x4001F000 PPI PPI Programmable peripheral interconnect N/A 0x10000000 FICR FICR Factory information configuration N/A 0x10001000 UICR UICR User information configuration Table 5: Instantiation table 4.3 NVMC — Non-volatile memory controller The non-volatile memory controller (NVMC) is used for writing and erasing of the internal flash memory and the UICR (user information configuration registers). The CONFIG on page 21 is used to enable the NVMC for writing (CONFIG.WEN) and erasing (CONFIG.EEN). The user must make sure that writing and erasing are not enabled at the same time. Having both enabled at the same time may result in unpredictable behavior. The CPU must be halted before initiating a NVMC operation from the debug system. 4.3.1 Writing to flash When writing is enabled, full 32-bit words are written to word-aligned addresses in flash. As illustrated in Memory on page 16, the flash is divided into multiple pages. The same 32-bit word in the flash can only be written nWRITE number of times before a page erase must be performed. The NVMC is only able to write 0 to bits in the flash that are erased (set to 1). It cannot rewrite a bit back to 1. Only full 32-bit words can be written to flash using the NVMC interface. To write less than 32 bits, write the data as a full 32-bit word and set all the bits that should remain unchanged in the word to 1. Note that the restriction on the number of writes (nWRITE) still applies in this case. Only word-aligned writes are allowed. Byte or half-word-aligned writes will result in a hard fault. The time it takes to write a word to flash is specified by tWRITE. The CPU is halted while the NVMC is writing to the flash. 4.3.2 Erasing a page in flash When erase is enabled, the flash memory can be erased page by page using the ERASEPAGE on page 21. 4454_140 v1.1 19 Core components After erasing a flash page, all bits in the page are set to 1. The time it takes to erase a page is specified by tERASEPAGE. The CPU is halted if the CPU executes code from the flash while the NVMC is writing to the flash. See Partial erase of a page in flash on page 20 for information on dividing the page erase time into shorter chunks. 4.3.3 Writing to user information configuration registers (UICR) User information configuration registers (UICR) are written in the same way as flash. After UICR has been written, the new UICR configuration will take effect after a reset. UICR can only be written nWRITE number of times before an erase must be performed using ERASEUICR on page 23 or ERASEALL on page 22. The time it takes to write a word to UICR is specified by tWRITE. The CPU is halted while the NVMC is writing to the UICR. 4.3.4 Erasing user information configuration registers (UICR) When erase is enabled, UICR can be erased using the ERASEUICR on page 23. After erasing UICR all bits in UICR are set to 1. The time it takes to erase UICR is specified by tERASEPAGE. The CPU is halted if the CPU executes code from the flash while the NVMC performs the erase operation. 4.3.5 Erase all When erase is enabled, flash and UICR can be erased completely in one operation by using ERASEALL on page 22. This operation will not erase the factory information configuration registers (FICR). The time it takes to perform an ERASEALL command is specified by tERASEALL. The CPU is halted if the CPU executes code from the flash while the NVMC performs the erase operation. 4.3.6 Partial erase of a page in flash Partial erase is a feature in the NVMC to split a page erase time into shorter chunks, so this can be used to prevent longer CPU stalls in time-critical applications. Partial erase is only applicable to the code area in the flash and does not work with UICR. When erase is enabled, the partial erase of a flash page can be started by writing to ERASEPAGEPARTIAL on page 23. The duration of a partial erase can be configured in ERASEPAGEPARTIALCFG on page 23. A flash page is erased when its erase time reaches tERASEPAGE. Use ERASEPAGEPARTIAL N number of times so that N * ERASEPAGEPARTIALCFG ≥ tERASEPAGE, where N * ERASEPAGEPARTIALCFG gives the cumulative (total) erase time. Every time the cumulative erase time reaches tERASEPAGE, it counts as one erase cycle. After the erase is done, all bits in the page are set to '1'. The CPU is halted if the CPU executes code from the flash while the NVMC performs the partial erase operation. The bits in the page are undefined if the flash page erase is incomplete, i.e. if a partial erase has started but the total erase time is less than tERASEPAGE. 4.3.7 Registers Base address Peripheral Instance Description 0x4001E000 NVMC NVMC Non-volatile memory controller Configuration Table 6: Instances 4454_140 v1.1 20 Core components Register Offset Description READY 0x400 Ready flag CONFIG 0x504 Configuration register ERASEPAGE 0x508 Register for erasing a page in code area ERASEPCR1 0x508 Register for erasing a page in code area. Equivalent to ERASEPAGE. ERASEALL 0x50C Register for erasing all non-volatile user memory ERASEPCR0 0x510 Register for erasing a page in code area. Equivalent to ERASEPAGE. ERASEUICR 0x514 Register for erasing user information configuration registers ERASEPAGEPARTIAL 0x518 Register for partial erase of a page in code area ERASEPAGEPARTIALCFG 0x51C Register for partial erase configuration Deprecated Deprecated Table 7: Register overview 4.3.7.1 READY Address offset: 0x400 Ready flag Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000001 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Value ID Value Description Busy 0 NVMC is busy (ongoing write or erase operation) Ready 1 NVMC is ready READY NVMC is ready or busy 4.3.7.2 CONFIG Address offset: 0x504 Configuration register Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A Reset 0x00000000 ID Access Field A RW WEN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Program memory access mode. It is strongly recommended to activate erase and write modes only when they are actively used. Ren 0 Read only access Wen 1 Write enabled Een 2 Erase enabled 4.3.7.3 ERASEPAGE Address offset: 0x508 Register for erasing a page in code area 4454_140 v1.1 21 Core components Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A RW ERASEPAGE Value ID Value Description Register for starting erase of a page in code area. The value is the address to the page to be erased (addresses of first word in page). Note that the erase must be enabled using CONFIG.WEN before the page can be erased. Attempts to erase pages that are outside the code area may result in undesirable behavior, e.g. the wrong page may be erased. 4.3.7.4 ERASEPCR1 ( Deprecated ) Address offset: 0x508 Register for erasing a page in code area. Equivalent to ERASEPAGE. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A RW ERASEPCR1 Value ID Value Description Register for erasing a page in code area. Equivalent to ERASEPAGE. 4.3.7.5 ERASEALL Address offset: 0x50C Register for erasing all non-volatile user memory Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW ERASEALL 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Erase all non-volatile memory including UICR registers. Note that the erase must be enabled using CONFIG.WEN before the non-volatile memory can be erased. NoOperation 0 No operation Erase 1 Start erase of chip 4.3.7.6 ERASEPCR0 ( Deprecated ) Address offset: 0x510 Register for erasing a page in code area. Equivalent to ERASEPAGE. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 ID Access Field A RW ERASEPCR0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Register for starting erase of a page in code area. Equivalent to ERASEPAGE. 4454_140 v1.1 22 Core components 4.3.7.7 ERASEUICR Address offset: 0x514 Register for erasing user information configuration registers Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW ERASEUICR 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Register starting erase of all user information configuration registers. Note that the erase must be enabled using CONFIG.WEN before the UICR can be erased. NoOperation 0 No operation Erase 1 Start erase of UICR 4.3.7.8 ERASEPAGEPARTIAL Address offset: 0x518 Register for partial erase of a page in code area Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 ID Access Field A RW ERASEPAGEPARTIAL 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Register for starting partial erase of a page in code area The value is the address to the page to be partially erased (address of the first word in page). Note that the erase must be enabled using CONFIG.WEN before every erase page partial and disabled using CONFIG.WEN after every erase page partial. Attempts to erase pages that are outside the code area may result in undesirable behaviour, e.g. the wrong page may be erased. 4.3.7.9 ERASEPAGEPARTIALCFG Address offset: 0x51C Register for partial erase configuration Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A Reset 0x0000000A ID Access Field A RW DURATION 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 Value ID Value Description Duration of the partial erase in milliseconds The user must ensure that the total erase time is long enough for a complete erase of the flash page. 4454_140 v1.1 23 Core components 4.3.8 Electrical specification 4.3.8.1 Flash programming Symbol Description nWRITE Number of times a 32-bit word can be written before erase Min. nENDURANCE Erase cycles per page tWRITE Time to write one 32-bit word tERASEPAGE Time to erase one page tERASEALL Time to erase all flash Typ. Max. Units 2 10000 µs 412 ms 2 85 169 tERASEPAGEPARTIAL,acc Accuracy of the partial page erase duration. Total 2 ms 1.052 execution time for one partial page erase is defined as ERASEPAGEPARTIALCFG * tERASEPAGEPARTIAL,acc. 4.4 FICR — Factory information configuration registers Factory information configuration registers (FICR) are pre-programmed in factory and cannot be erased by the user. These registers contain chip-specific information and configuration. 4.4.1 Registers Base address Peripheral Instance Description Configuration 0x10000000 FICR FICR Factory information configuration Table 8: Instances Register Offset Description CODEPAGESIZE 0x010 Code memory page size CODESIZE 0x014 Code memory size DEVICEID[0] 0x060 Device identifier DEVICEID[1] 0x064 Device identifier ER[0] 0x080 Encryption root, word 0 ER[1] 0x084 Encryption root, word 1 ER[2] 0x088 Encryption root, word 2 ER[3] 0x08C Encryption root, word 3 IR[0] 0x090 Identity root, word 0 IR[1] 0x094 Identity root, word 1 IR[2] 0x098 Identity root, word 2 IR[3] 0x09C Identity root, word 3 DEVICEADDRTYPE 0x0A0 Device address type DEVICEADDR[0] 0x0A4 Device address 0 DEVICEADDR[1] 0x0A8 Device address 1 INFO.PART 0x100 Part code INFO.VARIANT 0x104 Part variant, hardware version and production configuration INFO.PACKAGE 0x108 Package option INFO.RAM 0x10C RAM variant INFO.FLASH 0x110 Flash variant INFO.UNUSED8[0] 0x114 2 Reserved HFXO is used here 4454_140 v1.1 24 Core components Register Offset Description INFO.UNUSED8[1] 0x118 INFO.UNUSED8[2] 0x11C TEMP.A0 0x404 Slope definition A0 TEMP.A1 0x408 Slope definition A1 TEMP.A2 0x40C Slope definition A2 TEMP.A3 0x410 Slope definition A3 TEMP.A4 0x414 Slope definition A4 TEMP.A5 0x418 Slope definition A5 TEMP.B0 0x41C Y-intercept B0 TEMP.B1 0x420 Y-intercept B1 TEMP.B2 0x424 Y-intercept B2 TEMP.B3 0x428 Y-intercept B3 TEMP.B4 0x42C Y-intercept B4 TEMP.B5 0x430 Y-intercept B5 TEMP.T0 0x434 Segment end T0 TEMP.T1 0x438 Segment end T1 TEMP.T2 0x43C Segment end T2 TEMP.T3 0x440 Segment end T3 TEMP.T4 0x444 Segment end T4 Reserved Reserved Table 9: Register overview 4.4.1.1 CODEPAGESIZE Address offset: 0x010 Code memory page size Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00001000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description CODEPAGESIZE Code memory page size 4.4.1.2 CODESIZE Address offset: 0x014 Code memory size Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000030 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 Value ID Value Description CODESIZE Code memory size in number of pages Total code space is: CODEPAGESIZE * CODESIZE 4.4.1.3 DEVICEID[n] (n=0..1) Address offset: 0x060 + (n × 0x4) Device identifier 4454_140 v1.1 25 Core components Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0xFFFFFFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ID Access Field A R Value ID Value Description DEVICEID 64 bit unique device identifier DEVICEID[0] contains the least significant bits of the device identifier. DEVICEID[1] contains the most significant bits of the device identifier. 4.4.1.4 ER[n] (n=0..3) Address offset: 0x080 + (n × 0x4) Encryption root, word n Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description ER Encryption root, word n 4.4.1.5 IR[n] (n=0..3) Address offset: 0x090 + (n × 0x4) Identity root, word n Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0xFFFFFFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ID Access Field A R Value ID Value Description IR Identity root, word n 4.4.1.6 DEVICEADDRTYPE Address offset: 0x0A0 Device address type Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description DEVICEADDRTYPE Device address type Public 0 Public address Random 1 Random address 4.4.1.7 DEVICEADDR[n] (n=0..1) Address offset: 0x0A4 + (n × 0x4) Device address n 4454_140 v1.1 26 Core components Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0xFFFFFFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ID Access Field A R Value ID Value Description DEVICEADDR 48 bit device address DEVICEADDR[0] contains the least significant bits of the device address. DEVICEADDR[1] contains the most significant bits of the device address. Only bits [15:0] of DEVICEADDR[1] are used. 4.4.1.8 INFO.PART Address offset: 0x100 Part code Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00052811 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 Value ID Value Description N52810 0x52810 nRF52810 N52811 0x52811 nRF52811 N52832 0x52832 nRF52832 Unspecified 0xFFFFFFFF Unspecified PART Part code 4.4.1.9 INFO.VARIANT Address offset: 0x104 Part variant, hardware version and production configuration Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0xFFFFFFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ID Access Field A R Value ID Value Description VARIANT Part variant, hardware version and production configuration, encoded as ASCII AAAA 0x41414141 AAAA AAA0 0x41414130 AAA0 AABA 0x41414241 AABA AABB 0x41414242 AABB AAB0 0x41414230 AAB0 AACA 0x41414341 AACA AACB 0x41414342 AACB AAC0 0x41414330 AAC0 Unspecified 0xFFFFFFFF Unspecified 4.4.1.10 INFO.PACKAGE Address offset: 0x108 Package option 4454_140 v1.1 27 Core components Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0xFFFFFFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ID Access Field A R Value ID Value Description QF 0x2000 QFxx - 48-pin QFN QC 0x2003 QCxx - 32-pin QFN CA 0x2004 CAxx - WLCSP Unspecified 0xFFFFFFFF Unspecified PACKAGE Package option 4.4.1.11 INFO.RAM Address offset: 0x10C RAM variant Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000018 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 Value ID Value Description K24 0x18 24 kByte RAM Unspecified 0xFFFFFFFF Unspecified RAM RAM variant 4.4.1.12 INFO.FLASH Address offset: 0x110 Flash variant Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x000000C0 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 Value ID Value Description K192 0xC0 192 kByte flash Unspecified 0xFFFFFFFF Unspecified FLASH Flash variant 4.4.1.13 TEMP.A0 Address offset: 0x404 Slope definition A0 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description A A (slope definition) register 4.4.1.14 TEMP.A1 Address offset: 0x408 Slope definition A1 4454_140 v1.1 28 Core components Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description A A (slope definition) register 4.4.1.15 TEMP.A2 Address offset: 0x40C Slope definition A2 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description A A (slope definition) register 4.4.1.16 TEMP.A3 Address offset: 0x410 Slope definition A3 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description A A (slope definition) register 4.4.1.17 TEMP.A4 Address offset: 0x414 Slope definition A4 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description A A (slope definition) register 4.4.1.18 TEMP.A5 Address offset: 0x418 Slope definition A5 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description A 4454_140 v1.1 A (slope definition) register 29 Core components 4.4.1.19 TEMP.B0 Address offset: 0x41C Y-intercept B0 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description B B (y-intercept) 4.4.1.20 TEMP.B1 Address offset: 0x420 Y-intercept B1 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description B B (y-intercept) 4.4.1.21 TEMP.B2 Address offset: 0x424 Y-intercept B2 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description B B (y-intercept) 4.4.1.22 TEMP.B3 Address offset: 0x428 Y-intercept B3 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description B B (y-intercept) 4.4.1.23 TEMP.B4 Address offset: 0x42C Y-intercept B4 4454_140 v1.1 30 Core components Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description B B (y-intercept) 4.4.1.24 TEMP.B5 Address offset: 0x430 Y-intercept B5 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description B B (y-intercept) 4.4.1.25 TEMP.T0 Address offset: 0x434 Segment end T0 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description T T (segment end) register 4.4.1.26 TEMP.T1 Address offset: 0x438 Segment end T1 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description T T (segment end) register 4.4.1.27 TEMP.T2 Address offset: 0x43C Segment end T2 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description T 4454_140 v1.1 T (segment end) register 31 Core components 4.4.1.28 TEMP.T3 Address offset: 0x440 Segment end T3 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description T T (segment end) register 4.4.1.29 TEMP.T4 Address offset: 0x444 Segment end T4 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0xFFFFFFFF ID Access Field A R 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description T T (segment end) register 4.5 UICR — User information configuration registers The user information configuration registers (UICRs) are non-volatile memory (NVM) registers for configuring user-specific settings. For information on writing UICR registers, see the NVMC — Non-volatile memory controller on page 19 and Memory on page 16 chapters. 4.5.1 Registers Base address Peripheral Instance Description 0x10001000 UICR UICR User information configuration Configuration Table 10: Instances Register Offset UNUSED0 0x000 Reserved UNUSED1 0x004 Reserved UNUSED2 0x008 Reserved UNUSED3 0x010 NRFFW[0] 0x014 Reserved for Nordic firmware design NRFFW[1] 0x018 Reserved for Nordic firmware design NRFFW[2] 0x01C Reserved for Nordic firmware design NRFFW[3] 0x020 Reserved for Nordic firmware design NRFFW[4] 0x024 Reserved for Nordic firmware design NRFFW[5] 0x028 Reserved for Nordic firmware design NRFFW[6] 0x02C Reserved for Nordic firmware design NRFFW[7] 0x030 Reserved for Nordic firmware design 4454_140 v1.1 Description Reserved 32 Core components Register Offset Description NRFFW[8] 0x034 Reserved for Nordic firmware design NRFFW[9] 0x038 Reserved for Nordic firmware design NRFFW[10] 0x03C Reserved for Nordic firmware design NRFFW[11] 0x040 Reserved for Nordic firmware design NRFFW[12] 0x044 Reserved for Nordic firmware design NRFHW[0] 0x050 Reserved for Nordic hardware design NRFHW[1] 0x054 Reserved for Nordic hardware design NRFHW[2] 0x058 Reserved for Nordic hardware design NRFHW[3] 0x05C Reserved for Nordic hardware design NRFHW[4] 0x060 Reserved for Nordic hardware design NRFHW[5] 0x064 Reserved for Nordic hardware design NRFHW[6] 0x068 Reserved for Nordic hardware design NRFHW[7] 0x06C Reserved for Nordic hardware design NRFHW[8] 0x070 Reserved for Nordic hardware design NRFHW[9] 0x074 Reserved for Nordic hardware design NRFHW[10] 0x078 Reserved for Nordic hardware design NRFHW[11] 0x07C Reserved for Nordic hardware design CUSTOMER[0] 0x080 Reserved for customer CUSTOMER[1] 0x084 Reserved for customer CUSTOMER[2] 0x088 Reserved for customer CUSTOMER[3] 0x08C Reserved for customer CUSTOMER[4] 0x090 Reserved for customer CUSTOMER[5] 0x094 Reserved for customer CUSTOMER[6] 0x098 Reserved for customer CUSTOMER[7] 0x09C Reserved for customer CUSTOMER[8] 0x0A0 Reserved for customer CUSTOMER[9] 0x0A4 Reserved for customer CUSTOMER[10] 0x0A8 Reserved for customer CUSTOMER[11] 0x0AC Reserved for customer CUSTOMER[12] 0x0B0 Reserved for customer CUSTOMER[13] 0x0B4 Reserved for customer CUSTOMER[14] 0x0B8 Reserved for customer CUSTOMER[15] 0x0BC Reserved for customer CUSTOMER[16] 0x0C0 Reserved for customer CUSTOMER[17] 0x0C4 Reserved for customer CUSTOMER[18] 0x0C8 Reserved for customer CUSTOMER[19] 0x0CC Reserved for customer CUSTOMER[20] 0x0D0 Reserved for customer CUSTOMER[21] 0x0D4 Reserved for customer CUSTOMER[22] 0x0D8 Reserved for customer CUSTOMER[23] 0x0DC Reserved for customer CUSTOMER[24] 0x0E0 Reserved for customer CUSTOMER[25] 0x0E4 Reserved for customer CUSTOMER[26] 0x0E8 Reserved for customer CUSTOMER[27] 0x0EC Reserved for customer CUSTOMER[28] 0x0F0 Reserved for customer CUSTOMER[29] 0x0F4 Reserved for customer CUSTOMER[30] 0x0F8 Reserved for customer CUSTOMER[31] 0x0FC Reserved for customer NRFMDK[0] 0x100 Reserved for Nordic MDK NRFMDK[1] 0x104 Reserved for Nordic MDK NRFMDK[2] 0x108 Reserved for Nordic MDK NRFMDK[3] 0x10C Reserved for Nordic MDK 4454_140 v1.1 33 Core components Register Offset Description NRFMDK[4] 0x110 Reserved for Nordic MDK NRFMDK[5] 0x114 Reserved for Nordic MDK NRFMDK[6] 0x118 Reserved for Nordic MDK NRFMDK[7] 0x11C Reserved for Nordic MDK PSELRESET[0] 0x200 Mapping of the nRESET function (see POWER chapter for details) PSELRESET[1] 0x204 Mapping of the nRESET function (see POWER chapter for details) APPROTECT 0x208 Access port protection Table 11: Register overview 4.5.1.1 NRFFW[n] (n=0..12) Address offset: 0x014 + (n × 0x4) Reserved for Nordic firmware design Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A RW NRFFW 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description Reserved for Nordic firmware design 4.5.1.2 NRFHW[n] (n=0..11) Address offset: 0x050 + (n × 0x4) Reserved for Nordic hardware design Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A RW NRFHW 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description Reserved for Nordic hardware design 4.5.1.3 CUSTOMER[n] (n=0..31) Address offset: 0x080 + (n × 0x4) Reserved for customer Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0xFFFFFFFF ID Access Field A RW CUSTOMER 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description Reserved for customer 4.5.1.4 NRFMDK[n] (n=0..7) Address offset: 0x100 + (n × 0x4) Reserved for Nordic MDK 4454_140 v1.1 34 Core components Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0xFFFFFFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ID Access Field A RW NRFMDK Value ID Value Description Reserved for Nordic MDK 4.5.1.5 PSELRESET[n] (n=0..1) Address offset: 0x200 + (n × 0x4) Mapping of the nRESET function (see POWER chapter for details) All PSELRESET registers have to contain the same value for a pin mapping to be valid. If values are not the same, there will be no nRESET function exposed on a GPIO. As a result, the device will always start independently of the levels present on any of the GPIOs. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID C Reset 0xFFFFFFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ID Access Field A RW PIN C RW CONNECT Value ID A A A A A Value Description 21 GPIO pin number onto which nRESET is exposed Connection Disconnected 1 Disconnect Connected 0 Connect 4.5.1.6 APPROTECT Address offset: 0x208 Access port protection Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0xFFFFFFFF ID Access Field A RW PALL 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description Enable or disable access port protection. See Debug on page 38 for more information. Disabled 0xFF HwDisabled 0x5A Hardware disable of access port protection for devices where access port protection is controlled by hardware Hardware disable of access port protection for devices where access port protection is controlled by hardware and software Enabled 0x00 Enable 4.6 EasyDMA EasyDMA is a module implemented by some peripherals to gain direct access to Data RAM. EasyDMA is an AHB bus master similar to CPU and is connected to the AHB multilayer interconnect for direct access to Data RAM. EasyDMA is not able to access flash. A peripheral can implement multiple EasyDMA instances to provide dedicated channels. For example, for reading and writing of data between the peripheral and RAM. This concept is illustrated in EasyDMA example on page 36. 4454_140 v1.1 35 Core components AHB multilayer RAM Peripheral READER AHB RAM EasyDMA WRITER RAM AHB Peripheral core EasyDMA Figure 4: EasyDMA example An EasyDMA channel is implemented in the following way, but some variations may occur: READERBUFFER_SIZE 5 WRITERBUFFER_SIZE 6 uint8_t readerBuffer[READERBUFFER_SIZE] __at__ 0x20000000; uint8_t writerBuffer[WRITERBUFFER_SIZE] __at__ 0x20000005; // Configuring the READER channel MYPERIPHERAL->READER.MAXCNT = READERBUFFER_SIZE; MYPERIPHERAL->READER.PTR = &readerBuffer; // Configure the WRITER channel MYPERIPHERAL->WRITER.MAXCNT = WRITEERBUFFER_SIZE; MYPERIPHERAL->WRITER.PTR = &writerBuffer; This example shows a peripheral called MYPERIPHERAL that implements two EasyDMA channels - one for reading called READER, and one for writing called WRITER. When the peripheral is started, it is assumed that the peripheral will: • Read 5 bytes from the readerBuffer located in RAM at address 0x20000000. • Process the data. • Write no more than 6 bytes back to the writerBuffer located in RAM at address 0x20000005. The memory layout of these buffers is illustrated in EasyDMA memory layout on page 36. 0x20000000 readerBuffer[0] readerBuffer[1] readerBuffer[2] readerBuffer[3] 0x20000004 readerBuffer[4] writerBuffer[0] writerBuffer[1] writerBuffer[2] 0x20000008 writerBuffer[3] writerBuffer[4] writerBuffer[5] Figure 5: EasyDMA memory layout The WRITER.MAXCNT register should not be specified larger than the actual size of the buffer (writerBuffer). Otherwise, the channel would overflow the writerBuffer. 4454_140 v1.1 36 Core components Once an EasyDMA transfer is completed, the AMOUNT register can be read by the CPU to see how many bytes were transferred. For example, CPU can read MYPERIPHERAL->WRITER.AMOUNT register to see how many bytes WRITER wrote to RAM. Note: The PTR register of a READER or WRITER must point to a valid memory region before use. The reset value of a PTR register is not guaranteed to point to valid memory. See Memory on page 16 for more information about the different memory regions and EasyDMA connectivity. 4.6.1 EasyDMA error handling Some errors may occur during DMA handling. If READER.PTR or WRITER.PTR is not pointing to a valid memory region, an EasyDMA transfer may result in a HardFault or RAM corruption. See Memory on page 16 for more information about the different memory regions. If several AHB bus masters try to access the same AHB slave at the same time, AHB bus congestion might occur. An EasyDMA channel is an AHB master. Depending on the peripheral, the peripheral may either stall and wait for access to be granted, or lose data. 4.6.2 EasyDMA array list EasyDMA is able to operate in Array List mode. The Array List mode is implemented in channels where the LIST register is available. The array list does not provide a mechanism to explicitly specify where the next item in the list is located. Instead, it assumes that the list is organized as a linear array where items are located one after the other in RAM. The EasyDMA Array List can be implemented by using the data structure ArrayList_type as illustrated in the code example below using a READER EasyDMA channel as an example: #define BUFFER_SIZE 4 typedef struct ArrayList { uint8_t buffer[BUFFER_SIZE]; } ArrayList_type; ArrayList_type ReaderList[3] __at__ 0x20000000; MYPERIPHERAL->READER.MAXCNT = BUFFER_SIZE; MYPERIPHERAL->READER.PTR = &ReaderList; MYPERIPHERAL->READER.LIST = MYPERIPHERAL_READER_LIST_ArrayList; The data structure only includes a buffer with size equal to the size of READER.MAXCNT register. EasyDMA uses the READER.MAXCNT register to determine when the buffer is full. 4454_140 v1.1 37 Core components READER.PTR = &ReaderList 0x20000000 : ReaderList[0] buffer[0] buffer[1] buffer[2] buffer[3] 0x20000004 : ReaderList[1] buffer[0] buffer[1] buffer[2] buffer[3] 0x20000008 : ReaderList[2] buffer[0] buffer[1] buffer[2] buffer[3] Figure 6: EasyDMA array list 4.7 AHB multilayer AHB multilayer enables parallel access paths between multiple masters and slaves in a system. Access is resolved using priorities. Each bus master is connected to the slave devices using an interconnection matrix. The bus masters are assigned priorities. Priorities are used to resolve access when two (or more) bus masters request access to the same slave device. The following applies: • If two (or more) bus masters request access to the same slave device, the master with the highest priority is granted the access first. • Bus masters with lower priority are stalled until the higher priority master has completed its transaction. • If the higher priority master pauses at any point during its transaction, the lower priority master in queue is temporarily granted access to the slave device until the higher priority master resumes its activity. • Bus masters that have the same priority are mutually exclusive, thus cannot be used concurrently. Below is a list of bus masters in the system and their priorities. Bus master name Description CPU SPIM0/SPIS0 Same priority and mutually exclusive RADIO CCM/ECB/AAR Same priority and mutually exclusive SAADC UARTE0 TWIM0/TWIS0 Same priority and mutually exclusive PDM PWM Table 12: AHB bus masters (listed in priority order, highest to lowest) Defined bus masters are the CPU and the peripherals with implemented EasyDMA, and the available slaves are RAM AHB slaves. How the bus masters and slaves are connected using the interconnection matrix is illustrated in Memory on page 16. 4.8 Debug The debug system offers a flexible and powerful mechanism for non-intrusive debugging. 4454_140 v1.1 38 Core components DAP SWDCLK External debugger CTRL-AP SW-DP NVMC Access Port Protection Enable SWDIO DAP bus interconnect & UICR APPROTECT AHB-AP AHB CxxxPWRUPREQ CxxxPWRUPRACK POWER Power RAM & flash CPU ARM Cortex-M4 APB/AHB Peripherals Figure 7: Debug overview The main features of the debug system are the following: • Two-pin serial wire debug (SWD) interface • Flash patch and breakpoint (FPB) unit that supports the following comparators: • Two literal comparators • Six instruction comparators 4.8.1 DAP - Debug access port An external debugger can access the device via the DAP. The debug access port (DAP) implements a standard ARM® CoreSight™ serial wire debug port (SW-DP), which implements the serial wire debug protocol (SWD). SWD is a two-pin serial interface, see SWDCLK and SWDIO in Debug overview on page 39. In addition to the default access port in CPU (AHB-AP), the DAP includes a custom control access port (CTRL-AP). The CTRL-AP is described in more detail in CTRL-AP - Control access port on page 42. Note: • The SWDIO line has an internal pull-up resistor. • The SWDCLK line has an internal pull-down resistor. 4.8.2 Access port protection Access port protection blocks the debugger from read and write access to all CPU registers and memorymapped addresses when enabled. Access port protection is enabled and disabled differently depending on the build code of the device. Access port protection controlled by hardware This information refers to build codes Axx and earlier. By default, access port protection is disabled. Access port protection is enabled by writing UICR.APPROTECT to Enabled and performing any reset. See Reset on page 55 for more information. 4454_140 v1.1 39 Core components Access port protection is disabled by issuing an ERASEALL command via CTRL-AP. This command will erase the flash, UICR, and RAM, including UICR.APPROTECT. Erasing UICR will set UICR.APPROTECT value to Disabled. CTRL-AP is described in more detail in CTRL-AP - Control access port on page 42. Access port protection controlled by hardware and software This information refers to build codes Bxx and later. By default, access port protection is enabled. Access port protection is disabled by issuing an ERASEALL command via CTRL-AP. Read CTRLAP.APPROTECTSTATUS to ensure that access port protection is disabled, and repeat the ERASEALL command if needed. This command will erase the flash, UICR, and RAM. CTRL-AP is described in more detail in CTRL-AP - Control access port on page 42. Access port protection will remain disabled until one of the following occurs: • • • • Pin reset Power or brownout reset Watchdog reset if not in Debug Interface Mode, see Debug Interface mode on page 44 Wake from System OFF if not in Emulated System OFF To keep access port protection disabled, the following actions must be performed: • Program UICR.APPROTECT to HwDisabled. This disables the hardware part of the access port protection scheme after the first reset of any type. The hardware part of the access port protection will stay disabled as long as UICR.APPROTECT is not overwritten. • Firmware must write APPROTECT.DISABLE to SwDisable. This disables the software part of the access port protection scheme. Note: Register APPROTECT.DISABLE is reset after pin reset, power or brownout reset, watchdog reset, or wake from System OFF as mentioned above. The following figure is an example on how a device with access port protection enabled can be erased, programmed, and configured to allow debugging. Operations sent from debugger as well as registers written by firmware will affect the access port state. Debugger n Pi CR = UI CT e d rit TE le W PRO isab AP wD H m ra e og ar Pr mw fir t se re P -A L RL AL CT ASE ER Closed Open Closed Open Access port state Write APPROTECT.DISABLE = SwDisable Firmware Figure 8: Access port unlocking Access port protection is enabled when the disabling conditions are not present. For additional security, it is recommended to write Enabled to UICR.APPROTECT, and have firmware write Force to APPROTECT.FORCEPROTECT. This is illustrated in the following figure. Note: Register APPROTECT.FORCEPROTECT is reset after any reset. 4454_140 v1.1 40 Core components Debugger Pi CR = UI CT e rit TE d W PRO ble a AP En n t se re m ra e og ar Pr mw fir P -A L RL AL C T A SE ER Closed Open Closed Access port state Write APPROTECT.FORCEPROTECT = Force Firmware Figure 9: Force access port protection 4.8.2.1 Registers Base address Peripheral Instance Description 0x40000000 APPROTECT APPROTECT APPROTECT control Configuration Table 13: Instances Register Offset Description FORCEPROTECT 0x550 Software force enable APPROTECT mechanism until next reset. DISABLE 0x558 Software disable APPROTECT mechanism Table 14: Register overview 4.8.2.1.1 FORCEPROTECT Address offset: 0x550 Software force enable APPROTECT mechanism until next reset. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0xFFFFFFFF ID Access Field A RW1 FORCEPROTECT 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value Description Write 0x0 to force enable APPROTECT mechanism Force 0x0 Software force enable APPROTECT mechanism 4.8.2.1.2 DISABLE Address offset: 0x558 Software disable APPROTECT mechanism 4454_140 v1.1 41 Core components Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0x00000000 ID Access Field A RW DISABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value SwDisable 0x5A Description Software disable APPROTECT mechanism Software disable APPROTECT mechanism 4.8.3 CTRL-AP - Control access port The control access port (CTRL-AP) is a custom access port that enables control of the device when other access ports in the DAP are disabled by the access port protection. Access port protection is described in more detail in Access port protection on page 39. Control access port has the following features: • Soft reset - see Reset on page 55 for more information • Disabling of access port protection - device control is allowed through CTRL-AP even when all other access ports in DAP are disabled by access port protection 4.8.3.1 Registers Register Offset Description RESET 0x000 Soft reset triggered through CTRL-AP ERASEALL 0x004 Erase all ERASEALLSTATUS 0x008 Status register for the ERASEALL operation APPROTECTSTATUS 0x00C Status register for access port protection IDR 0x0FC CTRL-AP identification register, IDR Table 15: Register overview 4.8.3.1.1 RESET Address offset: 0x000 Soft reset triggered through CTRL-AP Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW RESET 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Soft reset triggered through CTRL-AP. See Reset behavior in POWER chapter for more details. NoReset 0 Reset is not active Reset 1 Reset is active. Device is held in reset. 4.8.3.1.2 ERASEALL Address offset: 0x004 Erase all 4454_140 v1.1 42 Core components Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NoOperation 0 No operation Erase 1 Erase all flash and RAM ERASEALL Erase all flash and RAM 4.8.3.1.3 ERASEALLSTATUS Address offset: 0x008 Status register for the ERASEALL operation Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Ready 0 ERASEALL is ready Busy 1 ERASEALL is busy (on-going) ERASEALLSTATUS Status register for the ERASEALL operation 4.8.3.1.4 APPROTECTSTATUS Address offset: 0x00C Status register for access port protection Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Enabled 0 Access port protection enabled Disabled 1 Access port protection not enabled APPROTECTSTATUS Status register for access port protection 4.8.3.1.5 IDR Address offset: 0x0FC CTRL-AP identification register, IDR Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID E E E E D D D D C C C C C C C B B B B Reset 0x02880000 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A R APID Value ID Value Description AP identification B R CLASS Access port (AP) class NotDefined 0x0 No defined class MEMAP 0x8 Memory access port C R JEP106ID JEDEC JEP106 identity code D R JEP106CONT JEDEC JEP106 continuation code E R REVISION Revision 4454_140 v1.1 43 A A A A A A A A Core components 4.8.3.2 Electrical specification 4.8.3.2.1 Control access port Symbol Description Rpull Internal SWDIO and SWDCLK pull up/down resistance fSWDCLK SWDCLK frequency Min. Typ. Max. 13 0.125 Units kΩ 8 MHz 4.8.4 Debug Interface mode Before an external debugger can access either CPU's access port (AHB-AP) or the control access port (CTRL-AP), the debugger must first request the device to power up via CxxxPWRUPREQ in the SWJ-DP. If the device is in System OFF when power is requested via CxxxPWRUPREQ, the system will wake up and the DIF flag in RESETREAS on page 60 will be set. The device is in the Debug Interface mode as long as the debugger is requesting power via CxxxPWRUPREQ. Once the debugger stops requesting power via CxxxPWRUPREQ, the device is back in normal mode. Some peripherals behave differently in Debug Interface mode compared to normal mode. These differences are described in more detail in the chapters of the peripherals that are affected. When a debug session is over, the external debugger must make sure to put the device back into normal mode since the overall power consumption is higher in Debug Interface mode than in normal mode. For details on how to use the debug capabilities, read the debug documentation of your IDE. 4.8.5 Real-time debug The nRF52811 supports real-time debugging. Real-time debugging allows interrupts to execute to completion in real time when breakpoints are set in Thread mode or lower priority interrupts. This enables developers to set breakpoints and single-step through the code without the risk of real-time event-driven threads running at higher priority failing. For example, this enables the device to continue to service the high-priority interrupts of an external controller or sensor without failure or loss of state synchronization while the developer steps through code in a low-priority thread. 4454_140 v1.1 44 5 Power and clock management 5.1 Power management unit (PMU) Power and clock management in nRF52811 is designed to automatically ensure maximum power efficiency. The core of the power and clock management system is the power management unit (PMU) illustrated in Power management unit on page 45. MCU CPU External power sources Internal voltage regulators PMU Memory External crystals Internal oscillators Peripheral Figure 10: Power management unit The PMU automatically detects which power and clock resources are required by the different components in the system at any given time. It will then start/stop and choose operation modes in supply regulators and clock sources, without user interaction, to achieve the lowest power consumption possible. 5.2 Current consumption As the system is being constantly tuned by the Power management unit (PMU) on page 45, estimating the current consumption of an application can be challenging if the designer is not able to perform measurements directly on the hardware. To facilitate the estimation process, a set of current consumption scenarios are provided to show the typical current drawn from the VDD supply. Each scenario specifies a set of operations and conditions applying to the given scenario. Current consumption scenarios, common conditions on page 46 shows a set of common conditions used in all scenarios, unless otherwise stated in the description of a given scenario. All scenarios are listed in Electrical specification on page 46. 4454_140 v1.1 45 Power and clock management Condition Value VDD 3V Temperature 25°C CPU WFI (wait for interrupt)/WFE (wait for event) sleep Peripherals All idle Clock Not running Regulator LDO RAM Full 24 kB retention Compiler3 GCC v4.9.3 20150529 (arm-none-eabi-gcc). Compiler flags: -O0 -falign-functions=16 -fno-strictaliasing -mcpu=cortex-m4 -mfloat-abi=soft -msoftfloat -mthumb. 32 MHz crystal4 SMD 2520, 32 MHz, 10 pF +/- 10 ppm Table 16: Current consumption scenarios, common conditions 5.2.1 Electrical specification 5.2.1.1 CPU running Symbol Description ICPU0 CPU running CoreMark @64 MHz from flash, Clock = HFXO, Min. Typ. Max. Units 2.2 mA Regulator = DCDC ICPU1 CPU running CoreMark @64 MHz from flash, Clock = HFXO 4.2 mA ICPU2 CPU running CoreMark @64 MHz from RAM, Clock = HFXO, 2.1 mA Regulator = DCDC ICPU3 CPU running CoreMark @64 MHz from RAM, Clock = HFXO 4 mA ICPU4 CPU running CoreMark @64 MHz from flash, Clock = HFINT, 2 mA Regulator = DCDC 3 4 Applying only when CPU is running Applying only when HFXO is running 4454_140 v1.1 46 Power and clock management 5.2.1.2 Radio transmitting/receiving Symbol Description IRADIO_TX0 Radio transmitting @ 4 dBm output power, 1 Mbps Min. Typ. Max. Units 8 mA 5.8 mA 3.4 mA 6.1 mA 10.5 mA 5.1 mA 10.8 mA Bluetooth low energy mode, Clock = HFXO, Regulator = DCDC IRADIO_TX1 Radio transmitting @ 0 dBm output power, 1 Mbps Bluetooth low energy mode, Clock = HFXO, Regulator = DCDC IRADIO_TX2 Radio transmitting @ -40 dBm output power, 1 Mbps Bluetooth low energy mode, Clock = HFXO, Regulator = DCDC IRADIO_RX0 Radio receiving @ 1 Mbps Bluetooth low energy mode, Clock = HFXO, Regulator = DCDC IRADIO_TX3 Radio transmitting @ 0 dBm output power, 1 Mbps Bluetooth low energy mode, Clock = HFXO IRADIO_TX4 Radio transmitting @ -40 dBm output power, 1 Mbps Bluetooth low energy mode, Clock = HFXO IRADIO_RX1 Radio receiving @ 1 Mbps Bluetooth low energy mode, Clock = HFXO 15 14 Current consumption [mA] 13 12 11 10 9 8 7 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4 Supply voltage [V] -40 ºC 25 ºC 85 ºC Figure 11: Radio transmitting @ 4 dBm output power, 1 Mbps Bluetooth low energy mode, Clock = HFXO, Regulator = DCDC (typical values) 4454_140 v1.1 47 3.6 Power and clock management 10 9.5 9 Current consumption [mA] 8.5 8 7.5 7 6.5 6 5.5 5 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 Supply voltage [V] -40 ºC 25 ºC 85 ºC Figure 12: Radio transmitting @ 0 dBm output power, 1 Mbps Bluetooth low energy mode, Clock = HFXO, Regulator = DCDC (typical values) 5.2.1.3 Sleep Symbol Description ION_RAMOFF_EVENT System ON, No RAM retention, Wake on any event Min. Typ. 0.6 Max. Units µA ION_RAMON_EVENT System ON, Full 24 kB RAM retention, Wake on any event 0.8 µA ION_RAMON_POF System ON, Full 24 kB RAM retention, Wake on any event, 0.8 µA 3.3 µA 0.8 µA 1.5 µA 1.4 µA 1.1 µA 1.0 µA Power fail comparator enabled ION_RAMON_GPIOTE System ON, Full 24 kB RAM retention, Wake on GPIOTE input (Event mode) ION_RAMON_GPIOTEPORTSystem ON, Full 24 kB RAM retention, Wake on GPIOTE PORT event ION_RAMON_RTC System ON, Full 24 kB RAM retention, Wake on RTC (running from LFRC clock) ION_RAMOFF_RTC System ON, No RAM retention, Wake on RTC (running from LFRC clock) ION_RAMON_RTC_LFXO System ON, Full 24 kB RAM retention, Wake on RTC (running from LFXO clock) ION_RAMOFF_RTC_LFXO System ON, No RAM retention, Wake on RTC (running from LFXO clock) IOFF_RAMOFF_RESET System OFF, No RAM retention, Wake on reset 0.3 µA IOFF_RAMON_RESET System OFF, Full 24 kB RAM retention, Wake on reset 0.5 µA 4454_140 v1.1 48 Power and clock management 2.5 Current consumption [µA] 2 1.5 1 0.5 0 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 Supply voltage [V] -40 ºC 25 ºC 85 ºC Figure 13: System OFF, No RAM retention, Wake on reset (typical values) 16 14 Current consumption [µA] 12 10 8 6 4 2 0 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 Supply voltage [V] -40 ºC 25 ºC 85 ºC Figure 14: System ON, Full 24 kB RAM retention, Wake on any event (typical values) 4454_140 v1.1 49 Power and clock management 5.2.1.4 Compounded Symbol Description IS0 CPU running CoreMark from flash, Radio transmitting @ 0 Min. Typ. Max. Units 7.4 mA 7.6 mA 13.8 mA 14.2 mA dBm output power, 1 Mbps Bluetooth low energy mode, Clock = HFXO, Regulator = DCDC IS1 CPU running CoreMark from flash, Radio receiving @ 1 Mbps Bluetooth low energy mode, Clock = HFXO, Regulator = DCDC IS2 CPU running CoreMark from flash, Radio transmitting @ 0 dBm output power, 1 Mbps Bluetooth low energy mode, Clock = HFXO IS3 CPU running CoreMark from flash, Radio receiving @ 1 Mbps Bluetooth low energy mode, Clock = HFXO 5.2.1.5 TIMER running Symbol Description ITIMER0 One TIMER instance running @ 1 MHz, Clock = HFINT Min. Typ. 432 Max. Units µA ITIMER1 Two TIMER instances running @ 1 MHz, Clock = HFINT 432 µA ITIMER2 One TIMER instance running @ 1 MHz, Clock = HFXO 730 µA ITIMER3 One TIMER instance running @ 16 MHz, Clock = HFINT 495 µA ITIMER4 One TIMER instance running @ 16 MHz, Clock = HFXO 792 µA 5.2.1.6 RNG active Symbol Description IRNG0 RNG running Min. Typ. Max. 539 Units µA 5.2.1.7 TEMP active Symbol Description ITEMP0 TEMP started Min. Typ. Max. 998 Units µA 5.2.1.8 SAADC active Symbol Description ISAADC,RUN SAADC sampling @ 16 ksps, Acquisition time = 20 µs, Clock = Min. Typ. Max. 1.1 Units mA HFXO, Regulator = DCDC 5.2.1.9 COMP active Symbol Description ICOMP,LP COMP enabled, low power mode 17.2 µA ICOMP,NORM COMP enabled, normal mode 21 µA ICOMP,HS COMP enabled, high-speed mode 28.7 µA 4454_140 v1.1 Min. 50 Typ. Max. Units Power and clock management 5.2.1.10 WDT active Symbol Description IWDT,STARTED WDT started Min. Typ. Max. 1.3 Units µA 5.3 POWER — Power supply This device has the following power supply features: • • • • • • On-chip LDO and DC/DC regulators Global System ON/OFF modes with individual RAM section power control Analog or digital pin wakeup from System OFF Supervisor HW to manage power on reset, brownout, and power fail Auto-controlled refresh modes for LDO and DC/DC regulators to maximize efficiency Automatic switching between LDO and DC/DC regulator based on load to maximize efficiency Note: Two additional external passive components are required to use the DC/DC regulator. 5.3.1 Regulators The following internal power regulator alternatives are supported: • Internal LDO regulator • Internal DC/DC regulator The LDO is the default regulator. The DC/DC regulator can be used as an alternative to the LDO regulator and is enabled through the DCDCEN on page 62 register. Using the DC/DC regulator will reduce current consumption compared to when using the LDO regulator, but the DC/DC regulator requires an external LC filter to be connected, as shown in DC/DC regulator setup on page 52. POWER DCDCEN REG Supply LDO 1.3V System power VDD DC/DC DCC DEC4 Figure 15: LDO regulator setup 4454_140 v1.1 51 GND Power and clock management POWER DCDCEN REG Supply LDO 1.3V System power VDD DC/DC DCC DEC4 GND Figure 16: DC/DC regulator setup 5.3.2 System OFF mode System OFF is the deepest power saving mode the system can enter. In this mode, the system’s core functionality is powered down and all ongoing tasks are terminated. The device can be put into System OFF mode using the register SYSTEMOFF on page 60. When in System OFF mode, the device can be woken up through one of the following signals: • The DETECT signal, optionally generated by the GPIO peripheral • A reset When the system wakes up from System OFF mode, it gets reset. For more details, see Reset behavior on page 56. One or more RAM sections can be retained in System OFF mode, depending on the settings in the RAM[n].POWER registers. RAM[n].POWER are retained registers, see Reset behavior. These registers are usually overwritten by the startup code provided with the nRF application examples. Before entering System OFF mode, the user must make sure that all on-going EasyDMA transactions have been completed. This is usually accomplished by making sure that the EasyDMA enabled peripheral is not active when entering System OFF. 5.3.2.1 Emulated System OFF mode If the device is in debug interface mode, System OFF will be emulated to secure that all required resources needed for debugging are available during System OFF. See Debug on page 38 for more information. Required resources needed for debugging include the following key components: • • • • • • Debug on page 38 CLOCK — Clock control on page 64 POWER — Power supply on page 51 NVMC — Non-volatile memory controller on page 19 CPU Flash 4454_140 v1.1 52 Power and clock management • RAM Since the CPU is kept on in an emulated System OFF mode, it is recommended to add an infinite loop directly after entering System OFF, to prevent the CPU from executing code that normally should not be executed. 5.3.3 System ON mode System ON is the default state after power-on reset. In System ON, all functional blocks such as the CPU or peripherals can be in IDLE or RUN mode, depending on the configuration set by the software and the state of the application executing. Register RESETREAS on page 60 provides information about the source causing the wakeup or reset. The system can switch the appropriate internal power sources on and off, depending on how much power is needed at any given time. The power requirement of a peripheral is directly related to its activity level, and the activity level of a peripheral is usually raised and lowered when specific tasks are triggered or events are generated. 5.3.3.1 Sub power modes In System ON mode, when both the CPU and all the peripherals are in IDLE mode, the system can reside in one of the two sub power modes. The sub power modes are: • Constant Latency • Low-power In Constant Latency mode, the CPU wakeup latency and the PPI task response are constant and kept at a minimum. This is secured by forcing a set of basic resources to be turned on while in sleep. Having a constant and predictable latency is at the cost of having increased power consumption. The Constant Latency mode is selected by triggering the CONSTLAT task. In Low-power mode, the automatic power management system described in System ON mode on page 53 ensures that the most efficient supply option is chosen to save most power. Having the lowest power possible is at the cost of having a varying CPU wakeup latency and PPI task response. The Lowpower mode is selected by triggering the LOWPWR task. When the system enters System ON mode, it is by default in Low-power sub power mode. 5.3.4 Power supply supervisor The power supply supervisor initializes the system at power-on and provides an early warning of impending power failure. In addition, the power supply supervisor puts the system in a reset state if the supply voltage is too low for safe operation (brownout). The power supply supervisor is illustrated in Power supply supervisor on page 54. 4454_140 v1.1 53 Power and clock management VDD C Power on reset R VBOR POFCON Brownout reset 1.7V ........... MUX POFWARN Vpof 2.8V Figure 17: Power supply supervisor 5.3.4.1 Power-fail comparator The power-fail comparator (POF) can provide the CPU with an early warning of impending power failure. It will not reset the system, but give the CPU time to prepare for an orderly power-down. The comparator features a hysteresis of VHYST, as illustrated in Power-fail comparator (BOR = Brownout reset) on page 54. The threshold VPOF is set in register POFCON on page 61. If the POF is enabled and the supply voltage falls below VPOF, the POFWARN event will be generated. This event will also be generated if the supply voltage is already below VPOF at the time the POF is enabled, or if VPOF is reconfigured to a level above the supply voltage. If power-fail warning is enabled and the supply voltage is below VPOF the power-fail comparator will prevent the NVMC from performing write operations to the NVM. See NVMC — Non-volatile memory controller on page 19 for more information about the NVMC. VDD VPOF+VHYST VPOF 1.7V POFWARN POFWARN MCU t BOR Figure 18: Power-fail comparator (BOR = Brownout reset) To save power, the power-fail comparator is not active in System OFF or in System ON when HFCLK is not running. 4454_140 v1.1 54 Power and clock management 5.3.5 RAM power control The RAM power control registers are used for configuring the following: • The RAM sections to be retained during System OFF • The RAM sections to be retained and accessible during System ON In System OFF, retention of a RAM section is configured in the RETENTION field of the corresponding RAM[n] register. In System ON, retention and accessibility for a RAM section is configured in the RETENTION and POWER fields of the corresponding RAM[n] register. The following table summarizes the behavior of these registers. Configuration RAM section status System on/off RAM[n].POWER.POWER RAM[n].POWER.RETENTION Accessible Retained Off x Off No No Off x On No Yes On Off Off No No On Off1 On No Yes On On x Yes Yes Table 17: RAM section configuration The advantage of not retaining RAM contents is that the overall current consumption is reduced. See chapter Memory on page 16 for more information on RAM sections. 5.3.6 Reset There are multiple sources that may trigger a reset. After a reset has occurred, register RESETREAS can be read to determine which source generated the reset. 5.3.6.1 Power-on reset The power-on reset generator initializes the system at power-on. The system is held in reset state until the supply has reached the minimum operating voltage and the internal voltage regulators have started. A step increase in supply voltage of 300 mV or more, with rise time of 300 ms or less, within the valid supply range, may result in a system reset. 5.3.6.2 Pin reset A pin reset is generated when the physical reset pin on the device is asserted. Pin reset is configured via the PSELRESET[n] registers. Note: Pin reset is not available on all pins. 5.3.6.3 Wakeup from System OFF mode reset The device is reset when it wakes up from System OFF mode. 1 Not useful setting. RAM section power off gives negligible reduction in current consumption when retention is on. 4454_140 v1.1 55 Power and clock management The debug access port (DAP) is not reset following a wake up from System OFF mode if the device is in Debug Interface mode. See chapter Debug on page 38 for more information. 5.3.6.4 Soft reset A soft reset is generated when the SYSRESETREQ bit of the Application Interrupt and Reset Control Register (AIRCR register) in the ARM® core is set. Refer to ARM documentation for more details. A soft reset can also be generated via the RESET on page 42 register in the CTRL-AP. 5.3.6.5 Watchdog reset A Watchdog reset is generated when the watchdog times out. See chapter WDT — Watchdog timer on page 414 for more information. 5.3.6.6 Brown-out reset The brown-out reset generator puts the system in reset state if the supply voltage drops below the brownout reset (BOR) threshold. Refer to section Power fail comparator on page 64 for more information. 5.3.7 Retained registers A retained register is a register that will retain its value in System OFF mode and through a reset, depending on reset source. See individual peripheral chapters for information of which registers are retained for the various peripherals. 5.3.8 Reset behavior Reset source Reset target CPU Peripherals GPIO Debuga SWJ-DP RAM WDT Retained RESETREAS registers CPU lockup 5 x x x Soft reset x x x Wakeup from System OFF x x Watchdog reset 8 x x Pin reset x Brownout reset x Power on reset x x6 x7 x x x x x x x x x x x x x x x x x x x x x x x x x x x x mode reset Note: The RAM is never reset, but depending on reset source, RAM content may be corrupted. a 5 6 7 8 All debug components excluding SWJ-DP. See Debug on page 38 for more information about the different debug components in the system. Reset from CPU lockup is disabled if the device is in debug interface mode. CPU lockup is not possible in System OFF. The Debug components will not be reset if the device is in debug interface mode. RAM is not reset on wakeup from System OFF mode, but depending on settings in the RAM registers, parts, or the whole RAM may not be retained after the device has entered System OFF mode. Watchdog reset is not available in System OFF. 4454_140 v1.1 56 Power and clock management 5.3.9 Registers Base address Peripheral Instance Description Configuration 0x40000000 POWER POWER Power control For 24 kB RAM variant, only RAM[0].x to RAM[2].x registers are in use. Table 18: Instances Register Offset Description TASKS_CONSTLAT 0x078 Enable Constant Latency mode TASKS_LOWPWR 0x07C Enable Low-power mode (variable latency) EVENTS_POFWARN 0x108 Power failure warning EVENTS_SLEEPENTER 0x114 CPU entered WFI/WFE sleep EVENTS_SLEEPEXIT 0x118 CPU exited WFI/WFE sleep INTENSET 0x304 Enable interrupt INTENCLR 0x308 Disable interrupt RESETREAS 0x400 Reset reason SYSTEMOFF 0x500 System OFF register POFCON 0x510 Power failure comparator configuration GPREGRET 0x51C General purpose retention register GPREGRET2 0x520 General purpose retention register DCDCEN 0x578 DC/DC enable register RAM[0].POWER 0x900 RAM0 power control register. The RAM size will vary depending on product variant, and the RAM0 register will only be present if the corresponding RAM AHB slave is present on the device. RAM[0].POWERSET 0x904 RAM0 power control set register RAM[0].POWERCLR 0x908 RAM0 power control clear register RAM[1].POWER 0x910 RAM1 power control register. The RAM size will vary depending on product variant, and the RAM1 register will only be present if the corresponding RAM AHB slave is present on the device. RAM[1].POWERSET 0x914 RAM1 power control set register RAM[1].POWERCLR 0x918 RAM1 power control clear register RAM[2].POWER 0x920 RAM2 power control register. The RAM size will vary depending on product variant, and the RAM2 register will only be present if the corresponding RAM AHB slave is present on the device. RAM[2].POWERSET 0x924 RAM2 power control set register RAM[2].POWERCLR 0x928 RAM2 power control clear register RAM[3].POWER 0x930 RAM3 power control register. The RAM size will vary depending on product variant, and the RAM3 register will only be present if the corresponding RAM AHB slave is present on the device. RAM[3].POWERSET 0x934 RAM3 power control set register RAM[3].POWERCLR 0x938 RAM3 power control clear register RAM[4].POWER 0x940 RAM4 power control register. The RAM size will vary depending on product variant, and the RAM4 register will only be present if the corresponding RAM AHB slave is present on the device. RAM[4].POWERSET 0x944 RAM4 power control set register RAM[4].POWERCLR 0x948 RAM4 power control clear register RAM[5].POWER 0x950 RAM5 power control register. The RAM size will vary depending on product variant, and the RAM5 register will only be present if the corresponding RAM AHB slave is present on the device. RAM[5].POWERSET 0x954 RAM5 power control set register RAM[5].POWERCLR 0x958 RAM5 power control clear register 4454_140 v1.1 57 Power and clock management Register Offset Description RAM[6].POWER 0x960 RAM6 power control register. The RAM size will vary depending on product variant, and the RAM6 register will only be present if the corresponding RAM AHB slave is present on the device. RAM[6].POWERSET 0x964 RAM6 power control set register RAM[6].POWERCLR 0x968 RAM6 power control clear register RAM[7].POWER 0x970 RAM7 power control register. The RAM size will vary depending on product variant, and the RAM7 register will only be present if the corresponding RAM AHB slave is present on the device. RAM[7].POWERSET 0x974 RAM7 power control set register RAM[7].POWERCLR 0x978 RAM7 power control clear register Table 19: Register overview 5.3.9.1 TASKS_CONSTLAT Address offset: 0x078 Enable Constant Latency mode Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_CONSTLAT Enable Constant Latency mode Trigger task 5.3.9.2 TASKS_LOWPWR Address offset: 0x07C Enable Low-power mode (variable latency) Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_LOWPWR Enable Low-power mode (variable latency) Trigger task 5.3.9.3 EVENTS_POFWARN Address offset: 0x108 Power failure warning Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_POFWARN 4454_140 v1.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Power failure warning NotGenerated 0 Event not generated Generated 1 Event generated 58 Power and clock management 5.3.9.4 EVENTS_SLEEPENTER Address offset: 0x114 CPU entered WFI/WFE sleep Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_SLEEPENTER 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated CPU entered WFI/WFE sleep 5.3.9.5 EVENTS_SLEEPEXIT Address offset: 0x118 CPU exited WFI/WFE sleep Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_SLEEPEXIT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated CPU exited WFI/WFE sleep 5.3.9.6 INTENSET Address offset: 0x304 Enable interrupt Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID C B Reset 0x00000000 ID Access Field A RW POFWARN B C Value ID Value Description Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Write '1' to enable interrupt for event POFWARN RW SLEEPENTER Write '1' to enable interrupt for event SLEEPENTER RW SLEEPEXIT Write '1' to enable interrupt for event SLEEPEXIT 5.3.9.7 INTENCLR Address offset: 0x308 Disable interrupt 4454_140 v1.1 A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 59 Power and clock management Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID C B Reset 0x00000000 ID Access Field A RW POFWARN B C A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Write '1' to disable interrupt for event POFWARN RW SLEEPENTER Write '1' to disable interrupt for event SLEEPENTER RW SLEEPEXIT Write '1' to disable interrupt for event SLEEPEXIT 5.3.9.8 RESETREAS Address offset: 0x400 Reset reason Unless cleared, the RESETREAS register will be cumulative. A field is cleared by writing '1' to it. If none of the reset sources are flagged, this indicates that the chip was reset from the on-chip reset generator, which will indicate a power-on-reset or a brownout reset. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID F Reset 0x00000000 ID Access Field A RW RESETPIN B C D E E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotDetected 0 Not detected Detected 1 Detected Reset from pin-reset detected RW DOG Reset from watchdog detected NotDetected 0 Not detected Detected 1 Detected NotDetected 0 Not detected Detected 1 Detected NotDetected 0 Not detected Detected 1 Detected RW SREQ Reset from soft reset detected RW LOCKUP Reset from CPU lock-up detected RW OFF Reset due to wake up from System OFF mode when wakeup is triggered from DETECT signal from GPIO F NotDetected 0 Not detected Detected 1 Detected RW DIF Reset due to wake up from System OFF mode when wakeup is triggered from entering into debug interface mode NotDetected 0 Not detected Detected 1 Detected 5.3.9.9 SYSTEMOFF Address offset: 0x500 4454_140 v1.1 D C B A 60 Power and clock management System OFF register Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description SYSTEMOFF Enable System OFF mode Enter 1 Enable System OFF mode 5.3.9.10 POFCON Address offset: 0x510 Power failure comparator configuration Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID B B B B A Reset 0x00000000 ID Access Field A RW POF B 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Disabled 0 Disable Enabled 1 Enable V17 4 Set threshold to 1.7 V V18 5 Set threshold to 1.8 V V19 6 Set threshold to 1.9 V V20 7 Set threshold to 2.0 V V21 8 Set threshold to 2.1 V V22 9 Set threshold to 2.2 V V23 10 Set threshold to 2.3 V V24 11 Set threshold to 2.4 V V25 12 Set threshold to 2.5 V V26 13 Set threshold to 2.6 V V27 14 Set threshold to 2.7 V V28 15 Set threshold to 2.8 V Enable or disable power failure comparator RW THRESHOLD Power failure comparator threshold setting 5.3.9.11 GPREGRET Address offset: 0x51C General purpose retention register Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0x00000000 ID Access Field A RW GPREGRET 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description General purpose retention register This register is a retained register 5.3.9.12 GPREGRET2 Address offset: 0x520 General purpose retention register 4454_140 v1.1 61 Power and clock management Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0x00000000 ID Access Field A RW GPREGRET 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description General purpose retention register This register is a retained register 5.3.9.13 DCDCEN Address offset: 0x578 DC/DC enable register Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW DCDCEN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Disabled 0 Disable Enabled 1 Enable Enable or disable DC/DC converter 5.3.9.14 RAM[n].POWER (n=0..7) Address offset: 0x900 + (n × 0x10) RAMn power control register. The RAM size will vary depending on product variant, and the RAMn register will only be present if the corresponding RAM AHB slave is present on the device. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID D C Reset 0x0000FFFF ID Access Field A-B RW S[i]POWER (i=0..1) Value ID Value Description Keep RAM section Si ON or OFF in System ON mode. RAM sections are always retained when ON, but can also be retained when OFF dependent on the settings in SiRETENTION. All RAM sections will be OFF in System OFF mode. C-D Off 0 Off On 1 On RW S[i]RETENTION (i=0..1) Keep retention on RAM section Si when RAM section is in OFF Off 0 Off On 1 On 5.3.9.15 RAM[n].POWERSET (n=0..7) Address offset: 0x904 + (n × 0x10) RAMn power control set register When read, this register will return the value of the POWER register. 4454_140 v1.1 B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 62 Power and clock management Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID D C Reset 0x0000FFFF ID Access Field A-B W C-D W B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Value ID Value On 1 Description S[i]POWER (i=0..1) Keep RAM section Si of RAMn on or off in System ON mode On S[i]RETENTION (i=0..1) Keep retention on RAM section Si when RAM section is switched off On 1 On 5.3.9.16 RAM[n].POWERCLR (n=0..7) Address offset: 0x908 + (n × 0x10) RAMn power control clear register When read, this register will return the value of the POWER register. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID D C Reset 0x0000FFFF B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ID Access Field Value ID A-B W S[i]POWER (i=0..1) C-D W S[i]RETENTION (i=0..1) Value Description Keep RAM section Si of RAMn on or off in System ON mode Off 1 Off Keep retention on RAM section Si when RAM section is switched off Off 1 Off 5.3.10 Electrical specification 5.3.10.1 Device startup times Symbol Description tPOR Time in Power on Reset after VDD reaches 1.7 V for all Min. Typ. Max. Units supply voltages and temperatures. Dependent on supply rise time. 9 tPOR,10us VDD rise time 10 µs 1 ms tPOR,10ms VDD rise time 10 ms 9 ms tPOR,60ms VDD rise time 60 ms 23 ms tPINR If a GPIO pin is configured as reset, the maximum time taken to pull up the pin and release reset after power on reset. Dependent on the pin capacitive load (C)10: t=5RC, R = 13 kΩ tPINR,500nF C = 500 nF 32.5 ms tPINR,10uF C = 10 µF 650 ms tR2ON Time from reset to ON (CPU execute) tR2ON,NOTCONF If reset pin not configured tPOR ms tR2ON,CONF If reset pin configured tPOR + ms tPINR tOFF2ON 9 10 Time from OFF to CPU execute 16.5 µs A step increase in supply voltage of 300 mV or more, with rise time of 300 ms or less, within the valid supply range, may result in a system reset. To decrease maximum time a device could hold in reset, a strong external pullup resistor can be used. 4454_140 v1.1 63 Power and clock management Symbol Description Min. Typ. Max. Units tIDLE2CPU Time from IDLE to CPU execute 3.0 µs tEVTSET,CL1 Time from HW event to PPI event in Constant Latency 0.0625 µs 0.0625 µs System ON mode tEVTSET,CL0 Time from HW event to PPI event in Low Power System ON mode 5.3.10.2 Power fail comparator Symbol Description Min. VPOF Nominal power level warning thresholds (falling supply 1.7 Typ. Max. Units 2.8 V ±5 % voltage). Levels are configurable between Min. and Max. in 100 mV increments. VPOFTOL Threshold voltage tolerance ±1 VPOFHYST Threshold voltage hysteresis 50 VBOR,OFF Brown out reset voltage range SYSTEM OFF mode 1.2 1.7 V VBOR,ON Brown out reset voltage range SYSTEM ON mode 1.48 1.7 V mV 5.4 CLOCK — Clock control The clock control system can source the system clocks from a range of internal or external high and low frequency oscillators and distribute them to modules based upon a module’s individual requirements. Clock distribution is automated and grouped independently by module to limit current consumption in unused branches of the clock tree. Listed here are the main features for CLOCK: • • • • • • • 64 MHz on-chip oscillator 64 MHz crystal oscillator, using external 32 MHz crystal 32.768 kHz +/-500 ppm RC oscillator 32.768 kHz crystal oscillator, using external 32.768 kHz crystal 32.768 kHz oscillator synthesized from 64 MHz oscillator Firmware (FW) override control of oscillator activity for low latency start up Automatic oscillator and clock control, and distribution for ultra-low power 4454_140 v1.1 64 Power and clock management HFCLKSTART HFCLKSTOP LFCLKSTART LFCLKSTOP CLOCK HFINT Internal oscillator PCLK1M PCLK16M XC1 PCLK32M HFCLK Clock control HFXO Crystal oscillator 32 MHz HCLK64M XC2 LFRC RC oscillator CAL SYNT XL1 LFXO Crystal oscillator 32.768 kHz LFCLK Clock control PCLK32KI XL2 HFCLKSTARTED LFCLKSTARTED Figure 19: Clock control 5.4.1 HFCLK clock controller The HFCLK clock controller provides the following clocks to the system. • • • • HCLK64M: 64 MHz CPU clock PCLK1M: 1 MHz peripheral clock PCLK16M: 16 MHz peripheral clock PCLK32M: 32 MHz peripheral clock The HFCLK controller supports the following high frequency clock (HFCLK) sources: • 64 MHz internal oscillator (HFINT) • 64 MHz crystal oscillator (HFXO) For illustration, see Clock control on page 65. When the system requests one or more clocks from the HFCLK controller, the HFCLK controller will automatically provide them. If the system does not request any clocks provided by the HFCLK controller, the controller will enter a power saving mode. These clocks are only available when the system is in ON mode. When the system enters ON mode, the internal oscillator (HFINT) clock source will automatically start to be able to provide the required HFCLK clock(s) for the system. The HFINT will be used when HFCLK is requested and HFXO has not been started. The HFXO is started by triggering the HFCLKSTART task and stopped using the HFCLKSTOP task. A HFCLKSTARTED event will be generated when the HFXO has started and its frequency is stable. The HFXO must be running to use the RADIO or the calibration mechanism associated with the 32.768 kHz RC oscillator. 5.4.1.1 64 MHz crystal oscillator (HFXO) The 64 MHz crystal oscillator (HFXO) is controlled by a 32 MHz external crystal 4454_140 v1.1 65 Power and clock management The crystal oscillator is designed for use with an AT-cut quartz crystal in parallel resonant mode. To achieve correct oscillation frequency, the load capacitance must match the specification in the crystal data sheet. Circuit diagram of the 64 MHz crystal oscillator on page 66 shows how the 32 MHz crystal is connected to the 64 MHz crystal oscillator. XC1 XC2 C1 C2 32 MHz crystal Figure 20: Circuit diagram of the 64 MHz crystal oscillator The load capacitance (CL) is the total capacitance seen by the crystal across its terminals and is given by: C1 and C2 are ceramic SMD capacitors connected between each crystal terminal and ground. For more information, see Reference circuitry on page 429. Cpcb1 and Cpcb2 are stray capacitances on the PCB. Cpin is the pin input capacitance on the XC1 and XC2 pins. See table 64 MHz crystal oscillator (HFXO) on page 75. The load capacitors C1 and C2 should have the same value. For reliable operation, the crystal load capacitance, shunt capacitance, equivalent series resistance, and drive level must comply with the specifications in table 64 MHz crystal oscillator (HFXO) on page 75. It is recommended to use a crystal with lower than maximum load capacitance and/or shunt capacitance. A low load capacitance will reduce both start up time and current consumption. 5.4.2 LFCLK clock controller The system supports several low frequency clock sources. As illustrated in Clock control on page 65, the system supports the following low frequency clock sources: • 32.768 kHz RC oscillator (LFRC) • 32.768 kHz crystal oscillator (LFXO) • 32.768 kHz synthesized from HFCLK (LFSYNT) The LFCLK clock is started by first selecting the preferred clock source in register LFCLKSRC on page 74 and then triggering the LFCLKSTART task. If the LFXO is selected as the clock source, the LFCLK will initially start running from the 32.768 kHz LFRC while the LFXO is starting up and automatically switch to using the LFXO once this oscillator is running. The LFCLKSTARTED event will be generated when the LFXO has been started. 4454_140 v1.1 66 Power and clock management The LFCLK clock is stopped by triggering the LFCLKSTOP task. It is not allowed to write to register LFCLKSRC on page 74 when the LFCLK is running. A LFCLKSTOP task will stop the LFCLK oscillator. However, the LFCLKSTOP task can only be triggered after the STATE field in register LFCLKSTAT on page 74 indicates a 'LFCLK running' state. The LFCLK clock controller and all of the LFCLK clock sources are always switched off when in OFF mode. 5.4.2.1 32.768 kHz RC oscillator (LFRC) The default source of the low frequency clock (LFCLK) is the 32.768 kHz RC oscillator (LFRC). The LFRC frequency will be affected by variation in temperature. The LFRC oscillator can be calibrated to improve accuracy by using the HFXO as a reference oscillator during calibration. See Table 32.768 kHz RC oscillator (LFRC) on page 76 for details on the default and calibrated accuracy of the LFRC oscillator. The LFRC oscillator does not require additional external components. 5.4.2.2 Calibrating the 32.768 kHz RC oscillator After the 32.768 kHz RC oscillator is started and running, it can be calibrated by triggering the CAL task. In this case, the HFCLK will be temporarily switched on and used as a reference. A DONE event will be generated when calibration has finished. The calibration mechanism will only work as long as HFCLK is generated from the HFCLK crystal oscillator, it is therefore necessary to explicitly start this crystal oscillator before calibration can be started, see HFCLKSTART task. It is not allowed to stop the LFRC during an ongoing calibration. 5.4.2.3 Calibration timer The calibration timer can be used to time the calibration interval of the 32.768 kHz RC oscillator. The calibration timer is started by triggering the CTSTART task and stopped by triggering the CTSTOP task. The calibration timer will always start counting down from the value specified in CTIV and generate a CTTO timeout event when it reaches 0. The Calibration timer will stop by itself when it reaches 0. CTSTART CTSTOP Calibration timer CTIV CTTO Figure 21: Calibration timer Due to limitations in the calibration timer, only one task related to calibration, that is, CAL, CTSTART and CTSTOP, can be triggered for every period of LFCLK. 5.4.2.4 32.768 kHz crystal oscillator (LFXO) For higher LFCLK accuracy the low frequency crystal oscillator (LFXO) must be used. The following external clock sources are supported: • Low swing clock signal applied to the XL1 pin. The XL2 pin shall then be grounded. • Rail-to-rail clock signal applied to the XL1 pin. The XL2 pin shall then be grounded or left unconnected. The LFCLKSRC on page 74 register controls the clock source, and its allowed swing. The truth table for various situations is as follows: 4454_140 v1.1 67 Power and clock management SRC EXTERNAL BYPASS Comment 0 0 0 Normal operation, RC is source 0 0 1 DO NOT USE 0 1 X DO NOT USE 1 0 0 Normal XTAL operation 1 1 0 Apply external low swing signal to XL1, ground XL2 1 1 1 Apply external full swing signal to XL1, leave XL2 grounded or unconnected 1 0 1 DO NOT USE 2 0 0 Normal operation, synth is source 2 0 1 DO NOT USE 2 1 X DO NOT USE Table 20: LFCLKSRC configuration depending on clock source To achieve correct oscillation frequency, the load capacitance must match the specification in the crystal data sheet. Circuit diagram of the 32.768 kHz crystal oscillator on page 68 shows the LFXO circuitry. XL1 XL2 C1 C2 32.768 kHz crystal Figure 22: Circuit diagram of the 32.768 kHz crystal oscillator The load capacitance (CL) is the total capacitance seen by the crystal across its terminals and is given by: C1 and C2 are ceramic SMD capacitors connected between each crystal terminal and ground. Cpcb1 and Cpcb2 are stray capacitances on the PCB. Cpin is the pin input capacitance on the XC1 and XC2 pins (see 32.768 kHz crystal oscillator (LFXO) on page 76). The load capacitors C1 and C2 should have the same value. For more information, see Reference circuitry on page 429. 5.4.2.5 32.768 kHz synthesized from HFCLK (LFSYNT) LFCLK can also be synthesized from the HFCLK clock source. The accuracy of LFCLK will then be the accuracy of the HFCLK. Using the LFSYNT clock avoids the requirement for a 32.768 kHz crystal, but increases average power consumption as the HFCLK will need to be requested in the system. 4454_140 v1.1 68 Power and clock management 5.4.3 Registers Base address Peripheral Instance Description 0x40000000 CLOCK CLOCK Clock control Configuration Table 21: Instances Register Offset Description TASKS_HFCLKSTART 0x000 Start HFCLK crystal oscillator TASKS_HFCLKSTOP 0x004 Stop HFCLK crystal oscillator TASKS_LFCLKSTART 0x008 Start LFCLK source TASKS_LFCLKSTOP 0x00C Stop LFCLK source TASKS_CAL 0x010 Start calibration of LFRC oscillator TASKS_CTSTART 0x014 Start calibration timer TASKS_CTSTOP 0x018 Stop calibration timer EVENTS_HFCLKSTARTED 0x100 HFCLK oscillator started EVENTS_LFCLKSTARTED 0x104 LFCLK started EVENTS_DONE 0x10C Calibration of LFCLK RC oscillator complete event EVENTS_CTTO 0x110 Calibration timer timeout INTENSET 0x304 Enable interrupt INTENCLR 0x308 Disable interrupt HFCLKRUN 0x408 Status indicating that HFCLKSTART task has been triggered HFCLKSTAT 0x40C HFCLK status LFCLKRUN 0x414 Status indicating that LFCLKSTART task has been triggered LFCLKSTAT 0x418 LFCLK status LFCLKSRCCOPY 0x41C Copy of LFCLKSRC register, set when LFCLKSTART task was triggered LFCLKSRC 0x518 Clock source for the LFCLK CTIV 0x538 Calibration timer interval Retained Table 22: Register overview 5.4.3.1 TASKS_HFCLKSTART Address offset: 0x000 Start HFCLK crystal oscillator Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_HFCLKSTART Start HFCLK crystal oscillator Trigger task 5.4.3.2 TASKS_HFCLKSTOP Address offset: 0x004 Stop HFCLK crystal oscillator 4454_140 v1.1 69 Power and clock management Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_HFCLKSTOP Stop HFCLK crystal oscillator Trigger task 5.4.3.3 TASKS_LFCLKSTART Address offset: 0x008 Start LFCLK source Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_LFCLKSTART Start LFCLK source Trigger task 5.4.3.4 TASKS_LFCLKSTOP Address offset: 0x00C Stop LFCLK source Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_LFCLKSTOP Stop LFCLK source Trigger task 5.4.3.5 TASKS_CAL Address offset: 0x010 Start calibration of LFRC oscillator Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description TASKS_CAL Start calibration of LFRC oscillator Trigger 1 Trigger task 5.4.3.6 TASKS_CTSTART Address offset: 0x014 Start calibration timer 4454_140 v1.1 70 Power and clock management Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_CTSTART Start calibration timer Trigger task 5.4.3.7 TASKS_CTSTOP Address offset: 0x018 Stop calibration timer Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_CTSTOP Stop calibration timer Trigger task 5.4.3.8 EVENTS_HFCLKSTARTED Address offset: 0x100 HFCLK oscillator started Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_HFCLKSTARTED 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated HFCLK oscillator started 5.4.3.9 EVENTS_LFCLKSTARTED Address offset: 0x104 LFCLK started Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_LFCLKSTARTED 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated LFCLK started 5.4.3.10 EVENTS_DONE Address offset: 0x10C Calibration of LFCLK RC oscillator complete event 4454_140 v1.1 71 Power and clock management Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_DONE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated Calibration of LFCLK RC oscillator complete event 5.4.3.11 EVENTS_CTTO Address offset: 0x110 Calibration timer timeout Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_CTTO 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated Calibration timer timeout 5.4.3.12 INTENSET Address offset: 0x304 Enable interrupt Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID D C Reset 0x00000000 ID Access Field A RW HFCLKSTARTED B C D Value ID Value Description Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Write '1' to enable interrupt for event HFCLKSTARTED RW LFCLKSTARTED Write '1' to enable interrupt for event LFCLKSTARTED RW DONE Write '1' to enable interrupt for event DONE RW CTTO Write '1' to enable interrupt for event CTTO 5.4.3.13 INTENCLR Address offset: 0x308 Disable interrupt 4454_140 v1.1 B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 Power and clock management Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID D C Reset 0x00000000 ID Access Field A RW HFCLKSTARTED B C D B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Write '1' to disable interrupt for event HFCLKSTARTED RW LFCLKSTARTED Write '1' to disable interrupt for event LFCLKSTARTED RW DONE Write '1' to disable interrupt for event DONE RW CTTO Write '1' to disable interrupt for event CTTO 5.4.3.14 HFCLKRUN Address offset: 0x408 Status indicating that HFCLKSTART task has been triggered Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description STATUS HFCLKSTART task triggered or not NotTriggered 0 Task not triggered Triggered 1 Task triggered 5.4.3.15 HFCLKSTAT Address offset: 0x40C HFCLK status Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID B Reset 0x00000000 ID Access Field A R B R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description SRC Source of HFCLK RC 0 64 MHz internal oscillator (HFINT) Xtal 1 64 MHz crystal oscillator (HFXO) NotRunning 0 HFCLK not running Running 1 HFCLK running STATE HFCLK state 5.4.3.16 LFCLKRUN Address offset: 0x414 4454_140 v1.1 A 73 Power and clock management Status indicating that LFCLKSTART task has been triggered Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description STATUS LFCLKSTART task triggered or not NotTriggered 0 Task not triggered Triggered 1 Task triggered 5.4.3.17 LFCLKSTAT Address offset: 0x418 LFCLK status Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID B Reset 0x00000000 ID Access Field A R B R A A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description SRC Source of LFCLK RC 0 32.768 kHz RC oscillator Xtal 1 32.768 kHz crystal oscillator Synth 2 32.768 kHz synthesized from HFCLK STATE LFCLK state NotRunning 0 LFCLK not running Running 1 LFCLK running 5.4.3.18 LFCLKSRCCOPY Address offset: 0x41C Copy of LFCLKSRC register, set when LFCLKSTART task was triggered Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description SRC Clock source RC 0 32.768 kHz RC oscillator Xtal 1 32.768 kHz crystal oscillator Synth 2 32.768 kHz synthesized from HFCLK 5.4.3.19 LFCLKSRC Address offset: 0x518 Clock source for the LFCLK 4454_140 v1.1 74 Power and clock management Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID C B Reset 0x00000000 ID Access Field A RW SRC B A A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description RC 0 32.768 kHz RC oscillator Xtal 1 32.768 kHz crystal oscillator Synth 2 32.768 kHz synthesized from HFCLK Clock source RW BYPASS Enable or disable bypass of LFCLK crystal oscillator with external clock source C Disabled 0 Disable (use with Xtal or low-swing external source) Enabled 1 Enable (use with rail-to-rail external source) Disabled 0 Disable external source (use with Xtal) Enabled 1 Enable use of external source instead of Xtal (SRC needs to RW EXTERNAL Enable or disable external source for LFCLK be set to Xtal) 5.4.3.20 CTIV ( Retained ) Address offset: 0x538 This register is a retained register Calibration timer interval Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A Reset 0x00000000 ID Access Field A RW CTIV 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Calibration timer interval in multiple of 0.25 seconds. Range: 0.25 seconds to 31.75 seconds. 5.4.4 Electrical specification 5.4.4.1 64 MHz internal oscillator (HFINT) Symbol Description fNOM_HFINT Nominal output frequency Min. Typ. 64 fTOL_HFINT Frequency tolerance TASKS_EDSTART = 1; // Start while (NRF_RADIO->EVENTS_EDEND != 1) { // CPU can sleep here or do something else // Use of interrupts are encouraged } val = NRF_RADIO->EDSAMPLE * ED_RSSISCALE; // Read level return (uint8_t)(val>255 ? 255 : val); scale // Convert to IEEE 802.15.4 } For scaling between hardware value and dBm, see equation Conversion between hardware value and dBm on page 202. The mlme-scan.req primitive of the MAC layer uses the ED measurement to detect channels where there might be wireless activity. To assist this primitive, a tailored mode of operation is available where the ED measurement runs for a defined number of iterations keeping track of the maximum ED level. This is enganged by writing the EDCNT register to a value different from 0, where it will run the specified number of iterations and report the maximum energy measurement in the EDSAMPLE register. The scan is started with EDSTART task and its end indicated with the EDEND event. This significantly reduces the interrupt frequency and therefore power consumption. The following figure shows how the ED measurement will operate depending on the EDCNT register. EDCNT = 0 EDSTART EDEND 128 µs EDCNT = N-1 EDEND EDSTART Scan 0 ... Scan 1 Scan N-1 128*(N) µs Figure 82: Energy detection measurement examples The scan is stopped by writing the EDSTOP task. It will be followed by the EDSTOPPED event when the module has terminated. 6.14.13.4 Clear channel assessment (CCA) 4454_140 v1.1 200 Peripherals IEEE 802.15.4 implements a listen-before-talk channel access method to avoid collisions when transmitting, known as carrier sense multiple access with collision avoidance (CSMA-CA). The key part of this is measuring if the wireless medium is busy or not. The following clear channel assesment modes are supported: • CCA Mode 1 (energy above threshold) - The medium is reported busy upon detecting any energy above the ED threshold. • CCA Mode 2 (carrier sense only) - The medium is reported busy upon detection of a signal compliant with the IEEE 802.15.4 standard with the same modulation and spreading characteristics. • CCA Mode 3 (carrier sense with energy above threshold) - The medium is reported busy using a logical combination (AND/OR) between the results from CCA Mode 1 and CCA Mode 2. The clear channel assessment should survey a period equal to 8 symbols or 128 µs. The RADIO must be in receive mode and be able to receive correct packets when performing the CCA. The shortcut between READY and START must be disabled if baseband processing is not to be performed while the measurement is running. CCA Mode 1 CCA Mode 1 is enabled by first configuring the field CCACTRL.CCAMODE=EdMode and writing the CCACTRL.CCAEDTHRES field to a chosen value. Once the CCASTART task is written, the RADIO will perform a ED measurement for 8 symbols and compare the measured level with that found in the CCACTRL.CCAEDTHRES field. If the measured value is higher than or equal to this threshold, the CCABUSY event is generated. If the measured level is less than the threshold, the CCAIDLE event is generated. CCA Mode 2 CCA Mode 2 is enabled by configuring CCACTRL.CCAMODE=CarrierMode. The RADIO will sample to see if a valid SFD is found during the 8 symbols. If a valid SFD is detected, the CCABUSY event is generated and the device should not send any data. The CCABUSY event is also generated if the scan was performed during an ongoing frame reception. In the case where the measurement period completes with no SFD detection, the CCAIDLE event is generated. When CCACTRL.CCACORRCNT is not zero, the algorithm will look at the correlator output in addition to the SFD detection signal. If a SFD is reported during the scan period, it will terminate immidiately indicating busy medium. Similarly, if the number of peaks above CCACTRL.CCACORRTHRES crosses the CCACTRL.CCACORRCNT, the CCACTRL.CCABUSY event is generated. If less than CCACORRCOUNT crossings are found and no SFD is reported, the CCAIDLE event will be generated and the device can send data. CCA Mode 3 CCA Mode 3 is enabled by configuring CCACTRL.CCAMODE=CarrierAndEdMode or CCACTRL.CCAMODE=CarrierOrEdMode, performing the required logical combination of the result from CCA Mode 1 and 2. The CCABUSY or CCAIDLE events are generated by ANDing or ORing the energy above threshold and carrier detection scans. Shortcuts An ongoing CCA can always be stopped by issuing the CCASTOP task. This will trigger the associated CCASTOPPED event. For CCA mode automation, a number of shortcuts are available. • To automatically switch between RX (when performing the CCA) and to TX where the packet is sent, the shortcut between CCAIDLE and TXEN, in conjunction with the short between CCAIDLE and STOP muse be used. 4454_140 v1.1 201 Peripherals • To automatically disable the RADIO whenever the CCA reports a busy medium, the shortcut between CCABUSY and DISABLE can be used. • To immediately start a CCA after ramping up into RX mode, the shortcut between RXREADY and CCASTART can be used. Conversion The conversion from a CCAEDTHRES, LQI, or EDSAMPLE value to dBm can be done with the following equation, where VALHARDWARE is either CCAEDTHRES, LQI, or EDSAMPLE. LQI and EDSAMPLE are hardwarereported values, while CCAEDTHRES is set by software. Constants ED_RSSISCALE and ED_RSSIOFFS are from electrical specifications. PRF[dBm] = ED_RSSIOFFS + VALHARDWARE Figure 83: Conversion between hardware value and dBm The ED_RSSISCALE constant is used to calculate power in 802.15.4 units (0-255): PRF[802.15.4 units] = MIN( ED_RSSISCALE x VALHARDWARE, 255 ) Figure 84: Conversion between hardware value and 802.15.4 units (0-255) 6.14.13.5 Cyclic redundancy check (CRC) IEEE 802.15.4 uses a 16-bit ITU-T cyclic redundancy check (CRC) calculated over the MAC header (MHR) and MAC service data unit (MSDU). The standard defines the following generator polynomial: G(x) = x16 + x12 + x5 + 1 In receive mode the RADIO will trigger the CRC module when the first octet after the frame length (PHR) is received. The CRC will then update on each consecutive octet received. When a complete frame is received the CRCSTATUS register will be updated accordingly and the CRCOK or CRCERROR events generated. When the CRC module is enabled it will not write the two last octets (CRC) to the frame Data RAM. When transmitting, the CRC will be computed on the fly, starting with the first octet after PHR, and inserted as the two last octets in the frame. The EasyDMA will fetch frame length minus 2 octets from RAM and insert the CRC octets insitu. The following code shows how to configure the CRC module for correct operation when in IEEE 802.15.4 mode. The CRCCNF is written to 16-bit CRC and the CRCPOLY is written to 0x11021. The start value used by IEEE 802.15.4 is zero and CRCINIT is configured to reflect this. /* 16-bit CRC with ITU-T polynomial with 0 as start condition*/ NRF_RADIO->CRCCNF = ((RADIO_CRCCNF_SKIPADDR_Ieee802154 CRCINIT = 0; The ENDIANESS subregister must be set to little-endian since the FCS field is transmitted from left bit to right. 6.14.13.6 Transmit sequence The transmission is started by first putting the RADIO in receive mode and triggering the RXEN task. An outline of the IEEE 802.15.4 transmission is illustrated in the following figure. 4454_140 v1.1 202 TXRU TXIDLE FRAMESTART READY READY START TXEN CCASTART Lifeline RXEN P H R SHR CCAIDLE Clear channel TX PAYLOAD TXIDLE TXDISABLE CRC DISABLED RX DISABLE RXIDLE Transmitter/Receiver RXRU END State Peripherals Figure 85: IEEE 802.15.4 transmit sequence The receiver will ramp up and enter the RXIDLE state where the READY event is generated. Upon receiving the ready event, the CCA is started by triggering the CCASTART task. The chosen mode of assessment (CCACTRL.CCAMODE register) will be performed and signal the CCAIDLE or CCABUSY event 128 µs later. If the CCABUSY event is received, the RADIO will have to retry the CCA after a specific back-off period. This is outlined in the IEEE 802.15.4 standard, Figure 69 in section 7.5.1.4 The CSMA-CA algorithm. If the CCAIDLE event is generated, a write to the TXEN task register enters the RADIO in TXRU state. The READY event will be generated when the RADIO is in TXIDLE state and ready to transmit. With the PACKETPTR pointing to the length (PHR) field of the frame, the START task can be written. The RADIO will send the four octet preamble sequence followed by the start of frame delimiter (SFD register). The first byte read from the Data RAM is the length field (PHR) followed by the transmission of the number of bytes indicated as the frame length. If the CRC module is configured it will run for PHR-2 octets. The last two octets will be substituted with the results from running the CRC. The necessary CRC parameters are sampled on the START task. The FCS field of the frame is little endian. In addition to the already available shortcuts, one is provided between READY event and CCASTART task so that a CCA can automatically start when the receiver is ready. A second shortcut has been added between CCAIDLE event and the TXEN task, so that upon detecting a clear channel the RADIO can immediately enter transmit mode. 6.14.13.7 Receive sequence The reception is started by first putting the RADIO in receive mode. After writing to the RXEN task, the RADIO will start ramping up and enter the RXRU state. When the READY event is generated, the RADIO enters the RXIDLE mode. For the baseband processing to be enabled, the START task must be written. An outline of the IEEE 802.15.4 reception can be found in the following figure. 4454_140 v1.1 203 RX SHR READY PAYLOAD RXDISABLE CRC START DISABLE Lifeline RXEN P H R FRAMESTART ’X’ RXIDLE DISABLED RXIDLE Reception RXRU END State Peripherals Figure 86: IEEE 802.15.4 receive sequence When a valid SHR is received, the RADIO will start storing future octets (starting with PHR) to the data memory pointed to by PACKETPTR. After the SFD octet is received, the FRAMESTART event is generated. If the CRC module is enabled it will start updating with the second byte received (first byte in payload) and run for the full frame length. The two last bytes in the frame are not written to RAM when CRC is configured. However, if the result of the CRC after running the full frame is zero, the CRCOK event will be generated. The END event is generated when the last octet has been received and is available in data memory. When a packet is received, a link quality indicator (LQI) is also generated and appended immediately after the last received octet. When using an IEEE 802.15.4 compliant frame, this will be just after the MSDU since the FCS is not reported. In the case of a non-compliant frame, it will be appended after the full frame. The LQI reported by hardware must be converted to IEEE 802.15.4 range by an 8-bit saturating multiplication of 4, as shown in IEEE 802.15.4 ED measurement example on page 200. The LQI is only valid for frames equal to or longer than three octets. When receiving a frame, the RSSI (reported as negative dB) will be measured at three points during the reception. These three values will be sorted and the middle one selected (median 3) to be remapped within the LQI range. The following figure illustrates the LQI measurement and how the data is arranged in data memory. 4454_140 v1.1 204 Peripherals On air frame 160 µs 32 µs ≤4064 µs PHY protocol data unit (PPDU) Preamble sequence SFD 5 octets synchronization header (SHR) Length PHY payload 1 octet (PHR) Maximum 127 octets (PSDU) MAC protocol data unit (MPDU) RSSI RSSI RSSI Median 3 In RAM frame Length PHY payload 1 octet (PHR) Maximum 127 octets (PSDU) LQI FCF 2 octets 1 octet MAC protocol data unit (MPDU) Omitted if CRC enabled Figure 87: IEEE 802.15.4 frame in data memory A shortcut has been added between the FRAMESTART event and the BCSTART task. This can be used to trigger a BCMATCH event after N bits, such as when inspecting the MAC addressing fields. 6.14.13.8 Interframe spacing (IFS) The IEEE 802.15.4 standard defines a specific time that is alotted for the MAC sublayer to process received data. Interframe spacing (IFS) is used to prevent two frames from being transmitted too close together. If the transmission is requesting an acknowledgement, the space before the second frame shall be at least one IFS period. The IFS is determined to be one of the following: • IFS equals macMinSIFSPeriod (12 symbols) if the MPDU is less than or equal to aMaxSIFSFrameSize (18 octets) octets • IFS equals macMinLIFSPeriod (40 symbols) if the MPDU is larger than aMaxSIFSFrameSize Using the efficient assisted modes in the RADIO, the TIFS will be programmed with the correct value based on the frame being transmitted. If the assisted modes are not in use, the TIFS register must be updated manually. The following figure provides details on what IFS period is valid in both acknowledged and unacknowledged transmissions. 4454_140 v1.1 205 Peripherals Acknowledged transmission Long frame ACK tack = 32 symbols Short frame tlifs = 40 symbols ACK tack = 32 symbols tsifs = 12 symbols Unacknowledged transmission Long frame Short frame tlifs = 40 symbols tsifs = 12 symbols Figure 88: Interframe spacing examples 6.14.14 EasyDMA The RADIO uses EasyDMA to read and write packets to RAM without CPU involvement. As illustrated in RADIO block diagram on page 184, the RADIO's EasyDMA utilizes the same PACKETPTR for receiving and transmitting packets. This pointer should be reconfigured by the CPU each time before RADIO is started by the START task. The PACKETPTR register is double-buffered, meaning that it can be updated and prepared for the next transmission. The END event indicates that the last bit has been processed by the RADIO. The DISABLED event is issued to acknowledge that a DISABLE task is done. The structure of a packet is described in detail in Packet configuration on page 184. The data that is stored in Data RAM and transported by EasyDMA consists of the following fields: • • • • S0 LENGTH S1 PAYLOAD In addition, a static add-on is sent immediately after the payload. The size of each of the above fields in the frame is configurable (see Packet configuration on page 184), and the space occupied in RAM depends on these settings. The size of the field can be zero, as long as the resulting frame complies with the chosen RF protocol. All fields are extended in size to align with a byte boundary in RAM. For instance, a 3-bit long field on air will occupy 1 byte in RAM while a 9-bit long field will be extended to 2 bytes. The packet's elements can be configured as follows: • • • • • • CI, TERM1, and TERM2 fields are only present in Bluetooth® Low Energy Long Range mode S0 is configured through the PCNF0.S0LEN field LENGTH is configured through the PCNF0.LFLEN field S1 is configured through the PCNF0.S1LEN field Payload size is configured through the value in RAM corresponding to the LENGTH field Static add-on size is configured through the PCNF1.STATLEN field The PCNF1.MAXLEN field configures the maximum packet payload plus add-on size in number of bytes that can be transmitted or received by the RADIO. This feature can be used to ensure that the RADIO does not overwrite, or read beyond, the RAM assigned to the packet payload. This means that if the LENGTH field of the packet payload exceedes PCNF1.STATLEN, and the LENGTH field in the packet specifies a packet larger than configured in PCNF1.MAXLEN, the payload will be truncated to the length specified in PCNF1.MAXLEN. 4454_140 v1.1 206 Peripherals Note: The PCNF1.MAXLEN field includes the payload and the add-on, but excludes the size occupied by the S0, LENGTH, and S1 fields. This has to be taken into account when allocating RAM. If the payload and add-on length is specified larger than PCNF1.MAXLEN, the RADIO will still transmit or receive in the same way as before, except the payload is now truncated to PCNF1.MAXLEN. The packet's LENGTH field will not be altered when the payload is truncated. The RADIO will calculate CRC as if the packet length is equal to PCNF1.MAXLEN. Note: If PACKETPTR is not pointing to the Data RAM region, an EasyDMA transfer may result in a HardFault or RAM corruption. See Memory on page 16 for more information about the different memory regions. The END event indicates that the last bit has been processed by the RADIO. The DISABLED event is issued to acknowledge that an DISABLE task is done. 6.14.15 Registers Base address Peripheral Instance Description 0x40001000 RADIO RADIO 2.4 GHz radio Configuration Table 71: Instances Register Offset Description TASKS_TXEN 0x000 Enable RADIO in TX mode TASKS_RXEN 0x004 Enable RADIO in RX mode TASKS_START 0x008 Start RADIO TASKS_STOP 0x00C Stop RADIO TASKS_DISABLE 0x010 Disable RADIO TASKS_RSSISTART 0x014 Start the RSSI and take one single sample of the receive signal strength TASKS_RSSISTOP 0x018 Stop the RSSI measurement TASKS_BCSTART 0x01C Start the bit counter TASKS_BCSTOP 0x020 Stop the bit counter TASKS_EDSTART 0x024 Start the energy detect measurement used in IEEE 802.15.4 mode TASKS_EDSTOP 0x028 Stop the energy detect measurement TASKS_CCASTART 0x02C Start the clear channel assessment used in IEEE 802.15.4 mode TASKS_CCASTOP 0x030 Stop the clear channel assessment EVENTS_READY 0x100 RADIO has ramped up and is ready to be started EVENTS_ADDRESS 0x104 Address sent or received EVENTS_PAYLOAD 0x108 Packet payload sent or received EVENTS_END 0x10C Packet sent or received EVENTS_DISABLED 0x110 RADIO has been disabled EVENTS_DEVMATCH 0x114 A device address match occurred on the last received packet EVENTS_DEVMISS 0x118 No device address match occurred on the last received packet EVENTS_RSSIEND 0x11C Sampling of receive signal strength complete EVENTS_BCMATCH 0x128 Bit counter reached bit count value EVENTS_CRCOK 0x130 Packet received with CRC ok EVENTS_CRCERROR 0x134 Packet received with CRC error EVENTS_FRAMESTART 0x138 IEEE 802.15.4 length field received EVENTS_EDEND 0x13C Sampling of energy detection complete. A new ED sample is ready for readout from the EVENTS_EDSTOPPED 0x140 The sampling of energy detection has stopped EVENTS_CCAIDLE 0x144 Wireless medium in idle - clear to send EVENTS_CCABUSY 0x148 Wireless medium busy - do not send RADIO.EDSAMPLE register. 4454_140 v1.1 207 Peripherals Register Offset Description EVENTS_CCASTOPPED 0x14C The CCA has stopped EVENTS_RATEBOOST 0x150 Ble_LR CI field received, receive mode is changed from Ble_LR125Kbit to Ble_LR500Kbit. EVENTS_TXREADY 0x154 RADIO has ramped up and is ready to be started TX path EVENTS_RXREADY 0x158 RADIO has ramped up and is ready to be started RX path EVENTS_MHRMATCH 0x15C MAC header match found EVENTS_SYNC 0x168 Preamble indicator EVENTS_PHYEND 0x16C Generated when last bit is sent on air, or received from air EVENTS_CTEPRESENT 0x170 CTE is present (early warning right after receiving CTEInfo byte) SHORTS 0x200 Shortcuts between local events and tasks INTENSET 0x304 Enable interrupt INTENCLR 0x308 Disable interrupt CRCSTATUS 0x400 CRC status RXMATCH 0x408 Received address RXCRC 0x40C CRC field of previously received packet DAI 0x410 Device address match index PDUSTAT 0x414 Payload status CTESTATUS 0x44C CTEInfo parsed from received packet DFESTATUS 0x458 DFE status information PACKETPTR 0x504 Packet pointer FREQUENCY 0x508 Frequency TXPOWER 0x50C Output power MODE 0x510 Data rate and modulation PCNF0 0x514 Packet configuration register 0 PCNF1 0x518 Packet configuration register 1 BASE0 0x51C Base address 0 BASE1 0x520 Base address 1 PREFIX0 0x524 Prefixes bytes for logical addresses 0-3 PREFIX1 0x528 Prefixes bytes for logical addresses 4-7 TXADDRESS 0x52C Transmit address select RXADDRESSES 0x530 Receive address select CRCCNF 0x534 CRC configuration CRCPOLY 0x538 CRC polynomial CRCINIT 0x53C CRC initial value TIFS 0x544 Interframe spacing in µs RSSISAMPLE 0x548 RSSI sample STATE 0x550 Current radio state DATAWHITEIV 0x554 Data whitening initial value BCC 0x560 Bit counter compare DAB[n] 0x600 Device address base segment n DAP[n] 0x620 Device address prefix n DACNF 0x640 Device address match configuration MHRMATCHCONF 0x644 Search pattern configuration MHRMATCHMAS 0x648 Pattern mask MODECNF0 0x650 Radio mode configuration register 0 SFD 0x660 IEEE 802.15.4 start of frame delimiter EDCNT 0x664 IEEE 802.15.4 energy detect loop count EDSAMPLE 0x668 IEEE 802.15.4 energy detect level CCACTRL 0x66C IEEE 802.15.4 clear channel assessment control DFEMODE 0x900 Whether to use Angle-of-Arrival (AOA) or Angle-of-Departure (AOD) CTEINLINECONF 0x904 Configuration for CTE inline mode DFECTRL1 0x910 Various configuration for Direction finding DFECTRL2 0x914 Start offset for Direction finding SWITCHPATTERN 0x928 GPIO patterns to be used for each antenna 4454_140 v1.1 208 Peripherals Register Offset Description CLEARPATTERN 0x92C Clear the GPIO pattern array for antenna control PSEL.DFEGPIO[0] 0x930 Pin select for DFE pin 0 PSEL.DFEGPIO[1] 0x934 Pin select for DFE pin 1 PSEL.DFEGPIO[2] 0x938 Pin select for DFE pin 2 PSEL.DFEGPIO[3] 0x93C Pin select for DFE pin 3 PSEL.DFEGPIO[4] 0x940 Pin select for DFE pin 4 PSEL.DFEGPIO[5] 0x944 Pin select for DFE pin 5 PSEL.DFEGPIO[6] 0x948 Pin select for DFE pin 6 PSEL.DFEGPIO[7] 0x94C Pin select for DFE pin 7 DFEPACKET.PTR 0x950 Data pointer DFEPACKET.MAXCNT 0x954 Maximum number of buffer words to transfer DFEPACKET.AMOUNT 0x958 Number of samples transferred in the last transaction POWER 0xFFC Peripheral power control Table 72: Register overview 6.14.15.1 TASKS_TXEN Address offset: 0x000 Enable RADIO in TX mode Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_TXEN Enable RADIO in TX mode Trigger task 6.14.15.2 TASKS_RXEN Address offset: 0x004 Enable RADIO in RX mode Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_RXEN Enable RADIO in RX mode Trigger task 6.14.15.3 TASKS_START Address offset: 0x008 Start RADIO Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_START 4454_140 v1.1 Start RADIO Trigger task 209 Peripherals 6.14.15.4 TASKS_STOP Address offset: 0x00C Stop RADIO Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_STOP Stop RADIO Trigger task 6.14.15.5 TASKS_DISABLE Address offset: 0x010 Disable RADIO Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_DISABLE Disable RADIO Trigger task 6.14.15.6 TASKS_RSSISTART Address offset: 0x014 Start the RSSI and take one single sample of the receive signal strength Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description TASKS_RSSISTART Start the RSSI and take one single sample of the receive signal strength Trigger 1 Trigger task 6.14.15.7 TASKS_RSSISTOP Address offset: 0x018 Stop the RSSI measurement Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description TASKS_RSSISTOP Stop the RSSI measurement Trigger 4454_140 v1.1 1 Trigger task 210 Peripherals 6.14.15.8 TASKS_BCSTART Address offset: 0x01C Start the bit counter Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_BCSTART Start the bit counter Trigger task 6.14.15.9 TASKS_BCSTOP Address offset: 0x020 Stop the bit counter Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_BCSTOP Stop the bit counter Trigger task 6.14.15.10 TASKS_EDSTART Address offset: 0x024 Start the energy detect measurement used in IEEE 802.15.4 mode Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description TASKS_EDSTART Start the energy detect measurement used in IEEE 802.15.4 mode Trigger 1 Trigger task 6.14.15.11 TASKS_EDSTOP Address offset: 0x028 Stop the energy detect measurement Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description TASKS_EDSTOP Stop the energy detect measurement Trigger 4454_140 v1.1 1 Trigger task 211 Peripherals 6.14.15.12 TASKS_CCASTART Address offset: 0x02C Start the clear channel assessment used in IEEE 802.15.4 mode Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description TASKS_CCASTART Start the clear channel assessment used in IEEE 802.15.4 mode Trigger 1 Trigger task 6.14.15.13 TASKS_CCASTOP Address offset: 0x030 Stop the clear channel assessment Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_CCASTOP Stop the clear channel assessment Trigger task 6.14.15.14 EVENTS_READY Address offset: 0x100 RADIO has ramped up and is ready to be started Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_READY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated RADIO has ramped up and is ready to be started 6.14.15.15 EVENTS_ADDRESS Address offset: 0x104 Address sent or received Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_ADDRESS 4454_140 v1.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated Address sent or received 212 Peripherals 6.14.15.16 EVENTS_PAYLOAD Address offset: 0x108 Packet payload sent or received Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_PAYLOAD 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated Packet payload sent or received 6.14.15.17 EVENTS_END Address offset: 0x10C Packet sent or received Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_END 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated Packet sent or received 6.14.15.18 EVENTS_DISABLED Address offset: 0x110 RADIO has been disabled Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_DISABLED 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated RADIO has been disabled 6.14.15.19 EVENTS_DEVMATCH Address offset: 0x114 A device address match occurred on the last received packet 4454_140 v1.1 213 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_DEVMATCH 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description A device address match occurred on the last received packet NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.20 EVENTS_DEVMISS Address offset: 0x118 No device address match occurred on the last received packet Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_DEVMISS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description No device address match occurred on the last received packet NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.21 EVENTS_RSSIEND Address offset: 0x11C Sampling of receive signal strength complete A new RSSI sample is ready for readout from the RADIO.RSSISAMPLE register Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_RSSIEND 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Sampling of receive signal strength complete A new RSSI sample is ready for readout from the RADIO.RSSISAMPLE register NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.22 EVENTS_BCMATCH Address offset: 0x128 Bit counter reached bit count value Bit counter value is specified in the RADIO.BCC register 4454_140 v1.1 214 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_BCMATCH 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Bit counter reached bit count value Bit counter value is specified in the RADIO.BCC register NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.23 EVENTS_CRCOK Address offset: 0x130 Packet received with CRC ok Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_CRCOK 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Packet received with CRC ok NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.24 EVENTS_CRCERROR Address offset: 0x134 Packet received with CRC error Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_CRCERROR 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Packet received with CRC error NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.25 EVENTS_FRAMESTART Address offset: 0x138 IEEE 802.15.4 length field received Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_FRAMESTART 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description IEEE 802.15.4 length field received NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.26 EVENTS_EDEND Address offset: 0x13C 4454_140 v1.1 215 Peripherals Sampling of energy detection complete. A new ED sample is ready for readout from the RADIO.EDSAMPLE register. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_EDEND 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Sampling of energy detection complete. A new ED sample is ready for readout from the RADIO.EDSAMPLE register. NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.27 EVENTS_EDSTOPPED Address offset: 0x140 The sampling of energy detection has stopped Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_EDSTOPPED 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated The sampling of energy detection has stopped 6.14.15.28 EVENTS_CCAIDLE Address offset: 0x144 Wireless medium in idle - clear to send Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_CCAIDLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated Wireless medium in idle - clear to send 6.14.15.29 EVENTS_CCABUSY Address offset: 0x148 Wireless medium busy - do not send Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_CCABUSY 4454_140 v1.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated Wireless medium busy - do not send 216 Peripherals 6.14.15.30 EVENTS_CCASTOPPED Address offset: 0x14C The CCA has stopped Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_CCASTOPPED 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated The CCA has stopped 6.14.15.31 EVENTS_RATEBOOST Address offset: 0x150 Ble_LR CI field received, receive mode is changed from Ble_LR125Kbit to Ble_LR500Kbit. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_RATEBOOST 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Ble_LR CI field received, receive mode is changed from Ble_LR125Kbit to Ble_LR500Kbit. NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.32 EVENTS_TXREADY Address offset: 0x154 RADIO has ramped up and is ready to be started TX path Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_TXREADY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated RADIO has ramped up and is ready to be started TX path 6.14.15.33 EVENTS_RXREADY Address offset: 0x158 RADIO has ramped up and is ready to be started RX path 4454_140 v1.1 217 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_RXREADY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated RADIO has ramped up and is ready to be started RX path 6.14.15.34 EVENTS_MHRMATCH Address offset: 0x15C MAC header match found Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_MHRMATCH 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated MAC header match found 6.14.15.35 EVENTS_SYNC Address offset: 0x168 Preamble indicator A possible preamble has been received in Ble_LR125Kbit, Ble_LR500Kbit, or Ieee802154_250Kbit modes during an RX transaction. False triggering of the event is possible. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_SYNC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Preamble indicator A possible preamble has been received in Ble_LR125Kbit, Ble_LR500Kbit, or Ieee802154_250Kbit modes during an RX transaction. False triggering of the event is possible. NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.36 EVENTS_PHYEND Address offset: 0x16C Generated when last bit is sent on air, or received from air 4454_140 v1.1 218 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_PHYEND 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description NotGenerated 0 Event not generated Generated 1 Event generated Generated when last bit is sent on air, or received from air 6.14.15.37 EVENTS_CTEPRESENT Address offset: 0x170 CTE is present (early warning right after receiving CTEInfo byte) Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_CTEPRESENT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description CTE is present (early warning right after receiving CTEInfo byte) NotGenerated 0 Event not generated Generated 1 Event generated 6.14.15.38 SHORTS Address offset: 0x200 Shortcuts between local events and tasks Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID U T S R Q P O N M L K Reset 0x00000000 ID Access Field A RW READY_START B C D E F G H G F E D C B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Shortcut between event READY and task START Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut RW END_DISABLE Shortcut between event END and task DISABLE RW DISABLED_TXEN Shortcut between event DISABLED and task TXEN RW DISABLED_RXEN Shortcut between event DISABLED and task RXEN RW ADDRESS_RSSISTART Shortcut between event ADDRESS and task RSSISTART Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut RW END_START Shortcut between event END and task START RW ADDRESS_BCSTART Shortcut between event ADDRESS and task BCSTART RW DISABLED_RSSISTOP 4454_140 v1.1 H Shortcut between event DISABLED and task RSSISTOP 219 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID U T S R Q P O N M L K Reset 0x00000000 ID K L M N O P Q R S T U Access Field H G F E D C B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut RW RXREADY_CCASTART Shortcut between event RXREADY and task CCASTART RW CCAIDLE_TXEN Shortcut between event CCAIDLE and task TXEN Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut RW CCABUSY_DISABLE Shortcut between event CCABUSY and task DISABLE RW FRAMESTART_BCSTART Shortcut between event FRAMESTART and task BCSTART RW READY_EDSTART Shortcut between event READY and task EDSTART RW EDEND_DISABLE Shortcut between event EDEND and task DISABLE Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut RW CCAIDLE_STOP Shortcut between event CCAIDLE and task STOP RW TXREADY_START Shortcut between event TXREADY and task START RW RXREADY_START Shortcut between event RXREADY and task START RW PHYEND_DISABLE Shortcut between event PHYEND and task DISABLE Disabled 0 Disable shortcut Enabled 1 Enable shortcut Disabled 0 Disable shortcut Enabled 1 Enable shortcut RW PHYEND_START Shortcut between event PHYEND and task START 6.14.15.39 INTENSET Address offset: 0x304 Enable interrupt Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID a Z Y Reset 0x00000000 ID Access Field A RW READY 4454_140 v1.1 V U T S R Q P O N M L K I H G F E D C B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Write '1' to enable interrupt for event READY 220 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID a Z Y Reset 0x00000000 ID Access Field B RW ADDRESS C D E F G H V U T S R Q P O N M L K I H G F E D C B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Write '1' to enable interrupt for event ADDRESS RW PAYLOAD Write '1' to enable interrupt for event PAYLOAD RW END Write '1' to enable interrupt for event END RW DISABLED Write '1' to enable interrupt for event DISABLED RW DEVMATCH Write '1' to enable interrupt for event DEVMATCH RW DEVMISS Write '1' to enable interrupt for event DEVMISS RW RSSIEND Write '1' to enable interrupt for event RSSIEND A new RSSI sample is ready for readout from the RADIO.RSSISAMPLE register I Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW BCMATCH Write '1' to enable interrupt for event BCMATCH Bit counter value is specified in the RADIO.BCC register K L M N Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled RW CRCOK Write '1' to enable interrupt for event CRCOK RW CRCERROR Write '1' to enable interrupt for event CRCERROR RW FRAMESTART Write '1' to enable interrupt for event FRAMESTART RW EDEND 4454_140 v1.1 Write '1' to enable interrupt for event EDEND 221 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID a Z Y Reset 0x00000000 ID O P Q R S T U V Y Access Field V U T S R Q P O N M L K I H G F E D C B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Enabled 1 Read: Enabled RW EDSTOPPED Write '1' to enable interrupt for event EDSTOPPED Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW CCAIDLE Write '1' to enable interrupt for event CCAIDLE Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW CCABUSY Write '1' to enable interrupt for event CCABUSY Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW CCASTOPPED Write '1' to enable interrupt for event CCASTOPPED Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW RATEBOOST Write '1' to enable interrupt for event RATEBOOST Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW TXREADY Write '1' to enable interrupt for event TXREADY Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW RXREADY Write '1' to enable interrupt for event RXREADY Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW MHRMATCH Write '1' to enable interrupt for event MHRMATCH Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW SYNC Write '1' to enable interrupt for event SYNC A possible preamble has been received in Ble_LR125Kbit, Ble_LR500Kbit, or Ieee802154_250Kbit modes during an RX transaction. False triggering of the event is possible. Z a Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW PHYEND Write '1' to enable interrupt for event PHYEND RW CTEPRESENT 4454_140 v1.1 Write '1' to enable interrupt for event CTEPRESENT 222 Peripherals 6.14.15.40 INTENCLR Address offset: 0x308 Disable interrupt Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID a Z Y Reset 0x00000000 ID Access Field A RW READY B C D E F G H V U T S R Q P O N M L K I H G F E D C B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Write '1' to disable interrupt for event READY RW ADDRESS Write '1' to disable interrupt for event ADDRESS RW PAYLOAD Write '1' to disable interrupt for event PAYLOAD RW END Write '1' to disable interrupt for event END RW DISABLED Write '1' to disable interrupt for event DISABLED RW DEVMATCH Write '1' to disable interrupt for event DEVMATCH RW DEVMISS Write '1' to disable interrupt for event DEVMISS RW RSSIEND Write '1' to disable interrupt for event RSSIEND A new RSSI sample is ready for readout from the RADIO.RSSISAMPLE register I Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW BCMATCH Write '1' to disable interrupt for event BCMATCH Bit counter value is specified in the RADIO.BCC register K L Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW CRCOK Write '1' to disable interrupt for event CRCOK RW CRCERROR 4454_140 v1.1 Write '1' to disable interrupt for event CRCERROR 223 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID a Z Y Reset 0x00000000 ID M N O P Q R S T U V Y Access Field V U T S R Q P O N M L K I H G F E D C B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled RW FRAMESTART Write '1' to disable interrupt for event FRAMESTART RW EDEND Write '1' to disable interrupt for event EDEND RW EDSTOPPED Write '1' to disable interrupt for event EDSTOPPED RW CCAIDLE Write '1' to disable interrupt for event CCAIDLE RW CCABUSY Write '1' to disable interrupt for event CCABUSY RW CCASTOPPED Write '1' to disable interrupt for event CCASTOPPED RW RATEBOOST Write '1' to disable interrupt for event RATEBOOST RW TXREADY Write '1' to disable interrupt for event TXREADY RW RXREADY Write '1' to disable interrupt for event RXREADY RW MHRMATCH Write '1' to disable interrupt for event MHRMATCH RW SYNC Write '1' to disable interrupt for event SYNC A possible preamble has been received in Ble_LR125Kbit, Ble_LR500Kbit, or Ieee802154_250Kbit modes during an RX transaction. False triggering of the event is possible. 4454_140 v1.1 Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled 224 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID a Z Y Reset 0x00000000 ID Access Field Z RW PHYEND a V U T S R Q P O N M L K I H G F E D C B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Write '1' to disable interrupt for event PHYEND RW CTEPRESENT Write '1' to disable interrupt for event CTEPRESENT 6.14.15.41 CRCSTATUS Address offset: 0x400 CRC status Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description CRCSTATUS CRC status of packet received CRCError 0 Packet received with CRC error CRCOk 1 Packet received with CRC ok 6.14.15.42 RXMATCH Address offset: 0x408 Received address Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description RXMATCH Received address Logical address of which previous packet was received 6.14.15.43 RXCRC Address offset: 0x40C CRC field of previously received packet Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description RXCRC CRC field of previously received packet CRC field of previously received packet 4454_140 v1.1 225 Peripherals 6.14.15.44 DAI Address offset: 0x410 Device address match index Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description DAI Device address match index Index (n) of device address, see DAB[n] and DAP[n], that got an address match 6.14.15.45 PDUSTAT Address offset: 0x414 Payload status Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID B B A Reset 0x00000000 ID Access Field A R B R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description LessThan 0 Payload less than PCNF1.MAXLEN GreaterThan 1 Payload greater than PCNF1.MAXLEN LR125kbit 0 Frame is received at 125 kbps LR500kbit 1 Frame is received at 500 kbps PDUSTAT Status on payload length vs. PCNF1.MAXLEN CISTAT Status on what rate packet is received with in Long Range 6.14.15.46 CTESTATUS Address offset: 0x44C CTEInfo parsed from received packet Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID C C B A A A A A Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field Value ID Value Description A R CTETIME CTETime parsed from packet B R RFU RFU parsed from packet C R CTETYPE CTEType parsed from packet 6.14.15.47 DFESTATUS Address offset: 0x458 DFE status information 4454_140 v1.1 226 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID B Reset 0x00000000 ID Access Field A R B R A A A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Idle 0 Switching state Idle Offset 1 Switching state Offset Guard 2 Switching state Guard Ref 3 Switching state Ref Switching 4 Switching state Switching Ending 5 Switching state Ending Idle 0 Sampling state Idle Sampling 1 Sampling state Sampling SWITCHINGSTATE Internal state of switching state machine SAMPLINGSTATE Internal state of sampling state machine 6.14.15.48 PACKETPTR Address offset: 0x504 Packet pointer Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A RW PACKETPTR Value ID Value Description Packet pointer Packet address to be used for the next transmission or reception. When transmitting, the packet pointed to by this address will be transmitted and when receiving, the received packet will be written to this address. This address is a byte aligned RAM address. See the memory chapter for details about which memories are avilable for EasyDMA. 6.14.15.49 FREQUENCY Address offset: 0x508 Frequency Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID B Reset 0x00000002 ID Access Field A RW FREQUENCY B RW MAP Value ID Value Description [0..100] Radio channel frequency Frequency = 2400 + FREQUENCY (MHz) Channel map selection Default 0 Low 1 Channel map between 2400 MHZ .. 2500 MHz Frequency = 2400 + FREQUENCY (MHz) Channel map between 2360 MHZ .. 2460 MHz Frequency = 2360 + FREQUENCY (MHz) 6.14.15.50 TXPOWER Address offset: 0x50C 4454_140 v1.1 A A A A A A A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 227 Peripherals Output power Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0x00000000 ID Access Field A RW TXPOWER 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description RADIO output power Output power in number of dBm, i.e. if the value -20 is specified the output power will be set to -20 dBm. Pos4dBm 0x4 +4 dBm Pos3dBm 0x3 +3 dBm 0dBm 0x0 0 dBm Neg4dBm 0xFC -4 dBm Neg8dBm 0xF8 -8 dBm Neg12dBm 0xF4 -12 dBm Neg16dBm 0xF0 -16 dBm Neg20dBm 0xEC -20 dBm Neg30dBm 0xE2 -40 dBm Neg40dBm 0xD8 -40 dBm Deprecated 6.14.15.51 MODE Address offset: 0x510 Data rate and modulation Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A Reset 0x00000000 ID Access Field A RW MODE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Radio data rate and modulation setting. The radio supports frequency-shift keying (FSK) modulation. Nrf_1Mbit 0 1 Mbps Nordic proprietary radio mode Nrf_2Mbit 1 2 Mbps Nordic proprietary radio mode Ble_1Mbit 3 1 Mbps BLE Ble_2Mbit 4 2 Mbps BLE Ble_LR125Kbit 5 Long range 125 kbps TX, 125 kbps and 500 kbps RX Ble_LR500Kbit 6 Long range 500 kbps TX, 125 kbps and 500 kbps RX Ieee802154_250Kbit 15 IEEE 802.15.4-2006 250 kbps 6.14.15.52 PCNF0 Address offset: 0x514 Packet configuration register 0 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID J J Reset 0x00000000 I H H G G F E E E E C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A RW LFLEN Length on air of LENGTH field in number of bits C RW S0LEN Length on air of S0 field in number of bytes E RW S1LEN Length on air of S1 field in number of bits F RW S1INCL Include or exclude S1 field in RAM 4454_140 v1.1 A A A A Value ID Value Description 228 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID J J Reset 0x00000000 ID Access Field G RW CILEN H RW PLEN I J I H H G G F E E E E C A A A A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Automatic 0 Include S1 field in RAM only if S1LEN > 0 Include 1 Always include S1 field in RAM independent of S1LEN Length of code indicator - long range Length of preamble on air. Decision point: TASKS_START task 8bit 0 8-bit preamble 16bit 1 16-bit preamble 32bitZero 2 32-bit zero preamble - used for IEEE 802.15.4 LongRange 3 Preamble - used for BLE long range Exclude 0 LENGTH does not contain CRC Include 1 LENGTH includes CRC RW CRCINC Indicates if LENGTH field contains CRC or not RW TERMLEN Length of TERM field in Long Range operation 6.14.15.53 PCNF1 Address offset: 0x518 Packet configuration register 1 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID E D Reset 0x00000000 ID Access Field A RW MAXLEN C C C B B B B B B B B A A A A A A A A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description [0..255] Maximum length of packet payload. If the packet payload is larger than MAXLEN, the radio will truncate the payload to MAXLEN. B RW STATLEN [0..255] Static length in number of bytes The static length parameter is added to the total length of the payload when sending and receiving packets, e.g. if the static length is set to N the radio will receive or send N bytes more than what is defined in the LENGTH field of the packet. C RW BALEN [2..4] Base address length in number of bytes The address field is composed of the base address and the one byte long address prefix, e.g. set BALEN=2 to get a total address of 3 bytes. D RW ENDIAN On-air endianness of packet, this applies to the S0, LENGTH, S1, and the PAYLOAD fields. E Little 0 Least significant bit on air first Big 1 Most significant bit on air first Disabled 0 Disable Enabled 1 Enable RW WHITEEN Enable or disable packet whitening 6.14.15.54 BASE0 Address offset: 0x51C Base address 0 4454_140 v1.1 229 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A RW BASE0 Value ID Value Description Base address 0 6.14.15.55 BASE1 Address offset: 0x520 Base address 1 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 ID Access Field A RW BASE1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Base address 1 6.14.15.56 PREFIX0 Address offset: 0x524 Prefixes bytes for logical addresses 0-3 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID D D D D D D D D C C C C C C C C B B B B B B B B A A A A A A A A Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A-D RW AP[i] (i=0..3) Value ID Value Description Address prefix i. 6.14.15.57 PREFIX1 Address offset: 0x528 Prefixes bytes for logical addresses 4-7 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID D D D D D D D D C C C C C C C C B B B B B B B B A A A A A A A A Reset 0x00000000 ID Access Field A-D RW AP[i] (i=4..7) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Address prefix i. 6.14.15.58 TXADDRESS Address offset: 0x52C Transmit address select Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A Reset 0x00000000 ID Access Field A RW TXADDRESS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Transmit address select Logical address to be used when transmitting a packet 4454_140 v1.1 230 Peripherals 6.14.15.59 RXADDRESSES Address offset: 0x530 Receive address select Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID H G F E D C B A Reset 0x00000000 ID Access Field A-H RW ADDR[i] (i=0..7) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Disabled 0 Disable Enabled 1 Enable Enable or disable reception on logical address i. 6.14.15.60 CRCCNF Address offset: 0x534 CRC configuration Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID B B Reset 0x00000000 ID Access Field A RW LEN Value ID Value Description [1..3] CRC length in number of bytes For MODE Ble_LR125Kbit and Ble_LR500Kbit, only LEN set to 3 is supported B Disabled 0 CRC length is zero and CRC calculation is disabled One 1 CRC length is one byte and CRC calculation is enabled Two 2 CRC length is two bytes and CRC calculation is enabled Three 3 CRC length is three bytes and CRC calculation is enabled RW SKIPADDR Include or exclude packet address field out of CRC calculation. Include 0 CRC calculation includes address field Skip 1 CRC calculation does not include address field. The CRC Ieee802154 2 calculation will start at the first byte after the address. CRC calculation as per 802.15.4 standard. Starting at first byte after length field. 6.14.15.61 CRCPOLY Address offset: 0x538 CRC polynomial 4454_140 v1.1 A A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 231 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 ID Access Field A RW CRCPOLY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description CRC polynomial Each term in the CRC polynomial is mapped to a bit in this register which index corresponds to the term's exponent. The least significant term/bit is hardwired internally to 1, and bit number 0 of the register content is ignored by the hardware. The following example is for an 8 bit CRC polynomial: x8 + x7 + x3 + x2 + 1 = 1 1000 1101 . 6.14.15.62 CRCINIT Address offset: 0x53C CRC initial value Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 ID Access Field A RW CRCINIT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description CRC initial value Initial value for CRC calculation 6.14.15.63 TIFS Address offset: 0x544 Interframe spacing in µs Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A Reset 0x00000000 ID Access Field A RW TIFS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Interframe spacing in µs. Interframe space is the time interval between two consecutive packets. It is defined as the time, in microseconds, from the end of the last bit of the previous packet to the start of the first bit of the subsequent packet. 6.14.15.64 RSSISAMPLE Address offset: 0x548 RSSI sample 4454_140 v1.1 232 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID RSSISAMPLE Value Description [0..127] RSSI sample. RSSI sample result. The value of this register is read as a positive value while the actual received signal strength is a negative value. Actual received signal strength is therefore as follows: received signal strength = -A dBm. 6.14.15.65 STATE Address offset: 0x550 Current radio state Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Disabled 0 RADIO is in the Disabled state RxRu 1 RADIO is in the RXRU state RxIdle 2 RADIO is in the RXIDLE state Rx 3 RADIO is in the RX state RxDisable 4 RADIO is in the RXDISABLED state TxRu 9 RADIO is in the TXRU state TxIdle 10 RADIO is in the TXIDLE state Tx 11 RADIO is in the TX state TxDisable 12 RADIO is in the TXDISABLED state STATE Current radio state 6.14.15.66 DATAWHITEIV Address offset: 0x554 Data whitening initial value Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A Reset 0x00000040 ID Access Field A RW DATAWHITEIV 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 Value ID Value Description Data whitening initial value. Bit 6 is hardwired to '1', writing '0' to it has no effect, and it will always be read back and used by the device as '1'. Bit 0 corresponds to Position 6 of the LSFR, Bit 1 to Position 5, etc. 6.14.15.67 BCC Address offset: 0x560 Bit counter compare 4454_140 v1.1 233 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A RW BCC Value ID Value Description Bit counter compare Bit counter compare register 6.14.15.68 DAB[n] (n=0..7) Address offset: 0x600 + (n × 0x4) Device address base segment n Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A RW DAB Value ID Value Description Device address base segment n 6.14.15.69 DAP[n] (n=0..7) Address offset: 0x620 + (n × 0x4) Device address prefix n Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A Reset 0x00000000 ID Access Field A RW DAP 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Device address prefix n 6.14.15.70 DACNF Address offset: 0x640 Device address match configuration Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID P O N M L K J I H G F E D C B A Reset 0x00000000 ID Access Field A-H RW ENA[i] (i=0..7) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Enable or disable device address matching using device address i I-P Disabled 0 Disabled Enabled 1 Enabled RW TXADD[i] (i=0..7) TxAdd for device address i 6.14.15.71 MHRMATCHCONF Address offset: 0x644 Search pattern configuration 4454_140 v1.1 234 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A RW MHRMATCHCONF Value ID Value Description Search pattern configuration 6.14.15.72 MHRMATCHMAS Address offset: 0x648 Pattern mask Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 ID Access Field A RW MHRMATCHMAS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Pattern mask 6.14.15.73 MODECNF0 Address offset: 0x650 Radio mode configuration register 0 Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID C C Reset 0x00000200 ID Access Field A RW RU Value ID Value Default 0 Fast 1 Description Radio ramp-up time Default ramp-up time (tRXEN and tTXEN), compatible with firmware written for nRF51 Fast ramp-up (tRXEN,FAST and tTXEN,FAST), see electrical specifications for more information When enabled, TIFS is not enforced by hardware and software needs to control when to turn on the Radio C RW DTX Default TX value Specifies what the RADIO will transmit when it is not started, i.e. between: RADIO.EVENTS_READY and RADIO.TASKS_START RADIO.EVENTS_END and RADIO.TASKS_START RADIO.EVENTS_END and RADIO.EVENTS_DISABLED For IEEE 802.15.4 250 kbps mode only Center is a valid setting For Bluetooth Low Energy Long Range mode only Center is a valid setting B1 0 Transmit '1' B0 1 Transmit '0' Center 2 Transmit center frequency When tuning the crystal for center frequency, the RADIO must be set in DTX = Center mode to be able to achieve the expected accuracy 4454_140 v1.1 A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 235 Peripherals 6.14.15.74 SFD Address offset: 0x660 IEEE 802.15.4 start of frame delimiter Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0x000000A7 ID Access Field A RW SFD 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 Value ID Value Description IEEE 802.15.4 start of frame delimiter 6.14.15.75 EDCNT Address offset: 0x664 IEEE 802.15.4 energy detect loop count Number of iterations to perform an ED scan. If set to 0 one scan is performed, otherwise the specified number + 1 of ED scans will be performed and the max ED value tracked in EDSAMPLE. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 ID Access Field A RW EDCNT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description IEEE 802.15.4 energy detect loop count 6.14.15.76 EDSAMPLE Address offset: 0x668 IEEE 802.15.4 energy detect level Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID EDLVL Value Description [0..127] IEEE 802.15.4 energy detect level Register value must be converted to IEEE 802.15.4 range by an 8-bit saturating multiplication by factor ED_RSSISCALE, as shown in the code example for ED sampling 6.14.15.77 CCACTRL Address offset: 0x66C IEEE 802.15.4 clear channel assessment control 4454_140 v1.1 236 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID D D D D D D D D C C C C C C C C B B B B B B B B Reset 0x052D0000 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A RW CCAMODE Value ID Value EdMode 0 A A A Description CCA mode of operation Energy above threshold Will report busy whenever energy is detected above CCAEDTHRES CarrierMode 1 Carrier seen Will report busy whenever compliant IEEE 802.15.4 signal is seen CarrierAndEdMode 2 Energy above threshold AND carrier seen CarrierOrEdMode 3 Energy above threshold OR carrier seen EdModeTest1 4 Energy above threshold test mode that will abort when first ED measurement over threshold is seen. No averaging. B RW CCAEDTHRES CCA energy busy threshold. Used in all the CCA modes except CarrierMode. Must be converted from IEEE 802.15.4 range by dividing by factor ED_RSSISCALE - similar to EDSAMPLE register C RW CCACORRTHRES CCA correlator busy threshold. Only relevant to CarrierMode, CarrierAndEdMode, and CarrierOrEdMode. D RW CCACORRCNT Limit for occurances above CCACORRTHRES. When not equal to zero the corrolator based signal detect is enabled. 6.14.15.78 DFEMODE Address offset: 0x900 Whether to use Angle-of-Arrival (AOA) or Angle-of-Departure (AOD) Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A Reset 0x00000000 ID Access Field A RW DFEOPMODE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Direction finding operation mode Disabled 0 Direction finding mode disabled AoD 2 Direction finding mode set to AoD AoA 3 Direction finding mode set to AoA 6.14.15.79 CTEINLINECONF Address offset: 0x904 Configuration for CTE inline mode Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID I Reset 0x00002800 ID Access Field A RW CTEINLINECTRLEN I I I I I I I H H H H H H H H G G G F F F Value Description Enable parsing of CTEInfo from received packet in BLE Enabled 1 Parsing of CTEInfo is enabled Disabled 0 Parsing of CTEInfo is disabled RW CTEINFOINS1 4454_140 v1.1 C B A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 Value ID modes B E E CTEInfo is S1 byte or not 237 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID I Reset 0x00002800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 ID C E Access Field I I I I I I I H H H H H H H H G G G F F F E E Value ID Value Description InS1 1 CTEInfo is in S1 byte (data PDU) NotInS1 0 CTEInfo is NOT in S1 byte (advertising PDU) Yes 1 Sampling and antenna switching also when CRC is not OK No 0 No sampling and antenna switching when CRC is not OK RW CTEERRORHANDLING C B Sampling/switching if CRC is not OK RW CTETIMEVALIDRANGE Max range of CTETime Valid range is 2-20 in BLE core spec. If larger than 20, it can be an indication of an error in the received packet. 20 0 20 in 8 µs unit (default) Set to 20 if parsed CTETime is larger than 20 F 31 1 31 in 8 µs unit 63 2 63 in 8 µs unit RW CTEINLINERXMODE1US Spacing between samples for the samples in the SWITCHING period when CTEINLINEMODE is set. When the device is in AoD mode, this is used when the received CTEType is "AoD 1 µs". When in AoA mode, this is used when TSWITCHSPACING is 2 µs. G 4us 1 4 µs 2us 2 2 µs 1us 3 1 µs 500ns 4 0.5 µs 250ns 5 0.25 µs 125ns 6 0.125 µs RW CTEINLINERXMODE2US Spacing between samples for the samples in the SWITCHING period when CTEINLINEMODE is set. When the device is in AoD mode, this is used when the received CTEType is "AoD 2 µs". When in AoA mode, this is used when TSWITCHSPACING is 4 µs. H 4us 1 4 µs 2us 2 2 µs 1us 3 1 µs 500ns 4 0.5 µs 250ns 5 0.25 µs 125ns 6 0.125 µs RW S0CONF S0 bit pattern to match The least significant bit always corresponds to the first bit of S0 received. I RW S0MASK S0 bit mask to set which bit to match The least significant bit always corresponds to the first bit of S0 received. 6.14.15.80 DFECTRL1 Address offset: 0x910 Various configuration for Direction finding 4454_140 v1.1 238 A Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID I I I I Reset 0x00023282 ID Access Field A RW NUMBEROF8US G G G F E E E C C C B A A A A A A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 Value ID Value Description Length of the AoA/AoD procedure in number of 8 µs units Always used in TX mode, but in RX mode only when CTEINLINECTRLEN is 0 B RW DFEINEXTENSION Add CTE extension and do antenna switching/sampling in this extension C CRC 1 AoA/AoD procedure triggered at end of CRC Payload 0 Antenna switching/sampling is done in the packet payload RW TSWITCHSPACING Interval between every time the antenna is changed in the SWITCHING state E F G 4us 1 4 µs 2us 2 2 µs 1us 3 1 µs 4us 1 4 µs 2us 2 2 µs 1us 3 1 µs 500ns 4 0.5 µs 250ns 5 0.25 µs 125ns 6 0.125 µs IQ 0 Complex samples in I and Q MagPhase 1 Complex samples as magnitude and phase RW TSAMPLESPACINGREF Interval between samples in the REFERENCE period RW SAMPLETYPE Whether to sample I/Q or magnitude/phase RW TSAMPLESPACING Interval between samples in the SWITCHING period when CTEINLINECTRLEN is 0 Not used when CTEINLINECTRLEN is set. Then either CTEINLINERXMODE1US or CTEINLINERXMODE2US are used. I 4us 1 4 µs 2us 2 2 µs 1us 3 1 µs 500ns 4 0.5 µs 250ns 5 0.25 µs 125ns 6 0.125 µs RW AGCBACKOFFGAIN Gain will be lowered by the specified number of gain steps at the start of CTE First LNAGAIN gain drops, then MIXGAIN, then AAFGAIN 6.14.15.81 DFECTRL2 Address offset: 0x914 Start offset for Direction finding 4454_140 v1.1 239 Peripherals Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID B B B B B B B B B B B B Reset 0x00000000 ID Access Field A RW TSWITCHOFFSET A A A A A A A A A A A A A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Signed value offset after the end of the CRC before starting switching in number of 16M cycles Decreasing TSWITCHOFFSET beyond the trigger of the AoA/ AoD procedure will have no effect B RW TSAMPLEOFFSET Signed value offset before starting sampling in number of 16M cycles relative to the beginning of the REFERENCE state - 12 µs after switching start Decreasing TSAMPLEOFFSET beyond the trigger of the AoA/ AoD procedure will have no effect 6.14.15.82 SWITCHPATTERN Address offset: 0x928 GPIO patterns to be used for each antenna Maximum 8 GPIOs can be controlled. To secure correct signal levels on the pins, the pins must be configured in the GPIO peripheral as described in Pin configuration. If, during switching, the total number of antenna slots is bigger than the number of written patterns, the RADIO loops back to the pattern used after the reference pattern. A minimum number of three patterns must be written. Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0x00000000 ID Access Field A RW SWITCHPATTERN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Fill array of GPIO patterns for antenna control. The GPIO pattern array size is 40 entries. When written, bit n corresponds to the GPIO configured in PSEL.DFEGPIO[n]. When read, returns the number of GPIO patterns written since the last time the array was cleared. Use CLEARPATTERN to clear the array. 6.14.15.83 CLEARPATTERN Address offset: 0x92C Clear the GPIO pattern array for antenna control Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW CLEARPATTERN 4454_140 v1.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Clear 1 Description Clears GPIO pattern array for antenna control Clear the GPIO pattern 240 Peripherals 6.14.15.84 PSEL.DFEGPIO[n] (n=0..7) Address offset: 0x930 + (n × 0x4) Pin select for DFE pin n Must be set before enabling the radio Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID C Reset 0xFFFFFFFF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ID Access Field A RW PIN C RW CONNECT Value ID A A A A A Value Description [0..31] Pin number Connection Disconnected 1 Disconnect Connected 0 Connect 6.14.15.85 DFEPACKET.PTR Address offset: 0x950 Data pointer Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ID Access Field A RW PTR Value ID Value Description Data pointer See the memory chapter for details about which memories are available for EasyDMA. 6.14.15.86 DFEPACKET.MAXCNT Address offset: 0x954 Maximum number of buffer words to transfer Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A Reset 0x00001000 ID Access Field A RW MAXCNT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Maximum number of buffer words to transfer 6.14.15.87 DFEPACKET.AMOUNT Address offset: 0x958 Number of samples transferred in the last transaction Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A A A A A A A A A Reset 0x00000000 ID Access Field A R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description AMOUNT 4454_140 v1.1 Number of samples transferred in the last transaction 241 Peripherals 6.14.15.88 POWER Address offset: 0xFFC Peripheral power control Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000001 ID Access Field A RW POWER 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Value ID Value Description Peripheral power control. The peripheral and its registers will be reset to its initial state by switching the peripheral off and then back on again. Disabled 0 Peripheral is powered off Enabled 1 Peripheral is powered on 6.14.16 Electrical specification 6.14.16.1 General radio characteristics Symbol Description Min. fOP Operating frequencies 2360 Typ. Max. Units 2500 MHz fPLL,CH,SP PLL channel spacing 1 MHz fDELTA,1M Frequency deviation @ 1 Mbps ±170 kHz fDELTA,BLE,1M Frequency deviation @ BLE 1 Mbps ±250 kHz fDELTA,2M Frequency deviation @ 2 Mbps ±320 kHz fDELTA,BLE,2M Frequency deviation @ BLE 2 Mbps fskBPS On-the-air data rate fchip, IEEE 802.15.4 Chip rate in IEEE 802.15.4 mode ±500 125 kHz 2000 2000 kbps kchip/ s 6.14.16.2 Radio current consumption (transmitter) Symbol Description ITX,PLUS4dBM,DCDC TX only run current (DC/DC, 3 V) PRF = +4 dBm 7.0 mA ITX,PLUS4dBM TX only run current PRF = +4 dBm 15.4 mA ITX,0dBM,DCDC TX only run current (DC/DC, 3 V)PRF = 0 dBm 4.6 mA ITX,0dBM TX only run current PRF = 0 dBm 10.1 mA ITX,MINUS4dBM,DCDC TX only run current DC/DC, 3 V PRF = -4 dBm 3.6 mA ITX,MINUS4dBM TX only run current PRF = -4 dBm 7.8 mA ITX,MINUS8dBM,DCDC TX only run current DC/DC, 3 V PRF = -8 dBm 3.2 mA ITX,MINUS8dBM TX only run current PRF = -8 dBm 6.8 mA ITX,MINUS12dBM,DCDC TX only run current DC/DC, 3 V PRF = -12 dBm 2.9 mA ITX,MINUS12dBM 6.2 mA ITX,MINUS16dBM,DCDC TX only run current DC/DC, 3 V PRF = -16 dBm 2.7 mA ITX,MINUS16dBM 5.7 mA ITX,MINUS20dBM,DCDC TX only run current DC/DC, 3 V PRF = -20 dBm 2.5 mA ITX,MINUS20dBM 5.4 mA ITX,MINUS40dBM,DCDC TX only run current DC/DC, 3 V PRF = -40 dBm 2.1 mA ITX,MINUS40dBM TX only run current PRF = -40 dBm 4.3 mA ISTART,TX,DCDC TX start-up current DC/DC, 3 V, PRF = 4 dBm .. .. .. mA ISTART,TX TX start-up current, PRF = 4 dBm .. .. .. mA 4454_140 v1.1 Min. TX only run current PRF = -12 dBm TX only run current PRF = -16 dBm TX only run current PRF = -20 dBm 242 Typ. Max. Units Peripherals 6.14.16.3 Radio current consumption (Receiver) Symbol Description IRX,1M,DCDC RX only run current (DC/DC, 3 V) 1 Mbps/1 Mbps BLE Min. Typ. 4.6 Max. Units mA IRX,1M RX only run current (LDO, 3 V) 1 Mbps/1 Mbps BLE 10.0 mA IRX,2M,DCDC RX only run current (DC/DC, 3 V) 2 Mbps/2 Mbps BLE 5.2 mA IRX,2M RX only run current (LDO, 3 V) 2 Mbps/2 Mbps BLE 11.2 mA ISTART,RX,1M,DCDC RX start-up current (DC/DC, 3 V) 1 Mbps/1 Mbps BLE 3.5 mA ISTART,RX,1M RX start-up current 1 Mbps/1 Mbps BLE 6.7 mA 6.14.16.4 Transmitter specification Symbol Description Min. Typ. Max. PRF Maximum output power 4.0 PRFC RF power control range 24 PRFCR RF power accuracy PRF1,1 1st Adjacent Channel Transmit Power 1 MHz (1 Mbps) -25 dBc PRF2,1 2nd Adjacent Channel Transmit Power 2 MHz (1 Mbps) -50 dBc PRF1,2 1st Adjacent Channel Transmit Power 2 MHz (2 Mbps) -25 dBc PRF2,2 2nd Adjacent Channel Transmit Power 4 MHz (2 Mbps) -50 dBc Evm Error vector magnitude in IEEE 802.15.4 mode 12 %rms -45 dBm dBm dB ±4 Pharm2nd, IEEE 802.15.4 2nd harmonics in IEEE 802.15.4 mode Pharm3rd, IEEE 802.15.4 3rd harmonics in IEEE 802.15.4 mode Output power [dBm] 5 4.5 4 3.5 -20 0 20 40 60 Temperature Range [°C] 1.7 V 3V 3.6 V Figure 89: Output power, 1 Mbps Bluetooth low energy mode, at maximum TXPOWER setting (typical values) 4454_140 v1.1 dB dBm 5.5 3 -40 Units 243 80 100 Peripherals 2.5 2 Output power [dBm] 1.5 1 0.5 0 -0.5 -1 -40 -20 0 20 40 60 80 100 Temperature Range [°C] 1.7 V 3V 3.6 V Figure 90: Output power, 1 Mbps Bluetooth low energy mode, at 0 dBm TXPOWER setting (typical values) 6.14.16.5 Receiver operation Symbol Description PRX,MAX Maximum received signal strength at < 0.1% PER Min. Typ. Max. Units 0 dBm PSENS,IT,1M Sensitivity, 1 Mbps nRF mode ideal transmitter 13 -94 dBm PSENS,IT,2M Sensitivity, 2 Mbps nRF mode ideal transmitter 13 -91 dBm PSENS,IT,SP,1M,BLE Sensitivity, 1 Mbps BLE ideal transmitter, packet length ≤ 37 -97 dBm -96 dBm -94 dBm 14 bytes BER=1E-3 PSENS,IT,LP,1M,BLE Sensitivity, 1 Mbps BLE ideal transmitter, packet length ≥ 128 bytes BER=1E-4 PSENS,IT,SP,2M,BLE 15 Sensitivity, 2 Mbps BLE ideal transmitter, packet length ≤ 37 bytes PSENS,IT,BLE LE125k Sensitivity, 125 kbps BLE mode -104 dBm PSENS,IT,BLE LE500k Sensitivity, 500 kbps BLE mode -100 dBm PSENS,IEEE 802.15.4 Sensitivity in IEEE 802.15.4 mode -101 dBm 13 14 15 Typical sensitivity applies when ADDR0 is used for receiver address correlation. When ADDR[1...7] are used for receiver address correlation, the typical sensitivity for this mode is degraded by 3 dB. As defined in the Bluetooth Core Specification v4.0 Volume 6: Core System Package (Low Energy Controller Volume). Equivalent BER limit < 10E-04. 4454_140 v1.1 244 Peripherals -95.5 -96 Sensitivity [dBm] -96.5 -97 -97.5 -98 -98.5 -99 -40 -20 0 20 40 60 80 100 Temperature Range [°C] 1.7 V 3V 3.6 V Figure 91: Sensitivity, 1 Mbps Bluetooth low energy mode, Regulator = LDO (typical values) 6.14.16.6 RX selectivity RX selectivity with equal modulation on interfering signal16 Symbol Description C/I1M,co-channel 1Mbps mode, co-channel interference 9 dB C/I1M,-1MHz 1 Mbps mode, Adjacent (-1 MHz) interference -2 dB C/I1M,+1MHz 1 Mbps mode, Adjacent (+1 MHz) interference -10 dB C/I1M,-2MHz 1 Mbps mode, Adjacent (-2 MHz) interference -19 dB C/I1M,+2MHz 1 Mbps mode, Adjacent (+2 MHz) interference -42 dB C/I1M,-3MHz 1 Mbps mode, Adjacent (-3 MHz) interference -38 dB C/I1M,+3MHz 1 Mbps mode, Adjacent (+3 MHz) interference -48 dB C/I1M,±6MHz 1 Mbps mode, Adjacent (≥6 MHz) interference -50 dB C/I1MBLE,co-channel 1 Mbps BLE mode, co-channel interference 6 dB C/I1MBLE,-1MHz 1 Mbps BLE mode, Adjacent (-1 MHz) interference -2 dB C/I1MBLE,+1MHz 1 Mbps BLE mode, Adjacent (+1 MHz) interference -9 dB C/I1MBLE,-2MHz 1 Mbps BLE mode, Adjacent (-2 MHz) interference -22 dB C/I1MBLE,+2MHz 1 Mbps BLE mode, Adjacent (+2 MHz) interference -46 dB C/I1MBLE,>3MHz 1 Mbps BLE mode, Adjacent (≥3 MHz) interference -50 dB C/I1MBLE,image Image frequency interference -22 dB C/I1MBLE,image,1MHz Adjacent (1 MHz) interference to in-band image frequency -35 dB C/I2M,co-channel 2 Mbps mode, co-channel interference 10 dB C/I2M,-2MHz 2 Mbps mode, Adjacent (-2 MHz) interference 6 dB C/I2M,+2MHz 2 Mbps mode, Adjacent (+2 MHz) interference -14 dB C/I2M,-4MHz 2 Mbps mode, Adjacent (-4 MHz) interference -20 dB C/I2M,+4MHz 2 Mbps mode, Adjacent (+4 MHz) interference -44 dB 16 Min. Typ. Max. Units Desired signal level at PIN = -67 dBm. One interferer is used, having equal modulation as the desired signal. The input power of the interferer where the sensitivity equals BER = 0.1% is presented. 4454_140 v1.1 245 Peripherals Symbol Description Min. Typ. Max. Units C/I2M,-6MHz 2 Mbps mode, Adjacent (-6 MHz) interference -42 dB C/I2M,+6MHz 2 Mbps mode, Adjacent (+6 MHz) interference -47 dB C/I2M,≥12MHz 2 Mbps mode, Adjacent (≥12 MHz) interference -52 dB C/I2MBLE,co-channel 2 Mbps BLE mode, co-channel interference 6 dB C/I2MBLE,-2MHz 2 Mbps BLE mode, Adjacent (-2 MHz) interference -2 dB C/I2MBLE,+2MHz 2 Mbps BLE mode, Adjacent (+2 MHz) interference -13 dB C/I2MBLE,-4MHz 2 Mbps BLE mode, Adjacent (-4 MHz) interference -28 dB C/I2MBLE,+4MHz 2 Mbps BLE mode, Adjacent (+4 MHz) interference -48 dB C/I2MBLE,≥6MHz 2 Mbps BLE mode, Adjacent (≥6 MHz) interference -50 dB C/I2MBLE,image Image frequency interference -28 dB C/I2MBLE,image, 2MHz Adjacent (2 MHz) interference to in-band image frequency -44 dB C/I125k BLE LR,co- 125 kbps BLE LR mode, co-channel interference 4 dB C/I125k BLE LR,-1MHz 125 kbps BLE LR mode, Adjacent (-1 MHz) interference -9 dB C/I125k BLE LR,+1MHz 125 kbps BLE LR mode, Adjacent (+1 MHz) interference -16 dB C/I125k BLE LR,-2MHz 125 kbps BLE LR mode, Adjacent (-2 MHz) interference -30 dB C/I125k BLE LR,+2MHz 125 kbps BLE LR mode, Adjacent (+2 MHz) interference -50 dB C/I125k BLE LR,>3MHz 125 kbps BLE LR mode, Adjacent (≥3 MHz) interference -55 dB C/I125k BLE LR,image Image frequency interference -30 dB C/IIEEE 802.15.4,-5MHz IEEE 802.15.4 mode, Adjacent (-5 MHz) rejection -33 dB C/IIEEE 802.15.4,+5MHz IEEE 802.15.4 mode, Adjacent (+5 MHz) rejection -38 dB C/IIEEE 802.15.4,±10MHz IEEE 802.15.4 mode, Alternate (±10 MHz) rejection -48 dB channel 6.14.16.7 RX intermodulation RX intermodulation. Desired signal level at PIN = -64 dBm. Two interferers with equal input power are used. The interferer closest in frequency is not modulated, the other interferer is modulated equal with the desired signal. The input power of the interferers where the sensitivity equals BER = 0.1% is presented. Symbol Description Min. PIMD,5TH,1M IMD performance, 1 Mbps, 5th offset channel, packet length Typ. Max. Units -33 dBm -30 dBm -33 dBm -31 dBm ≤ 37 bytes PIMD,5TH,1M,BLE IMD performance, BLE 1 Mbps, 5th offset channel, packet length ≤ 37 bytes PIMD,5TH,2M IMD performance, 2 Mbps, 5th offset channel, packet length ≤ 37 bytes PIMD,5TH,2M,BLE IMD performance, BLE 2 Mbps, 5th offset channel, packet length ≤ 37 bytes 6.14.16.8 Radio timing Symbol Description Min. Max. Units tTXEN,BLE,1M Time between TXEN task and READY event after channel 140 Typ. 140 µs 40 40 µs 6 6 µs 140 140 µs 40 40 µs FREQUENCY configured (1 Mbps BLE and 150 µs TIFS) tTXEN,FAST,BLE,1M Time between TXEN task and READY event after channel FREQUENCY configured (1 Mbps BLE with fast ramp-up and 150 µs TIFS) tTXDIS,BLE,1M When in TX, delay between DISABLE task and DISABLED event for MODE = Nrf_1Mbit and MODE = Ble_1Mbit tRXEN,BLE,1M Time between the RXEN task and READY event after channel FREQUENCY configured (1 Mbps BLE) tRXEN,FAST,BLE,1M Time between the RXEN task and READY event after channel FREQUENCY configured (1 Mbps BLE with fast ramp-up) 4454_140 v1.1 246 Peripherals Symbol Description Min. tRXDIS,BLE,1M When in RX, delay between DISABLE task and DISABLED Typ. Max. Units 0 0 µs 4 4 µs 0 0 µs 130 130 µs 40 40 µs 21 21 µs 130 130 µs 40 40 µs 0.5 0.5 µs event for MODE = Nrf_1Mbit and MODE = Ble_1Mbit tTXDIS,BLE,2M When in TX, delay between DISABLE task and DISABLED event for MODE = Nrf_2Mbit and MODE = Ble_2Mbit tRXDIS,BLE,2M When in RX, delay between DISABLE task and DISABLED event for MODE = Nrf_2Mbit and MODE = Ble_2Mbit tTXEN,IEEE 802.15.4 Time between TXEN task and READY event after channel FREQUENCY configured (IEEE 802.15.4 mode) tTXEN,FAST,IEEE 802.15.4 Time between TXEN task and READY event after channel FREQUENCY configured (IEEE 802.15.4 mode with fast rampup) tTXDIS,IEEE 802.15.4 When in TX, delay between DISABLE task and DISABLED event (IEEE 802.15.4 mode) tRXEN,IEEE 802.15.4 Time between the RXEN task and READY event after channel FREQUENCY configured (IEEE 802.15.4 mode) tRXEN,FAST,IEEE 802.15.4 Time between the RXEN task and READY event after channel FREQUENCY configured (IEEE 802.15.4 mode with fast rampup) tRXDIS,IEEE 802.15.4 When in RX, delay between DISABLE task and DISABLED event (IEEE 802.15.4 mode) tRX-to-TX turnaround Maximum TX-to-RX or RX-to-TX turnaround time in IEEE 40 µs 802.15.4 mode 6.14.16.9 Received signal strength indicator (RSSI) specifications Symbol Description RSSIACC RSSI accuracy RSSIRESOLUTION RSSIPERIOD RSSISETTLE Min. Typ. Max. Units ±2 dB RSSI resolution 1 dB RSSI sampling time from RSSI_START task 0.25 µs RSSI settling time after signal level change 15 µs 17 6.14.16.10 Jitter Symbol Description tDISABLEDJITTER Jitter on DISABLED event relative to END event when Min. Typ. Max. Units 0.25 µs 0.25 µs shortcut between END and DISABLE is enabled tREADYJITTER Jitter on READY event relative to TXEN and RXEN task 6.14.16.11 IEEE 802.15.4 mode energy detection constants Symbol Description Min. Typ. Max. ED_RSSISCALE Scaling value when converting between hardware-reported 4 4 4 -92 -92 -92 value and dBm ED_RSSIOFFS Offset value when converting between hardware-reported value and dBm 17 Valid range -90 to -30 dBm 4454_140 v1.1 247 Units Peripherals 6.15 RNG — Random number generator The Random number generator (RNG) generates true non-deterministic random numbers based on internal thermal noise that are suitable for cryptographic purposes. The RNG does not require a seed value. START Random number generator STOP VALRDY VALUE Figure 92: Random number generator The RNG is started by triggering the START task and stopped by triggering the STOP task. When started, new random numbers are generated continuously and written to the VALUE register when ready. A VALRDY event is generated for every new random number that is written to the VALUE register. This means that after a VALRDY event is generated the CPU has the time until the next VALRDY event to read out the random number from the VALUE register before it is overwritten by a new random number. 6.15.1 Bias correction A bias correction algorithm is employed on the internal bit stream to remove any bias toward '1' or '0'. The bits are then queued into an eight-bit register for parallel readout from the VALUE register. It is possible to enable bias correction in the CONFIG register. This will result in slower value generation, but will ensure a statistically uniform distribution of the random values. 6.15.2 Speed The time needed to generate one random byte of data is unpredictable, and may vary from one byte to the next. This is especially true when bias correction is enabled. 6.15.3 Registers Base address Peripheral Instance Description Configuration 0x4000D000 RNG RNG Random number generator Table 73: Instances Register Offset Description TASKS_START 0x000 Task starting the random number generator TASKS_STOP 0x004 Task stopping the random number generator EVENTS_VALRDY 0x100 Event being generated for every new random number written to the VALUE register SHORTS 0x200 Shortcuts between local events and tasks INTENSET 0x304 Enable interrupt INTENCLR 0x308 Disable interrupt CONFIG 0x504 Configuration register VALUE 0x508 Output random number Table 74: Register overview 6.15.3.1 TASKS_START Address offset: 0x000 4454_140 v1.1 248 Peripherals Task starting the random number generator Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description TASKS_START Task starting the random number generator Trigger 1 Trigger task 6.15.3.2 TASKS_STOP Address offset: 0x004 Task stopping the random number generator Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Trigger 1 Description TASKS_STOP Task stopping the random number generator Trigger task 6.15.3.3 EVENTS_VALRDY Address offset: 0x100 Event being generated for every new random number written to the VALUE register Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW EVENTS_VALRDY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Event being generated for every new random number written to the VALUE register NotGenerated 0 Event not generated Generated 1 Event generated 6.15.3.4 SHORTS Address offset: 0x200 Shortcuts between local events and tasks Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW VALRDY_STOP 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Disabled 0 Disable shortcut Enabled 1 Enable shortcut Shortcut between event VALRDY and task STOP 6.15.3.5 INTENSET Address offset: 0x304 4454_140 v1.1 249 Peripherals Enable interrupt Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW VALRDY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Write '1' to enable interrupt for event VALRDY Set 1 Enable Disabled 0 Read: Disabled Enabled 1 Read: Enabled 6.15.3.6 INTENCLR Address offset: 0x308 Disable interrupt Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW VALRDY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Clear 1 Disable Disabled 0 Read: Disabled Enabled 1 Read: Enabled Write '1' to disable interrupt for event VALRDY 6.15.3.7 CONFIG Address offset: 0x504 Configuration register Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A Reset 0x00000000 ID Access Field A RW DERCEN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description Disabled 0 Disabled Enabled 1 Enabled Bias correction 6.15.3.8 VALUE Address offset: 0x508 Output random number Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ID A A A A A A A A Reset 0x00000000 ID Access Field A R VALUE 4454_140 v1.1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Value ID Value Description [0..255] Generated random number 250 Peripherals 6.15.4 Electrical specification 6.15.4.1 RNG Electrical Specification Symbol Description tRNG,START Time from setting the START task to generation begins. Min. Typ. Max. Units 128 µs 30 µs 120 µs This is a one-time delay on START signal and does not apply between samples. tRNG,RAW Run time per byte without bias correction. Uniform distribution of 0 and 1 is not guaranteed. tRNG,BC Run time per byte with bias correction. Uniform distribution of 0 and 1 is guaranteed. Time to generate a byte cannot be guaranteed. 6.16 RTC — Real-time counter The Real-time counter (RTC) module provides a generic, low power timer on the low-frequency clock source (LFCLK). 32.768 kHz START STOP CLEAR TRIGOVRFLW task PRESCALER event TICK event OVRFLW event COMPARE[0..N] COUNTER task RTC task task CC[0:3] Figure 93: RTC block schematic The RTC module features a 24-bit COUNTER, a 12-bit (1/X) prescaler, capture/compare registers, and a tick event generator for low power, tickless RTOS implementation. 6.16.1 Clock source The RTC will run off the LFCLK. The COUNTER resolution will therefore be 30.517 μs. Depending on the source, the RTC is able to run while the HFCLK is OFF and PCLK16M is not available. The software has to explicitely start LFCLK before using the RTC. See CLOCK — Clock control on page 64 for more information about clock sources. 6.16.2 Resolution versus overflow and the PRESCALER 4454_140 v1.1 251 Peripherals Counter increment frequency: fRTC [kHz] = 32.768 / (PRESCALER + 1 ) The PRESCALER register is read/write when the RTC is stopped. The PRESCALER register is read-only once the RTC is STARTed. Writing to the PRESCALER register when the RTC is started has no effect. The PRESCALER is restarted on START, CLEAR and TRIGOVRFLW, that is, the prescaler value is latched to an internal register () on these tasks. Examples: 1. Desired COUNTER frequency 100 Hz (10 ms counter period) PRESCALER = round(32.768 kHz / 100 Hz) - 1 = 327 fRTC = 99.9 Hz 10009.576 μs counter period 2. Desired COUNTER frequency 8 Hz (125 ms counter period) PRESCALER = round(32.768 kHz / 8 Hz) – 1 = 4095 fRTC = 8 Hz 125 ms counter period Prescaler Counter resolution Overflow 0 30.517 μs 512 seconds 28-1 7812.5 μs 131072 seconds 212-1 125 ms 582.542 hours Table 75: RTC resolution versus overflow 6.16.3 COUNTER register The COUNTER increments on LFCLK when the internal PRESCALER register () is 0x00. is reloaded from the PRESCALER register. If enabled, the TICK event occurs on each increment of the COUNTER. The TICK event is disabled by default. SysClk LFClk TICK PRESC COUNTER 0x000 0x000 0x000 0x000 0x000 0x000000 0x000001 0x000002 0x000003 Figure 94: Timing diagram - COUNTER_PRESCALER_0 4454_140 v1.1 252 Peripherals SysClk LFClk TICK PRESC 0x001 0x000 COUNTER 0x001 0x000000 0x000 0x001 0x000001 Figure 95: Timing diagram - COUNTER_PRESCALER_1 6.16.4 Overflow features The TRIGOVRFLW task sets the COUNTER value to 0xFFFFF0 to allow SW test of the overflow condition. OVRFLW occurs when COUNTER overflows from 0xFFFFFF to 0. Important: The OVRFLW event is disabled by default. 6.16.5 TICK event The TICK event enables low power "tick-less" RTOS implementation as it optionally provides a regular interrupt source for a RTOS without the need to use the ARM® SysTick feature. Using the RTC TICK event rather than the SysTick allows the CPU to be powered down while still keeping RTOS scheduling active. Important: The TICK event is disabled by default. 6.16.6 Event control feature To optimize RTC power consumption, events in the RTC can be individually disabled to prevent PCLK16M and HFCLK being requested when those events are triggered. This is managed using the EVTEN register. For example, if the TICK event is not required for an application, this event should be disabled as it is frequently occurring and may increase power consumption if HFCLK otherwise could be powered down for long durations. This means that the RTC implements a slightly different task and event system compared to the standard system described in Peripheral interface on page 77. The RTC task and event system is illustrated in Tasks, events and interrupts in the RTC on page 254. 4454_140 v1.1 253 Peripherals Task signal from PPI RTC write TASK OR task RTC core event EVTEN m INTEN m EVENT m IRQ signal to NVIC Event signal to PPI Figure 96: Tasks, events and interrupts in the RTC 6.16.7 Compare feature There are a number of Compare registers. For more information, see Registers on page 259. When setting a compare register, the following behavior of the RTC compare event should be noted: • If a CC register value is 0 when a CLEAR task is set, this will not trigger a COMPARE event. SysClk LFClk PRESC COUNTER 0x000 X 0x000000 CLEAR CC[0] 0x000000 COMPARE[0] 0 Figure 97: Timing diagram - COMPARE_CLEAR • If a CC register is N and the COUNTER value is N when the START task is set, this will not trigger a COMPARE event. 4454_140 v1.1 254 Peripherals SysClk LFClk PRESC 0x000 COUNTER N-1 N N+1 START CC[0] N COMPARE[0] 0 Figure 98: Timing diagram - COMPARE_START • COMPARE occurs when a CC register is N and the COUNTER value transitions from N-1 to N. SysClk LFClk PRESC COUNTER 0x000 N-2 N-1 CC[0] N N+1 N COMPARE[0] 0 1 Figure 99: Timing diagram - COMPARE • If the COUNTER is N, writing N+2 to a CC register is guaranteed to trigger a COMPARE event at N+2. SysClk LFClk PRESC COUNTER 0x000 N-1 N N+1 N+2 > 62.5 ns CC[0] COMPARE[0] X N+2 0 1 Figure 100: Timing diagram - COMPARE_N+2 • If the COUNTER is N, writing N or N+1 to a CC register may not trigger a COMPARE event. 4454_140 v1.1 255 Peripherals SysClk LFClk PRESC COUNTER 0x000 N-2 N-1 N N+1 >= 0 CC[0] X N+1 COMPARE[0] 0 Figure 101: Timing diagram - COMPARE_N+1 • If the COUNTER is N and the current CC register value is N+1 or N+2 when a new CC value is written, a match may trigger on the previous CC value before the new value takes effect. If the current CC value greater than N+2 when the new value is written, there will be no event due to the old value. SysClk LFClk PRESC COUNTER CC[0] 0x000 N-2 N-1 N N+1 >= 0 N X COMPARE[0] 0 1 Figure 102: Timing diagram - COMPARE_N-1 6.16.8 TASK and EVENT jitter/delay Jitter or delay in the RTC is due to the peripheral clock being a low frequency clock (LFCLK) which is not synchronous to the faster PCLK16M. Registers in the peripheral interface, part of the PCLK16M domain, have a set of mirrored registers in the LFCLK domain. For example, the COUNTER value accessible from the CPU is in the PCLK16M domain and is latched on read from an internal register called COUNTER in the LFCLK domain. COUNTER is the register which is actually modified each time the RTC ticks. These registers must be synchronised between clock domains (PCLK16M and LFCLK). The following is a summary of the jitter introduced on tasks and events. Figures illustrating jitter follow. Task Delay CLEAR, STOP, START, TRIGOVRFLOW +15 to 46 μs Table 76: RTC jitter magnitudes on tasks 4454_140 v1.1 256 Peripherals Operation/Function Jitter START to COUNTER increment COMPARE to COMPARE +/- 15 μs +/- 62.5 ns 18 Table 77: RTC jitter magnitudes on events 1. CLEAR and STOP (and TRIGOVRFLW; not shown) will be delayed as long as it takes for the peripheral to clock a falling edge and rising of the LFCLK. This is between 15.2585 μs and 45.7755 μs – rounded to 15 μs and 46 μs for the remainder of the section. SysClk CLEAR LFClk PRESC COUNTER CLEARa 0x000 X X+1 0x000000 0x000001 0 or more SysClk after = ~15 us 1 or more SysClk before CLEARb Figure 103: Timing diagram - DELAY_CLEAR SysClk STOP LFClk PRESC COUNTER STOPa STOPb 0x000 X X+1 0 or more SysClk after = ~15 us 1 or more SysClk before Figure 104: Timing diagram - DELAY_STOP 2. The START task will start the RTC. Assuming that the LFCLK was previously running and stable, the first increment of COUNTER (and instance of TICK event) will be typically after 30.5 μs +/-15 μs. In some cases, in particular if the RTC is STARTed before the LFCLK is running, that timing can be up to ~250 μs. The software should therefore wait for the first TICK if it has to make sure the RTC is running. Sending a TRIGOVRFLW task sets the COUNTER to a value close to overflow. However, since the update of COUNTER relies on a stable LFCLK, sending this task while LFCLK is not running will start LFCLK, but the update will then be delayed by the same amount of time of up to ~250 us. The figures show the smallest and largest delays to on the START task which appears as a +/-15 μs jitter on the first COUNTER increment. 18 Assumes RTC runs continuously between these events. Note: 32.768 kHz clock jitter is additional to the numbers provided above. 4454_140 v1.1 257 Peripherals SysClk First tick LFClk PRESC 0x000 COUNTER X X+1 X+2 X+3 >= ~15 us 0 or more SysClk before START Figure 105: Timing diagram - JITTER_STARTSysClk First tick LFClk PRESC 0x000 COUNTER X X+1 X+2
NRF52811-QCAA-R7 价格&库存

很抱歉,暂时无法提供与“NRF52811-QCAA-R7”相匹配的价格&库存,您可以联系我们找货

免费人工找货
NRF52811-QCAA-R7
  •  国内价格
  • 5+19.18413
  • 375+18.76290
  • 750+18.35990

库存:1205

NRF52811-QCAA-R7
  •  国内价格
  • 375+18.76290
  • 750+18.35990

库存:1205