In a series of blogs on BLE, we have discussed in detail about the Bluetooth technology, its classifications, its popular variant BLE and various hardware design considerations such as SoC selection, RF layout and Antenna selection. These posts were primarily in perspective of hardware design.  Bringing up the software functionality is mostly straight forward as the stack is provided by the silicon vendor and will run with little or no modifications. But improving and optimizing the performance is a different story altogether. In this series of blog, we will discuss about various parameters related to BLE operations and important considerations while working with BLE devices.

To begin with, some of the important aspects of Bluetooth low energy communication are as follows,

  1. Advertisement interval
  2. Connection interval
  3. Slave latency
  4. Connection supervision timeout
  5. Data throughput

Understanding the above aspects will help any developer to lower the device power consumption, increase the speed of connection and improve the reliability of data transmission and reception.

In the following sections of this blog, we will discuss in detail about the BLE Advertisement process along with a practical example based on Embien’s eStorm-B1 Bluetooth Low Energy module by capturing the Advertisement packets using the nRF sniffer.

BLE Physical Layer

It is important to know about the BLE physical layer, such that we understand the BLE communication better, because physical layer includes the actual RF radio and is in charge of sending the signals over the air.

Bluetooth Low Energy is similar to classic Bluetooth where both of them use 2.4GHz spectrum but differ from each other with different modulation index. Classic Bluetooth uses 79 channels whereas BLE uses only 40 channels and are the channels of both are spaced differently. Due to this, the BLE and classic Bluetooth cannot communicate. But there are modules that can support both BLE and classic Bluetooth which operates by switching its modulation parameters and the channels.

The 2.4GHz spectrum of BLE is divided into 40 channels (0 to 39) which extend from 2402MHz to 2480 MHz with 2MHz spacing. Among the 40 channels, BLE advertisement takes place in 3 channels (37, 38 and 39) and data exchange takes place in remaining 37 channels.

The following image illustrates the channel layout of BLE with 3 advertising and 37 data channels.

Channel Layouts of BLE

BLE – Channel Layout

BLE Communication

BLE communication takes place between a “central device” (for example Android Smartphone or iPhone) and a “peripheral device” (for example eStorm-B1 BLE module). Any BLE communication can happen only with the following two modes,

  1. Advertisement mode
  2. Connection mode

BLE advertisement mode by default is uni-directional and will be initiated only by the peripheral device through sending advertisement packets. The peripheral device will broadcast advertisement to every device around it.

Connection can be initiated only by the central device (within the communication range of the peripheral device) to receive more information. Only in connection mode, both the peripheral and central device can send packets.

Connection cannot be done between two devices without using advertisements and central device cannot send any packets to peripheral device without a connection. 

BLE advertisement Interval

BLE peripheral device in advertisement mode will send advertisement packets periodically on each advertising channels (channel 37, channel 38 and channel 39) at a user defined interval called “Advertisement interval”. Setting advertising interval is the first and foremost task for any developer, since the value has great impact on the connection speed and power consumption. The advertising interval can be as short as 20 milliseconds or as long as 10.24 seconds.

In practical case, the time interval between the advertisement packets will have a fixed interval set by the user and a random interval between 0 millisecond to 10milliseconds. This random interval will be added automatically in order to avoid collision between advertisements of different devices.

Interval between BLE Advertising events

BLE Advertisement Interval

A short advertisement interval will enhance the central device to find the peripheral device quickly. On the other hand, due to frequent radio operation the power consumption becomes higher. So the developer should set a value balancing the speed and power consumption.

eStorm-B1 module – UART to BLE setup for capturing advertisement packets and interval

In this example, eStorm-B1 BLE module and PC communication is established via UART. UART interface is available in the module in TTL level and a UART to USB Bridge is used to connect the module with the PC via USB port. A windows console application “UART_BLE” is developed to simply the process of communications such as,

  1. Starting and stopping advertisements
  2. Transmit and receive data’s
  3. Set and get BLE RF parameters such as
    1. Transmit power
    2. Advertisement interval and
    3. Connection interval
  4. Enabling interrupts
  5. Get interrupt status

