计算机原理教学指南第四版6[121页]课件.pptx

上传人(卖家):三亚风情 文档编号:3177594 上传时间:2022-07-28 格式:PPTX 页数:121 大小:1.42MB
下载 相关 举报
计算机原理教学指南第四版6[121页]课件.pptx_第1页
第1页 / 共121页
计算机原理教学指南第四版6[121页]课件.pptx_第2页
第2页 / 共121页
计算机原理教学指南第四版6[121页]课件.pptx_第3页
第3页 / 共121页
计算机原理教学指南第四版6[121页]课件.pptx_第4页
第4页 / 共121页
计算机原理教学指南第四版6[121页]课件.pptx_第5页
第5页 / 共121页
点击查看更多>>
资源描述

1、第第6章章 输入输出系统输入输出系统本章要点:掌握接口电路的基本作用和功能;掌握联络概念的普遍性和联络形式的特殊性;初步掌握接口电路的组成原理和控制程序的设计方法;掌握中断是一个过程的概念,理解中断处理的基本要点;了解高速外部设备采用DMA进行信息交换的基本过程;理解常用接口芯片的使用原则和控制方法。了解使用具有一定智能的I/O通道进行信息交换的基本原理;6.1概述输入和输出是构成计算机系统必不可少的部分。输入是处理器获取待处理信息的源头;输出是处理器按程序要求处理信息的表现。键盘和鼠标是输入设备,显示器是输出设备,他们之间是怎样沟通的,整个过程是怎样进行的,整个计算机系统是怎样协调工作的,这

2、些问题将在本章和下一章给予介绍。1输入目前计算机只能处理用二进制表示的信息,在实际应用中输入信息在表现形式上千差万别,但最终必须以二进制的形式提供给处理器。2输出显示器是常见的输出设备,可以显示文本、图形和图像,但处理器提供的是用二进制表示的信息,同样该信息也必须经接口电路的处理,才能显示。图6.1主机、总线、I/O接口和I/O设备的关系6.1.1接口的基本功能和结构1.I/O接口的基本功能不同时序间的同步功能不同信息格式的转换功能电气连接的匹配功能信息传输的缓冲功能设备选择功能中断处理功能可编程功能2I/O接口的基本结构由于I/O接口电路的一侧与各种各样的外围设备相连接,外围设备的多样性决定

3、了I/O接口电路的复杂性。I/O接口电路的另一侧与系统总线连接,由于均采用标准的逻辑电路,所以硬件的连接十分简单。图6.2给出了IO接口的基本结构,重点是其内部结构。图6.2 IO接口的基本结构数据输入寄存器数据输入寄存器用于暂存外围设备送往CPU的数据或在DMA方式下送往内存的数据。数据输出寄存器数据输出寄存器用于暂存CPU送往外围设备的数据或在DMA方式下内存送往外围设备的数据。状态寄存器状态寄存器用于保存I/O接口的状态信息。CPU通过对状态寄存器内容的读取和检测可以确定I/O接口的当前工作状态。控制寄存器控制寄存器用于存放CPU发出的控制命令字,以控制接口和设备所执行的动作,如对数据传

4、输方式、速率等参数的设定,数据传输的启动、停止等。中断控制逻辑当CPU与I/O接口以中断方式交换信息时,中断控制逻辑电路用于实现外围设备准备就绪时向 CPU发出中断请求信号,接收来自 CPU的中断响应信号以及提供相应的中断类型码等功能。6.1.2接口的地址及译码为了让CPU能够访问这些I/O端口,每个I/O端口都需有自己的端口地址(或端口号)。常见的I/O端口编址方式有两种,一种是I/O端口和存储器统一编址,也称存储器映像(Memory-Mapping)方式;另一种是I/O端口和存储器分开单独编址,也称I/O映像(I/O-Mapping)方式。I/O端口和存储器统一编址把整个存储地址空间的一部

5、分作为I/O设备的地址空间,给每个I/O端口分配一个存储器地址,把每个I/O端口看成一个存储器单元,纳入统一的存储器地址空间。这种编址方式的优点是:访问存储器的指令功能比较齐全,因而可以实现直接对I/O端口内的数据进行处理,而不必采取先把数据送入CPU寄存器等步骤。有利于改善程序效率,提高总的输入输出处理速度。这种编址方式也可使 CPU的I/O控制逻辑比较简单,其引脚数目也可以减少一些。这种编址方式的缺点是:使用户的存储地址空间相对减小。I/O端口和存储器单独编址这种编址方式的基本思想是,将I/O端口地址和存储器地址分开单独编址,各自形成完整的地址空间(两者的地址编号可以重叠)。指令系统中分别

