通信波特率有几种的定义是什么?异步通信和同步通信的波特率有几种范围各为多少?

通信技术CPU与外部的信息交换统称为通信。基本的通信方式有两种:并行通信——各位数据同时传送。例如CPU与PIO间的数据交换是八位一起传送的,这就是并行通信。串行通信——数据是一位、一位顺序传送的方式。例如远动装置发、收两端的距离很长,只采用一条通道传送信息,这就需要各位信息逐位按次序传送,即串行通信。下面,我们介绍串行通信及其接口电路。1.串行通信方式串行通信分为异步通信(ASYNC)和同步通信(SYNC),以及同步数据链路通信(SDLC)、高级数据链路通信(HDLC)等,它们的主要区别表现在不同的信息格式上。我们主要介绍其中最基本的异步和同步通信。一、异步通信在数据位的前后必须加上起始位和停止位。传送一个八位数据时,最少也要有十位数据的长度。它用一个起始位表示字符的开始,通常规定起始位是一个“0”。用停止位表示字符的结束,停止位通常规定为“1”,它可取1位,1.5位,或2位。一个字符可以用5位,6位,7位,或8位数据表示,例如ASCII编码,一个字符是用7位数据来表示的,而国际电报字符却用5位数据(“0或“1”)来表示一个字母。根据需要来选取用几位数据来表示一个字符。在数据后可以附加一位奇偶校验位,以提高数据位的抗干扰性能,但也可以不加。如上所述,异步通信是将每一字符(例如ASCII码)看作一个独立的信息,为了区分各个字符的边界,要加上起始位和停止位,从而构成一个帧。各个字符串行地依次序传送。下面我们说明异步通信的发送和接收过程。在发送端,发出如图所示的一帧、一帧信息。在发送端没有信息要发送时,约定送出一连串的“1”,称为空闲位(或称“传号”MARK)。一旦有信息要发送时,首先发出一个“0”,称为起始位,然后发送数据位和奇偶位,最后发停止位表示一帧的结束。在接收端,把接收到的第一个“0”信号当作一帧的开始(即同步信号)。当接收到这个由“1”变“0”的下降沿后,按约定的时钟频率一位、一位地从低位向高位收数,如图所示。因为在传输中存在干扰,并且两端的时钟也不可能准确的同步,为了正确、可靠地接收数据,都在每一位数据的中点来判决它是“1”还是“0”。所以常常把接收时钟频率提高若干倍,例如是数据传送码元速率的16倍、32倍或64倍等。如图是接收时钟频率为码元速率16倍的情况,图中TC是接收时钟周期,T为码元周期,T=16TC。当接收到起始位的下降沿时,就启动一个内部计数器,当计数到8个时钟周期(即码元宽度的一半)时。重新取样判决它是“1”还是“0”,若为“0”则确认它是起始位,而不是噪声干扰。以后,每隔16个TC对数据采样一次。如果约定8位数据,1位奇偶校验,1位停止位,则计数到8 + 10*16=168个接收时钟TC时表示一帧结束,以后为空闲位或另一侦的起始。如上所述,在异步通信时,发、收两端预先必须有下列规定:(1)信息格式。即预先要规定一个字符为几位数据,奇偶校验的形式,以及停止位的位数等一帧的信息格式。(2)波特率。即码元速率,单位是波特。例如波特率为1200Bd,则图中的码元周期T=1/1200=0.833ms(3)波特率系数。要预先规定接收时钟的频率是波特率的倍数,例如波特率系数为16, 32或64倍等。异步通信方式常用于计算机到屏幕显示器(CRT)及打印机之间的通信。在远动中也可采用异步通信方式,但是其信息格式与上述有时不同,例如起始位和监督位都较长,数据位也远不止8位。远动中的异步通信方式主要用在问答式传送方式中。二、同步通信在异步通信中,每一个字符要用起始位和停止位作为开始和结束的标志。例如一个字符为8位数据。起始位和终止位至少各占1位,实际传送信息的效率最多是80%。在传送大量数据时,为了提高传送信息的效率,采用一个数据块共用一个同步字作为起始位的力格式,叫同步通信方式.同步传送方式是用发、收双方规定的同步字来作为数据块的开始和结束。同步方式可分为内同步和外同步两种方式,说明如下:1、内同步方式发送端必须在数据块之前首先发送同步字。在接收端,当接收器收到与约定相符的同步字后才开始接收数据。内同步分为单同步字方式和双同步字方式两种,其信息格式如图所示。2、外同步方式外同步方式指由外界对接收器输入一个同步脉冲后就开始接收数据。采用外同步方式时,在发端不发送同步字,信息格式如图所示。但在接收端必须提取出同步脉冲来,例如自同步法就是一种外同步方式。要注意的是:采用同步通信时,不允许在数据之间出现空隙,如果发送端在某个时刻内没有数据发送,那么就要在这个时间间隙里补进去相应数量的同步字,直到再有新的数据发送为止。如果没有数据发送,并且也没有发送同步字,这就出现“欠载”现象。最后我们指出:异步通信是“起——止”(Start ——stop mode)同步方式通信,即在以起始位开始、停止位结束的一个字符内按约定的频率进行同步接收。各字符之间允许有间隙,而且两个字符之间的间隔是不固定的。例如终端设备的输出速度不均匀时,就要求相邻字符间的时间间隔不同,这时就要用到异步通信方式。而在同步通信方式中,不仅同一字符中的相邻两位间的时间问隔要相等,而且字符间的问隔也要求都相等,这是同步与异步通信方式的主妄差别。目前国内的远动装置常采用同步通信方式。三、通信规程简介这里要介绍的是计算机网络的通信规程概念,通信双方是计算机和计算机,或者是计算机和终端设备。为了保证双方能进行有效、自动地数据通信,在发送端和接收端之间需要有一系列的约定和顺序,这种通信的约定和顺序叫做通信控制规程(或协议),也叫传输控制规程。通信控制规程简称为通信规程。通信控制规程分为基本型通信控制规程和高级型通信控制规程两种,分别介绍如下:1.基本型通信控制规程它是一种面向字符的通信规程,即通信中的数据和控制字符都是以字符为单位构成一组信息的。在计算机通信中,数据和字符都采用七单位标准编码制。在基本型通信规程中,可以用同步通信方式,也可以用异步通信方式,在传输速率较高时常用同步方式,较低时常用异步方式。基本型通信控制规程是模仿人们打电话的过程而制订出来的。它把要传送的信息分为若干组,每组中有若干个字符单位。每组信息作为一个完整的句子传送,每传送一组信息,接收端要给发送端一个“应答”,告诉发送端这一组信息是否没有错误而被正确接收,若对方已经正确接收则可继续发送下一组信息。若接收端没有收到或已经接收到一组信息但信息有错误,则要求发送端重发这一组信息。这样,发送端在没有收到对方的“确认”(已正确接收)应答之前,它是不能发送下一组新的信息的。2.高级型通信控制规程 目前,高级型通信控制规程,在计算机网络中有HDLC (High-Level Data Link Control),即高级数据链路控制规程SDLC(Synchronous Data Link Control),即同步数据链路控制规程等。在远动系统中有远动通信规约等。下面我们先对HDLC及SDLC规程作一个概述。至于远动通信规约,我们将在以后介绍。1. HDLC规程: 计算机间或计算机和终端设备之间的连接,构成了传输数据的通信“链路”。为了保证互链的各方能在通信链路上有次序地传送和接收信息,必须规定一些通信的规则,这就是链路控制规程。目前用得较多的规程是基本型通信控制规程和HDLC规程,串行通信接口作为通信控制器时必须具备实现链路规程的各种功能。为了便于对器件功能的理解,下面简要介绍HDLC规程的一些主要内容。1. 主站和RTU间的操作原理。 HDLC是基于在公共通信链路上,主站和一个或多个RTU之间进行数据交换的规程。主站和RTU的关系如图所示。主站控制整个通信网络的工作,向RTU发送各种控制命令,而RTU只能按照来自主站的命令动作,并作出响应回答。主站可以选择任意一个RTU交换数据,构成通信双方。RTU一旦被选中后,既可以接收来自主站的信息,也可以向主站发送信息,于是开始了信息的传送阶段。主站和RTU之间的信息采用帧格式传送,在帧结束时采用CRC校验和帧序列号校验。在接收端,对收到的信息进行校验,如果发现错误,则将其作废,井请求发送端重发。在发送端,如果逾期收不到接收端发来的“确认”响应,也将自动进行重发。如果接收端已接收到正确的信息,则应给予“确认”响应。当发送端由于某种原因(例如遥信优先插入)在一帧的结束之前需要中止现行的信息发送时,可以发送一个“提前终止”符号(ABORT).接收端一旦收到ABORT符号时,便把该帧中已经收到的信息作废。一帧内的信息不允许间断,但帧与帧之间的间隔可以用标志符(FLAG)或ABORT符来填充。当信息传送阶段结束时,发送端用传送“拆除”链接命令的方法,来表示它希望结束信息传送阶段而转入“空闲”(IDLE)状态。当接收端收到连续的15个“1”时,也自动进入空闲状态。2. HDLC的帧结构。 HDLC规程是面向比特(或位)的规程,即能传送任意比特的信息,信息的长度不必是字符的整数倍,这是和基本型通信规程不同的地方。在HDLC规程中,用一帧表示一组完整的信息,它既可用于通信的控制,也可用于数据的传输。HDLC帧信息格式如图所示,整帧信息用标志序列包封起来。帧信息格式中各字段的内容介绍如下:标志序列F(Flag)。它是一个固定形式的8位序列,即01111110。用来划分一个帧的开始和结束,它也可作为一帧的同步码。两帧之间可用标志序列来填充,但一帧内不允许用标志序列填充。帧标志序列必须与一帧中的其他数字序列形式不同,但是数字序列是随机的,有可能和固定形式的标志序列一样,即出现01111110形式的数字序列,这就出现了假同步,即假开始和假结束。为了避免这种现象,必须采取措施,即用“0”比特插入法,以保证一帧中的A、C、I、FCS序列不会与F一样。“0”比特插入法是这样实现的。在发送端有监察设备,当数字序列中有连续5个“1”时,就自动在第五个“1”的后面插入一个“0”,而在接收端,在收到5个连续的“1”时,自动删除第五个“1”后面的一个“0”。如果由于传输中发生错码、使第六位“0”变成“1”,则接收端继续判下一位,如果下一位仍为“1”,则判为该序列中有错误。如果下一位是“0”则判为帧标志序列,表示帧结束。这样就解决了一长串“1”的判别问题。“0”比特的插入和删除法原理见图。地址字段A(Address):该字段共8位数字,发送时先发送低位,其中最低位是地址扩展位,其他7位表示RTU的地址,所以编址的RTU共有128个。要指出的是地址字段中的地址都是RTU的地址,从主站发出的命令帧中,其地址是指定接收该命令的RTU。从RTU发出的响应帧中,其地址是指明该响应帧来自哪一个RTU。HDLC还规定了地址字段长度可以扩展,扩展长度为8的整数倍,最低位为“1”表示要扩展,为“0”表示不扩展。控制字段C(Control):该字段共8位,它用来说明该帧的类型和帧序号。在HDLC中把帧类型分为三种,即信息帧(I)、监控命令帧(S)及非编号帧(U)。信息帧用来传送数据,监控命令帧用来传送监视和控制信息,非编号帧用于提供附加的链路控制功能。控制字段中的帧序号是指主站和某RTU通信中,在连续进行帧的传送时,对各帧的顺序编号。关于控制字段的信息格式,在后面再作介绍。在HDLC中控制字段长度也可以扩展。发送控制字段时规定先发低位。信息字段I(Information):该段字的长度是任意的,但在实际应用中,大多数情况下信息字段的长度不超过255个字符。它用于传输一个完整的数据,并非各类型的帧中都要有信息字段,只是在由控制字段表示的信息帧及个别的非编号帧中才有信息字段,在监控命令帧中没有该字段。帧校验段FCS(Frame。Check Sequence)该字段是一个16位的序列,每一帧都应有FCS字段,采用CRC校验,其生成多项式为:g(X)=X16+X12+X5+1它是(32767,32751)循环码及其缩短码,最小码距d0=4。每一帧都应有FCS字段,一帧内除标志序列F不参加校验外,其余各字段都参加校验,采用系统码格式。3. HDLC的控制字段格式。 表中表示了三种不同类型的帧所对应的控制字段格式。帧类别 位序号 1 2 3 4 5 6 7 8信息帧(I) 0 N(S) P/F N(R)监控命令帧(S) 1 0 S P/F N(R)非编号帧(U) 1 1 M P/F M信息帧(I):当控制字段的第7位为“0”时该帧定义为信息帧,即该帧中的信息字段用于传输数据信息。控制字段中的第2、3、4位用N(S)表示,N(S)为发送顺序编号,编号范围是0~7,在传送中用来区别不同的信息帧,在接收端可以根据帧序号来检查此帧信息是否丢失或重复。控制字段中的第6、7、8位用N(R)表示,N(R)为接收顺序编号。对于发送的信息帧,该N(R)表示发送站所期望接收的下一帧的顺序编号,因此N(R)也是对以前接收到的信息帧[顺序小于N(R)]的“确认”信号。控制字段中的第5位。P/F表示询问/终止。P是询问位,由主站使用。当P=1时表示主站请求RTU响应。F是终止位,由RTU使用,当F=1时表示该帧是传输的最后一帧,RTU将停止再传送。监控命令帧(S):控制字段中第1、2位为10,表示该帧为监控命令帧。监控命令帧一般作为响应帧,它用于监视和控制,例如传送确认信号时,要求重传或请求暂停传输等。监控字段中的第3、4位S就是这些不同的监控功能的编码,而第5位P/F也是用询问和响应。因为确认和要求重发等都需要同时指明帧序号,所以监控命令帧中也有顺序编号N(R)。非编号帧(U):控制字段中第1、2位为11,表示该帧为非编号帧。它用于传输链路的建立或拆除,以及报告特殊情况等,第3、4、6、7、8位M编码最多可定义32种命令或响应功能。它可以在序列出错之后使用,使链路置于初始状态,因此它不受帧顺序编号检验的限制,其控制字段不包含帧序号。(2)SDLC规程:SDLC规程与HDLC规程相似,只有一些细节上的规定不同,例如在HDLC中当出现“欠载”(没有信息可发送)时,允许插入标志序列,而在SDLC中不允许出现“欠载”情况,也不能插入标志序列。以上简要的介绍了通信规程,作为下面了解串行通信接口的基础。关于HDLC及SDLC的详细规定已超出本书范围,这里就不再多述了。2. 串行通信接口概述串行通信接口基本功能是:在发送时,把CPU送来的并行码转换成串行码,逐位地依次发送出去。在接收时,把发送过来的串行码逐位地接收,组装成并行码,并行地送给CPU去处理。这种串——并转换的功能,当然可以用软件来实现,但是这样会降低CPU的利用率,所以常用硬件电路来实现这种功能,这种硬件电路叫做串行通信接口。随着大规模集成电路的出现,串行通信接口的功能也扩大了,它不但能实现异步、同步通信,而且还能实现各种通信规程中的功能,最常用的是SDLC/HDLC规程。目前,许多厂家都提供大规模集成电路的可编程串行通信接口片子,可用于同步通信方式或异步通信方式。通用可编程的同步、异步通信接口片子统称为UART(Universal Synchronous Asynchronous Receiver/Transmitter)。还有既能实现异步、同步通信方式,也能实现SDLC/HDLC规程方式。(一)UART的结构原理UART接口芯片能同时进行发送和接收,叫做双工方式。所以它具有发送器和接收器的功能。并且还有控制部件,以完成各种控制功能。发送器的输入是CPU送来的并行数据线。在采用异步通信方式时,发送器接收CPU送来的数据位后,要附加上起始位、奇偶位及停止位形成异步通信信息格式,然后按发送时钟节拍,通过移位寄存器将并行码串行的发送出去。在采用同步通信方式时,要把CPU送来的数据段附加上同步字及监督位,形成同步通信信息格式,通过移位寄存器串行地发送出去。发送器的输出是一根串行数据输出线TxD。接收器的输入是一根串行数据输入线RxD,接收器在异步通信方式时,始终监视着RxD线,当发现一个起始位时,就按约定的接收时钟频率接收数据,由RxD来的串行数据先进入移位寄存器,去掉起始位、停止位,检查有无奇偶错误,然后并行输入给接收数据缓存器(变为并行数据),以便由CPU用输入指令取走数据。在同步通信方式时,收到同步字符时作为接收数据段的开始,接收完数据后,要检查伴随式是否为零,以确定是否发生了错码。然后并行输入给接收数据缓存器,以便由CPU取走。控制部件是用来控制UART的工作的,CPU通过它实现现片内的工作控制,并且用它来向外设发出控制命令,或从外设读取状态。(二)UART的编程UART的功能可用编程来选择和确定,这叫做初始化工作。编程的内容主要有下列几个方面:(1)确定工作方式,例如用同步通信方式,还是用异步通信方式等。(2)在异步工作方式时,要确定接收时钟频率与波特率的比例系数。例如采用波特率系数是16倍、32倍还是64倍,必须预先选定。(3)要确定信息格式。例如在同步通信方式时,要确定是采用单同步字符还是双同步字符。在异步通信方式时,要确定代表字符的数据是几位,停止位是几位等。(4)命令和状态位的确定。用命令指令直接使UART处于规定的工作状态,以控制CPU与USART之间的数据交换。例如初始化时,输出一条命令指令,使得UART处于发送状态,则CPU把它写入UART后,UART就把并行数据串行地发送出去。为了识别UART中的数据是否是正确的数据,在UART中设立了各种出错标志。常用的有下列三种:(1)奇偶错误。例如已经预先约定在发送端采取偶校验方式,如果在接收端检查到字符中“P的个数是奇数个,则判为有错码,将偶校验标志位置”1“,表示该字符的偶校验出错。(2)帧错误。如前所述,一帧的信息具有规定的格式,如果接收到的一帧信息不符合规定的格式(例如缺少停止位等),则将帧错误标志位置“1”,表示帧信息格式出错。(3)溢出(丢失)错误,UART的接收器中有两个寄存器,一个是接收寄存器,它主要作为移位寄存器,把串行信息转换成并行信息。另一个是接收数据缓冲器,它主要是向CPU并行的输出数据。在接收时,RxD线上的串行数据首先移入接收寄存器,然后再送到接收数据缓冲器。若数据已送到接收数据缓冲器,则UART可以从RxD线上再接收一个新数据,移人接收寄存器。但是,如果接收寄存器已接收到一个新字符的停止位,且要把这个新字符的数据送到接收数据缓冲器中去时,CPU还未取走在接收数据缓冲器中的上一个数据,这就会发生冲掉上一个数据的现象,即出现数据丢失现象,这叫做溢出错误。这时要将溢出错误标志位置“1”,表示发生了溢出错误。由此可见,如果接收器中数据缓冲器的级数越多,则发生溢出现象的机会就越少。转载于:https://www.cnblogs.com/51linux/archive/2012/05/26/2519570.html}

我要回帖

更多关于 波特率有几种 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信