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.
   470   471   472   473   474   475   476   477   478   479   480