6、设立面向存储器操作的指令和面向I/O操作的指令(IN指令和OUT指令),CPU使用专门的I/O指令来访问I/O端口。所以在这种编址方式下,存在着信息究竟是给谁的问题,是给存储器的,还是给I/O端口的。般是通过在CPU芯片上设置专门的控制信号线来解决。这种编址方式的优点是:第一,I/O端口不占用存储器地址,故不会减少用户的存储器地址空间;第二,单独I/O指令的地址码较短,地址译码方便,I/O指令短,执行速度快;第三,由于采用单独的I/O指令,所以在编制程序和阅读程序时容易与访问存储器型指令加以区别,使程序中I/O操作和其他操作层次清晰,便于理解。这种编址方式的缺点是:第一,单独I/O指令的功能有

7、限,只能对端口数据进行输入输出操作,不能直接进行移位、比较等其他操作;第二,由于采用了专用的I/O操作时序及I/O 控制信号线,因而增加了微处理器本身控制逻辑的复杂性。微处理机Z80系列、8086系列均采用了这种编址方式。3.I/O接口的地址分配由于不同的微机系统对I/O端口地址的分配并不完全相同,确切搞清系统中I/O接口地址的分配情况十分重要。哪些地址已被系统所占用(即已分配给了系统的某些设备接口),哪些地址是空闲的,可以为用户使用。尽管在理论上8088系统为用户提供了多达64K个端口地址,但在实际应用中往往集中在用A9-A0地址总线所表示的从0000H-03FFH范围内的1024个端口地址

8、。图6.3系统板I/O口地址使用图I/O端口地址范围硬件/接口适配器0000H-001FHDMA 控制器(8237)0020H-003FH中断控制器(8259A)0040H-005FH定时器/计数器(8253)0060H-007FH并行接口芯片(8255A)0080H-009FHDMA页面寄存器00A0H-00BFHNMI屏蔽寄存器00C0H01FFH未用图6.4扩充插槽I/O口地址使用图I/O端口地址范围硬件/接口适配器0200H-020FH游戏控制接口0210H-0217H扩展部件0218H-02F7H未用02F8H-02FFH异步通信(COM2)0300H-031FH实验卡(未用)032

9、0H-032FH硬盘卡0330H-0377H未用0378H-037FH并行打印机0380H-038FHSDLC通信卡0390H-03AFH未用03B0H-03BFH单显/打印机03C0H-03CFH未用03D0H-03DFH彩显/打印机03E0H-03EFH未用03F0H-03F7H软盘卡03F8H-03FFH异步通信(COM1)4.I/O端口的地址译码当执行I/O指令时,只能对选中的端口地址进行读写操作。任何一个接口电路卡的设计,都必须要有端口地址译码部分,端口地址译码的方法有多种,可以灵活地进行设计使用。端口地址译码电路的原理与存储器地址译码相同,在具体的表现形式上有些差异。输入端的信号也

10、是由二部分组成:一是地址总线的相关(A9A0)位;二是控制总线的相关控制信号(、)。IORIOW6.2.1 程序控制方式程序控制方式是指在程序控制下进行的信息传送方式。分为无条件传送和程序查询传送两种。无条件传送方式无条件传送方式是在假定外围设备已经准备好的情况下,直接利用输入指令(1N指令)或输出指令(OUT指令)与外围设备传送信息,而不去检测(查询)外围设备的工作状态。6.2 I/O控制方式图6.5无条件输入传送接口电路 程序查询传送方式程序查询传送方式也称条件传送方式。采用这种传送方式时,必须具有表示外围设备当前运行状态的硬件电路,并称之为状态端口,以便与CPU进行联络。条件输入传送接口

11、电路与无条件输入传送接口电路相比较,在形式多了一组输入端口,并且它的输出也与数据总线相联,但是经它所传出的“0”或“1”已经不是数值了,而是外围设备的状态。这里需要特别指出,一般情况一台外围设备只需要1位(bit)来说明其状态,这1位(bit)与数据总线的哪一位相连,则决定了编程时应对该位进行测试。例如,设有一输入端口,由数据端口POTR1和状态端口POTR2组成,其中状态端口POTR2的输出与数据总线的末位相连。用“1”表示输入数据准备好,查询程序如下:STATE:IN AL,POTR2 ;输入状态信息 TEST AL,01H ;测试“准备好”位 JZ STATE ;未准备好,继续查询 IN

