Page 475 - From GMS to LTE
P. 475
Bluetooth and Bluetooth Low Energy 461
Table 7.2 ACL packet types.
Packet type Number of slots Link type Payload (bytes) FEC CRC
0100 1 DH1 0–270 No Yes
1010 3 DM3 0–121 2/3 Yes
1011 3 DH3 0–183 No Yes
1110 5 DM5 0–224 2/3 Yes
1111 5 DH5 0–339 No Yes
If FEC is used, the receiver is able to correct transmission errors. The disadvantage of
using FEC, though, is the reduction in the number of user data bits that can be carried
in the payload field. If a 2/3 FEC is used, one error correction bit is added for two data
bits. Instead of two bits, three bits will thus be transferred (2/3). Furthermore, ACL
packets can be sent with a cyclic redundancy check (CRC) checksum to detect transmission
errors which the receiver was unable to correct (see Figure 7.6).
To prevent buffer overflow, a device can set the flow bit to indicate to the other end to
stop data transmission for some time.
The ARQN bit informs the other end if the last packet has been received correctly. If
the bit is not set, the packet has to be repeated.
The sequence bit (SEQN) is used to ensure that no packet is accidentally lost. This is
done by toggling the bit in every packet. The following example shows how the bit is
used in a scenario in which device‐1 and device‐2 exchange data packets. If device‐2
receives two consecutive packets with the SEQN set in the same way, this indicates that
device‐1 was unable to receive the previous packet and has thus repeated its data packet.
The repetition is necessary as it is not clear to device‐1 whether only the return packet
is missing or if its own packet is also lost. Device‐2 then repeats its packet including the
acknowledgment for the packet of device‐1 and ignores all incoming packets as long as
no packet with a correct SEQN bit is received from device‐1. Even if multiple packets
are lost, all data is eventually delivered.
The last field in the header is the Header Error Check (HEC) field. It ensures that the
packet is ignored if the receiver cannot calculate the checksum correctly.
Flow (Unused)
L_CH Length Payload CRC
3 1 8 4 0–2712 Bits 16
ACL payload
Figure 7.6 The ACL payload field including the ACL header and checksum.