BASEBAND SPECIFICATION
9 TRANSMIT/RECEIVE TIMING
The Bluetooth transceiver applies a time-division duplex (TDD) scheme. This means that it alternately transmits and receives in a synchronous manner. It depends on the mode of the Bluetooth unit what the exact timing of the TDD scheme is. In the normal connection mode, the master transmission shall always start at even numbered time slots (master CLK1=0) and the slave transmission shall always start at odd numbered time slots (master CLK1=1). Due to packet types that cover more than a single slot, master transmission may continue in odd numbered slots and slave transmission may continue in even numbered slots.
All timing diagrams shown in this chapter are based on the signals as present at the antenna. The term “exact” when used to describe timing refers to an ideal transmission or reception and neglects timing jitter and clock frequency imperfec-tions.
The average timing of master packet transmission must not drift faster than 20 ppm relative to the ideal slot timing of 625 µs. The instantaneous timing must not deviate more than 1 µs from the average timing. Thus, the absolute packet transmission timing of slot boundary must fulfill the equation:
(EQ 1)
where is the nominal slot length (625 µs), denotes jitter ( µs) at slot boundary , and, , denotes the drift ( ppm) within slot . The jit-ter and drift may vary arbitrarily within the given limits for every slot, while “off-set” is an arbitrary but fixed constant. For hold, park and sniff mode the drift and jitter parameters as described in Link Manager Protocol Section 3.9 on page 203 apply.
9.1 MASTER/SLAVE TIMING SYNCHRONIZATION
The piconet is synchronized by the system clock of the master. The master never adjusts its system clock during the existence of the piconet: it keeps an exact inter-val of Mx625 µs (where M is an even, positive integer larger than 0) between con-secutive transmissions. The slaves adapt their native clocks with a timing offset in order to match the master clock. This offset is updated each time a packet is received from the master: by comparing the exact RX timing of the received packet with the estimated RX timing, the slaves correct the offset for any timing misalign-ments. Note that the slave RX timing can be corrected with any packet sent in the master-to-slave slot, since only the channel access code is required to synchronize the slave.
The slave TX timing shall be based on the most recent slave RX timing. The RX timing is based on the latest successful trigger during a master-to-slave slot. For ACL links, this trigger must have occurred in the master-to-slave slot directly
pre-tk k
ceding the current slave transmission; for SCO links, the trigger may have occurred several master-to-slave slots before since a slave is allowed to send an SCO packet even if no packet was received in the preceding master-to-slave slot.
The slave shall be able to receive the packets and adjust the RX timing as long as the timing mismatch remains within the ±10 µs uncertainty window.
The master TX timing is strictly related to the master clock.The master shall keep an exact interval of Mx1250 µs (where M is a positive integer larger than 0) between the start of successive transmissions; the RX timing is based on this TX timing with a shift of exactly Nx625 µs (where N is an odd, positive integer larger than 0). During the master RX cycle, the master will also use the ±10µ uncertainty window to allow for slave misalignments. The master will adjust the RX processing of the considered packet accordingly, but will not adjust its RX/TX timing for the fol-lowing TX and RX cycles.
Timing behaviour may differ slightly depending on the current state of the unit.
The different states are described in the next sections.
9.2 CONNECTION STATE
In the connection mode, the Bluetooth transceiver transmits and receives alter-nately, see Figure 9.1 on page 88 and Figure 9.2 on page 89. In the figures, only single-slot packets are shown as an example. Depending on the type and the payload length, the packet size can be up to 366 µs. Each RX and TX transmission is at a different hop frequency. For multi-slot packets, several slots are covered by the same packet, and the hop frequency used in the first slot will be used throughout the transmission.
Figure 9.1: RX/TX cycle of Bluetooth master transceiver in normal mode for single-slot packets.
<_366 µs
625 µs
±10 µs
TX slot RX slot TX slot
1250 µs
hop g(2m) hop g(2m+1) hop g(2m+2)
Figure 9.2: RX/TX cycle of Bluetooth slave transceiver in normal mode for single-slot packets.
The master TX/RX timing is shown in Figure 9.1 on page 88. In figures 9.1 through 9.6, f(k) is used for the frequencies of the page hopping sequence and f’(k) denotes the corresponding page response sequence frequencies. The channel hopping frequencies are indicated by g(m). After transmission, a return packet is expected Nx625 µs after the start of the TX burst where N is an odd, positive integer. N depends on the type of the transmitted packet. To allow for some time slipping, an uncertainty window is defined around the exact receive timing. During normal operation, the window length is 20 µs, which allows the RX burst to arrive up to 10 µs too early or 10 µs too late. During the beginning of the RX cycle, the access correlator searches for the correct channel access code over the uncertainty window. If no trigger event occurs, the receiver goes to sleep until the next RX event. If in the course of the search, it becomes apparent that the correlation output will never exceed the final threshold, the receiver may go to sleep earlier. If a trigger event does occur, the receiver remains open to receive the rest of the packet.
The current master transmission is based on the previous master transmission:
it is scheduled Mx1250µs after the start of the previous master TX burst where M depends on the transmitted and received packet type. Note that the master TX timing is not affected by time drifts in the slave(s). If no transmission takes place during a number of consecutive slots, the master will take the TX timing of the latest TX burst as reference.
The slave’s transmission is scheduled Nx625µs after the start of the slave’s RX burst. If the slave’s RX timing drifts, so will its TX timing. If no reception takes place during a number of consecutive slots, the slave will take the RX timing of the latest RX burst as reference.
625 µs
±10 µs
RX slot TX slot RX slot
1250 µs
hop g(2m) hop g(2m+1) hop g(2m+2)
9.3 RETURN FROM HOLD MODE
In the connection state, the Bluetooth unit can be placed in a hold mode, see Section 10.8 on page 112. In the hold mode, a Bluetooth transceiver neither transmits nor receives information. When returning to the normal operation after a hold mode in a slave Bluetooth unit, the slave must listen for the master before it may send information. In that case, the search window in the slave unit may be increased from ±10 µs to a larger value X µs as illustrated in Figure 9.3 on page 90. Note that only RX hop frequencies are used: the hop fre-quency used in the master-to-slave (RX) slot is also used in the uncertainty window extended into the preceding time interval normally used for the slave-to-master (TX) slot.
If the search window exceeds 625 µs, consecutive windows shall not be cen-tered at the start of RX hops g(2m), g(2m+2), ... g(2m+2i) (where ‘i’ is an inte-ger), but at g(2m), g(2m+4), ... g(2m+4i), or even at g(2m), g(2m+6),
...g(2m+6i) etc. to avoid overlapping search windows. The RX hop frequencies used shall correspond to the RX slot numbers.
It is recommended that single slot packets are used upon return from hold to minimize the synchronization time, especially after long hold periods that require search windows exceeding 625 µs.
Figure 9.3: RX timing of slave returning from hold state.
9.4 PARK MODE WAKE-UP
The park mode is similar to the hold mode. A parked slave periodically wakes up to listen to beacons from the master and to re-synchronize its clock offset.
As in the return from hold mode, a parked slave when waking up may increase the search window from ±10 µs to a larger value X µs as illustrated in Figure 9.3 on page 90.
625 µs
RX slot
hop g(2m) hop g(2m+2)
hop g(2m) hop g(2m-2)
±X µs Estimated start of master TX
9.5 PAGE STATE
In the page state, the master transmits the device access code (ID packet) cor-responding to the slave to be connected, rapidly on a large number of different hop frequencies. Since the ID packet is a very short packet, the hop rate can be increased from 1600 hops/s to 3200 hops/s. In a single TX slot interval, the paging master transmits on two different hop frequencies. In a single RX slot interval, the paging transceiver listens on two different hop frequencies; see Figure 9.4 on page 91. During the TX slot, the paging unit sends an ID packet at the TX hop frequencies f(k) and f(k+1). In the RX slot, it listens for a
response on the corresponding RX hop frequencies f’(k) and f’(k+1). The lis-tening periods are exactly timed 625 µs after the corresponding paging pack-ets, and include a ±10 µs uncertainty window.
Figure 9.4: RX/TX cycle of Bluetooth transceiver in PAGE mode.
9.6 FHS PACKET
At connection setup and during a master-slave switch, an FHS packet is trans-ferred from the master to the slave. This packet will establish the timing and frequency synchronization (see also Section 4.4.1.4 on page 56). After the slave unit has received the page message, it will return a response message which again consists of the ID packet and follows exactly 625 µs after the receipt of the page message. The master will send the FHS packet in the TX slot following the RX slot in which it received the slave response, according the RX/TX timing of the master. The time difference between the response and FHS message will depend on the timing of the page message the slave received. In Figure 9.5 on page 92, the slave receives the paging message sent first in the master-to-slave slot. It will then respond with an ID packet in the first half of the slave-to-master slot. The timing of the FHS packet is based on the timing of the page message sent first in the preceding master-to-slave slot: there is an exact 1250 µs delay between the first page message and the FHS packet. The packet is sent at the hop frequency f(k+1) which is the hop frequency following the hop frequency f(k) the page message was received in.
In Figure 9.6 on page 92, the slave receives the paging message sent sec-ondly in the master-to-slave slot. It will then respond with an ID packet in the
±10 µs
TX slot RX slot TX slot
hop f(k) hop f(k+1) hop f'(k) hop f'(k+1) hop f(k+2) 68 µs
hop f(k+3)
312.5 µs 625 µs
second half of the slave-to-master slot exactly 625 µs after the receipt of the page message. The timing of the FHS packet is still based on the timing of the page message sent first in the preceding master-to-slave slot: there is an exact 1250 µs delay between the first page message and the FHS packet. The packet is sent at the hop frequency f(k+2) which is the hop frequency following the hop frequency f(k+1) the page message was received in.
Figure 9.5: Timing of FHS packet on successful page in first half slot.
Figure 9.6: Timing of FHS packet on successful page in second half slot.
master-to-slave slot slave-to-master slot master-to-slave slot
hop f(k) hop f(k+1) hop f'(k) hop f(k+1)
68 µs
625 µs 312.5 µs
ID
ID
ID FHS
hop f(k) hop f(k+1)
Master
Slave
master-to-slave slot slave-to-master slot master-to-slave slot
68 µs
625µs ID
ID
ID FHS
Master
Slave
hop f(k) hop f(k+1) hop f'(k)
hop f(k+1)
hop f'(k+1) hop f(k+2)
hop f(k+2)
The slave will adjust its RX/TX timing according to the reception of the FHS packet (and not according to the reception of the page message). That is, the second response message that acknowledges the reception of the FHS packet is transmitted 625 µs after the start of the FHS packet.
9.7 MULTI-SLAVE OPERATION
As was mentioned in the beginning of this chapter, the master always starts the transmission in the even-numbered slots whereas the slaves start their trans-mission in the odd-numbered slots. This means that the timing of the master and the slave(s) is shifted by one slot (625 µs), see Figure 9.7 on page 93.
Only the slave that is addressed by its AM_ADDR can return a packet in the next slave-to-master slot. If no valid AM_ADDR is received, the slave may only respond if it concerns its reserved SCO slave-to-master slot. In case of a broadcast message, no slave is allowed to return a packet (an exception is found in the access window for access requests in the park mode, see Section 10.8.4 on page 115).
Figure 9.7: RX/TX timing in multi-slave configuration
1 2 2 1
TX
RX
TX
TX RX
slave 2 RX slave 1 master