Download La Unidad de Memoria y su conexión al μP - fc
Document related concepts
no text concepts found
Transcript
Microprocesadores La Unidad de Memoria y su conexión al µP Carlos Canto Q. Microprocesadores Forma en el que el µP realiza una operación de escritura de memoria Bus de Direcciones Dirección Direcciónde dememoria memoriade de16 16bits bits A15-A0 11 Datos 22 D7-D0 Chip de Memoria Decodificacióndedememoria memoria Decodificación µP µP Bus de Datos 33 MEMWR Escritura de Memoria 1.-Pone en el bus de direcciones la direcció dirección de 16 bits de la localidad de memoria donde un byte va a ser almacenado. 2.-Deposita el byte en el bus de datos. 3.3.- Enví Envía la señ señal de control de escritura de memoria para habilitar el buffer de entrada de la memoria y almacena el byte. Carlos Canto Q. Microprocesadores Forma en el que el µP realiza una operación de lectura de memoria Bus de Direcciones Dirección Direcciónde dememoria memoriade de16 16bits bits A15-A0 11 Datos 33 D7-D0 Chip de Memoria Decodificacióndedememoria memoria Decodificación µP µP Bus de Datos 22 MEMRD Lectura de Memoria 1.-Pone en el bus de direcciones la direcció dirección de 16 bits de la localidad de memoria donde esta byte que va a ser leido. leido. 2.2.- Enví Envía la señ señal de control de lectura de memoria para habilitar el buffer salida del chip de la memoria . 3.-el chip de memoria deposita el byte de datos en el bus de datos de donde el µP toma o lee el dato Carlos Canto Q. Microprocesadores Escribiendo a un registro de la Memoria Carlos Canto Q. Microprocesadores CICLOS DE MÁQUINA DE LECTURA Y ESCRITURA DE MEMORIA IN OUT Carlos Canto Q. Microprocesadores Arquitectura interna de una Memoria En la figura se observa la estructura bá básica de una memoria de 1K de 4 bits, en la cual se indican sus partes bá básicas. Carlos Canto Q. Microprocesadores Un chip de memoria de Lecto/Escritura típico de 1 k (RAM) CS RD WR • LÍNEAS DE DIRECCIONES Decodificadorinterno interno Decodificador A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 1024X8 1024X8 Una memoria requiere líneas de dirección para identificar un registro de memoria, una señal de chip select (CS) para habilitar el chip y señales de control para leer de o para escribir en los registros de la memoria LÍNEAS DE DATOS DE E/S Carlos Canto Q. Microprocesadores Configuración de terminales y símbolo lógico de la memoria estática R/W CMOS 6116 PINS DEL CHIP CE WE OE A10 Bus de direcciones A7 1 A6 2 24 Vcc 23 A8 A5 3 A4 4 22 A9 21 WE 20 OE A3 5 A2 6 CMOS 6116 A1 7 17 DQ7 16 DQ6 A0 8 DQ0 9 A0 Datos E/S CS WE OE BUS DE DATOS 1 x x TRI-STATE 1 1 1 TRI-STATE 0 0 1 ENTRADA 0 1 0 SALIDA 19 A10 18 CE 15 DQ5 DQ1 10 DQ2 11 Vss 12 14 DQ4 13 DQ3 Nombre de los terminales A0-A10 Entradas de Direcciones VCC Potencia(+5) CE Chip Enable WE Write Enable VSS Ground OE Output Enable DQ0-DQ7 Data In/Data Out Carlos Canto Q. Microprocesadores SRAM MCM6264C Características Técnicas Referencia MCM6264C Tipo SRAM Capacidad (bits) 8192 X 8 Tipo de salida 5V Tiempos de Acceso 12/15/20/25/35 ns Encapsulado DIL-28 Carlos Canto Q. Microprocesadores Configuración de terminales y símbolo lógico de la memoria EPROM 2764 A12 OE CE PINS DEL CHIP Líneas de direcciones A0 Líneas de datos 1. X puede ser VIH o VIL 2. VH=12 v+0.5 - Selección de Modo CE (20) OE (22) PGM (27) A9 (24) Vpp (1) Vcc (28) SALIDAS (11-13, 15-19) Read VIL VIL VIH X VCC VCC DOUT Output disable VIL VIH VIH X VCC VCC High Z standby VIH X X X VCC VCC High Z Program VIL VIH VIL X VPP VCC DIN Verify VIL VIL VIH X VPP VCC Program inhibit VIH X X X VPP VCC PINS MODE VPP 1 28 A12 A7 A6 A5 A4 A3 2 27 3 26 4 25 5 24 6 23 A2 A1 A0 Q0 Q1 Q2 GND 8 7 2764 9 22 21 20 10 19 11 16 DQ 186 12 13 17 16 15 14 Vcc PGM NC A8 A9 A11 OE A10 CE Q7 Q6 Q5 Q4 Q3 Nombre de los terminales A0-A12 DIRECCIONES CE Chip Enable OE Output Enable Q0-Q7 Salidas DOUT PGM Programar High Z N.C. No Conectada Carlos Canto Q. Microprocesadores (a) Diagrama de tiempo de lectura de memoria ; (b) diagrama de bloques: decodificación de direcciones y operaciones de lecturta/escritura de memoria líneas líneasdede direcciones direcciones dedealto altoorden orden Decodificador Decodificador dededirecciones direcciones MSEL Selección del chip de memoria Decodificador Decodificador interno interno Selección del registro de memoria MREQ MREQ líneas líneasdede direcciones direcciones dedebajo bajoorden orden Habilita el buffer de entrada para leer RD RD O Habilita el buffer de salida para escribir WR WR Carlos Canto Q. Microprocesadores Schematic of Interfacing 2764 EPROM Carlos Canto Q. Microprocesadores Carlos Canto Q. Microprocesadores Carlos Canto Q. Microprocesadores (a) Generando señales de Control ; (b) Diagrama de Bloques : Solución alternativa para operaciones de Lectura /Escritura de memoria WR MEMRD MREQ MEMWR RD WR MEMRD líneas líneasdede direcciones direcciones dedealto altoorden orden Decodificador Decodificador dededirecciones direcciones líneas líneasdede direcciones direcciones dedebajo bajoorden orden Decodificador Decodificador interno interno RD RD MREQ MREQ MREQ WR WR RD OR OR OR OR Selección del chip de memoria Selección del registro de memoria MEMRD Habilita el buffer de entrada MEMWR Habilita el buffer de salida MEMWR Carlos Canto Q. Microprocesadores Conexión de Memoria al µP Z-80 Carlos Canto Q. Microprocesadores PRÁCTICA N° 3: LAS MEMORIAS EPROM Y RAM SI A11=0 selecciona EPROM Si A11=1 selecciona RAM MEMORIA DEL SISTEMA CON EL Z80 Líneas conectadas directamente a las memorias FFFFH A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 X X X X 0 0 0 0 0 0 0 0 0 0 0 0 X X X X 0 1 1 1 1 1 1 1 1 1 1 1 SIN SINMEMORIA MEMORIA 1000H 0FFFH RAM RAM 6116 6116 0800H 07FFH EPROM EPROM 2716 2716 0000H Carlos Canto Q. Microprocesadores MAPA DE MEMORIA PROPUESTO PARA EL DEL SISTEMA FFFFH SIN SINMEMORIA MEMORIA 1000H 0FFFH RAM RAM 6116 6116 0800H 07FFH EPROM EPROM 2716 2716 0000H Carlos Canto Q. Microprocesadores PRÁCTICA N° 3: LAS MEMORIAS EPROM Y RAM Bus de Datos (D0-D7) RESET RESET YYRELOJ RELOJ Z80 +5V 220Ω 220Ω ½ 74LS32 RST CLK MREQ Mem OK Mem error EPROM EPROM 2716 2716 MEMWR WR WR MEMRD RD RAM RAM 6116 6116 OE RD CE CE HALT IORQ A11 1/4 74LS244 A B A11 C G2A 74LS14 A0-A10 A0-A10 Bus de Direcciones (A0-A15) Manera simplificada para decodificar direcciones de memoria Carlos Canto Q. MICROPROCESADORES Rutina generadora de retardos DELAY DELAY Cont2 Cont2Å ÅN2 N2 PROGRAMA FUENTE Cont1 Cont1Å ÅN1 N1 Cont1 Cont1Å Åcont1-1 cont1-1 No Cont1=0 Cont1=0 ?? si Cont2 Cont2Å Åcont2-1 cont2-1 No Cont2=0 Cont2=0 ?? si HALT HALT Carlos Canto Q. N1 N2 LOOP2: LOOP1: EQU 0FFH EQU 0FFH LD B, N2 LD C , N1 DEC C JP NZ, LOOP1 DEC B JP NZ , LOOP2 HALT Microprocesadores Programa para generar retardo Dirección de memoria Etiqueta 0000 Mnemónico Código de Operación Ciclos de Reloj (T) 06 4 FF 3 0E 4 FF 3 0D 4 C2 1O LD B,0FFH 0001 0002 LOOP2: LD C,0FFH 0003 0004 LOOP1: DEC C 0005 JP NZ, LOOP1 0006 04 0007 00 Comentarios Inicializar conteo del lazo externo Inicializar conteo del lazo interno Decrementar el conteo de lazo int. ¿ Se terminó el conteo? LOOP LOOP INTERNO EXTERNO 0008 DEC B 05 4 Decrementar el conteo de lazo ext. 0009 JP NZ, LOOP2 C2 10 ¿Se terminó el conteo? 4 Activa señal HALT 000A 02 000B 00 HALT 000C 76 Carlos Canto Q. Microprocesadores Cálculo para generar retardo Dirección de memoria 0000 Etiqueta Mnemónico LD B,0FFH 0001 0002 LOOP2: LD C,0FFH 0003 0004 0005 LOOP1: DEC C JP NZ, LOOP1 Ciclos de Reloj (T) Veces de ejecución 4 1x4=4T 3 1x3=3T 4 255x4=1024T 3 255x3=765T 4 255x255x4=260,100T 1O 255x255x10=650,250T 0006 0007 0008 DEC B 4 255x4=1024T 0009 JP NZ, LOOP2 10 255x10x4=10240T HALT 4 1x4T=4T 000A 000B 000C Carlos Canto Q. MICROPROCESADORES Rutina para checar la memoria RAM Mapa de Memoria de sistema Ram_test Ram_test FFFFH Inicializar Inicializarapuntador apuntador de dememoria memoria patrón de prueba patrón de prueba SIN SINMEMORIA MEMORIA escribir en la memoria escribir en la memoria el patrón de prueba el patrón de prueba Leer Leerdedelalamemoria memoria patrón patrónescrito escrito Pasa a siguiente Pasa a siguiente localidad de localidad de memoria memoria Es Es dato dato leido= leido= patrón patrón de de prueba? prueba? 1000H 0FFFH No RAM RAM 6116 6116 si No 0800H 07FFH Es última Es última localidad RAM? localidad RAM? EPROM EPROM 2716 2716 si Memoria Memoria dañada dañada Memoria Memoria OK OK 0000H Carlos Canto Q. MICROPROCESADORES Rutina para checar la memoria RAM PROGRAMA FUENTE Ram_test Ram_test HLÅ HLÅDirección Direccióninicial inicial patrn_prueba Ram_dir AÅpatrón AÅpatrónde deprueba prueba siguiente: (HL) Å A (HL) Å A AA ÅÅ(HL) (HL) HL HL ÅÅHL-1 HL-1 Es Es A= A= patrón patrón de de prueba prueba ?? No si No Es última Es última localidad RAM localidad RAM ? ? si Halt Halt Carlos Canto Q. error: Mem_OK: Output Output EQU EQU 0AAH 0FFFH LD HL,Ram_dir LD A,patrn_prueba LD (HL),A LD A,(HL) CP patrn_prueba JP NZ , error LD A,H CP 07H JP Z,Mem_OK DEC HL JP siguiente OUT (C),A JP error HALT Microprocesadores Decodificador de direcciones 74LS138 A B C G1A G1B G2 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Carlos Canto Q. Microprocesadores EPROM 27C16B Características Técnicas Referencia 27C16B Tipo EPROM CMOS Capacidad (bits) 2048 X 8 Tipo de salida (5V) (Vp=12.75V) Tiempos de Acceso 150/250 ns Encapsulado DIL-24 Carlos Canto Q. Microprocesadores Carlos Canto Q. Microprocesadores Programa para generar retardo Dirección de memoria Etiqueta Mnemónico Código de Operación Ciclos de Reloj (T) Comentarios 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C Carlos Canto Q. Microprocesadores Programa para checar la RAM Dirección de memoria Etiqueta Mnemónico Código de Operación Ciclos de Reloj (T) Comentarios 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C Carlos Canto Q. 000D 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 Carlos Canto Q.