第5章 微型计算机和外设数据传输_第1页
第5章 微型计算机和外设数据传输_第2页
第5章 微型计算机和外设数据传输_第3页
第5章 微型计算机和外设数据传输_第4页
第5章 微型计算机和外设数据传输_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

第5章微型计算机和外设数据传输第一页,共53页。5.1为什么要用接口1、接口的基本概念

所谓接口是指CPU、存储器、外设之间通过总线进行连接的电路部分,是CPU与外界进行信息交换的中转站。不同的外设有不同的输入/输出接口电路。例如,键盘输入有键盘接口电路,CRT显示器有显示器输出接口电路,打印机也有打印输出接口电路等等.

第二页,共53页。微型计算机各种接口框图:第三页,共53页。5.1为什么要用接口I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路I/O接口的硬件分成两类:1.系统板上的I/O芯片

如定时/计数器、中断控制器、DMA控制器、并行接口等。

2.I/O扩展槽上的接口控制卡如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。CPU接口电路I/O设备第四页,共53页。5.1为什么要用接口2、接口按功能分为两类使CPU正常工作所需要的辅助电路输入/输出接口3、外部设备为什么一定要通过接口和主机相连?外部设备功能多种多样,工作原理不同外部设备的信息不同,有数字量、模拟量、开关量串并行方式不同外设速度比CPU低得多第五页,共53页。5.1为什么要用接口 4、接口技术的发展及分类微型计算机接口技术的发展,基本上是与微处理器的发展同步进行的。按照接口技术与接口随着微处理器的发展,可将接口电路分为四类:固定式接口电路可编程接口电路智能接口与通用外围接口功能接口板第六页,共53页。1)、固定式接口电路

早期的微处理器多采用PMOS工艺,集成度低,系统结构与指令系统均比较简单,受半导体工艺的限制,接口芯片的集成度也不高,大都采用TTL与MSI工艺,计算机接口由小规模或中规模集成电路组合而成,要改变其功能与工作方式必须改变硬件连线才能实现,将这种简单接口电路称之为固定式接口电路第七页,共53页。2)、可编程接口电路16位微处理器(例如8086CPU)的出现,使微型计算机的发展进入了第二代,第二代微处理器采用了NMOS工艺,集成度明显提高,Intel公司推出的与此相适应的接口芯片有中断控制器8259A,并行I/O接口芯片8255A,定时/计数器8253/8254,DMA控制器8237A以及串行通信接口芯片8250等,这些芯片都是采用NMOS工艺的大规模集成(LSI)芯片,而且都是可编程的接口芯片,用户可以通过对接口芯片的在线编程,方便灵活地改变接口的工作方式第八页,共53页。3)、智能接口与通用外围接口

Intel公司于1985年首次推出第三代微处理器80386,1989年又推出X86系列的第四代微处理器80486,这时代的芯片大都是采用了NMOS或CMOS工艺的超大规模集成(VLSI)芯片。与此相应,也开发出了大批集成度更高的接口器件。这一时期接口芯片的显著特点是应用了单片机作通用接口,使接口电路智能化智能化接口集单片机技术与接口技术于一体,可直接与外围设备相连,它是一种结构与功能接近于CPU的专用控制器,有独立的指令系统,通过编写完整的I/O管理程序和预处理程序,来实现对许多外设频繁的I/O进行管理,从而减轻了CPU管理I/O设备的负担,大大提高了微机系统的运行速度第九页,共53页。4)、功能接口板

由于微型计算机使用了各种统一的总线标准,例如:ISA、PCI、SCSI、USB等各种总线,因而从电气特性、机械特性及通信协议等方面都已标准化,开发商已为各种总线开发出了不同功能的专用接口板,可供用户选购,例如:PCI总线的ADC和DAC功能板,PCI的网卡,基于PCI的RS-232串行通行卡等第十页,共53页。5.2 CPU和输入/输出设备之间的信号数据信息数字量模拟量开关量状态信息控制信息CPUI/O设置数据状态控制都是通过数据总线传送三种信息对应不同的寄存器第十一页,共53页。5.3 接口部件的I/O端口I/O端口是I/O接口中可通过编程实现寻址并进行读写的寄存器。CPU与外设之间交换信息具体是通过I/O端口来进行的。一个外设与CPU交换信息往往需要几个端口:数据端口控制端口状态端口编址方式有两种有时可以合用第十二页,共53页。5.3 接口部件的I/O端口第十三页,共53页。5.3 接口部件的I/O端口ABDBCBCPUI/O接口I/O设备

