第8章 输入输出接口_第1页
第8章 输入输出接口_第2页
第8章 输入输出接口_第3页
第8章 输入输出接口_第4页
第8章 输入输出接口_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

输入/输出接口

8

章8.1概述

8.1.1基本概念

8.1.2输入/输出端口寻址8.2主机与外设的数据传送方式

8.2.1程序查询方式

8.2.2程序中断方式

8.2.3DMA方式的数据传输

8.3可编程接口芯片

8.3.1计数器和定时器Intel82538.3.2并行接口芯片82558.3.3串行接口标准RS-232C

8.4模拟量输入/输出接口

8.4.1Intel8253基本工作原理

8.4.2数模(D/A)转换器

8.4.3模数(A/D)转换器

掌握几种数据传送方式的工作过程;掌握8253和8255的内部结构及初始化编程;掌握8237的内部结构和工作方式;了解模拟量输入和输出的一些基本概念.教学要求第8.1节概述概述8.1.1基本概念

教学进程8.1CPU接口外设控制数据状态系统总线I/O接口包含多个存放数据、状态和控制信息的寄存器,分别以端口地址标识。数据的输入/输出是通过I/O端口实现的。80x86系统通过I/O指令实现对I/O端口的读写。2.接口与端口的关系CPU外设系统总线数据信息状态信息控制信息1.外部设备的信号概述8.1.1基本概念

8.1I/O端口与存储器统一编址把内存的一部分地址分配给I/O端口,一个8位端口占用一个内存单元地址;

不设置专门的I/O指令;

I/O端口独立编址内存储器和I/O端口各自有自己独立的地址空间;访问I/O端口需要专门的I/O指令(如8086CPU)优点:使用方便,降低CPU电路的复杂性;缺点:减少了内存可用范围;难以区分访问内存和I/O的指令,降低了程序的可读性和可维护性;8.1.2输入/输出端口寻址

8.1.2输入/输出端口寻址

教学进程输入指令格式功能1INAL,PORT(PORT)→AL2INAL,DX([DX])→AL3IN

AX,PORT(PORT+1;PORT)→AX4INAX,DX([DX]+1;[DX])→AX指令格式:IN累加器,PORT功能:把外设端口(PORT)的内容传送给累加器。8.1.2输入/输出端口寻址

教学进程输出指令

格式功能1OUTPORT,AL

(AL)→PORT2OUT DX,AL

(AL)→[DX]3OUTPORT,AX

(AX)→PORT+1;PORT4OUT DX,AX

(AX)→[DX]+1;[DX]指令格式:OUTPORT,累加器功能:把累加器的内容传送给外设端口。第8.2节主机与外设的数据传送方式主机与外设的数据传送方式根据外部设备性质的不同,程序控制方式可分为:8.2.1程序查询方式在程序执行输入/输出指令时,无条件地执行指令相应的操作。无条件传送方式查询工作方式程序不断地询间外部设备的状态,并根据它们当前的状态来实现数据的输入和输出。教学进程8.28.2.1程序查询方式CPU接口外设控制数据状态系统总线

查询方式下的系统构成示意图教学进程工作过程①查询外部设备的状态(利用输入指令)②检测相应的状态位读入的状态字(视机器字长而定)。③如没准备好,则等待,重复①②步骤;否则CPU就执行预定的数据传送。④若为读操作,则在数据读入后,CPU向外设发响应信号,表示数据已被接收,外设收到信号后开始准备下一数据;

若为写操作,CPU在向外设送出数据的同时发出输出就绪信号,用来通知外设已送来数据,外设接收数据后,向CPU发出数据已收到状态信息。⑤在一次数据传送结束后,与数据长度计数器值的比较来判断数据是否传送完毕。若没有结束,则重复以上各步骤。教学进程

8.2.1程序查询方式CPU不断地询问外设是否准备好:如果准备好,CPU执行IO操作;否则,CPU一直等待。CPU大部分时间处于等待状态,利用率不高。⑴查询环节寻址状态口读取状态寄存器的标志位若不就绪就继续查询,直至就绪⑵传送环节寻址数据口通过输入指令从数据端口读入数据通过输出指令向数据端口输出数据输入状态就绪?数据交换YN流程

8.2.1程序查询方式查询传送流程返回8.2.2程序中断方式

●中断响应——系统中某些突发的或异常的情况发生,强迫CPU暂停(或中断)正在执行的程序而转去进行相应的服务,并在服务结束后回到原来被中断的地方继续执行原来的程序。

