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

下载本文档

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

文档简介

1第一节接口技术的基本概念一、接口的概念和功能二、接口电路的典型结构2一、接口的概念和功能1、接口和接口技术接口指CPU、存储器、外设之间通过总线进行连接的电路部分,是CPU与外界进行信息交换的中转站。接口技术是研究CPU如何与外部世界进行最佳耦合与匹配,实现双方高效、可靠地交换信息的一门技术,是软件、硬件结合的体现,是微机应用的关键。3数据总线DB控制总线CB地址总线AB存储器I/O接口输入设备I/O接口输出设备CPU微型计算机的结构示意图2、为什么要用接口电路?4从上可以得到:(1)所有的外部信息到CPU都要经过各种各样的接口。(2)接口把外部的输入信息变成计算机能识别的数据,由计算机来处理。⑶接口把计算机输出的数据变成外设能识别的信息,实现对外设的控制。5接口电路中的信息:数据信息:数字量、模拟量、开关量状态信息控制信息对应的端口:数据口、状态口、命令口6外设是用来实现人机交互的一些机电设备。外设处理信息的类型、速度、通信方式与CPU不匹配,不能直接挂在总线上,必须通过接口和系统相连7接口应具有的功能

信号转换功能:

输入:外设的数据或信息——微机相容输出:微机输出数据或信息——外设相容

设备的选择功能:

只有选中的设备才能与CPU进行数据交换或通信;

I/O接口中通常都有地址译码和设备选择逻辑。

数据缓冲功能:

解决CPU高速与外设低速的矛盾,避免因速度不一致而丢失数据。8

接收和执行CPU命令的功能:

接口电路对接收到的命令代码进行识别和分析,产生若干个控制信号,传到I/O设备,产生相应的操作。中断管理功能:

在接口中设置中断控制器,为CPU处理有关中断事务如:中断请求、中断优先级排队等。可编程能力:

增加接口的灵活性和可扩充性。9二、接口电路的典型结构从编程角度看,接口内部主要包括一个或多个

CPU可以进行读/写操作的寄存器,又称为I/O端口。各I/O端口由端口地址区分。数据信息状态信息控制信息10按存放信息的不同,I/O端口可分为三种类型数据端口:用于存放CPU与外设间传送的数据信息

状态端口:用于暂存外设的状态信息控制端口:用于存放CPU对外设或接口的控制信息,控制外设或接口的工作方式。CPU对外设输入/输出的控制,是通过对接口电路中各I/O端口的读/写操作完成。11第二节I/O端口的编址和译码一、I/O端口的编址方式二、8088的输入/输出指令和时序三、I/O端口的译码12一、I/O端口的编址方式1、端口与存储器分别独立编址2、端口与存储器统一编址13特点:端口与存储器分别独立编址

端口不占用内存空间设有专门的I/O指令对端口进行读写,对内存操作的指令不能用于I/O端口例

Intel的80X86系列、Z80系列I/O空间内存空间1、端口与存储器分别独立编址(I/O映射方式)例

MOV[10H],AL对内存操作

IN10H,AL对端口操作142、端口与存储器统一编址(存储器映射方式)特点:I/O端口相当于内存的一部分,

使内存容量减小对I/O端口的读/写与对存储器的读/写相同,所有可对内存操作的指令对I/O端口均可使用,

指令系统中不专设I/O指令。例

motorola的M6800系列日立H8S单片机系列内存空间I/O空间15二、8088的输入/输出指令和时序1.

输入指令IN输出指令OUT输入/输出指令实现I/O端口与CPU之间的数据传送161.输入指令INport为数字形式的端口地址,大小为0~255或0~FFH17例(1)INAL,28H

若(28H端口)=10101111B

执行后(AL)=(28H端口)=0AFH(2)

INAX,28H

若(28H端口)=10101111B(29H端口)=01010000B

执行后(AL)=(28H端口)=0AFH(AH)=(29H端口)=50H(3)

MOVDX,300HINAL,DX

若(300H端口)=69H

执行后(AL)=(300H端口)=69H182.输出指令OUTport为数字形式的端口地址,大小为0~255或0~FFH19(1)

OUT21H,AL

若(AL)=11001100B

执行后(21H端口)=0CCH(2)

MOVDX,21BH

OUTDX,AL

若(AL)=10100110B

执行后(21BH端口)=(AL)=0A6H例20(1)累加器AL、AX的专用指令

对输入指令IN,目的操作数只能为AL,或AXINAL,21HINAX,DXINBX,21H

对输出指令OUT,源操作数只能为AL,或AXOUT20H,ALOUTDX,AXOUTDX,CX

输入/输出指令(IN、OUT)特点:21(2)端口地址可由直接方式或间接方式给出

OUT219H,AL×MOVDX,219HOUTDX,AL例

INAL,218H

×

