《第8章 通用可编程接口课件》由会员分享,可在线阅读,更多相关《第8章 通用可编程接口课件(35页珍藏版)》请在金锄头文库上搜索。
1、第8章 通用可编程接口,1,本章主要教学内容 可编程接口芯片的基本概念 可编程DMA控制器8237A及其应用 定时/计数器芯片8253的编程结构与使用方法 并行接口芯片8255A的编程结构与使用方法 串行接口芯片8251的编程结构与使用方法,第8章 通用可编程接口,第8章 通用可编程接口,2,8.1 可编程DMA控制器8237A 微机系统中通常选用Intel公司的8237A集成器件作为DMA控制器,它有两种不同的工作状态:当DMA控制器取得总线控制权后,就可以进行DMA过程的数据传送,这种工作方式称为主态方式;DMA控制器未取得总线控制权时,CPU处于主控状态,DMA控制器只作为CPU的一个外
2、围设备,这种工作方式称为从态方式,第8章,通用可编程接口,第8章 通用可编程接口,3,8.1.1 8237A的内部结构及引脚 1. 8237A的内部结构 8237A有4个独立的DMA通道,使用单一的+5 V电源,其内部结构如图8-1所示,第8章,通用可编程接口,第8章 通用可编程接口,4,第8章,8237A的内部结构,图8-1,第8章 通用可编程接口,5,2. 8237A引脚功能 8237A芯片为40引脚双列直插式封装,引脚排列如图8-2所示,第8章,通用可编程接口,第8章 通用可编程接口,6,8.1.2 8237A的工作方式 8237A可以完成3种不同的传送:I/O接口到存储器的数据传送;存
3、储器到I/O接口的数据传送;存储器到存储器的数据传送。数据传送的工作方式有以下4种: 1. 单字节传送方式 每次进行DMA传送时只传送一个字节的数据,数据传送后字节计数器自动减1。传送完一个字节后8237A放弃系统总线,将总线控制权交回CPU。该方式下DRQ信号必须保持有效,通用可编程接口,第8章,第8章 通用可编程接口,7,2. 数据块传送方式 该传送方式下DMA控制器一旦获得总线控制权便开始连续传送数据。每传送一个字节后自动修改地址,并将要传送的字节数减1,直到所有规定的字节全部传送完毕,或收到外部信号才结束传送,将总线控制权交给CPU。 3. 请求传送方式 该方式下8237A可以进行连续
4、的数据传送,直到字节数计数器减到0或由外界送来一个有效的信号或外界的DRQ信号变为无效时才停止传送,第8章,通用可编程接口,第8章 通用可编程接口,8,4. 级联方式 可将多个8237A级联起来扩展系统中DMA通道数量。如图8-3所示。 8237A从片HRQ与HLDA信号与主片某通道的DREQ端和DACK端相接。主片传送从片DMA请求信号,CPU响应从片DREQ请求并输出DACK作为响应,此时主片输出信号除HRQ外都被禁止,第8章,通用可编程接口,第8章 通用可编程接口,9,8.1.3 8237A内部寄存器功能及格式 8237A的内部可编程寄存器的内容可由CPU读出或者按要求写入,主要有以下1
5、0个。 1. 当前地址寄存器 存放DMA传送的存储器地址值。 2. 当前字节计数寄存器 保存当前DMA传送的字节数。 3. 基地址寄存器 存放对应通道当前地址寄存器的初值。 4. 基字计数寄存器 存放对应通道当前字计数器的初值。 5. 命令寄存器 控制8237A的操作,第8章,通用可编程接口,第8章 通用可编程接口,10,第8章,6. 工作方式寄存器 指定DMA的操作类型、传送方式等。 7. 请求寄存器 由软件来启动DMA请求的设备。 8. 屏蔽寄存器 对8237A允许写入两种屏蔽字,可以使各屏蔽位置位或复位。 9. 状态寄存器 存放状态信息,可供CPU读出。 10. 暂存寄存器 在存储器至存
6、储器传送期间用来暂存从源地址单元读出的数据,通用可编程接口,第8章 通用可编程接口,11,第8章,11. 软件命令 8237A设置了3条软件命令,只要对某个地址进行写入操作就会自动执行清除功能。 (1)主清除命令 (2)清除字节指示器命令 (3)清除屏蔽寄存器命令,通用可编程接口,第8章 通用可编程接口,12,8.1.4 8237A的编程及应用 8237A的初始化编程: (1)输出主清除命令,8237A处于复位状态; (2)写工作方式寄存器,确定8237A的工作方式和传送类型; (3)写命令寄存器,控制8237A的工作; (4)输入相应通道当前地址寄存器和基地址寄存器的初始值; (5)输入当前
7、字节计数器和基字节寄存器的初始值; (6)写屏蔽寄存器; (7)写请求寄存器,通用可编程接口,第8章,第8章 通用可编程接口,13,8.2 可编程定时器/计数器接口芯片8253 8.2.1 8253的内部结构和引脚 1. 8253的内部结构 8253内部可分为数据总线缓冲器、读/写逻辑电路、控制寄存器及三个独立的功能相同的计数器0、计数器1和计数器2。其内部结构如图8-10所示,第8章,通用可编程接口,第8章 通用可编程接口,14,图8-10 8253的内部结构,第8章,第8章 通用可编程接口,15,2. 8253的引脚功能 8253采用双列直插DIP封装,有24个引脚,其引脚排列如图8-11
8、所示,第8章,通用可编程接口,第8章 通用可编程接口,16,8.2.2 8253的工作方式 8253芯片的每个计数通道都有6种工作方式可供选择。区分这6种工作方式的主要标志有3点:一是OUT端的输出波形不同;二是计数过程的启动方式不同;三是计数过程中门控信号GATE对计数操作产生的影响不同。 8253的6种工作方式功能、输出波形特点、触发性质等内容比较如表8-2所示,第8章,通用可编程接口,第8章 通用可编程接口,17,第8章,表8-2 8253的6种工作方式比较,第8章 通用可编程接口,18,8.2.3 8253的初始化及编程 8253的控制字: 对8253芯片的初始化编程包括写入控制字和写
9、入计数值两方面,任一通道的控制字要从8253的控制口地址写入,控制哪个通道由控制字的D7D6位来决定。计数初始值经由各通道的端口地址写入,可以采用二进制或十进制来计数。 8253的控制字格式如图8-12所示,通用可编程接口,第8章,第8章 通用可编程接口,19,第8章,通用可编程接口,图8-12 8253的控制字格式,第8章 通用可编程接口,20,8.3 可编程并行接口芯片8255A 8.3.1 8255A内部结构及引脚特性 1. 8255A内部结构 8255A芯片的内部结构如图8-13所示,它包括4个部分:数据总线缓冲器;读写控制逻辑;A组和B组控制电路;端口A、B、C,通用可编程接口,第8
10、章,第8章 通用可编程接口,21,第8章,图8-13 8255A芯片的内部结构,第8章 通用可编程接口,22,通用可编程接口,2. 8255A引脚特性及其与外部的连接 8255A并行接口芯片有40条引脚,如图8-14所示。这40条引脚可分别与外设连接和与CPU连接,图8-14 8255A引脚图,第8章,第8章 通用可编程接口,23,8.3.2 8255A的控制字与工作方式 1. 8255A控制字 8255A通过编程可对芯片进行初始化,决定每个端口的工作方式和工作状态。8255A有两个控制字,即工作方式控制字和相对C口进行置位或复位的控制字。 (1)工作方式控制字 8255A的工作方式控制字格式
11、和各位的含义如图8-15所示,第8章,通用可编程接口,第8章 通用可编程接口,24,第8章,通用可编程接口,图8-15 8255A工作方式控制字格式,第8章 通用可编程接口,25,2)端口C的置位/复位控制字 实现对端口C的每一位进行控制。置位是使该位输出为“1”,复位是使该位输出为“0”。控制字的格式如图所示,第8章,通用可编程接口,第8章 通用可编程接口,26,2. 8255A工作方式 8255A有3种工作方式,端口A可以工作在方式0、方式1和方式2,端口B只能工作在方式0和方式1。 (1)方式0:基本输入/输出方式。 (2)方式1:选通输入/输出方式。 (3)方式2:双向选通输入/输出方
12、式,第8章,通用可编程接口,第8章 通用可编程接口,27,8.4 可编程串行通信接口芯片8251A 8.4.1 串行通信概述 串行通信是指数据一位一位地顺序传送,只占用一条传输线,通过专用的通信接口, 可将并行数据转换为串行数据。 串行通信节省传输线,多用在数据位数较多,传输距离较长的情况下。例如,将微型计算机的信息传送到远方的终端,或者传送到大型计算中心,常用通信线路(电话线)进行传送。 串行通信可分为异步传送和同步传送两种方式,第8章,通用可编程接口,第8章 通用可编程接口,28,8.4.2 8251A的内部结构及引脚功能 8251A是Intel公司生产的可编程串行接口芯片,通过编程可选择
13、工作在同步方式或异步方式。 1. 8251A的内部结构 8251A的内部结构如图8-19所示,由数据总线缓冲器、发送器、接收器、读写控制电路和调制解调器控制电路等组成,第8章,通用可编程接口,第8章 通用可编程接口,29,第8章,图8-19 8251A内部功能结构图,第8章 通用可编程接口,30,第8章,2. 8251A的引脚功能 8251A有28个引脚,其排列如图所示,通用可编程接口,第8章 通用可编程接口,31,第8章,3. 8251A内部寄存器 8251A内部有数据寄存器、控制字寄存器和状态寄存器。控制字寄存器用于8251A的方式控制和命令控制,状态寄存器则存放8251A的状态信息,通用
14、可编程接口,第8章 通用可编程接口,32,第8章,8.4.3 8251A的初始化及编程应用 1. 8251的初始化 8251A初始化在复位状态时开始,其过程为:首先输入方式控制字,以决定通信方式、数据位数、校验方式等,若是同步通信方式,紧接着输入一个或两个同步字符,若是异步方式,这一步可省略,最后送入命令控制字,就可以开始发送或接收数据了。 2. 8251A和CPU的通信方式 在初始化程序后,可以用查询方式来实现发送数据的功能,通用可编程接口,第8章 通用可编程接口,33,第8章,DMA控制器8237A有总线主模块和总线从模块两种不同的工作状态。在总线主模块下DMA控制器可以直接控制系统总线,
15、在总线从模块下和其他接口一样,接受CPU对它的读/写操作。8237A DMA控制器含有4个独立的DMA通道,可以用来实现内存到接口、接口到内存及内存到内存之间的高速数据传送。 8253接口芯片有定时和计数功能。内部包含3个16位计数器,每个计数器可按二进制或十进制计数,有6种工作方式,可通过编程选择。在不同的工作方式下,计数过程的启动方式、OUT端的输出波形都不一样,本章小结,第8章 通用可编程接口,34,8255A可编程并行接口芯片为外设提供3个8位并行接口,工作在三种工作方式,即方式0(基本的输入/输出工作方式)、方式1(选通的输入/输出方式)和方式2(双向选通输入/输出方式)。对8255A进行初始化编程时,通过向控制字寄存器写入方式选择控制字,可以让3个数据端口以用户需要的方式工作。 8251A可编程串行接口芯片为CPU提供并/串行转换功能,为外设提供串/并行转换功能。8251A内部有可编程寄存器,要采用片选信号、读/写控制信号进行译码。初始化时要设置传输波特率、停止位位数、校验位、数据位位数以及是否允许中断等。8251和CPU通信的方式主要有查询方式和中断方式,第8章,本章小结,第8章 通用可编程接口,35,第8章内容到此结束,谢谢各位