资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,4,章 串行通信接口,4.1,串行传送的基本概念,一、,串行传送的特点,在一根传输线上一位一位地传送,这根线既作数据线又作联络线;,数据格式有固定的要求;,信号的逻辑定义与,TTL,不同;,传输速率需要控制,要求双方约定通信传输的波特率。,二、串行,通信,方式,串行通信中,数据通常是在二个站(点对点)之间进行传送,按照数据流的方向可分成三种传送方式,:,(,1,)单向通信(单工方式),(,2,)双向交替通信(半双工方式),(,3,)双向同时通信(全双工方式),特点,:,每端需有一个收,/,发切换电子开关,因有切换,会产生时间延迟,应用,:,打印机串口,单向传送设备,发送器接收器,甲方,乙方,发 送,接 收,2.,半双工方式,使用同一根传输线,既可发送数据又可接收数据,但不能同时发送和接收,.,1.,单工方式,特点:,每一端都有发送器和接收器,有二条传送线,应用:,交互式应用,远程监测控制,3.,全双工方式,数据的发送和接收分别由两根可以在两个不同的站点同时发送和接收的传输线进行传送,通信双方都能在同一时刻进行发送和接收操作。,三、波特率与收,/,发时钟,波特率,:,单位时间内传送的二进制数据的位数,以位,/,秒,(,b/s,),表示,也称为数据位率。它是衡量串行通信速率的重要指标。,常用的标准波特率:,110,,,300,,,4.8K,,,9.6K,,,56K,收,/,发时钟,:,收,/,发时钟直接决定了通信线路上数据传输的速率,对于收,/,发双方之间数据传输的同步有十分重要的作用。,波特率系数,n,为了提高串行通信的抗干扰能力,往往用多个时钟调制一个二进制数据,调制一个二进制数据的收,/,发时钟个数称为波特率系数,n,。,收,/,发时钟频率与波特率之间的关系:,收,/,发时钟频率,=,n,波特率,一般,n,取,1,16,32,和,64,等。对于异步通信,常采用,n=16,;,对于同步通信,则必须取,n=1,。,四、信号的调制和解调,计算机的通信是要求传送数字信号,而在进行远程数据通信时,线路往往是借用现有的公用电话网,但是,电话网是为音频模拟信号的设计的。一般为,3003400Hz,,,不适合于数据信号。,因此需要对二进制信号进行调制,以适合在电话网上传输相应的音频信号,在接收时,需要进行解调,还原成数字信号。,PC,机,数字比特流,模拟信号,模拟信号,数字比特流,公用电话网,源系统,传输系统,目的系统,输入信息,源点 发送器 传输系统 接收器 终点,输入数据,发送的信号,接收的信号,输出数据,输出信息,PSTN,Modem,Modem,通信系统模型,1.,什么叫调制,调制就是进行波形变换。或者说进行频谱变换,就是将基带数字信号的频谱变换成适合于在模拟信道中传输的频谱。,2.,作用,调制器,(Modulator),是一个波形变换器,它将基带数字的波形变换成适合于模拟信道传输的波形。,解调器是一个波形识别器,将模拟信号恢复成原来的数字信号。,调制器,解调器,010010,010010,最基本的调制方法有以下几种:,(,1,)调幅(,AM,),即载波的,振幅,随基带数字信号而变化,.,“1”,对应有载波,“,0”,对应无载波,3.,调制方法,(,2,)调频(,FM,),即载波,频率,随数字信号而变化,“,0”,对应”,f1”,“1”,对应“,f2”,(3),调相(,PM,),即载波初始相位随基带数字信号而变化,.,“0”,对应相位,0,度,“,1”,对应相位,180,度,f,1,f,2,FM,AM,0 1 0 0 1 1,0,度,180,度,PM,10000,5000,1000,500,5000,1000,200,波特率,传输距离,(ft),传输距离与波特率之关系曲线,1ft=0.3048m,4.,传输距离,五、信息的检错与纠错,串行数据在传输过程中,由于干扰而引起误码是难免的,这直接影响通信系统的可靠性,对通信中的检,/,纠错能力是衡量一个通信系统的重要内容。,检错:,如何发现传输中的错误,称为检错。,纠错:,如何消除错误,称为纠错,.,例:,奇偶校验检错,方阵码检错,循环冗余码(,CRC,)检,错,差错检测重要指标,:,误码率,P,0,:,是衡量一个信道质量的重要参数。即:,P,0,=,发生差错的码元数,接收的总码元数,编码效率,R,:,是衡量编码性能好坏的重要参数。即:,R=k/n=k/(k+r),其中:,k,为码字中信息位;,r,为编码时外加冗余位;,n,为编码后得到的码长,1.,奇偶校验码,垂直奇偶校验码,I,11,I,12,I,1q,I,2,1,I,22,I,2q,.,I p,1,I,p,2,I,p,q,r,1,r,2,r,q,信息位,冗余位,奇校验,:,r,i,=,I,1i,I,2i,I,pi,1,偶校验,:,r,i,=,I,1i,I,2i,I,pi,编码效率,:,R=p/p+1,水平奇偶校验码,I,11,I,12,I,1q,r,1,I,2,1,I,22,I,2q,r,2,.,I p,1,I,p,2,I,p,q,r,q,信息位,冗余位,编码效率,:,R=q/q+1,1 1 0 1 0 0 1,0,0 1 0 0 0 0 0,1,1 0 1 0 1 0 1,0,1 1 1 1 0 0 1,1,1 1 0 0 0 0 1,1,0 0 0 0 1 0 0,冗余位,垂直水平奇偶校验码,编码效率,:,R=,pq,/(p+1)(q+1),2.,循环冗余码,CRC,循环冗余码,CRC(Cyclic Redundancy Code,)又称,多项式码。任何一个二进制数位串都可以和一个只含有,0,和,1,二系数的多项式建立一一对应关系。,如:,1011011,x,6,+x,4,+x,3,+x+,1,K(x)=,x,6,+x,4,+,1,信息位,:,1010001,冗余,位:,1101,R(x),=x,3,+x,2,+,1,代码:,1010001,1101,T(x)=,x,4,K(x)+R(x),=,x,10,+x,8,+x,4,+x,3,+x,2,+,1,模,2,除法运算,:,多项式以,2,为模除法运算,运算法则为加法不进位,减法不借位,与异或运算相同,。,10110011,+11010010,01100001,10110011,-11010010,01100001,1 0 0 1 1 1 1,10111 1 0 1 0 0 0 1 0 0 0 0,1 0 1 1 1,1 1 0 1 0,1 0 1 1 1,1 1 0 1 0,1 0 1 1 1,1 1 0 1 0,1 0 1 1 1,1 1 0 1 0,1 0 1 1 1,1 1 0 1,冗余位,R(x),x,4,K(x),生成多项式:,G(x)=,x,4,+,x,2,+,x,+1,计算检验和的算法,:,设,G(x),为,r,阶,在帧的末尾附加,r,个零,使帧为,m+r,位,则相应的多项式是,x,r,K(x);,按模,2,除法用多项式,x,r,.,K(x),除以,G(x),,,得到余数,R(x),;,按模,2,减法从多项式,x,r,.,K(x),中减去,R(x),,,得,T(x).,注,:这里减法、加法都是异或运算,接收端,:,如果,T(x)+E(x)/G(x),不为,0,,表明有差错出现,如果,T(x)+E(x)/G(x),为,0,,表明无差错出现,或,E(x),被,G(x),整除,就是说,,G(x),整倍数多项式错误不能被检测。,x,r,.,K(x)/G(x).R(x),T(x)=,x,r,K(x)+R(x),T,(x),+E,(x),/G(x),发送端,接收端,差错,E,(x),多个生成多项式己成为国际标准:,CRC 8 G(x)=,x,8,+,x,2,+,x,+1,CRC 5 G(x)=,x,5,+,x,2,+1,CRC 16 G(x)=,x,16,+,x,15,+,x,2,+1,CRC CCITT G(x)=,x,16,+,x,12,+,x,5,+1,CRC 32 G(x)=,x,32,+,x,26,+,x,23,+,x,22,+,x,16,+,x,12,+,x,11,+,x,10,+,x,8,+,x,7,+,x,5,+,x,4,+,x,2,+,x,+1,应用,:,CRC-5,CRC-16,应用于,USB,数据,CRC,;,CRC-8,CRC-32,应用于,ATM,网络,;,CRC_CCITT,应用于,HDLC,数链层,.,六、串行通信的基本方式,1,、异步串行通信,异步串行通信是以字符为信息单位传送的。在通讯的数据流中,字符间异步,字符内部各位同步。异步通信方式的“异步”主要体现在字符与字符之间通信没有严格的定时要求。然而,一旦传送开始,收,/,发双方则以预先约定的传输速率,在时钟的作用下,传送这个字符中的每一位。,2,、同步串行通信,同步串行通信是以数据块(字符块)为信息单位传送,而每帧信息包括成百上千个字符,因此,数据流中的字符与字符之间和字符内部的位与位之间都要同步。,4.2,串行通信协议,通信协议,是指通信双方的一种约定,包括对数据格式、同步方式,传送速度、传送步骤、检纠错方式等问题作出统一规定。也称通信控制规程。,同步协议,异步协议,分类,面向字符,(,character Oriented,),面向比特,(,Bit,),面向字节计数,一、起止式异步通信数据格式,特点,:是一个字符一个字符传,输,格式,:,每个字符总是以起始位开始(“,0”,),以停止位,(“,1”,),结束,字符之间没有时间间隔要求,字符后一位校验位(可没有),1,1,0,0,0,0,1,0,1,1,1,0,0,0,空,闲,位,起始位,数据位,0,低,高,校验位,停,止,位,为了确保,异步串行通信传输正确:,采用相反极性的起始位和停止位,/,空闲位提供准确的时间基准。,接收器在每位的中心采样,以获得最大的收,/,发时钟频率偏差容限。,接收器采用比传送波特率更高频率的时钟来控制采样时间,以提高采样的分辨能力和抗干扰能力。,频,率,为,16,倍,波,特,例题:,异步通输,7,位,ASCII,码,如果需要数据传送速率为,240,字符,/,秒,使用,1,位奇偶校验和,1,位停止位,则:,1,)波特率应该是多少?,2,)有效数据位传送速率是多少?,3,)传输效率是多少?,答:,1,)波特率是,(,7,位数据位,+,1,位起始位,+,1,位校验位,+,1,位停止位,)*,240 =2400,b/s,2),有效数据位传送速率是,:,7*240=1680,b/s,3),传输效率是,:,1680/2400=70%,0,DATA,1,BUFFER,T,X,D,移位时钟,0/1,写信号,7 6 5 4 3 2 1 0,利用移位寄存器实现串行接口,二、面向字符的同步通信格式,1.,功能,一次传送若干个字符组成的数据块,并且规定了,10,个特殊,.,字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息。,2.,数据格式(一帧),SYN,SYN,SOH,标题,STX,数据块,ETB/ETX,块校验,同步字符,序始字符,文始字符,组终,/,文终字符,包括原地址,目的地址,路由指示等信息,.,被传送的正文内容,,由多个字符组成,对从,SOH,开始直到,ETX/ETB,字段进行校验,,校验方式可以是纵横奇偶校验或,CRC,循环冗余校验。,3.,特定字符的定义,SYN,:,同步字符,(,Synchronous,),,表示一帧的开始。,加一个,SYN,的称,单同步,,加两个,SYN,的称,双同步,。设置同步字符是起联络作用,传送数据时,接收端不断检测,一旦出现同步字符,就知道同一帧开始了。,SOH,:,序始字符,(Start of Header),,表示标题的开始。,STX,:,文始字符(,Start of Text,),,表示正文开始。,ET,B/ETX,:,组终,/,文终字符(,End of Text,)。,ETB,用在正文很长、需要分成若干分数据块、分别在不同帧中发送的场合,这时在每个分数据块后面用,ETB,,而在最后一个分数据块后面用,ETX,。,特点:,一次传送是一个数据块,传输效率提高了;,采用了一些传输控制字,增加了通信控制能力和校验能力;,存在问题:,由于数据字符与特定字符可能代码相同,因此,在数据字符前插入转义字符,DLE,,,以示区别。这种方式称为“字符填充”。,三、面向比特的同步通信数据格式,1.,最有代表性的是:,IBM,的,SDLC,(,Synchronous Data Link Control,),,同步数据链路控制规程。,ANSI,的,ADCCP,(,Advanced Data Communication Control Procedure,)。,ISO,的,HDLC,(,High Level Data link Control,),高级数据链路控制规程。,DEC,公司,DDCMP,(,Digital Data Communication Message protocol,)。,2.,协议的特点:,1,),所传输的一帧(,frame,),数据(或称数据包)可以是任意二进制位。,2,),通过约定的位组合模式(标志字节)来标志帧的开始和结束。,注意:,HDLC,作为国际标准,ISO3309,;,ADCCP,作为美国国家标准;,我国相应国家标准,GB-7496,,,这几个协议均大同小异。,3.HDLC,格式,01111110,A,C,I,FC,01111110,开始标志,地址场,控制场,信息场,校验场,结束标志,8位,8位,8位,16,位,8位,0,位,(,1,)标志场:,SDLC/HDLC,规定所有信息传输必须以一个标志字节开始中,,且以同一个字节结束,这个字节为,01111110,,二个标志字节之,间构成一个完整的信息单位,称为一帧(,frame,),.,(,2,),地址场,A,:,(,Address Field,),用来规定与之通信的次站的地址。,A,场的宽度:,8:SDLC,任意长度,:HDLC,(,3,),控制场,C,(,Control Field,)(,8,位:,SDLC 16,位:,HDLC,),用于指明帧的类型,包括信息帧、管理帧和无编号帧。信息帧传送终端用户数据,管理帧是执行对信息帧的确认和请求重发信息帧等控制功能,无编号帧是执行链路初始化、链路断开等链路控制功能的。,(,4,),信息场,I,(,Information Field,),含有要传送的数据,长度任意,只有在信息帧中才有该字段。当,I,为,0,时,则这一帧主要是控制命令。,(5),校验场,FC,(,FC,,,Frame Check,),用于数据传输的差错校验。由发送站对用户数据流进行一次运算,结果装入该字段一起发送。,SDLC/HDLC,均采用,16,位,CRC,循环冗余校验码。除了标志字段和自动插入的“,0”,位外,所有的信息都参加,CRC,计算。,4.,实际应用时的技术问题,“,0”,位插入,/,删除技术,将信息字段的字符,01111110,与标志区分开来,。,方法,:,遇到连续,5,个“,1”,就自动插入一个“,0”,。,如:,原始 插入后 删除后,01111110 011111,0,10 01111110,11111111 11111,0,111 11111111,4.3,节 串行接口标准,数据终端设备,DTE,(,Data Terminal Equipment,),-,数据源和目的地,数据通信设备,DCE,(,Data Communication Equipment,),-,使数据符合线路要求,串行通信系统,一、,RS-232,接口标准,RS-232,标准是美国,EIA,(,电子工业联合会)与,BELL,等公司一起开发的,,1969,年公布的通信协议,适合的数传率:,0,20Kbps,。,1.,电气特性,(,1,)应保证电平在,(5,15)V,之间,对于数据线:,逻辑“,1”=-3V,-15V,“0”=+3V,+15V,对于控制信号:,接通状态,(ON),即信号有效的电平,=+3V 15V,断开状态,(OFF),即信号无效的电平,=-3V-15V,(,2,),必须进行电平转换,RS-232C,接口采用的是负逻辑,与,TTL,高低电平不一样,不能兼容。为了实现与,TTL,电路的连接,,必须进行电平转换。,可用,TTL/EIA,电平转换器进行,,如,MC1488,MC1489IC,。,MC1488,MC1489,RS-232,TTL,EIA,电平,+15V,+15V,TTL,+15V,采用,EIA,电平比,TTL,电平具有更强的抗干扰性能。,另外,,MAX232,省电可连接二对收,/,发线,只用单电源。,2.,机械特性,1,)连接器(,Connector,),常用二种:,DB-25,型,,25,脚,只用,9,个信号(,2,个数据线,,6,个控制线,,1,个地址),DB-9,型,,9,针,,9,针全用,2,)电缆长度,RS-232,直接连接,(,不调制,),的最大物理距离,15M,,通信速率,20Kbps,。,3.,信号线的定义。,25,线:数据线,4,条(,2,,,3,,,14,,,16,),控制线,11,条(,4,,,5,,,6,,,8,,,12,,,13,,,19,,,20,,,22,,,23,),定时信号线,3,条(,15,,,17,,,24,),地线,2,条(,1,,,7,),备用,5,条(,9,,,10,,,11,,,18,,,25,),:,未定义,常用的信号线,4.,信号线的连接,1,)近距离连接(,15m,),1,),需用,MODEM,和专用电话线,2,)需用,2,9,条信号线(在接口与,MODEM,之间),二、,RS-422/RS-423,接口标准,1.,RS-422,特点,(,1,),采用平衡发送器和差动接收器,由于是双线传输,大大提,高了抗共模干扰的能力。,因为是两条传输线的电位差决定逻辑电平,AA-BB +2V,,,表示“,0”,(,2,)传输速率,10Mbps,(,15m,时),90Kbps,(,1200m,时),2.,连接,MC3487,MC3486,B,TTL,RS-422A,电平,平衡发送器,差动,接收器,B,A,A,2,),RS-423,1.,连接:,2.,特点:,采用单端发送器和差动接收器,由于是差动接收器,提高了抗共模干扰能力。,数传率:,100Kbps/90m,时,1Kbps/1200m,时,逻辑“,1”,,,4V,6V,逻辑“,0”,,,-4V,-6V,TTL,RS-423A,电平,单端发送器,差,动,接收器,+,-,三、,RS-485,接口标准,1.,特点,(,1,)兼容,RS-422A,,,扩展,RS-422A,的功能;,(,2,)允许在电路中有多个发送器和允许一个发送器驱动多个接收器,多达,32,个收,/,发器;,(,3,),搞干扰能力强,传送距离远,传输速率高。,数传率:,100Kbps 1.2Km,不用,MODEM,9.6Kbps 15Km,10Mbps 15m,4.4,串行通信接口,8251A,串口的基本任务,(,1,)进行串,并转换,(,2,)实现串行数据格式化,(,3,)可靠性检验,(,4,)实施接口与,DCE,之间联络控制,一、,8251A,的内部逻辑与外部信号,8251A,是通用同步异步接收,/,发送器,(USART:,Universal/Synchronous Asynchronous Receiver and Transmitter,)芯片。它作为一种外围器件,可通过编程选用某一种串行通信技术。,8251A,具有独立的发送器和接收器因此,它能够以单工、半双工或全双工方式进行通信,并且提供一些基本的控制信号,可以方便地与,MODEM,连接。,1.,功能:,异步起止协议,同步面向字符协议,2.,组成,:,接收器、发送器、调制控制、读,/,写控制、,数据总线缓冲器,等五大部分组成,3.,内部逻辑,发送数据线,发送器准备好,发送器空,输入时钟,(1),数据总线缓冲器,是,CPU,与,8251A,之间的数据接口,有,三个,8,位缓冲寄存器,,其中两个寄存器分别用来存放,CPU,从,8251A,读取的状态信息或数据,一个寄存器存放,CPU,向,825lA,写入的控制字或数据。,(2),发送器,由发送缓冲器和发送控制电路两部分组成,待发送的数据经,数据发送缓冲器,并行锁入,发送缓冲器,中,异步方式,发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经移位寄存器从数据输出线,TxD,逐位串行输出,。,同步方式,发送数据之前,发送器将自动送出一个,(,单同步,),或,2,个,(,双同步,),同步字符,然后才逐位串行输出数据,发送控制器向,CPU,发出,TxRDY,有效信号请求发送数据,(3),接收器,由接收缓冲器和控制电路组成,通过,RxD,接收串行数据逐位进入接收移位寄存器中,异步方式,识别并删除起始位和停止位;,同步方式,检测到同步字符,确认已达到同步,接收器开始接收串行数据,一组数据接收完毕,将移位寄存器中的数据并行置入,接收数据缓冲器,中,同时输出,RxRDY,有效信号,表示接收器中巳准备好数据等待向,CPU,传送。,接收数据的速率取决于从,RxC,端输入的接收时钟频率。,(4),读,/,写控制电路,C/D-=1,写命令,读状态,;,=0,R/W,数据,(5),调制解调控制电路,这部分电路是,8251A,将数据输出端的,数字信号,转换成,模拟信号,,或将数据接收端的模拟信号解调成数字信号的接口电路。,8251A,要与调制解调器相连,它提供的接口信号一部分为与,CPU,接口的信号,另一部分为与外设或调制器的接口信号。,4.8251A,管脚功能,28,个管脚的双列直插式大规模集成电路芯片,(,1,)面向,CPU,连接信号,数据总线,D0D7,并行传送命令,数据及状态,与,CPU,数据总线,相连,.,CLK,:,8251A,从,CLK,输入时钟,产生,8251A,的内部时序,CS,:片选信号、它应由,CPU,的地址信号和,M,IO,控制信号译码后供给;,C/,D,:控制数据端,RESET,:复位信号,向,8251A,输入的高电平有效信号,当,8251A,复位时空闲状态,RD,,,WR,:读、写控制信号,低电平有效。,(2),发送器,TxD,:数据发送线,输出,TxRDY,:发送器准备好信号,8251A,将,CPU,来的并行数据锁入数据发送缓冲器中,在用查询方式时,此信号作为一个状态位,,CPU,可从状态寄存器的,D0,位检测这个信号;在用中断方式时,此信号作为中断请求信号。,TxEMPY,:,发送器空信号,此信号有效,,指示发送器中的数据已发送出去,表示发送移位寄存器已空,此时发送缓冲器的数据可送入发送移位寄存中串行输出,在半双工方式中,,CPU,就从它知道何时切换数据的传输方向,由发送转为接收。此信号可从状态寄存器的,D2,位检测到。,TxRDY,和,TxEMPY,的区别在于,TxRDY,有效,表示发送数据缓冲器已空,而,TxEMPY,有效表示发送移位寄存器已空,TxC,,发送器时钟,由外部输入确定,8251A,的发送速率对于同步方式,,Txc,端输入的时钟频率应等于发送数据波特串对于异步方式,可由软件定义发送时钟是发送波特率的,1,倍,,16,倍或,64,倍,(3),接收方,RxD,:数据接收线,RxRDY,:接收器准备好信号高电平有效 接收缓冲器中收到一个数据字符,则,RxRDY,信号有效,通知,cPu,取数,取走,接收缓冲器中的数据,,RxRDY,变为低电乎,SYNDET,BRKDET,:双功能管脚,高电平有效。,对于异步方式,这是,间断,检出信号,BRKDET,若在起始位之后,从,RxD,端上连续收到,8,个“,0,信号,则输出端,BRKDET,为高电平,表示当前处于数据断缺状态,无数据可接收若,RxD,端上接收到,1”,信号,,BRKDET,的高电平变低,对于同步方式,这是同步字符检测信号,SYNDET,,如果采用内同步则,SYNDET,为输出端,高电平有效当从,RxD,端上检测到一个,(,单同步,),或两个,(,双同步,),同步字符时,,SYNDET,输出高电平有效信号,后面接收到的是有效数据如果采用外同步,则,SYNDET,为输入端,外同步字符从该端输入,当,SYNDET,为高电平输入有效信号,表示已达到同步接收器可开始串行接收,数据,RxC,:,接收器时钟由外部输入,(,4,)与调制解调器的接口信号,DTR,:数据终端准备好信号向调制解调器输出的低电平有效信号,CPU,准备好接收数据。,DSR,:数据装置准备好信号由调制解调器输入的低电平有效信号当调制解调器已作好发送数据准备,就发出,DSR,信号,,CPU,可用,IN,指令读入,825IA,的状态寄存器,检测,DSR,位,当,DSR,位为“,1“,,时,表示,DSR,信号有效该信号实际上是对,DTR,信号的回答,通常用于接收数据,RTS,:请求发送信号,向调制解调器输出低电平有效信号,,CPU,准备好发送数据,CTS,:准许发送信号,由调制解调器输入的低电平有效信号。,二、,8251,的控制字与状态字,8251A,的工作方式是由,CPU,执行程序设定的。在开始数据发送与接收之前,必须由,CPU,送出一组,控制字,来预置,825lA,,,以提供所需要的通信格式。,控制字分为两种:方式控制指令和命令指令,。,1.,工作方式字,工作方式指令定义,825lA,的一般工作特性,约定双方的通信方式,数据格式,传送速率。,它,必须跟在一个复位操作,(内部的或外部的)之后。,a.,作用,对,8251A,工作方式进行选择,是异步方式还是同步方式,.,b.,格式,S,1,S,0,EP,PEN,L,1,L,0,B,1,B,0,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,SYN?,同步控制,0,:内,同步,1,:,外同步,0,:双同步,1,:单同步,Y,停止位控制,00,:不用,01,:,1,位,10,:,1.5,位,11,:,2,位,N,奇偶校验,0,:无,校验,0 1,:奇校验,1 1,:偶校验,字符长度,00,:,5,位,01,:,6,位,10,:,7,位,11,:,8,位,波特因子,00,:同步方式,01,:异步,X 1,10,:,异步,X16,11,:,异步,X64,例,1,:,异步通信中,若帧数据格式为:波特率因数是,16,,字符长度,8,位,奇校验,,2,位停止位,则工作字是:,11,01,11,10,B=DEH,MOV DX,,,309H,;,8251,命令口,MOV AL,,,0DEH,;,异步工作方式字,OUT DX,,,AL,例,2,:,同步通信中,若帧数据格式为:字符长度,8,位,双同步字符,内同步方式,奇校验,则工作字是:,00,01,11,00,B=1CH,。,MOV DX,,,309H,;,8251,命令口,MOV AL,,,1CH,;,同步工作方式字,OUT DX,,,AL,b.,格式:,2.,工作命令字,a.,作用:,是确定,8251A,的实际操作,迫使,8251A,进行某种操作或工作状态,以便接收或发送数据。,EH,IR,RTS,ER,SBRK,R,X,E,DTR,T,X,EN,发送允许,0,:屏蔽,1,:,允许,接收允许,0,:屏蔽,1,:,允许,数据终端准备好,1:,迫使,DTR,输出低,送中止字符,1:,迫使,T,X,D,输出低,0,:正常工作,错误标志复位,1:,全部错误标志复位,请求发送,1:,迫使,RTS,输出低,内部复位,1:,有效,外部搜索方式,1:,启动搜索同步字符,例,3,:,使,8251,内部复位,并且允许接收,又允许发送,则程序段为:,MOV DX,,,309H,;,8251,命令口,MOV AL,,,0,1,000000B,;置,D6=1,,,使内部复位,OUT DX,,,AL,MOV AL,,,00000,1,0,1,B,;置,D0=1,,,D2=1,,,;,允许接收和发送,3.,状态字,a.,作用:,8251A,执行命令进行数据传送后的状态字存放在状态寄存器中,,CPU,通过读出状态字进行分析和判断,以决定下一步的操作。,b.,格式,:,DSR,SYNDET,TE,OE,PE,T,X,E,R,X,RDY,T,X,RDY,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,数传机,就绪,同步,检出,格,式,错,溢,出,错,奇,偶,错,发送器,空,接收,准备好,发送,准备好,例,4,:,若查询,8251A,接收器是否准备好,(,查,D,1,=1,?,),,,则用下列程序段:,MOV DX,,,309H,;,状态口,L:IN AL,,,DX,;,读状态字,AND AL,,,02H,;,查,D,1,=1,?(,R,X,RDY=1?,),JZ L,;,未准备好,则等待,例,5,:,检查出错信息,则用下列程序段,MOV DX,,,309H,;,状态口,IN AL,,,DX,TEST AL,,,00,111,000B,;,检查,D,5,D,4,D,3,三,位(,FE,OE,PE,),JNZ ERROR,;,若其中有一位为,1,,则出错,4.8251A,的方式字和命令的使用,(,1,)方式字、,命令字、状态字,方式字:,约定双方通信的方式,数据格式,传送速率等参数。,命令字:,规定是发送数据,还是接收数据。,状态字:,何时发,/,收、取决于状态字。,(,2,),使用的顺序,8251A,有一个,方式寄存器,、一个,命令寄存器,、一个,状态寄存器,和,两个同步字符寄存器,,再加上,数据发送和数据接收缓冲器,,一共有,7,个用户可访问的寄存器,。而,8251A,芯片,只提供,2,个,分别用于命令寄存器和数据寄存器的,可访问地址,。不难想到,编程,8251A,的方式字、命令字必须遵循芯片设计的有关约定,,按照规定的先后次序,来进行设置。芯片设计约定:凡是初始化有关的方式、命令和同步字或者读取状态字,访问芯片的奇地址,凡是传送数据,访问芯片的偶地址。,8251A,初始化编程及数据传送流程图,(3),初始化编程流程,三、,8251A,应用,-,举例,1,1.,要求,在甲乙二台,PC,之间进行串行通信,甲发送乙接收,要求把甲机上开发应用程序(其长度为,2DH,),传送到乙机中去。,采用:,起止式异步方式,字符长度为,8,位,,2,位停止位,波特率因子为,64,,无校验,波特率为,4800,,,CPU,与,8251A,之间用查询方式交换数据口地址分配是:,309H,为状态命令,/,状态口,,308H,为数据口。,2.,分析,:,由于是近距离传输,可以不设,MODEM,,,直接互连,同时,是采用查询,I/O,方式,故收,/,发程序中只需检查发,/,收准备好的状态是否置位,即可收发,1,个字节。,3.,设计,1,)硬件连接,二台,PC,之间进行串行通信,CSEG SEGMENT,ASSUME CS,:,CSEG,,,DS,:,CSEG,TRA PROC FAR,START,:,MOV DX,,,(1),;,命令口,MOV AL,,,00H,;,空操作,向命令口送任意数,OUT DX,,,AL,MOV AL,,,(2),;,内部复位(使,D,6,=1,),OUT DX,,,AL,NOP,MOV AL,,,(3),;,方式命令字(异,步,,,2,位停止位,字符长度为,8,位,无校验,波特率因子为,64,),OUT DX,,,AL,2,)软件编程,:,包括发送和接收程序,分开编程。,发送程序:包括初始化,状态查询,传送数据,.,MOV AL,,,(4),;,工作命令字(,RTS,、,ER,、,R,X,E,、,;DTR,、,T,X,EN,均置,1,),OUT DX,,,AL,MOV CX,,,(5),;,传送字节数,MOV SI,,,300H,;,发送区首址,L1,:,MOV DX,,,(6),;,状态口,IN AL,,,DX,;,查状态位,D,0,(,T,X,RDY,),=1?,AND AL,,,(7),JZ L1,;,发送未准备好,则等待,MOV DX,,,(8),MOV AL,,,SI,;,数据口,OUT DX,,,AL,INC SI,;,内存地址加,1,DEC,(9),;,字节数减,1,JNZ L1,;,未发送完,继续,MOV AX,,,(10),;,已送完,回,DOS,INT 21H,TRA ENDP,CSEG ENDS,END START,接收程序(略),309H,40H,0CFH,37H,2DH,309H,01H,308H,CX,4C00H,4.5 PC,微机异步通信适配器,(,自学,),一、,UART,的寄存器及其编程方法,1.,发送保持寄存器和接收数据寄存器,2.,波特率除数,波特率除数,(,BRD,),是,16,位数,它与,UART,的数据传输速率,(波特率)有关。当使用,UART,的内部时钟频率为,1.8432MHz,时,,则波特率除数,BRD,与波特率,Baud,之间的关系如下式所示:,BRD=,时钟频率,/,(,16Baud,)。,例如,若要计算波特率为,1200b/s,的波特率除数,则有:,BDR=1843200/,(,161200,),=0060H,。,
展开阅读全文