微机接口技术基础原理第三章地址译码技术及存储器接口_第1页
微机接口技术基础原理第三章地址译码技术及存储器接口_第2页
微机接口技术基础原理第三章地址译码技术及存储器接口_第3页
微机接口技术基础原理第三章地址译码技术及存储器接口_第4页
微机接口技术基础原理第三章地址译码技术及存储器接口_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1、微机接口技术基础原理第三章 地址译码技术及存储器接口第3章 地址译码技术及存储器接口学习目标: 掌握I/O端口的概念及端口地址的编址方式; 掌握访问I/O端口的指令; 掌握固定式端口地址译码、开关式可选端口地址译码的实现方法。重点掌握地址译码的原则和端口地址范围的计算方法; 了解GAL器件的特点及其在地址译码电路中的作用。掌握用GAL16V8进行译码设计的过程以及应注意的问题; 掌握SRAM、DRAM、 EPROM与CPU典型的连接方式。重点掌握三总线的连接以及采用不同的连接方法时地址范围的计算方法。第3章 地址译码技术及存储器接口本章目录:3.1 I/O端口3.2 I/O端口地址译码3.3

2、GAL器件在I/O地址译码电路中应用3.4 半导体存储器接口习题与思考题3.1 I/O端口3.1.1 I/O端口概述3.1.2 端口编址方式3.1.3 端口访问指令3.1.4 I/O端口地址分配返回上一级3.1.1 I/O端口概述I/O接口: CPU与外围设备连接的中间部件(电路),是CPU与外界进行信息交换的电子系统。I/O端口:I/O接口电路中能被CPU直接访问的寄存器或某些特定器件称为端口。CPU通过这些端口发送命令、读取状态和传送数据。3.1.2 端口编址方式1统一编址 从存储空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令。与

3、地址线结合,形成一个独立的I/O空间。2独立编址 微处理器设置专门的输入/输出指令来访问端口,产生专用访问检测信号,与地址线结合,形成一个独立的I/O空间。两种编址方式的比较优点缺点统一编址使用访问存储器的指令,指令类型多,功能齐全;端口编址空间大。占用存储器的地址空间,使存储器容量减小指令长度比I/O指令要长,执行时间较长。独立编址I/O指令和访问存储器的指令区别明显,使程序清晰,便于理解。使用专门的控制信号。I/O指令类型少,一般只能对端口进行传送操作。优缺点编址方式3.1.3 端口访问指令1) 16位汇编指令:端口输入输出指令(累加器专用传送指令): IN、OUT2) 32位汇编指令:端

4、口输出字(节)串指令: INSB、INSW、OUTSB、OUTSW3) C语言I/O语句:inport(), outport();4) C+语言I/O语句:_inp(), _outp();汇编语言中的累加器专用传送指令:IN :输入指令。该指令将一个字或一个字节由输入端口传送到AX或AL中。 合法格式:IN 累加器 ,端口号 例: IN AL , 0 x23H1端口输入输出指令OUT:输出指令。该指令将AX中的16位数或AL中的8位数输出到端口。 合法格式:OUT 端口号,累加器 例: OUT 0 x23H , AL 例:I/O端口与累加器传送数据 假设PORT是一个8位的字节地址,则最多可寻

5、址256个端口 输入 IN AX,PORT (输入16位数据) IN AL,PORT (输入8位数据)输出 OUT PORT,AX (输出16位数据) OUT PORT,AL (输出8位数据) 例:I/O端口与累加器传送数据 若用双字节地址作为端口地址,则最多可寻址64K个端口 输入 MOV DX,XXXXH IN AX,DX ;16位传送或 IN AL,DX ;8位传送输出 MOV DX,XXXXH OUT DX,AX ;16位传送或 OUT AL,DX ;8位传送2端口输入输出字(节)串指令INSB : 端口输入字节串 合法格式: INSB;INSW : 端口输入字串 合法格式: INSW

6、;OUTSB:端口输出字节串 合法格式: OUTSB;OUTSW:端口输出字串 合法格式: OUTSW;目的地址传送指令LDS 传送目标指针,把指针内容存入DS 指令格式: LDS 目标寄存器 ,源操作数 指令功能:把4个字节地址指针(包括一个段地址和一个偏移地址)从源操作数指定的4个存储单元取出,低地址的两个字节送目的寄存器,高地址的两字节送DS寄存器。 LES 传送目标指针,把指针内容存入ES目的地址传送指令例:端口直接与RAM之间传送数据输入 MOV DX,PORT LES DI,BUFFER_IN INSB ;8位传送 (INSW) ;16位传送输出 MOV DX,PORT LDS S

