/
Integrated Zephyr Connectivity Integrated Zephyr Connectivity

Integrated Zephyr Connectivity - PowerPoint Presentation

celsa-spraggs
celsa-spraggs . @celsa-spraggs
Follow
350 views
Uploaded On 2019-12-04

Integrated Zephyr Connectivity - PPT Presentation

Integrated Zephyr Connectivity Zephyr Connectivity Current status Bluetooth Smart API HCI host stack 5wire UART HCI driver 3wire UART HCI driver Intel Curie Module Bluetooth Driver 802154 MAC cc2520 ID: 769104

buffer bluetooth data hci bluetooth buffer hci data net amp fifo host zephyr smart ipv6 stack driver 30pm 6lowpan

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Integrated Zephyr Connectivity" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Integrated Zephyr Connectivity

Zephyr Connectivity: Current status Bluetooth Smart API HCI host stack 5-wire UART HCI driver 3-wire UART HCIdriver Intel® Curie™ ModuleBluetoothDriver 802.15.4 MAC (cc2520) 802.3(Intel® Galileo™ 2 Ethernet transceiver) UDP DTLS CoAP IPv6 6LoWPAN

Buffers in Zephyr Comms Stacksstruct net_bufAnalogous to Linux kernel sk_buffStatic (build-time) allocationFree buffers managed through a FIFO buf = net_buf_get (fifo);Helpers for encoding & decoding Optional protocol specific user-dataReference counting & minimizing data copies

6LoWPAN 6LoWPAN - IPv6 over Low power Wireless Personal Area Networks.Defines way of sending IPv6 over 802.15.4 networks and Bluetooth Smart Connection-oriented Channelslink-local IPv6 addresses and stateless IPv6 address auto-configurationNeighbor Discovery (RFC 6775) Header Compression IPSP: 6LoWPAN for Bluetooth Adopted late 2014Requires L2CAP Connection oriented Channels Uses RFC 7668: IPv6 over Bluetooth Low EnergyTwo rolesNodeRouter IPv6 6LoWPAN 802.15.4 MAC Bluetooth Smart FIFO pair Application Fiber Task Fiber FIFO pair

IP stack Rx fiberGlobal Rx FIFO for receivingarray of network contexts (“sockets”)Look up Tasks’ Rx FIFOsTask read: net_receive() write: net_buf_get(), net_send ()Tx fiberGlobal Tx FIFO for sendingWrite to “driver’s” Tx FIFO RX fiber MAC driver Task B Task A TX fiber TX FIFO RX FIFO IP stack Global RX FIFO

UDP Hello World data[] = “Hello world!”; net_init () ; /* Initialize network subsystem */context = allocate_network_context (); /* Populate data structures */tx_buffer = ip_buf_get_tx (context, data_length); /* Allocate TX buffer */memcpy( get_data_pointer (tx_buffer ), data, data_length); /* Fill TX buffer */ net_send ( tx_buffer ); /* Actually send the data */ … rx_buffer = net_receive(context, WAIT_TICKS ); /* Wait to get data from net */ if (rx_buffer ) { use_data(get_data ( rx_buffer )); /* Make some use of the data */ ip_buf_unref ( rx_buffer ); /* Recycle the buffer */ }

Developing IP Application in QEMU Develop Zephyr IP applications using host network adapter Connect two VMs togetherUse tunslip tool from ConTikiTrace network traffic IP stack SLIP driver Application Zephyr/QEMU /dev/net/tun0Linux/Host UART tunslip6

Bluetooth Smart HCI Host Stack Bluetooth 4.2 compliant GAP (Generic Access Profile)Peripheral & CentralObserver & BroadcasterGATT (Generic Attribute Profile)Server to be a sensorClient to access sensorsIPSP for IPv6 over Bluetooth SmartClean HCI driver abstraction 3-Wire (H:5) & 5-Wire (H:4) drivers availabledrivers/bluetooth/ for drivers, net/ bluetooth/ for stackVerified with multiple popular controllersSupporting both nano- & micro kernels   Highly configurableFeatures, buffer sizes/counts, etc Bluetooth Smart API HCI CoreHCI Driver L2CAP L2CAP CoC ATT SMP IPSP/6LoWPAN GATT GAP

Configuring Bluetooth Features Select HCI driver Features GAP/GATT roles Security (pairing & signing) Define buffer sizes & counts Number of paired devicesNumber of connectionsEnable debug options

Creating Bluetooth Smart Service Initialize the stack bt_init()Register GATT service databasebt_gatt_register(array of attributes)Advertise your presence & let others connect bt_le_adv_start(parameters) Notify of value changesbt_gatt_notify (params)Samples found under samples/bluetooth/*

Developing for Bluetooth in QEMU Develop Zephyr Bluetooth Application using host HCI adapter Trace HCI commandsLinux host + qemuBlueZ btproxy tool to forward local (host) adapter to qemu Any type of local adapter supported (transport gets converted to H:4)Linux-side HCI tracing (with btmon or hcidump) Just a matter of “btproxy -u” & “make qemu” HCI Host Stack 5-wire UART HCIdriver Application Zephyr/QEMU Host Bluetooth DriverLinux/Host UART btproxy

Intel® Curie™ Bluetooth Smart Driver Custom RPC protocol exposed by Nordic Semiconductor nRF51822 chip on Arduino 101/Curie ™Available as a dedicated driver (drivers/nble) that implements the same API (include/bluetooth /*.h) as the HCI based stackSubset of HCI stack features (only Bluetooth 4.0)

Summary Integrated Zephyr connectivity allows to create Bluetooth Smart and 15.4-conncted applications in an open-source way In the coming months, we plan to add TCP, IPv4, Bluetooth BR EDR functionality and number of other enhancements including Smart Mesh supportWe warmly welcome both users of and contributors to our software!

Find Out More at Embedded World Demos showcasing technology, tools and 3 rd party integrationSpeak with Zephyr Project representativesMeet with Linux Foundation to learn more about membershipTuesday, Feb 23 Wednesday, Feb 24Thursday, Feb 2510:00am – 10:45am Project Overview10:30am – 11:45am Project Overview9:30am – 10:15amProject Overview11:00am – 11:45am Tech Overview 1:30pm – 2:15pmTech Overview 10:30am – 11:15amTech Overview3:00pm – 3:45pm UbiquiOS 2:30pm – 3:15pm UbiquiOS1:30pm – 2:15pm UbiquiOS 4:00pm – 4:45pmComms Overview3:30pm – 4:15pm Comms Overview2:30pm – 3:15pm Comms Overview 5:00pm – 5:45pm Security4:30pm – 5:15pm Security 3:30pm – 4:15pmSecurity 2/22/2016 14 Attend Booth Sessions Explore the Booth

15 www.zephyrproject.org