异步传输,顾名思义,是一种非连续的传输方式。在这种方式下,信息以单个字符为单位进行传输,每个字符由5到8位数据构成。每个字符的开始和结束都设有特殊的位,分别称为起始位和停止位。起始位通常是一个低电平(0),占用一位时间;而停止位是一个高电平(1),占用1到2位的持续时间。在没有数据发送时,发送方可以连续发送停止位,这些连续的高电平被称为空闲位。接收方通过识别从高电平到低电平的跳变来确定新字符的开始,然后接收整个字符的所有位。这种方法的优点是简单且成本低廉,但每个字符的传输都伴随着2到3位的额外开销。
相比之下,同步传输则更为高效。在同步传输中,数据被组织成数据块,每个数据块的开始和结束都加入特定的帧头和帧尾,以帮助接收方确定数据块的起止位置。这些带有帧头和帧尾的数据块被称为帧。
如果数据块是面向字符的,那么帧的开始通常由一个或多个特殊的同步字符标记,这些同步字符通常被称为SYN。这些同步字符的位模式与数据块中的任何数据字符都有显著的区别,使得接收方能够轻松识别出数据块的开始。帧尾则由另一个独特的控制字符表示。例如,IBM公司的二进同步规程(Bisync)就是这样一种面向字符的同步传输方案。
在面向位的同步传输中,数据块被视为一个连续的位流,而不是字符流。这种方案的帧头和帧尾仍然存在,但处理方式略有不同。为了防止数据块中出现与帧头和帧尾相同的位模式,发送方会在每连续5个1之后插入一个额外的0。这种插入的0被称为位填充(Bit Stuffing)。接收方在检测到连续5个1的序列后,会检查后续的一位数据,如果是0,则删除这个额外的0。这种方法确保了数据块中不会意外出现帧头或帧尾的位模式。国际标准化组织ISO的高级数据链路控制规程(HDLC)和IBM公司的同步数据链路控制规程(SDLC)都采用了这种技术。
总之,无论是异步传输还是同步传输,它们都为数据通信提供了必要的时间同步机制。选择哪一种传输方式取决于应用的特定需求和性能要求。异步传输以其简单性和低成本在许多场合仍然占有一席之地,而同步传输则在需要更高效率和更精确同步的场景中更为常见。
异步传输和同步传输
1.异步传输
异步传输即前面介绍过的群同步传输。异步传输方式中,一次只传输一个字符(由5~F8位数据组成)。每个字符用一位起始位引导、一位停止位结束。起始位为"。",占一位时间;停止位为"1",占1~2位的持续时间。在没有数据发送时,发送方可发送连续的停止位(称空闲位)。接收方根据"1"至"。"的跳变来判别一个新字符的开始,然后接收字符中的所有位。这种通信方式简单便宜,但每个字符有2~3位的额外开销。
2.同步传输
同步传输时,为使接收方能判定数据块的开始和结束,还须在每个数据块的开始处和结束处各加一个帧头和一个帧尾,加有帧头、帧尾的数据称为一帧(Fram)。帧头和帧尾的特性取决于数据块是面向字符的还是面向位的。
如果采用面向字符的方案,那么每个数据块以一个或多个同步字符作为开始。同步字符通常称为SYN,这一控制字符的位模式与传输的任何数据字符都有明显的差别。帧尾是另一个惟一的控制字符。这样,接收方判别到SYN字符后,就可接收数据块,直到发现帧尾字符为止。然后,接收方再判别下一个SW字符。例如IBM 公司的二进同步规程mc就是这样一种面向字符的同步传输方案。
面向位的方案是把数据块作为位流而不是作为字符流来处理。除了帧头和帧尾的原理有一点差外,其余基本相同。在面向位的方案中,由于数据块中可以有任意的位模式,因此不能够保证在数据块中出现帧头和帧尾标志,为此把帧头和帧尾都使用模式01111110(称为标志),而为了避免在数据块中出现这种模式,发送方在所发送的数据中每当出现5个1之后就插入一个附加的0。当接收方 检测到5个1的序列时,就检查后续的一位数据,若该位是0,接收方就删除掉这个附加的0,这种规程就是所谓的位插入(Bit Stuffing)。在国际标准化组织ISO所规定的高级数据链路控制规程HDLC和IBM公司所规定的同步数据链路控制规程 SDLC中都采用这种技术。