CC2650 RF Min-ju Kang RTLAB
Contents Introduction Application BLE Protocol Stack Packet Error Rate Test Further Work
CC2650 Platform Main CPU : ARM Cortex-M3 processor handles Application layer and Protocol stacks. Radio Core : ARM Cortex-M0 processor handles all the low-level radio control and processing about PHY, Link layer.
Software Architecture CC2650 BLE RTOS Application Image Stack Image
Software Architecture Zigbee
Application
Sample Project Build Application Build Stack Run -> Debug Stack Run -> Debug Application If Stack Project Not Modified, the only steps are 1 -> 3.
Main() Priority Task 5 BLE Protocol Stack task 3 GapRole task (peripheral role) 1 Application task (SimpleBLEPeripheral)
Icall Service BLE Protocol Stack Service Primitive Service Application <-> Stack Enable independent updating of application / stack Primitive Service Messaging and Thread Synchronization Heap Allocation / Management
Prior to Icall At Stack, enroll Icall At App, register with Icall (in OSAL_ICallBle.c) At Stack, enroll Icall At App, register with Icall (in simpleBLEPeripheral.c)
Icall Functionality Icall Initialization and Registration (in simpleBLEPeripheral.c) Icall Initialization and Registration Icall Thread synchronization Semaphore is signaled by two conditions. (enqueueMsg or Icall_signal) (in simpleBLEPeripheral.c)
Icall Usage 1. Inter-task Messages (in simpleBLEPeripheral.c)
Icall Usage 2. Inter-Task Events (in peripheral.c)
Icall Usage 3. Messages Posted to the Application Task’s RTOS Queue Callback Func (in simpleBLEPeripheral.c)
Icall Usage 4. Event Signaled Via the Internal Event Variable
Icall Usage 5. Callback The actual callback The function to process in the application context Popped from queue
BLE Protocol Stack CC25xx -> CC26xx
GAP Connection Functionality Directly Call GAP API Device discovery, link establishment, link termination Initiation of security features, and device configuration Directly Call GAP API (in simpleBLEPeripheral.c)
GAPRole Task – Peripheral role 1. Initialize GAPRole parameters 2. Initialize the GAPRole task
GAPRole Task – Peripheral role Send GAPRole commands as desired from the application APP -> Stack ICall
GAPRole Task – Peripheral role Process most of the GAP-related events passed to Application from Stack Stack -> APP ICall GAPRole Application
Packet Error Test
Packet Error Test RF Protocol : BLE Channel : 37 (2402MHz) Packets : 1000 Packets/s : 10 TX Power : 5dBm Rx Tx
Packet Error Test
Further Work Zigbee Stack with ICall BLE & Zigbee