●处理过程——CPU并不主动介入外设的数据传输工作,而是由外部设备在需要进行数据传送时向CPU发出中断请求,CPU在接到请求后,若条件允许,则暂停(或中断)正在进行的工作而转去对该外设服务,并在服务结束后回到原来被中断的地方继续原来的工作。中断响应和处理过程教学进程断点主程序中断服务程序中断请求对外设进行处理继续执行返回断点

CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序。流程8.2.2程序中断方式中断响应和处理过程中断传送流程返回8.2.3

DMA方式的数据传输利用中断进行信息传送,可以大大提高CPU的利用率,但是其传送过程必须由CPU进行监控。每次中断,额外的操作会占用CPU时间。如果需要在内存的不同区域之间,或者在内存与外设端口之间进行大量信息快速传送的话,用查询或中断方式均不能满足速度上的要求,DMA(DirectMemoryAccess)直接数据传送:它是在在内存与高速外设之间直接进行成组的数据传送,而不经过CPU中转的一种数据传送方式,可以大大提高信息的传送速度。基本思想教学进程

DMA传送流程HLDA发存储器地址传送数据传送结束?DMA结束修改地址指针流程DMA传送流程返回第8.3节可编程接口芯片可编程接口芯片

●定时信号三种方法获得8.3.1

计数器和定时器Intel8253

1.计数器/定时器接口电路通过计算机执行一段程序实现定时,常写成子程序形式,被称为延时子程序。软件定时主要指用元器件搭成的延时电路。不可编程的硬件定时由一种专用芯片——可编程计数器/定时器作为主要硬件,在简单的程序控制下,能产生准确的时间延迟。可编程的硬件定时教学进程8.38.3.1

2.8253内部结构及外部引脚计数器和定时器Intel8253教学进程可编程计数器/定时器具有两种功能:计数器定时器

●计数器时,在减到“0”之后输出一个信号,此次计数过程便结束了;●作为定时器时,在减到“0”之后输出一个信号,接着自动重装计数初值开始下一个周期的定时,如此连续不断地产生信号。两者的主要差别是:8.3.1

D7~D0计数器0控制字寄存器计数器1计数器2数据总线缓冲器读/写逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2内部总线计数器和定时器Intel8253●

(1)8253的内部结构教学进程可初始化编程和工作方式

初始化编程注意:对计数器设置计数初始值前必须先将控制字写入。初始值设置时,要符合控制字中的格式规定。是只写低字节,还是只写高字节,或者是先写低字节,后写高字节。

8.3.1计数器和定时器Intel8253教学进程3.分类:一是读出命令,用来读取计数器的当前值;一是写入命令,包括写入控制字、计数初值和锁存命令。●

(1)8253初始化编程0:二进制

1:BCD计数000:方式0001:方式1010:方式2×11:方式3100:方式4101:方式5计数器选择00:计数器001:计数器110:计数器211:不用读写操作00:锁定当前计数值01:读/写计数器低8位10:读写计数器高8位11:先读/写计数器低8位再读/写计数器高8位D7D6D5D4D3D2D1D0工作方式选择教学进程(1)8253初始化编程可初始化编程和工作方式

3.●

1)8253的控制命令控制字格式8.3.1计数器和定时器Intel8253

教学进程(1)8253初始化编程可初始化编程和工作方式

3.●

2)设置初值命令设置初值命令用来设置计数的初始值。根据在控制字中D5D4位的约定,计数初始值可以是8位,也可以是16位。若为16位,则要用两条输出指令完成计数初值的设定,先送低字节,后送高字节。8.3.1计数器和定时器Intel8253

教学进程(1)8253初始化编程可初始化编程和工作方式

3.●

3)锁存命令在工作过程中,读取计数值时必须先用锁存命令(控制字的

D5D4位为00时)将当前计数值在输出锁存器中锁定,之后再由CPU输入。否则,计数器的计数值有可能正处在改变过程中,就可能得到一个不确定的结果。

锁存命令一旦写入8253,输出锁存器即被锁定。而当CPU将锁定值用输入指令读取后,锁存器自动失锁,又跟随减法计数器工作。8.3.1计数器和定时器Intel8253

教学进程(2)可初始化编程和工作方式

3.8253工作方式方式0:计数结束中断

方式1:可重复触发的单稳态触发器

方式2:分频器

方式3:方波发生器

方式4:软件触发选通信号发生器

方式5:硬件触发选通信号发生器8.3.1计数器和定时器Intel8253

●根据对已知条件的分析,得到控制字各位的值如下:

