第11章串行接口芯片8251A

上传人:E**** 文档编号:91544209 上传时间:2019-06-29 格式:PPT 页数:54 大小:450KB
返回 下载 相关 举报
第11章串行接口芯片8251A_第1页
第1页 / 共54页
第11章串行接口芯片8251A_第2页
第2页 / 共54页
第11章串行接口芯片8251A_第3页
第3页 / 共54页
第11章串行接口芯片8251A_第4页
第4页 / 共54页
第11章串行接口芯片8251A_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《第11章串行接口芯片8251A》由会员分享,可在线阅读,更多相关《第11章串行接口芯片8251A(54页珍藏版)》请在金锄头文库上搜索。

1、第11章 可编程串行接口芯片8251A,教学重点 串行通信基本概念 8251的内部结构和编程 异步通信程序 异步通信协议和RS232C接口,11-1 基本概念,11-1-1 串行通信的基本概念 1、串行通信 将数据分解成二进制位用一条信号线,一位一位顺序传送的方式 串行通信有以下的特点: 用于通信的线路少,因而在远距离通信时可以极大地降低成本 串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送 PC系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用串行数据传送,2. 传输制式,全双工,半双工,单工,示例,3、数据传输速率,数据传输速率也称比特率(Bit Rate) 每秒传

2、输的二进制位数bps 字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数 当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率(Baud Rate) 过去,串行异步通信的数据传输速率限制在50 bps到9600 bps之间。现在,可以达到115200 bps或更高,4. 发送/接收时钟,在异步串行通信中,发送端需要用一定频率的时钟来决定发送每l位数据所占的时间长度(称为位宽度),接收端也要用一定频率的时钟来测定每一位输入数据的位宽度。 在进行串行通信时,根据传送的波特率来确定发送时钟和接收时钟的频率。在异步传送中每发送一位数据的时间长度由发送时钟决定,每接收一位数据的时间长

3、度由接收时钟决定,它们和波特率之间有如下关系:时钟频率=n波特率,5. 串行通信的方式,串行通信按通信约定的格式分为两种:异步通信方式和同步通信方式。,5. 串行通信的方式,(1)同步通信 以一个数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束 同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂 串行同步通信主要应用在网络当中 最常使用高级数据链路控制协议HDLC,(2) 异步通信,串行通信时的数据、控制和状态信息都使用同一根信号线传送 收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题 串行异步通信以字符

4、为单位进行传输,其通信协议是起止式异步通信协议,起止式异步通信协议,起始位每个字符开始传送的标志,起始位采用逻辑0电平,数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送,校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位,停止位表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位,空闲位传送字符之间的逻辑1电平,表示没有进行传送,11-1-2 信号的调制与解调,调制(Modulating) 把数字信号转换为电话线路传送的模拟信号 解调(Demodulating) 将电话线路的模拟信号转换为数字信号 调制解调器MODEM 具有调制和解调功能的器件合制在一个装

5、置,示例,11-2 可编程串行接口芯片8251A,Intel 8251A是一种通用的同步异步接收发送器(USART)芯片。它作为一种外围器件,可通过编程选用某一种串行通信技术。8251A具有独立的发送器和接收器因此,它能够以单工、半双工或全双工方式进行通信,并且提供一些基本的控制信号,可以方便地与MODEM连接。,11-2-1 8251A的基本性能,(1)通信初始化程序可以工作在同步通信或异步通信方式。同步方式下,波特率为064Kbps;异步方式下,波特率为019.2Kbps。 (2)同步方式时,可设定为内同步或外同步两种做法,同步字符允许采用单同步字符和双同步字符,由用户选定。数据位可在58

6、位之间进行选择。 (3)异步方式时,数据位仍可在58位范围内选用,用1位作为奇偶校验位或不设置奇偶位。此外,8251A在异步方式下能自动为每个数据增加1位启动位及1位、1.5位或2位停止位(由初始化程序选择)。 (4)8251A具有奇偶校验、帧校验和溢出校验三种字符数据的校验方式,校验位的插入、检查和出错标志的建立均由芯片自动完成。 (5)8251A能与MODEM直接相连,接收和发送的数据均可存放在各自的缓冲器中,以便实现全双工通信。,11-2-2 8251A的基本结构 1. 8251A的内部结构,数据总线缓冲器是CPU与8251A之间的数据接口,它包含3个8位缓冲寄存器,其中两个寄存器分别用

7、来存放CPU从8251A读取的状态信息或数据,一个寄存器存放CPU向8251A写入的控制字或数据。数据总线缓冲器将8251A的8条数据线D7D0和CPU的系统数据总线相连。,作用:接收器接收在RxD上的串行数据并按规定的格式转换为并行数据,存放在接收数据缓冲器中。,RxD,异或门,内部CLK,DB,检测,奇偶检验结果,接收缓冲寄存器,接收移位寄存器,奇偶位,停止位 1,波 特 率,工作过程:(异步方式)当8251允许接收并准备好接收数据时,监测RxD端,当检测到起始位(低电平)后,使用16倍率的内部CLK,连续检测8个0确认。然后按波特率移位、检测RXD,直至停止位。内部删除起始、奇偶、停止位

8、接收缓冲寄存器后,使RxRDY为高,向CPU提出中断申请。,内部产生起始、奇偶检验、停止位,按约定的波特率从TxD输出。,数据发送缓冲器,波 特 率,发送移位寄存器,奇偶位,停止位 1,起始位,TXD SOUT,0,内部CLK,DB,CPU执行输出指令,并行数据发送缓冲器。,工作过程,发送缓冲器发送移位寄存器,向CPU提出中断申请(TxRDY=1)。,当数据全部输出结束,在TXD发出连续低电平(TxE=1)。,异或门,2. 8251A的引脚功能,8251A的引脚排列如下图所示,RxD(Receiver Data)接收数据:从RxD端 串行输入数据输入,RxRDY(Receiver Ready)