12、 AL,POTR1 ;准备好,输入数据图6.6条件输入传送接口电路对于程序查询传送方式来说,一个信息传送过程可由三步完成:(1)CPU从接口中读取状态信息。(2)CPU检测状态字的对应位是否满足“就绪”条件,如果不满足,则回到前一步继续读取状态信息。(3)如果状态字表明外设已处于“就绪”状态,则传送信息。程序查询传送方式的程序流程图如图6.7和图6.8所示。图6.7 查询式输入程序流程图 图6.8 查询式输出程序流程图6.2.2 中断控制方式为了提高CPU的工作效率以及对实时系统的快速响应,产生了中断控制方式的信息交换。1.基本概念中断是一个过程。计算机是这样处理的,当有随机中断请求后,CPU

13、暂停执行现行程序,转去执行中断处理程序,为相应的随机事件服务,处理完毕后CPU恢复执行被暂停的现行程序。在这个过程中,应注意如下几方面:外部或内部的中断请求是随机的,若当前程序允许处理应立即响应。在内存中必须有处理该中断的处理程序。系统怎样能正确地由现行程序转去执行中断处理程序。当中断处理程序执行完毕后怎样能正确地返回。整个中断的处理过程就像子程序调用,但是本质的差异是调用的时间是随机的,调用的形式是不同的。图6.9 子程序调用过程 图6.10中断的执行过程p中断有两个重要特征:程序切换(控制权的转移)和随机性。中断方式的典型应用 管理IO设备处理突发故障 实时处理系统调度人机对话多机通信指令

14、中断 中断源与中断向量中断源引起中断的原因或来源称为中断源 来自CPU的内部称为内部中断(源)来自CPU的外部称为外部中断(源)此外还有一类较特殊的中断源(软件运行中也可能发生意外的故障或指令中断),即软中断,它也是内中断的一种。非屏蔽中断与可屏蔽中断在CPU内部往往有一个“中断允许标志位”IF,相应地将中断源分为两类:一类不受IF控制,称为非屏蔽中断,只要有非屏蔽中断产生,CPU可立即响应,与IF状态无关。另一类中断源受IF控制,称为可屏蔽中断。若IF=l,称为开中断状态,即CPU允许中断,此时若有可屏蔽中断产生,则CPU能够响应。若IF=0,称为关中断状态,对于可屏蔽中断请求CPU不响应。

15、图6.11 8088系统的中断分类 中断向量所谓向量,就是具有方向的量。该“方向”的起点是中断源,终点是与之对应的中断服务程序。由于中断源的数量多且种类杂,而且,中断服务程序在内存中的位置也不同,为此采用了事先将所有中断服务程序的入口地址(中断向量)存于表内。图6.12 8088系统的中断向量表地址(十六进制)16位类型码(十进制)说明0000:0000HIP0除数为0中断CS0000:0004HIP1单步中断CS0000:0008HIP2非屏蔽中断CS0000:000CHIP3断点中断CS0000:0010HIP4溢出中断CS0000:0014HIP5保留的中断(共27个)CSIP31000

16、0:007FHCS0000:0080H32用户可定义的中断(共224个)0000:03FFH255中断优先级和中断嵌套当有若干个中断源同时发出中断请求,CPU怎么办?肯定不会同时处理,那么处理的先后顺序如何确定,也就是如何确定中断优先级的问题。当CPU正在执行优先级较低的中断服务程序时,允许响应比它优先级高的中断请求,而将正在处理的中断暂时挂起,这就是中断的嵌套。6.2.3直接存储器存取(DMA)方式介绍它的基本思想是:通过硬件控制实现主存与IO设备间的直接数据传送,在传送过程中无需(CPU)程序干预。DMA方式是为了在主存储器与IO设备间进行高速交换批量数据而设置的。硬件结构DMA控制器的作

17、用是,提供存储器地址、读/写控制信号等,当然也为外部设备提供必要的控制信号。如图6.17所示,图中虚线表示处于高阻状态。图6.17实现DMA方式结构示意图 简单的工作流程外部设备向DMA控制器提出DMA传送请求;DMA控制器向CPU发出使用总线请求;CPU若允许则回答DMA控制器可以使用总线;DMA控制器接管系统总线;DMA控制器向外部设备回送一个回答(允许交换数据);外部设备与存储器交换数据;DMA控制器撤销总线请求,CPU收回总线控制权。6.3串行通信数据在单条一位(bit)宽的传输线上按时间先后一位一位地传送,称为串行数据传送方式,常用于远距离传送。通信技术先于计算机技术,所以在计算机串

