safety issues with medtronic long range telemetry implantsle coded phy improved range via...
TRANSCRIPT
-
BLE Circuit Design, Testing, and Compliance
Chris [email protected]/13/2018
-
Agenda
RF Design Considerations
Bluetooth 101
BLE RF Specifications
BLE RF Pre-Compliance Testing
Summary
2 12/12/2018
-
Overview of Radio Communications
Basic transceiver components: Antennas, Amplifiers, Mixers, Filters, Synthesizer, Baseband Processing
Most Components Integrated
3 12/12/2018
-
Unique ComponentsAntennas: Interfaces environment (air, body, etc.) to radio
PA (Power Amplifier): Boosts modulated transmit signal
LNA (Low-Noise Amplifier): Boosts signal sensed at antenna while adding little noise to the desired signals.
RF Filters: Passes desired RF modulated signals & blocks undesired signals.
IF Filters: Blocks undesired signals from received signals.
Synthesizer: Reference RF frequency used to convert from baseband to RF or from RF to baseband.
– Usually very accurate frequency & low-noise
Mixers: Converts baseband signal into a representation of the baseband signal at an RF frequency (and vice versa).
– Based on trigonometric identity:
Baseband: source and destination for data.
4 12/12/2018
-
Example Single-Chip SOC: CC1352P
Source: http://www.ti.com/lit/gpn/cc1352p
Dual Band
– 2.4 GHz
– Sub-GHz
Multiprotocol
– BLE+433 MHz
– BLE+915 FHSS
Microcontroller Functionality
Implementing Bluetooth: SOC
-
Example Single-Chip SOC: EFR32MG13
https://www.silabs.com/documents/public/data-sheets/efr32mg13-datasheet.pdf
-
Parasitics Complicate RF Design
Capacitor model for low
frequency circuits
Minimum Capacitor model for
radio frequency circuits
• Capacitor values and their parasitics change in complex
ways as they age and with varying voltages, temperatures,
humidity, vibration levels, etc.
• Slight changes in capacitor values and parasitics can cause
great changes in circuit performance.
• Other types of component types are similarly affected (e.g.
transistors, inductors, resistors, etc.)
7 12/12/2018
-
Component size ≈ λ Complicate RF Design
λ/4 Long Circuit Board Traces
with Open and Short
Terminations
Open Circuit becomes a short
& Short Circuit becomes open
Effects of component size ≈ λ
– Circuit layout more important
– Components using circuit traces (e.g. Wilkinson Power Divider)
8 12/12/2018
-
Radio Super-Sensitivity Complicates RF Design
Best Bluetooth Devices: sensitive to less than 10-12 Watts (-97 dBm CC1352)
Example self-generated noise interference:
A few factors critical for good sensitivity performance:
– Very low impedance ground
– Isolation/protection from power supply
– Isolation/protection from noisy (e.g. digital) circuits
– Shielding of circuitry from external fields
I=J*E formula integral form
9 12/12/2018
Noise power ≈ -90 dBm
Radio Blind below -80 dBm
-
BLUETOOTH 101
-
Learning Bluetooth
Bluetooth SIG Specifications
– Core Specs: Primary descriptions/definitions Definitions of Acronyms and Abbreviations: Volume 1, Part B, page 267-277, 173-178
Low Energy: Volume 6
https://www.bluetooth.com/specifications/bluetooth-core-specification
– BLE RF Test Requirements RF-PHY under Qualification Test Procedures
https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043
Sparkfun’s Description:– https://learn.sparkfun.com/tutorials/bluetooth-basics/all
Tom’s Hardware:– https://www.tomshardware.com/reviews/bluetooth-technology-101,4464.html
Bluetooth Mfgs: TI, Silicon Labs, Nordic
https://www.bluetooth.com/specifications/bluetooth-core-specificationhttps://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043https://learn.sparkfun.com/tutorials/bluetooth-basics/allhttps://www.tomshardware.com/reviews/bluetooth-technology-101,4464.html
-
What is Bluetooth?
Proprietary radio communication protocol
– Bluetooth SIG fees: membership, approvals
– Product approvals by Bluetooth SIG
Two forms of Bluetooth:
– Basic Rate/Enhanced Data Rate (BR/EDR)
Nearly continuous data transfers
e.g. smart phone streaming to headset
– Bluetooth Low Energy (BLE)
Short bursts of data
e.g. smart light bulbs
This Presentation on BLE. BR/EDR Modulation in Appendix D
-
Bluetooth LE (BLE) Capabilities
Available on most smart devices
Frequency band: 2.4-2.4835 GHz, 40 channels
Range: short (1m) to moderate (4 km)
Transmit power: up to +20 dBm
Time Division Duplex (TDD): TX/RX Separation
Frequency Hopping Spread Spectrum (FHSS)
Raw Data rates: 125 kbps to 2 Mbps
Modulation: 2-GFSK
Interference Tolerant (coexistence) features
Link two or many devices via Piconets, Scatternets, Mesh
-
BLE: Standard GFSK Modulation
GFSK = Gaussian Frequency Shift Key
Bandwidth bit period = BT = 0.5 ±1%
= F3dB/(bit rate)
– F3dB=Gaussian filter cutoff frequency
Modulation Index = 0.5 ±1% (standard mod idx)
= 0.5 ±0.5% (stable mod idx)
= Fd/(modulation frequency)
– Fd = Frequency Deviation = half the Mod. Freq.
Modulation Deviation:
– Binary zero = negative frequency deviation
– Binary one = positive frequency deviation
See Appendix D for BR/EDR RF Specifications
-
BLE: Standard GFSK Modulation
Raw Bit Rates:
– LE 1M PHY: 1 MBPS ± 1 ppm
– LE 2M PHY: 2 MBPS ± 1 ppm
– LE Coded PHY with S=8 coding: 125 kBPS ± 1 ppm
– LE Coded PHY with S=2 coding: 500 kBPS ± 1 ppm
LE Coded PHY Improved Range via
– Repeating bits (more bit energy vs. noise)
S=8 each bit repeated 8 times
S=2 each bit repeated 2 times
– Semi-coherent receiver
Eight (S=8) or two (S=2) symbols make up 1 bit
Forward Error Correction (FEC): Correlators search for known symbol sequences.
Sources: RF PHY Appendix 6.1; BT Spec. Section 4.6, page 2545http://dev.ti.com/tirex/content/simplelink_cc26x2_sdk_1_60_00_43/docs/ble5stack/ble_user_guide/html/ble-stack-5.x/phy-coded.html#
-
BLE Scatternet
Piconet:
Up to 8 Active Devices (1 Master/7 Slaves)
> 200 Inactive/Parked devices
Source: https://en.wikipedia.org/wiki/Scatternet
Piconet
Piconet
Piconet
= Master
= Slave
= Parked
-
Device Profiles:Application Starting-Points
Included in BLE
Defines Services, Characteristics, and Data, including how data displayed.
Reduces Application Development Time
Example: Human Interface Device (HID)
– e.g. Computer Keyboard
Source: https://cdn.sparkfun.com/datasheets/Wireless/Bluetooth/RN-HID-User-Guide-v1.0r.pdf
-
Example Terminal-Terminal AppImplementing SPP for BLE in EFR32
(SPP=Serial Port Profile/Application)
SPP: protocols & procedures for implementing RS-232 (or similar) serial cable emulation
– https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=260866&vId=290097
SPP not Implemented in BLE
EFR32
Daughterboard
Motherboard
(e.g.
SLWSTK606
0A)
See Appendix C for Step-by-Step Details
SOURCE: https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2017/04/13/spp-over-ble_c_examp-mnoe
https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=260866&vId=290097https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2017/04/13/spp-over-ble_c_examp-mnoe
-
BLUETOOTH LOW ENERGY RF SPECIFICATIONS
-
Compliance
Certification and Qualification Process can take up to a year and cost many thousands of $
Alternative: buy a pre-certified Module
Source: Texas Instruments
-
Radio Regulatory Certification
U.S.: FCC CFR47, Part 15, sections 15.205, 15.209, 15.247, OET 65
Canada: IC, RSS-210 & RSS-139
Europe: ETSI EN 300 328, EN 300 440, EN 301 489-17
TI App note SWRA048: Interpretation Help– http://www.ti.com/lit/an/swra048/swra048.pdf
Source: Bluetooth Specifications, Version 5.9, Vol. 6, Part A, page 2534
-
BLE RF-PHY Qualification Summary
Operating Conditions: Normal(NOC) & Extreme (EOC)
– Temperature limits set by manufacturer
– Humidity limits set by manufacturer
– Supply Voltage limits based on battery type or mains power
Testing Frequencies = Center frequencies
= 2402 + 2*n, n = 0, 1, ..., 39
– Frequency Hopping Disabled
– Whitening of Header & Payload data (XOR with Polynomial) Disabled
Source:
Core spec: https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=421043
RF-PHY at https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=225827
-
BLE RF-PHY Qualification Summary
Transmitter:
– TX In-Band Power: Peak, Average and Emissions with PRBS9 modulation Pass Peak & Avg: -20dBm≤Pavg≤+20 dBm, Ppk ≤(Pavg + 3dB)
Pass Emissions: Ptx ≤ -20 dBm at ±2 MHz
≤ -30 dBm at ±[3+n] MHz
Source: RF-PHY at https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=225827
-
BLE RF-PHY Qualification Summary
Transmitter:
– TX Modulation Characteristics Pass: 225 kHz ≤ ∆f1avg ≤ 275 kHz
– ∆f1avg = avg(diff(avg(dev all bits),avg(dev individual bits)))) for modulation = 00001111
Pass: 185 kHz ≤ ∆f2avg, 0.8 ≤ ∆f2avg/∆f1avg
– ∆f2avg = avg(diff(avg(dev all bits),avg(dev individual bits)))) for modulation = 10101010
Spectrogram-like Capabilities required: 32 instantaneous frequency samples per bit
Source: RF-PHY at https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=225827
-
BLE RF-PHY Qualification Summary
Transmitter (continued):
– TX Carrier Offset & Drift with 10101010 modulation Pass: drift ≤ (20kHz/50µs)
Pass: (ftx–150kHz)≤fn≤(ftx+150kHz) , for n=0,1,..,k
Pass: |f0-fn|≤50kHz, for n=2,3,..,k
Pass: |f1-f0|≤20kHz and |fn-fn-5|≤20kHz (for n=6,7,..,k)
ftx = nominal transmit frequency
f0 = initial carrier frequency of first 8 bits of preamble
fn = integrated frequency of each set of 10 bits (10 micro-seconds) of the payload/data. n = 1, 2, ..., k
Source: RF-PHY at https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=225827
-
BLE RF-PHY Qualification SummaryReceiver: RX Sensitivity– Pdesired = -70 dBm with PRBS9 modulation & Impairments
– Impairments
Carrier Frequency Offset: -100 kHz to +100 kHz
Frequency Drift: ±50 kHz sinusoid at 625 Hz
Modulation Index: 0.45 to 0.55
Symbol Timing Error: -50 PPM
– Pass: PER > 30.8% for 1500 packets
Source: RF-PHY at https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=225827
-
BLE RF-PHY Qualification SummaryReceiver: Immunity to co/adjacent/mirror-image interference– Pass: PER > 30.8% for 1500 packets
– Desired signal modulation: PRBS9
– Undesired/Jammer signal modulation: PRBS15
– Jammer power varies by frequency of jammer
Source: RF-PHY at https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=225827
-
BLE RF-PHY Qualification Summary
Receiver: Immunity to out-of-band interference (Blocking) – Jammer/Blocking Frequencies: 30 MHz to 12.75 GHz
– Pass: PER > 30.8% for 1500 packets
Source: RF-PHY at https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=225827
-
BLE RF-PHY Qualification Summary
Receiver: Intermodulation Immunity – Pass: 50% ≤ PER ≤ (50% + P/2) for 100 to 1500 packets
– P = from BER to P table on pages 50-54
Source: RF-PHY at https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=225827
-
Other Compliance Requirements to Consider
Bluetooth Protocol & Interoperability
Industry-Specific:
– Example: ISO 14117 (Implant EMC)
Quality Standards: Underwriters Lab & EN
– Requirements vary by product & industry
– Requirements are proprietary
– Example requirements to consider
Communicate in the presence of power line noise
Maximum system latency for communication
-
BLUETOOTH LOW ENERGY RF
PRE-COMPLIANCE TESTING
-
Example BLE Qualification Pre-Test for EFR32
TX Power
Frequency
PHY
Mod Data
Data Length
Command History
Command Entry
See Appendix A for Setting-Up Qualification Pre-Testing Tool
Source: Silicon Labs
-
Automated and Manual
EFR32 Qualification Pre-Testing
via Railtest Commands
Automated Tests via
– TeraTerm Macros/Scripts Railtest
– Railtest Firmware API Commands
Manual Command Mode (i.e. Railtest API commands)
See Appendix B for Details on Qualification Pre-Testing via Railtest
Source: Silicon Labs
-
Interoperability Test Events
https://www.bluetooth.com/news-events/events
-
Summary
Designing an RF Circuit Around an RF SOC:
– Easy to make RF SOC perform poorly
– Component parasitics important
– Component environmental behavior important
– Circuit board layout important
– Power supply design important
Bluetooth Low Energy is suitable for a wide-variety of applications
– Examples: Human Interface Device, Serial Port
Compliance with Regulatory, Bluetooth Sig and other requirements
– Complex
– Time Consuming
– Tools & Events available to help with pre-testing
35 12/12/2018
-
THANK YOU!
-
APPENDIX A:BLE QUALIFICATION PRE-TESTING
VIATEST-MODES UTILITY
FORSILICON LABS EFR32
Source: Silicon Labs
-
BLE TEST MODESFOR SILICON LABS EFR32MG13
Example HW & SW method for testing
SLWSTK MOTHERBOARD
EFR32MG13
EVAL BOARD
+
-
PLUG EFR32MG13 INTO MOBO & LAUNCH STUDIO
Select Debug Adapter (auto detected)
Select “BG Tool”
-
Select Connection (auto usually sufficient) & Open
-
Select View “RF Regulatory test”
-
BLE Regulatory Test Setup & Run
Select:
TX Power
Frequency
PHY
MOD DATA
DATA LENGTH
HISTORY
CMD AREA
-
Manual Command Entry
BLUETOOTH BGAPI COMMAND TO VERIFY COMMUNICATIONS
“Bluetooth Software API Reference Manual”
= Reference for “cmd_system_hello” and other commands
Source: https://www.silabs.com/documents/login/reference-manuals/bluetooth-api-reference.pdf
-
APPENDIX B:EXAMPLE
MANUAL/AUTOMATED TESTSFOR
SILICON LABS EFR32VIA
RAILTEST API
Source: Silicon Labs
-
Automated Testing via Railtest
– Connect Motherboard with EFR32 daughterboard
– Launch Simplicity Studio
-
Configure Radio (e.g. BT Compatible Modulation)
1
2
3
4
-
Open ‘app_main.c’ and Build
12
• Debug mode: Program Eval Board and Run123
-
Download, Install & Run Terminal Program (e.g. Teraterm)
https://osdn.net/projects/ttssh2/releases/
• Connect to Serial UART port (auto-populates) on two computers
-
Setup Serial Port
• Manual Command Mode (e.g. Help)
-
Automated Tests via TeraTerm Macros
1
2
-
Example Macro: Measure Receive RSSI from channels 0 through 79
-
Example Macro: Transmit CW from channels 0 through 79
-
Alternative Method for Launching Console (manual mode only)
1
2
-
Alternative Method for Launching Console (manual mode only - continued)
Enter Commands Console/Di
splay
-
APPENDIX C:
Example:
Implementing SPP in BLE
For
Silicon Labs EFR32
-
Example: Implement SPP for BLE in EFR32
Download Demo Application for SPPhttps://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2017/04/13/spp-over-ble_c_examp-mnoe
EFR32
Daughterboard
Motherboard
(e.g.
SLWSTK606
0A)
https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2017/04/13/spp-over-ble_c_examp-mnoe
-
Run Simplicity Studio
Open new project using skeleton: SOC-Empty under Bluetooth
-
Bluetooth Configurator (.isc): Add New Service
Select
to Add
New
Servic
e
-
Enter Parameters for SPP
Add Characteristic to SPP
-
Enter Characteristic Settings
-
Generate Bluetooth Setup/Database (GATT.xml, etc.)
-
Copy Example Application Source Code to Project Directory
Stop following website instructions and use “readme.txt” starting at step 3
COP
Y
COP
Y
C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.1\hardware\kit\common\driv
ers
-
Edit project file: hal-config.h– HAL_VCOM_ENABLE (0) HAL_VCOM_ENABLE (1)
1=ENABLE
-
Add ‘#include “spp_utils.h”’ at beginning of file: main.c
• Add ‘spp_main()’ after ‘main(void)’, but before infinite loop ‘while (1)’
-
Build Project
• Program two EFR32’s and Run/Resume
Verify No Build Errors
-
Download, Install & Run Terminal Program (e.g. Teraterm)
https://osdn.net/projects/ttssh2/releases/
• Connect USB cables from motherboards to two PCs
• Run TeraTerm on each PC
-
Do NOT hold PB0 or PB1 While Powering Up First Board
– Board starts in SPP SERVER MODE
– Server:
Advertizes custom SPP service
Waits for Incoming Connections
– Might need Simplicity Studio running in debug
PB0PB1
-
Hold PB0 or PB1 While Powering Up Second Board
– Board starts in SPP CLIENT MODE
– Client:
Scans/Searches for custom SPP UUID in scan response
Connects to target with matching UUID
Discovers SPP service & Characteristics
Enables Notifications for SPP_data Characteristic
Any UART data entered into client or server is sent to UART on other PWB
PB0PB1
-
• Connect to Serial UART port (auto-populates) on two computers
-
Setup Serial Port
• Setup Terminal
-
Entries on one terminal appear on the other terminal
-
APPENDIX D:
BR/EDR Modulation Characteristics
Source: https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=421043
-
BT Radio Specifications
Symbol rate: 1 Msym/second in all cases
Two Modulation Modes:
– Basic Rate (BR): Gaussian FSK (1 MBPS)
– Enhanced Data Rate (EDR): variants of PSK
𝜋/4-DQPSK for 2 MBPS
8DPSK for 3 MBPS
-
𝜋/4-DQPSK
𝜋/4-DQPSK = DQPSK with 𝜋/4offset to phase changes
Differential: Symbol bits determined by phase change from previous symbol
4 state positions: 00, 01, 10, 11
DQPSK
𝜋/4DQPSK
-
Differential Encoding: Slight Loss in Performance
Differential Benefit: Less Overhead (No Training)
-
𝟖DPSK
8DPSK = DQPSK + 𝜋/4-DQPSK
Differential: Symbol bits determined by phase change from previous symbol
8 state positions: 000, 001, 010, 011, 100, 101, 110, 111
DQPSK
𝜋/4DQPSK
-
TX-Power(8DPSK) > TX-Power(𝜋/4-DQPSK) for Same Range
-
BT Radio Specifications
RF Frequency:
– BR/EDR:
Frequency (MHz) = 2402 + Channel (MHz)
Channel = 0 to 78
– Low Energy (LE): Frequency = 2402
Frequency (MHz) = 2402 + 2*LEChannel (MHz)
LEChannel = 0 to 39
-
Transmit Power Requirements
EIRP Power Classes:
– Class 1: at least 0 dBm to max of +20 dBm
Power control REQUIRED: 2 dB to 8 dB steps to prevent interference/saturation
Power control request reduces TX power.
– Class 2: at least -6 dBm to max of +4 dBm
Optional power control
– Class 3: no minimum to max of 0 dBm
Optional power control
-
Modulation Timing
Symbol timing = 115 kHz
Zero-crossing error = (+/-80% of frequency deviation w.r.t. transmit frequency corresponding to 00001111 sequence)
-
Intentional/Desired Emissions
In-band desired signal (BT spec 3.1.2.1):
– BW
-
Adjacent Channel Power Test(In-Band Spurious Emissions)
All unintentional emissions at -20 dBc vs. highest in-band/desired signal measured with 100 kHz Res. BW. (15.247(d) / BT 3.1.2.1)
Unintentional Power 2 and 3 channels away from intentional emission channel (BT spec 3.1.2.1)
– Two Channels away (1 MHz BW): -20 dBm
– Three Channels away (1 MHz BW): -40 dBm
Channel frequency is integer multiple of 1MHz: -20 dBm
-
In-Band Spurious Emissions(BT 3.2.2)
Must be measured using frequency hopping radio radio (BT 3.2.2)
– Resolution bandwidth: 100 kHz
– Max-Hold Mode
– Power(Fc ± 1 MHz to 1.5 MHz) vs. Power(Fc ± 500 kHz)
-
Transmitter Spectrum Mask
-
Frequency Tolerance
Unmodulated TX Freq Tolerance: +/-75 kHz
Modulated TX Freq. Tolerance within a packet:
Requirement: BT 3.1.3 & RF PHY (sect. 4.5.6-7)
-
Frequency Tolerance for EDR (3.2.3)
jj
-
Modulation for Basic/Enhanced Bluetooth
Modulation varies throughout packet
-
Modulation Accuracy:Differential Error Vector Magnitude (DEVM)
Measured over Synchronization sequence and Payload portions of packet, but not trailer symbols of each frequency using longest packets
IDEAL REALITY
-
TX Modulation Accuracy:Differential Error Vector Magnitude (DEVM)
BR/EDR modulations: (BT 3.2.1.4)
– RMS DEVM: < 0.2 for 𝜋/4-DQPSK,
-
Receive SensitivityRequirements & Test Methods in
– BT Vol. 2, Part A
– BT Vol 3, Part D, 1.1.3
– RF PHY, section 4.6.1-2
– Pessimistic compared to TIA/EIA methods
e.g. bad CRC -> all bits in packet declared bad
Basic BT:
– Raw Bit Error Rate Standard: 0.1%
– Receive Sensitivity
-
Receiver Immunity to InterferenceBasic BT: Co- & Adjacent- Channel
– Desired signal = -60 dBm
– Jamming signal = Bluetooth Modulated
– BER standard
-
Receiver Immunity to InterferenceEnhanced Data Rate BT: Co- & Adjacent- Channel
– Desired signal = -60 dBm
– Jamming signal = Bluetooth Modulated
– BER standard
-
Receiver Immunity to Interference
Basic Bluetooth Modulated Jammer
-
Receiver Immunity to Interference
Enhanced Data Rate Bluetooth Desired & Jammer
-
Receiver Immunity to InterferenceBasic BT: Blocking
– Desired signal = -67 dBm
– Jamming signal = unmodulated/CW
– BER standard
-
Receiver Immunity to Interference
Basic BT: Intermodulation
– BER standard
-
Other Receiver Requirements forBasic/Enhanced BT
Basic BT and Enhanced Data Rate BT:
– Maximum Usable Signal: >= -20 dBm
BER