7、I,BUFFER_OUT OUTSB ;8位传送 (OUTSW) ;16位传送。3C语言中的端口读/写函数在接口设计中,常用到的Turbo C函数如下:inportb( ):从指定端口读入一个字节原型:void inportb (int port);outport( ):从指定端口输出一个字节原型:void outportb (int port, unsigned char value);clrscr( ): 清除文本模式窗口 清屏的意思 原型:void clrscr(void); getch( ): 从控制台读取一个字符,但不显示在屏幕上 原型:int getch(void) 3C语言中的端

8、口读/写函数 (续)kbhit( ): 检查当前是否有键盘输入,若有则返回一个 非0值,否则返回0 原型: int kbhit(void); delay( ): 延时原型:void delay(int ms); sound( ): 以指定频率打开PC扬声器原型: void sound(unsigned frequency); C语言中的端口读/写函数示例【例】 利用inportb( )函数从指定的输入端口2F0H读取一个字节的数据,并显示在屏幕上。 main( ) unsigned char c; c = inport(0 x2f0); printf(“data = %0 x”,c); C语言

9、中的端口读/写函数示例【例】 将一个字节输出到输出端口360H。 main( ) outport (0 x360, 0 x55); 4 用Win98下VC(Visual C+)语言访问端口1)在C源程序中嵌入汇编代码: _asm /* 内联汇编 */ mov dx,264h mov al,100 out dx,al 4 用Win98下VC(Visual C+)语言访问端口2) 用_inp(), _outp()函数_inp :从端口输入一个字节。 原型:int _inp( unsigned short port ); 例:int Port=0 x08; int Byte; Byte=_inp(P

10、ort);_outp:将数据输出到字节型端口。 原型:int _ outp( unsigned short port, unsigned char value);3.1.4 I/O端口地址分配1) PC微机I/O端口有16根,对应的I/O端口编址可达64K字节。2) 其端口地址译码采用非完全译码方式,既只考虑了低10位地址线:A9A0,而没有考虑高6位地址线A15A10。3) I/O端口地址范围是:0 x00000 x03ff,总共1024个端口。其中,前256个端口(0000FFH)供系统板上的I/O接口芯片使用;后756(1003FFH)为扩展槽上的I/O接口控制卡使用系统主板上I/O接口

11、芯片的端口地址I/O扩展槽上接口控制卡的端口地址选I/O端口地址时注意问题 凡是已被系统配置所占用的地址一律不能 使用。 未被占用的地址,用户可以使用,但申明保留的地址不能使用。 一般用户可使用30031FH地址。3.2 I/O端口地址译码3.2.1 I/O端口地址译码方法3.2.2 固定式端口地址译码3.2.3 开关式可选端口地址译码返回上一级3.2.1 I/O端口地址译码方法I/O端口地址译码的方法,通常是由地址信号和控制信号的不同组合来选择端口地址。一般把地址信号分为两部分: 高位地址线与CPU或总线的控制信号组合,经过译码电路产生一个片选信号去选择某个I/O接口芯片,从而实现接口芯片的

12、片间寻址; 低位地址线直接连到I/O接口芯片,经过接口芯片内部的地址译码电路来选择该接口电路的某个寄存器端口,即实现接口芯片的片内寻址。I/O端口地址译码相关信号I/O地址译码电路不仅有地址信号有关还与控制信号有关: 用A0A910根地址线对端口地址范围限定 利用IOR、IOW信号控制对端口的读写。 用AEN(DMA控制器地址允许输出端)信号控制非DMA传送。 用I/O CS16(ISA总线I/O16位片选信号)信号控制是8位还是16位的I/O端口 用SBHE(或BHE)信号控制端口奇偶地址。 3.2.2 固定式端口地址译码固定式端口译码: 接口中用到的端口地址不能更改。一般接口卡中大部分都采

13、用固定式译码。 固定式端口译码方法: (1)用门电路进行端口地址译码 (2)用译码器进行端口地址译码用门电路进行端口地址译码门电路:与门、非门、或门、与非门、或非门等74LS30为 8 输入与非门74LS20为 4 输入与非门74LS32为 2 输入或门74LS04为 6 输入非门(反相器)用门电路进行端口地址译码如何用门电路设计2F8H端口的译码电路用门电路进行端口地址译码2F8H端口读译码电路8 输入与非门4 输入与非门2 输入或门6 输入非门4 输入与非门用门电路进行端口地址译码2E2H端口读写译码电路用译码器进行端口地址译码译码器: 2-4线译码器 74LS1393-8线译码器 74L

14、S1384-16线译码器 74LS154 74LS138 译码器A Y0B Y1C Y2 Y3 G1 Y4 G2A Y5G2B Y6 Y7 译码输出译码输入译码使能用译码器进行端口地址译码3-8译码器74LS138的真值表用译码器进行端口地址译码PC/XT系统板上的端口地址译码电路3.2.3 开关式可选端口地址译码使用开关式端口地址译码的优点:(1)适应不同的地址分配方法(2)便于系统以后的扩充 电路结构形式:(1)用比较器和地址开关进行地址译码(2)使用跳线的可选式译码电路8位比较器74LS688的可选式译码电路开关式可选端口地址译码3.3 GAL器件应用3.3.1 GAL器件的特点3.3.