nRF Sniffer, a windows application from Nordic Semiconductor, together with Wireshark, is used for viewing the Bluetooth Low Energy communication between two devices using BLE. In this example, BLE advertisement packets sent from eStorm-B1 and the interval between two advertisements are sniffed.

The following images are the screen shots that depicts the advertisement interval of 5 seconds being set in eStorm-B1 BLE module via “UART_BLE”, a windows console application and the Wireshark capture done via nRF sniffer application for observing the advertising packets and interval.

UARTBLE Console application

Embien’s UARTBLE-Console application for eStorm-B1

 

Nordic Sniffer application for BLE

nRF BLE Sniffer Application

 

Wireshark capture of BLE Advertisement interval

BLE Advertisement interval – Wireshark Capture

 

BLE Tags and BLE Beacons

 BLE advertisements in general are of two types such as connectable advertisement or non-connectable advertisement. Connectable advertisement type is most common. It is not directed and it is connectable, which means a central device can connect to the peripheral that is advertising and it is not directed towards a particular central device. Non-connectable advertisement is a type used when the peripheral does not wants to accept connections and broadcast only the data in the form of advertisement.

BLE Advertisement is more popular due to its significance of broadcasting data along with the advertisement. The advertisement packets itself has suitable bytes dedicated for custom data which can be used by a developer to broad cast data. The typical application of the non-connectable advertisement is the BLE tags and beacons.

BLE tags are mainly used for asset tracking were the advertisement data broadcasted will help to track each device to which they are connected.

Beacons evolved with the introduction of Apple’s iBeacon, targeted for proximity market such as shopping malls, retail showrooms, etc. Also we have Google’s Eddystone as an alternative for iBeacon for Android platforms. In both these technologies the device will transmit very small bits of data via BLE advertisement.

Application of BLE Beacons

BLE Beacon – Applications

In this blog we have briefly discussed about the BLE communication, BLE advertisement and advertisement interval. In the fore coming series of blogs, we will discuss in detail about the BLE connection parameters such as connection interval, slave latency, etc.

About Embien

Embien Technologies is a leading provider of embedded design services for the Semi-conductor, Industrial, Consumer and Health Care segments. Embien has successfully executed many projects like based on IoT such as healthcare Wearables, Gateways, and Data Analytics etc. Embien also offers a set of wearable design collections complete with electronics, firmware and Cloud that can be used to shorten product development costs and time significantly.

Saravana Pandian Annamalai
30. May 2017 · Write a comment · Categories: Embedded Software, Sparklet GUI Library, Technology · Tags: ,

Embien has been working on various types of embedded systems including those powered by FPGA’s for a variety of applications. Of late, there are a lot of requirements for GUI Application development on FPGAs for user interaction. In this blog, we introduce our Sparklet embedded GUI library along with our Flint FPGA UI Interface Editor for enabling FPGA for graphics. Also Sparklet running on a Linux powered Intel Cyclone V SX SoC FPGA is demonstrated with a Terasic DE1-SoC-MTL2 kit.

FPGA GUI Application Development

Modern FPGA’s have a multitude of IPs to handle different peripherals interfaces. Most of these FPGAs, called SoC FPGAs have an internal microcontroller core as a hard IP around with LEs are placed for configuration and customization.

Such a design warrants a powerful user interface for communication with the user for a seamless experience. Full fledged Intuitive GUI application development ecosystem is the need of the hour to enable a faster time to market. Developers need to dedicate their effort on FPGA and internal logic developments rather than working on nitty-gritty of FPGA GUI application development.

Sparklet – embedded GUI library is the right fit for such a FPGA based GUI development. Written purely in ANSI C, Sparklet can be ported across platform with minimal effort. The GUI Application development can be done using our Eclipse based Flint tool that supports Windows based emulation as well. The FPGA UI Interface Editor tool generates ‘C’ source files and headers that can be compiled in to the project to get a fully working application within a very short time.

