“The rapid development of wireless technology has opened a new era of wireless communication. It is ubiquitous and has had a major impact on innovative developments in diverse fields such as communications, healthcare, automotive and space exploration industries. The market is mature and is going through a period of dynamic growth.
The rapid development of wireless technology has opened a new era of wireless communication. It is ubiquitous and has had a major impact on innovative developments in diverse fields such as communications, healthcare, automotive and space exploration industries. The market is mature and is going through a period of dynamic growth. In 2019, its revenue was $1,431.3 billion, and it is expected to grow to $5,519.4 billion by 2024, a compound annual growth rate of 31%. Wireless technology is still evolving and will continue to open up more possibilities with greater accuracy, greater operational efficiency, faster decision-making, higher data rates, and greater cost savings. However, as the capabilities of these devices continue to increase, so does the complexity of the wireless system-level test environment.
Accurate timing and synchronization are the basic requirements to ensure the normal operation of wireless systems. This refers to the process of matching the transmitter and receiver clocks in a system within a given tolerance. They are used to ensure the highest packet integrity and optimize data flow and should always be a key consideration when implementing wireless system testing and development. However, meeting these requirements is difficult because clock sources are known to drift. Even a small drift of a few milliseconds can accumulate over time, causing the system to lose synchronization. A fully synchronized wireless system can only be achieved when the clocks are perfectly matched. But in reality, it’s very difficult. Drift is an inherent characteristic of clocks that causes clock count times to drift and eventually become out of sync.
A poorly synchronized system can result in reduced transmission performance, which in turn reduces the quality of the transmitted data. In addition, it can lead to loss of data integrity, resulting in operational failures, which are critical in applications that can affect health, safety, and personal safety. Negative impact in these applications can lead to legal liability and loss of customer trust.
Given that the need for precise synchronization systems is so great, we can use a variety of synchronization techniques depending on the requirements, such as accuracy and degree of movement. they are, respectively:
Transmitter-receiver based synchronization
Figure 1. Transmitter-receiver based synchronization.
Receiver-receiver based synchronization
Figure 2. Receiver-receiver based synchronization.
Latency measurement synchronization
Figure 3. Latency measurement synchronization.
Transmitter-receiver based synchronization is a two-way information exchange. The Timing Synchronization Protocol (TPSN) for sensor networks is one such example. In TPSN, network synchronization is achieved by sending and receiving synchronization burst packets between nodes. The time offset of each transmission is time stamped and calculated to determine the clock time difference, which is then used to implement node synchronization.
SFD-based synchronization uses one-way information exchange. This synchronization is used with reference to broadcast synchronization (RBS).
Delay measurement synchronization, like receiver-receiver based synchronization, is a one-way information exchange; however, it is used to measure delay. Delay Measurement Time Synchronization (DMTS) is one such example.
Next we discuss in detail the different timing and synchronization parameters used in wireless systems using TPSN, how each parameter affects the overall functionality of the system, and how to configure these parameters to ensure a more reliable synchronization system. Additionally, these parameters will help identify timing and synchronization related vulnerabilities and system boundaries during wireless system level testing.
Timing and Synchronization Parameters
The radio enables software to use a synchronization reference point to precisely schedule transmit and receive commands. Synchronization between transmitter and receiver is achieved by planning events at a positive offset from a reference point. The following are commonly used reference points in wireless systems:
The sync reference point is set when a sync command (set_sync_ref(NOW)) is processed.
Figure 4 shows the relationship between the transmitted packet and the reference point set by the command (set_sync_ref(NOW)).
Figure 4. Sync now.
The synchronization reference point is set at the start of frame (SOF), indicating that a valid synchronization word has been detected.
After sending the command (set_sync_ref(SFD)), the reference point is set when the first start of frame (SFD) is detected after the command has been sent. In Fig. 5, the second transmit data packet is transmitted based on the SFD reference point.
Figure 5. Synchronous SFD.
In this sync mode, the sync reference point is set at each SOF. As shown in Figure 6, for each valid data packet synchronization word received subsequently, the synchronization reference will be updated to the latest SOF timestamp time.
Figure 6. Sync latest.
Use these synchronization modes to achieve synchronization between two nodes. However, it’s important to note that hardware clocks are known for drift, which causes their frequency to change over time and thus inaccurate. So, at any given point, the clocks may not be the same. The synchronization reference of the transmit and receive clocks is continuously updated, minimizing the effects of skew and skew.
Time offset is the time difference between the current time and the start of the time capture or synchronization reference. This parameter is used when sending or receiving.
The minimum time offset start is the minimum time required to execute a send/receive command immediately. We calculate this parameter based on the latency inherent to the API and the radio. If the value is smaller than this value, a scheduling error will result and the transmit/receive operation will fail.
Figure 7. Time offset.
Figure 8 shows a scenario where the time offset used is less than the minimum allowed time, causing the command to be dispatched to a time that has passed.
Figure 8. Scheduling packets beyond the set offset.
When executing two consecutive transmit and receive commands (transmit-transmit or receive-receive), if both commands use a single time reference, then the size of the first packet is determined for the successful execution of the second command. important factor in the time offset. When the length of the first packet increases, the time offset of the second command must also increase to ensure successful execution of the command. If the time offset used is less than the minimum allowable time offset, the second packet is scheduled while the first is still being executed, causing the operation to fail. As shown in Figure 9.
Figure 9. Scheduling packets using time offsets.
maximum time offset
The maximum time offset is used to prevent packets from being scheduled outside the set time. Due to clock drift, scheduling packets that deviate too far from the synchronization reference can lead to inaccurate scheduling, which in turn leads to signal detection timeouts or SOF timeouts. We will discuss these timeouts in detail in the timeouts chapter.
Turnaround time is the time it takes for the physical layer (PHY) to change from receive mode to transmit mode (and vice versa). During the turnaround time, the components in the analog RF front end are powered up and stabilized, which takes a long time. This time consumption can be even more important for low-latency feedback applications, such as process control loops in industrial systems, which involve remote control of robotic arms or other machines. Turnaround time applies only to half-duplex transceivers.
Turnaround time is used if the user needs to send a packet when the physical layer is ready again after transmitting a receive packet (and vice versa).
Figure 10 shows two packets: a receive packet and a transmit packet. In this scenario, sched_rx_packet(0) prepares the transceiver to receive packets. In this example, the offset is set to 0, which means that the transceiver will start receiving packets as soon as the physical layer is ready. During reception of a packet, the sched_tx_packet(0) command is sent, causing the physical layer to switch to a turnaround state. The software schedules transmit packets with the completion of the receive operation as a reference point, and then adds the turnaround time value.
Figure 10. Packet scheduling with turnaround time.
Figure 11 shows what happens when the turnaround time is not set in the software. Since there is no turnaround time value set, the scheduler is set to send the next packet as soon as the first packet is transmitted. The scheduler doesn’t know that the physical layer can’t transmit/receive yet, because it also needs to change its state, preventing the successful transmission of the next packet.
Figure 11. Packet scheduling without turnaround time.
This illustrates the importance of setting turnaround times. Without setting it, the user has no way of knowing whether a receive scheduled during a send was performed successfully (and vice versa). The turnaround time value shall be determined based on the time required for the physical layer to transition from the physical layer transmit state to the physical layer receive state. This scenario is critical for use cases where the RF device frequently switches from transmit to receive (and vice versa).
time interval between packets
The time interval between packets refers to the time interval between the last bit of the previous frame and the first bit of the next frame. Like turnaround time, the time interval between packets is used as a reference to determine the time interval between sending/receiving another data packet. The difference is that the time interval between packets is for two packets of the same type (send-send or receive-receive). The transceiver needs to use the time interval between packets to get the physical layer ready for the next packet.
Figure 12 shows two data packets: transmit packet and transmit packet. In this scenario, the command sched_tx_packet(0) makes the transceiver ready to send packets immediately. Sending another sched_tx_packet(0) command when the first packet has not been sent will cause the scheduler to set the sending of the next packet immediately after the current packet has been sent. The scheduler uses the time interval between packets as a reference to determine when to send the next packet. Its value is determined by the fall or rise time of the physical layer. This is used to ensure that the physical layer is ready for the next round of packet transmission/reception.
Figure 12. Packet scheduling with time interval between packets.
Figure 13 shows the error that occurs when the time interval between packets is not set. The scheduler sets the next packet to start sending as soon as the first packet is sent/received. However, as with turnaround time, the scheduler does not know that the physical layer is not ready for another round of send/receive.
Figure 13. Packet scheduling without time interval between packets.
In wireless systems, timeouts are used to prevent the device from waiting indefinitely for a response. The timeout sets the amount of time the device is allowed to wait for a valid response. If no valid response is received within this time period, an error will be reported. The most common types of timeouts are as follows:
frame start timeout
A SOF timeout occurs when an invalid synchronization is detected. SOF timeout also occurs when the SOF timer expires before the sync word is received.
Figure 14 shows a valid sync address detected within the SOF timer period, and Figure 15 shows a scenario where a SOF timeout occurs when a valid sync address is not detected within the allotted time.
Figure 14. Packet scheduling with correct sync address.
Figure 15. SOF timeout error due to invalid sync address.
Signal detection timeout
A signal detection timeout occurs when a valid preamble is not detected within the SD period, or the timer expires before the preamble is received. As shown in Figures 16 and 17, respectively.
Figure 16. SD timeout due to delay in packet transmission.
Figure 17. SD timeout error because no packet was detected.
Figure 18 shows a scenario where a valid preamble is detected within the timer period; therefore, no timeout is detected.
Figure 18. No SD timeout.
It is very important to set the correct timeout period. The timeout cannot be too short or too long. If the timeout is too short, it will result in spurious detection, that is, there is a valid packet, but because the timeout is too short, there is not enough time to detect it. Increasing the timeout period reduces the number of spurious timeouts, but causes the device to remain active for longer, which consumes and wastes more power.
For wireless systems, time synchronization is a very important element, especially for applications where data integrity is paramount. There are many factors that affect system synchronization, and a good understanding of the correlation and characteristics of timing parameters can help engineers develop and perform wireless system-level testing of highly reliable wireless systems.
The Links: G150XG01 V4 6MBP150RTA060 SKM400GB125D.