Home : Bluetooth : Baseband packets
A Bluetooth packet is called a BB_PDU (BaseBand Packet Data Unit). Each packet can be considered part of one logical link:
Data values are transmitted with the least significant bit first.
Access Code (72 bits).
Preamble (4 bits); depends on the first (i.e. least significant) bit of the sync word: either 0101(0...) or 1010(1...).
- Sync Word (64 bits); depends upon the type of access code, one of:
- CAC (Channel Access Code): used when connected, generated from the LAP of the master device.
- DAC (Device Access Code): used for paging, generated from the LAP of the paged device.
- IAC (Inquiry Access Code): used for inquiring. For general inquiries, the GIAC (General IAC) is used, generated from the reserved LAP of 9E8B33.
Trailer (4 bits); depends on the last (i.e. most significant) bit of the sync word: either (...1)0101 or (...0)1010.
Header (54 bits). Actually consists of 18 bits, but each bit is transmitted three times.
AM_ADDR (3-bits): Active Member Address, the address of the active slave to which this packet is directed or from which it is being sent. An address of zero is reserved for a "broadcast" message to all active slaves.
TYPE (4 bits): Type code; definition is different for ACL and SCO links.
FLOW (1 bit): Flow control over the ACL link; 0=stop, 1=go.
ARQN (1 bit): Acknowledgement indication; 0=NAK, 1=ACK.
SEQN (1 bit): Sequence number. This bit is toggled for consecutive packets.
HEC (8 bits): Header Error Check, an integrity check value calculated from the other 10-bits of the header.
Only for Enhanced Data Rate packets: guard time, of 5 µs (±0.25 µs), while switching from GFSK to DPSK modulation.
Only for Enhanced Data Rate packets: synchronisation sequence (11 symbols). One reference symbol (of arbitrary phase) followed by a fixed sequence of 10 symbols.
Payload.
Only for Enhanced Data Rate packets: trailer (2 symbols), containing all zero data.
An ID (identity) packet consists of just the preamble and sync word, a total of 68 bits.