选择通道0,D7D6=00

工作方式1,D3D2D1=001 BCD计数,D0=1

由于8086是16位数据线,采用16位传输,故令D5D4=11

所以控制字:33H8.3.1计数器和定时器Intel8253例:设在8086系统中有一片8253,其端口地址分配是:通道0为210H,通道1为212H,通道2为214H,控制端口为216H。要求对其通道0进行初始化,使其工作于方式1、BCD计数、计数初始值为100H。4.8253应用举例教学进程

MOV AL,33H ;控制字送ALMOV DX,216H

;控制口地址送DXOUT DX,AL ;向控制口写入控制字

MOV AL,00H

;低8位计数值是00HMOV DX,210H

;通道0端口地址送DXOUT DX,AL;向通道0写入计数初值的低8位

MOV AL,01H

;高8位计数值为01HOUT DX,AL ;向通道0写入计数初值的高8位教学进程其初始化程序段8.3.1计数器和定时器Intel82534.8253应用举例并行接口芯片8255

教学进程8.3.21.8255A的内部逻辑结构内部数据总线PC7~PC4

控制控制D7~D0

数据总线

缓冲器读写控制逻辑RDWRA1A0RESETCSPA7~PA0

PC3~PC0

PB7~PB0

A组端口A(8位)

A组端口C(4位)

B组端口C(4位)

B组端口B(8位)

A组

B组组成:

外设接口部分A组和B组控制电路读/写控制逻辑电路数据总线缓冲器8.3.2并行接口芯片82552.8255A的引脚及功能

教学进程1234567891011121314151617181920PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB24039383736353433323130292827262524232221PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB38255A8.3.2并行接口芯片8255教学进程PA7~PA0:端口A的数据线,双向、三态。PB7~PB0:端口B的数据线,双向、三态。PC7~PC0:端口C的数据线,双向、三态;D7~D0:数据线,双向、三态,与CPU的数据总线相连。RESET:复位信号,高电平有效。CS:片选信号,低电平有效。RD:读信号,低电平有效。WR:写信号,低电平有效。Al、A0:端口选择信号。2.8255A的引脚及功能

8255A端口选择表8.3.2并行接口芯片8255(l)方式选择控制字

8.3.2并行接口芯片8255

8255A的控制字教学进程3.1D6D5D4D3D2D1D0方式选择控制字标志00:方式001:方式11×:方式20:输出1:输入0:输出1:输入0:输出1:输入0:方式01:方式10:输出1:输入PC7~PC4PC3~PC0端口BB组方式选择端口AA组方式选择●控制字的格式●三种工作方式:方式0:基本的输入/输出方式方式1:选通的输入/输出方式方式2:双向传输方式8.3.2并行接口芯片8255端口A有三种工作方式,方式0、方式1或方式2;端口B有二种工作,方式0或方式1;端口C可作一般的输入/输出端口使用;可用于配合端口A和端口B的工作,为它们提供控制信号和状态信号。

由内部逻辑(A组和B组控制电路)将三个数据端口分为两组A组(端口A和端口C高4位PC7~PC4)B组(端口B和端口C低4位PC3~PC0)。8255A允许划为同一组的两个端口分别工作于输入状态和输出状态。教学进程

8255A的控制字3.8255A的方式选择控制字代码为10000011=83H,工作方式选择指令:

MOVAL,83H ;方式选择控制字送ALOUT0E6H,AL;方式选择控制字输出给8255A控制端口

[例]设在某8086系统中有一个8255A芯片,8255A的D7~D0接到8086CPU数据总线的低8位,8255A的A1、A0与分别接到CPU地址总线的A2、A1。若已知该芯片的四个端口地址分别为0E0H、0E2H、0E4H和0E6H,要求该8255A芯片工作在如下工作方式:端口A:方式0,输出

端口B:方式0,输入端口C高四位:输出

端口C低四位:输入教学进程

8255A的控制字3.8.3.2并行接口芯片8255(2)端口C置位/复位控制字

●端口C置位/复位控制字中,D7=0是它的标志位。D3、D2、D1位指明了对端口C哪一位进行操作,而D0位则指明对端口C相应位的操作是置“l”还是清“0”,D6~D4没有使用,可以为任意值。8.3.2并行接口芯片82550D6D5D4D3D2D1D0端口C置位/复位标志0:复位1:置位无意义000:PC0001:PC1010:PC2011:PC3100:PC4101:PC5110:PC6111:PC7端口C位选择教学进程●格式8.3.2并行接口芯片8255(l)方式0:基本输入/输出方式

