收藏 分享(赏)

2.第二章 IO端口地址译码技术.ppt

上传人:myw993772 文档编号:9814699 上传时间:2019-09-07 格式:PPT 页数:41 大小:405.50KB
下载 相关 举报
2.第二章 IO端口地址译码技术.ppt_第1页
第1页 / 共41页
2.第二章 IO端口地址译码技术.ppt_第2页
第2页 / 共41页
2.第二章 IO端口地址译码技术.ppt_第3页
第3页 / 共41页
2.第二章 IO端口地址译码技术.ppt_第4页
第4页 / 共41页
2.第二章 IO端口地址译码技术.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、第 2 章,I/O端口地址译码技术,第2章 I/O端口地址译码技术,教学重点I/O端口及其编址方式I/O端口地址分配I/O端口地址译码GAL器件的应用,2.1 I/O端口及其编址方式 一、 I/O端口和I/O操作,端口:是接口电路中能被CPU直接访问的寄存器的地址I/O操作:对I/O端口而不是对I/O设备的操作,二、I/O端口的编址方式,接口电路占用的I/O端口有两类编排形式 I/O端口单独编址 I/O地址空间独立于存储地址空间 如8086/8088 I/O端口与存储器统一编址 它们共享一个地址空间 如M6800,1. I/O端口与存储器统一编址,优点: 不需要专门的I/O指令 I/O数据存取

2、与存储器数据存取一样灵活 缺点: I/O端口要占去部分存储器地址空间 程序不易阅读(不易分清访存和访问外设),访问方式:MOV,2. I/O端口独立编址,优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富,80x86采用I/O端口独立编址,访问内存: MOV 访问端口:IN 、 OUT,三、独立编址方式的端口访问,输入指令 IN AL,i8/DX ;字节输入 IN AX,i8/DX ;字输入 输出指令 OUT i8/DX,AL ;字节输出 OUT i8/DX,AX ;字输出,2.2 I/O 端口地址分配,一、 I/

3、O 端口地址范围,1. 地址总线:20根 (1M)I/O地址线:16根 (64K)IBM PC的I/O 地址线:10根(1k)2. 地址范围:00 3FF,1. 接口分类系统板上的I/O 芯片(8253,8259,8255等)I/O 扩展槽上的接口控制卡(声卡,网卡,游戏卡等) 2. 地址分配 系统板上的I/O 接口芯片: 00FFH扩展槽上的I/O 接口控制卡: 1003FF串口: 3F8H、 2F8H 3. 表2.1、2.2:地址盈余;用户可用地址,二、 I/O 端口地址分配(00 3FF),系统板上的接口芯片(8253、8259、8255等):IN AL,80H 扩展槽接口卡(显卡,网卡

4、,游戏卡等):MOV DX,3F4HIN AL,DX,三、独立编址方式的端口访问 1. I/O指令中的端口地址宽度,CPU,端口,CPU,内存,不涉及到内存如果要向内存送数据:输入:MOV DX , 300H ; IN AL , DX ;MOV DI , AL ;,2. I/O端口的访问,3. I/O端口地址选用的原则,凡是被系统配置所占用了的地址一律不能使用 对计算机厂家申明保留的地址,不要使用 一般,用户可使用300-31FH地址,为避免冲突,最好采用地址开关,2.3 I/O 端口地址译码电路,一、概述 1. 概念 译码电路将地址总线上的地址代码翻译成所需要访问的端口。其作用是把地址和控制

5、信号进行逻辑组合,从而产生对接口芯片的选择信号。2. 译码电路输入端地址线 _ _ 控制线(AEN, IOR, IOW ),3. 译码电路的输出端CS 打开接口电路与系统总线的通路二、译码方法I/O接口芯片片选译码IOW/IOR信号(有效)、AEN信号(无效)和高位地址线。(参考P14)I/O接口芯片内部端口译码:低位地址线。,I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点: 部分译码时,通常是中间地址线不连接 部分译码也有最低地址线不连接的情况 每个接口电路通常只占用几个I/O地址,这时可以利用基本逻辑门电路进行地址译码 除采用译码器、门电路进行译码外,I/O地址译码还经常采用