18、行通信中大量地使用了通信技术的名词术语和基础知识。6.3.1串行通信基本概念并行通信方式中,一个字节(8位)数据是在8条并行传输线上同时由源点传到终点。串行通信方式中,数据是在单条1位宽的传输线上一位接一位地顺序传送。串行通信方式中,一个字节的数据要通过同一条传输线分八次由低位到高位按顺序传送。图6.18(a)并行通信方式(b)串行通信方式 串行通信涉及的常用术语和基本概念单工、半双工和全双工1)单工(Simplex)它仅能进行一个方向的数据传送,即从设备A到设备B。因此,在单工数据通路中,A只能作为发送器,B只能作为接收器。2)半双工(Half Duplex)它能在设备A和设备B之间交替地进

19、行双向数据传送。3)全双工(Full Duplex)它能够在两个方向同时进行数据传送。图6.19单工、半双工和全双工数据通路数据传输率数据传输率即通信中每秒传输的二进制数位数(比特数),也称比特率,单位为bps(bit per second)。在数据通信领域还有另外一个描述数据传输率的常用术语波特率,即每秒传输的波特数。若每个符号所含信息量为l比特(bit),则波特率等于比特率。若每个符号所含信息量不等于1比特,则波特率不等于比特率。波特率是完成各种数字设备间串行通信的基础条件之一,实际应用时,设置波特率的环节是必不可少的。p在设计一个串行通信系统时,发送和接收双方的波特率必须一致,这是串行通

20、信协议中的重要内容之一。发送时钟和接收时钟在串行通信中,发送器需要用一定频率的时钟信号来决定发送的每一位数据所占用的时间长度。串行通信所传送的二进制数据序列在发送时,是以发送时钟作为数据位的划分界限;在接收时,是以接收时钟作为数据位的检测和采样定时。波特率因子假设发送(或接收)时钟频率为F,则F、波特率因子、波特率三者之间在数值上存在如下关系:F=波特率因子波特率例如,当F=9600Hz时,若波特率因子为16,则波特率为600bps;若波特率因子为32,则波特率为300bps。这就是说,当发送(或接收)时钟频率一定时,通过选择不同的波特率因子,即可得到不同的波特率。若发送和接收时钟频率不等时,

21、设发送时钟频率为F1、接收时钟频率为F2,且发送和接收双方的波特率必须一致,为了能保障正确地传递信息只有改变双方的波特率因子或调整时钟频率。结果必须满足:发送的波特率接收的波特率异步方式与同步方式为避免失步,需要有使发送和接收动作相互协调配合的措施。我们将这种协调发送和接收之间动作的措施称为“同步”。数据传输的同步方式有以下两种:1)异步方式异步方式又称起止同步方式。这是在计算机通信中最常用的一种数据信息传输方式。串行异步传送的数据格式如图6.20所示。图6.20串行异步传送的数据格式它用一个起始位表示字符的开始,用停止位表示字符的结束构成一帧,起始位占用一位,且恒为“0”。字符编码为n位(n

22、为所采用编码的长度),第n+1位为奇、偶校验位,加上这一位使字符中为“1”的位为奇数(或偶数),停止位(恒为“1”)可以是一位、一位半或两位。在异同步数据传送中,在发送与接收双方的CPU与外设之间必须有两项规定(协议):字符格式是否使用校验,若使用应确定奇偶校验形式,以及起始位和停止位长度的规定。波特率波特率即数据传送速率的规定,对于CPU与外界的通讯是很重要的,假如数据传送率是120字符秒,而每一个字符如上规定包含10个数据位,则传送的波特率为:10120=1200/秒=1200波特 2)同步传送 在异步传送中,每一个字符要用起始位和停止位作为字符开始和结束的标志,占用了时间,所以,在数据块

