简述异步通信和同步通信的异同?
能结合实际例子的回答、原创最多、阐述最全的将得大奖。
下周初结贴,9个最优回帖分别获得20MP、10MP、10MP、10MP、20积分、20积分、20积分、20积分、20积分!
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
楼主最近还看过
同步通信要求接收端时钟频率和发送端时钟频率一致。发送端发送连续的比特流。
异步通信时不要求接收端时钟和发送端时钟同步。发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。
异步通信的通信开销较大,但接收端可使用廉价的、具有一般精度的时钟来进行数据通信。
“ 异步通信 ”是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在 任意时刻 开始发送字符,因此必须在 每一个字符 的开始和结束的地方加上标志,即加上 开始位 和 停止位 ,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。
异步通信也可以是以 帧 作为发送的单位。接收端必须随时做好接收帧的准备。这是,帧的首部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始。这也称为 帧定界 。帧定界还包含确定帧的结束位置。这有两种方法。一种是在帧的尾部设有某种特殊的比特组合来标志帧的结束。或者在帧首部中设有帧长度的字段。需要注意的是,在异步发送帧时,并不是说发送端对帧中的每一个字符都必须加上开始位和停止位后再发送出去,而是说, 发送端可以在任意时间发送一个帧,而帧与帧之间的时间间隔也可以是任意的 。在一帧中的所有比特是连续发送的。发送端不需要在发送一帧之前和接收端进行协调(不需要先进行比特同步)。
“ 同步通信 ”的通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。但这时还有两种不同的同步方式。一种是使用 全网同步 ,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。另一种是使用 准同步 ,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。
同步通信是一种连续串行传送数据的通信方式,同步通信双方必须先建立同步,即双方的时钟要调整到同一个频率,收发双方不停的发送和接受连续的同步比特率。同步通信有不同的同步方式:(1)全网同步,用一个非常精确地主时钟对全网所有的节点的时钟进行同步。(2)准时钟同步,各节点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。
同步通信一次通信只传送一帧信息,这里的信息帧通常含有若干个数据字符。他们均由同步字符、数据字符、校验字符组成。同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收大盘的字符序列进行正确性的校验。此传输方法效率较高,但双方要事先约定同步的字符个数及同步字符代码,且中间传输有停顿时会失去同步造成传输错误。
异步通信是一种很常用的通信方式。异步通信在发生字符时,所发送字符之间的时间间隔可以是任意的,当然,接收端必须时刻做好接收的准备。发送端发送字符不受时间的限制,因此必须在每个字符的开始和接受的地方加上标志,即加上开始位和结束位才能使接收端正确的接受每个字符。
异步通信也可以是以帧位发送的单位。这时,帧的首部必须设有一些特殊的比特组合,使得接收端能够找到一帧的开始,这也称为帧界定。帧界定还包括确定帧的结束位置,这有两种方法在帧的尾部设有某种特殊的比特组合来标志帧的结束或在帧的首部中设定帧长度的字段。帧与帧之间的时间间隔可以是任意的,但是一帧的内容必须是连续发送的。异步通信的好处是通信设备简单、便宜,但传输效率低下。
起止式异步通信的特点是:一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。每一个字符的前面都有一位起始位(低电平,逻辑值),字符本身由5-7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位。停止位和空闲位都规定为高电平(逻辑值1),这样就保证起始位开始处一定有一个下跳沿。
.异步通信的接收过程
(1)开始通信时,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对“接收时钟”计数。
(2)当计到8个时钟时,对输入信号进行检测,若仍为低电平,则确认这是“起始位”B,而不是干扰信号。
(3)接收端检测到起始位后,隔16个接收时钟,对输入信号检测一次,把对应的值作为D0位数据。若为逻辑1, 作为数据位1;若为逻辑0,作为数据位0。
(4)再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据。….,直到全部数据位都输入。
(5)检测校验位P(如果有的话)。
(6)接收到规定的数据位个数和校验位后,通信接口电路希望收到停止位S(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志。若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中送数据输入寄存器。若校验错,在状态寄存器中置奇偶错标志。
(7)本幀信息全部接收完,把线路上出现的高电平作为空闲位。
(8)当信号再次变为低时,开始进入下一幀的检测。
异步通信的发送过程
发送端以“发送时钟”和“波特率因子”决定一位的时间长度。
(1)当初始化后,或者没有信息需要发送时,发送端输出逻辑1,即空闲位,空闲位可以有任意数量。
(2)当需要发送时,发送端首先输出逻辑0,作为起始位。
(3)接着,发送端首先发送D0位,直到各数据位发送完。
(4)如果需要的话,发送端输出校验位。
(5)最后,发送端输出停止位(逻辑1)。
(6)如果没有信息需要发送时,发送端输出逻辑1,即空闲位,空闲位可以有任意数量。如果还有信息需要发送,转入第(2)步。
对于以上发送、接收过程应注意以下几点:
(1)接收端总是在每个字符的头部(即起始位)进行一次重新定位,因此发送端可以在字符之间插入不等长的空闲位,不影响接收端的接收。
(2)发送端的发送时钟和接收端的接收时钟,其频率允许有一定差异,当频率差异在一定范围内,不会引起接收端检测错位,能够正确接收。并且这种频率差异不会因多个字符的连续接收而造成误差累计(因为每个字符的开始(起始位处)接收方均重新定位)。只有当发送时钟和接收时钟频率差异太大,引起接收端采样错位,才造成接收错误。
(3)起始位、校验位、停止位、空闲位的信号,由“发送移位寄存器”自动插入。在接收方,“接收移位寄存器”接收到一帧完整信息(起始、数据、校验、停止)后,仅把数据的各位送至“数据输入寄存器”,即CPU从“数据输入寄存器”中读得的信息,只是有效数字,不包含起始位、校验位、停止位信息。
同步通信方式的特点:
采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。当然,对同一个传输过程,所有字符对应同样的数位,比如说n位。这样,传输时,按每n位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。
同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。
协议规定了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字段的检验码
同步通信和异步通信的相同点是都属于串行通信。
区别:
同步通信方式,是把许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。同步方式下,发送方除了发送数据,还要传输同步时钟信号,信息传输的双方用同一个时钟信号确定传输过程中每1位的位置。在异步通信方式中,两个数据字符之间的传输间隔是任意的,所以,每个数据字符的前后都要用一些数位来作为分隔位。
同步通信的时候,发送方必须等待收到应答,才能在同一连接上继续发送数据;异步通信就没有这个要求。
同步、异步是相对于接受、发送设备的时钟来说的,即两者运行的时钟是否完全同步,在串行通讯中由于数据信息是通过一根导线串行传输的,因此在数据交换开始和结束中需要数据进行确认和规定。在数据传输过程和限制过程中传送接受设备之间时钟对应关系是否同步及串行导线上的数据信息结构分为两者形式。
串行通讯的数据交换如果选用同步通讯方式则接受、传送设备时钟必须同步,其数据传送方式是始终占有通讯导线,连续串行传送数据,一次通讯传送一个帧信息,包括同步字符、数据字符和校验字符组成。同步字符确认数据字符开始在一帧的开始,数据字符就是所要传输的数据,其长度不受限制取决于所传数据量的大小,校验字符由于校验所接受数据的有效正确性。在数据通讯结束后通讯导线要有空闲字符或者同步字符来填充以此保证传输线上始终有连续的字符位流。
同步通讯传输信息不受限制通讯效率高,一次可以传输数据几十到几千字节。但在通讯中要求两者间时钟时钟同步,因此其发送器和接收器比较复杂成本较高,用于传送较高的场合。
异步通讯是串行通讯数据交换中使用最广泛的通讯方式,其接受、传送设备时钟在数据通讯过程中要求保持同步,但是在数据交换完成后对两者时钟是否同步没有限制。异步通讯数据交换过程中是字符或字节组成字符帧。字符帧有发送端逐帧发送,通过传输线在接收端逐帧接受。异步通讯中最主要的两个主要的指标是字符帧格式和波特率设计。发送端和接收端可以有各自的时钟来控制数据的发送和接受。异步通讯有起始位、数据位、奇偶校验位、停止位组成,起始位确定数据通讯开始,数据位是要传输的数据,奇偶校验位用来校验传输数据的正确性,停止位确定数据通讯的结束。
异步通讯传输信息速率较低,在数据通讯中附加信息占用空间较大,但在异步通讯中只有在建立通讯过程中接收方和发送方得设备之间才建立同步时钟,这对两者之间的时钟同步问题的要求较低,因此对于硬件的要求较低,其实现方式也很简单,广泛应用于工业控制总线中得数据传输过程中。
串行通信的异步通信和同步通信方式比较
1串行通信:
数据一位一位的进行传输的通行。
与并行通信相比
优点:数据线少,成本低,适合远距离传输。
缺点:传输慢,并行传输N位需要时间T,则串行传输需要时间NT。
传输模式
单工:数据只能一个方向传输。
半双工:可双向传输,但不能同时;同一时间只能一个方向传输。
全双工:可同时双向传输。
2通信方式
2.1异步通信
2.1.1介绍
异步通信指两个互不同步的设备通过计时机制或其他技术进行数据传输。异步通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。基本上,发送方可以随时传输数据,而接收方必须在信息到达时准备好接收。相反,同步传输是一个精确同步的位流,其中字符的起始是由计时机制来定位的。
异步通信中,数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。
通信协议(通信规程):使用异步串口传送一个字符的信息时,对资料格式有如下约定:规定有空闲位、起始位、资料位、奇偶校验位、停止位。
异步通信重要参数:
波特率:是衡量资料传送速率的指针。表示每秒钟传送的二进制位数。例如资料传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10×120=1200字符/秒=1200波特。
字符帧格式:|0|D0|D1|D2|D3|D4|D5|D6|D7|0/1|1|由起始位、数据位、奇偶校验位和停止位组成。数据位可以是5~8位,按低位在前,高位在后的顺序传送。
异步通信的优缺点:
优点:不需要传送同步脉冲,字符帧长度也不受到限制。
缺点:字符帧中因为包含了起始位和停止位,因此降低了有效数据的传输速率。
数据长度:
2.1.2异步通信和同步通信的比较
(1)异步通信简单,双方时钟可允许一定误差。同步通信较复杂,双方时钟的允许误差较小。
(2)异步通信只适用于点<--> 点,同步通信可用于点<--> 多。
(3)通信效率:异步通信低,同步通信高。
2.2同步通信
2.2.1介绍
同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。
没有数据发送时,传输线处于MARK状态。为了表示数据传输的开始,发送方先发送一个或两个特殊字符,该字符称为同步字符。当发送方和接收方达到同步后,就可以一个字符接一个字符地发送一大块数据,而不再需要用起始位和停止位了,这样可以明显地提高数据的传输速率。
采用同步方式传送数据时,在发送过程中,收发双方还必须用一个时钟进行协调,用于确定串行传输中每一位的位置。接收数据时,接收方可利用同步字符使内部时钟与发送方保持同步,然后将同步字符后面的数据逐位移入,并转换成并行格式,供CPU读取,直至收到结束符为止。
采用同步通信时,将许多字符组成一个信息组,每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。收发双方不停地发送和接收连续的同步比特流。
同步通信是把所传送的数据以多个字节(100字节以上)为单位,在其前后添加标志。|同步字符|信息组|错误校验| 同步字符一般为1~2个,错误校验一般为CRC冗余校验。
2.2.2同步传输分类
全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。
准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。