8255A的工作方式●主要特点;

两个8位端口A、B及两个4位端口(端口C的高4位、低4位)中的任一端口,均可以作为输入端口或输出端口,且各端口均是独立的。四个端口的输入或输出,可有不同的组合,故可以适用于多种用途。各端口输入时无锁存,输出时有锁存。教学进程4.(2)方式1:选通的输入/输出方式教学进程

8255A的工作方式4.●主要特点为:

两个8位数据输入/输出端口A和B,在端口C的配合下工作。端口C中有3位用于端口A的输入/输出控制,另有三位用于端口B的输入/输出控制,并且均提供中断逻辑。若只有一个数据端口工作在方式1,那么另一个数据端口及端口C余下的五位可工作于方式0;若两个数据端口都工作于方式1,那么端口C余下的两位仍可由程序指定作为输入或输出位,也可进行置位/复位操作。

8.3.2并行接口芯片8255方式1输入时,对于端口C的规定如图

INTEAPC4PC5PC3&PC6、PC7PA7~PA0STBAIBFAINTRAI/ORDRDINTEBPC2PC1PC0&PB7~PB0STBBIBFBINTRB教学进程(2)方式1:选通的输入/输出方式

4.

8255A的工作方式8.3.2并行接口芯片8255教学进程(2)方式1:选通的输入/输出方式

4.8255A的工作方式其中各个控制信号的意义STB:选通信号,低电平有效。

IBF:输入缓冲器满信号,高电平有效。

INTR:中断请求信号,高电平有效。

INTE:中断允许信号。

8.3.2并行接口芯片8255(3)方式2:双向传输方式●方式2只适用于端口A,这种工作方式,外设在PA7~PA0的8位数据线上,既可向8255A发送数据又可从8255A接收数据。端口C自动提供相应的联络控制信号。

●方式2的输入和输出均是锁存的。A口工作于方式2时,B组可工作于方式0或方式1。教学进程

4.

8255A的工作方式INTE1PC7PC6PC4PC2~PC0PA7~PA0ACKASTBAI/OOBFAPC5PC3INTE2IBFA》1&&方式2的控制信号8.3.2并行接口芯片8255INTR教学进程(3)方式2:双向传输方式

4.8255A的工作方式各信号的含义如下

:INTRA:中断请求信号,高电平有效。STB

:外设提供给8255A的选通信号,低电平有效。

IBF :8255A送出的状态信息,高电平有效。

OBF:输出缓冲器满信号,低电平有效。

ACK:外设对信号的响应信号,低电平有效。

INTE1:输出中断允许信号。

INTE1:输出中断允许信号。

8.3.2并行接口芯片82558.3.3串行接口标准RS-232C

串行通信的基本概念

串行通信——使数据一位一位地依次进行传输而实现通信、在传输中每一位数据都占据一个固定的时间长度。

(1)基本概念

字符的格式:每个字符传送时,必须前面加一位起始位,后面加上1、1.5或2位停止位。

波特率(BaudRate):传送数据位的速率,用位/秒(bit/s)表示。

教学进程●(2)串行通信的工作方式

8.3.3串行接口标准RS-232C

接收器接收器数据发送器发送器(b)半双工方式接收器接收器数据发送器发送器(a)全双工方式发送器接收器数据(c)单工方式教学进程串行通信的类型8.3.3串行接口标准RS-232C

串行通信类型:

同步通信:这种方式将若干字符组成一个数据块,字符一个接着一个传输,同步方式要求发送方和接收方的时钟必须严格保持一致,需共用一个时钟。

SYNCRC1CRC2数据块

(a)单同步SYNSYNCRC1CRC2数据块(b)双同步教学进程●(3)异步通信:字符是一帧一帧传送的,每帧字符的传送靠起始位来同步,不要求发送方和接收方的时钟严格保持一直,因此双方不需要由公共的时钟进行控制。5~8位数据0/10/10/10/10/10/10/10/1空闲01空闲位奇偶校验停止位低位高位11…1空闲位一个字符教学进程串行通信的类型8.3.3串行接口标准RS-232C

●(3)8.3.3串行接口标准RS-232C演示DMA控制器8237A内部结构主要由两类寄存器组成:

●通道寄存器,即每个通道都有的现行地址寄存器、现行字节数寄存器和基地址寄存器、基字节数寄存器,它们都是16位寄存器;