Sparklet being a very modular and extensible design, it is also possible to take advantage of the Graphical acceleration engines with Sparklet to improve the rendering speed and quality.

Sparklet GUI on Intel Cyclone V FPGA

This demo of the Sparklet GUI library runs on a Intel Cyclone V SX SoC FPGA. Some of the salient features of the FPGA include

  • Dual-core ARM Cortex-A9 (HPS)
  • 85K programmable logic elements
  • 4,450 Kbits embedded memory
  • Fractional PLLs
  • Hard memory controllers
  • Multiple display interfaces
  • Multiple USB Host interface
  • Ethernet, UARTs, ADCs etc

The development kit from Terasic, DE1-SoC-MTL2 includes a DE1-SoC development board targeting Altera Cyclone® V SX SoC FPGA, along with a capacitive LCD multimedia color touch panel which natively supports five points multi-touch. The display is a 7-inch TFT LCD with pixel resolution of 800*480 and color depth of 16 million colors (8-bit RGB) along with a    LED backlight.

For such an FPGA based design, the underlying software can be designed with any of the following architectures:

  • Without an OS
  • With a minimal RTOS
  • With full fledged OS like Linux

Sparklet, providing design flexibility, is suitable for use with each of these approaches. The below demo showcases Sparklet running on top of Linux OS.

Though none-of the underlying Graphical engine features are not used in this case, it is possible to do so using the hardware acceleration engine changes.

Thus Sparklet along with Flint makes FPGA GUI application development a lot easier and enables developers work on core functionality there by reducing overall product development time.

About Embien: Embien Technologies is a leading service provider in the Embedded software domain. Our team has rich experience in working with various OS like Linux, Android, Windows CE, FreeRTOS, uC-OS, QNX etc. Learning from our experiences in various application domains, we have conceptualized and created the Sparklet Embedded GUI tool that can be used to develop UI’s faster and smaller.

As a continuation of our previous discussion about selection criteria of BLE SoC for building BLE based IoT devices, we will discuss in detail about the most important considerations for BLE RF layout design and antenna selection from various types available. The communication range of a wireless device with a current limited power source depends mainly on the RF layout, antenna design, and enclosure. Increased operating distance can be achieved with the type of antenna chosen together with carefully designed RF layout with few matching components to ensure most of the power from the BLE SoC reaches the antenna. The more power an antenna can transmit from the SoC, the larger the distance it can cover.

RF layout

RF layout involves routing the transmission lines from BLE SoC to antenna with few matching components in between. RF transmission lines acts as a medium that carry RF power from a BLE SoC to antenna, hence they need to be routed with many constraints to get maximum RF power delivery to antenna. There are several types of transmission lines, the two most popular types are:

  1. Microstrip Line
  2. Coplanar wave guide (CPWG)

Both of these are PCB traces differing in how they are constructed for maintaining the 50-ohm characteristic impedance. There are online calculators available which help us to calculate the impedance of the transmission based on our parameter input.

Microstrip Line – This type of transmission line has a signal trace on top of a substrate with a ground plane beneath the substrate. A microstrip line is simple to construct, simulate, and fabricate. The characteristic impedance of a Microstrip line depends on the following factors,

  1. Substrate height (H)
  2. Dielectric constant of the substrate (εr)
  3. Width of the trace (W)
  4. Thickness of the RF trace (T)
Transmission Line type

MicroStrip Line

CPWG – This is similar to the microstrip, but it has a copper pouring on either side of the RF trace with a gap between them. It provides better isolation for RF traces and a better EMI performance and makes it easier to support the grounding of matching components on an RF trace. The characteristic impedance of a CPWG depends on the following factors:

  1. Substrate height (H)
  2. Dielectric constant of the substrate (εr)
  3. Width of the trace (W)
  4. The gap between the trace and the adjacent ground fill (G)
  5. Thickness of the RF trace (T)