MOVDX,218HINAL,DX当端口号>FFH,即>255时,

需把端口号放在DX寄存器中,

DX是一个16位寄存器,范围在0~FFFFh之间。当端口号在0~FFH,即0~255时,可在指令中直接指定端口号例

INAL,21HOUT20H,AL22(3)可进行字节或字传送

由指令中AL或AX的类型决定(4)注意端口地址与端口内容的区别

INAL,21H不等于(AL)←21HOUTDX,AL不等于(DX)←(AL)INAL,20H;字节传送INAX,20H;字传送INAL,DX;字节传送INAX,DX;字传送OUT20H,AL

;字节传送OUT20H,AX

;字传送OUTDX,AL

;字节传送OUTDX,AX

;字传送23三、I/O端口的译码1.

译码电路的作用

2.

译码电路的构成

3.

设计译码电路的方法

4.

片内译码和片选译码241、译码电路的作用将CPU执行IN/OUT指令发出的地址信号,“翻译”成欲操作端口的选通信号,此信号常作为接口内三态门或锁存器的控制信号,接通或断开接口数据线与系统的连接。IN指令时序A15~A0IORCLKD7~D0T4T1T2T3TwA15~A0CLKIOWD7~D0T4T1T2T3TwOUT指令时序25该电路在CPU执行指令

MOVDX,200HINAL,DX将输入设备的数据读入CPU内AL中图中译码电路的作用:只当A15~A0上出现200H时,(即0000001000000000B)输出0,其他输出1。例

一个输入设备的简单接口电路三态缓冲器输入设备数据线IOR地址译码地址线

200H000D7~D0A15~A0与非PC总线26执行:MOVDX,200H

INAL,DX

三态缓冲器输入设备数据线IOR地址译码地址线

200H000D7~D0A15~A0与非PC总线IN指令时序A15~A0IORCLKD7~D0T4T1T2T3Tw000000100000000027输入设备接口电路,即硬件上保证:只在CPU执行从200H端口输入数据时,

三态门处于工作状态,使输入设备的数据送上总线侧,而CPU执行其它指令时,

三态门均处于高阻状态,使输入设备的数据线与总线侧断开三态缓冲器输入设备数据线IOR地址译码地址线

200H000D7~D0A15~A0与非PC总线MOVDX,200HINAL,DX28该电路在CPU执行指令

MOVDX,300HOUTDX,AL

将CPU内AL中的数据送至输出设备图中译码电路的作用:只当A15~A0上出现300H时,(即0000001100000000B)输出0,其他输出1。例

一个输出设备的简单接口电路PC总线锁存器输出设备数据线IOW地址译码地址线

300H000D7~D0A15~A0与非29OUT指令时序执行:

MOVDX,300H

OUTDX,AL

A15~A0CLKIOWD7~D0T4T1T2T3TwPC总线锁存器输出设备数据线IOW地址译码地址线

300H000D7~D0A15~A0与非000001100000000030输出设备接口电路,即硬件上保证:只在CPU执行从300H端口输出数据时,锁存器处于触发状态,其输出随输入变化,而CPU执行其它指令时,锁存器均处于锁存状态,其输出不随输入变化,PC总线锁存器输出设备数据线IOW地址译码地址线

300H000D7~D0A15~A0与非MOVDX,300HOUTDX,AL312、译码电路的构成门电路:与门、非门、或门、与非门、或非门专用译码器:

2-4线译码器74LS1393-8线译码器74LS1384-16线译码器74LS154等可编程器件GAL、CPLD、FPGA等323、设计译码电路的方法据端口地址确定地址信号A15~A0的取值,用门电路、译码器或两者组合实现满足此取值情况的电路。设计译码电路时:

1.端口的选通信号通常为低电平有效

2.除端口的地址信号参加译码外,控制信号IOW、IOR(IO/M、AEN也可参加译码)33译码电路A0A1A8A9IORIOWAEN译码电路示意图3474LS138译码器功能表74LS1383-8译码器AY0BY1CY2Y3G1Y4G2AY5G2BY6Y735例设计端口地址为218H的译码电路分析

CPU执行IN/OUT指令时,发出端口的地址信号

MOVDX,218H

INAL,DX

OUTDX,AL对应218H端口的地址信号为(取A9~A0):

A9A8A7A6A5A4A3A2A1A0(地址信号)

1000011000B218H只要满足此地址取值的译码电路均可36方法一、用门电路实现218H的地址译码数据线DBRDWRCS端口译码电路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口PC总线D0~D7D0~D710000110000&译码电路部分满足:只当地址信号A9~A0为:A9A8A7A6A5A4A3A2A1A01000011000即218H时,输出0,使I/O接口的CS有效否则输出1

使I/O接口的CS无效37数据线DBRDWRCS端口译码电路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口PC总线D0~D7D0~D710000110000&注意译码电路中:由于高位地址线A15~A10未参与译码,即:地址A15~A0为:××××××1000011000均能输出0,所以该电路使:一个端口对应多个地址

