第6章 输入输出接口

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1微型计算机系统原理与接口技术第6章输入输出与接口技术2微型计算机系统原理与接口技术6.1.1微型计算机接口简介3微型计算机系统原理与接口技术•接口的的概念•在微型计算机系统中,CPU与外部设备之间的联系,需要有特定的硬件连接和相应的软件控制。完成这一任务的软硬件综合称为接口。•为什么要在CPU和外设之间设置接口?•要想回答这个问题,让我们先来看看外部设备•外部设备是构成微型计算机系统的重要组成部分6.1.1微型计算机接口简介4微型计算机系统原理与接口技术•外部设备种类繁多,从工作原理来讲,可分为机械、电动式和其它形式等几类,它们所传输的信息如数字量、模拟量、开关量、脉冲量要求也各不相同。这就给计算机和外设之间的信息交换带来以下一些问题:*速度不匹配:*信号电平不匹配:*信号格式不匹配:*时序不匹配6.1.1微型计算机接口简介为什么要在CPU和外设之间设置接口?5微型计算机系统原理与接口技术所以各种外设都有自己的定时和控制逻辑,与计算机的CPU时序不一致。因此,输入/输出设备不能直接与CPU的系统总线相连,必须在CPU与外设之间设置专门的接口(Interface)电路来解决这些问题。6.1.1微型计算机接口简介为什么要在CPU和外设之间设置接口?6微型计算机系统原理与接口技术6.1.2微型计算机接口功能1、数据缓冲功能:实现速度匹配设置数据缓冲器或锁存器,以解决高速主机与低速外设之间的速度匹配问题。2、设备选择功能:生成接口的选择信号CPU要与多个外设打交道,一个外设又往往要与CPU交换几种信息,因此,一个外设接口中通常包含若干个端口,而在同一时刻,CPU只能与某一个端口交换信息。3、信号转换功能:实现电平、逻辑、时序匹配信号转换包括CPU信号与外设之间的逻辑关系,功能定义、电平的高低,工作时序匹配等。4、数据宽度与数据格式转换功能:实现数据位数的匹配。7微型计算机系统原理与接口技术5、设置时序控制电路来同步CPU和外设的工作(1)、执行CPU命令功能:寄存和解析CPU命令可以认为是端口执行了来自CPU的命令。(2)、返回外设状态功能:寄存和编码外设状态接口电路接收CPU送来的命令或控制信号,定时信号实施对外设的控制管理,外设的工作状态和应答信号也通过接口及时返回给CPU,以握手联络(handshaking)信号来保证主机和外部I/O操作实现同步。6.1.2微型计算机接口功能8微型计算机系统原理与接口技术6.1.3微型计算机接口组成简单的输入/输出接口的组成•把地址译码、数据锁存与缓冲、状态寄存器、命令寄存器各个电路组合起来,构成简单输入/输出接口•接口连接的信号:*与系统总线连接:地址总线A0~A15数据总线D0~D7控制总线M/IO#、RD#、WR#(最小模式时)或IOWC#、IORC#(最大模式时)相连接*与外部设备相连:数据口、状态口、命令口。9微型计算机系统原理与接口技术6.1.3微型计算机接口组成一个能够实际运行的接口,应由硬件和软件两部分组成。硬件电路•端口:接口内通常设置有若干寄存器,用来暂存CPU和外设之间传输的数据,状态和命令,这些寄存器被称为端口(port)。根据寄存器内暂存信息的种类,在接口芯片中包括:*数据端口(数据寄存器)――传送数据的功能。*命令端口(控制端口或命令寄存器)――接收执行命令的功能。*状态口(状态寄存器)――返回状态的功能•端口地址译码电路:(独立于接口芯片)端口地址译码的作用是完成设备选择的功能,是接口中不可缺少的部分。10微型计算机系统原理与接口技术•为了增强接口适用范围,半导体厂商一般按照通用型、可编程模式设计制作接口芯片。因此,为了使用接口,需要为CPU编写专门的接口程序。接口程序多由汇编语言编程实现,一般包括初始化接口芯片、确定数据传输方式、控制接口硬件动作等主要功能。•基本结构:如图所示。6.1.3微型计算机接口组成11微型计算机系统原理与接口技术6.1.4I/O端口的编址方式•两种端口编址方式:统一编址和独立编址,•统一编址,称为存储器映射方式。•定义:把系统中的每一个I/O端口看作一个存储单元,与存储单元一样统一编址。•优点:系统指令集中,不必包含专门的I/O指令,简化指令系统设计;•可以使用种类多、功能强的存储器指令访问外设端口;•I/O地址空间可大可小,灵活性强。•缺点:I/O地址具有与存储器地址相同的长度,增大了译码复杂程度,延长了译码时间,降低了输入输出效率。12微型计算机系统原理与接口技术•两种端口编址方式:统一编址和独立编址,•独立编址,称为I/O映射方式。•定义:对系统中的I/O端口单独编址,构成独立的I/O地址空间。•优点:采用专门的I/O指令来访问具有独立空间的I/O端口;I/O地址较短,I/O指令长度短,译码电路简单,指令执行速度快,程序清晰,可读性好;•缺点:指令系统必须设置专门的I/O指令,其功能不如存储器指令强大。6.1.4I/O端口的编址方式13微型计算机系统原理与接口技术•独立编址方式的端口访问•80x86CPU采用内存与I/O端口独立编址方式,设置了一套独立的输入/输出指令。输入指令IN把外部设备接口输入端口(数据、状态)的信息读入累加器AL、AX。输出指令OUT把累加器的内容向外部接口的输出端口(数据、命令)输出。•IN/OUT指令有两种寻址方式。端口地址在0~255之间,使用直接地址,端口地址以“立即数”的形式出现在指令中。端口地址大于255时,必须把地址事先送入DX寄存器,通过该寄存器进行间接寻址。6.1.4I/O端口的编址方式14微型计算机系统原理与接口技术•独立编址方式的端口访问•IN(输入)指令•指令格式:INACC,PORTINACC,DX•操作:AL/AX←(PORT)AL/AX←(DX)•功能:把指定端口中的数据读入AL或AX中6.1.4I/O端口的编址方式15微型计算机系统原理与接口技术•独立编址方式的端口访问•IN(输入)指令•端口地址在0~255之间:INAL,35H;将地址为35H的8位端口数据送AL.INAX,0A8H;将地址为0A8H的16位端口数据送AX.端口地址在0~65535之间:MOVDX,21H;端口地址放入DXINAL,DX;把地址为21H的端口数据(8位)送AL中MOVDX,312H;端口地址放入DXINAX,DX;把地址为312H的端口数据(16位)送AX中6.1.4I/O端口的编址方式16微型计算机系统原理与接口技术•独立编址方式的端口访问•OUT(输出)指令•端口地址在0~255之间:OUT40H,AL;将AL中数据送到地址为40H的8位端口中OUT30H,AX;将AX中数据送到地址为30H的16位端口中•端口地址在0~65535之间:MOVDX,21HOUTDX,AL;将AL中数据向DX所指定的8位端口输出MOVDX,310HOUTDX,AX;将AX中数据向DX所指定的16位端口输出6.1.4I/O端口的编址方式17微型计算机系统原理与接口技术•80x86的I/O端口编址方式采用独立编址方式,I/O端口地址为16位,最大数寻址范围为64K个地址。IBM-PC机I/O端口编制方式:主板上只应用了10位I/O端口地址线,因此支持的I/O端口数为1024个,地址空间为000-3FFH,有效地址线为A0-A9。IBM-PC机I/O端口分配方式,把I/O接口硬件分为两类:板内接口-前256个(000~0FFH)扩展接口-后768个(100~3FFH)6.1.4I/O端口的编址方式18微型计算机系统原理与接口技术•板内I/O端口—主板(系统板)上的I/O接口•板内接口即主板上的I/O接口。•寻址到的都是可编程大规模集成电路,完成相应的板内接口操作。•在IBMPC/AT机中,主板上主要有实时时钟、协处理器、Intel公司开发82xx系列的接口芯片等,这些接口芯片一般是独立焊接在主板上的。6.1.4I/O端口的编址方式19微型计算机系统原理与接口技术•扩展卡上的I/O接口•扩展卡主要是指插接在主板插槽上的接口卡,通过系统总线与CPU系统相连。•这些扩展卡一般由若干个集成电路按一定的逻辑组成一个部件,如图形卡、串行通讯卡、网络接口卡等。6.1.4I/O端口的编址方式20微型计算机系统原理与接口技术•扩展卡上的I/O接口•用户端口选用原则•对于进行接口设计卡设计的用户了解机器的I/O端口地址配置是很重要的。因为要设计接口卡,就必然要使用I/O端口地址,在选定I/O端口地址时,要注意如下几点:•系统配置已经使用的地址不能使用;•未被系统使用,但厂家申明保留的地址不要使用;•用户可以使用PC微机300~31FH的地址。6.1.4I/O端口的编址方式21微型计算机系统原理与接口技术6.2I/O端口地址译码与读写技术•CPU是通过地址对不同的接口或端口加以区分的。•把CPU送出的地址转变为芯片选择和端口区分的依据就是地址译码电路。•译码电路结构6.2.1I/O端口地址译码22微型计算机系统原理与接口技术•I/O端口地址译码电路在接口电路中的作用:•是地址信号和某些控制信号进行组合,从而产生对接口芯片的选译信号.•在微机系统中,I/O译码电路除了受A0-A9这10根地址线所确定的地址范围的限制之外,还要用到其他一些控制信号。如:•利用IOR或IOW信号控制对端口的读写。•利用AEN信号控制非DMA传送。•用I/OCS控制对8位还是16位端口操作。用信号BHE控制端口的奇偶地址。•可见,在设计地址译码电路时,不仅要选择地址范围,还要根据CPU与I/O端口交换数据时的流向(读/写)、数据宽度(8位/16位),以及是否采用奇偶地址等要求来引入相应的控制信号,从而形成地址译码电路。6.2.1I/O端口地址译码23微型计算机系统原理与接口技术6.2.1I/O端口地址译码6.2.1I/O端口地址译码端口地址译码电路从形式上可分为:固定式译码和可选式译码;按译码采用的元器件来分,则可分为:门电路译码和译码器译码;按端口与地址的对应关系,则可分为:全译码方式与部分译码方式。24微型计算机系统原理与接口技术•最终目标是唯一确定一个端口或寄存器的地址,需要所有地址线都参加译码。•地址译码-全译码法A9A8A7A6A5A4A3A2A1A0=1011110000=2F0H74LS30:8输入端与非门74LS20:2个4输入端与非门;74LS32:4个2输入端或门6.2.1I/O端口地址译码25微型计算机系统原理与接口技术分析:1、由于接口芯片内部包含8个端口地址,应先选中芯片,再从选中的芯片内部选端口,因此,需要产生片选信号,故采用部分译码法。这理:只有高位地址线参加译码,产生片选信号,而低位地址线不经过译码电路,直接引入接口芯片,作为产生多个端口(地址范围)之用。•地址译码-部分译码•用片内寻址外的高位地址的一部分译码产生片选信号。例:设计一片内拥有8个端口的接口电路的I/O地址译码电路,其端口地址为310H―――317H。6.2.1I/O端口地址译码26微型计算机系统原理与接口技术•用片内寻址外的高位地址的一部分译码产生片选信号。•地址译码-部分译码法例:设计一片内拥有8个端口的接口电路的I/O地址译码电路,其端口地址为310H―――317H。2、题目要求端口地址范围是310H―――317H可知,其输入地址线的取值为:00A9A8A7A6A5A4A3A2A1A01100010???其中,低3位地址A2A1A0不参加译码电路译码。其值可变,用???表示。6.2.1I/O端口地址译码27微型计算机系统原理与接口技术•用片内寻址外的高位地址的一部分译码产生片选信号。•地址译码-部分译码法例:设计一片内拥有8个端口的接口电路的I/O地址译码电路,其端口地址为310H―――317H。A2A1A0000001010011100101110111000―――111B是A2A1A0地址变化范围。正好满足在接口芯片内部寻址8个端口的要求。高7位地址A9A8A7A6A5A4A3的取值为1100010B,并且是固定不变的,作为门电路的输入

1 / 51
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功