6、可编程逻辑器件PLD 为了给系统一定的选择余地,有些接口电路利用比较器、开关或跨接器等进行多组I/O地址的译码,给几个 译码实例,三、I/O端口地址译码电路设计,IBM PC/AT主机板的I/O译码电路,IBM PC/XT主机板的I/O译码电路,逻辑门电路进行I/O地址译码,接口中用到的地址不能更改,分为单端口地址译码和多个端口地址译码两种情况例1. 使用74LS30/20/32和74LS04设计2F8的只读译码电路表2.3 译码电路输入地址线的值,1. 固定式端口地址译码,&,A9,A8,A7,A3,A2,&,A1,A0,AEN,_ IOR,1,D0D7,A9 A8 A7 A6 A5 A4

7、A3 A2 A1 A01 0 1 1 1 1 1 0 0 0,(地址为2F8的只读译码电路),CPU,_ IOR,AEN,_ IOW,MOV DX , 2F8hIN AL, DX,74LS04,74LS30,74LS20,74LS32,0,0,0,CS,2F8H,例2:使用74138译码器设计一个系统板上接口芯片的端口地址译码电路,每个芯片内部端口数目为32个,表2.4 译码电路输入地址线的值,可以通过开关使接口卡的端口地址加以改变而无须改动线路 例3 :设计扩展槽上接口卡的端口地址译码电路,每个接口卡内部端口数目为4个,要求端口地址可选,二、可选式端口地址译码,表2.6 译码电路输入地址线的

8、值,_ Y6,_ Y1,_ Y7,.,_ Y0,A0 A1 A2 A3B0 B1 B2 B3 A=BAB,A6,A7,A8,A9,vcc,GND,74LS85,(扩展槽上接口卡的地址译码电路),0,0,1,1,0,0,1,1,1,0,300H303H,31C31FH,端口0,端口1,端口2,端口3,0,地址范围:300H303H,_ Y0,决定具体选中哪一个扩展卡,以Y0为例:,通过跳线控制其逻辑电平组合,A9 A8 A7 A6 A5 A4 A3 A2 A1 A01 1 0 0 0 0 0 0 0 01 1 0 0 0 0 0 0 0 11 1 0 0 0 0 0 0 1 01 1 0 0 0

9、 0 0 0 1 1,.,I1,_OE,. . . . . .,1 20 2 19 3 18 4 178 13 9 12 10 11,CLK,I8,GND,F8,F1,VCC,. . . . . .,GAL 16V8,编程器,F1= I1 + I2,GAL是由美国LATTICE公司生产的一种可编程逻辑器件,通过编程器,它可以构成我们所需要的各种组合或时序逻辑电路,2.4 GAL器件的应用 一、 GAL器件的特点,I2,I3,F2,F3,1.开发工具硬件:编程器软件:编辑程序(EDIT),汇编程序(FM) 2.开发步骤用EDIT按一定格式编写GAL设计说明书将编好的设计说明书以扩展名.PLD存盘

10、使用FM.EXE对PLD文件进行汇编,将会生成 扩展名分别.LST、 .PLT、.JED 三个文件使用编程器将.JED 文件烧到GAL芯片内,二、 GAL器件的开发,.PLD文件,. LST . JED . PLT,EDIT,FM汇编程序,GAL16V8芯片,译码逻辑,编程器,(/F1= I1 + I2),a9 a8 a7 a6 a5 a4 a3 a2 a1 a01 1 0 0 0 0 0 0 0 01 1 0 0 0 0 0 0 0 11 1 0 0 0 0 0 0 1 01 1 0 0 0 1 1 1 1 1,例5: 给定某个接口芯片端口地址范围为 30031FH, 使用设计其地址译码电路