●控制和状态寄存器,它们是方式寄存器(4个通道都有一个,6位寄存器)、命令寄存器(8位)、状态寄存器(8位)、屏蔽寄存器(4位)、请求寄存器(4位)、临时寄存器(8位)。

直接存储器存取DMA——一种外设与存储器之间直接传输数据的方法,适用于需要数据高速大量传送的场合。

1.8237A的外部引脚教学进程8.3.4芯片的外部引脚如图

:8.3.4

DMA控制器8237A

教学进程A7

A6

A5

A4

EOPA3

A2

A1

A0

VccDB0DB1DB2DB3

DB4DACK0DACK1

DB5DB6DB7

1

40

8237

20

21IORIOWMEMRMEMWNCREADYHLDAADSTBAENHRQCSCLKRESETDACK2DACK3DREQ3DREQ2DREQ1DREQ0GND8.3.4

DMA控制器8237A

(1)DMA传送方式

●单字节传送方式

单字节传送方式是每次DMA传送时仅传送一个字节。

2.8237A的工作方式特点:一次传送一个字节,效率略低;但保证在两次DMA传送之间;CPU有机会重新获取总线控制权,执行一个CPU总线周期。教学进程

●数据块传送方式

在这种方式下,8237A由DREQ启动,连续地传送数据,直到字节数寄存器从0减到FFFFH终止计数,或者由外部输入有效的信号终结DMA传送。

特点:

一次请求传送一个数据块,效率高;但在整个DMA传送期间;

CPU长时间无法控制总线(无法响应其他DMA请求,无法处理中断等)。

教学进程(1)DMA传送方式

8.8237A的工作方式

8.3.4DMA控制器8237A

请求传送方式在这种方式下,DREQ信号有效,8237A连续传送数据;但当DREQ信号无效时,DMA传送被暂时中止,8237A释放总线,CPU可继续操作。

请求方式的特点是:

DMA操作可由外设利用DREQ信号控制传送的过程(速率)。教学进程●(1)DMA传送方式

8.8237A的工作方式

8.3.4DMA控制器8237A

级连方式

这种方式用于通过多个8237A级连以扩展通道。第二级的HRQ和HLDA信号连到第一级某个通道的DREQ和DACK上。第二级芯片的优先权等级与所连的通道相对应。在这种情况下,第一级只起优先权网络的作用。第一级除了向CPU输出HRQ信号外,并不输出任何其他信号。

教学进程●(1)DMA传送方式

8.3.4DMA控制器8237A

8.8237A的工作方式●(2)DMA传送类型

DMA读:把数据由存储器传送到外设。

DMA写:把外设输入的数据写入存储器。

DMA检验:这是一种空操作。

8237A还可以编程为存储器到存储器传送的工作方式。

8237A要固定使用通道0和通道1。通道0的地址寄存器存源数据区地址,通道1的地址寄存器保存目的区地址,通道1的字节数寄

存器存传送的字节数。传送由设置通道0的软件请求启动,8237A按正常方式向

CPU发出HRQ请求信号,待HLDA响应后传送就可以开始。教学进程

2.8237A的工作方式●(3)存储器到存储器的传送

8.3.4DMA控制器8237A

(4)DMA通道的优先权方式的工作方式

固定优先权方式:4个通道的优先权是固定的,即通道0优先权最高,通道1其次,通道2再次,通道3最低。

循环优先权方式:4个通道的优先权是循环变化的,最近一次服务的通道在下次循环中变成最低优先权,其他通道依次轮流获得相应的优先权。

教学进程

2.8237A的工作方式

8.3.4DMA控制器8237A

●(5)自动初始化方式

某个DMA通道设置为自动初始化方式,是指每当DMA过程结束EOP信号产生时(不论是内部终止计数还是外部输入该信号),都用基地址寄存器和基字节数寄存器的内容,使相应的现行寄存器恢复为初始值,包括恢复屏蔽位、允许DMA请求。教学进程

2.8237A的工作方式

8.3.4DMA控制器8237A

第8.4节模拟量输入/输出接口8.4模拟量输入/输出接口

8.4.1基本工作原理●典型计算机控制系统组成框图:

工业生产现场运放信号处理环节多路转换开关采样/保持A/D转换器传感器微型计算机功放低通滤波器D/A转换器I/O接口锁存器执行部件教学进程●基本概念模拟量输入/输出通道,是生产过程计算机控制系统的重要组成部分,也是计算机与控制对象之间的一种重要接口。

传感器是一个能够把现场的各种物理量转换成为电量模拟信号的转换装置

采样

温馨提示

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

评论

0/150

提交评论