23、传送时,为了提高速度,就去掉这些标志,采用同步传送。在数据块开始处就要用同步字符来指示,如图6.21所示。同步传送的速度高于异步的,通常为几十几百千波特。但它要求有时钟来实现发送端与接收端之间的同步,因而硬件复杂。图6.21串行同步传送的数据格式6.3.2串行通信接口标准大多数微型机串行通信接口均采用EIA RS-232标准,在描述它时文件中正式名称是,在数据终端设备和数据通信设备之间进行串行二进制数据交换的接口(Interface Between Data Terminal Equipment and Data Communication Equipment Employing Serial

24、 Binary Data Interchange);将数据终端设备(DTE Data Terminal Equipment)看作“计算机设备”;数据通信设备(DCE Data Communication Equipment)分别看作“调制解调器”。1.接口电路的功能描述RS-232功能直接分成数据功能和控制功能;数据功能十分简单,就是引脚2的发送器和引脚3的接收器,只有这两个引脚通过数据流;其余全部功能都是控制功能。在表6.1中分别给出了三种连接器,即EIA/TIA-232-E(25个引脚);EIA/TIA-574(9个引脚);EIA/TIA-561(8个引脚,也就是RJ-45连接器)2.电信

25、号特性速率和功率RS-232的标准允许速率在0-20000bps之间变化。在大多数设置中,数据速率限定在19200 bps内,在此数据速率下电缆的长度不应超过15米。接口必须在任何时候都能承受它的任意两个引脚发生短路而不使设备受到损坏。在这种情况下,要求电源不得超过0.5安培。逻辑电平RS-232标准指明了双极性逻辑电平,即逻辑电平由电压幅值和极性共同描述。任何电路允许的最大电压为土15V。RS-232标准实际上定义了四种逻辑电平。输入与输出电平的定义不同,数据功能,即发送数据(引脚2)和接收数据(引脚3)与控制功能不同,图6.22给出了RS-232输入输出的逻辑电平的定义。图6.22 RS-

26、232输入输出的逻辑电平定义(3)RS-232电平转换 因为RS232电压和逻辑电平通常不用于计算机电路,所以需要电平转换。完成这个功能的专门集成电路称为“EIA(RS232)线路驱动器”以及“线路接收器”。基于这些设备通常就是倒相器,为保证系统的逻辑正确,异步IO控制电路(UART)除了发送和接收数据端外的(由于在发送和接收数据的过程中经历了两次倒相)其它控制的输入和输出应该倒相。如图6.22所示。6.3.3 通用串行总线(USB)1.什么是USBUSB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。USB设备之所以会被大量应用,主要具有以下优点:速度快。可

27、以热插拔。无须外接电源。标准统一。扩充能力强。物理接口电气特性USB总线中的传输介质由一根4线的电缆组成如图6.27,其中两条用于提供设备工作所需的电源;另外两条用于传输数据。信号线的特性阻抗为90,而信号是利用差模方式送入信号线的。利用这种差模传输方式,接收端的灵敏度不低于200mV。图6.27 USB电缆机械特性每个USB设备都有“上行”(A系列)和“下行”(B系列)连接端口,这两种端口在机械方面并不是可以互换的,以便消除非法连接。一条电缆拥有四根导线:一对具有28AWG规格的双绞信号线(数据线),和一对在允许的规格范围内的非双绞线(电源线对)。为了便于区分,这四根导线分别选用不同的颜色,

28、其中电源VBus为红色(1脚),电源地GND为黑色(4脚),D数据线为绿色(3脚),D数据线为白色(2脚)。图6.28两种常见的USB连接器USB接口为了便于说明USB接口的逻辑功能,给出图6.29 图6.29USB接口示意图6.4可编程串行通信接口电路 6.4.1 概述 随着大规模集成电路技术的发展,多种通用的可编程同步和异步接口片USART(Universal Synchronous Asynchronous ReceiverTransmitter)被推出,典型的芯片有National 的8250/16450、Motorola的ACIA、Intel的8251A和Zilog 的Z80SIO等

29、。虽然它们有各自的特点,但就其基本功能结构来说是类似的。1.结构 这类接口片通常均包括接收和发送两部分。发送部分:能接收与暂存由CPU并行输出的数据。在异步方式时,通过移位寄存器变为串行数据格式并添加上起始位、奇偶校验位及停止位,由一条数据线发送出去;在同步方式时,能自动插入同步字符。接收部分:异步方式时,能把接收到的数据去掉起始位、停止位,检查有无奇偶错,然后经过移位寄存器变为并行格式后,送至接收缓冲寄存器,以便CPU用输入指令(IN指令)取走;同步方式时,能够自动识别同步字符。这类接口片还必须有控制与状态部分,通过它们一方面可以实现片内控制以及向外设发出控制信号的功能,另一方面还能提供接口