Transmission Line type

Coplanar Wave Guide

Nowadays the SoC manufacturers provide reference designs from which we get the guidelines for routing the RF transmission lines and the values (typically capacitance and inductance values) of the matching components. The designer in addition to the routing guidelines must also note the recommended PCB stackups for desired performances, since the impedance of the RF lines will change depending on the PCB layers stackups. In most of the cases, the PCB fabricator may not match the exact stackup as recommended and at these conditions there will be a need for slight changes in the RF trace width, gaps or thickness to ensure the correct impedance value.

Antenna Types

Antenna is a critical part of any wireless devices that transmits and receives electromagnetic radiation in free space. Antenna is nothing but a conductor exposed in space. When the length of a conductor is a certain multiple or ratio of the wavelength of the signal (λ) it behaves like an antenna and radiates the electrical energy into free space in the form of electromagnetic radiation of that frequency to free space. BLE device range requirement, costs and form factor are the main factors to be considered for choosing the antenna. For BLE applications (2.4GHz), most common types of PCB antennas are as follows,

  1. Wire antenna
  2. PCB Trace Antenna
  3. Chip antenna
  • Wire antenna: It is a piece of wire rise from PCB plane and protrudes to free space over a ground plane. Wire antenna produces best performance and RF range due to its dimension and better exposure. They can be in different forms such as straight wire, helix, loop, etc. A through-hole pad is sufficient to solder the wire antenna, thus saving the board dimension and hence low PCB cost.
Type of Wire antenna

Wire Antenna – Straight and Helix Type

  • PCB antenna: This is a copper trace drawn on the PCB. These antennas are inexpensive and easy to design, because they are a part of the PCB and provide good performance. Meandered trace, inverted F-trace is the most popular PCB antenna’s used in many designs. Meandered trace antenna is recommended for applications that require a minimum PCB area and Inverted F antenna is better compared to meandered antenna for radiation, but it requires space higher than meandered antenna. Main drawback of PCB antenna is that, it may require two or more revision to get expected range performance. This can be avoided by using the antenna design application notes and stack up recommended by the chip vendors carefully.
Types of PCB Antennas

PCB Antenna Types

  • Chip antenna: For applications where the PCB size is to be extremely small, chip antenna is a good choice. They are commercially off the shelf antennas that occupy very small PCB area and offers reasonable performance. But the disadvantage of chip antenna is the increased BoM and assembly cost since they are external components that need to be purchased and assembled. Also the chip antennas are very sensitive to RF ground clearance and the manufacturers RF ground clearance recommendations must be followed strictly.
Types of BLE Antenna

Chip Antenna

There are some applications which need antenna’s to be placed on or outside the enclosure for better reach. In such conditions, there are options for providing antenna connectors on board and extending the connection to the external antenna or other mating connector through shielded wire.

Types of external antenna connection

Antenna Connectors

  • U.FL connector: There are miniaturized RF connectors for high frequency signals. The male connectors are generally surface mounted and soldered directly to the PCB. The female connectors are crimped at one end of the shielded wire and the other end may be a PCB antenna or a mating connector such as SMA, MMCX, etc.
Type of antenna connector

U.FL Connectors

  • MMCX connector: These are Micro-Miniature Coaxial connector. They have a lock-snap mechanism which allows 360 degree rotation. It is comparatively better than U.FL in terms of insertion and removal lifetime and has over 10 times that of U.FL connectors. They are also available in surface mount package.
Type of MMCX connectors and cables

MMCX Connector

About Embien

Embien Technologies is a leading provider of embedded design services for the Semi-conductor, Industrial, Consumer and Health Care segments. Embien has successfully executed many projects like based on IoT such as healthcare Wearables, Gateways, and Data Analytics etc. Embien also offers a set of wearable design collections complete with electronics, firmware and Cloud that can be used to shorten product development costs and time significantly.