端口数据控制状态CPU与外设通过I/O接口通信示意图第十四页,共53页。

I/O端口地址分配

PC微机是根据上述I/O接口的硬件分类,把I/O空间分成两部分。

PC微机I/O地址线可有16根,对应的I/O端口编址可达64K字节,其端口地址译码是采用部分译码法,即只使用了低10位地址线一个A0~A9,故其I/0端口地址范围是0000H~003FFH,总共只有1024个端口。第十五页,共53页。表1系统板上接口芯片的端口地址I/O芯片名称端口地址DMA控制器1000~01FHDMA控制器20C0~0DFHDMA页面寄存器080~09FH中断控制器1020~03FH中断控制器20A0~0BFH定时器040~05FH并行接口芯片(键盘接口)060~06FHRT/CMOSRAM070~07FH

协处理器0F0~0FFH第十六页,共53页。表2扩展槽上接口控制卡的端口地址I/0接口名称端口地址游戏控制卡200~20FH并行口控制卡1370~37FH并行口控制卡2270~27FH串行口控制卡13F8~3FFH串行口控制卡22F0~2FFH原型插件板(用户可用)300~31FH同步通信卡13A0~3AFH同步通信卡2380~38FH单显MDA3B0~3BFH彩显CGA3D0~3DFH彩显EGG/VGA3C0~3CFH硬驱控制卡1F0~1FFH软驱控制卡3F0~3F7HPC网卡360~36FH第十七页,共53页。I/O端口地址选用的原则①凡是被系统配置占用了的地址一律不能使用;②未被占用的地址,用户可以使用,但申明保留的地址,不要使用。③用户可使用300H~31FH地址。第十八页,共53页。1、接口的功能寻址功能输入/输出功能数据转换功能联络功能中断管理功能复位功能可编程功能错误检测功能5.4接口的功能以及在系统中的连接第十九页,共53页。2、接口与系统的连接第二十页,共53页。用读信号、写信号和地址A0区分4个寄存器高位地址和M/IO信号经译码器形成片选信号第二十一页,共53页。

例1:使用74LS20/30/32和74LS04设计I/O端口地址为2F8H的只读译码电路。分析:若要产生2F8H端口地址,则译码电路的输入地址线就应具有如下所示的值。译码电路输入地址线的值地址线00A9A8A7A6A5A4A3A2A1A0

二进制001011111000十六进制2F8第二十二页,共53页。译码电路输入:地址线:10根,地址值:2F8HA9~A0=1011111000B

控制线:AEN=0IOR=0

译码电路输出: Y=0为译码选中。

/AEN是总线选通信号第二十三页,共53页。A9A8A7A3A2A1A0AENIOR&&≥Y第二十四页,共53页。当执行指令:MOVDX,2F8H INAL,DX时,Y=0,对应端口被选中第二十五页,共53页。4、32位微处理器采用I/O编址的译码电路A、8位数据端口与低8位数据线的连接

第二十六页,共53页。

B、8位数据端口与32位数据线的连接

第二十七页,共53页。例如:

MOVDX,3E0H INAL,DX;BE0*有效,只读端口0

INAX,DX;BE1*、BE0*有效,;读端口1与读端口0