30、的工作状态以供CPU检测。2.初始化 接口片的功能可以通过程序预先给予选择和确定,即接口片的初始化。对于串行接口片,初始化程序通常要涉及如下几方面的问题:(1)同步还是异步方式。(2)字符格式。(3)时钟脉冲频率与波特率的比例系数。(4)有关命令位的确定。6.4.2 825lA可编程串行通信接口 下面我们以Intel 825lA为例,具体介绍实际的可编程串行通信接口芯片的功能及使用方法。1.8251A的基本功能和特性可用于同步和异步传送。同步传送:58位字符;内部或外部同步;可自动插入同步字符。异步传送:58位字符;时钟速率为波特率的1,16或64倍;可产生中止字符(Break Charact

31、er);可产生l,1.5或2位的停止位;可检测假起始位;自动检测和处理中止字符。波特率:064K(同步);019.2K(异步)。全双工,双缓冲器发送和接收。出错检测:具有奇偶、溢出和帧错等检测电路。全部输入输出与TTL电平兼容;单一的+5V电源;单一TTL电平时钟;28脚双列直插式封装。2.8251A的引脚图 8251A芯片共有28条输入输出引脚,引脚分配如图6.30所示。图6.30 8251A引脚图3.8251A方块图及工作原理8251A内部结构方块图如图6.31所示。图6.31 8251A内部结构方块图 由图6.31可以看出,8251A主要由5个部分组成:接收器(含接收控制电路及接收缓冲器

32、)、发送器(含发送控制电路及发送缓冲器)、数据总线缓冲器、读写控制逻辑电路及调制解调控制电路。各部分之间通过内部数据总线相互联系与通信。Modem(调制解调)控制8251A有一组控制输入和输出,可以用来简化几乎任何的Modem接口,Modem控制信号在性质上是通用的;若需要,可以用于非Modem控制的其它功能。即当使用Modem时825lA提供、信息作为Modem的控制及状态信号。若不使用Modem,这些信号可作为通信的握手(联络)信号。DSRDTRRTSCTS(数据设备就绪:DEC Ready)输入状态可以由CPU通过读状态操作来测试。(数据终端就绪:TDE Ready)输出信号可以通过编程

33、设置命令字中的相应位而置成低电平。(请求发送)输出信号可以通过编程设置命令字中的相应位而置成低电平。(允许发送)如果命令字中的TXEN位已置成“1”,则该输入端的低电平能使825lA串行地发送数据。记住这一点非常重要。DSRDSRDTRDTRRTSRTSCTS 接收器接收器实现有关接收的所有工作。它接收在RxD引脚上出现的串行数据并按规定格式转换成并行数据,存放在接收缓冲器中,以待CPU来取走。在8251A工作于异步方式并被启动接收数据时,接收器不断采样RxD线上的电平变化。具体地说,就是每隔16个时钟脉冲,采样一次RxD(见图7.30),图6.32 串行异步接收的采样情形 发送缓冲器TxRD

34、Y(发送器就绪)该输出告知CPU发送器已准备好接收字符。它可以用作向CPU请求中断的信号,或者由CPU使用状态读操作检测它以进行查询操作。TxE(发送缓冲器空)当825iA没有字符发送时,TxE输出将为高电平,一旦从CPU接收到字符,它又自动复位。在同步模式中,该输出的高电平以表示字符还未装入,并自动发送作为“填充”的同步字符。数据缓冲器它是一个8位的双向缓冲器,三态输出,它是825lA与系统数据总线的接口,数据,控制命令及信息均通过此接口传送。读写控制逻辑它接收来自CPU的控制信号及控制命令字(包括工作方式指令和控制方式指令),控制825lA其余各组成部分的正常工作。表7.2 8251A读写

35、操作真值表表6.2 8251A读写操作真值表C/功 能0001CPU从8251A读数据0101CPU从8251A读状态0010CPU写数据到8251A0110CPU写命令到8251A0X118251A数据总线三态1XXX8251A数据总线三态CSDRDWR4.825lA的程序设置 综述控制寄存器写入方式字和命令字。方式字是设定通信方式与通信条件;命令字是确定通信中控制线的控制等。加电时用硬件复位,825lA控制寄存器为读取命令字状态。825lA方式字与命令字各位意义如图6.33和图6.34所示。图6.33825lA的方式字图6.34825lA的命令字再次改写方式字时,必须送复位命令,方法是可以

