SCO and ACL Links


Two kinds of links can be established between master/slave devices in the network: the synchronous connection-oriented (SCO) link and the asynchronous connectionless (ACL) link.

SCO Links

The SCO link is established between the master and a particular slave in the network. Reserved time slots are set aside for these links, and up to three SCO links can be used for communication between the master and one or more slaves. SCO links are suitable for voice communications because the reserved slot nature of the link makes it easy to provide a steady stream of data instead of a variable rate that could cause a voice signal to degrade.

SCO links are considered switched-circuit links and must be set up before they can be used. The frequency of the dedicated time slots and other setup information is first established before an SCO link can be used.

ACL Links

ACL links are packet-switched connections between the master and one or more slaves, and can use any time slots that are not currently being used for SCO links. However, only one ACL link can exist at any one time between the master in the network and a particular slave.

Bluetooth Packets

Most Bluetooth packets use a standard format that consist of three basic fields:

  • Access Code This is a fixed-length field of either 68 or 72 bits.

  • Header This is a fixed-length field of 54 bits.

  • Payload The payload field can range from 0 to 2,745 bits in length and contains the actual data portion of the packet.

The Access Code field is used for synchronization purposes and to identify a particular channel in a piconet. If the Access Code field is followed by a header field, the Access Code is 72 bits in length; otherwise, it's 68 bits long. Three kinds of Access Codes are used:

  • Channel Access Code (CAC) The CAC is used to identify a particular piconet. That is, all devices in the same piconet use the same value in the Access Code field.

  • Device Access Code (DAC) The DAC is used during certain signaling procedures, such as paging and responses to pages.

  • Inquiry Access Code (IAC) The IAC consists of two other kinds of access codes: the General Inquiry Access Code (GIAC) and the Dedicated Inquiry Access Code (DIAC). GIAC is used to discover other Bluetooth devices that are within range, whereas the DIAC is used by Bluetooth devices that share some common characteristic.

The Packet Header field consists of several components:

  • AM_ADDR This is the active member address, and it is only 3 bits in length. This is why only 7 slaves can be in a single piconet, because 3 bits can be used to express an address range from 0 to 7 in binary notation. The address of 0 is used to broadcast packets to all slaves in a piconet. The slave's 3-bit address is used in packets that travel to and from the master/slave. The master doesn't need an address, because Bluetooth uses a point-to-point messaging service and there is only one master in the piconet.

  • PM_ADDR This is used to put a device into park mode, making it easier to re-establish active communications in the future when the device needs to transmit or receive data.

  • Type This is a 4-bit field, so up to 16 packet types can be specified for either an ACL or an SCO link.

  • Flow This is a single-bit field used for flow control purposes on an ACL link. A value of 0 indicates that data transmissions should be stopped. When the receiving end of the communication has sufficient buffer space to begin receiving ACL packets, it sets this bit to a value of 1.

  • ARQN This acknowledgment indication is a 1-bit field used to acknowledge (value = 0) that a packet was received successfully (that it passed the CRC check), or that it was not (value = 1).

  • SEQN This 1-bit field is used to determine that packets are received in the correct order (sequence number), and alternates between 0 and 1.

  • HEC The Header Error Check field consists of an 8-bit word calculated based on a polynomial. This error checking covers only the header information.

The address field is important because it limits the number of devices that can participate actively in a piconet at any given time. The master can reuse any address when a slave goes into park mode so that a large number of devices can be used in a piconet. However, only seven can be assigned active addresses and are allowed to communicate at any point in time.

The Type field has different values depending on whether the packet is an SCO or an ACL packet. It is beyond the scope of this chapter to define all the packet types, and indeed some are still undefined in the specification and reserved for future use. However, five packet types are commonly used:

  • ID packet This type of packet is used for paging, inquiry, and responses to paging and inquiries, and the packet contains the DAC or IAC value.

  • Null packet This packet type is made up of only the HAC and the CAC, and no payload. It is generally used to return the status of a previous transmission (the ARQN field), and the Null packet does not have to be acknowledged.

  • Poll packet The master can use this packet to poll slaves in the network. This packet is similar to the Null packet in that it has no payload, but slaves are required to respond to this packet even if they have no data to send at the time.

  • FHS packet This is the packet type discussed earlier that a slave device uses to obtain the frequency-hopping sequence of the piconet, along with other information about the piconet. This packet also contains the address the slave will use if it is joining the piconet.

  • DM1 packet This type of packet is used for control messages for both the SCO and the ACL link types.

Various packet types are defined in the Bluetooth 1.1 specification for ACL and SCO links. Refer to the documentation available at the SIG Web site for further information. The details of these packets and the ways they are used depend on the kind of Bluetooth device being considered. One of the ways Bluetooth differs from other wireless technologiessuch as Wi-Fi (IEEE 802.11b)is that in addition to defining the mechanisms to grant access to the media (air waves) and provide transport (packet types), Bluetooth also defines profiles, which describe basic functionality for many devices that are expected to adopt this technology.




Upgrading and Repairing Networks
Upgrading and Repairing Networks (5th Edition)
ISBN: 078973530X
EAN: 2147483647
Year: 2006
Pages: 411

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net