同步通讯和异步通讯

同步通信和异步通信 
 串行通信的数据是逐位传送的,发送方发送的每一位都具有因定的时间间隔,这就要求接收方也要按照发送方同样的时间间隔来接收每一位。不仅如此,接收方还要确定一个信息组的开始和结束。为此,串行通信对传送数据的格式作了严格的规定。不同的串行通信方式具有不同的数据格式。下面简单介绍一下常用的两种基本串行通信方式:同步通信和异步通信及其数据传送格式。
  同步通信
  所谓同步通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相信始终保持一致(同步),这就保证了通信双方在发送和接收数据时具有完全一致的定时关系。
  同步通信把许多字符组成一个信息组,或称为信息帧,每帧的开始用同步字符来指示。由于发送和接收的双方采用同一时钟,所以在传送数据的同时还要传送时钟信号,以便接收方可以用时钟信号来确定每个信息位。
  同步通信要求在传输线路上始终保持连续的字符位流,若计算机没有数据传输,则线路上要用专用的“空闲”字符或同步字符填充。
  同步通信传送信息的位数几乎不受限制,通常一次通信传的数据有几十到几千个字节,通信效率较高。但它要求在通信中保持精确的同步时钟,所以其发送器和接收器比较复杂,成本也较高,一般用于传送速率要求较高的场合。
  用于同步通信的数据格式有许多种,
(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%的附加信息位,所以传送效率比较低。异步通信方式简单可靠,也容易实现,故广泛地应用于各种微型机系统中。
串口通讯—同步通信方式  
1、同步通信方式的特点:
采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。当然,对同一个传输过程,所有字符对应同样的数位,比如说n位。这样,传输时,按每n位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。
同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。
2、面向字符的同步协议(IBM的BSC协议)

该协议规定了10个特殊字符(称为控制字符)作为信息传输的标志。其格式为
SYN      SOH      标题      STX      数据块      ETB/ETX      块校验
SYN:同步字符(Synchronous character),每帧可加1个(单同步)或2个(双同步)同步字符。 
SOH:标题开始(Start of Header)。
标题:Header,包含源地址(发送方地址)、目的地址(接收方地址)、路由指示。
STX:正文开始(Start of Text)。
数据块:正文(Text),由多个字符组成。
ETB:块传输结束(end of transmission block), 标识本数据块结束。
ETX:全文结束(end of text),(全文分为若干块传输)。
块校验:对从SOH开始,直到ETB/ETX字段的检验码。
3、面向bit的同步协议(ISO的HDLC)

一帧信息可以是任意位,用位组合标识帧的开始和结束。 帧格式为:
F场      A场      C场      I场      FC场      F场
F场:标志场;作为一帧的开始和结束,标志字符为8位,01111110。 
A场:地址场,规定接收方地址,可为8的整倍位。接收方检查每个地址字节的第1位,如果为“0”,则后边跟着另一
  个地址字节。若为“1”,则该字节为最后一个地址字节。
C场:控制场。指示信息场的类型,8位或16位。若第1字节的第1位为0,则还有第2个字节也是控制场。
I场:信息场。要传送的数据。
FC场:帧校验场。16位循环冗余校验码CRC。除F场和自动插入的“0”位外,均参加CRC计算。
4、同步通信的“0位插入和删除技术”
在同步通信中,一帧信息以一个(或几个)特殊字符开始,例如,F场=01111110B。
但在信息帧的其他位置,完全可能出现这些特殊字符,为了避免接收方把这些特殊字符误认为帧的开始,发送方采用了“0位插入技术”,相应地,接收方采用“0位删除技术”。
发送方的0位插入:除了起始字符外,当连续出现5个1时,发送方自动插入一个0。使得在整个信息帧中,只有起始字符含有连续的6个1。
接收方的“0位删除技术”:接收方收到连续6个1,作为帧的起始,把连续出现5个1后的0自动删除。
5、同步通信的“字节填充技术”
设需要传送的原始信息帧为:
SOT      DATA      EOT
字节填充技术采用字符替换方式,使信息帧的DATA中不出现起始字符SOT和结束字符EOT。 
设按下表方式进行替换:
DATA中的原字符      替换为
SOT      ESC X
EOT      ESC Y
ESC      ESC Z
其中,ESC=1AH,X、Y、Z可指定为任意字符(除SOT、EOT、ESC外)。
发送方按约定方式对需要发送的原始帧进行替换,并把替换后的新的帧发送给接收方。例如图所示:

接收方按约定方式进行相反替换,可以获得原始帧信息。
6、异步通信和同步通信的比较
(1)异步通信简单,双方时钟可允许一定误差。同步通信较复杂,双方时钟的允许误差较小。
(2)异步通信只适用于点<--> 点,同步通信可用于点<--> 多。
(3)通信效率:异步通信低,同步通信高。

 

 

 

 

 

 

 

 

 

 

 

 

http://jingchu.blog.zj.com/blog/d-150624.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值