15、2 GAL器件的开发过程及工具3.3.1 GAL器件的特点什么是GAL器件 GAL(Generic Array Logic,通用阵列逻辑)是PLD (Programmable Logic Device,可编程逻辑器件)的一种,包含几百个门电路。可根据需要设计成多种专用集成电路。3.3.1 GAL器件的特点实现多种逻辑功能,它可以实现组合逻辑电路和时序逻辑电路的多种功能。采用电擦除工艺,门阵列的每个单元可以反复改写(至少100次)。具有硬件加密单元,可以防止抄袭电路设计和非法复制。速度高而功耗低。GAL器件的特点:3.3.1 GAL器件的特点用GAL器件进行I/O地址译码的优点: 廉价 具有较高

16、集成度,体积下,可靠性高 可被多次修改和反复使用 运行速度快 生产周期短3.3.2 GAL器件的开发过程及工具GAL开发工具: 编程写入器 PLD的开发软件 计算机设计构思。用真值表、逻辑方法、状态图三中的任一种将所要设计的问题变为设计文件。选择器件型号。根据设计要求,选择合适的工业器件型号,要考虑到输入、输出的引脚数目,是组合逻辑器件还是时序逻辑器件等。将设计文件按照所应用的HDL语言的要求,写成源文件,然后上机编译、仿真和测试。编程器编程。将生成的编程文件下载到编程器,对器件编程。3.3.2 GAL器件的开发过程及工具GAL器件的开发过程:3.4 半导体存储器接口3.4.1 半导体存储器接

17、口的基本技术3.4.2 SRAM与CPU的连接3.4.3 DRAM与CPU的连接3.4.4 ROM与CPU的连接1信号线连接要求: 数据线的连接:系统的控制线与存储器的控制线相连 地址线的连接:CPU地址线的一部分输入至地址译码电路生成片选信号实现对存储器芯片的选择,剩余的地址线直接输入至存储器芯片,由存储器芯片内部的译码电路产生字选信号,用于选择存储器内部的某一存储单元。 控制线的连接:系统控制线的读/写控制信号与存储器控制线相连3.4.1 半导体存储器接口基本技术2.地址分配要求针对存储器地址的分配,要知道哪些地址区域需要ROM,哪些区域需要RAM,即在具体电路中需要明确地址译码与片选信号

18、的产生。3驱动能力考虑,是否需要加缓冲器3.4.1 半导体存储器接口基本技术外部译码电路的三种译码方法(1)线性选择法(2)部分译码法(3)全译码法1.线性选择法 直接用CPU地址总线中的某一高位线作为存储器芯片的片选信号。1.线性选择法例:某一计算机共有16条地址线,接入1KB的RAM和1KB的ROM,字选线为10条A0A9。若用A10作片选,则地址范围为图中的第一组;当用A11作片选时,地址范围如图中的第二组。1.线性选择法线性选择法的优点: 连接简单线性选择法的缺点: 易出现地址的不连续和多义性 寻址能力有限2.部分译码法用部分高位地址进行译码产生片选信号2.部分译码法采用6116存储器

19、芯片(2K8)实现8KB存储器,CPU地址线16根,数据线8根3.全译码法将高位地址全部作为译码器输入,用译码器的输出作为片选信号3.全译码法12KB存储系统:低8KB为EPROM两片2732A(4KB8位)芯片组成地址范围为0000H 1FFFHA0A11作片内字选,A12A15作片选高4KB为RAM两片6116(2KB8位)芯片组成地址范围为2000H 2FFFHA0A10作片内字选,A11A15作片选3.全译码法全译码法例图2KB8位4KB8位3.4.2 SRAM与CPU的连接RAM(Random Access Memory)。掉电丢失数据,典型的RAM就是计算机的内存。用于存放监控程序

20、或操作系统的数据、用户程序、用户数据等。ROM(Read Only Memory)。掉电不丢失数据。用于存放系统监控程序等固化程序及常数。RAM包括: SRAM :静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且,一般不是行列地址复用 速度快、价格高昂贵 DRAM:动态随机存取存储器,需要不断的刷新,才能保存数据。而且是行列地址复用的 。保留数据的时间短,速度比SRAM慢,比ROM快,价格便宜,计算机内存就是DRAM的。 ROM包括: 掩膜式只读存储器(MROM); 一次性编程ROM(PROM); 可多次擦写的ROM(EPROM); 闪存(FLASH)、铁电存储器(FRAM)等。3.4.2 SRAM与CPU的连接3.4.2 SRAM与CPU的连接通常一片存储器芯片的存储容量不可能正好是CPU的内存

温馨提示

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

评论

0/150

提交评论