二进制同步通信(BISYNC)

二进制同步通信(BISYNC)

二进制同步通信(BISYNC)是一种通信协议,使用同步传输在设备之间传输数据。在BISYNC中,数据以固定长度的块进行传输,称为帧,每个帧的开始和结束都有一个开始和停止位。开始位和停止位用于同步发送方和接收方,这样他们就能准确地读取和解释帧中的数据。

BISYNC使用一组复杂的控制字符来管理数据流并保持发送方和接收方之间的同步。例如,”ENQ”(询问)字符用于请求接收方发送 “ACK”(确认)字符,以确认它已准备好接收数据。同样,”NAK”(否定确认)字符用于表示接收方已经检测到数据中的错误,并要求发送方重新传输该帧。

BISYNC在20世纪60年代和70年代被广泛使用,特别是在大型计算机和微型计算机,以及控制系统和工业自动化中。今天,它已经不那么常见了,因为它在很大程度上已经被更有效的现代协议所取代,如TCP/IP。

二进制同步通信(BISYNC)使用EBCDIC或ASCII编码方法来表示字符,使用3270终端作为与主机对话的接口,是一种同步通信方法,意味着数据以固定的块发送。

帧的类型

在二进制同步通信(BISYNC)中,数据以固定长度的数据块传输,称为帧。有几种类型的帧用于不同的目的。一些常见的帧类型包括

  • 数据帧 – 这些帧包含设备间传输的实际数据。数据帧通常包括一个标题和一个预告片,其中包含有关数据的信息,如其长度和目的地。

  • 控制帧 – 这些帧用于管理数据流并保持发送方和接收方之间的同步。控制帧可以包括ENQ(询问)和ACK(确认)等字符,用于请求和确认接收器准备好接收数据。

  • 错误检查帧 – 这些帧包含用于检查正在传输的数据的完整性的信息。例如,循环冗余检查(CRC)或校验和可以用来检测数据中的错误。

  • 连接帧 – 这些帧用于建立和终止设备间的连接。连接帧中使用的控制字符可能包括SOH(标题的开始)和EOT(传输的结束)。

除了这些标准类型的帧,BISYNC还允许使用特定应用的帧,这些帧可以由特定应用定义和使用,以满足其独特的需求。

值得注意的是,具体的BISYNC实现所使用的帧类型可能会因应用和硬件的不同而不同。

多块数据帧

在二进制同步通信(BISYNC)中,多块数据帧是一种数据帧类型,用于在一次传输中传输多个数据块。这通常用于提高数据传输的效率,因为它允许在一个信息中发送多个数据块,而不是单独发送每个数据块。

一个多块数据帧通常包括一个头,其中包含关于正在传输的块的总数、每个块的长度和其他相关信息。头部之后是实际的数据块,以固定长度的帧序列进行传输。多块数据帧的结束是由一个包含块结束指示器或校验和的预告片来标记的,以表明块的结束并允许进行错误检查。

当接收方收到一个多块数据帧时,它使用头中的信息来确定有多少块数据被传输,并将这些块正确地组合成其原始形式。错误检查也被执行以确保数据的完整性。

在需要传输大量数据的情况下,多块数据帧可能特别有用,因为它们可以更有效地利用可用带宽。然而,需要注意的是,使用多块数据帧会增加通信过程的复杂性,因为发送方和接收方必须协调多个数据块的传输和组装。

BISYNC的控制字符

在二进制同步通信(BISYNC)中,控制字符被用来管理数据流并保持发送方和接收方之间的同步。BISYNC中使用的一些常用控制字符包括

  • ENQ(询问)– 该字符由发送方使用,要求接收方发送ACK(确认)字符,以确认其已准备好接收数据。

  • ACK(确认)– 该字符由接收方发送,作为对ENQ字符的回应,表示它已准备好接收数据。

  • NAK(否定确认)– 该字符由接收方发送,表示它已经检测到数据中的错误,并要求发送方重新传输该帧。

  • SYN(同步空闲)– 当没有其他数据被传输时,该字符作为一个填充字符使用。它帮助接收方保持同步。

  • STX(文本开始) – 这个字符标志着一个数据帧的开始,表示实际传输的数据开始。

  • ETX(文本结束)– 该字符标志着数据帧的结束,表示正在传输的实际数据的结束。

  • SOH(标题的开始)和EOT(传输的结束)在连接帧中用于建立或终止设备间的连接。

  • LRC(纵向冗余检查)或CRC(循环冗余检查)用于错误检查帧中,以确保数据的完整性。

在BISYNC实现中使用的具体控制字符集可能因其使用的硬件和应用而不同。而这些字符被表示为8位二进制代码。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程