36、在825lA操作期间的数据块的任何时刻写入825lA,命令中提供1位(D6),使该位置位将引起825lA的内部复位操作,从而可以不用外部复位操作,来实现对方式字的重新设置。这些控制寄存器的使用如图6.35所示。8251A工作时由编程使其初始化,然后查看状态寄存器,如图6.36所示,把数据写入寄存器或者从数据寄存器中读取数据,即可进行通信。图6.35825lA控制寄存器的使用 图6.36825lA的状态字p值得注意的是,向8251A写入命令是对发送数据命令缓冲寄存器写入方式字、同步字符和命令字,对此缓冲器写入命令时,要严格遵守下列顺序:p同步方式的顺序为,方式字同步字符命令字;p异步方式的顺序为

37、,方式字命令字。编程举例1)异步方式下的初始化编程举例 方式选择控制字的设定。例如,设定8251A工作于异步方式,波特率因子为64,每字符7个数据位,偶校验,2位停止位,则方式选择控制字为:11111011B(0FBH)。操作命令控制字的设定。例如,使825lA的发送器允许,接收器允许,使状态寄存器中的3个错误标志位复位,使数据终端准备好信号正输出低电平(有效),则操作命令控制字为:00010111B(17H)。本例的初始化程序如下:MOV AL,0FBH ;输出方式选择字,使 8251A工作于异步方式,波特率因子为64OUT 51H,AL ;每字符7个数据位,偶校验,2位停止位MOVAL,1

38、7H;输出操作命令字,使发送器允许,接收器允许,使错误标志复位OUT 51H,AL ;使 输出有效信号DTR2)同步方式下的初始化编程举例825lA工作于同步方式下的初始化编程应为:首先输出方式选择字(同步方式),00111000B(38H)然后紧接着输出一个同步字符(单同步)或两个字符(双同步),本例设定为16H 最后输出操作命令字,10010111B(97H)它使825lA的发送器允许,接收器允许,使状态寄存器中的3个错误标志位复位,开始搜索同步字符,并通知调制解调器,数据终端设备已准备就绪。本例的初始化程序如下:MOV AL,38H;输出方式选择字OUT 51H,AL ;偶校验,每字符7

39、个数据位MOVAL,16H OUT 51H,AL;连续输出两个同步字符 OUT 51H,AL MOV AL,97H;输出操作命令字 OUT 51H,AL;开始搜索同步字符,并输出DTR有效信号 5.8251A的应用举例图6.37 利用8251A进行双机通信硬件连接图 6.5 并行通信 6.5.1 简单的并行输入与输出接口1.并行输入 并行输入接口电路是由两部分组成,一部分是三态门组成的数据传送通路,一端与系统总线相连,另一端与外部设备相接;另一部分是地址译码组成的控制电路。如图6.38所示 图6.38并行输入接口电路2.并行输出图6.39并行输出接口电路6.5.2并行通信接口8255A1.概述

40、8255A是可编程的通用并行输入/输出接口电路,是一片使用单一+5V电源的40脚的双列直插式大规模集成电路。内部结构框图如图6.40所示,它由三部分组成,即CPU接口、内部逻辑与外设接口部分。CPU接口部分有数据总线缓冲器和读写控制逻辑,数据总线缓冲器是一个8位双向三态缓冲器,三态控制是由读写控制逻辑控制的。读写控制逻辑与CPU的6根控制线相连接,控制8255A内部的各种操作。图6.40 8255A内部结构框图图6.41 8255A引脚图外设接口部分的三个端口A、B和C,经24根输入/输出端口线用来和外部设备相连接。引脚图如图6.41所示。(1)8255A的特点输入输出端口功能全部由程序选择8

41、255A有三个8位的输入输出端口,即端口A、端口B和端口C。每个端口都有自己的特点。8255A有三种工作方式,即方式0、方式1和方式2。C口可以进行位操作,可用来“置位”或“复位”。单电源+5V工作 若采用CMOS产品,例如82C55A,工作电源可以为36V。(2)端口寻址8255A中有三个输入输出端口,另外,内部还有一个控制字寄存器,共有四个端口,要有两个输入端来加以选择。这两个输入端通常接到地址总线的最低两位A0和A1。A0、A1和 、及 组合所实现的各种功能,如表6.3所示。RDWRCS表6.3 8255A端口选择表CSRDWRA0A1功能00001端口A-数据总线输入操作(读)0010

