nullIntroduction of Bluetooth Technology
Introduction of Bluetooth Technology
WS KANG
Principal Engineer
Network Solution Lab.
Corporate R&D Center
Samsung Electronics
August 30, 2000Who Started Bluetooth?Who Started Bluetooth?The Bluetooth SIG (Special Interest Group) was formed in February 1998
Ericsson
IBM
Intel
Nokia
Toshiba
Now 9 Promoter member 3COM,LUCENT,MS ,Motorola (1999)
There are 1800+ adopter companies
The Bluetooth SIG went “public” in May 1998
The Bluetooth SIG work (the spec: >1,500 pages) became public on July 26, 1999The Bluetooth TechnologyThe Bluetooth TechnologyCreates an open industry standard to revolutionize wireless connectivity for personal and mobile devices.
Substitutes a wireless air link for physical connections between electronic devices located in a single area (the piconet).
Establishes rapid, ad-hoc connections between one or more devices with required security (point to point, paired, or multipoint).
Permits instantaneous, effortless exchange of voice and data between suitably configured devices (the profiles).
Accelerates the growth of mobile data connectivity.
The Bluetooth TechnologyThe Bluetooth TechnologyFeatures
Flexible network topology
Low energy consumption
Robust data
High quality voice transfer
Bluetooth values Trade Marked
Freedom
Simplicity
Reliability
Versatility
SecurityWhat does Bluetooth do for you?What does Bluetooth do for you?What is Bluetooth?What is Bluetooth?A Short Range Wireless Communication Technology
Intended to create Personal Area Network or PAN(s)
Operating Range of 10 Meters(optional 100 meters mode)
Operates in Free Scientific Communication Band
2.4 GHz to 2.5 GHz
Provides Multiple Levels of Security
Frequency Hopping
Data Whitening
Data Encoding
Data Encryption
Targeted at all types of Devices
Wiresless Telephones(Cellular, Portables, Satellite, etc.)
Computers, PDAs, Peripherals, etc.
Set-top Boxes, Audio Systems, Cameras and Camcorders, etc.
Comsumer Electronics, Headsets, Remote controls, etc.What is in the Bluetooth Specification?What is in the Bluetooth Specification?A hardware/software description
An application frameworkUsage scenarios: SynchronizationUsage scenarios: SynchronizationUser benefits
Proximity synchronization
Easily maintained database
Common information databaseSharing Common Data…Usage scenarios: HeadsetUsage scenarios: HeadsetUser benefits
Multiple device access
Cordless phone benefits
Hand’s free operationWireless Freedom…Usage scenarios: Data access pointsUsage scenarios: Data access pointsUser benefits
No more connectors
Easy internet access
Common connection experienceRemote Connections...Bluetooth System OverviewBluetooth System OverviewBluetooth Block DiagramRF
TransceiverFLASHBaseband
ProcessorHost
ProcessorH
C
IBluetooth ModuleBluetooth modules include subsystems:
Radio
Baseband
Software
...and Applications Development Tools
DC PowerRef Osc8RadioRadiofrequency synthesis: frequency hopping
2.402 + k MHz, k=0, …, 78
1,600 hops per second
conversion bits into symbols: modulation
GFSK (BT = 0.5; 0.28 < h < 0.35);
1 MSymbols/s
transmit power
0 dbm (up to 20dbm with power control)
receiver sensitivity
-70dBm @ 0.1% BERRadio Basics: ReceiverRadio Basics: ReceiverThe RF Transceiver contains both Receiver and Transmitter.
The receiver selects the desired signal and removes all other signals present at the antenna (strong interferers will be present both in and out of the ISM band).
The desired signal is downconverted to baseband and demodulated.
A digital bit stream representing the demodulated data is output to the baseband sub-system for further processing.Antenna
FilterLNARF
MixerSelectivity
Filter & GainDemodulatorDigital dataRF energyVCORadio Basics: TransmitterRadio Basics: TransmitterThe transmitter accepts digital data at it’s input and performs modulation, upconversion, filtering and amplification.
The RF signal at the antenna must meet strict criteria (spectral occupancy, frequency accuracy, spurious emissions, radiated energy).Antenna
FilterPARF
MixermodulatorDigital dataRF energyVCOThe BasebandThe BasebandThe Bluetooth baseband processor manages all physical and link layer functions including low level control of the system hardware
A digital IC
Functions implemented in both hardware and softwareFrame scheduling
Data routing
Correlation & down-sampling
Packet encoding/decoding
Error correction encoding/error detection & correction
Data whitening/de-whitening
Ciphering/deciphering
CRC coding
Buffer PCM data
Host Controller Interface
Format conversion
Sample rate & receive error reconciliation
Radio Control
Name request
Link address inquiries
Connection set-up
Authentication
Link mode negotiation and set-up for data and voice
Control of the Bluetooth module's power mode - sniff, hold, park
The Bluetooth network topologyThe Bluetooth network topologyRadio designation
Connected radios can be master or slave
Radios are symmetric (same radio can be master or slave)
Piconet
Master can connect to 7 simultaneous or 200+ inactive (parked) slaves per piconet
Each piconet has maximum capacity (1 Mbps)
Unique hopping pattern/ID
Scatternet
High capacity system
Minimal impact with up to 10 piconets within range
Radios can share piconets!The Bluetooth network topologyThe Bluetooth network topologyMaster / Slave relationship between Devices
Master controls entire piconet
A piconet is a group of devices controlled by one master
Maximum number of devices in a single Piconet
One Master
7 Active Slave Devices
255 Standby Slave Devices
Devices can participate in more than one Piconet
Devices can act as slave to other Piconets
Participation in more than on Piconet creats a scatternet
Slave devices to one Piconet can be Master to Another
A device can only be Master to a single Piconet
Masters and Slaves can exchange roles
Exchange of roles creates a new Piconet
All devices are informed and coordinated with new master
Creating a PiconetCreating a PiconetAScatternetScatternetslave 1slave 2slave 3master Bslave 4slave 5master AScatternetScatternetslave 1slave 2slave 3slave 4 / master Bslave 6slave 5master AOperational StatesOperational StatesStandby
Waiting to join a piconet
Inquire
Ask about radios to connect to
Page
Connect to a specific radio
Connected
Actively on a piconet (master or slave)
Park/Hold
Low-power connected states
Sniff
Duty cycle of the slave’s listen activity can be reducedInquiryPageConnectedAMATransmitdataAMAHOLDAMAPARKPMALow-power
statesActive
statesStandbyConnecting
statesUnconnected:
StandbyDetachreleases
AMA addressOperational StatesOperational Statesactive slavemasterparked slavestandbyInquiryInquirySniff ModeSniff ModeMASTERSLAVE 1SLAVE 2Park ModePark Modeactive slaveparked slaves BEACON
PM_ADDR masterPark ModePark ModeMASTERSLAVE XSLAVE 2PARK INTERVALSLAVE YBCBCBaseband link typesBaseband link typesPolling-based (TDD) packet transmissions
1 slot: 0.625msec (max 1600 slots/sec)
master/slave slots (even-/odd-numbered slots)
polling: master always “polls” slaves
Synchronous connection-oriented (SCO) link
“circuit-switched”
periodic single-slot packet assignment
symmetric 64Kbps full-duplex
Asynchronous connection-less (ACL) link
packet switching
asymmetric bandwidth
variable packet size (1-5 slots)
max. 721 kbps (57.6 kbps return channel)
108.8 - 432.6 kbps (symmetric)Mixed Link ExampleMixed Link ExampleMASTERSLAVE 1SLAVE 2SLAVE 3AddressingAddressingBluetooth Device Address (BD_ADDR)
48-bit IEEE 802 address
24-bit lower address part (LAP)
8-bit upper address part (UAP)
Active Member Address (AM_ADDR)
3-bit active slave address
all-zero broadcast address
Parked Member Address (PM_ADDR)
8-bit parked slave address
FH/TDD ChannelFH/TDD Channel625 ms ttmasterslaveFrequency HoppingFrequency HoppingtimeslavemasterPhysical ChannelPhysical Channel master BD_ADDR hop sequence
master CLOCK phaseHop SelectionHop SelectionPacket FormatPacket Formataccess codepacket headerpayload72b54b0-2745bAccess CodeAccess CodePREAMBLESYNC WORDTRAILER464434246LSBMSB BCH LAP BRKPacket HeaderPacket HeaderAM_ADDRHEC318AM_ADDRTYPEFLOWARQNslave active member addresspayload typeLC flow controlACK/NAKparameterinformationFLOW1ARQN1SEQN TYPE4SEQNretransmit orderingHECheader error checkMULTI-SLOT PACKETSMULTI-SLOT PACKETSPacket TypesPacket TypesData Rates (kb/s)Data Rates (kb/s)Error CorrectionError CorrectionForward-Error Correction (FEC)
1/3 rate: bit-repeat code
2/3 rate: (15,10) shortened Hamming code
Automatic Repeat reQuest (ARQ)
1-bit fast ACK/NAK
1-bit sequence number
header piggy-backingARQ SchemeARQ SchemeMASTERSLAVE 1SLAVE 2NAKACKBluetooth Security FeaturesBluetooth Security FeaturesFast frequency hopping (79 channels)
Low transmit power (range <= 10m)
Authentication of remote device
based on link key (128 Bit)
May be performed in both directions
Encryption of payload data
Stream cipher algorithm ( 128 Bit)
Encryption Key (8-128 bit) derived from link key
Frequent resynchronized
Affects all traffic on a link
Initialization(Pairing)
PIN entry by user
Application Level SecurityBluetooth Security FeaturesBluetooth Security FeaturesBased on Stored keys
No user intervention Access to both devices
Manual input of PINBluetooth System InterfacesBluetooth System InterfacesBluetooth ModulesBluetooth ModulesA complete Bluetooth system can be manufactured from a small Radio module and other components.
To allow a minimum size, the radio is assembled and tested on a substrate with embedded RF features.
Then the radio is assembled with other components onto the complete module, which can be tested more simply.Complete Bluetooth
ModuleRadio Module substrate
assembled on Bluetooth PCBThe Components of Bluetooth ModulesThe Components of Bluetooth ModulesRADIO - a mixed signal IC, analog and digital circuits:
modulates RF carrier with data for transmission
demodulates received signals to extract data stream
synthesizes required frequencies for RX and TX
BASEBAND PROCESSOR - mostly digital IC :
extracts information for host from RX data stream; configures TX data from host into Bluetooth packets
MICROCONTROLLER - Manages the links; turns components on and off; a digital IC
MEMORY - integrated RAM, ROM; integrated or separate Flash ROM ; a digital IC :
stores configuration information
stores short term operating information
ANTENNA - transducer to convert signal between conducted and radiated forms. Usually best outside the module.
Logical Combinations of Functionality Integrated in ModulesLogical Combinations of Functionality Integrated in ModulesRADIO ONLY
Portable phones! Phones contain powerful processors and memory capable of providing baseband and control functions
A cost-effective solution is often to provide a module containing only the radio function
RADIO + BASEBAND
….if phone processor does not have excess capacity to support Bluetooth TX data formatting and RX synchronization.
RADIO + BASEBAND + MICROCONTROLLER + MEMORY
For retrofit upgrade and unhosted applications - headsets, PC cards
Appropriate to include crystal and voltage regulation alsoTypes of Applications for ModulesTypes of Applications for ModulesHOSTED: ALREADY CONTAINS A MICROCONTROLLER; may be able to share memory, crystal oscillator, codec
Portable phones
Personal Computers
PDAs
UNHOSTED: Often an excessory to a hosted application; must be complete and self-sufficient
Headset for use with cell phone, or peronal audio
Mouse for PC
Joystick controller for video gamenullPros:
Smaller size
Lower cost
Improved performance?
Time-to-market?
Standard interface
Cons:
Software upgradesRF
TransceiverROMBaseband
ProcessorHost
ProcessorH
C
IBluetooth
ComponentCell PhoneFLASHPowerRef oscHosted Bluetooth Module Designnullin Cellular ApplicationsPros:
Smaller size
Lower cost memory?
Cons:
Software upgrades
IC Development
RF interface RF
TransceiverHost
Processor Bluetooth
ComponentCell PhoneFLASHPowerRef oscROMBluetooth
ProcessorBluetooth Baseband IntegrationnullBluetooth SoftwareSD ClientLC DriverTimer DriverHCI - Host DriverIRQ DriverL2CAPRFCOMMPPPUDPTCPAT
CommandsvCard/vCalSD ServerTCS BINHCIIPWAEBaseband w/ Link Controller ASICBluetooth RF ModuleAudioHCI Transport/DriversHCI Transport/DriversHost ControllerLink ManagerOBEXWAPUSBSerialPCMCIAUSBSerialPCMCIARTOSFlash DriverFlash LoaderSSISCMDBMVirtual OS LayerLink ManagerLink ManagerLink management
setup and configuration
packet selection for quality of service required
packet transfers
Security
authentication
pairing
create/change link keys
encryption including key management
Piconet management
Attach and detach slaves
Establishing ACL/SCO connections
master/slave switching
name requests
Handling of low power modes : hold, park, sniff modes
Hardware-dependent functionality and features
Logical Link Control and Adaptation Protocol (L2CAP)Logical Link Control and Adaptation Protocol (L2CAP)Protocol multiplexing
enables usage of several higher layer protocols simultaneously
identifies packets with required protocols
passes packets for higher layer protocols to appropriate handler
Segmentation and Reassembly
segments higher layer protocol packets into appropriate data link packets and reassembles them again.
Adds logical channel bits for ACL packets
hides data link packet lengths for higher layer protocols
Quality of Service
negotiates service type for link
monitors link quality and adjusts for rate, latency, delay
allocates channels for SCO connections
Hardware independent(ideally)Host Controller Interface (HCI)Host Controller Interface (HCI)Provides a common interface between the Bluetooth host and a Bluetooth module
Interfaces in spec 1.0: USB; UART; RS-232
Defines a boundary which allows the independent development of Bluetooth hardware and software
Defines a set of messages that are used by upper layer protocols to control and receive notifications from the Bluetooth hardware
Provides a flow control capability that regulates the flow of data between the host and the host controllerHCI Transport ProtocolsHCI Transport ProtocolsThe HCI transport protocols describe how HCI commands, event packets, and data packets are communicated between a host and the Bluetooth module.
The Bluetooth specification supports the following transport protocols:
USB Transport protocol
PC Card transport protocol
RS232 Transport protocol
UART Transport protocolService Discovery Protocol(SDP)Service Discovery Protocol(SDP)Bluetooth SDP enables Bluetooth devices to discover the characteristics and capabilities of other Bluetooth devices within RF proximity
Within Bluetooth SDP, a service is:
any information, resource, or facility that is provided by (or through) one Bluetooth device that is advertised as available to be used by nearby Bluetooth devices
Bluetooth SDP does not provide a general purpose service access/usage mechanism; SDP only enables discovery of services
Service Discovery Protocol(SDP)Service Discovery Protocol(SDP)Motivation
Bluetooth environment is qualitatively different from traditional network environments
Highly dynamic
Based upon device proximity
Device-based, rather than network-based
Focus
Service discovery within Bluetooth environment
Optimized for dynamic nature of Bluetooth
Services offered by or through Bluetooth devicesSDP Client and Server RolesSDP Client and Server RolesSDP Server: offers one or more services
Maintains a database of service information containing one service record for each service offered
Each service record contains a list of attributes describing the service
SDP Client: needs a service
Searches for services based on the desired attributes of those services
Requests additional attributes of the found servicesSDP Client and Server RolesSDP Client and Server RolesLML2CAPSDP ServerSDP Server RoleCOService
Records
DBLML2CAPSDP Client RoleCOSDP ClientBT_module_CtrlBT_module_CtrlRFCOMMRFCOMMProvide support for legacy applications that use serial cables
It emulates the 9 wires of an RS232 serial cable
Leverage the existing standard GSM TS 07.10
The scope is point-to-point communication between Bluetooth devices
It is a simple transport protocol
with framing, multiplexing
Plus additional provisions
RS232 signal status
Remote line status
Remote port setting
Parameter negotiation
RFCOMM
Protocol StackProfiles using RFCOMMProfiles using RFCOMMSerial Port Profile
Serial port emulation for legacy applications
Not explicitly using serial port emulation:
Dial-up networking
Fax
Headset
Generic Obex (Object Push, File Transfer, Synchronisation)
LAN AccessnullProfilesDefine how to implement specific usage models
“Sometimes” define which application to use
Define which provided and adapted protocols to use
Put requirements on each individual protocol
Define which options are considered mandatory
Define parameter rangesApplicationsProvided
ProtocolsAdapted
ProtocolsBasic
ProtocolsVCARDOBEXRFCOMMSDPTCSL2CAPLMBaseRadioTCPIPnullProfilesL2CAPSDPL2CAPSDPL2CAPA-PartyB-PartyLocalRemoteClientServerGeneric Access
ProfileService Discovery
Application ProfileBased on
AT CommandsLAN Access ProfileFax ProfileHeadset ProfileDial-up NetworkingFile Transfer ProfileSynchronizationCordless Telephony
ProfileIntercom ProfileObject Push ProfileTerminalGatewayTerminalPushPushClientServerIrMCIrMCAudioHeadsetDTGatewayDTGatewayClientServerTCS BinaryRFCOMMRFCOMMDevice ADevice BSerial Port ProfileGeneric Object
ExchangenullBluetooth Profile HierarchyService Discovery ProfileCordless Telephony ProfileIntercom ProfileDial-up Networking ProfileFax ProfileHeadset ProfileLAN Access ProfileFile Transfer ProfileObject Push ProfileSynchronization ProfileGeneric Access ProfileSerial Port ProfileGeneric Object Exchg ProfilenullGeneric Access ProfileThis profile defines the generic procedures related to discovery of Bluetooth devices (idle mode procedures) and link management aspects of connecting to Bluetooth devices (connecting mode procedures).
Defines procedures related to use of different security levels.
The profile includes common format requirements for parameters accessible on the user interface level.nullService Discovery Application ProfileThis profile defines the features and procedures for an application in a Bluetooth device to discover services registered in other Bluetooth devices and retrieve any desired available information pertinent to these services.
Reveals higher level services available to users
Provides Plug and Play informationnullCordless Telephony ProfileThis profile defines the features and procedures that are required for interoperability between different units active in the ‘3-in-1 phone’ use case.
The scope of this profile includes the following layers/protocols/profiles: Bluetooth Baseband, Link Manager Protocol, L2CAP, Service Discovery Protocol, Telephony Control Protocol Specification (TCS-Binary) and the General Access Profile.nullIntercom ProfileThis profile defines the requirements for Bluetooth devices necessary for the support of the intercom functionality within the 3-in-1 phone use case.
The requirements are expressed in terms of end-user services, and by defining the features and procedures that are required for interoperability between Bluetooth devices in the 3-in-1 phone use case.nullSynchronization ProfileThis application profile defines the application requirements for Bluetooth devices necessary for the support of the Synchronization usage model.
Synchronization is built on an IrDA foundation, reuses many existing protocols.
vCard and vCalendar objects can be synchronized between separate devices using the Obex protocol.Serial Port ProfileSerial Port ProfileThis profile defines the interoperability requirements for Bluetooth devices necessary for setting up emulated serial cable connections using RFCOMM between two peer devices. Is built on the Generic Access Profile
Two roles: initiator & responder (DevA & DevB)
Relates t