In computer networks, a syncword, sync character, sync sequence or preamble is used to synchronize a data transmission by indicating the end of header information and the start of data.[citation needed] The syncword is a known sequence of data used to identify the start of a frame, and is also called reference signal or midamble in wireless communications.
Prefix codes allow unambiguous identification of synchronization sequences and may serve as self-synchronizing code.
Examples
editIn an audio receiver receiving a bit stream of data, an example of a syncword is 0x0B77 for an AC-3 encoded stream.
An Ethernet packet with the Ethernet preamble, 56 bits of alternating 1 and 0 bits, allowing the receiver to synchronize its clock to the transmitter, followed by a one-octet start frame delimiter byte and then the header.
All USB packets begin with a sync field (8 bits long at low speed, 32 bits long at high speed) used to synchronize the receiver's clock to the transmitter's clock.[1]
A receiver uses a physical layer preamble, also called a physical layer training sequence, to synchronize on the signal by estimating frequency and clock offsets. Some documentation uses "preamble" to refer to a signal used to announce a transmission, to wake-up receivers in a low-power mode. While some systems use exactly the same signal for both physical-layer training and wake-up functions, others use 2 different signals at 2 different times for these 2 functions, or have only one or the other of these signals.[2]
The Bisync protocol of the 1960s used a minimum of two ASCII "SYN" characters (0x16…0x16) to achieve character synchronization in an undifferentiated bit stream, then other special characters to synchronize to the beginning of a frame of characters.[3][4]
The syncwords can be seen as a kind of delimiter. Various techniques are used to avoid delimiter collision, or—in other words—to "disguise" bytes of data at the data link layer that might otherwise be incorrectly recognized as the syncword. For example, HDLC uses bit stuffing or "octet stuffing", while other systems use ASCII armor or Consistent Overhead Byte Stuffing (COBS).
Alternatives
editIn some communication systems, a receiver can achieve character synchronization from an undifferentiated bit stream, or start-of-header synchronization from a byte stream, without the overhead of an explicit syncword. For example, the FSK441 protocol achieves character synchronization by synchronizing on any "space" characters in the message—in effect, every "space" character in the message does double duty as a syncword. For example, CRC-based framing achieves character and start-of-header synchronization.
In a self-synchronizing code, every character is, in effect, a syncword, and can be used to achieve character synchronization in an undifferentiated bit stream.
Preamble
editIn digital communication, preamble is a sequence of known bits sent in each frame. It is used for frame synchronization such as in Ethernet frames, as well as for channel estimation.
In Ethernet and other protocols, the preamble can also be used for automatic baud rate detection.
See also
editReferences
edit- ^ Craig Peacock. "USB Protocols".
- ^ Bastian Bloessl; Falko Dressler. "mSync: Physical Layer Frame Synchronization Without Preamble Symbols". 2018.
- ^ "BiSync, BSC". Connectivity Knowledge Platform. Made IT. Retrieved July 5, 2011.
- ^ John R. Freer (1996). Computer communications and networks (2nd ed.). Taylor & Francis. p. 12. ISBN 978-1-85728-379-2.