Professional Documents
Culture Documents
nRF8001 , Bluetooth Connectivity solution. Uses an external MCU for user application. Visual editor for Bluetooth low energy configuration. Drivers available for multiple MCUs. nRF8002 , Bluetooth Proximity solution. Single chip solution. No software coding required. Visual editor to do configuration.
nRF8002
nRF51822 nRF51922
nRF51822 and nRF51922 , Bluetooth low energy and multi protocol solution Single chip solution. ARM Cortex-M0
nRF8001
Operates in the peripheral role Integrated Host stack Integrated Link Layer Qualified radio
External MCU
ACI
nRF8001
Simple ACI command and Event interface
ACI Command External MCU
nRF8001
nRFgo Studio as the visual editor for creating Bluetooth Services and Characteristics ACI drivers available for multiple MCU platforms Requires 5 lines for connection ACI is an SPI slave with additional handshake lines Use the SPI master on your MCU or implement the SPI in software
MISO, MOSI, SCK, REQN (similar to a Chip select), RDYN (nRF8001 is ready)
ACI Event
nRF8001
Optional ACTIVE line to show when the nRF8001 radio is in use and the duration of use
ACI Command External MCU
nRF8001
Optional DC-DC to reduce power consumption Optional 32 KHz Crystal (Can use the built-in 32 KHz internal oscillator) Option to supply 16MHz clock from external source and avoid using the 16MHz Crystal
ACI Event
nRF8001
nRF8001 includes a GATT Server and GATT client ACI interfaces to the GATT Server and GATT Portable C Source code available for ACI library for porting to your MCU. Implementations available on multiple MCU platforms Demo to Send/Receive Data from an Arduino board to the iPhone using the Bluetooth low energy Shield for Arduino UART over BLE (proprietary Service)
ACI ACI ACI ACI ACI ACI Commands and Event used in UART over BLE Setup Connect Pipe Status Event Send Data Data Received Event
GATT
Proprietary Service over Generic Attribute Profile
nRF2740 and nRF2741 modules can be used with the Arduino. The modules are included with the Nordic semi nRF8001 Development kit
Bluetooth low energy shield (nRF8001)
Connect Advertise
Use the ble_uart_project _template in Bluetooth low energy SDK for Arduino
Arduino
http://devzone.nordicsemi.com/arduino
nRF UART app for iOS nRF UART app for Samsung Galaxy S4 Send and Receive data
10
11
nRF8002
Single chip solution for proximity solutions Link Loss, Immediate Alert, Battery, TX power Services Find Me and Alert Notification Profiles 3 Digital Outputs, 1 PWM output 2 Digital Inputs (Buttons, LEDs, Buzzers and Vibration) No software coding required Configure with a Visual Editor (nRFgo Studio) Production settings generated from nRFgo Studio iOS app sample code available (nRF Proximity)
nRF8002
12
nRF8002
Fully functional Bluetooth low energy proximity tag Buzzer LEDs Buttons
13
nRF51822
nRF51822 IC
Multi-protocol Bluetooth low energy / 2.4GHz RF SoC
Memory
Timers / Counters Analog I/O 256kB/ 128kB Flash Digital I/O APB bus AHB Lite bus
256kB Flash, 16kB RAM 128kB Flash, 16kB RAM 2x SPI Master, 2x 2-wire Master, UART, 10-bit ADC, Quadrature Demodulator 16-channel PPI, 128-bit AES ECB/CCM/AAR coprocessor, RNG, Temp sensor, Watchdog 16/32 MHz XO, 32kHz XO 16 MHz RC, 32kHz 250ppm RC 2 16-bit Timers, 1 24-bit Timer , 2 24-bit RTC LDO (1.8 to 3.6V), LDO bypass (1.75 to 1.95V) Buck DC/DC (2.1 to 3.6V) S110 -Bluetooth low energy Softdevice Gazell 2.4GHz RF (SDK) 6x6mm 48-pin QFN (31) 3.5x3.8mm 62-ball WLCSP (32)
System Peripherals
16kB RAM
Processor
16 MHz 32-bit ARM Cortex-M0 CPU
Power Supply
Power Supply
(Supply range)
GPIO
Radio
Multi-protocol 2.4GHz
Software stacks
Oscillators
Package options
(GPIO count)
nRF51822
Production-ready, qualified stack Controller, Host, Services and Profiles Peripheral and Broadcaster role
nRF518 SDK
SVC APIs
S110 Softdevice
Controller Host stack up to GATT and GAP L2CAP, GATT and GAP APIs Thread-safe, asynchronous and event driven API Memory isolation between application and protocol stack for robustness and security Pre-compiled hex
GAP
nRF51 SDK
Services, profiles and example code Source code
S110 Softdevice
nRF518xx SoC
nRF51822
nRF518 SDK
Gazell 2 Software Stack Software Libraries (Common nRF51 ICs)
Example application code Bluetooth low energy Services and Profiles Softdevice API ESB API Drivers
Software Libraries
Common for all nRF51 ICs ARM CMSIS (-CORE, -SVD, -DSP) Enhanced ShockBurst API
Gazell 2 Protocols
ARM CMSIS
nRF518xx SoC
17
18
Memory Map
19
Memory Map
20
ON
OFF
21
nRF51822
Development and Evaluation Kit
nRF51822
Fully featured for full system development Range of I/O options via nRFgo motherboard RF-stable development platform Enables detailed measurement & test
Current measurements RF measurements using SMA connector
USB dongle
nRF51822
Eval-board
24
25
26
Heart Rate
Battery
Application
Application Drivers
GAP
SMP
27
28
Application drivers
Heart Rate Battery Application
SoftDevice API
Application Drivers
GAP
SMP
29
Timer
CPU
GPIO
PIN
PPI Controller
GPIOTE
PIN
30
CLEAR
Timer
COMPARE
CPU
GPIO
PPI Controller
GPIOTE
PIN
31
CLEAR
Timer [1]
COMPARE [0]
32
DETECT
CPU
GPIO
PIN
33
OUT.0
PIN_CNF[0].DIR
PIN0
DETECT
Sense
PIN0_CNF.SENSE PIN_CNF[0].PULL PIN_CNF[0].INPUT
GPIO
PIN ??
I: input buffer
34
nRF51822 SoftDevice
35
SoftDevice API
Application Drivers
GAP
SMP
36
Ease of Development
Code safety
37
Call Stack
38
39
Softdevice
int ble_function (arg0, arg1, arg2, arg3) { return(ret0); } SVC_Handler switch (SVC_number) case X: Ret = ble_function_0 (arg0, arg1, arg2, arg3)
40
Softdevice@Run-time
Cortex M0 has 4 interrupt priorities SoftDevice uses 2 priorities to implement its event-driven behavior
Lower Stack (BLE Link Layer), Upper Stack (SVC API, BLE Host)
41
Softdevice@Run-time
API Calls
Made from MAIN & App(L)
Protocol Event
Signaling from LowerStack done with chained interrupts
42
43
44
SoftDevice API
Application Drivers
GAP
SMP
45
Application
SVC
SWI2 ble_evt_get()
SVC
GAP API
GATTS API
46
Connection
SVC EVT
Security
SVC EVT
47
connect() BLE_GAP_EVT_CONNECTED
48
ATT Table
Service
Char. Char.
SVC EVT
GATT hierarchy enforcement
Service
SVC EVT
ATT Protocol
Server Initiated (HVx) ATT Table Access Control
Char. Char.
49
ble_gatts_service_add(HRS)
ble_gatts_characteristic_add(HRM, 80bpm)
0x0003 0x0004
ble_gatts_characteristic_add(HSL, FINGER)
0x0005
50
Central
Service Discovery
ble_gatts_hvx(0x0003,
87bpm
87
51
ADC
CPU operation
READ
52
Battery Notify
HRS Notify
Button Sample
John So
DEMO
John So