`
`m m ESE
`
`Figure 1-9
`An add-on module is
`one method that
`Bluetooth can be
`connected to a
`computer.
`
`{
`r_
`
`Host A
`. 4c. -
`
`Applications
`_,., .
`
`‘
`
`.
`2
`.
`l I
`3
`l
`
`>
`
`g
`
`.
`
`E
`l r‘
`l
`5
`!
`j
`
`l
`
`'
`
`'
`
`Bluetooth
`software
`
`'
`
`HCi driver
`"‘
`‘
`.
`’ ‘
`~ ‘
`Physical bus
`driver
`
`
`
`
`
`
`Bluetooth
`' Bluetooth
`hardware and
`hardware and
`ilnnware
`ilnnware
`
`.-
`HCI firmware
`
`-
`
`..
`Physical bus
`‘
`
`
`
`Serial—USE, or PCMClA‘ll-iledéce
`
`Chapter 1
`
`- Host 3
`r
`__
`
`.
`
`Applications
`-_ v
`
`
`.
`
`
`
`Bluetooth
`SOME”
`
`
`HCI driver
`HCI flnnware
`y.
`~ _
`V
`.
`.
`.
`.
`_
`‘
`.
`.
`
`‘
`Physical bus
`‘
`Physical bus
`“VB"
`.:
`.
`
`
`
`
`Serlal; use, or PcMcm interface
`
`The OSI Model A
`
`Take a look again at the Bluetooth-to-host interface in Figure 1-9. A very
`complex process must occur just to get data from the host application to the
`radio in the module, across the wireless link, and to the destination host.
`How should the data be structured? How fast should the data be sent? And
`
`(gasp) how should the link be established and configured? After thinking
`about all of these factors together, it's tempting to give up in despair and
`return to a simpler life of designing vacuum tube oscillators.
`In 1977, the International Standards Organization (ISO) established a
`subcommittee to research the need to develop a standardized, layered
`approach to general computer communications. This work culminated in
`1982 with the Open Systems Interconnection (OSI) reference model, shown
`in Figure 1-10. By working through the layers of the model, a designer can
`gradually create an'entire computer communication system without becom-
`ing overwhelmed, and (theoretically, at least) a particular layer can be
`changed without affecting the other layers.3 The downside to using this
`method is that redundancy, along with its resulting inefliciencies, can creep
`into a design. We shall discover this characteristic when we examine the
`details of Bluetooth packet structure in Chapter 4, “Baseband Packets and
`Their Exchange”
`Qualcomm Incorporated
`Exhibit 1016
`
`Page 1 of 10
`
`um..."—
`
`Qualcomm Incorporated
`Exhibit 1016
`Page 1 of 10
`
`
`
`Introduction
`
`5:: E: :2: :2:
`
`Figure 1-10
`The OSl reference
`
`model provides a
`standardized, layered
`approach to
`computer
`communications.
`
`
`
`
`
`mmm<>rmmzor
`
`is
`
`r
`
`.j..'
`
`a” ."- ,L»..~;.. v.44“-
`
`Data link
`‘
`(logical link control)
`. .
`-:'-,
`.
`: ’1'}; "..~.‘,
`h -
`mm."
`
`z
`
`‘
`
`3,}
`-;_
`. :l"
`
`Data link
`(medium access control)
`_-- ~' ~q .“.
`d......;_: '4
`w... r-'.‘.._ ‘.:_"
`
`,
`
`- "
`Physical (PHY)
`.1.
`.
`v‘
`‘
`. h ..._.-...._ _~_-_-:.‘~:
`.
`raw-:4 ; '.‘
`‘
`
`
`
`—--—_---
`
`'
`
`.
`
`
`"é~.’~:‘_-‘.1‘
`
`
`
`
`
`
`
`
`
`mmm<>r:Dm'UUC
`
`
`$5“!
`
`'- "-342", 5?"
`
` Application
`
`. ?~.:
`
`... ..
`
`'
`
`' Presentatio
`‘
`‘1
`‘71, at» 3.“. a ». .‘_-.,, 3..
`
`‘
`
`n
`
`.
`
`:5
`'-".h.'..'.‘i1é
`J
`
`
`
`
`‘5‘.’ .',~’1:' I
`
`L
`’
`‘Y
`924-“. "
`,4 _.l‘ r.
`
`
`
`
`--—----—
`
`The physical layer (PHY) contains the actual physical interface and the
`rules for its use. In Bluetooth, the PHY is RF and the modulation, and
`
`detection processes are listed in the specification. The PHY is made reliable,
`and link connection and detachment rules are provided by the data-link
`lajer..This layer contains Media Access Control (MAC), which is a set of
`rules that determine the structure of basic data packets and how they are
`sent, and the Logical Link Control (LLC), which provides the protocol for
`link establishment and detachment. The network layer provides transpar-
`ent transfer of data between transport entities on each end of the commu-
`nication link. A properly implemented network layer relieves the transport
`layer from requiring any knowledge of the method by which data moves
`from source to destination. In other words, a Bluetooth device can appear to
`be a serial cable to the transport layer.
`Layers four and above in the 051 model are called higher layers (pro-
`found, yes?), and their functions start to become less well defined. The
`
`transport layer includes optimization routines and other quality of service
`(QoS) methods for efficient data exchange, and the session layer contains
`the method for controlling dialog between applications on either end of the
`link. Finally, the presentation layer resolves differences between format and
`data representation between entities, and the application layer provides the
`means by which applications can access the OSI environment. As we move
`up the OSI layers, their implementation gradually changes from hardware,
`to firmware, and finally into software. The Bluetooth protocol stack exhibits
`the same behavior.
`
`Page 2 of 10
`
`Page 2 of 10
`
`
`
`”r“M-....‘..
`
`v“is.”-.....,
`
`Chapter 1
`
`Bluetooth Protocols
`
`Now that we’ve studied the OSI model, we can move on to the Bluetooth
`
`protocol stack shown in Figure 1-11. It’s at once apparent that the Blue-
`tooth protocol stack doesn’t conform to the OSI model exactly, but the lay-
`
`ers are still there and gradually transition from implementation in
`hardware and firmware (lower layers) to software (higher layers). If each of
`these groups of layers are separate entities, such as a PC card and laptop
`computer, then they can communicate with each other through the HCI.
`HCI provides paths for data, audio, and control signals between the Blue-
`tooth module and host.
`
`The radio completes the physical layer by providing a transmitter and
`receiver for two-way communication. Data packets are assembled and fed to
`the radio by the baseband state machine. The link controller provides more
`
`complex state operations, such as the standby, connect, and low-power
`modes. The baseband and link controller functions are combined into one
`
`layer in Figure 1-11 to be consistent with their treatment in the Bluetooth
`
`Specification 1.1. The link manager provides link control and configuration
`through a low-level language called the link manager protocol (LMP).
`The logical link control and adaptation protocol (L2CAP) establishes vir—
`tual channels between hosts that can keep track of several simultaneous ses-
`sions such as multiple file transfers. LZCAP also takes application data and
`breaks it into Bluetooth-size morsels for transmission, and reverses the
`
`process for received data. Radio frequency communication (RFCOMJVD is the
`Bluetooth serial port emulator, and its main purpose is to trick an applica-
`tion into thinking that a wired serial port exists instead of an RF link.
`Finally, the various software programs that are needed for the different Blue-
`tooth usage models enable a familiar application to use Bluetooth. These
`include service discovery protocol (SDP), object exchange (OBEX), telephony
`control protocol specification (T08), and WirelessApplication Protocol (WAP).
`Aside from data communications, Bluetooth has a special provision for
`real-time, two~way, digitized voice as well; Once these voice packets are cre-
`ated by an application, they bypass most of the data protocol stack and are
`handled directly by the baseband layer. This prevents unacceptable delay
`between the time the packets are created and the time they arrive at their
`destination. Control of the Bluetooth module usually proceeds from the
`application through HCI to the module, also bypassing the protocol layers
`used for handling the data communication process‘itself'.
`The Bluetooth radio and the baseband/link controller consist of hard-
`
`ware that is typically available as one or two integrated circuits. The
`firmware-based link manager and one end of the host controller interface,
`
`Page 3 of 10
`
`{gaugedW“...-_.-
`
`Page 3 of 10
`
`
`
`Introduction
`
`:2: :2: ma :2:
`
`The Bluetooth
`protocol stack
`
`
`
`Two-wayvolce
`
`
`:
`
`
`57':3:mar-1t":
`[.._:.I
`“kn...“
`
`I 2 3
`
`- - - - - - - -
`
`
`(3,.
`:;;<,
`
`
`
`VControl'
`
`r
`
`\
`
`“‘23:".
`
`1r;
`
`w: RFCOMM
`"'--‘~‘1-—m._i .3.
`.-
`
`
`'
`”L ”(1.:
`
`{.7
`
`“Han-’7'; 79:-
`
`.7,-----~ '\v."“_'-¢,,
`
`
`
`
`._ ’ I:
`‘
`_
`.
`.
`APPLICATION
`.
`3‘21““ me: .' 1a,?
`-,'~ ,
`
` 7
`
`
`.-
`
`
`_,.
`
`_.
`
`d
`Host controlledinterface
`'--' a; Ciu‘fnzwq‘
`_..._ ,.--.--v 1’
`'_'
`
`'
`
`I
`
`f
`
`
`
`Data
`
`
`
`E:Ix 3m:Imin2
`.......
`
`perhaps with a bus driver for connection to the host, complete the Bluetooth
`module shown in Figure 1-9. The remaining parts of the protocol stack and
`the host end of HCI can be implemented in software on the host itself.
`
`Bluetooth Profiles
`
`Whereas protocols provide the basic building blocks for Bluetooth opera-
`tion, the profile is what gives a Bluetooth-equipped device its personality.
`Do you want the device to be a headset? Use the headset profile. A cordless
`phone? Use the cordless telephony profile. The purpose of profiles is three-
`fold:
`
`Lots of options are reduced to those needed for a specific function.
`
`at Procedures for a specific function can be taken from a set of base
`standards.
`
`a A common user experience is provided across devices from different
`manufacturers.
`
`Page 4 of 10
`
`Page 4 of 10
`
`
`
`
`
`5::
`
`Chapter 1
`
`Several profiles existed in the first release of the Bluetooth specification,
`and these original profiles and their interaction with each other are shown
`in Figure 1-12. For example, if a Bluetooth-equipped device is to have the
`ability to perform automatic file synchronization, then the Generic Access
`profile, Serial Port profile, Generic Object Exchange profile, and Synchro-
`nization profile will all play a role in the device’s capabilities. Profiles can be
`envisioned as a Wertical slice” through the Bluetooth protocol stack, in
`which a subset of capabilities in each layer is selected for the particular
`Bluetooth function being developed. Automatic file synchronization, for
`example, doesn’t require the use of two-way real-time audio, so implement-
`ing audio isn’t necessary for that application. Each usage model has its own
`corresponding set of profiles. Other profiles continue to be added as they
`attain SIG approval. We will take a more detailed look at profiles and how
`they are constructed in Chapter 11.
`
`Figure 1-12
`Examples of
`Bluetooth profile
`
`Generic Access profile
`
`_
`TCS—BlN-based profiles
`
`Service Discovery
`Application profile
`
`Cordless Telephony
`profile
`
`Intercom
`profile
`
`I
`
`,
`
`'
`
`
`
`File Transfer
`profile
`
`Object Pu5h
`profile
`
`.\
`
`Synchronlzation
`profile
`
`'
`
`
`_
`
`.
`
`f
`:
`
`Page 5 of 10
`
`interaction
`
`'
`
`S Serial Port profile
`
`'
`.
`, A
`
`.
`
`Dial-up Networking
`profile
`,
`
`'
`
`_
`
`‘
`
`,,
`
`profile
`
`Headset
`
`profile
`
`LAN Access
`profile
`
`.
`
`V
`
`'
`
`.
`
`‘-
`
`'
`
`Page 5 of 10
`
`
`
`Introduction
`
`I
`511
`l
`i,
`E
`(2
`z
`"
`i
`,
`J 25;»;
`
`Summary of Bluetooth Operation
`
`Imagine, ifyou will, a digital communication link between (say) two laptop
`computers. Let’s call one A and the other B. If data is to be sent only in a
`one-way direction from A to B, then we can equip A with a transmitter and
`B with a compatible receiver, and the PHY is done. Next, we can program
`microcontrollers in A and B to accept a particular data structure, and the
`MAC is done, and so on up the OSI chain. However, once we remember that
`the BER using wireless is somewhat high, we may decide that B should
`transmit an acknowledgment to A whenever a packet of data is received
`correctly. That gives A a chance to repeat a transmission that B had
`received in error. Clearly, A and B now require both a transmitter and a
`receiver. When should B send its acknowledgment? IfbothA andB use the
`same frequency for their respective transmissions, then A’s transmitter
`must be off and its receiver on when B transmits its acknowledgment. This
`requires timing coordination between A and B, but where does this coordi-
`nation come from? It probably makes sense to give one of the computers
`some kind of control over the network to prevent chaos due to problems
`with timing.
`:
`Bluetooth controls timing on the network by designating one of the
`devices a master and the other a slave. The master is simply the unit that
`initiates the communication link, and the other participants are slaves.
`When that link is later broken, the master/slave designations no longer
`apply. In fact, every Bluetooth device has both master and slave hardware.
`The network itself is termed a piconet, meaning small network. When
`there is only one slave, then the link is called point-t0~point. A master can
`control up to seven active slaves in a point—to-multipoint configuration.
`Slaves communicate only with the master, never with each other directly.
`Timing is such that members of the piconet cannot transmit simultane-
`ously, so these devices won’t jam each other. Finally, communication across
`piconets can be realized if a Bluetooth device can be a slave in more than
`one piconet, or a master in one and a slave in another. Piconets configured
`in this manner are called scatternets. These various arrangements are
`depicted in Figure 1-13.
`The existence of more than one piconet in the same room leads to
`another significant problem: Can two piconets interfere with each other?
`Surely they would if everyone operates on the same frequency. Bluetooth
`
`Page 6 of 10
`
`Page 6 of 10
`
`
`
`ll
`
`
`
`,.......(A........-on“.
`
`l E
`
`l
`L26__;.J
`
`E2] E2: :1] CE
`Figure 1-13
`Point-topoint. point—
`tomultipoint. and
`scatternet topology
`
`Chapter 1
`
`Scaflernet member
`
`
`
`Point-to-munipoint
`scatternet
`
`“\fln'“
`
`Polnt—to—polnt
`piconet
`
`prevents this situation by using FHSS, where the 2.4 GHz band is seg-
`mented into 79 l-MHz-wide channels, and each piconet, under control of its
`
`master, hops from channel to channel in what appears to be a random pat-
`tern. In this way cross-piconet jamming occurs only occasionally, and the
`acknowledgment process discussed earlier provides for error recovery.
`
`Paging and Inquiry
`
`Complexity is increased still further when we realize that FHSS poses sig-
`nificant challenges when a prospective master wants to page (initiate a link
`with) a prospective slave. How does the master know when and on what fre-
`
`quency the slave is listening? One simple solution would be to designate one
`frequency (channel 1, for example) as a paging channel, so devices meet
`there to pass hopping parameters from the master to the slave, then they
`both begin hopping together while communicating. But what if someone
`puts a sandwich in the microwave oven, and it happens to jam channel 1?
`Or what if several Bluetooth devices want to initiate a link at the same
`
`time? Communications would be paralyzed.
`Bluetooth’s solution for paging is to have the prospective slave’s receiver
`hop on a certain set of frequencies very slowly (about one hop per second),
`and the prospective master’s transmitter hop on the same set of frequencies
`very quickly (about 3,200 hops per second). These frequencies are deter-
`mined by the slave’s identity, so different slaves listen for their pages on dif-
`ferent frequency sets. The fast-hopping master will then eventually succeed
`in paging the slow-hopping slave, and communication can begin.
`
`Page 7 of 10
`
`Page 7 of 10
`
`
`
`Introduction
`
`i.
`
`i
`
`I, 27
`
`Before a prospective master can page a specific slave, it must determine
`that slave’s identity in the first place so that, among other things, it can cal-
`culate which frequencies the slave will be using for its page scan. The
`prospective master can discover which Bluetooth devices are within range
`through a process called inquiry. When devices respond to an inquiry, they
`pass to the prospective master the parameters it needs to page them later.
`The hopping pattern used for an inquiry is the same for all Bluetooth
`devices.
`.
`To summarize, the following steps take place to establish a piconet:
`
`The prospective master sends an inquiry to determine who is in range.
`
`Devices hearing the inquiry respond with their paging parameters.
`
`. The prospective master pages a specific device.
`
`90'9ri
`
`The paged device responds.
`
`. Link parameters are exchanged.
`
`The communication session begins.
`
`By now you are probably ready to proclaim that Bluetooth is unneces-
`sarily complex, but keep in mind that most of the previous issues have
`already been implemented by the manufacturers in firmware and software.
`For a thorough understanding of what Bluetooth can do, it’s important to
`have a background in the basic operation of the piconet, and we will
`endeavor to do this throughout the book.
`
`
`
`Specifications, Standards,
`and the IEEE
`
`As is the case with many other communication network concepts, Bluetooth
`began as a specification, which can roughly be defined as a set of features
`agreed upon by the interested parties. The first Bluetooth specification was
`version 1.0A, released July 26, 1999, followed by 1.03 on December 1, 1999.
`Specification 1.1 appeared on February 22, 2001. Each of these documents
`was over a thousand pages long and covered the entire Bluetooth protocol
`stack from the radio through the upper layers, including sections on testing
`and compliance. This level of detail was unusual, as many earlier commu-
`nication system specifications (such as 802.11) only provided PHY- and
`MAC-layer information. Because manufacturers were free to implement
`the higher OSI layers as they wanted, devices from different manufacturers
`
`Page 8 of 10
`
`Page 8 of 10
`
`
`
`Chapter 1
`
`ofien wouldn’t communicate (such as 802.11 again). The Bluetooth SIG
`realized that this situation could spell disaster for Bluetooth, so its specifi-
`cation, along with associated documents, were carefiilly constructed to
`encourage (read: require) interoperability regardless of who actually
`designed and built the device.
`In addition to the specification, the Bluetooth SIG also publishes several
`other documents, all of which are required reading before enough informa-
`tion has been gathered to build a functioning Bluetooth device. These doc-
`uments discuss in great detail what a device must do to earn the Bluetooth
`name, but they don’t explain how to accomplish these tasks.
`
`Evolution of a Standard
`
`So if Bluetooth is a specification, what is a standard? Generally, a standard
`is a specification that is adopted by a committee belonging to a (usually)
`worldwide accepted governing body. Examples of these governing bodies are
`the Electronics Industries Association (EIA), the International Telegraph
`and Telephone Consultative Committee (CCITT), and the IEEE. The lEEE
`formed the 802 working group several years ago to develop worldwide con-
`sensus standards, both wired and wireless, that benefit a so-called network
`society. To accomplish this goal, the 802 group established formal proce-
`dures for submitting a specification for adoption as a standard. For example,
`wired Ethernet became the IEEE 802.3 standard, and wireless Ethernet is
`IEEE 802.11. Although these standards focus primarily on the PHY and
`
`MAC layers in the OSI model, 802 architecture also includes Internet Pro-
`tocol (IP) at the network layer, Transmission Control Protocol (TCP) at the
`transport layer, and X400 and X500 e-mail at the application layer.
`The IEEE 802.15 working group has established a charter for the wire-
`less personal area network (WPAN) that covers small, short-range, low-
`power, and low-cost networks that exist within a personal operating space.‘
`The activities of this working gr0up include the following:
`
`802.15.1 Standardization Task Group for IEEE standardization of the
`Bluetooth specification
`
`I: 802152 Recommended Practice Task Group for coexistence ofWPAN
`and WLAN devices
`
`E 80215.3 High Rate WPAN Stande Task Group to investigate WPAN
`solutions with data rates above 20 Mb/s
`
`I: 80215.4 Low Rate WPAN Standard Task Group to investigate 2 kb/s
`to 200 kb/s WPAN solutions
`
`Page 9 of 10
`
`Page 9 of 10
`
`
`
`Introduction
`
`-....._....._«.4
`l
`I 2 9 ii
`
`To convert a specification to an IEEE standard requires formatting the
`. specification to IEEE requirements and matching the protocol stack to the
`OSI layered model. Finally, comments and comment resolution, followed by
`balloting, complete the process. In this way Bluetooth became the IEEE
`802.151 standard.
`
`Health Effects from Exposure
`to 2.4 GHz RF
`
`As wireless devices become more prevalent, there has been increasing con-
`cern over the biological effect of long-term exposure to RF radiation. If
`microwave ovens also operate at 2.4 GHz, am I being slowly roasted each
`time my Bluetooth transmitter comes on (see Figure 1—14)? Indeed, one of
`the possible effects of RF radiation is thermal, where body tissue absorbs
`energy faster than it can be dissipated. The result is that the tissue heats
`
`E m m ‘23 WE?
`Figure 1-14
`No, Bluetooth isn't
`nearly powerful
`enough to do this.
`(Source: Bill Lee]
`
`by em Lae
`
`
`
`_©1981Lu
`
`
`“Look,
`there’s another one. Go get
`orange sauce out of the fridge. ”
`
`
`
`.(k s
`
`that
`
`Page 10 of 10
`
`Page 10 of 10
`
`