11、,地址总线,译码逻辑:CS = A9 * A8 * /A7 * /A6 * /A5,MOV DX,301H IN AL,DX,端口0,端口1,端口31,A4,A3,A2,A1,A0,A4A0,D0D7,CPU,30031FH,300,301,端口1,302,31F,端 口 译 码 电 路,A5,A6,A7,A8,A9,CS,Y0,1,1,0,0,0,0 0001,0,(1 1111),( 31FH ),MOV DX,301H IN AL,DX,端口0,端口1,端口31,A4,A3,A2,A1,A0,A4A0,D0D7,CPU,30031FH,300,301,端口1,302,31F,&,A5,A

12、6,A7,A8,A9,CS,Y0,1,1,0,0,0,0 0001,0,Y0,Y7,A,B,C,G1,Y1,A5,A6,A7,A8,A9,A0,A1,A2,A3,A4,CS,D0D7,0,0,0,1,1,A4A0,0 0001,端口0,端口1,端口31,300,301,端口1,302,31F,0,MOV DX,301H IN AL,DX,MOV DX,301H IN AL,DX,端口0,端口1,端口31,A4,A3,A2,A1,A0,A4A0,D0D7,CPU,30031FH,300,301,端口1,302,31F,端 口 译 码 电 路,A5,A6,A7,A8,A9,AEN,IOW,IOR,

13、CS,Y0,1,1,0,0,0,0 0001,0,(1 1111),( 31FH ),GAL16V8,Y0 = A9*A8*/A7 */A6 */A5*/AEN*/IOR + A9*A8*/A7 */A6 */A5*/AEN*/IOWF1= I1*I2*/I3 */I4 */I5 * F8 */I6*/I7 + I1*I2*/I3 */I4 */I5 * F8 */I6* /I8,NC VCC I1 F1 . F2 . . . . . . I6 . I7 I8 F8 GND NC,VCC,AEN,IOR,IOW,GND,A6,A9,A8,A7,A5,10,11,给引脚命名,引脚之间的逻辑关系,

14、GAL16V8 AA (标题) AD (作者、日期) DECODER (电子标签) NC I1 I2 I3 I4 I5 I6 I7 I8 GND NC F8 F7 F6 F5 F4 F3 F2 F1 VCC /F1= I1*I2*/I3 */I4 */I5*/I6*/I7 + I1*I2*/I3 */I4 */I5*/I6*/I8 DESCRIPTION,设计说明书:,介绍74LS245,8位双向缓冲器 控制端连接在一起, 低电平有效 可以双向导通 输出与输入同相,E*0,导通DIR1 ABDIR0 AB E*1,不导通,端口地址译码举例:,例 现有8253芯片一块,要求在编程时CPU使用30

15、4H307H分别访问芯片的4个端口,设计其端口地址译码电路,写出译码表达式并设计出其与CPU的连接图。,8253,A0,A1,CS,0#,1#,2#,命令口,304H 307H,M,&,CS= A9 * A8 * A7 * A6 * A5 * A4 * A3 * A2,方法1:使用基本的逻辑门,A9 A8 A7 A6 A5 A4 A3 A2 A1 A01 1 0 0 0 0 0 1 X X,NO:1,NO:2,CPU,D0-D7,D0-D7,8253,A0,A1,CS,0#,1#,2#,命令口,304H 307H,2,3,4,5,6,7,8,9,15,方法2:使用GAL芯片,D0-D7,D0-

16、D7,GAL16V8 AA AD DECODER NC I1 I2 I3 I4 I5 I6 I7 I8 GND NC F8 F7 F6 F5 F4 F3 F2 F1 VCC/F5= I8 * I7 * / I6 * / I5 * / I4 * / I3 * / I2 * I1 DESCRIPTION,设计说明书:,例 使用GAL芯片设计端口地址译码电路,地址范围为300H3FFH,分成16个段,每段4个芯片,每个芯片内部有4个端口 (用黑板讲),本章重点:地址译码,二级译码?选中芯片? 译码的方法:常规(固定式端口译码与可选式端口译码);GAL 两种端口编址方式? 两种端口的访问方式? 地址译码的唯一性,如P14例1,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报