42、1端口B数据总线01001端口C数据总线00010数据总线端口A输出操作(写)00110数据总线端口B01010数据总线端口C01110数据总线控制字寄存器01101非法状态断开功能0XX11数据总线三态1XXXX数据总线三态2.8255A的工作方式介绍 8255A有三种基本的工作方式:方式0、方式1和方式2;A组三种方式都具有;而B组只有方式0和方式1两种;8255A的工作方式由控制寄存的内容决定。(1)方式0 这是一种基本的I/O方式。在这种工作方式下,三个端口都可由程序选定作输入或输出。如图6.42所示。图6.42 8255A工作方式0它们的输出是锁存的,输入是不锁存的。在这种工作方式下

43、,可以由CPU用简单的输入或输出指令来进行读或写。因而当方式0用于无条件传送方式的接口电路时是十分简单的,这时不需要状态端口,三个端口都可作为数据端口。方式0也可作为查询式输入或输出的接口电路,此时端口A和B分别可作为一个数据端口,而取端口C的某些位作为这两个数据端口的控制和状态信息。(2)方式1这是一种选通的IO方式。它将三个端口分为A、B两组,端口A和端口C中的PC3、PC5或PC3、PC6、PC7三位为一组,端口B和端口C的PC2PC0三位为一组。端口C中余下的两位,仍可作为输入或输出用,由方式控制字中的D3来设定。端口A和B都可以由程序设定为输入或输出。此时端口C的某些位作为控制状态信

44、号,用于联络和中断,其各位的功能是固定的,不能用程序改变。1)方式1输入方式1输入的状态控制信号及其时序关系如图7.41所示。各控制信号的作用及意义如下:(strobe):选通信号,低电平有效。IBF(input buffer full);输入缓冲器满信号,高电平有效。INTR(interrupt request):中断请求信号,高电平有效。INTE(interrupt enable):中断允许信号。STB图6.43方式1输入2)方式1输出 方式1输出的状态控制信号及其时序关系如图6.44所示。各控制信号的作用及意义如下:(Output Buffer Full):输出缓冲器满信号,低电平有效。

45、(acknowledge):这是外设发出的响应信号,低电平有效。INTR:中断请求信号,高电平有效。INTEA:由PC6的置位复位控制。而INTEB由PC2置位复位控制。OBFACK图6.44 方式1输出(3)方式2这种工作方式,使外设可在单一的8位数据总线上,分时地发送/接收数据(双向总线IO);方式2只限于A组使用,它用双向总线端口A和控制端口C中的5位进行操作;此时,端口B可用于方式0或方式1。端口C的其他三位作IO用或作端口B控制状态信号线用。方式2控制字和状态控制信号如图6.45所示,各信号的作用及意义与方式1相同。图6.45方式23.8255A的控制字8255A的控制字分为两种:一

46、种是各端口的“方式选择控制字”,它可以使8255A的三个端口工作于不同的操作方式。另一种控制字是“端口C置1置0控制字”,它可以使端口C中的任何一位置“1”或置“0”。控制字的最高位(D7位)是上述两种控制字的标识位。(1)方式选择控制字(如图6.46所示)图6.46 方式选择控制字假定我们要求8255A的各个端口工作于如下方式:端口A方式0,输出;端口B方式0,输入;端口C的高4位方式0,输出;端口C的低4位方式0,输入。相应的方式选择控制字应为10000011B(83H)设在8086系统中8255A控制口的地址为D6H,则执行如下两条指令即可实现上述工作方式的设定:MOV AL,83HOU

47、T 0D6H,AL;将方式选择控制字写入控制口。(2)端口C置1置0控制字可以用专门的控制字实现对端口C按位单独置1置0操作,用于产生所需的控制功能,这种控制字就是“端口C置1置0控制字”。该控制字的具体格式如图6.47所示。图6.47端口C按位置1置0控制字需要指出的是,端口C置10置。控制字是对端口C的操作控制信息,因此该控制字必须写入控制口,而不应写入端口C。控制字的D0位决定是置“1”操作还是置“0”操作,但究竟是对端口C的哪一位进行操作,则决定于控制字中的D3、D2、D1位。本章小结 本章介绍了输入输出系统的作用、结构和基本工作原理。首先介绍了I0接口的基本功能和基本结构,然后介绍了接口的地址和译码方法。tO端口地址有两种编址方法,即单独编址和统一编址。Io控制方式包括程序控制方式、中断控制方式和DMA方式。还介绍了中断的基本概念和过程以及8259A、8251A、8255A等芯片的工作原理和使用方法。最后介绍了串行通信及并行通信的基本概念和工作原理,重点介绍了串行通信的技术规范和串行接口电路的结构,井通过实例介绍8251A的使用方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(计算机原理教学指南第四版6[121页]课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|