共26=64个

218,618,

A18,E18等等38当端口地址信号为:A9A8A7A6A5A4A3A2A1A01000011000即218H时,Y0输出0,使I/O接口的CS有效方法二、用译码器、门电路组合实现218H的地址译码74LS1383-8译码器218HAY0BY1CY2G1Y3Y4G2AY5Y6G2BY7

0000110000100&A0A1A2AENA3A4A5A6A7A8A9IORIOWPC总线CSI/O接口D0~D7&RDWR数据线DBD0~D7端口译码电路39219H21AH21BH21CH21DH21EH21FH218H思考1:1.Y2~Y7译出的端口地址各是多少?74LS1383-8译码器AY0BY1CY2G1Y3Y4G2AY5Y6G2BY7

0110000100&&端口译码电路A0A1A2AENA3A4A5A6A7A8A9IORIOWPC总线101010101100110011110000Y7Y6Y5Y4Y3Y2Y1Y040片内译码:

在芯片内部的译码电路

用于区分芯片内部不同的端口片选译码:在芯片外部的译码电路

用于选择不同的芯片或端口4、片内译码和片选译码41片选译码通常译出的是一个地址范围并行接口8255ACS外设数据线A0A1RDWRPC总线IORA0A1IOWA2A3A4A5A6A7A8A9AEN片选译码片内译码端口A端口B端口C端口D串行接口8251

数/模转换0832模/数转换0809218~21FH220~227H228~22FH230~237H42通常将低位地址线(1位或几位)直接连在芯片上,用于片内译码,而其余的高位地址线用于片选译码。并行接口8255ACS外设数据线A0A1RDWRPC总线IORA0A1IOWA2A3A4A5A6A7A8A9AEN片选译码片内译码端口A端口B端口C端口D串行接口8251

数/模转换0832模/数转换080943例

分析下图74LS138各输出端的译码地址

(片选译码例)74LS1383-8译码器218HAY0BY1CY2G1Y3Y4G2AY5Y6G2BY700010&A3A4A5+5VA6A7A8A9AENIORIOWPC总线&端口译码电路441.

先确定与使能控制G1、G2A、G2B相连的各引脚G1连+5V,始终有效

IOR、IOW任一为0G2A、G2B为0,则A9A8A7A6,AEN为010002.

再分析与选择控制C、B、A相连的各引脚

3.

考虑到A2、A1、A0未参加译码,其值任意,即A2A1A0的取值为000~1114.

最后综合所有地址信号的取值,得出结论。A5A4A3

CBA000Y0001Y1010Y2011Y3100Y4101Y5110Y6111Y7分析:45结论:46200~207h208~20Fh210~217h218~21Fh220~227h228~22Fh230~237h238~24Fh74LS1383-8译码器AY0BY1CY2G1Y3Y4G2AY5Y6G2BY7

00010&A3A4A5+5VA6A7A8A9AENIORIOWPC总线&端口译码电路47第三节I/O同步控制方式

CPU与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送,是本节讨论的问题。有以下几种传送方式:一、无条件传送方式二、条件传送方式(查询方式

)三、中断传送方式四、

DMA传送方式(DirectMemoryAccess)48概述1.无条件传送(CPU与外设同步工作):外部控制过程各种动作时间是固定的,而且是已知的。(外设处于确定就绪状态)2.查询方式(CPU与外设不同步工作):传送前,先查询外设状态,准备好才传送,否则CPU处于等待状态。493.中断方式:

外设与CPU处于并行工作,一旦外设准备好,外设向CPU发中断申请,条件具备,CPU暂停原程序执行,响应中断,外设与CPU串行工作。4.DMA方式(高速I/O及成组交换数据):

CPU不干予,由硬件实现存储器与外设之间交换数据,称直接存取存储器。50一、无条件传送方式(同步传送方式)实现方法

CPU不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,在程序中直接用I/O指令,完成与外设的数据传送特点

1.适用于外设动作时间已知在CPU与外设进行数据传送时,外设保证已准备好的情况

2.软硬件十分简单51二、条件传送方式(查询传送方式)实现方法:

在与外设进行传送数据前,CPU先查询外设状态,当外设准备好后,才执行I/O指令,实现数据传送特点:1.CPU通过不断查询外设状态,实现与外设的速度匹配2.CPU的工作效率低52查询传送方式,编程流程:NY从状态端口读入状态信息从数据端口传送一个数据外设准备好否?53查询方式输入接口状态端口D4=1表示外设准备好三态缓冲器输入设备数据线218H

数据端口地址译码地址线

状态端口地址译码锁存器IOR

R

Q

D三态缓冲器+5vD421CH

STBPC总线IO

温馨提示

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

评论

0/150

提交评论