The previous article introduced how the clocks of the Central and Peripheral in a piconet are synchronized, as well as the time slots (hereafter referred to as slots). Now, we will discuss how to transmit and receive.1. Transmit/Receive TimingIn a piconet, the Central always starts transmitting on even slots (i.e., when CLK1=0), while the Peripheral always starts transmitting data on odd slots (i.e., when CLK1=1). It is important to note that since some data types may occupy more than one slot, the Central’s packets may also occupy odd slots, and the Peripheral may occupy even slots. To facilitate understanding, we will refer to the previous image as shown below:
The time for the packet to start transmission relative to the ideal slot timing of 625μs should not drift more than 20ppm. The deviation between instantaneous timing and average timing should not exceed 1 μs. Therefore, the start transmission time of the k-th packet should satisfy the following equation:
Where,TN is the nominal slot length (625 μs),jk represents the jitter at the start of slot k (less than 1μs),dk represents the drift within slot k (|dk| ≤ 20ppm). For each slot, jitter and drift can vary within the given limits, whileoffset is an arbitrary but fixed constant. For Hold mode and Sniff mode, the drift and jitter parameters are specified in the LMP.2. Piconet Physical Channel TimingTo account for some timing deviations, an uncertainty window is defined around the precise reception timing. During normal operation, the length of this window should be 20 μs, allowing received packets to arrive up to 10 μs early or delayed by up to 10 μs. It is recommended that peripherals use a variable-sized window or time tracking mechanism to accommodate host absence for more than 250 milliseconds.
At the beginning of the reception (RX) cycle, the access correlator needs to search for the correct channel access code within the uncertainty window. If no event is triggered, the receiver can enter sleep mode and wait until the next reception event occurs to wake up. During the search process, if it is clear that the correlated output value will never exceed the final set threshold, the receiver can enter sleep mode early to save power. If a trigger event occurs, the receiver must remain on to receive the remainder of the packet. However, if this packet is intended for other devices, or if an unrecoverable header error is detected, or if an unrecoverable payload error is detected, the receiver does not need to continue receiving the remainder of the packet.
Peripherals will add an offset to their local clock to synchronize with the master’s clock. The offset value is updated each time a Central packet is received.How is it updated? Each time a packet is received, the Peripheral compares the actual reception time of the packet with its estimated reception time to achieve synchronization. For each time slot sent from Central to Peripheral, the Peripheral can perform synchronization..