版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-3-1计算机接口技术1第第3章章 I/O 端口地址译码技术端口地址译码技术本章主要内容本章主要内容 I/O 端口的基本概念端口的基本概念 I/O 端口译码的基本原理端口译码的基本原理 I/O 端口译码电路的设计端口译码电路的设计3.1 I/O 地址空间地址空间2022-3-1计算机接口技术2 如果忽略I/O地址空间的物理特征,仅从软件编程的角度来看从软件编程的角度来看,和存储器地址空间一样,I/O地址空间也是一片连续的地址单元地址空间也是一片连续的地址单元,可供各种外设各种外设与CPU交换信息时交换信息时,存放存放数据数据、状态状态和命令代码命令代码之用。 实际上,一个一个I/O地址
2、空间的地址空间的地址单元地址单元是对应对应接口电路中的一个接口电路中的一个寄存器寄存器或控制器控制器,所以把它们称为接口中的称为接口中的端口端口。 I/O端口地址端口地址与存储器的存储单元一样,都是以数据字节来组织是以数据字节来组织的的。无论是早期微机早期微机还是现代微机现代微机的I/O地址线都只有地址线都只有16位位,因此I/O端端口地址空间范围口地址空间范围为0000HFFFFH,是连续的连续的64KB地址地址,每一个地址对应一个8位的I/O端口,两个相邻的8位端口可以构成一个16位的端口;4个相邻的8位端口可以构成一个32位的端口。3.2 I/O 端口端口3.2.1 什么是端口什么是端口
3、端口端口(port)是接口是接口(Interface)电路中能被电路中能被CPUCPU访问访问的寄存器的地寄存器的地址址,是物理电路中寄存器的抽象。微机系统微机系统给接口电路中的每个寄存器接口电路中的每个寄存器分配一个端口一个端口,因此,CPUCPU在访问这些寄存器在访问这些寄存器时,只需指明它们只需指明它们的端口端口,不需指不需指明什么寄存器明什么寄存器。这样,我们在输入在输入/ /输出程序中输出程序中,只看到端口只看到端口,而看不到看不到相应的具体寄存器具体寄存器。也就是说,访问访问端口端口就是访问访问接口电路中的寄存器寄存器。可见,端口是为了编程从抽象的逻辑概念来定义的,而寄存器是从物理
4、含义来定义的。接口电路中有三种不同类型的端口三种不同类型的端口,存储不同的信息,分别是数据口、状态口和控制口。2022-3-1计算机接口技术3CPU数据口状态口控制口外设3.2 .2 I/O 端口共用技术端口共用技术 一般情况下一般情况下,一个端口一个端口只接收一种信息接收一种信息(命令、状态或数据)的访问的访问,但有些接口芯片有些接口芯片,允许同一端口同一端口既作命令口既作命令口用,又作状态口又作状态口用,或允许向同一个命令口向同一个命令口写入多个命令字写入多个命令字,这就产生端口共用的问题产生端口共用的问题。 端口共用问题端口共用问题的处理方法是:的处理方法是: 对命令口和状态口共用命令口
5、和状态口共用的处理方法处理方法是,根据根据读读/ /写操作写操作来区分来区分。向该口向该口写写,就是写命令写命令,作命令口用作命令口用;从该端口从该端口读读,就是读状态读状态,作状态口用作状态口用例如,串行接口芯片8251A采用这种办法。 对多个命令字写到同一个命令口多个命令字写到同一个命令口时,可采用两种办法解决两种办法解决:其一其一,在在命令字中设置特征位命令字中设置特征位,根据根据特征位的不同特征位的不同,就可以识别不同的命令识别不同的命令,例如82C55A接口芯片采用这种办法;其二其二,在编写初始化程序段时在编写初始化程序段时,按先后顺按先后顺序向同一个端口写入不同的命令字序向同一个端
6、口写入不同的命令字,命令寄存器就根据根据先后顺序的约定先后顺序的约定来识别不同的命令识别不同的命令,8251A接口芯片采用这种方法。2022-3-1计算机接口技术43.2.3 I/O 端口地址编址方式端口地址编址方式2022-3-1计算机接口技术5接口中的端口地址单独编址端口地址单独编址而不和存储空间合在一起不和存储空间合在一起I/O端口有独立编址独立编址和统一编址统一编址两种方式2022-3-1计算机接口技术6从存储空间存储空间中划出一部分地址空间划出一部分地址空间给I/OI/O设备使用设备使用,把I/O接口中的端口当做存储器单元一样进行访问3.2.4 I/O 端口访问端口访问 本节只讨论累
7、加器累加器I/OI/O指令指令ININ和OUTOUT,它们用于用于在I/OI/O端口端口和ALAL、AXAX、EAXEAX之间交换数据交换数据。例如例如:2022-3-1计算机接口技术7分累加器 I/O 指令和串 I/O 指令1. I/O指令指令 I/OI/O指令指令表示,CPUCPU从端口读数据或向端口写数据从端口读数据或向端口写数据,仅仅是指仅仅是指I/OI/O端口端口与CPUCPU的累加器之间的累加器之间的数据传输数据传输,并未涉及数据是否传输到存储器的问题。若要将端口的数据将端口的数据传输传输到存储器到存储器,还得用用MOVMOV指令指令进行传输进行传输。例如例如:2022-3-1计算
8、机接口技术8将端口的将端口的数据传输数据传输到存储器到存储器2022-3-1计算机接口技术9I/O 地址是否经过DX寄存器传输 I/OI/O端口寻址端口寻址有直接直接和间接间接I/O端口寻址,其差别差别表现在I/OI/O端口地址是否经过端口地址是否经过DXDX寄存器寄存器传输。不经过不经过DXDX传输,直接写在指令中,作为指令的一个组成部分的,称为称为直接直接I/OI/O寻址寻址;经过经过DXDX传输的,称为称为间接间接I/OI/O寻址寻址。例如例如:2. I/O端口寻址方式端口寻址方式 它们是完成I/O操作这一共同任务的软件(逻辑)和硬件(物理),是相互依存、缺一不可的两个方面。 IORIO
9、R和IOWIOW是CPU对I/O设备进行进行读读/写写的硬件上硬件上的控制信号控制信号,低电平有效。 但是,这两个控制信号本身控制信号本身并不能激活自己并不能激活自己,使之有效去控制读/写操作,必须由软件编程必须由软件编程,在程序中在程序中执行执行ININ/OUTOUT指令才能激活。 执行执行ININ指令指令使IORIOR信号有效信号有效,完成读操作。读操作。 执行执行OUTOUT指令指令使IOWIOW信号有效信号有效,完成写操作。写操作。2022-3-1计算机接口技术103. I/O指令与指令与I/O读读/写控制信号的关系写控制信号的关系3.3 I/O 端口地址分配及选用的原则端口地址分配及
10、选用的原则3.3.1 早期微机早期微机I/O地址的分配地址的分配I/O端口只使用了低10位地址线A0A9,地址范围0000H03FFH。I/OI/O空间空间分成系统I/OI/O支持芯片支持芯片的端口地址和常规外设接口卡外设接口卡的端口地址两部分两部分。如表如表3.13.1和表和表3.23.2所示所示。2022-3-1计算机接口技术11表3.1系统的I/O支持芯片端口地址 I/O支持芯片名称 端口地址DMA控制器1 000H01FHDMA控制器2 0C0H0DFHDMA页面寄存器 080H09FH中断控制器1 020H03FH中断控制器2 0A0H0BFH定时器 040H05FH并行接口芯片 0
11、60H06FHRT/CMOS RAM 070H07FH协处理器 0F8H0FFH表3.2系统的外设接口卡端口地址I/O接口卡名称 端口地址并行口控制卡1 378H37FH并行口控制卡2 278H27FH串行口控制卡1 3F8H3FFH串行口控制卡2 2F8H2FFH原型插件板原型插件板 300H31FH同步通信卡1 3A0H3AFH同步通信卡2 380H38FH彩显EGA/VGA 3C0H3CFH硬驱控制卡 320H32FH3.3.2 现代微机现代微机I/O地址的分配地址的分配2022-3-1计算机接口技术12现代微机现代微机I/O地址分配的地址分配的特点特点1.使用即插即用使用即插即用的资源
12、配置机制机制,使端口地址的端口地址的分配分配是动态变化动态变化的。2.用户程序所使用的用户程序所使用的I/OI/O端口地址端口地址与操作系统分配操作系统分配的的现代微机系统端口地址端口地址是不一致不一致的,两者之间通过通过PCIPCI配置空间配置空间进行映射进行映射。3.I/OI/O地址映射地址映射对用户用户来讲是透明的是透明的。3.3.3 I/O端口地址选用的原则端口地址选用的原则2022-3-1计算机接口技术131.凡是被系统配置占用被系统配置占用了的地址一律不能使用一律不能使用;2.未被占用的地址,原则上用户可以使用。但申明申明保留的地址保留的地址,不要使用不要使用;3.留给用户可使用的
13、端口留给用户可使用的端口地址地址:300H-31FH300H-31FH。 根据上述原则,本教材本教材扩展的接口芯片扩展的接口芯片,使用表使用表3.33.3中分配的中分配的I/OI/O端口地址端口地址。表3.3用户扩展的接口芯片I/O端口地址接口芯片名称 端口地址 82C55A 300H303H 82C54A 304H307H 8251A 308H30BH 82C79A 30CH30DH3.4 I/O 端口地址译码端口地址译码3.4.1 I/O地址译码的方法地址译码的方法2022-3-1计算机接口技术14全译码所有I/O地址线全部作为译码电路的输入参加译码。I/O地址线分为高位地址高位地址和低位
14、地址低位地址分别用来在芯片间芯片间寻址寻址和芯片内寻址芯片内寻址(接口芯片中的寄存器寻址)。在部分译码方法的基础上,加上地址开关加上地址开关来改变端口地址。3.4.2 I/OI/O地址译码电路的输入与输出信号线地址译码电路的输入与输出信号线2022-3-1计算机接口技术15全译码包括地址信号和控制信号,控制线中注意注意AENAEN的的使用。只有一个CS信号,低电平有效。3.4.3 CS的物理含义的物理含义 2022-3-1计算机接口技术16CS有效CS无效选中这个接口芯片,其内部的数据线打开,并与系统的数据总线接通,从而打通了接口电路与系统总线的通路。这个芯片未选中,其内部数据线呈高阻抗,与系
15、统的数据总线隔离开来,从而关闭了接口电路与系统总线的通路。 3.5 设计设计I/O端口地址译码电路应注意的问题端口地址译码电路应注意的问题 1.合理选用合理选用I/O端口地址范围端口地址范围 2.正确选用正确选用I/O地址译码方法地址译码方法 3.灵活选用灵活选用I/O地址译码电路地址译码电路 2022-3-1计算机接口技术173.6 I/O端口地址译码电路设计端口地址译码电路设计例例1 单个端口地址译码电路设计单个端口地址译码电路设计 1要求要求 设计I/O端口地址端口地址为2F8H的只读只读译码电路。 2分析分析 由于是单个端口地址的译码电路单个端口地址的译码电路,不需产生不需产生片选信号
16、片选信号,故采用全译码采用全译码方法方法。地址线全部作为译码电路的输入线,参加译码。 为了满足端口地址满足端口地址是是2F8H,10位位输入地址线地址线每一位每一位的取值的取值必须是如表必须是如表3.4所示所示。另外,还需要几根控制信号(AEN、IOR和IOW)参加译码。 2022-3-1计算机接口技术18表3.4固定式单端口地址2F8H的地址线取值2022-3-1计算机接口技术193 3设计设计 能够能够实现实现上述上述地址线取值地址线取值的的译码电路译码电路有很多种有很多种,一般采用IC门电路就可以实现,而且很方便。本例采用门电路实现地址译码,译码电路译码电路如图如图3.1所示所示。图3.
17、1 固定式单端口地址译码电路2022-3-1计算机接口技术20例例2 多个端口地址译码电路设计多个端口地址译码电路设计 1要求要求 设计一个系统板上的I/O端口地址译码电路,要求要求可选可选8个接口芯个接口芯片片并且让每个接口芯片每个接口芯片内部的内部的端口数目为端口数目为32个个。选用74LS138作译码器。2分析分析 多端口地址译码电路多端口地址译码电路,采用采用部分译码方法部分译码方法。高位地址线中的A9和A8两位应赋值为应赋值为0,以满足系统板上的系统板上的I/O端口地址端口地址分配在0000FFH范围内的要求;A7A6A5参加译码,参加译码,产生产生8个个接口芯片片选信号片选信号。为
18、了让每个每个被选中的芯片芯片内部拥有拥有32个端口个端口,需要需要留出5根低位地根低位地址线址线不参加译码不参加译码,作为作为芯片内部芯片内部寄存器选择寄存器选择。由上述分析可以得到译码电路译码电路10位位输入地址线地址线每一位的取值的取值,如表表3.5所示。所示。表3.5译码电路输入地址线的取值 2022-3-1计算机接口技术21对于译码器译码器74LS138的分析有两点分析有两点。一是一是它的控制信号线控制信号线应当满足应当满足G1=1, = =0时,74LS138才能进行译码才能进行译码。二是二是译码的逻辑译码的逻辑关系关系,输入输入(C、B、A)与与输出输出( )的对应关系的对应关系,
19、即真值表,如表如表3.6所示所示。2AG2BG0Y表3.674LS138的真值表2022-3-1计算机接口技术223设计设计 采用74LS138译码器设计微机系统板微机系统板上的端口地址译码电路端口地址译码电路,如图如图3.2所示所示。图3.2 微机系统配置的I/O端口地址译码电路2022-3-1计算机接口技术234.讨论讨论2022-3-1计算机接口技术241 1要求要求 设计某微机实验平台板的I/O端口地址译码电路,要求要求平台上每个接每个接口芯片口芯片的内部端口数目为端口数目为4个个,并且端口地址可选端口地址可选,其地址选择范围地址选择范围为300H31FH。2 2分析分析开关式译码电路
20、开关式译码电路可由译码器译码器、地址开关地址开关、比较器比较器或异或门异或门几种元器件组成组成。先分析3个元器件的工作原理,然后根据题目要求进行电路设计。DIPDIP开关开关有两种状态有两种状态,即合(ON)和断(OFF)。所以,要对这两种状态进行设定,可以设置设置DIPDIP开关状态开关状态为ONON=0 0,OFFOFF=1 1。我们采用74LS85 4位比较器。比较器的作用比较器的作用是把比较器比较器A A组组与与B B组的比较组的比较,转换转换成了成了地址线的值地址线的值与与DIPDIP开关状态的比较开关状态的比较。为此,把它的A组4根线与地址线连接,B组4根线与DIP开关相连。74L
21、S85比较器比较的结果有比较的结果有3 3种种:AB,AB,A=B。我们采用采用A=BA=B的结果的结果,并令当并令当A=BA=B时时,比较器输出高电平比较器输出高电平。这意味着这意味着,当当4 4位地址线的位地址线的值值与4 4个个DIPDIP开关的状态开关的状态相等时相等时,比较器输出比较器输出高电平高电平,否则否则,输出输出低电平低电平。 将比较器的比较器的A=BA=B输出线输出线连到译码器译码器74LS138的控制线的控制线G1G1上上,因此,只有当只有当4 4位地位地址线(址线(A6A6A9A9)的值)的值与4 4个个DIPDIP开关(开关(S0S0S3S3)的状态各位)的状态各位均
22、相等时均相等时,才能使74LS138的控制线G1=1,译码器才工作译码器才工作,否则,译码器不能工作。所以,如果如果改变改变DIPDIP开关的状态开关的状态,则则迫使地址线的值发生改变迫使地址线的值发生改变,才能使两者相等才能使两者相等,从而达到利用达到利用DIPDIP开关开关来来改变地址改变地址的目的的目的。例例3.3 开关式开关式I/O端口地址译码电路的设计端口地址译码电路的设计2022-3-1计算机接口技术253设计设计 根据上述分析可设计出平台板上开关式开关式I/O端口地址的译码电路端口地址的译码电路,如图图3.3所示所示。图3.3 用比较器组成的可选式译码电路2022-3-1计算机接
23、口技术26 从图3.3中可看出,高位地址线中高位地址线中,A9A8A7A6的值的值由DIP开关的开关的S3S2S1S0状态决定状态决定,4位开关位开关有16种不同的组合种不同的组合,也就是可改变可改变16种地址种地址。 按图按图3.3中中开关的状态开关的状态不难看出,由于S3和和S2断开断开,S1和和S0合上合上,故使A9=A8=1,A7=A6=0,而A5连在连在74LS138的的 上上,故A5=0。A4A3A2三根地址线作为74LS138的输入线,经译码经译码后可产生产生8个个低电平有效的选择信号选择信号 ,作为,作为实验平台板上的接口芯片选接口芯片选择择。最后剩下2根低位地址线A1和和A0
24、未参加译码未参加译码,作为寄存器选择作为寄存器选择,以实现每个接口芯片内部拥有实现每个接口芯片内部拥有4个端口个端口。 可见,图3.3的设计完全完全满足满足300H31FH端口端口地址范围地址范围和每个接和每个接口芯片内部口芯片内部具有具有4个端口个端口的设计要求的设计要求,正好与前面表3.3中所列出的端口地址分配表一致。2AG0Y7Y4.讨论讨论2022-3-1计算机接口技术27例例3.4 采用采用GAL的端口地址译码电路设计的端口地址译码电路设计1要求要求 利用GAL器件设计设计MFID多功能微机接口实验平台的I/O端口地址译码电路端口地址译码电路,其地址范围地址范围为300H31FH,包
25、括8个接口芯片个接口芯片,每个接口芯片每个接口芯片内部拥有有4个端口个端口,每个端口可读可写。2分析分析 本例要求使用GAL器件作译码器。先讨论如何选用先讨论如何选用GAL器件器件,再讨论如何利用所选的GAL来设计译码电路。一般是根据根据所需输入线所需输入线和和输出线的数输出线的数目目,来选用来选用GAL器件的型号器件的型号。(1)GAL的输入线根据题目的要求根据题目的要求,参加译码的有地址线和控制线,从地址范围地址范围300H31FH可知,10根地址线取值根地址线取值如表如表3.7所示所示。表3.7GAL器件的300H31FH范围的译码器地址线取值2022-3-1计算机接口技术28在表3.7
26、中,10位地址线的设置是位地址线的设置是:高高5位地址位地址为A9=A8=1,A7=A6=A5=0,固定不变,保证起始地址保证起始地址3000H;中间三位地址中间三位地址A4A2(IXIXIX)由GAL内部译码,产生产生8个片选个片选;最低两位地址最低两位地址A1A0(?)不参加译码(?)不参加译码,由接口芯片内部产生产生4个端口个端口。 为了减少送到为了减少送到GAL的输入线数目的输入线数目,将参加译码的8根地址线做了一些根地址线做了一些处理处理,把其中其中A9A5五根地址线五根地址线经过与非门之后经过与非门之后,其输出线其输出线YM接到接到GAL芯片芯片(见图3.5),因此,实际上送到送到
27、GAL参加译码的参加译码的只有只有4根地址根地址线线。 控制线有控制线有3根根,除AEN外,还有IOR和IOW也参加译码,满足译码产满足译码产生的端口既生的端口既可读可读又又可写可写。所以,GAL的输入线的输入线有4根地址线和3根控制线,共共7根根。(2)GAL的输出线 根据题目要求根据题目要求,需要8个片选信号个片选信号 ,所以,GAL的输出线有的输出线有8根根。 由于所要求的由于所要求的输入线输入线、输出线输出线都在都在8根线以内根线以内,故选择故选择GAL16V8正合正合适适,它有8个输入端(29)和8个输出端(1219)。0Y7Y2022-3-1计算机接口技术29(3)GAL16V8芯
28、片的外部特性 GAL16V8有20个引脚,如图3.4所示,它有8个输入端(29),8个输出端(1219),1个时钟CLK输入端(1)和1个输出允许OE控制端(11)。其中除了8个输入引脚(29)固定作输入之外,还可以把8个输出引脚(1219)配置成输入引脚作为输入使用,因此,这个芯片最多可有最多可有16个输入引脚个输入引脚,而输出引脚最多为输出引脚最多为8个个,这就是这就是GAL16V8中两个数字(中两个数字(16和和8)的)的含义含义。 图3.4 GAL16V8的引脚 2022-3-1计算机接口技术303设计设计(1)硬件设计)硬件设计 根据上述分析,采用采用GAL16V8设计的MFID多功
29、能微机实验平台I/O端口地址译码电路端口地址译码电路如图如图3.5所示所示。(2)软件设计)软件设计 使用使用GAL器件进行译码电路设计器件进行译码电路设计,与以往的SSI、MSI的IC器件不同,除了除了进行硬件设计外进行硬件设计外,还要还要根据所要求的逻辑功能和编程工具所要求的格式编写编写GAL的编程输入源文件的编程输入源文件。该文件该文件把把逻辑变量之间的逻辑变量之间的函数关系函数关系(输入与输出输入与输出的关系的关系)变换为变换为阵列结构的阵列结构的与与-或关系(和或关系(和-积式)积式)。再借助于编程工具再借助于编程工具生成生成GAL器件器件熔丝状态分布图熔丝状态分布图及及编程代码编程代码文件文件,最后将编程代码最后将编程代码“烧到烧到”GAL内部内部。图3.5 采用GAL16V8的地址译码电路2022-3-1计算机接口技术31GAL16V8的的编程输入源文件编程输入源文件如下如下/Y0=A9*A8*/A7*/A6*/A5*/A4*/A3*/A2*/AEN*/IOR+ A9*A8*/A7*/A6*/A5*/A4*/A3*/A2*/AEN*/IOW/Y1=A9*A8*/A7*/A6*/A5*/A4*/A3*A2*/AEN*/IOR+ A9*A8*/A7*/A6*/A5*/A4*/A3*A2*/AEN*/IOW/Y2=A9*A8*/A7*/A6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026顶峰滑雪公司招聘2人备考题库附答案详解(综合卷)
- 2026云南大学附属医院面向社会招聘非事业编制工作人员51人备考题库及答案详解(夺冠)
- 2026北京一零一中教育集团矿大分校招聘备考题库附答案详解
- 2026四川德阳绵竹市第三人民医院招聘5人备考题库附答案详解(达标题)
- 2026郴州自贸建设有限公司湖北十堰户用分布式光伏项目部劳务用工招聘6人备考题库附答案详解
- 2026湖南邵阳武冈市事业单位及市属国有企业人才引进36人备考题库含答案详解(完整版)
- 关爱他人教学设计
- 践行文化使命凝聚奋进力量奋力书写新时代文博事业高质量发展新篇章
- 珠宝包装与配送管理手册
- 小学班主任班级管理与日常工作手册
- 2026内蒙古呼和浩特市北兴产业投资发展有限责任公司及所属子公司招聘27人笔试参考题库及答案解析
- 交通运输局审核审批制度
- (2026)医务人员手卫生规范课件
- 2026年成人高考药学(本科)真题单套试卷
- 2026广东潮州城市建设投资集团有限公司及下属公司招聘15人考试备考题库及答案解析
- 颅脑损伤恢复期的护理查房
- 孟山都新员工入职培训
- 【25新版】七年级下册《道德与法治》28天早背晚默
- 2025年贵州银行春招笔试真题及答案
- 招229人!2026年上半年云南省交通运输厅所属事业单位公开招聘笔试参考题库及答案解析
- 电力公司安全文化建设实施方案
评论
0/150
提交评论