串行通信及接口芯片8251A课件_第1页
串行通信及接口芯片8251A课件_第2页
串行通信及接口芯片8251A课件_第3页
串行通信及接口芯片8251A课件_第4页
串行通信及接口芯片8251A课件_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章串行通信及接口芯片8251A10.1串行通信的基本概念10.2可编程串行通信接口芯片8251A10.3RS-232C串行接口和8251A应用10.4串行同步数据通信协议第8章习题8-38-48-58-610.1串行通信的基本概念串行数据通信系统模型

DTE-DataTerminalEquipment,常常是计算机.

DCE-DataCommunicationEquipment,常常是MODEM,也可以是计算机.串行接口

–主要是8251A、16550、8250等,

连接DTE和DCE。计算机MODEMMODEM计算机或终端

信道(传输线路)串行接口串行接口DTEDCEDTEDCE基本概念数据传送的方向数据传输的速率数据传输的定时信号的调制与解调通信数据格式通信数据校验1.单工(Simplex)2.半双工(Halfduplex)3.全双工(Duplex)数据传送的方向传输速率波特率单位时间传送的位数单位bps波特率因子K

每BIT占用的时钟周期数

K=接接收或发送时钟频率/比特率, 可取1、16、32、64数据传输的定时同步增加时钟信号常用于并行通信接口数据同步编码以数据帧为传输单位增加同步字符异步以数据字符为传输单位每个字符中包含同步信息例1:一个异步串行发送器,发送具有8位数据位的字符,在系统中使用一个奇偶校验位和两个停止位。若每秒发送100个字符,则其波特率为多少?100*(1+8+1+2)=1200bps例2:一个异步串行发送器,发送具有7位数据位的字符,传送波特率为1800,字符格式为:1个奇偶校验位,1个停止位,问,十秒钟内传送了多少个字符?

10*1800/(1+7+1+1)=180000/10/10/111起始位数据位校验位停止位一个字符格式

数据通信传输的是数字信号,要求传送线的频带很宽,若传输带宽很窄,直接传输数字信号,信号就要发生畸变。

因此,需用调制器将数字信号转换成模拟信号—传输—再用解调器将其转换成数字信号。信号的调制与解调(边缘畸变严重时难以辩识)用载波信号的不同频率代表‘1’和‘0’基带信号带宽无限经窄带信道传输后的信号FSK调制成窄带信号WWWWWWWWWWWWW根据载波Asin(t+)的三个参数:幅度、频率、相位,产生常用的三种调制技术:幅移键控法Amplitude-ShiftKeying(ASK)频移键控法Frequency-ShiftKeying(FSK)相移键控法Phase-ShiftKeying(PSK)ASK(又称为调幅)

用载波信号的不同幅度代表‘1’和‘0’FSK(又称为调频)

用载波信号的不同频率代表‘1’和‘0’PSK(又称为调相)

用载波信号的相位变化代表‘1’和‘0’(有变化为’1’)三种调制方式串行通信数据格式

一个帧结构00/10/10/111起始位

1位数据位

5、6、7、8位不等校验位

1位停止位

1、1.5、2位不等低位高位1.异步串行通信

在发送一个字符时,包含一个起始位,若干数据位,一个奇偶校验位,几个停止位。2.同步串行通信在同步传输中,把字符顺序地连接起来,组成一个数据块,这样的数据块称为一个记录。每个记录的传输时间相同(时间片)。在记录的开始加同步字符,在记录的末尾加出错校验字符,形成同步帧。~~~~同步字符同步字符数据数据数据校验码校验码同步字符的格式和个数根据需要而定。

在同步方式中,接收器接收数据时,首先搜索同步字符,在得到同步字符后,才开始装配数据。异步串行通信同步串行通信双方使用各自的时钟双方使用同一时钟一帧以字符为单位以数据块为单位(长度可变)传输效率低效率高,速度快应用于传输速率不高时,简单,应用较广应用于大批量,高速率数据通信场合异步串行通信与同步串行通信的对比串行通信的校验方法奇偶校验、循环冗余校验(CRC)•这种校验方法主要用于对一个字符的传送过程进行校验•奇偶校验可以检查出一个字节中发生的单个错误•奇偶校验不能自动纠错,发现错误后需“重传”1.奇偶校验

以数据块(帧,Frame)为单位进行校验编码思想:将数据块构成的位串看成是系数为0或1的多项式如110001,可表示成多项式x5+x4+1

数据块构成的多项式除以另一个多项式G(x),得到的余数多项式

R(x)就称为CRC码,而G(x)则称为生成多项式。

