Bluetooth® Classic BT 3.0 modules A Comprehensive User Guide Outline • Section 1. Blue Modules overview • Introduction, Certification, Hardware and Firmware architecture, integration mode, support tools • Section 2. Hardware Features • SPBT2632C2A • SPBT2632C1A • STEVAL-SPBTxATVx • Section 3. Software Features • SW Architecture, AT Commands and Configuration Variables • UART Configuration • GPIOs Configuration • Basic Procedures • SmartCable • Remote Mode • Multipoint • Power Modes • Security • Communication with Smart Phones • COD setting • Upgrading Firmware 2 Section 1 Blue Modules overview Blue Modules characteristics (1/3) SPBT2632C2A.AT2 SPBT2632C1A.AT2 STM32 ARM-Cortex-M3 MCU + STLC2690 Bluetooth IC STM32 ARM-Cortex-M3 MCU + STLC2690 Bluetooth IC Class 2, typ output 0dBm Class 1, typ output 10dBm Bluetooth 3.0 Bluetooth 3.0 SPP and AT2 command Antenna and shield Key features Core devices Class Bluetooth standard with external LPO (Low Power Oscillator) 16 24 Micro-sized : 11.6 x 13.5 mm Small : 15 x 27 mm 2.1 ÷ 3.6 V 2.1 ÷ 3.6 V Voltage regulator Clock integrated WLAN coexistence -40 ÷ 85 ºC -40 ÷ 85 ºC Low power mode Pin count Form factor Supply voltage range Operating temperature 4 Blue Modules characteristics (2/3) SPBT2632C2A.AT2 SPBT2632C1A.AT2 Key features High Speed CPU Mode 32 MHz Average values ACL data 115 KBaud UART at max throughput (Master) 23 mA 23 mA ACL data 115 KBaud UART at max throughput (Slave) 27.5 mA 27.5 mA Connection, no data traffic, Master 9.1 mA 9.1 mA Connection, no data traffic, Slave 11.2 mA 11.2 mA Connection 375 ms sniff with LPO (Low Power Oscillator) 490 µA* 490 µA Page/inquiry scan, without deep sleep 9.5 mA 9.5 mA Page/inquiry scan, with deep sleep, no LPO 2.7 mA - Page/inquiry scan, with deep sleep and LPO 520 µA* 520 µA Standby, without deep sleep 8.6 mA 8.6 mA Standby with deep sleep, no LPO 1.7 mA - Standby with deep sleep and LPO 70 µA* 60 µA * With external clock 5 Blue Modules characteristics (3/3) SPBT2632C2A.AT2 SPBT2632C1A.AT2 Reset (NRST) pin Boot pin 4 pins for UART interface (TX, RX, CTS, RTS) 6x bottom pins JTAG interface (JTDI, JTDO, JTMS, JTCK, JTRST, NRST) 7 and LPO input 16 2.1 V 2.1 V High speed UART I2C only for Apple code processor interface 50 Ω 50 Ω -86 dBm -90 dBm 0 dBm +10 dBm Key features Pin counting GPIOs GPIO High Level Interfaces RF characteristics Antenna Load Sensitivity Level (BER < 0.001 with DH5) Maximum Output Power (50 Ω load) 6 Blue Modules - Certifications • • Blue Modules are CE and Bluetooth® certified. Radio type compliant for US, Canada and Japan SPBT2632C1A.AT2 BQB qualified design CE Statement of opinion* FCC and IC Japan Type Certification QD ID: B019224 0447ARAM00002 FCC ID: X3ZBTMOD3 IC: 8828A-MOD3 Work in Progress Product type: End Product TGP Version: Core 3.0 Core Spec Version: 3.0 Product Description: Bluetooth Module, spec V3.0 Measurements in accordance with: EN 300 328 V 1.7.1 (2006-10) EN 301 489-17 V 2.1.1 (2009) EN 60950-1:2006 +A11:2009+A1:2010 In accordance with FCC part 15, the SPBT2632C1A.AT2 is listed above as a modular transmitter device CE 0051 ! SPBT2632C2A.AT2 QD ID: B019224 Product type: End Product TGP Version: Core 3.0 Core Spec Version: 3.0 Product Description: Bluetooth Module, spec V3.0 0448ARAM00003 Measurements n accordance with : EN 300 328 V 1.7.1 (2006-10) EN 301 489-17 V 2.1.1 (2009) EN 60950-1:2006 +A11:2009+A1:2010 FCC ID: X3ZBTMOD5 IC: 8828A-MOD4 In accordance with FCC part 15, the SPBT2632C2A.AT2 is listed above as a modular transmitter device CE 0051 ! * Reports available on request Radio type ID: 006-000095 SPBT2632C2A.AT2 is certified as Type Approval in conformity with Chapter 38-24-1 of Japan Radio Law 7 Blue Modules hardware architecture TX Power: +10 dBm. RX Sensitivity: -90 dBm Size: 15 x 27 mm SPBT2632C1A.AT2 TX Power: +0 dBm. RX Sensitivity: - 86 dBm Size: 11.6 x 13.5 mm SPBT2632C2A.AT2 Supply Voltage Voltage regulator µP Flash RAM Antenna LPO clock Bandpass filter Bluetooth radio Crystal GPIOs UART 8 Blue Modules firmware architecture Integrated Firmware Generic Access Profile (GAP) Discovers and connects to other devices Security (authentication) idle mode procedure: inquiry linking, paging, connection AT2 Interpreter (abSerial) SPP SDAP Bluetooth Protocol Stack Higher Layers iAP GAP RFCOMM Service Discovery Profile (SDP) Locates/describes services from/to other devices SDP L2CAP HCI Bluetooth Protocol Stack Lower Layers Serial Port Profile (SPP) Emulates legacy serial communication Cable replacement LMP/LM Baseband/LC Supply Voltage iPod Accessory Protocol (iAP) Supports communication with Apple iOS Bluetooth enabled device* GPIOs Antenna Bandpass filter LPO clock Voltage regulator µP Bluetooth Flash RAM radio HCI Commands Crystal UART Host 9 AT Command Layer The Blue Modules Firmware integrates a layer of AT-like commands (abSerial) on top of the Bluetooth stack. They have a very simple syntax and allow Firmware configuration and Bluetooth connection management SPBT2632C2A.AT 2 (Class 2 profile, enhanced FW) SPBT2632C1A.AT 2 (Class 1 profile, enhanced FW) Blue Modules part number Key features AT2 command Bluetooth version 3.0 Point-to-point communication Multipoint communication Remote commands Sniff mode Profiles SPP iAP Smart Phone support Android iPhone 10 Integration Modes Connect the Blue Modules with your favorite host processor via the UART interface Bluetooth Dongle PC AT commands Reference Design SPBT2x32Cxx UART USB/Serial Bridge Embedded System Host (i.e. STM32F) Peripherals AT commands UART SPBT2x32Cxx STEVAL-SPBTxATV3 11 Support tools Order codes Order code Evaluation boards Other tools Description SPBT2632C2A.AT2 Bluetooth V3.0, Class2, antenna, AT2 command Firmware SPBT2632C1A.AT2 Bluetooth V3.0, Class1, antenna, AT2 command Firmware Order code Description STEVAL-SPBT3ATV3 USB dongle, evaluation board for SPBT2632C2A.AT2 STEVAL-SPBT4ATV3 USB dongle, evaluation board for SPBT2632C1A.AT2 Technical Documentation Promotional Documentation Technical support Datasheets Marketing presentation on www.st.com Application note Product briefcase on MyST Contact us @ [email protected] AT command user manual 12 Section 2 Hardware Features SPBT2632C2A Hardware Features SPBT2632C2A Hardware Features • Bluetooth 3.0 Compliant • Integrated Chip Antenna • Max Output Power transmission: • 0 dBm • Small form factor: • 11.5 x 13.5 mm • External Communication interfaces: • UART • 7 GPIO • LPO • 3.3V single supply voltage, integrated voltage regulator • Integrated 26 MHz quartz oscillator • Operating temperature range: • -40º ~ +85 ºC Voltage Supplier 15 BOOT Voltage Regulator Balun STLC2690 (BT Controller) UART STM32F103 (BT Host) 26 MHz Oscillator GND LPO RESET UART 7 GPIO SPBT2632C2A Pinout STM32F103 (package BGA64) 10.50 STLC2690 (package WFBGA48) 7 Configurable GPIOs I2C (Alt config for MFI only) UART Interface I2C (MFI only) 16 SPBT2632C2A Characterization Figures Parameter Conditions Min Typ Max Unit Supply Voltage, Vin --- +2.1 +2.5 +3.6 V Operating Temperature Range --- -40 --- +85 °C Signal Pin Voltage --- --- +2.1 --- V Radio Rec. Sensitivity Level BER < 0.001 with DH5 --- -86 --- dBm Radio Transmitter Output Power 50 Ω Load --- 0 --- dBm Power Consumption. High Speed CPU Mode: 32 MHz Average Unit ACL data 115 KBaud UART at Max throughput (Master) 23 mA ACL data 115 KBaud UART at Max throughput (Slave) 27.5 mA Connection, no data traffic, Master 9.1 mA Connection, no data traffic, Slave 11.2 mA Connection 375 ms sniff (external LPO required) 490 µA Standby, (page/inquiry scan), without deep sleep 8.6 (9.5) mA Standby, (page/inquiry scan), with deep sleep, no external LPO 1.7 (2.7) mA Standby, (page/inquiry scan), with deep sleep, with external LPO 70 (520) µA 17 SPBT2632C2A Characterization with External Low Power Oscillator (1/2) • LPO: Low Power Oscillator (32.768kHz External clock, Tolerance: ±150ppm) • LPO is connected to the CPU and Radio IC. • LPO standard of Radio IC (VDD = 1.8V) is: • Duty cycle: min 40%, max 60% • Low level Input Voltage (VIL): Min = 0, Max = 0.5V • High level Input Voltage (VIH): Min = 1.2V, Max = 1.8V • On the other hand, CPU STM32F103 (VDD = 2.1V) is: • Duty cycle: Min 30%, Max 70% • Low level Input Voltage (VIL): Min = VSS, Max = 0.3 VDD • High level Input Voltage (VIH): Min = 0.7VDD, Max = VDD 18 SPBT2632C2A Characterization with External Low Power Oscillator (2/2) • CPU power supply is supplied from the 2.1V LDO in the module. Therefore, 0.7 * VDD = 0.7 * 2.1 = 1.47 V (VIH Min) next, VIH is dominated by the MCU side. • Specification of LPO that satisfies the standards of both: • Duty cycle: Min 40%, Max 60% • Low level Input Voltage (VIL): Min = 0, Max = 0.5V • High level Input Voltage (VIH): Min = 1.47V, Max = 1.8V • LPO operation check method: Put to Sniff mode, connected by state without communication for 10 minutes (Sniff mode), if it is maintained, it becomes the LPO judgment OK 19 SPBT2632C1A Hardware Features SPBT2632C1A Hardware Features Voltage Supplier • Bluetooth 3.0 Compliant • Integrated Chip Antenna • Max Output Power transmission: • +10 dBm • Small form factor: • 15 x 27 mm • External Communication interfaces: • UART • 16 Configurable GPIOs • 3.3V single supply voltage, integrated voltage regulator • Integrated 26 MHz and 32 kHz quartz oscillators • Operating temperature range: • -40º ~ +85 ºC 21 BOOT Voltage Regulator Balun STLC2690 (BT Controller) 32 kHz Oscillator UART STM32 (BT Host) 26 MHz Oscillator GND RESET UART 16 GPIO SPBT2632C1A Pinout STM32F103 (package BGA64) UART Interface I2C (MFI only) Shield 16 Configurable GPIOs 22 SPBT2632C1A Characterization Figures Parameter Conditions Min Typ Max Unit Supply Voltage, Vin --- +2.1 +2.5 +3.6 V Operating Temperature Range --- -40 --- +85 °C Signal Pin Voltage --- --- +2.1 --- V Radio Rec. Sensitivity Level BER < 0.001 with DH5 --- -90 --- dBm Radio Transmitter Output Power 50 Ω Load --- --- +10 dBm Power Consumption. High Speed CPU Mode: 32 MHz Average Unit ACL data 115KBaud UART at max throughput (Master) 23 mA ACL data 115KBaud UART at max throughput (Slave) 27.5 mA Connection, no data traffic, Master 9.1 mA Connection, no data traffic, Slave 11.2 mA Connection 375 ms sniff 490 µA Standby, (page/inquiry scan), without deep sleep 8.6 (9.5) mA Standby, (page/inquiry scan), with deep sleep, with external LPO 70 (520) µA 23 STEVAL-SPBTxATV Hardware Features STEVAL-SPBTxATV3 • Plug&Play Solution Example: STEVAL-SPBT3ATV3 • Reference designs and evaluation boards • Evaluation tool of the integrated abSerial AT-like commands layer (abSerial) • Power Supplied via the USB interface • Compact and Small form factor • LEDS connected to GPIO for testing purposes • UART/USB bridge from Silicon Lab requires to install the correspondent driver on your PC SPBT2632C2A.AT2 HyperTerminal or similar HyperTerminal or similar abSerial Commands/Events VCOM HOST A HOST B abSerial Commands/Events VCOM Refer to the related Application Notes to get started with schematics and basic procedures 25 STEVAL-SPBT3ATV3 26 JTAG STEVAL-SPBT3ATV3 LedPower Reset USB bridge SPBT2632C2A SPBT2632C2A Reference Design STEVAL-SPBT3ATV3 BOM, Gerber and Schematic available on the ST website. See detailed information and schematic in the LedGPIO1 Boot Application Note: AN4127 «Demonstration board for Bluetooth® module class 2 SBT2632C2A.AT2» LedGPIO4 26 STEVAL-SPBT4ATV3 27 JTAG STEVAL-SPBT4ATV3 LedGPIO1 Reset LedGPIO4 USB bridge SPBT2632C1A Reference Design STEVAL-SPBT4ATV3 BOM, Gerber and Schematic available on the ST website. See detailed information and schematic in the Application Note: AN4128 «Demonstration board for Bluetooth® module class 1 SBT2632C1A.AT2» LedPower Boot SPBT2632C1A 27 Section 3 Software Features Software Architecture, AT Commands and Configuration Variables Modes of Operation • The Firmware supports Multiple Modes of Operation: • Command Mode • Bypass Mode • Remote Mode • Sniff Mode • Deep Sleep Mode • Multipoint/Broadcast Mode • Commands and Responses are handled only while the application is in Command Mode • In Bypass Mode the data stream is transferred directly from the UART and the Bluetooth SPP • In Remote Mode a node can be remotely configured (only in AT2) • Sniff Mode is a low power consumption operation mode (only in AT2) • Deep Sleep Mode is a low power consumption status mode • Multipoint/Broadcast Mode manages connections between a master and multiple slaves Host Flow of: Commands/ Responses/ DataStream Connection via the UART interface AT2 Interpreter SPP SDAP iAP* GAP RFCOMM SDP L2CAP LMP/LM Baseband/LC 30 Operation Flow 31 Configure Startup/Reset Module is connected Module is not connected Bonding Device Discovery StandBy CommandMode/ Deep Sleep Mode Connect with Remote Device Smart Cable Disconnect Sniff Mode Remote Mode Active ByPassMode/ ByPass Escape from Bypass Mode Multipoint Broadcast Mode Active CommandMode/ Configure Data Transfer Mode - SPP Profile Usage - 31 AT2 Commands Category List of Commands Reset Reset Device Information BtcVersion Build DefaultLocalName LocalName GetBdAddress Version GPIO Use GPIOConfig GPIORead GPIOWrite Serial Configuration ChangeBaud ChangeDefaultBaud HostEvent StreamingSerial Mode management Device Discovery Escape Seq. ^#^$^% Remote Commands Seq. @#@$@% Bypass Category List of Commands Bonding Bond DisableBond EnableBond EraseBondTable ShowDev Connection SPP(Dis)Connect LinkDisconnect SmartCableSetup DeleteSmartCable IAP(Dis)Connect RoleSwitch PassKeyAccept ReadClock Configuration Config Cptest Page/Inquiry timing UpdateInquiryScan UpdatePageScan SleepModes (Exit)Sniff Discovery The list and syntax of AT2 Commands are described in the User Manual UM1547 32 AT(2) Configuration Variables Category List of Variables Device Informations BuildVersion BD_ADDR DeviceName COD UART Configuration Streaming Serial UartBaudRate UartParity UartDataBits UartStopBits UartTimeout HostEvents Hardware Configuration CpuMHz HciBaudRate SPIEnable SPIMode I2CEnable UseExtLPO HSE_MHz * Category List of Variables Security PIN BondingAllowed EnableEncryption DefaultSecurity DefaultAuthentication MITMEvent Power Modes AutoSniff AutoSniffTimeout AutoSniffInterval HostShallowSleepEnable HostDeepSleepEnable GPIO_HostKeepAwake GPIO_HostWakeup AllowSniff Mode Category List of Variables Radio UseSmallPackets EnableAFH EnablePowerControl QoS_latency PageScan InquiryScan Smartphones EnableIAP IAPAppID iAPPProtocolStrMain iAPProtocolStrAlt CPI2CMode SPP128UUID AltCPGPIO Smartphone hidden variables AccName AccManufacturer AccModelNumber AccSerialNumber Others ATReply MPMode RmtEscapeSequence The complete list for AT2 Configuration Variables and their default values are described in the User Manual UM1547 33 UART Configuration UART Configuration 35 The module allows to connect an external Host Processor via the UART interface • • RXD TXD RTS RXD CTS RTS TXD Bluetooth Module Host • CTS Four signals are provided with the UART interface. The TXD and RXD are used for data while the CTS and RTS pins are used for the Hardware flow control The baud rate is configurable in the 1200-921600 range of values. It can be changed by using the correspondent variables or at commands Default serial port configuration is 115200/8/n/1. The correspondent variables can be used to change the UART parameters To enable the use of the flow control the streamingserial variable/command can be used 35 GPIO Configuration GPIOs Configuration 37 • The integrated Firmware configures the GPIOs as in the following table. • Active Status Probe (MCU RUN): always on when the radio is in active mode; Blinking when the radio is in deep sleep mode • Connection Status Probe: always on when the module is connected GPIO1 GPIO2 GPIO3 GPIO4 GPIO5:GPIO7 GPIO8:GPIO16 SPBT2632C2A Output/ Connection Status Probe Input/ Pulled-down BOOT Input/ Pulled-down Output/ Active Status Probe Input/ Pulled-down (MFI chip on 5,6) --- SPBT2632C1A Output/ Connection Status Probe Input/ Pulled-down BOOT Input/ Pulled-down Output/ Active Status Probe Input/ Pulled-down Input/ Pulled-up • • GPIOs can be reconfigured with the following commands • AT+AB gpioconfig [GPIO pin] [I/O] • AT+AB gpioRead [GPIO pin] • AT+AB gpioWrite [GPIO pin] [1/0] Special Use. In the modules SPBT2632C1A the GPIO11 and GPIO12 can be also reconfigured as I2C clock and I2C data for integration of an MFI coprocessor 37 Basic Procedures Device Discovery Procedure Device 0 Host Device 1 39 Device n Module Setup Command Mode - Not Connected AT+AB Discovery AT-AB InqPending Inquiry Response 1 Inquiry Response n AT-AB DiscoveryPending n Page Dev1 Page Success Name Req Procedure Up to 10 devices Disconnect Disconnect AT-AB Device “BDAddr1” “Name1” Name Req is repeated for Device 2 39 Device Discovery Allowed 40 • Var35 InquiryScan = True (module Discoverable) • Var35 InquiryScan = False (module Non-discoverable) Var35 InquiryScan True (default) False AT Command:UpdateInquiryScan 0¹ Discoverable (Visible in the device discovery of the host) AT Command:UpdateInquiryScan 2¹ Non-discoverable (Not visible in the device discovery of the host) ¹ Please refer to User Manual for AT command details 4040 Bonding Procedure 41 • Bonding is used for device pairing. The bonding effect is the generation of an encryption LinkKey • By default, modules are configured with bonding allowed, meaning the device is always allowed to accept bonding request Device B Device A Device A Device B Host Module Module Host AT+AB Bond BDAddrB pin Bonding AT-AB BondPending BDAddrB AT-AB BondPending BDAddrA Store LinkKey AT-AB BondOk BDAddrB Store LinkKey AT-AB BondOk BDAddrA 41 Bonding Allowed • Var33 BondingAllowed = True (automatically allow Bond) • Var33 BondingAllowed = False (Bond not allowed) Var33 BondingAllowed True (default) False AT Command:DisableBond¹ Bluetooth pairing (Bond) allowed Pairing (Bond) from the new Bluetooth Device is not allowed. AT Command:EnableBond¹ It is possible SPP/iAP Connect for devices already stored into the bonding table. ¹ Please refer to User Manual for AT command details 42 Connection with a Remote Device Procedure Device B Device A Device A Host 43 Device B Module Module Host Setup Setup Command Mode- Not Connected Command Mode- Not Connected AT+AB SPPConnect BDAddrB SPP Connection Established ByPass Mode - Connected ByPass Mode - Connected AT-AB ConnectionUp AT-AB ConnectionUp AT-AB – BypassMode - AT-AB – BypassMode Data Exchange 43 Connection Allowed 44 • Var34 PageScan = True (module Connectable) • Var34 PageScan = False (module Non-connectable) Var34 PageScan True (default) False AT Command:UpdatePageScan 0¹ Connectable (connection is allowed) AT Command:UpdatePageScan 1¹ Non Connectable (connection isn’t allowed) ¹ Please refer to User Manual for AT command details 44 Escape from Bypass Mode Procedure 45 • Once a connection has been established between host and remote device, the host can put the abSerial interface back into command mode by using the Escape Sequence. Once back in command mode, new commands can be issued. Host Module ByPass Mode - Connected Data Exchange ^#^$^% 2 seconds Escape Sequence must be followed by 1000 ms of no data Command Mode- Connected AT-AB -CommandMode 45 Disconnect with a Remote Device Procedure Device B Device A Device A Host Device B Module Module ByPass Mode - Connected ^#^$^% 46 Host B ByPass Mode - Connected Data Exchange Command Mode- Connected AT-AB -CommandModeAT+AB SPPDisconnect SPP Connection Down Not Connected AT-AB SPPConnectionClosed AT-AB ConnectionDown Command Mode- Not Connected AT-AB ConnectionDown 46 SmartCable SmartCable Remote Companion Device BDAddress: 12345678 48 AT+AB smartcablesetup 12345678 10 100 Allows this device to automatically connect with the remote companion at the startup with no user interaction • The Smart Cable feature establishes an SPP link to the designed remote device automatically and at the startup time • Replace the need for AT connection commands • If a link is disconnected, The Smart cable feature will automatically reconnect the link without user interaction • Enabled with the command • AT+AB SmartCableSetup [bd address] [attempts] [interval] • The Bdaddress of the designed remote device is saved in the NV memory • The feature is active after a reset • Attempts and Interval define the paging options of the companion device • AT+AB DeleteSmartCable command removes the Smart Cable settings 48 Remote Mode Remote Mode • A remote device can be controlled and configured by a BlueTooth link • This function is tipically used to remotely configure UART or GPIOS of a Remote Device • The Remote Mode Feature is enabled starting from the AT2 version of the firmware To enable a remote node to be remotely controlled the following variable must be set RmtEscapeSequence = true Device A Host Device B Module Module Host B Bypass Mode - Connected Bypass Mode - Connected Data Exchange @#@$@% AT-AB Remote Mode Remote Configuration AT+AB bypass AT-AB Bypass Mode AT-AB Bypass Mode 50 Multipoint Broadcast and Multipoint Use Modes (1/2) 52 AT2 enables multipoint or broadcast connection modes to handle connections between a master and multiple slaves • To select a connection mode the configuration variable MPMode must be used MPMode Variable • MPMode = 0 (Def.) Point To Point MPMode = 1 Multipoint MPMode = 2 Broadcast Use Multipoint when a message needs to be sent to multiple slaves uniquely identified by an ID. When a message is sent by a slave to the master, it is also uniquely identified by the ID of the sender. An header defined by the protocol described in the following table is used with each packet of data Dest/Source Node • Use Mode Length Data 1 byte 3 bytes Up to 315 bytes Node Id from 0 to 9, 1 ASCII decimal digit 3 ASCII decimal digit from 001 to 315 Up to 315 bytes Use Broadcast when a message needs to be broadcasted to multiple slaves. 52 AT2: Broadcast and Multipoint Use Modes (2/2) Multipoint 3 Broadcast 3 slave 5 – SppDisconnect 0 slave Slave1 Slave1 MPMode=0 1- ID0 Master MPMode=0 1- ID0 Master master 6 – SppDisconnect 0 master 1 - Sppconnect Slave1Addr 1 - Sppconnect Slave1Addr slave 0005slave 5 Master Master MPMode=1 1- Node ID 0 Slave1 2-Node ID 1 Slave2 53 4 0006master 2 -Sppconnect Slave2Addr master MPMode=2 1- Node ID 0 Slave1 2-Node ID 1 Slave2 5 slave 2 -Sppconnect Slave2Addr Slave2 master Slave2 MPMode=0 2- ID1 Master MPMode=0 2- ID1 Master 4 slave 53 Power Modes Power Modes 55 • Active Mode • Standard mode operation • Sniff Mode • Sniffing is a process of listening for specific types of commands that occur periodically. The sniff mode is used to reduce the power consumption of the device as the receiver can be put into standby between sniff cycles • Requiring the use of an LPO, sleep mode is supported only by the modules SPBT2632C2A.AT2 and SPBT2632C1A.AT2 • Sniff mode requires to set few dedicated configuration variables. It can be remotely activated with commands or can be automatically activated at the connection time. • Deep Sleep Mode • The Deep Sleep Mode temporarily halt’s the BT controller chip’s operation by stopping the 26 MHz main crystal • Deep Sleep is activated by setting related configuration variables • Scheduled CPU activity, timers, remote link activity, and GPIO wakeup will resume active mode 55 Power Modes Setup The use of DSM and Sniff are enabled via the following set of Configuration Variables and Commands Variable/Command Impacted Power Mode Use HostDeepSleepEnable DSM/Sniff Enables deep sleep mode. Mandatory for DSM. Advised for the Sniff Mode. GPIO_HostWakeUp DSM GPIO register used to wake-up the module after it enters deep sleep mode. A setting of none means that this function is disabled. GPIO_HostKeepAwake DSM GPIO register used to prevent the module from entering deep sleep mode. A setting of none means that this function is disabled. AllowSniff Sniff Enables Sniff Mode AutoSniff Sniff Enables automatic Sniff Mode AutoSniffTimeout Sniff The inactivity timeout in seconds. After this time passed, Starts AutoSniff AutoSniffInterval Sniff Sniff Slot interval applied AutoSniff UseExtLPO DSM/Sniff A 32.768kHz low power oscillator needs to be connected to enable Sniff Mode AT+AB sniff [BDAddress] [Sniff Int] Sniff Used to switch a remote device from active mode to sniff mode AT+AB exit sniff [BDAddress] Sniff Used to switch a remote device from sniff mode to active mode 56 Deep Sleep WakeUp 57 • GPIO WakeUP. abSerial supports the GPIO-based Deep Sleep Wakeup • For example, the following variable configuration set GPIO3 to be used with this purpose. AT+AB config GPIO_HostWakeUp = 3 AT+AB config GPIO_HostKeepAwake = 3 AT+AB config HostDeepSleepEnable = true • The DSM will be enabled as long as the GPIO3 is maintained low. • Radio WakeUp. When DSM is activated the module is still able to accept a connection request from a remote device. • If a connection request is received the module goes awake and return to sleep when the connection is closed 57 Sniff mode 58 • To enter in Sniff mode Deep sleep variable must be configured as per following table • For example, the following variable configuration set GPIO3 to be used with this purpose. AT+AB config GPIO_HostWakeUp = 3 AT+AB config GPIO_HostKeepAwake = 3 AT+AB config HostDeepSleepEnable = true • The DSM will be enabled as long as the GPIO3 is maintained low • To enter in sniff mode, once deep sleep mode is active, the variable allowsniff must be true • The sniff can be automatic or enabled via AT command 1. Automatic: the variable autosniff is set true 2. Manual: the module is set into sniff mode using the command AT+AB sniff [Bdaddress of the device to be placed into Sniff Mode] 58 Power Mode Figures ACTIVE MODE Configuration Summary • HostDeepSleepEnable = false • GPIO_HostKeepAwake = none • GPIO_HostWakeup = none • AllowSniff = false 30 mA (TX) 13mA (RX) 9.6 mA (Standby) DEEP SLEEP MODE 30 mA (TX) Configuration Summary • HostDeepSleepEnable = true 13mA (RX) • GPIO_HostKeepAwake = 3 • GPIO_HostWakeup = 3 0.05 mA (Standby) • AllowSniff = false (If ExtLPO is used) SNIFF MODE Configuration Summary • HostDeepSleepEnable = true • GPIO_HostKeepAwake = 3 • GPIO_HostWakeup = 3 • AllowSniff = true • UseExtLPO=true Connected AT+AB Sppdisconnect (from the master) AT+AB Sppconnect (from the master) Connected 30 mA (TX) 13 mA (RX) AT+AB Sppdisconnect (from the master( AT+AB Sppconnect (from the master) AT+AB Sniff (from the master) Connected Sniff AT+AB ExitSniff (from the master) 10 mA (Sniff TX) 0.05 mA (Sniff RX/Standby) The values refer to an SPBT2632C1A.AT2; Slave Mode; CPU Speed: 32MHz; LPO Enabled 59 Security Security 61 • To maintain security, Bluetooth devices can use keys to verify the identify of other devices (Pairing/Authentication) and to modify data to make the data private (Encryption) • Blue Modules implement the Bluetooth 2.1 security features for the Authentication and the Encryption • When Paired with companion devices, Blue Modules support: • Legacy Pairing with 2.0 or earlier Bluetooth versions • Secure Simple Pairing with 2.1 or newer Bluetooth versions 61 Security • 62 Security features in Blue Modules are managed with a set of configuration variables • AlwaysBonding (boolean) to establish device connectability • PIN: PIN used when pairing is required by a companion device (only for comunication with 2.0 or earlier deprecated Bluetooth devices ) • DefaultSecurity: Establishes the security level i.e. the authentication level with a companion device. • Possible Values: • 1- No Security; • 2/3 - Legacy Security for 2.0/earlier Bluetooth devices (deprecated) • 4 - SSP enabled. This value also supports legacy pairing with Bluetooth 2.0/earlier • Encryption: (Boolean) Establishes if an encryption key is used • DefaultAuthentication: establishes which level of SSP authentication is enabled. • Possible Values: • 4. SSP Just Works (no MITM protection) • 5. SSP pairing modes (with MITM protection setting the variable MITMEvent true) 62 AT2 Default Security Configuration Variable Name Variable Number Default Value 63 Note BondingAllowed Var33 True Device is always connectable Pin Var06 1234 Used only when connection is with 2.0 devices or earlier DefaultSecurity Var40 4 SSP enabled DefaultAuthentication Var41 5 MITM protection by asking for a confirmation message during pairing MIMTEvent Var55 False Sends paring passkey to the main UART EnableEncryption Var39 True Encryption Key is used 63 Communication with Smart Phones Communication with Smart Phones • AT2 supports communication with Smart Phone, i.e. Android and Apple devices AT2 implements both the MFI protocol and the iAP profile • MFI is a licensing program from Apple, to develop electronic accessories that connect to iPod, iPhone, and iPad • Apple Accessory devices must utilize an iPod Authentication Co-processor (CP) • Blue Modules are MFI ready and fully integrate the IAP protocol • The MFI Apple Co-processor connected via the I2C pins MFI Apple Coprocessor I2Cdata I2Cclk Buy the chipset from Apple SPBT2632CxA.AT2 • Supporting Apple iPhone and other iOS Bluetooth data oriented connections requires a proprietary profile called iAP Set the CPI2CMode Variable of the module v2.0B chip Renesas SO8 v2.0C chip Infineon USON8 CPI2CMode= 2 for v2.0B 3 for v2.0C 65 Configuration for communication with iAP Devices Commands/Configuration Variables 66 Use/Default Value AT2 Configuration COD 240404 EnableEncryption true DefaultSecurity 4 EnableIAP true Application Customization iAPAppID A1B2C3D4E5 iAPProtocolStrmain Com.AmpedRFTech.Demo iAPProtocolStrAlt Com.AmpedRFTech.ProtocolAlt CPI2CMode 3 (MFI Coprocessor v2.0c) AccName Amped-Test AccManufacturer Amped RF AccModelNumber Test-Model AccSerialNumber Amp’ed Up! iAP Commands AT+AB IAPConnect [BDAddress] To connect a remote device with the IAP profile AT+AB IAPDisconnect To disconnect from a IAP session 66 Communication Speed 67 • SPP Connect • Actual value up to 500Kbps • iAP Connect • Max speed theoretically possible: • iPhone4/iPad2: • iPhone4S/iPad3: • iPhone5/iPad4(mini): up to 100Kbps up to 250Kbps up to 250Kbps • Actual value (BTM Apple): • iPad3: • iPad1: up to 150Kbps up to 90Kbps 67 CoD setting CoD setting 69 • CoD (Class of Device) is set by default 240404 corresponding to headset device • The CoD can be changed using the AT command • AT+AB config var30= [CoD] • CoD value list can be retrieved at SIG website: https://www.bluetooth.org/en-us/specification/assigned-numbers/baseband 69 Upgrading Firmware Upgrading Firmware Procedure 71 i.e. PC UART New Version Source Device BTM RF USB/Serial New abSerial Firmware Version available from ST (.bin file) i.e. PC USB/Serial peripherals New Version Source Device HOST (Micro) UART BTM RF peripherals The Firmware on the Bluetooth nodes can be upgraded for bug fixing or for taking advantage of the introduction of new features. The Firmware upgrading is enabled via the UART interface of the module. 71 Firmware Upgrading Procedure 72 Different options are possible to upgrade the Firmware from the host via the UART • The recommend procedure is using the AT command • AT+AB InvalidateApplication • And follow instruction on next slide • Alternative procedures • Using the Flash Bootloader (based on the Y-Modem protocol) of the STM32 • The Flash Bootloader is activated in two different ways: • Acting on the GPIO2 pin of the module • Using a special-purpose at-command • It can be used/tested by using the Y-Modem transmitter function integrated in the Hyperterminal or other terminal tool 72 Upgrading with the Flash Loader – AT command 73 STEVAL-SPBT3ATV3 STEVAL-SPBT4ATV3 • User FLOW Description: • Insert the dongle in a USB slot of the PC • Open an HyperTerminal (115200:8:none:1:none) • Send the command “AT+AB InvalidateApplication (it deletes the abSerial application currently running on the module) • The module enters the boot state presenting the Main menu choices • Select option 1 (download application image) • Use the Y-modem function integrated in the HyperTerminal and select the file to download • The process Terminates with “Programming Completed Successfully!” • Reset the module 73 Upgrading with the Flash Loader - GPIO2 74 STEVAL-SPBT3ATV3 • User FLOW Description STEVAL-SPBT4ATV3 • Put the GPIO2 to 0 (use a jumper between the dongle PADs, for STEVAL-SPBT3ATV3 PAD4 and 9, for STEVAL-SPBT4ATV3 PAD5 and 13) for details refer to module application note • Insert the dongle in a slot • Open an HyperTerminal on the PC (115200:8:none:1) • Reset the module • The module enters in the boot state and three different Main menu choices are presented • In 5 seconds select option 1 (download application image) otherwise the module automatically enters the option 2 (execute application) • Use the Y-modem function integrated in the HyperTerminal by selecting the image file to download • The process terminates with “Programming Completed Successfully!” • Remove the jumper • Reset the module 74 Thank you