BLE Frequently Asked Questions | Cypress Semiconductor
BLE Frequently Asked Questions
For a quick bringup with Bluetooth Low Energy, please refer to the following:
- Application note - Getting Started with PSoC 4 BLE
- Application note - Getting Started with PRoC BLE
- Development kit - CY8CKIT-042 BLE Pioneer Kit - This development kit, provides a number of example projects for a quick start with PSoC / PRoC BLE devices.
If you want to know about the technology, please refer to the videos available at BLE Developer Portal.
No, the physical layer is half duplex. At a particular instance of time, it can either transmit or receive but not simultaneously. The Link Layer controls when the physical layer will transmit and receive, and for how long. For a comparison, the BLE physical layer is similar to the USB physical layer.
ATT (Attribute Protocol) defines the fundamental storage unit for data in BLE.
GATT (Generic Attribute Profile) provides hierarchy and abstraction to the data. It defines the concepts of Server (a device which stores the data) and Client (a device which accesses data from a Server).
GAP (Generic Access Profile) provides device information such as the device address, device name, list of services available and how they can be used, and how a device can be connected.
These are the different roles defined at different layers of the BLE protocol stack.
Link Layer roles:
- Master - Initiates a connection
- Slave - Advertises and waits for a connection initiation
- Server - Has data
- Client - Wants data
- Central - The primary device in a connection
- Peripheral - The secondary device in a connection
The GAP Central is always a Link Layer Master, while the GAP Peripheral is always a Link Layer Slave.
An iPhone that supports Current Time Service (CTS) is an example of a GAP Central device (Link Layer master; GATT Server) that connects with a smart watch (GAP Peripheral: Link Layer Slave; GATT Client) and exposes timing information to the watch.
GATT Client-Server roles are independent of the GAP or Link Layer roles. The GAP and Link Layer make sure a reliable data path is established between a master and a slave. Once the datapath is established, both ends of the communication pipe can act as either a GATT Server, a GATT Client, or both.
For example, an iPhone supports both GATT Client (asks for sensor data) and GATT Server (gives current time data) by default.
A simple fitness band is an example of a GATT Server only device.
Android devices support only GATT Client role (ask for sensor data) by default.
Yes, Master or Slave configuration is primarily a firmware configuration (almost all the devices support Master and Slave configuration in Radio and Link Layer). For an example, you can configure SmartPhone as a GAP Peripheral (which is a Link Layer Slave) using the LightBlue app.
No, Profile by itself has no meaning, it is just a logical entity. It's the Services that expose data and let you perform some operation on the data. A device defines one Profile that can consist of multiple Services.
The Bluetooth Special Interest Group (SIG) defines some standard Profiles which consist of different groups of standard Services. You can create your own custom Profile that can include any number of standard or custom Services.
USB Equivalent Terminology
|Custom Service||EP0 vendor commands|
|LL master||USB host|
|LL slave||USB device|
|Connection interval||HID EP poll interval|
No, the slave can only send data on the back channel. The master has to periodically poll the Slave and the Slave responds with its data on the back channel (along with ACK and flow control messages).
No, MTU defines the maximum size of the packet which can be transmited, but not the actual size of the data transmitted. Power consumption is related to how much data the device sends but not the maximum length of the data packet. Example - If you want to transmit only 5 bytes of data, then the power consumed with MTU size of 10 or 512 is the same.
Yes, MTU size is a minimum of 23, and a maximum of 512.
Advertisement is initiated by the Slave device to let other BLE devices know its presence. It is unsolicited.
Scan request is initiated by the Master who receives the advertisement packet from the Slave and wants to know more details about the Slave.
Scan Response is initiated by the Slave in response to Scan request from the Master.
Yes, on every connection event, both the Slave and the Master will latch on to a particular channel and exchage data using time multiplexing. But they both cannot transmit at the same time - when one transmits, the other must receive.
There is no collision avoidance mechanism during advertisement (as advertisement is unsolicited). For advertisement, there are 3 dedicated advertisement channels and are defined to be free from the WiFi interference.
Once the connection is established, there are two ways to avoid collision:
- The devices communicate on different data channels every time using an Adaptive Frequency Hopping (AFH) algorithm. There are 37 data channels to hop through, so that a continuous interference on one frequency is avoided.
- The master looks at the interference on the available data channels and if a particular channel is noisy, it sends a Channel Map Update Request to the Slave to drop that particular channel during hopping.
Advertisement channels are different from WiFi channels, so there is no interference from WiFi during advertisement. During connection, BLE uses Adaptive Frequency Hopping and Channel Map Update procedure to avoid ISM band interference.
Yes, smartphone for example can do it.
PSoC 4 BLE/PRoC BLE cannot maintain connection with multiple Slaves at the same time. An application can make logical connection with multiple Slaves.
Yes, any device which has a small amount of information to be broadcasted continuously can simply advertise it. For example, a Beacon in a supermarket.
iBeacon (Broadcaster) and the receiving app (Observer) are a good example of Broadcaster and Observer roles.
L2CAP breaks down a single ATT packet into multiple LL packets and reassembles multiple LL packets into a single ATT packet. L2CAP also acts as the multiplexer between multiple protocols (ATT, SM, Connection oriented L2CAP channels) using channel ID field.
No, BLE protocol doesn't support mesh network today. Bluetooth SIG is actively working on defining a mesh protocol for BLE.
Yes, the BLE link layer uses a single bit flow control mechanism which takes care of packet retransmission. The number of times a packet is retried is determined by the BLE interface Connection Interval and Supervision Timeout. For example, if the Connection Interval is 10ms and the Supervision Timeout is 1000ms, the number of packet retries = (Supervision Timeout)/(Connection Interval) = 1000/10 = 100
No, Cypress' BLE solution supports only Bluetooth Smart. It's Bluetooth 4.1 compliant.
Following optional features of of BLE 4.1 are supported:
- LE privacy
- Connection oriented L2CAP channels
- LE ping
A PSoC 4 BLE or PRoC BLE solution requires two crystals:
- 24-MHz RF crystal: A 20-ppm 24-MHz crystal is required for RF operation.
- 32-kHz sleep clock crystal: 32-kHz crystal is a sleep clock crystal. It is used to wake up the BLE devices to communicate with the other at a pre-defined interval. The Bluetooth specification requires the crystal specification to be less than ±500 ppm.
Yes, if during the BLE operation, device is intended to transition to low-power (deep-sleep) mode. If low-power mode is not required during the BLE operation, only 24MHz crystal is enough.
Higher ppm 24-MHz RF crystal will result in frequency drift, causing connection loss, and higher ppm 32-kHz sleep clock crystal will tranlate to higher power consumption.
PRoC BLE provides the pre-configured schematic view of PSoC Creator with preconfigured peripherals for key applications, such as HID, remote controls, toys and BLE connectivity.
PSoC 4 BLE uses the schematics view of PSoC Creator and offers programmable digital blocks and programmable analog blocks to create custom sensor-based BLE products.
Yes, both PSoC 4 BLE and PRoC BLE comes in two small packages: a 56-QFN (7 x 7 x 0.6 mm) and 68-ball CSP (3.9 x 3.5 x 0.55 mm).
You can use virtually any type of 50-ohm, 2.4-GHz antenna, including these popular types:
- Printed trace / wiggle
- Half-wave dipole
For more details, see the application note AN91445 - Antenna Design Guide.
Cypress' BLE solution integrates an on-chip Balun to simplify board designs and to reduce the BOM and PCB footprint.
Cypress' BLE requires only two external components for the AMN
Yes, please contact the Cypress Tech Support team for the example project.
There are three kits available to evaluate Cypress BLE solution -
Yes, CY8CKIT-042-BLE Pioneer kit comes with both modules that can be mounted on the base board. It also has a PRoC BLE based dongle that can be used as a host emulator tool.
CY8CKIT-042-BLE Pioneer kit has a power jumper to measure the power consumption. The kit user guide gives the details on how to measure the power.
Yes, PSoC 4 BLE and PRoC BLE are designed for low-power consumption and CY8CKIT-042-BLE can be used with 3 V coin-cell batteries to evaluate the low-power operation of the device.
The BLE USB Dongle is intended to work as a BLE host device that enables communication with the PSoC 4 BLE or PRoC BLE modules. The BLE USB Dongle converts any Windows-based laptop with a USB port into a BLE host device.
All three BLE kits have the PCB antenna. For more details, see the application note AN91445 - Antenna Design Guide
It is currently not publicly available. We are defining a single firmware and tool that should take care of MTK, FCC and CE certification using the BLE Host Control Interface (HCI). Stay tuned for an update.