微机接口技术教学课件作者第二版电子教案王成端第4章

上传人:E**** 文档编号:90921881 上传时间:2019-06-20 格式:PPS 页数:67 大小:1.56MB
返回 下载 相关 举报
微机接口技术教学课件作者第二版电子教案王成端第4章_第1页
第1页 / 共67页
微机接口技术教学课件作者第二版电子教案王成端第4章_第2页
第2页 / 共67页
微机接口技术教学课件作者第二版电子教案王成端第4章_第3页
第3页 / 共67页
微机接口技术教学课件作者第二版电子教案王成端第4章_第4页
第4页 / 共67页
微机接口技术教学课件作者第二版电子教案王成端第4章_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《微机接口技术教学课件作者第二版电子教案王成端第4章》由会员分享,可在线阅读,更多相关《微机接口技术教学课件作者第二版电子教案王成端第4章(67页珍藏版)》请在金锄头文库上搜索。

1、第4章,地址译码技术及存储器接口,第4章 地址译码技术及存储器接口,学习目标: 掌握I/O端口的概念及端口地址编址方式。 理解常用的访问端口的程序语句。 掌握端口地址译码不同的实现方法。重点掌握一般的地址译码原则和端口地址范围的计算。 了解GAL器件的特点以及在地址译码电路中的作用。应掌握使用GAL16V8进行译码设计的过程以及应注意的问题。 掌握典型的SRAM、DRAM、 EPROM与CPU的连接方式,重点掌握三总线的连接,不同的连接方法时地址范围的计算。,返回上一级,第4章 地址译码技术及存储器接口,本章目录: 4.1 I/O端口的寻址方式 4.2 I/O端口地址译码 4.3 GAL在I/

2、O地址译码电路中的应用 4.4 半导体存储器接口 习题与思考题,返回上一级,4.1 I/O端口的寻址方式,4.1.1 I/O端口 4.1.2 端口地址编址方式 4.1.3 端口访问指令 4.1.4 I/O端口地址分配和选用,返回上一级,4.1.1 I/O端口,I/O端口 微处理器CPU与I/O设备直接通信的地址。实际应用中,通常把I/O接口电路中能被CPU直接访问的寄存器或某些特定器件称为端口。,返回上一级,4.1.2端口地址编址方式,1统一编址 从存储空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令。与地址线结合,形成一个独立的I/O

3、空间。 优点:使用访问存储器的指令,指令类型多,功能齐全;给端口有较大的编址空间。 缺点:端口占用了存储器的地址空间,使存储器容量减小;指令长度比专门I/O指令要长,因而执行时间较长。,返回上一级,2独立编址 微处理器设置专门的输入/输出指令来访问端口,产生专用访问检测信号,与地址线结合,形成一个独立的I/O空间。 优点:(1)输入/输出指令和访问存储器的指令有明显的区别,可使程序编制清晰,便于理解。(2)使用专门的控制信号。 缺点是:输入/输出指令类型少,一般只能对端口进行传送操作。,返回上一级,4.1.3端口访问指令,18086/8088采用I/O端口与累加器之间的传送 280286和80

4、386支持I/O端口直接与RAM之间的数据传送 3C语言中的端口读写函数 4运行于Windows 9X环境下的VC(Visual C+)程序 5Win2K下VC+与VB,返回上一级,18086/8088采用I/O端口与累加器之间的传送,在I/O指令中可采用单字节地址或双字节地址寻址方式。 若用单字节地址,则最多可访问256个端口。系统主机板上的I/O端口,采用单字节地址,并且是直接寻址方式: 输入 IN AX,PORT (输入16位数据) IN AL,PORT (输入8位数据) 输出 OUT PORT,AX (输出16位数据) OUT PORT,AL (输出8位数据) 这里,PORT是一个8位

5、的字节地址。,返回上一级,若用双字节地址作为端口地址,则最多可寻址64K个端口。I/O扩展的接口控制卡,采用双字节地址,并且是寄存器间接寻址方式,端口地址放在寄存器DX中: 输入 MOV DX,XXXXH IN AX,DX ;16位传送 或 IN AL,DX ;8位传送 输出 MOV DX,XXXXH OUT DX,AX ;16位传送 或 OUT AL,DX ;8位传送 这里,XXXXH为16位的两字节地址。,返回上一级,280286和80386I/O端口直接与RAM之间的数据传送,输入 MOV DX,PORT LES DI,BUFFER_IN INSB ;8位传送 (INSW) ;16位传送

