1. Overview

In this tutorial, we’ll explain the binary synchronous communications protocol (BISYNC) developed by IBM in 1967.

BISYNC frames data-link messages and full transmissions using data-link control characters. Instead of sending a stream of plain text messages, BISYNC gives a structure to each message.

In addition to structuring the message itself, it also tries to structure the full transmission between the stations. For example, after each successfully received message, the receiver informs the sender about that.

The BISYNC defines a set of rules for the synchronous transmission of a serial stream of binary digits. The rules specify the data-link control characters, station status indications, synchronization, and error detection functions.

3. Heading and Text

There are strict formatting rules for heading and text data.

3.1. Synchronization

The two adjacent synchronization (SYN) characters signal the start of a message block.

Additionally, the sending station transmits the two SYN characters at intervals to maintain synchronization.  So, two SYNs indicate to the receiving station that the sending station is still transmitting text.

3.2. Rules for Heading and Accumulation

The heading contains information such as message identification, priority, and routing. It starts with the start of the header (SOH) character and contains one or more characters. Its length can be fixed or variable.

The longitudinal-redundancy check (LRC) checks a complete message block. Subsequently, both the sending and receiving stations accumulate the incoming characters. The checksum of the accumulation is called a block-check character (BCC). In the example below, BCC includes all the characters following the STX character up to the end of the ETX character:

BCC Accumulation

The text can be sent in chunks, and we call all of them intermediate blocks. The end-of-the-transmission-block (ETB) or the end-of-test (ETX) characters terminate the last intermediate block.

3.3. Text Rules

The text contains the actual data. It’s the most important part of a transmission. It’s sent in units called messages.

The STX character (start of text) initiates a message, and ETX terminates it. STX also initiates an intermediate block, but the intermediate transmission block (ITB) marks its end. ETX can appear only in the last block:

Intermediate Transmission Example

ACK 0 and ACK 1 indicate that the transmissions were accepted without errors.

4. Transmission

There are three phases in a BISYNC transmission: initialization, message transfer, and termination.

The initialization phase consists of transmitting identification on a switched network, bidding for control on a point-to-point network, and polling or selection on a multipoint network.

The transfer phase begins with the first SOH or STX character. After the initialization phase, the network continues in the message-transfer phase until a station initiates the termination phase, which starts with an end of transmission (EOT) character.

For example:

Full Transmission Example

In the illustration above, the enquiry (ENQ) character bids for control. In the message phase, two data blocks were transmitted.

5. Transmission Modes

BISYNC provides two modes to increase the protocol’s flexibility.

5.1. Transparent Text Mode

The transparent mode allows the transmission of control characters in text data without taking on control meaning. This is beneficial for transmitting binary data, floating point numbers, unique, specialized codes, or machine-language computer programs.

A data-link control character must be preceded by the data link escape (DLE) control character to gain functionality. The DLE STX sequence initiates the transparent mode:

Transparent Data Block

DLE SYN keeps the stations in sync or acts as a time-fill.

5.2. Limited Conversational Mode

This mode permits a receiving station to reply with a heading or text data. A conversational reply can be sent in response to a block of text that ends with ETX. A conversational reply can start with SOH or STX:

Conversational Reply Example

A station receiving a conversational reply doesn’t have to respond with another one.

6. Error Detection

BISYNC implements techniques for format and transmission error detection. A format error is an improper sequence of control characters. A transmission error refers to a change in the bits.

Error detection methods include vertical redundancy checking (VRC), LRC, and cyclic redundancy checking (CRC). VRC checks each character, while LRC and CRC check a complete transmitted block.

7. Timeout

BISYNC implements two timeout functions: the receive and transmit timeouts. The former lasts three seconds, while the latter lasts one second.

The receive timeout limits the time a station waits for a reply. Consequently, the receive timeout is reset once the sync idles are detected.

A transmitting station sends two SYN characters once the transmit timeout elapses. Then, the transmit timeout is reset. This permits indefinite text length.

8. Control Characters

Here’s a reference list of nearly all BISYNC control characters:

\textcolorwhiteCharacter

\textcolorwhiteName

\textcolorwhiteMeaning

SOH

Start of Heading

The start of a header

STX

Start of Text

The end of a header and the start of text

ITB

Intermediate Transmission Block

The start of an intermediate transmission block

ETB

End of Transmission Block

The end of a transmission block

EOT

End of Transmission

Terminates transmission

ETX

End of Text

The end of a text block starting with STX or SOH

ENQ

Enquiry

The sender wants a transmission repeat of the response

ACK 0/1

Affirmative Acknowledgment

No error in the previously transmitted block

NACK

Negative Acknowledgment

There’s an error in the previous block

DLE

Data Link Escape

Provides additional data-link control characters

RVI

Reverse Interrupt

The receiver wants to stop receiving messages and send one to the sender

TTD

Temporary Text Delay

For keeping the line while the station isn’t ready to send data

DLE EOT

Disconnect Sequence for a Switched Line

A disconnect on a switched line

8. Conclusion

In this article, we described BISYNC. Its data-link control characters frame the messages and manage the transmissions.