您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第十章 串行通信及接口芯片8251A
微型计算机原理与接口技术1第十章串行通信及接口芯片8251A10.1串行通信的基本概念10.2可编程串行通信接口芯片8251A10.3RS-232C串行接口和8251A应用10.4串行同步数据通信协议微型计算机原理与接口技术210.1串行通信的基本概念串行数据通信系统模型DTE-DataTerminalEquipment,常常是计算机.DCE-DataCommunicationEquipment,常常是MODEM,也可以是计算机.串行接口–主要是8251A,16550,8250等IC,连接DTE和DCE.计算机MODEMMODEM计算机或终端信道(传输线路)串行接口串行接口DTEDCEDTEDCE微型计算机原理与接口技术3基本概念数据传送的方向数据的传输速率信号的调制与解调串行通信数据格式串行通信的数据校验微型计算机原理与接口技术41.单工(Simplex):通信是单向的。2.半双工(Halfduplex):半双工指A能发信号给B,B也能发信号给A,但这两个过程不能同时进行,A或B发送完后要切换到接受状态。典型的例子就是对讲机。3.全双工(Duplex):在A给B发信号的同时,B也可以给A发信号。典型的例子就是打电话。10.1.1数据传送的方向发送接收发送接收发送接收发送接收发送接收数据流数据流数据流数据流微型计算机原理与接口技术5波特率:单位时间传送的位数,单位bps(bit/s)。波特率因子K:每BIT占用的时钟周期数。K=接接收或发送时钟频率/比特率,可取1,16,32,6410.1.2传输速率微型计算机原理与接口技术6例1:一个异步串行发送器,发送具有8位数据位的字符,在系统中使用一个奇偶校验位和两个停止位。若每秒发送100个字符,则其波特率为多少?100*(1+8+1+2)=1200bps例2:一个异步串行发送器,发送具有7位数据位的字符,传送波特率为1800,字符格式为:1个奇偶校验位,1个停止位,问,十秒钟内传送了多少个字符?10*1800/(1+7+1+1)=180000/10/10/111起始位数据位校验位停止位一个字符格式微型计算机原理与接口技术7数据通信传输的是数字信号,要求传送线的频带很宽,若传输带宽很窄,直接传输数字信号,信号就要发生畸变。因此,需用调制器将数字信号转换成模拟信号,经传输后再用解调器将其转换成数字信号。10.1.3信号的调制与解调根据载波Asin(t+)的三个参数:幅度、频率、相位,常用的调制技术:–幅度调制Amplitude-Modulating(AM)–频移键控法Frequency-ShiftKeying(FSK)微型计算机原理与接口技术80011010101000110010110用调幅正弦波表示数字1和0用两种不同频率正弦波表示数字1和0A计算机MODEMMODEMB计算机数字信号数字信号模拟信号微型计算机原理与接口技术910.1.4串行通信数据格式在数据通信中,传输的对象是一系列的0和1,这些0、1在不同的位置有不同的含义,这些含义都要事先约定好。在通信中,两种最基本的串行通信方式:异步串行通信、同步串行通信不使用共同的时钟和同步信号使用同步信号微型计算机原理与接口技术100起始位0/10/10/10/10/10/1......空闲位0111空闲位5~8位数据奇偶校验位终止位数据帧下一个数据帧D0(先)1~2位数据同步字符1同步字符2数据帧异步通讯的数据帧格式同步通讯的数据帧格式微型计算机原理与接口技术11异步串行通信同步串行通信双方使用各自的时钟双方使用同一时钟一帧以字符为单位(一个字符帧的长度取决于帧格式)以数据块为单位(数据块长度可变)传输效率低效率高,速度快应用于传输速率不高时,简单,应用较广应用于大批量,高速率数据通信场合异步串行通信与同步串行通信的对比微型计算机原理与接口技术1210.1.5串行通信的校验方法串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验循环冗余校验(CRC)微型计算机原理与接口技术13•这种校验方法主要用于对一个字符的传送过程进行校验。•奇偶校验可以检查出一个字节中发生的单个错误。•奇偶校验不能自动纠错,发现错误后需“重传”。奇偶校验微型计算机原理与接口技术1510.2可编程USART通信接口芯片8251A10.2.1基本功能:(1)可用于同步和异步通信方式(通信方式通过对方式字编程规定):同步方式:波特率0-64Kbps,每字符为5,6,7,8位,可使用内部同步检测和外部同步检测,能自动插入同步字符。异步方式:波特率0-19.2Kbps,每字符可为5,6,7,8位,自动增加起始位、停止位和校验位。时钟TxC,RxC速率为波特率的1,16和64倍。(2)完全双工,双缓冲器接收器和发送器;(3)出错检测:具有奇偶、溢出和帧错等检测电路。微型计算机原理与接口技术16方式接收数据缓冲器发送数据缓冲器命令方式接收数据缓冲器发送数据缓冲器命令微型计算机原理与接口技术17数据总线缓冲器发送缓冲器发送控制电路接收缓冲器接收控制电路调制解调控制电路D0~D7SYNDETRxDRxRDY内部总线读写控制电路C/DCLKRESETRDWRCSDSRCTSDTRRTSRxCTxCTxETxRDYTxD读/写控制逻辑:接受CPU的下列控制信号RESET:复位信号使8251A进入IDLE状态CLK:8251A用来产生内部的定时信号/WR:低有效,CPU对8251A进行写操作/RD:低有效,CPU对8251A进行读操作/CS:片选信号有效时才可对8251A进行操作C/D:Control/Data,数据总线传送的是控制信号,状态字/数据RxD:接收数据,输入RxRDY:接收数据准备好,输出SYNDET:同步检测/断点检测RxC:接收时钟(同步:FreqofRxC=BaudRate)(异步:FreqofRxC=BaudRate*BaudFactor)TxD:发送数据TxRDY:发送准备好TxE:发送器空TxC:发送器时钟(同步:FreqofTxC=BaudRate)(异步:FreqofTxC=BaudRate*BaudFactorHandshakingsignalsbetweenCPUandModemDTR:数据终端准备好DSR:数据装置准备好RTS:请求发送CTS:清除发送信号微型计算机原理与接口技术18数据总线缓冲器发送缓冲器发送控制电路接收缓冲器接收控制电路调制解调控制电路D0~D7SYNDETRxDRxRDY内部总线读写控制电路C/DCLKRESETRDWRCSDSRCTSDTRRTSRxCTxCTxETxRDYTxD微型计算机原理与接口技术19复位操作输出方式字同步方式?输出第一个同步字输出第二个同步字双同步?输出命令字复位结束出错处理输入状态字传送数据有错?传送完?YNYNYNYNYN编程流程10.2.28251A编程微型计算机原理与接口技术20方式字S1S2EPPENL1L2B1B201:异步方式×110:异步方式×1611:异步方式×6400:5位字符长度01:6位字符长度10:7位字符长度11:8位字符长度x0:无奇偶校验位01:奇校验11:偶校验00:无效01:1位停止位10:1.5位停止位11:2位停止位SCSESDEPPENL1L2001:单字符同步0:双字符同步与异步方式相同1:SYNDET为输入(外同步)0:SYNDET为输出(内同步)异步方式同步方式微型计算机原理与接口技术21命令字EHIRRTSERRxESBRKTxENDTR1:使TxD变低,发送空白字符0:正常工作1:允许发送0:禁止发送1:允许接收0:禁止接收1:使DTR引脚输出低电平1:使错误标志PE,OE,FE复位1:使RTS引脚输出低电平1:启动搜索同步字符1:内部复位,回方式选择格式DSRSYNDET/BRKDETFEOETxEPETxRDYRxRDY同步检测/断点检测溢出错误数据装置准备好帧错误(只用于异步方式奇偶错误发送器空接收器准备好发送器准备好状态字微型计算机原理与接口技术22C/DRDWRCS端口选择和操作0010CPU从8251A接收数据寄存器读数据0100CPU向8251A发送数据缓冲器写数据1010CPU从8251A状态寄存器读状态1100CPU向8251A写控制字(先方式字寄存器、后命令字寄存器)XXX1数据总线悬空8251A读写操作端口选择表微型计算机原理与接口技术23RS232C接口波特率发生器&G1A7,A6,A5D7-D0/G2A/G2BCBAA4M/IOA3A2A0A1RESET/RD/WR/Y0/CSC/DRESET/RD/WRTxRDYTxERxRDYBRKDETRxDTxD/RxC/TxC外设80868251A74LS138A7A6A5=111时,G1=1A4=1时,/G2A=0M/IO=0时,/G2B=0此时,当A3A2A0=000时,译码器/Y0输出低电平,其它输出高。8251A被选中。A1=1时,选中控制字,A7-A0=11110010=F2H。A1=0时,选中数据口,A7-A0=11100000=F0H。微型计算机原理与接口技术2410.2.38251与CPU的数据交换(1)查询方式采用查询方式,在数据交换前应读取状态寄存器。状态寄存器D0=1,CPU可以向8251数据端口写入数据,完成串行数据的发送;状态寄存器D1=1,CPU可以从8251数据端口读出数据,完成一帧数据的接收。DSRSYNDET/BRKDETFEOETxEPETxRDYRxRDY同步检测/断点检测溢出错误数据装置准备好帧错误(只用于异步方式奇偶错误发送器空接收器准备好发送器准备好微型计算机原理与接口技术25(2)中断方式8251没有单独的中断请求引脚:•TxRDY引脚可以作为发送中断请求•RxRDY引脚可以作为接收中断请求•收发均采用中断方式时,TxRDY、RxRDY可以通过或门与系统总线的中断请求线连接。在CPU响应中断转到ISP中时,再对状态寄存器进行查询,以区分是发送中断还是接收中断。微型计算机原理与接口技术26(3)8251编程示例例:编写8251异步模式下的接收和发送程序,完成256个字符的发送和接收,设端口地址:208H,209H,波特率因子16,1起始位,1停止位,无奇偶校验,每字符8位。LEADI,Buf1MOVDX,209HMOVAL,00H;复位OUTDX,ALCALLDELAYMOVAL,00H;复位OUTDX,ALCALLDELAYMOVAL,00H;复位OUTDX,ALCALLDELAYMOVAL,40H;复位命令OUTDX,AL发送程序MOVAL,01001110B;方式选择字MOVDX,ALMOVAL,00110111B;工作命令字OUTDX,ALMOVCX,256;发送256字节NEXT:MOVDX,209H;状态字寄存器209HINAL,DX;状态字ANDAL,01H;TxRDY?JZNEXTMOVAL,[DI]MOVDX,208H;数据寄存器208HOUTDX,AL;发送INCDILOOPNEXT微型计算机原理与接口技术27接收程序:接收256字节,放在buf2中MOVAL,01001110B;方式字OUTDX,ALMOVAL,00110111B;命令字OUTDX,ALMOVCX,256;接收256字节MOVSI,0NEXT:MOVDX,209HINAL,DX;状态字ANDAL,02H;RXRDY?JZNEXTMOVDX,208HINAL,DX;接收1字符MOVbuf2[SI],ALINCSILOOPNEXTDatasegmentbuf2DB256dup(?)Dataends┆MOVDX,209HMOVAL,00H;复位OUTDX,ALCALLDELAYMOVAL,00H;复位OUTDX,ALCALLDELAYMOVAL,00H;复位OUTDX,ALCALLDELAYMOVAL,40H;复位
本文标题:第十章 串行通信及接口芯片8251A
链接地址:https://www.777doc.com/doc-3966951 .html