6、 输出 MOV DX,PORT LDS SI,BUFFER_OUT OUTSB ;8位传送 (OUTSW) ;16位传送 这里的输入/输出是对RAM而言的。在INS和OUTS指令前加上重复前缀REP,则可实现I/O设备与RAM之间成批数据的传输。,返回上一级,3C语言中的端口读写函数,C语言中的几个库函数就是为端口读写设置的,这些库函数实际上是调用了汇编的IN/OUT指令。 在接口设计中,常用到的Turbo C函数如下: inportb( ) outport( ) clrscr( ) getch( ) kbhit( ) delay( ) sound( ),返回上一级,【例】 利用inportb

7、( )函数从指定的输入端口2F0H 读取一个字节的数据,并显示在屏幕上。 Inportb( )的原型为:inport(int port),头文件为dos.h main( ) unsigned char c; c=inport(0x2f0); printf(“data=%0x”,c); 【例】 将一个字节输出到输出端口360H。 outport( )的原型: void outportb(int port,unsigned char value); 头文件为dos.h 程序: main( ) outport(0x360,0x55);,C语言中的端口读写函数举例,4 Win98下VC(Visual

8、C+)程序,一是在C源程序中嵌入汇编代码: _asm mov dx,264h mov al,100 out dx,al 第二种方法是调用函数_inp 和_outp,前者用来读字节型端口的数据,后者将数据输出到字节型端口。,返回上一级,5Win2K下VC+与VB,在Windows 2000环境下,要和端口打交道,必须编写相应的设备驱动程序。 在将编好的设备驱动程序安装之后: VC+源程序中对I/O端口最直接的访问是调用控制I/O操作的API函数(DeviceIoControl); VB本身不支持对I/O端口的访问,可以编写动态链接库的方法,使其能实现对I/O端口的访问。,返回上一级,4.1.4

9、I/O端口地址分配和选用,不同的微机系统对I/O端口地址的分配是不同的。 PC/XT和PC/AT系统提供了A0A9这10位地址线作为I/O端口地址,总共1024个端口。其中,前256个端口(0000FFH)供系统板上的I/O接口芯片使用;后756(1003FFH)为扩展槽上的I/O接口控制卡使用。,返回上一级,返回上一级,返回上一级,选I/O端口地址时注意问题,(1)凡是已被系统配置所占用的地址一律不能使用。 (2)原则上讲,未被占用的地址用户可以使用,但对计算机厂家申明保留的地址,不要使用,否则,会发生I/O端口地址重叠和冲突造成你开发的产品与系统不兼容而失去使用价值。 (3)一般用户可使用

10、30031FH地址。在用户可用的I/O地址范围内,为了避免与其他用户开发的插板发生地址冲突,最好采用地址开关。,返回上一级,4.2 I/O端口地址译码,4.2.1 I/O端口地址译码方法 4.2.2 固定式端口地址译码 4.2.3 开关式可选端口地址译码,返回上一级,4.2.1 I/O端口地址译码方法,I/O端口地址译码的方法,通常是由地址信号和控制信号的不同组合来选择端口地址。 一般把地址信号分为两部分: 1、高位地址线与CPU或总线的控制信号组合,经过译码电路产生一个片选信号去选择某个I/O接口芯片,从而实现接口芯片的片间寻址; 2、低位地址线直接连到I/O接口芯片,经过接口芯片内部的地址

11、译码电路来选择该接口电路的某个寄存器端口,即实现接口芯片的片内寻址。,返回上一级,I/O端口地址译码相关信号,I/O地址译码电路: 用A0A910根地址线对端口地址范围限定 利用IOR、IOW信号控制对端口的读写。 用AEN信号控制非DMA传送。 用I/O CS16信号控制是8位还是16位的I/O端口 用SBHE(或BHE)信号控制端口奇偶地址。,返回上一级,4.2.2 固定式端口地址译码,所谓固定译码是指接口中用到的端口地址不能更改。 一般接口卡中大部分都采用固定式译码。 (1)用门电路进行端口地址译码 (2)用译码器进行端口地址译码,返回上一级,门电路2F8H端口读译码电路,返回上一级,门