INEAX,DX;BE3*~BE0*均有效,;读端口3~端口0第二十八页,共53页。5.5 CPU和外设之间的数据传送方式程序方式无条件传送方式条件传送方式中断方式DMA方式第二十九页,共53页。5.5.1 程序方式无条件传送方式最简单的I/O控制方式,CPU可以随时根据需要无条件地读写I/O端口外设要求:简单,数据变化缓慢,操作时间固定,如一组开关或LED显示管。外设被认为始终处于就绪状态接口特点CPU的DB→I/O接口(输出锁存器)→外设CPU的DB←I/O接口(输入缓冲器)←外设第三十页,共53页。无条件传送方式编程例START:MOVDX,INPORT INAL,DX;读入按键状态TESTAL,01H;判断最低位按键JNZK1;最低位按键没闭合,转MOV AL,01H;最低位发光JMP DISPK1:TESTAL,02H;JNZK2;次低位按键没闭合,转MOV AL,03H;最低2位发光JMP DISP….DISP:MOVDX,OUTPORTOUTDX,AL;JMPSTART31第三十一页,共53页。5.5.1 程序方式条件传送方式也叫查询方式接口特点:避免了对端口的“盲读”、“盲写”,数据传送的可靠性高,并且硬件接口相对简单。缺点是CPU工作效率低,I/O响应速度慢;外设要求:状态口和数据口在有多个外设的系统中,CPU的查询顺序由外设的优先级确定一种CPU主动、外设被动的I/O操作方式,很好地解决了CPU与外设之间的同步问题第三十二页,共53页。5.5.1 程序方式条件传送方式的三个环节CPU从接口中读取状态字。CPU检测状态字如“就绪”状态,则传送数据。READY?读取状态端口读/写数据端口YN状态端口复位第三十三页,共53页。5.5.1 程序方式图5.4查询式输入的接口12345????第三十四页,共53页。5.5.1 程序方式图5.5查询式输出的接口第三十五页,共53页。5.5.1 程序方式图5.6查询式输入过程的流程图第三十六页,共53页。查询的例子1

DATA_SEG SEGMENT MESSAGE DB ′BUFFEROVERFLOW′,0DH,0AH ATA_SEG ENDS COM_SEG SEGMENT BUFFER DB 82 DUP(?) COUNT DB ? COM_SEG ENDS CODE SEGMENT ASSUME DS:DATA_SEG,ES:COM_SEG,CS:CODE

STAT:

MOV AX,DATA_SEG MOV DS,AX MOV AX,COM_SEG MOV ES,AX MOV DI,OFFSETBUFFER MOV COUNT,DI

MOV CX,81 CLD

第三十七页,共53页。查询的例子2

NEXT_IN: IN AL,56H TEST AL,02H JZ NEXT_IN IN AL,52H OR AL,0 JPE NO_ERROR JMP ERROR

NO_ERROR: AND AL,7FH STOSB MOV CX,17 LOOPNE NEXT_IN JNE OVERFLOW MOV AL,0AH STOSB SUB DI,COUNT MOV COUNT,DI

第三十八页,共53页。查询的例子3

OVERFLOW: MOV SI,OFFSETMESSAGE MOV CX,17 NEXT_OUT: IN AL,56H TEST AL,01H JZ NEXT_OUT LODSB OUT 54H,AL LOOP NEXT_OUT第三十九页,共53页。多个入设备轮流查询的例子

TREE_IN:

MOV FLAG,0 INPUT: IN AL,STAT1 TEST AL,20H JZ DEV2 CALL PROC1

CMP FLAG,1 JNZ INPUT

DEV2:

IN AL,STAT2 TEST AL,20H JZ DEV3 CALL PROC2

CMP FLAG,1 JNZ INPUT

DEV3:

IN AL,STAT3 TEST AL,20H JZ NO_INPUT CALL PROC3 NO_INPUT:

CMP FLAG,1 JNZ INPUT第四十页,共53页。3个设备处于相同优先级的循环查询程序,INTREE:

MOV FLAG,0 INPUT:

IN AL,STAT1 TEST AL,20H JZ DEV2 CALL PROC1 DEV2:

IN AL,STAT2 TEST AL,20H JZ DEV3 CALL PROC2 DEV3:

IN AL,STAT3 TEST AL,20H JZ NO_INPUT CALL PROC3 NO_INPUT: CMP FLAG,1

JNZ INPUT第四十一页,共53页。多个外设的查询CPU周期性地依次查询每个外设的状态优先权决定了查询次序不具有实时性42第四十二页,共53页。5.5.2 中断方式接口特点:避免了CPU反复低效率的查询,适用于CPU任务繁忙、而数据传送不太频繁的系统中。缺点是硬件电路和处理过程都比较复杂;(中断控制芯片)CPU被动而外设主动的I/O操作方式,较大地提高了CPU的工作效率,并使系统具有了实时处理功能第四十三页,共53页。5.5.2 中断方式中断传送方式的原理图5.7中断方式输入的接口第四十四页,共53页。5.5.2 中断方式中断传送方式的原理图5.8可屏蔽中断的响应和执行第四十五页,共53页。5.5.2 中断方式中断优先级问题的解决图5.9典型的可编程中断控制器第四十六页,共53页。5.5.3 DMA方式DMA

温馨提示

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

评论

0/150

提交评论