9、接收数据准备好:表示接收数据缓冲器已收到一个字符数据,CPU可采用中断或查询方式读取数据( RxRDY=0)。,SYNDET/BRKDET(Sync Detecte/Break Detece)同步检测/断点检测 同步方式(同步检测):在内同步方式,当8251检测到同步字符, SYNDET输出为高点平,表明8251A已处于同步状态。CPU执行一次读操作后, SYNDET自动复位;,异步方式(断点检测):当8251从RxD端连续收到两个由全“0”组成的字符时,该引脚输出为高电平,表示当前线路上无数据可读,只有当RxD端收到1个“1”信号或8251复位时, BRKDET变为低电平。,外同步方式: 当

10、SYNDET引脚有一个正跳变脉冲,8251在下一个接收时钟的上升沿开始接收字符,一旦达到同步, SYNDET引脚的高电平即可撤除。,TxE( Transmitter Empty)发送器空: TxE=1表示发送移位寄存器中已无数据可以向外部发送。此时,由TxD输出空闲位(同步字符)。当8251从CPU接收到一个数据后,TxE=“0”。,TxD(Transmitter Data)发送数据:将CPU送入的并行数据转换成串行格式后,从TxD端输出,TxRDY( Transmitter Ready)发送数据准备好: TxRDY=1表示发送数据缓冲器已准备好从CPU接收一个字符数据,CPU可采用中断或查询

11、方式输出一个数据( RxRDY=0)。,CLK:输入产生8251A的内部时序。CLK的频率在同步方式工作时必须大于接收器和发送器输入时钟频率的30倍;在异步方式工作时必须大于输入时钟的4.5倍。另外,规定CLK的周期要在0.421.35s的范围内。,DB7DB0:三态双向数据总线,可连到CPU数据总线。CPU与8251A之间的命令信息、数据以及状态信息都是通过这组数据总线传送的。,RESET:芯片复位信号。为高电平时8251A各寄存器处于复位状态。收、发线路上均处于空闲状态。通常该信号与系统的复位线相连。,CS:片选信号,低电平有效。由CPU的IO/及地址信号经译码后供给。,C/D:控制/数据

12、端。为高电平时CPU从数据总线读入的是状态信息;为低电平时CPU读入的是数据。同样,C/D端为高电平时CPU写入的是命令;C/D为低电平时CPU输出数据。C/D与CPU的一条地址线相连。,RD:CPU读8251A的控制信号,低有效,与CPU的RD端相连。,WR:CPU向8251A写数据的控制信号,低有效,与CPU的WR端相连。,在远程通信时,可用8251与调制解调器相连,经电话线传输数据,11-2-3 8251A的编程控制,8251A是可编程串行接口,在使用之前必须由程序对其工作状态进行设定(称为初始化),其中包括同步方式还是异步方式、传输波特率、字符代码位数、校验方式、停止位位数等。8251

13、A内部既有数据寄存器,还有控制字寄存器和状态寄存器。控制字寄存器用于8251A的方式控制和命令控制,状态寄存器则存放8251A的状态信息。,方式字:确定8251A的工作方式;(异步,波特率,字符长度,奇偶校验),1方式控制字,命令控制字用于控制8251A的工作,使8251A处于规定的状态以准备发送或接收数据,应在写入方式控制字后写入,,2命令控制字,1 使TxD线变低,发送空白字符 0 正常工作,3状态字,11-2-4 8251A的初始化和编程应用,1. 8251A的初始化,【例11.1】编制一个通过8251A查询方式接收数据的程序。要求8251A定义为异步传送方式,波特率系数为64,采用偶校

14、验,l位停止位,7位数据位,MOV DX,04A2H MOV AL,7BH ;写工作方式控制字 OUT DX,AL MOV AL,14H ;写操作命令控制字 OUT DX,AL LP: IN AL,DX ;读状态控制字 AND AL,02H ;检查RxRDY是否为1 JZ LP MOV DX,04A0H IN AL,DX,8251A和CPU的通信方式可以采用查询方式和中断方式实现,这两种方式的应用分析如下。,2. 8251A和CPU的通信方式,(1)查询方式:该方式的应用特点是发送数据的程序在初始化程序之后。,【例11.2】采用查询方式发送数据,假定要发送的字节数据放在TABLE开始的数据区,

15、且要发送的字节数据放在BX中,数据端口地址为04A0H,控制/状态寄存器端口地址为04A2H。发送数据的程序段设计如下:,START:MOV DX,04A2H LEA SI,TABLE WAIT: IN AL,DX TEST AL,04AH JZ WAIT PUSH DX MOV DX,04AOH LODSB OUT DX,AL POP DX DEC BX MOV DX,04A2H JNZ WAIT,【例11.3】下面是一个接收数据程序,假设接收后的数据送入DATA开始的数据存储区中。8251A各寄存器地址安排同上。,RECV: MOV SI,OFFSET DATA MOV DX,04A2H

16、WAIT: IN AL,DX ;读入状态寄存器 TEST AL,38H;检查是否有任何错误产生 JNZ ERROR ;有,转出错处理 TEST AL,01H ;否则检查数据是否准备好 JZ WAIT ;未准备好,继续等待检测 MOV DX,04AOH IN AL,DX ;否则接收一个字节 AND AL,7FH ;保留低7位 MOV SI,AL ;送数据缓冲区 INC SI MOV DX,04A2H JMP WAIT,8251A和CPU的通信方式可以采用查询方式和中断方式实现,这两种方式的应用分析如下。,2. 8251A和CPU的通信方式,(2)中断方式:利用中断方式可实现8251A和CPU的串行通信。,【

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号