12、电路2E2H端口读写译码电路,返回上一级,3-8译码器74LS138的真值表,返回上一级,PC/XT系统板上的端口地址译码电路,返回上一级,4.2.3 开关式可选端口地址译码,使用开关式端口地址译码的优点: 适应不同的地址分配方法 便于系统以后的扩充 电路结构形式: (1)用比较器和地址开关进行地址译码 (2)使用跳线的可选式译码电路,返回上一级,8位比较器74LS688的可选式译码电路,返回上一级,4.3 GAL器件应用,4.3.1 GAL器件的特点 4.3.2 GAL器件的开发过程及工具 4.3.3 采用GAL的I/O地址译码电路设计,返回上一级,可编程逻辑器件PLD,可编程逻辑器件PLD

13、(Programmable Logic Device),专用集成电路ASIC(Application Specific Integrated Circuit)中的一个重要分支。 灵活的现场可编程特性,较高的功能集成度和较快的速度。简化了电路设计,降低了成本,提高了系统的可靠性和保密性,而且对数字系统的设计方法带来了革命性的变化。 应用较多的PLD器件有GAL(Generic Array Logic,通用阵列逻辑),EPLD(Erasable Programmable Logic Device) 和FPGA(Field Programmable Gate Array)。,返回上一级,GAL的基本

14、结构,GAL主要是由可编程的与阵列、固定(不可编程)的或阵列、可编程的输出逻辑宏单元(OLMC)三部分电路组成。 GAL是利用EEPROM浮栅技术制成的器件。,(1)GAL16V8的19和11引脚固定作输入使用,1318也可以配置成输入引脚,因此输入最多可为16个。GAL16V8最多可配置8个输出逻辑宏单元(OLMC12OLMC19)。,返回上一级,(2)GAL16V8的与阵列有64条行线和32条列输入线,与阵列共分8个阵列块。每个阵列块有8条行线,每条行线接一个与门。 (3)GAL16V8系列器件的OLMC共有3种工作模式,它们是寄存器模式、复杂模式、简单模式。 (4)行线是与门的输入线,列

15、输入线是输入信号提供线。与门输出的乘积项由行线和列输入线交叉点处的可编程单元的编程情况决定。 (5)1号引脚(I/CLK)经一级缓冲器引至OLMC的CK端和OLMC19的M端。,返回上一级,GAL的特点,(1)实现多种逻辑功能,它可以实现组合逻辑电路和时序逻辑电路的多种功能。经过编程可以构成多种门电路触发器、寄存器、计数器、比较器、译码器、多路开关或控制器等。使系统缩小体积,提高可靠性,并简化了印刷电路板的设计。 (2)采用电擦除工艺,门阵列的每个单元可以反复改写(至少100次)。 (3)具有硬件加密单元,可以防止抄袭电路设计和非法复制。 (4)速度高而功耗低。,返回上一级,4.3.2 GAL

16、器件的开发过程及工具,必须借助GAL的开发软件和硬件(编程写入器,统称为编辑器)以及计算机,对其编程写入后,才能使空白的GAL芯片具有预期的逻辑功能。 由GAL的阵列结构决定,除了对GAL的与阵列需要编程外,还需要对其结构控制字阵列、用户标签阵列、整体擦除位、加密位等进行编程。,返回上一级,1PLD(GAL)开发工具,PLD开发系统主要由两部分组成: 硬件,微机计算机及编程器; PLD开发软件。 常用的HDL语言有ABEL、VHDL等。 设计方法: 逻辑方程(布尔方程)、真值表和状态图,返回上一级,2PLD(GAL)器件设计的一般步骤,(1)设计构思。即用真值表、逻辑方法和状态图这三种方法中的任一种,将所要设计的问题变为设计文件。 (2)选择器件型号。根

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号