Chinaunix首页 | 论坛 | 博客
  • 博客访问: 600805
  • 博文数量: 80
  • 博客积分: 3315
  • 博客等级: 中校
  • 技术积分: 697
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-27 12:46
文章分类

全部博文(80)

文章存档

2014年(3)

2013年(3)

2012年(5)

2011年(19)

2010年(50)

我的朋友

分类: 系统运维

2011-03-21 16:36:46

同步通信和异步通信

串行通信的数据是逐位传送的,发送方发送的每一位都具有因定的时间间隔,这就要求接收方也要按照发送方同样的时间间隔来接收每一位。不仅如此,接收方还要确定一个信息组的开始和结束。为此,串行通信对传送数据的格式作了严格的规定。不同的串行通信方式具有不同的数据格式。下面简单介绍一下常用的两种基本串行通信方式:同步通信和异步通信及其数据传送格式。
  
同步通信
  所谓同步通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相信始终保持一致(同步),这就保证了通信双方在发送和接收数据时具有完全一致的定时关系。
  同步通信把许多字符组成一个信息组,或称为信息帧,每帧的开始用同步字符来指示。由于发送和接收的双方采用同一时钟,所以在传送数据的同时还要传送时钟信号,以便接收方可以用时钟信号来确定每个信息位。
  同步通信要求在传输线路上始终保持连续的字符位流,若计算机没有数据传输,则线路上要用专用的“空闲”字符或同步字符填充。
  同步通信传送信息的位数几乎不受限制,通常一次通信传的数据有几十到几千个字节,通信效率较高。但它要求在通信中保持精确的同步时钟,所以其发送器和接收器比较复杂,成本也较高,一般用于传送速率要求较高的场合。
  用于同步通信的数据格式有许多种,
(a)单同步格式,会送一帧数据仅使用一个同步字符。当接收端收到并识别出一个完整同步字符后,就连续接收数据。一帧数据结束,进行CRC校验。
  同步字符 数据 CRC1 CRC2
(b)双同步字格式,这时利用两个同步字符进行同步。
  同步字符1 同步字符2 数据 CRC1 CRC2
(c)同步数据链路控制(SDC)规程所规定的数据格式。
  标志符01111110 地址符8位 数据 CRC1 CRC2 标志符01111110
(d)则是一种外同步方式所采用的数据格式。对这种方式,在发送的一帧数据中不包含同步字符。同步信号SYNC通过专门的控制线加到串行的接口上。当SYNC一到达,表明数据部分开始,接口就连续接收数据和CRC校验码。
  数据场 CRC1 CRC2
(e)高级数据链路控制(HDLC)规程所规定的数据格式。它们均用于同步通信。这两种规程的细节本书不做详细说明。
  标志符01111110 地址符8位 控制符8位 数据 CRC1 CRC2 标志符01111110
  CRC(cyclic redundancy checks)的意思是循环冗余校验码。它用于检验在传输过程中是否出现错误,是保证传输可靠性的重要手段之一。
  
异步通信
  异步通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。
  异步通信规定字符由起始位(start bit)、数据位(data bit)、奇偶校验位(parity)和停止位(stop bit)组成。起始位表示一个字符的开始,接收方可用起始位使自己的接收时钟与数据同步。停止位则表示一个字符的结束。这种用起始位开始,停止位结束所构成的一串信息称为帧(frame)(注意:异步通信中的“帧”与同步通信中“帧”是不同的,异步通信中的“帧”只包含一个字符,而同步通信中“帧”可包含几十个到上千个字符)。在传送一个字符时,由一位低电平的起始位开始,接着传送数据位,数据位的位数为5~8。在传输时,按低位在前,高位在后的顺序传送。奇偶校验位用于检验数据传送的正确性,也可以没有,可由程序来指定。最后传送的是高电平的停止位,停止位可以是1位、1.5位或2位。停止位结束到下一个字符的起始位之间的空闲位要由高电平2来填充(只要不发送下一个字符,线路上就始终为空闲位)。
  异步通信中典型的帧格式是:1位起始位,7位(或8位)数据位,1位奇偶校验位,2位停止位。
  起始位 数据位(低位…高位) 奇偶校验位 停止位 空闲位 起始位
  从以上叙述可以看出,在异步通信中,每接收一个字符,接收方都要重新与发送主同步一次,所以接收端的同步时钟信号并不需要严格地与发送方同步,只要它们在一个字符的传输时间范围内能保持同步即可,这意味着南时钟信号漂移的要求要比同步信号低得多,硬件成本也要低的多,但是异步传送一个字符,要增加大约20%的附加信息位,所以传送效率比较低。异步通信方式简单可靠,也容易实现,故广泛地应用于各种微型机系统中。


同步通信和异步通信的区别

“异步通信”是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。
 
   异步通信也可以是以帧作为发送的单位。接收端必须随时做好接收帧的准备。这是,帧的首部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始。这也称为帧定界。帧定界还包含确定帧的结束位置。这有两种方法。一种是在帧的尾部设有某种特殊的比特组合来标志帧的结束。或者在帧首部中设有帧长度的字段。需要注意的是,在异步发送帧时,并不是说发送端对帧中的每一个字符都必须加上开始位和停止位后再发送出去,而是说,发送端可以在任意时间发送一个帧,而帧与帧之间的时间间隔也可以是任意的。在一帧中的所有比特是连续发送的。发送端不需要在发送一帧之前和接收端进行协调(不需要先进行比特同步)。
 同步通信和异步通信的区别是什么?
 
“同步通信”的通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。但这时还有两种不同的同步方式。一种是使用全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。另一种是使用准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。

阅读(1662) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~