2.循环冗余校验CRC串行接口的例子UARTUniversalAsynchronousReceiver/Transmitter异步收发器功能接收异步串行输入码并将其转换为并行码并将CPU的并行码转换为串行码输出串行接口原理外部时钟和接收数据的同步串行接口原理奇偶错溢出错帧格式错RxDRxCTxDTxC控制电路RESETWERDCSINTPEOEFEDB7~DB0TransmitBufEmptyReceiveDataReadyRDRTBE接收移位寄存器接收数据缓冲器发送数据缓冲器发送移位寄存器串行接口原理UART中设立的各种出错标志奇偶错误(Parityerror)字符的“1”的个数帧错误(Frameerror)如缺少停止位等溢出(丢失)错误(Overrunerror)接收/发送缓存数据丢失10.2可编程USART通信接口芯片8251A基本功能(1)可用于同步和异步通信方式

同步方式:波特率0-64Kbps,每字符为5,6,7,8位,可使用内部同步检测和外部同步检测,能自动插入同步字符。

异步方式:波特率0-19.2Kbps,每字符可为5,6,7,8位,自动增加起始位、停止位和校验位。时钟TxC,RxC速率为波特率的1,16和64倍。(2)全双工,双缓冲器接收器和发送器;(3)出错检测:具有奇偶、溢出和帧错等检测电路。8251A的功能结构(并串)(并串)读/写控制逻辑:接受CPU的下列控制信号RESET:复位信号使8251A进入IDLE状态CLK:8251A用来产生内部的定时信号/WR:低有效,CPU对8251A进行写操作/RD:低有效,CPU对8251A进行读操作/CS:片选信号有效时才可对8251A进行操作C/D:Control/Data,数据总线传送的是控制信号,状态字/数据TxD:TransmitterData(TODCE)TxRDY:TransmitterReady(TODTE)TxE:TransmitterEmpty(ToDCE)TxC:TransmitterClock(FromBaudGenerator)(同步:FreqofTxC=BaudRate)(异步:FreqofTxC=BaudRate*BaudFactorHandshakingsignalsbetweenCPUandModemDTR:Dataterminalready(ToDCE)DSR:Datasetready(FromDCE)RTS:Requesttosend(ToDCE)CTS:Cleartosend(FromDTE)RxD:ReceiverData(FromDCE)RxRDY:ReceiverReady(ToDTE)SYNDET:SyncDectect/BreakDectectRxC:ReceiverClock(FromBaudGenerator)(同步:FreqofRxC=BaudRate)(异步:FreqofRxC=BaudRate*BaudFactor)8251A的控制工作方式字同步/异步波特率字符长度停止位长度校验方式命令字传输过程控制状态字错误信息发送方式8251A与外设的发送方式异步发送方式同步发送方式CPU与8251A的发送方式查询发送方式中断发送方式异步发送方式

当允许发送信号TxEN(由程序设置命令字的D0位)和CTS有效时,开始发送:发送器为每一个字符加一个起始位,并且按程序要求加入奇偶位、停止位,以波特率的1、16或32的发送频率将数据发送到TxD。1.发送命令字寄存器

同步发送方式

当允许发送信号TxEN(由程序设置)和CTS有效时,开始发送:发送器根据编程要求,发送一个或两个同步字符,然后发送数据块。在发送数据块时,发送器会根据编程要求对数据块中的每个数据加上奇偶校验位(或不加)。当发送缓冲器为空时,TxRDY信号置位,表示8251已做好发送准备,CPU可以为其提供需要发送的字符。CPU可以通过查询此位,确定是否向8251传送数据。当8251从CPU获得一个字符后,TxRDY信号变低。中断发送方式TxRDY信号作为中断请求信号当8251从CPU获得一个字符后,TxRDY信号变低。状态寄存器TxC、RxC:

外部产生的时钟信号8251没有内置的波特率发生器查询发送方式接收方式8251A接收外设数据的方式异步接收方式同步接收方式内同步外同步CPU接收8251A数据的方式查询接收方式中断接收方式异步接收方式

8251在RxD线上检测到一个低电平信号,将其作为起始位,于是开始进行常规采样。数据进入移位寄存器,并进行奇偶校验,变成并行数据送入接收数据缓冲器,同时发出RxRDY信号,表示已收到一个可用数据。对于少于8位的数据,8251将其高位填上0。2.接收波特率因字=16时,发送的串行数据起始位宽度与发送时钟的对比。串行数据的采样时刻在每一位的中间。实现同步(内同步)

8251检测RxD线,当RxD上出现一个数据位时,将其接收下来送入移位寄存器,然后将其与同步字符寄存器的内容进行比较,若两者不相等,则继续接收和检测;若两者相等,则SYNDET引脚线号为高,告知同步已经实现。接收数据

每当收到的数据位达到一个字符的数位时,将其从移位寄存器中送入输入缓冲寄存器,并在RxRDY引脚上发出一个信号。外同步

外部电路检测同步字符。检测到同步字符后在SYNDET端输入一个高平。只要SYNDET为高,8251便认为完成同步,开始装配数据。同步接收方式

当接收缓冲器满时,RxRDY信号(接收器准备好信号)为高电平,CPU可以将数据取走。该信号使状态寄存器RxRDY置位,CPU可以通过查询此位,确定是否向8251传送数据。中断接收方式

用中断方式发送数据时,RxRDY信号可以作为中断CPU的请求信号。

不管用查询还是中断方式,当CPU从8251读取一个字符后,RxRDY信号变低。状态寄存器查询接收方式DTR——数据终端准备好,8251送往外设的信号,通知外设,CPU准备好数据接收;DSR——数据通信设备准备好,外设送往8251的信号,表示外设准备好数据;RTS——请求发送,8251送往外设的信号;CTS——允许发送,对RTS的响应信号,由外设送往8251,表示“发送允许”。3.调制/解调控制电路计算机MODEMMODEM计算机或终端信道(传输线路)串行接口串行接口DTEDCEDTEDCE当串行口与调制解调器相连时:

DTR和DSR分别表示计算机和调制解调器的状态信号;

RTS和CTS可用作一对握手联络信号。当串行口与外设(或计算机)相连时:

DTR和DSR、RTS和CTS可用作两对握手联络信号。计算机计算机或终端串行接口串行接口DTEDTE计算机MODEMMODEM计算机或终端信道(传输线路)串行接口串行接口DTEDCEDTEDCE编程结构方式

接收数据缓冲器

发送数据缓冲器命令C/DRDWRCS端口选择和操作0010CPU从8251A接收数据寄存器读数据0100CPU向8251A发送数据缓冲器写数据1010CPU从8251A状态寄存器读状态1100CPU向8251A写控制字(先方式字寄存器、后命令字寄存器)XXX1数据总线悬空8251A读写操作端口选则表(1)方式选择字异步方式8086CPU与8251A的连接例子RS232C接口波特率发生器&G1A7,A6,A5D7-D0/G2A/G2BCBAA4M/IOA3A2A0A1RESET/RD/WR/Y0/CSC/DRESET/RD/WRTxRDYTxERxRDYBRKDETRxDTxD/RxC/TxC外设80868251A74LS138A7A6A5A4=1111时,M/IO=0且A3A2A1=000时8251A被选中。此时,当A1=1时,选中控制字A7-A0=11110010=F2H.A1=0时,选中数据口。A7-A0=11110000=F0H.同步方式0=内同步

1=外同步同步字符个数

0=双字符同步

1=单字符同步同步方式SCSESD(2)命令字(内同步)例:复位MOVDX,209HMOVAL,0OUTDX,ALMOVAL,40HOUTDX,AL(3)状态字(4)初始化编程流程方式方式命令8251与CPU的数据交换(1)查询方式在数据交换前应读取状态寄存器状态寄存器D0=1

CPU可以向8251数据端口写入数据,完成串行数据的发送;状态寄存器D1=1CPU可以从8251数据端口读出数据,完成一帧数据的接收。(2)中断方式8251没有单独的中断请求引脚

TxRDY引脚可以作为发送中断请求

RxRDY引脚可以作为接收中断请求收发均采用中断方式时TxRDY、RxRDY可以通过或门与系统总线的中断请求线连接在CPU响应中断转到ISP中时对状态寄存器进行查询以区分是发送中断还是接收中断(3)8251编程示例例:编写8251异步模式下的接收和发送程序,完成256个字符的发送和接收,设端口地址:208H,209H,波特率因子16,1起始位,1停止位,无奇偶校验,每字符8位。

LEADI,Buf1MOVDX,209HMOVAL,40H ;复位命令

OUTDX,ALMOVAL,01001110B ;方式选择字

MOVDX,ALMOVAL,00110111B ;工作命令字

OUTDX,ALMOVCX,256 ;发送256字节NEXT:MOVDX,209H ;状态字寄存器209HINAL,DX ;状态字

ANDAL,01H;TxRDY?

JZNEXTMOVAL,[DI]MOVDX,208H ;数据寄存器208HOUTDX,AL ;发送

INCDILOOPNEXT发送程序接收程序:接收256字节,放在buf2中ANDAL,02H;RXRDY?JZNEXTMOVDX,208HINAL,DX;接收1字符MOVbuf[SI],ALINCSILOOPNEXTDatasegmentbuf2DB256dup(?)Dataends┆MOVDX,209HMOVAL,40H;复位

OUTDX,ALMOVAL,01001110B;方式字

OUTDX,ALMOVAL,00110111B;命令字

OUTDX,ALMOVCX,256 ;接收256字节

MOVSI,0NEXT:MOVDX,209HINAL,DX;状态字10.3标准串行接口RS-232C串行接口

EIA-232F

只能进行点对点的通信串行通讯系统计算机MODEMMODEM计算机或终端信道(传输线路)串行接口串行接口DTEDCEDTEDCERS-232C

EIA推荐的标准串行接口应用于数据通信设备和数据终端设备之间的标准接口。

PC机中通常有两个COM1、COM2。RS-232接口机械特性

目前COM1、COM2均使用9针连接器。接口功能特性

DTE(数据终端设备)计算机或终端

DCE(数据通信设备)调制解调器或其他通信设备DTE准备就绪

DTRDCE准备就绪

DSR

清除已传送(允许发送)CTS

请求发送

RTS

接收数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论