UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo...

108
}\UTOR; PEDRO VAL VERDE MONTERO DEPARTAMENTO DE ELECTRONICA DEL "lES"' MIGUEL DE CERVANTES" • MURCIA 'CICLO FORMATIVO DE GRADO SUPERIOR: DESARROLLO DE PRODUCTOS ELECTRÓNICOS. AÑO; 2004-2005

Transcript of UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo...

Page 1: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

}\UTOR; PEDRO VAL VERDE MONTERO ~-, DEPARTAMENTO DE ELECTRONICA DEL "lES"' MIGUEL DE CERVANTES" • MURCIA

'CICLO FORMATIVO DE GRADO SUPERIOR: DESARROLLO DE PRODUCTOS ELECTRÓNICOS.

~·~ AÑO; 2004-2005

Page 2: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

CONVERSOR DIGITAL-ANALÓGICO (DAC)

Los DAC transfieren información binaria a señal analógica. Es por ello que , a través de estos circuitos podemos establecer una conversión de datos digitales a sus correspondientes analógicos según la ecuación A = K D .

La salida analógica va a ser un valor proporcional a entrada digital. Sí D depende de unos dígitos binarios , la expresión se quedaria así:

D = b n-1 2 ""1 + b n-2 2 n-2 + •••.. + b1 21 + bo 2°

CONVERSION D/A (DAC)

La salida(corriente o tensión) es proporcional a una entrada digital. En general D= hn-1 2n-1

+bn-2 2n-2+ •.•.. + b,¡ 2 1+b11 2°

bn-1 bn-2 bo Vo=VR (---- + ----- + .... +

~ 22 ~

Para n=5:

V o 32

V o 32

Vo es una tensión analóg'ica proporcional a la entrada digital.

De esta forma queda demostrado que cada combinación binaria se corresponde con una salida digital a razón de 1 voltio por cada número decimal representado. Así por ejemplo , para el n° 1 O en decimal , que sería el O O 1 O 1 , le correspondería una tensión de salida de 1 O voltios. En otras posibles ocasiones en donde la tensión de referencia sea distinta la relación se establece :

VO= VR/32 (1684 + 883 + 482 + 281 + bo) En la figura inferior se representa una posible conversión de digital a analógico

para cuatro bits y para una VR = 32.

Page 3: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

-~

~

El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado, este tipo es el que va a ser motivo de nuestro estudio.

También se suelen clasificar según su sistema de conversión, así podemos encontrar los convertidores D/A directos y los indirectos.

En este tema serán objeto de estudio los DAC de entrada paralelo y de conversión directa ó simultánea. Dentro de esta clasificación tenemos dos tipos:

a) Conversores de resistencias ponderadas b) Conversores de resistencias en escalera R-2R.

CONVERSOR D/A DE RESISTENCIAS PONDERADAS. Como se puede apreciar en la figura , el valor de las resistencias viene ponderado según la sucesión R, 2R, 4R. ....

Ure-F" --·:J 4R l~ R

~~ Rf la/~

+ ia

CONUERSOR DrA PONDERADO IJc

¡

Page 4: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

~,

.Con llave en 1---> Tierra

.Con llave en 2---> Tierra virtual

.Las corrientes fluyen a tierra o tierra virtual

. Las corrientes hacia i.0 se suman y fluyen por Rf

Vref Vref Vref

io bn-1 + + •••• ;a + bo

R 2R 2n-l R

io

2 Vref bn-1 bn-2 bo

io + .... + j

R 21 22 2n

2Vref

R

por lo tanto~ V o -in Rf Vref.DI

Donde:

D

bn-1 : Bit mas significativo MSB{Most Significant Bit) b 0 : Bit menos significativo LSB(Least Significant Bit)

La presicián de este DAC (Digital Analog Conver) depende de la tensión de referencia1 Vref y la presición de los resistores ponderados R, 2R, ... , 2n-1.R . Los valores de R son dispares La conmutación de llaves de ¡DS. 1 <---> 2 se realiza con llaves analógicas.

CONVERSOR 0/A DE RESISTENCIAS R-2R.

Como puede apreciarse en la figura , la corriente circula por la resistencias de valor 2R se encuentran en progresión geométrica a razón de % , esto es debido a que después de cada resistencia de valor R , la impedancia de la red que queda a la derecha es de R.

La corriente por las ramas 2R siempre es la misma independientemente de al posición Del interruptor asociado. Esto se debe a que el circuito se derivará a masa en cualquier caso, puesto que ambos llevan a masa, sea esta virtual (operacional) o normal..

Vrfi lout·--->~ ROUT

U1

La ecuación que nos da la tensión de salida es: VO = lout .Rout Como la la lout = 1/2 + 114 +1/8 + 1/16 en el supuesto de que se encuentren todos los

interruptores conectados hacia la entrada del operacional, nos daría una tensión de salida que en todo momento sería proporcional al valor binario introducido.

Page 5: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Sí la intensidad 1 =2 miliamperios, y ponemos la combinación binaria 0011 , la corriente que pasaría por Rout sería de lout= 2/16 +218 = 0.375 ma. lo que nos darla una tensión de salida de Vo = 0.375 x Rout. Dependiendo del valor de esta resistencia tendríamos un margen de variación .

-v

LINEA

BIT

Ccr..M.JTA DOR C Or-.1 M.::::rB CA~L !'"

LlNEA ENTRADA QP, !'IMP.

Mediante este circuito se pueden hacer las conmutaciones de los bit digitales. Cuando el bit en cuestión presenta un "1" el biestable rs se pone a set y conduce T1 derivando la intensidad hacia masa virtual.

El CONVERSOR DAC 0800

Este integrado permite tensiones de salida de hasta 20Vpp y un tiempo de conversión de 1 00 ns. Trabaja para 8 bits según el sistema explicado anteriormente R-2R las caracaterísticas más notables son:

81

a) Ocho entradas de datos digitales, 81 es la menor significativa. b) Dos salidas de corriente complementarias. e) Entrada Vlc (normalmente a masa) para fijar niveles lógicos requeridos. d) Un terminal de de compensación para tensiones internas , se recomienda colocar

un condensador de 0,001 microfaradios entre este terminal y alimentación negativo.

e) Tensiones de alimentación simétricas comprendidas entre+_ 4.5 y+ _18 voltios.

U2

DJICOSOO

Page 6: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

La corrientes de entrada viene dada por : lo= lref /256 ( 2781 + 2682+ ..•. + 287 + 88)

lo = lref 1 256 ( 2781 + 2682+ ••.• + 287 + 88 )

* Hay que resaltar que las corrientes aanteriores siempre son de entrada, ya que se direccionan a través del colector de un transisitor npn.

01 NPN

Sí tenemos en cuenta que el operacional es de caracteristicas ideales y además que la corriente que entra por la rama de Vref(-) = O , podremos calcular la intensidad de referencia que será:

lref = (Vref+ - Vref-) 1 R1

Sí trabajamos con el circuito de la figura siguiente, la lref = 10/5 = 2miliamperios.

+10volt.

C2 0.1rrt

0.01n1'

C3

O.

-10volt.

R6 5k

Page 7: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Cuando la combinación binaria representada en los interruptores de los bits 87 ... 81 sea todos unos , entonces la corriente de salida lout valdrá dos miliamperios y la corriente complementaria será de cero.

En estas circunstancias Vout = 10- (O x Sk) = 10 voltios esta tensión seria la que mediria el voltimetro, en la otra salida ubicada en la patilla 4 la tensión vale:

Vout (4) = 10- 2x5 =O voltios

MODOS DE FUNCIONAMIENTO DEL DAC 0800

1°. Unipolar negativo básico

R1 R2 5k 5k

-1()1.

Mediante el potenciómetro RV1 se ajusta la intensidad de entrada para obtener 2 miliamperios. La intensidad de salida máxima disponible será de 2- 2/256 = 1.992 ma. Esto sucede porque cuando todos los interruptores ( controlados por los bits) estén conectados mandando la corriente al operacional de salida, faltaria la corriente de la última resistencia 2R de las nueve que forman la red. Esta corriente es de 2/256 como ya se explicó anteriormente. Las corrientes siempre entran al conversor.

Para 00 .... 07 = 1 => lout= 1.992 ma. lout =O ma. => EO = -1,992x5 = -9.960 volt.

EO = lout x Sk = Ox5k = O voltios.

Para DO •.•. D7 = O => lout= 1.992 ma. lout = O ma. => EO = -1 ,992x5 = -9.960 volt. EO = lout x Sk = Ox5k = O voltios.

Por lo tanto la tensión en EO variará entre -9,960 y cero voltios. Es por ello que se llama unipolar negativo.

r Bipolar Básico

R2 10k

Page 8: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

En este nuevo ejemplo se puede observar que :

Para 00 .•.. 07 = 1 => lout= 1.992 ma. lout =O ma. => EO =10- (1,992x10)= -9.920 volt.

EO = 10- ( lout x 10k) =•10 volt.

Para 00 .••• 07 =O => lout= O ma. lout = 1.992 ma. => EO =10- (Ox10)=1 O v.

EO = 10- ( 1.992 x 10k) =-9.920 volt.

Esta forma de funcionamiento bipolar básico puede representar señales analógicas de salida positiva y negativa.

PARÁMETROS DE LOS DAC.

A) Resolución : es el valor de tensión entre dos números binarios consecutivos. Para calcular la resolución de un OAC que varia de cero a 10 voltios y tiene un número de 12 bits se tiene que realizar la siguiente ecuación:

Resolución = 1 O 1 2 12 = 2,4 milivoltios.

8) Precisión absoluta : Se refiere al porcentaje de error que presenta el convertidor a fondo de escala. Sí por ejemplo , la tensión de salida a fondo de escala es de 10v. y su precisión es de ±0.1 %, entonces el error máximo para cualquier lectura será de :

ERRORMÁXIMo = 10V. X 0.001 = 10 mv.

Es frecuente que la precisión se exprese en ±112 de LSB. Para pasar este dato a porcentaje se hace de la siguiente forma:

Suponemos un conversor de 8 bits , el 100 % corresponde a 28 , o sea

a 256 combinaciones posibles , luego a 1 LSB le corresponde : 1/28 ·100 = 0.39% , para% LSB sería la mitad = 0.2%

C) Tiempo de conversión: Es el tiempo que transcurre desde que se presenta en la entrada una combinación binaria , hasta que aparece la señal analógica en la salida dentro de unos límites, generalmente ±1/2 de LSB.

D) Salida analógica : La salida puede ser por corriente o por tensión . la salida por corriente está explicada en los ejemplos anteriores. En la salda por tensión, hay que colocar un A operacional para transformar la intensidad en tensión.

Page 9: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

La tensión de referencia es: Vref = (Vref+) - ( Vref-) . Sí esta tensión es de 10 voltios , y el número binario en decimal es el100 , por ejemplo, entonces efectuando la ecuación anterior resultaría que :

EO = [(2x100 /256) -1] x 10 = -2,185 voltios.

E)

Es un conversor binario simétrico básico.

Margen dinámico de la señal de salida: Es el marge~ de come:ntes y tensiones que se pueden presentar en la salida. Se puede modificar med1ante amplificadores u otros componentes.

ERRORES EN LOS DAC

La forma de onda de un DAC que le entre una combinación binaria consecutiva de cuatro bits , y empezando de mayor a menor, es como la de la figura. . .

Esta es una forma de onda ideal , en la que cada escalan vale lo m1smo y además guardan la misma proporción.

~ 0.00 Ul(~-¡___ RNRLOGUE RNRLYSIS

L_

IL-1 le--1-5.00

1

f----1 ~

IL-1-10.0

le--~

1 -15.0 .l. '1 18 • 0M 2'0.0,; 0.00 2.00M 4.00M 6.00M 8.00M 10.0M 12.0M 14.1iJM 16.0M

+ Error de offset: Es la señal de salida que se obtiene cuando la combinación de entrada es de cero, o sea todos los bits a cero. Este error se corrige mediante un potenciómetro de regulación de cero. Suele expresarse en tanto por ciento a fondo de escala.

+Error de ganancia: Es el error debido a una alta o baja ganancia de salida del DAC. La escalera aumenta o disminuye la altura de sus peldaños . Este error también se corrige mediante potenciómetro.

+Error de linealidad: Cuando para incrementos iguales de código de entrada le corresponden incrementos distintos de señal analógica de salida.

+Error de monotonicidad: Cuando en la salida se producen intervalos de señal en sentido decreciente , a pesar que la entrada ha sido creciente. En este caso la escalera desciende escalones en lugar de ascenderlos como sería lo propio.

, · ~ : . ' "RinoiO"' c:lo . , ~id*" 41iU"Nilo.h:!!oQ<C>IIl a;alida -.ciit"'tc.a

O ~= oH ¡ O O < }l~ 111: l"' 1€.' .. o '#

6 .. .... a 2 "1

u

respuesta ideal del DAC

Page 10: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Salida analógica Sitñal real

error de offset error de ganancia

... error de linealidad error de monotonicidad

CONVERSOR ANALÓGICO-DIGITAL (ADC)

La mayoría de las señales que utilizan los transductores son analógicas , para utilizar estas señales con los circuitos digitales se necesita convertir esta señal a código digital para , en consecuencia poder procesarla .

Para realizar la transformación expuesta , es necesario ir tomando muestras sucesivas cada cierto tiempo, Como puede observarse en la figura inferior.

~ , c~~~-.-.~~+-~~-+~~1-+-~r;-+~~~+-~~-+~~4-~~~-t

, ~ , 4 t a 1 6 • ti> '1 121$1-4 ti~~ u 1lll~.to2U22~U421i2:127B.~a:r~t :RJa343:J

Page 11: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

. En escencia, muetrear una señal V{t} es obtener una serie de muestras en instantes determinados (periodo de muestreo o frecuencia de muestreo, Fm)

A partir de las muestras de una señal se puede recanstruila nuevamente, esto es, recuperar la señal original.

El TEOREMA DEL MUESTREO (Nyquist-Shannon) establee que la frecuencia de muestreo debe ser igual o mayor a dos veces el ancho de banda de la señal a muestrear. Esto evita superponer muestras.

fm ~ 2W

CONVERSOR ADC POR COMPARACIÓN

Este tipo de conversor es de bucle abierto 1 es decir 1 que no existen una realimentación de la salida sobre la entrada para corregir errores de lectura. Se denomina también de FLASH y se basa en comparar la sei\al de entrada con unos niveles de tensión prefijados en unos amplificadores operacionales. Seguidamente se efectúa una decodificación para obtener la conversión según figura representada.

NIUEL Ui C1 C2 C:3

121-U.I.t;~ 0 0 12

Ui/lHJi/2 1 0 12

~ i/2-3U i/'o!l 1 1 0

C1 31Ji/4-1Ji 1 1 1

Ui

Conversor A/D paralelo (Simultáneo o Flash) .Para alta velocidad de conversión (16 Mconv/seg.) .Tratamiento de señales de radar, video, ultrasonidos .Se obtiene un nuevo resultado por cada ciclo de reloj .se basa en multiples comparadores.

.; 20

2} 0

2} 1

1 0

1 1

En el circuito de la figura inferior, se puede apreciar un adc de comparación de bits para ocho bits, después de la comparación se utiliza un codificador de prioridad para obtener el código del operacional. Como se puede observar tr~baJa para un escalón de 12v. dividido por nueve (1.33 voltios) , que son las res1stenc1as que forman el divisor.

Page 12: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

RV1

BAT1

RS

CONVERSOR ADC DE RAMPA BINARIA En el circuito de la figura se puede apreciar el funcionamiento de este circuito. El C. l. 4040 es un contador binario configurado para contar los pulsos de reloj desde cero hasta 256. Este contador alimenta al OAC_8 , que tiene un tensión de salida proporcional al número de entrada.

Cuando la tensión de salida del OAC es igual a la tensión analógica a convertir , (patilla n° 3 del operacional) la salida del operacional es cero , lo que implica que el reloj no llegue al 4040, (debido a la puerta and). En estas circunstancias tendñamos el valor digital convertido en las patillas de salida del C.l. 4040, o sea, 00 ......... 07.

COUNT~t

Nlf'lOW SIMT'i!S

UI"Ü.l.llllLLLUlllLH Wll1H=230m

Page 13: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

En el C. l. 4071 se gobierna el reset del contador, ya sea por haber llegado a fondo de escala de cuenta , o bien cada cierto tiempo programado por un temporizador interno que resetea cada cierto tiempo la cuenta para iniciar la rampa binaria de comparación.

Como se puede apreciar en el esquema , el tiempo de conversión va a depender del valor de la tensión de entrada , ya que la rampa siempre empieza a comparar desde cero.

Esquema simplificado de la aplicación anterior.

CLE'AA Uo 1 t Dt---------,1

CONTÁOCfi

LSB Ud

D/Á

Us

CONUERSION POR CONTADOR

.Si la información digital se almacena en el contador se requieren {~-1) pulsos de reloj para pasar de "cero" al máximo, necesitando un tiempo. Llamando (Fr} a la frecuencia del reloj:

Fr Pulso/seg Palabra Velocidad de Conversión= Re=

Pulso/palabra seg

Ej: Si Fr= l.MHz ; Palabra de 10 bit

106 106 Palabras Re = ----- = ----- ~ 1000 ----------

210-1 1023 seg

.Puede definirse a Re, como la máxima frecuencia can que pueden obtenerse resultados .

. La resolución es el valor del bit menos significativo (LSB)

.El tiempo de conversión será:Tc=l/Rc (Ej. Te= 1/1000 =1mseg}

Page 14: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

CAD DE DOBLE RAMPA ANALÓGICA . Inicialmente ~a S~ conecta a ~a seña1 ana~óqi.ca. Se i.nteqra durante un tiempo FIJO Tl, determinado por un contro~ador .

. E~ va~or de sa~i.da de~ i.nteqrador depende directamente de ~a seña~ Vi. de entrada .

. Terminada ~a integración se conmuta Sl de 1--->2, integrando ~a Vref, de signo opuesto. E~ tiempo T2, que tarda en ~~egar a CERO es directamente proporciona~ a Vi., cuando se detecta e~ cruce por cero, se detiene e~ proceso y e~ Contador presenta un nro. binario, directamente proporciona~ a Vi. .

. Si. e~ contador registra N bits durante Tl y fr es la frecuencia de~ reloj: N=frTl, análogamente: Nx=frT2

u

82

DETECTOR CRUCE POR CERO

1 UreT 1 ~ f'R

1 CK

U l.

L---S-1-.. f S2

,__,,CONTROLADOR 1

1 =J 1 CONT~DOR 1 CARRY

...... i-.~

INTEGRACION INTEGRACION AUTOCE:RO RE:FE:RE:NCI~ +------------+ __________ _. • ._ __________________ __.

1

~---------Tc-1-T~-1 T2--

t

Page 15: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

ViTl .Durante Tl:

1 ft1 V1=----' J 0 Vi dt =

RC RC Vii'1=. Vref .. T2 Vi= (T2/T1) Vref

Vref T2, .Durante T2: V1=---------­

RC

Reemplazando por Tl=N/fr +--------+ T2:=Nx/fr 1 Vi=K Nxl ===> K= Vref/N

+--------+

CAD DE APROXIMACIONES SUCESIVAS

Para señales de mas de 400 Hz, se emplea un conversor serie llamado de Aproximaciones Sucesivas, permitiendo un buen compromiso entre gran resolución con velocidad aceptable. Se basa en pruebas sucesivas de la señal analógica con valores binarios que pueden estar por arriba o por debajo, empezando con el bit de mayor peso (MSB). Por ejemplo si se opera con 4 bits(0-15 decimal); inicialmente se compara la señal analógica (Vi) con el binario 1000 ( al que le corresponde un cierto valor analógico (Ve) . Si resulta Vi>Vc, se aumenta un bit del siguiente peso, es decir: 1100 , pero si Vi<Vc, se elimina el de mayor peso y se agrega el del siguiente peso, es decir: 0100 y así sucesivamente. Para el máximo valor de Vi, correspondería 1111 y ello se obtendría en 4 operaciones;

si se emplea un A/D a contador sería necesario 24-1 operaciones, es decir 15 comparaciones y sería mas lento.

EJ: Se debe convertir Ui=0.&5 U -J. -~ -J { /1 ToMando una e&truatura: a12 + ~ 2 ~ a 3 2 a¡

100--~ ~.S <Ui '0 J.J.0--~ 0,5+0,25= 0.75>Ui

Si a 1 :1; a¿=~=la Si a1 =a¿=J.; itJ=0 Luego i!¡z=0; a1 =1; ~=1 101--~ 0.5+0.125 = 0.625 <Ui

1ra. • 2da.

COI"'P. COMP.

110

11l10 1/2U

3ra. 4ta. 1

coMpara- COMpara

111 ?/BU

111 7/BU

3/IQU J/4U

.101 011 5/BU

t'BU J./21J

011 l/4U

ERROR : 12). m25u

u

3/4

1/2

11'4 ¡r

ualor

t U i =rll. &5U

/41J final: Ul.&25U 12)!211 1 /BU

001 1/BU 0U CH

SECUENCIA DE CONUERSION

Page 16: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DIAGRAMA EN BLOQUE Ui

~~ ~~--------------~--,

CONUERSOR D/A

MSB f f f . . . . . . . . . . . . r f LS B

PROGRA HA DOR

I'IRRANQUE r l3

.El biestable SR habilita la entrada de CK al cual comienza cargando un "uno" en MSB . . El valor binario se convierte por D/A .Según el resultado de la comparación Vi>Vc o Vi<Vc, el programador actúa sobre los bits de salida. Cuando el programador ha recorrido todos los bits,se termina la conversión con R=l, anulando CK.

PONE MSB=~

1----------------~ ESPERA

ESTABILIZAR

5!

RESULTADO

~ ·~

1

PRUEBA BIT SIC.

.El diagrama de flujo describe el algoritmo que ejecuta el programador . . Se puede realizar el programa en una computadora, reemplazando al programador y completando las conexiones externas.

Page 17: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Un circuito integrado que cumple con el método explicado anteriormente es el ADC080X, Dispone de ocho bits con posibilidad triestado en la salida con un tiempo de conversión de 100 nanosgs. Se puede conectar a un reloj externo pero no es necesario , ya que va provisto de uno interno, a falta de sólo conectar una resistencia y un condensador. Su alimentación es de 5 voltios y tiene garantizada la característica de monotonicidad.

La frecuencia del reloj interno viene expresada según la formula:

F = 1/(RC Ln3} => F = 1/ (1.1 RC} Para conseguir esta frecuencia es necesario conectar una

resistencia entre las entradas 19-CLKR y 4--CLKrN . Por otro lado se debe de conectar un condensador entre patilla n°4 y masa.

Valores probables son : R= 10k y C= 150pF.

La línea es activada a nivel bajo autoriza el funcionamiento del chip. La línea WR a nivel bajo da la orden de comienzo de la conversión. La línea RO realiza la lectura del dato convertido y lo coloca en la salida de las triestado. La línea INTR se encuentra a nivel bajo si la conversión ha terminado y el último dato convertido fue leído.

Vin+ y Vin- corresponden a las entradas analógicas y están protegidas contra sobretensiones. Las señales aplicadas en estos pines deben de estar entre cero y +Vcc. La señal que se va a convertir , corresponde a la diferencia de potencial aplicado entre estas dos patillas.

El pin n°9 Vref/2 se puede dejar abierto, tomando la tensión de referencia , en este caso , como Vcc/2. Se puede colocar cualquier otra para ajustar el fondo de escala.

U1

19 .. clkr

el k

T

Page 18: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

F - 1/ (1.1 RC) => F - 1/ (1.1x10 4x180-12 ) - 50khz

ADC ~BQ-G

.AproxiMaciones sucesivas

.IJref= 2.SU

.Uin= 0 - 5V .No requier~ aJuste

.Resoluc on: B bit .TieMPo conuersion: 100us

+­+­-t--t-

+-­+-­+-­+--

IJ in-¡..------,

1 TRANSDUCTOR

CONVERSOR <ADC L!J804)

Circuito ejemplo de conexión del DAC 080x para una tensión de referencia de VCC/2 . Las líneas es Y RD se activan a masa para seleccionar chip y para habilitar siempre la lectura. Las líneas INTR y WR se interconectan entre sí para que esté constantemente convirtiendo la señal analógica cada vez que se lo indique INTR EN estas dos líneas se coloca una red RC para forzar la primera lectura al conectar la alimentación.

C2

R4 1k

R5 1k

PARAMETROS DE LOS DAC.

+Resolución: Expresa el incremento o decremento de la tensión necesaria para modificar el bit de menor peso.

RESOULUCIÓN = VFs 1 2N

C3 10nF

Donde VFs es la tensión a fondo de escala y N es el número de bits del conversor.

Page 19: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

• Tiempo de conversión: Tiempo que tarda desde que se inicia la conversión hasta que obtenemos el dato en las salidas triestado.

+Margen de tensiones de entrada: Nos da el valor máximo y mrnimo admisibles en la entrada.

+Código de salida : Nos indica el código binario en que trabaja el conversor DAC.

ERRORES DE LOS DAC

+Código ausente : Cuando algunas palabras del código no aparecen en la salida.

+OFFSET: Se produce cuando la escalera de salida está desplazada con respecto a la señal analógica de entrada.

+Error de ganancia: Se produce cuando la escalera de transferencia ideal y real tienen pendientes distintas .

• Error de códigos incorrectos.

analógica

~3

1? 11

.1{)

9 e

4

3

error de códigos incorrectos

i.:<.U l.d t 1,5Uh:.l !\!.~.·o ~"tV Ylr..o "--t..<t"l.-~V '\.<! *-"/V...l,6V .>..VV:O.. .uv

aparece en la salida del ADC Obsérvese que el valor 1000 permanece durante dos intervalos y que la salida salta al valür !010.

analógica

error de ganancia

analógica

15 14

13 12

" H> 9 S

5 4 3 2

ideal

Figura 10.60. Repre::.-entación de error de offset.

• tnor de galllUKill. Se produce cuando las funcio-A - ~ A • •

Page 20: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

PRACTICAS + Realizar el circuito de la figura , dejar sw1 en la posición indicada y rellenar las tabla.

adjunta.

- 81 : 12V 1

-1-

R1 + 10k 181<

N° decimal D7d6d5d4d3d2d1d0 Intensidad Tensión

Cambiar el sw1 de posición y completar la tabla.

N° decimal D7d6d5d4d3d2d1d0 Intensidad Tensión

¿Cuál es el escalón en cada una de las dos tablas anteriores?. ¿Cuánto vale la resolución de ambas tablas expresada en porcentaje.?

Page 21: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

+Realizar el circuito de la figura, visualizar los gráficos y rellenar la tabla, colocando debajo de cada número binario su valor de tensión correspondiente.

RS 1k

0001

1001

R1 lk

RH2l

R2C2l

R3C2l

R2 "11<

R3 lk

R9

R3(2)

. R4 lk

R4(2) R10

U1

Vect = O;Vcc- = 1(}..dtia;

DIGITAL ANALYSIS

Vect = 1o..dt · Vcc- = (}..dt R6 lile

0.11!0 S.lililM 10.1!M 1S.I!M 20.1!M 2S.I!M 30.1!M 35.1!M 40.1!M 4S.I!M 50.1!M

ANALOGUE ANALYSIS 15.0 U3C0Pl

10.0

5.00

l'l.~0 0.00 5.0i!M 113.i!M 1S.I<lM 20.0M 25.13M 30.i!M 35.i!M 40.0M 45.i!M 50.0M

0010 0«)11 0100 0101 0110 0111

1010 1011 1100 1101 1110 1111

1000

0000

¿Cuánto vale la resolución.? ¿Cuál es la función del segundo amplificador operacional?. Explica la función del c.i. 4040.

UJ(OP)

Page 22: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

• Este diseño se monta en el entrenador digital. Comprobar la alimentación de ::1:12 voltios, y realizar el montaje del circuito de la figura. Ajustar la corriente de entrada por la patilla 14 VR+ para que circule una corriente de 2 ma. Rellenar a continuación la siguiente tabla.

E o ---E o

• •

+12v .

10000000 01000000

-12v.

00100000 00010000

R1 6k

00001000

R2 6k

00000100 00000010

Calcular la resolución . Dado el circuito de la figura inferior, realizar dos gráficos ,uno digital para ver la salida del c.i. 4040 y otrop analógico para ver la escalera de la tensión de salida.

Page 23: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

U1(QO)

U1(Q1) U1(02)

U1(03)

D!'C1(\0U1)

FW1• 5k

PRACTICA DEL DAC 0804 DE APROXIMACIONES SUCESIVAS

+Ejercicio para realizar en el entrenador digital. Montar el circuito de la figura y contestar a las .cuestiones propuestas

R4 1k

R) 1k

• •

R\11

1k

10k

R1 100k

C1 .1u

Page 24: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

~,

1°. Ajustar el potenciómetro hasta que sólo el led de menor peso de encuentre encendido. Rellenar la tabla adjunta. V entrada Dato V entrada Dato V entrada Dato

Binario Binario Binario 00000001 00111111 00100100 00000011 01111111 00011000 00000111 11111111 01010101 00001111 10000001 10101010 00011111 01000010 00100100

2°. Rellenar ahora la siguiente tabla para los valores especificados. V entrada Dato V entrada Dato V entrada Dato

Binario Binario Binario 0.5 v. 2.65 V. 4.2 v. 1 V. 3 v. 4.5 V. 1.75 V 3.25 v. 4.75 v. 2 V. 3.75 v. 4.85 V. 2.5 v. 4 v. 5 v.

3. Calcular el valor del escalón. +El circuito de la figura es un ADC de aproximaciones sucesivas. Montar el circuito en Proteus (ISIS) y realizar una tabla para las 11 posiciones posibles del potenciómetro, indicando tensión entrante y valor digital saliente.

R4 1(Jc

RV1• 1 61 1k 1 5V

1 R3 --L-. 10k

Indicar el escalón y la tensión de referencia. ¿Qué tendríamos que hacer para aumentar el escalón al doble . ?

. Montar el AOC Flash de la figura, comprobar su funcionamiento y hacer una tabla con la tenstón de entrada correspondiente a cada digilo de salida. ¿Cuál es la función de 4532.?

Page 25: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

RV1

• •

R9 U9

R8 180

+Conversor CAD de rampa binaria. Montar el circuito y comprobar su funcionamiento. Explicar el funcionamiento de cada integrado.

7 81 1 12V 1

-1.-

TeciJIT~~~; <\ iiJIJU] N~-t.OW ~t-1---'--4

STJ!RT>60 1'1\T!ERN-I.lllllllllllllllH

v.tlTH=231)n

Entrada analógica

R1 18k

UtA

lM324

Circuito para pasar una señal de analógica a digital y luego hacer el proceso inverso. Seleccionar una señal senoidal a 2hz. Ver los valores convertidos en hexadecimal a

Page 26: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

través de los display. Después obsevar la misma señal en el osciloscopio.¿ Cuál es la función de RV2.?

RV2

• 1+---'!--------,.-, •

Page 27: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

, .

ALISIS DE CIRC:UITI S

10.1. Clasificación de las memorias. 10.5. Memorias RAM comerciales.

10.2. Características generales de 10.6. Memorias ROM-PROM-EPROM una memoria. comerciales.

10.3. Estructura y organización de 10.7. Expansión de memorias inte-un chip integrado de memoria. gradas.

10.4. Tiempos y cronogramas. 10.8. Mapas de memoria.

~

INTRODUCCIONf

Todo sistema microprogramable ha de poseer disposi­tivos donde se puedan almacenar las siguientes infor­maciones:

• Programa de arranque.

• Tablas de datos.

• Direcciones y datos que guarda la CPU para po­der realizar ciertas instrucciones. La zona donde

$'

son almacenados dichos datos se denomina pila de memoria.

• Programas ejecutables.

Las unidades de memoria son los dispositivos encar­gados de realizar dicho almacenamiento.

No todas estas unidades están localizadas en el inte­rior del sistema microprogramable, ya que algunas se encuentran situadas en los periféricos.

lO~t CLASIFICACION DE LAS MEMORIAS

10.1.1. Relación de las 1nemorias con la CPU deyistema microprograTahle

1

En un sistema microprogramatÚe, la CPU puede con­trolar los dispositivos de mem,bria de forma directa o a través de una unidad I/0. Basándonos en dichas for­mas de control, podemos Clasificar las memorias en dos grandes bloques:

l. Memorias centrales. Son las unidades de memo­ria que se encuentran situadas en el interior de los sistemas microprogramables y están directa­mente regidas por la CPU. En ellas se almace­nan los programas de arranque, los datos de la

pila de memoria, las tablas de datos y el progra­ma de usuario que se encuentra en ejecución. Existen, según su principio de funcionamiento, los siguientes tipos:

• Memorias de núcleo de ferrita (Fig. 10.1). Son un tipo de memorias, hoy en día en desuso, formadas por núcleos toroidales de ferrita de algunas décimas de milímetro de diámetro, re­conidos por tres hilos (dos de selección y uno de lectura).

• Memorias integradas. Son las únicas emplea­das actualmente. Se clasifican en:

- Memorias de lectura y escritura o memorias. RAM.

- Memorias de sólo lectura o memorias

Page 28: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

1/2 Intensidad de magnetización

e

t 1/2 Intensidad ~ de magnetización

Hilos de selección y escritura

Hilo de lectura

2. Memorias masa. Son las unidades de memoria de más alta capacidad que existen y están situa­das en los periféricos. Su función es almacenar grandes cantidades de datos, así como los pro­gramas de usuario y el sistema operativo. Las más importantes, hoy en día, son:

• Memorias en disco duro. • Memorias en disquete. • Memorias en disco óptico o disco CD-ROM. • Memorias en cinta.

lO .l. 2. Clasificación de las memorias integradas

Como ya indicamos anteriormente, las memorias inte­gradas son el tipo de memorias centrales empleadas en los sistemas microprogramables, y que a su vez se clasifican en:

a) Memorias RAM. Las siglas RAM significan me­moria de acceso aleatorio (Random Access Me­mory ). Son memorias volátiles, es decir, pierden los datos al cortar la alimentación, en las que se puede leer o escribir.

b) Memorias ROM. Las siglas ROM significan memoria de sólo lectura (Read Only Memory). Son memorias no volátiles en las que sólo se puede leer, ya que su proceso de grabado es más complejo y se realiza, normalmente, fuera del sistema.

Según la forma en que se procede a grabar los datos, las memorias ROM se clasifican a su vez en los tipos que muestra la Tabla 10.1:

Figura 1 0.1. Memoria de núcleo de ferrita.

• ROM (programable por máscara). Los datos se graban en la memoria durante su proceso de fabri­cación. Una de las máscaras utilizadas en el proce-

Tabla 10.1. Variedades de las memorias ROM ,n 7 e ' ~"¡ ,~~ ' ~ o ' e' • •, n • ~-•,• • Y• •'" •·• • • f"_" TI • •·•o, ~;. • ·~·,·· • ·••r~

R~M :RR~M . EPR~M EAR~:M ' ~ ~ ~ " ~- - - " "' ~ ~~

GRABACIÓN En la fábrica de chips En el laboratorio o fábrica de equipos median- Por el usuario en el bajo pedido te el empleo de programadores PROM yjo lugar de empleo

EPROM

REPROGRAMACIÓN NO es posible NO es posible SÍ es posible SÍ es posible

NO es posible NO es posible Mediante el empleo Mediante sobreten-de luz ultravioleta sión en el propio

lugar de uso

YOLA TILIDAD NO volátil NO volátil NO volátil NO volátil

CAMPO Grandes series de Pequeñas series de Prototipos y series de Aplicaciones especia-APLICACIÓN producción producción producción reducidas les.

Muy bajo en grandes Superior a las ROM Superior a las Muy caras series PROM

Page 29: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

so fotolitográfico se diseña especialmente para que la memoria contenga los datos deseados. Eviden­temente, estos datos son indelebles y nunca se po­drán borrar o cambiar.

• PROM (ROM programable). Las memorias PROM pueden ser grabadas o programadas por el usuario una sola vez. El fabricante suministra las pastillas en estado virgen, con todos sus bits puestos a O o a 1, según los tipos. El proceso de grabación de datos se realiza mediante un equipo denominado programador de PROM que produce fusiones localizadas de carácter irreversible de acuerdo con los datos que se desea grabar.

• EPROM (ROM borrable y programable). Son simi­lares a las PROM, pero el proceso de grabación no es destructivo como era el caso de aquéllas. Los datos se almacenan induciendo cargas en electro­dos de silicio policristalino completamente aisla­dos en el seno de una capa de Si02• La grabación se realiza mediante un programador de EPROM y a partir de ese momento los datos permanecen

p

1 0~2~ CARACTERISTICAS

O Capacidad

Se define la capacidad como la cantidad de informa­ción que puede almacenar una memoria. La unidad básica de información es el bit, pero en la práctica resulta muy pequeña, causa por la que se suelen em­plear las siguientes unidades:

246

Un microprocesador de 8 bits procesa palabras de 8 bits de longitud. Este tipo de microprocesa­dor asocia normalmente dos palabras, ·para lla­mar a través de su bus de direcciones a cada una de las posiciones de memoria que es capaz de controlar, por tanto, emplea un conjunto· de 16 bits para realizar dicha función.

El número de combinaciones diferentes, que el microprocesador es capaz de formar en su bus de direcciones, será, por tanto, 216 = 65.536.

Como cada una de las anteriores combinacio­nes almacena una palabra de 8 bits, podremos decir que los microprocesadores de 8 bits son capaces de direccionar un máximo de:

inalterables. Por otra parte, es posible devolver a la EPROM su estado original, es decir, borrar la memoria, sometiéndola a la acción de rayos ultra­violetas bajo unas determinadas condiciones. Una EPROM así borrada se puede grabar otra vez con una nueva información, si bien el número de ciclos de grabado-borrado queda limitado por producir­se una cierta degradación en el proceso.

• EAROM (ROM borrable eléctricamente). Son mu­chos los intentos de la tecnología por lograr me­morias no volátiles cuyo contenido pueda ser va­riado «in situ». El ideal a alcanzar es una memoria de lectura-escritura que no pierda su contenido al eliminar la alimentación. Varios fabricantes ofre­cen en sus catálogos memorias no volátiles cuyo contenido puede ser alterado sobre el montaje definitivo, sin necesidad de extraer el chip y sin usar una instrumentación específica. Los térmi­nos EAROM (ROM alterable eléctricamente) y EEROM (ROM borrable eléctricamente) se utilizan para denominar estos dispositivos.

• Byte. Se denomina así a la palabra o información de 8 bits.

• Kilobyte (kB). Equivale a 210 bytes o, lo que es igual, a 1.024 bytes. Asimismo, es igual a 1.024 x x 8 = 8.192 bits

• Megabyte (MB). Es un múltiplo que equivale a 220 bytes = 1.048.576 bytes.

65.536

1_024

= 64 kilop_alabras de ún .byte cada una (abreviadamente 64 K).

Asimismo, esos 64 K corresponden a 64 x x 1.024 x 8 bits == 524.288 bits de información

almacenados en la memoria que controla.

Una memoria comercial del tipo HM6116 posee una matriz para almacenar información binaria de 128 x 128 celdas.

El número total de celdas que posee será:

128 x 128 = 16.384 celdas de 1 bit

Page 30: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

O Tiempo de acceso

Se define como el tiempo transcurrido desde que se "" pide una información a la memoria, hasta que ésta se ~ recibe. En la práctica, al existir dos tiempos posibles de

acceso, el de lectura y el de escritura, se define como -- válido el valor medio de ambos.

El tiempo de acceso depende del tipo de memoria y de la tecnología empleada en su fabricación. En la Tabla

~- 10.2 vemos algunos valores de tiempo de acceso tanto __;;_. para memorias centrales como para memorias masa.

Tabla 1 0.2. Tiempo de acceso de algunos tipos de memoria

'" ~ P :% ~ft',{:': S.JJ, "~ ~ ~ i,';:"" ":',~,:" /'":q;;"' ¿ ~ "'7'"~'~o~~ "~" "'¡\ !0, ';," ~ 'f "";¡ ~,"""" 1 k

!fiu;g:lf~-::m.,ónll',·-/.- .·~-. · ·· . ·&e.~ Be il~tls!.i', ~" : _.¡, " 1:';/o§Ji 4~Ji:é;C":;d~1k7,_:¡_"'l_ ;:,f~&&;;';}-':...."'1-;;"",~,,: ,~0" ;

1:i.@1l i~-- if'"'~~wl:!::r.f'j;)~i

Núcleo de ferrita Cinta magnética Disco magnético CD-ROM Memorias integradas MOS Memorias integradas bipolares

O Volatilidad

0,3 f.l.S- 1 f.l.S

5 ms- 1 s 10 ms- 50 ms

200 ms - 400 ms 2 ns- 300 ns 0,5 ns- 50 ns

Es la propiedad que tiene una memoria de retener o no < la información que posee cuando se le desconecta la

alimentación. Se habla así de:

• Memorias volátiles. Son aquellas que pierden la información al desconectarse. Ejemplo: las memo­rias RAM integradas.

• Memorias nf!l volátiles. Son aquellas que no pier­den la información al desconectarse. Ejemplo: las memorias EPROM.

Anteriormente, se habló también de memorias con lectura destructiva y no destructiva, ya que las antiguas memorias de ferrita se borraban al ser leídas. Todas las memorias integradas actuales son de lectura no des­tructiva.

O Coste de la información

Este parámetro está definido por dos valores: el precio ~or bit, que depende de la capacidad de la memoria, y el tie~po de acceso. La memoria ideal sería aquella que tuviera un bajo tiempo de acceso y un bajo coste por bit.

O Modo de acceso

Se e!ltiende por modo de acceso el método que la me­mona emplea para acceder a una información almace­

~·. nada dentro de ella. Los métodos más importantes son:

• Acceso aleatorio. En las memorias que tienen acce­so aleatorio, se puede ir a cualquier posición direc­tamente, sin tener que pasar por las que se encuen-

tran delante de ella. El sistema asigna a cada posi­ción de memoria un código y por él la identifica. El tiempo de acceso es independiente de la posi­ción de memoria a la que se vaya a acceder.

Un ejemplo de dispositivos de memoria de este tipo son las memorias integradas tipo RAM y ROM.

• Acceso secuencial. El acceso secuencial tiene como característica principal que el tiempo que se tarda en acceder a una información depende de la posición de memoria en la que se vaya a trabajar. Para acce­der a una determinada posición es necesario reco­rrer previamente todas las posiciones anteriores.

Las memorias de acceso secuencial están situa­das en periféricos y forman, junto a las memorias de acceso cíclico, la memoria masa del sistema. El dispositivo más característico de este tipo de me­moria es la cinta magnética.

• Acceso cíclico. Este modo de acceso es una combi­nación entre el acceso secuencial y el acceso alea­torio. Los dispositivos de memoria que utilizan este tipo de acceso son los discos duros y los disquetes, en los cuales la información viene gra­bada en pistas concéntricas. En la Figura 10.2 podemos ver la estructura en que se organiza la información en un disquete. La cabeza de lectu­ra/escritura accede, de forma aleatoria, para locali­zar la pista, y dentro de ella, de forma secuencial, para buscar el sector o posición deseada.

Sector dentro de una pista

Figura 1 0.2. Memoria de disco con acceso cíclico.

• Acceso por pila o acceso LIFO. Las siglas LIFO (Last In, First Out) significan: último en entrar, primero en salir.

Este tipo de acceso a memoria es muy utilizado en los sistemas microprogramables, para crear la llamada pila de memoria. Dicha pila es una zona

Page 31: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

PILA UFO

a) Carga de la pila

~-----. 23 2A35 23 2A35 23 F4 2A35 r-----1 2A34 68 2A341------- 2A341------1 2A33 1---'-=----1 2A33 2A33 1-----___,

2A32 2A32 2A32 ~---i

b) Descarga de la pila

Figura 10.3. Estructura de una memoria UFO.

de la memoria RAM, donde se pueden almacenar tanto resultados intermedios como la dirección de retorno en los saltos a subrutina o a interrupción. En la Figura 10.3 aparece en esquema una memo­ria de este tipo.

Esta zona memoria está en principio reservada para el microprocesador, pero puede ser utilizada también por el usuario siempre que se atenga a ciertas normas.

• Acceso por cola o acceso FIFO. El significado de las siglas FIFO (First In, First Out) es: primero en entrar, primero en salir. La estructura de estas memorias aparece en la Figura 10.4.

Este tipo de acceso es muy utilizado en los dispo­sitivos de memoria que poseen los periféricos para adaptar la velocidad de trabajo entre el interior y el exterior del sistema microprogramable, ya que, sin esta estructura de memoria, la CPU iría enviando información a una velocidad muy alta por la en­trada al periférico y éste tendría que procesarla a mayor velocidad de la que podría responder.

PILA FIFO

~HIIIIIIIIIII~-· ~!+H 11111111111~ SA+++AIIIII 1 1 1 1 1 ~-~

Entrada de datos Salida de datos

Figura 10.4. Estructura de una memoria FIFO.

1'

10.3. ESTRUCTURA Y ORGANIZACION DE UN CHIP INTEGRADO DE MEMORIA

1 O. 3. l. Estructura externa y patillaje

El chip de memoria ofrece un patillaje similar al que se indica en la Figura 10.5.

248

Seguidamente, describiremos los terminales que apa­recen de forma habitual en toda memoria integrada, si bien existen también terminales que sólo están disponi­bles en memorias PROM y EPROM, como son los de programación, o en las memorias DRAM como, por ejemplo, los terminales de refresco.

Page 32: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

ALIMENTACIÓN

Bus de d irecciones 1 Bu s de datos

-

- -

--

-

r r j_ es RIW -

Figura 1 0.5. Patillaje de una memoria integrada.

• Patillas de alimentación. La evolución de la tec­nología ha conseguido que sea suficiente una úni­ca tensión de alimentación del chip (habitualmente es de + 5 V). Por tanto, los terminales de Vcc y GND (masa) son imprescindibles en todas las pas­tillas. En las memorias MOS, estos terminales se suelen denominar V DD y Vss' respectivamente.

• Patillas del bus de direcciones (entradas de direc­ciones). Los terminales A 0 .•. Am sirven para poder leer o escribir en cada una de las posiciones de la memoria. Estos terminales son unidireccionales y su número está en relación directa con el número de posiciones que contiene la pastilla, de acuerdo con la expresión:

Número de posiciones = 2 N.o de terminales de direcciones

Así, por ejemplo:

-Una pastilla de 2.048 posiciones deberá tener 11 terminales:

- Una pastilla de 65.536 posiciones tendrá 16 terminales:

• Patillas del bus de datos (entrada/salida de datos). Los terminales de datos son bidireccionales, es decir, en procesos de lectura se comportan como salidas, mientras que en procesos de escritura se comportan como entradas. Además, cuando la pastilla no es utilizada ni para leer ni para escribir,

estos terminales deberán estar en estado de alta impedancia. Dentro de la pastilla, asociado a cada terminal, deberá existir un b~iffer bidireccional triestado.

El número de terminales de datos está directa­mente relacionado con la organización interna de la pastilla. En efecto, cada posición de memoria puede contener uno o varios bits independientes entre sí, pero compartiendo la misma dirección. Las organizaciones típicas de las pastillas son de 1, 4, 8 y 16 bits. Cada bit es almacenado en una célula elemental, por lo que el número total de células será:

N.0 de células= N.0 de posiciones x N. 0 de bits por palabra

Por ejemplo, una memoria de 2.048 posiciones de 8 bits (2 K x 8 bits) tendrá:

2.048 x 8 = 16.384 células

• Patilla de selección lectura/escritura. En memorias RAM es necesario que la pastilla reciba informa­ción del exterior, sobre la operación que debe rea­lizar (lectura o escritura) en una posición. Ello se realiza a través de la línea RjW ( R = Read = = Lectura, W = Write = Escritura), poniendo en esta línea un nivel O o 1 para indicar el tipo de operación. Generalmente, el O indica escritura, mientras que el 1 significa lectura, lo que hace que muchos fabricantes denominen a este terminal como RjW; otros, por el contrario, sólo lo denomi­nan W.

• Patilla de selección de pastilla (CS = Chip Select, o CE = Chip Enable). Fundamentalmente, este ter­minal va a actuar sobre los buffers de los termina­les de datos. Mientras no se active desde el exte­rior el terminal es, estos buffers permanecen en alta impedancia, siendo imposible toda operación, sea lectura, sea escritura.

Algunas pastillas tienen más de una línea de selección, relacionadas entre sí mediante una fun­ción lógica. Este sistema es empleado para simpli­ficar los circuitos que, partiendo del bus de direc­ciones del microprocesador, sirven para que éste gobierne a todas las pastillas del sistema micro­programable.

10.3.2. Organización interna

Cuando se diseña una memoria integrada se busca siempre que ocupe la menor superficie posible en la oblea de silicio sobre la que se fabrica. La organización interna de una memoria que consigue minimizar al máximo su tamaño es la estructura matricial, ya que permite reducir los circuitos adicionales de selección y

Page 33: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

lectura-escritura de cada celda de almacenamiento de un bit.

En la práctica, las celdas de la matriz se encuentran organizadas por palabras, luego, si se dice que una memoria está organizada en 1.024 x 8, en realidad se está indicando que consta de:

1.024 x 8 = 1.024 palabras de 8 bits cada una

Indicar la estructura y patillaje de una memoria organizada en 256 x 1 .

Partiendo del dato indicado, se puede deducir:

• Organización: 256 palabras de 1 bit. • N. 0 total de bits de la memoria: 256 x 1 =

= 256 bits • Estructura de la matriz: .)256 =: 16-> 16 x 16. • Bus de datos: 1 línea 0 0 •

• Bus de direcciones: 256 = 2n -> n = 8 líneas de A0 , •. • , A7 .

~ o c--1--~

16= 2n ,___L n= 4 r--L

rJ) 11> e----L ¡¡:

,----+-- Ql ,___L 'O

1 o ¡---L

'O - 11>

e--ª--" ¡¡:: :¡;

,.._JL o " - Ql

r------1L o

c------11-~,·

c--12-__1L

~ ~

y, por tanto:

1.024 x 8 = 8.192 células de 1 bit

Organización = N. 0 de palabras x N. 0 de bits por palabra

En la Figura 1 0.6, podemos ver cómo esta pas­tilla está estructurada en una matriz de 16 filas por 16 columnas, conteniendo cada posición una célula de almacenamiento. Para direccionar cual­quiera de estas células son necesarios 8 termina­les de direcciones, de los cuales 4 son utilizados para seleccionar una fila y los otros 4 para selec­cionar una columna.

La célula que se encontrase en la fila y en la columna seleccionada sería la que resultase leída o escrita. ·

256 Células

255

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Dato 116 LJitoLelectLtJitut .

1 1 1 1 1 1 1 1 1

o ¡1 1 2¡ 3/ 4/ 51 617/ s¡ gj 10/11/12/13/14/15/

Decodificador de columnas

t t t t 16=2n->-n=4

Figura 1 0.6. Memoria de 256 posiciones de 1 bit.

250

Page 34: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Indicar la estructura y patillaje de una memoria organizada en 2.048 x 8.

Partiendo del dato indicado se puede deducir:

• Organización: 2.048 palabras de 8 bits. • N.0 total de células: 2.048 x 8 = 16.384:

• Estructura de la matriz: J 16.384 = 128 --+

--+ 128 X 128.

• Bus de datos: 8 líneas 0 0 , ••• , 0 7 .

·• Bus de direcciones: 2.048 = 2n --+ n = 11 -+ -+ Aor ... , A1o·

En la Figura 10.7 podemos ver cómo esta pas­tilla está estructurada en una matriz de 128 filas por 128 columnas, lo que nos da uh total de 128 >< 128 células de un bit. ·

128 = 2n n=7

Entrada de direcciones

11 bits

7 bits

128/8 = 16

o

~ 2 Ul

UlCO co­:=Ql -.... Ul ..... !!:!§5 aleo -o-o '-::.= oro -o.Ul coco

.!2 e ~::J -o o o­u'O Q)Ul Ceo

> ·.¡::¡' (.)

<(

En este caso, hay que realizar la lectura simul­tánea de 8 células que se encuentran situadas en la misma fila, pero en posiciones no consecuti­vas, por lo que las columnas están agrupadas en grupos de 16, de las cuales cada multiplexor se­lecciona una. Puesto que se emplean 8 multiple­xores y todos ellos están gobernados por los mis­mos 4 bits procedentes del conjunto de las direcciones, se accede a las 16.384 células de ocho en ocho. Por ejemplo, si la dirección es 00000000000, queda activada la fila O y las co­lumnas O, 16, 32, 48, 64, 80, 96 y 112. Estas ocho células componen la posición 00000000000 de esta memoria. La representación de la selec­ción de columnas mediante multiplexores se em­plea para simplificar la comprensión.

bit 3 bit 4 bit 5 bit 6 V

·' _:.::·· ,· ' ' - -

Figura 10.1: Organizaciónde una memoria de 2.048 x 8.

Page 35: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

1 0.4. TIE~!POS CUOl'JOGilllMIAS

1 O. 4 .1. Shnhología

Para poder utilizar una memoria en un sistema de desarrollo de microprocesadores, es preciso que los tiempos de trabajo y las señales de gobierno del micro­procesador coincidan con las especificaciones fijadas por los fabricantes de memorias. Esta es la razón de la importancia de conocer los cronogramas y datos co­merciales que aparecen en los catálogos. Los símbolos más importantes empleados por los fabricantes de me­morias y microprocesadores son los siguientes:

• Información y cambio de información en un bus. Cuando una información está compuesta por va­rias señales, como en el caso de los buses de direc­ciones y de datos, se utiliza la representación sim­plificada que se indica en la Figura 10.8.

Información 1 Información 2

Figura 1 0.8. Representación de la información en un bus.

En dicho símbolo, el cruce de las líneas superior e inferior indica que se ha producido un cambio en una o varias de las líneas que forman el conjunto. Cuando las líneas permanecen paralelas, se está representando que la totalidad de la señal perma­nece sin variación.

• Estado de alta impedancia en un bus. Se indica con una tercera línea intermedia, tal y como aparece en la Figura 10.9. ·

-----</Información~>------Alta impedancia~ /Áita impedancia

Figura 1 0.9. Representación del estado de alta impedancia en un bus.

252

• Información no útil o irrelevante en un bus. Cuando la información presente en un conjunto de líneas es irrelevante, es decir, no tiene interés para el fenómeno que se describe, se utiliza el símbolo indicado en la Figura 10.10.

Figura 10.1 O. Información irrelevante o no útil en un bus.

• Cambio de estado en una línea. Puesto que el tiem­po de cualquier cambio de estado no es nulo, las subidas y bajadas de las señales, que en la realidad serían cercanas a una función exponencial, se re­presentan mediante los trazos incluidos que apare­cen en la Figura 10.11.

.. , .. 11

Q11

/ - \ "O" '------

Figura 10.11. Cambio de estado en una línea.

• Cambio de estado en una línea en momento indeter­minado. Si el instante de paso de O a 1 o de 1 a O no está determinado o es irrelevante, se señala el margen de tolerancia mediante un rayado, tal y como aparece en la Figura 10.12.

111 ' Paso de O a 1 Paso de 1 a O

Figura 1 0.12. Cambio de estado indeterminado en una línea.

Page 36: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Análisis de un proceso de lectura en una memoria RAM.

Empleando un analizador de estado lógico y una memoria RAM convencional, realizar el proceso de lectura indicado en el cronograma de la Fi!;~ura 1 0.13:

!'--Tiempo de ciclo de lectura--: ' ' ' '

Entrada direcciones

Dirección de salida

Entrada CS

Entrada R!W

Tiempo de acceso --.

S a 1 ida datos r-----'-----<1~

~10.4.2. Proceso de lectura

~1 proceso de lectura de una memoria, indicado en el ~ronograma de la Figura 10.13, lleva consigo las si­¿;uientes operaciones:

• La CPU debe colocar la dirección que se desea leer en la entrada del bus de direcciones de la memoria.

• La CPU activará la pastilla de memoria mediante la entrada de CS (Chip Select).

~ • La CPU deberá poner la línea de R/W de la pasti­lla de memoria en la posición de lectura, es decir, en l.

• Transcurrido un tiempo que denominaremos tiem­po de acceso, la CPU podrá recoger el dato solici­tado en el bus de datos de la pastilla de memoria. El dato presente en el bus de datos de la pastilla de memoria, antes de pasar el tiempo de acceso, es erróneo y no debe ser recogido por la CPU, ya que la memoria no ha tenido tiempo de responder íntegramente.

~ Observando el cronograma de la Figura 10.13, si Jamamos t0 al instante en que se presenta en el bus de

~:iirecciones la dirección que va a ser leída y t 1 al -Jnstante en que aparecen datos válidos en los termina-

les del bus de datos de la pastilla de memoria, el tiempo de acceso se calcula con la siguiente fórmula:

1 Tiempo de acceso en lectura = t 1 - t0 1

Terminada la lectura del dato, la CPU o micropro­cesador, desactivará las líneas de es y R/W de la pasti­lla de memoria y posicionará en el bus de direcciones la siguiente dirección con la que se va a trabajar. Para que un microprocesador pueda sincronizar su funcio­namiento con la memoria se deberá cumplir:

Tiempo del ciclo de lectura < Tiempo que el ¡tp mantiene en el bus la dirección a leer

El tiempo del ciclo de lectura, que aparece indicado en la Figura 10.13, es muy importante en una memoria y nunca debe ser superior al tiempo que un micropro­cesador mantiene en el bus de direcciones la informa­ción a leer, ya que si no es así, pueden producirse errores en la lectura. De este hecho se deduce que no se puede emplear cualquier pastilla de memoria para un determinado microprocesador, ya que tiene que ser compatible con la velocidad de trabajo de dicho mi­croprocesador.

Page 37: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Análisis de un proceso de escritura en una memoria RAM.

Empleando un analizador de estado lógico y una memoria RAM convencional, realizar el proceso de escritura indicado en la Figura 1 0.14.

* twc ~~--~----~~~~~--~--~~~~---: Tiempo de ciclo de escritura (mínimo) '

Direcciones

es

R!W 1-----------....

Datos

Instante de referencia

' ' : tow: toH : ,.____...;...__

Mínimo iMínimo

Figura 10.14. Proceso de escritura en una memoria RAM.

10.4.3. Proceso de escritura

El proceso de escritura de una memoria, indicado en el cronograma de la Figura 10.14, lleva consigo las si­guientes operaciones:

• La CPU debe colocar la dirección, en la cual desea escribir, en la entrada del bus de direcciones de la memoria.

• La CPU activará la pastilla de memoria mediante la entrada de CS (Chip Select ).

• La CPU deberá poner la línea de R/W de la pasti­lla de memoria en la posición de escritura, es decir, en O.

• La CPU establecerá el dato a escribir en la entra­da del bus de datos de la pastilla de memoria y lo mantendrá en dicho bus durante los llamados tiempo de escritura y tiempo de mantenimiento, para permitir que la memoria realice la operación de escritura.

Una vez realizado el proceso anterior, la líneas de CS y R/W retornan a su nivel de reposo, y el micropro-

254

cesador podrá variar la dirección en el bus de direccio­nes de la pastilla de memoria.

El tiempo total que dura el proceso de escritura se denomina:

J Tiempo de ciclo de escritura = twc

Para que un microprocesador pueda sincronizar su funcionamiento con la memoria se deberá cumplir:

Tiempo del ciclo de escritura < Tiempo que el ¡¡p mantiene la información en bus de datos

En el cronograma de la Figura 10.14 se pueden observar todos los tiempos que intervienen en el proce­so de escritura.

• Tiempo del impulso de escritura, tw: es el tiempo mínimo durante el cual la entrada RjW debe man­tenerse a O.

Page 38: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

• Tiempo de escritura, tnw: es el tiempo mínimo an­terior al instante de referencia, paso de O a 1 de la entrada RjW, durante el cual el dato a escribir debe permanecer sin variar en el bus de datos.

• Tiempo de mantenimiento, tnH: es el tiempo mínimo posterior al instante de referencia durante el cual el dato a escribir debe permanecer invariable en el bus de datos.

En la práctica, los tiempos de ciclo de lectura y de ciclo de escritura son similares, por lo que la frecuencia máxima de trabajo de una memoria se define como la inversa de la media aritmética de ambos tiempos. (Recordemos que ya en el Aparta­do 10.2 se indicó que dicha media aritmética se denominaba tiempo de acceso de la memoria.)

10~5~ ~!IEMOIUAS IW! COMERt:IALES

Estudio dél patillaje de una memoria SRAM comercial.

< •

Observando el patillaje, de la pastilla de memoria queaparece en laFiguréi10.15, deducir:

•·i::.a qap~cidaddepalabras que~lmacena. • EÍ t~maño de la palabra que almac;ena ..

• El. número tótal de bits que alli1~c~na.--" '• ~ _, '

-• El tipo de memoria Integrada.

Por ultimo, bw:¡car en el catálogó de. mernórias . . _las carád~rísticas estructurales y eléctricas< de la .

pastilla 2112 dé la casa National Semicond.uctor:

l. Estudio de la RAM 2 1

estudio del patillaje de la memoria 2112, podemos lo siguiente:

• Las líneas que forman su bus de direcciones son 8: Ao, Al, A2, A3, A4 , A 5 , A 6 y A 7 . De ello deducimos que el número de direcciones diferentes que con­tiene esta memoria es:

28 = 256 direcciones

Es decir, su capacidad de almacenamiento es de 256 palabras.

• Las líneas que forman su bus de datos son 4: I/00

,

f/0 1, I/02 e I/03 , por lo que la longitud de palabra con la que trabaja es de 4 bits.

• Al estar organizada la pastilla en 256 palabras x - x 4 bits, calcularemos el número de bits que es

capaz de almacenar la pastilla:

256 x 4 = 1.024 bits

• Analizando el resto de la pastilla, vemos que posee las dos patillas típicas de alimentación y masa (Vcc y GNI!J, una de selección de chip (CE) y la patilla de R/W, por lo cual podemos asegurar que se trata de una memoria RAM.

O Información de catálogo de la memoria SRAM 2112

Del catálogo comercial de la RAM 2112 obtenemos los siguientes datos básicos:

• Tipo: RAM estática. • Organización: 256 x 4. • Tecnología: NMOS. • Alimentación: 5 V. • Encapsulado: DIL 16 pines. • Compatible con lógica TTL. • Disipación típica de potencia: 2112A = 225 m W,

2112 A-L = 150 mW. • Tiempo de acceso máximo: 2112A = 350 ns.

Page 39: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

A0 (4) (16) Vcc

(8) GND A 1 (3)

Matriz

A 2 (2) Selector de memoria fila

A3 (1)

A 4 (15)

E/51 (9) Circuitos E/S Colum

Control Selector columna E/52 (10) de

entrada E/53 (11) de

datos

E/54 (12) As A6 A7

R/W(14)

Figura 1 0.16. Estructura interna de la memoria RAM 2112.

10.5.2. Tipos de n1etnorias RAl\1

Actualmente existen en el mercado tres tipos de memo­rias RAM:

l. RAM estáticas o SRAM. Las celdas de almace­namiento de un bit están formadas por flip-jlops, que permanecen indefinidamente en su estado set (1) o reset (0), mientras no se elimine la ali­mentación o se le obligue a bascular.

2. RAM dinámicas o DRAM. Las celdas de alma­cenamiento están formadas por pequeños con­densadores que almacenan la información. Tie­nen el defecto de que, por la existencia de inevitables corrientes de fuga, los condensadores se van descargando y la información se pierde. Para evitarlo, este tipo de memorias han de ser sometidas a un proceso de reescritura periódico denominado refresco (el tiempo típico de este ciclo es de 2 milisegundos).

256

El proceso de refresco de las DRAM requiere a la vez mayor complejidad del hardware y un tiempo, es decir, la memoria dinámica no está disponible en todo momento para ser leída o escrita, ya que el proceso de recarga periódica de los pequeños condensadores no es instantá­neo. Por el contrario, la DRAM ofrece la venta­ja de su mayor número de bits por chip, lo que

redunda en un precio más bajo y en unas dimen­siones más reducidas del montaje, sin olvidar que el circuito de refresco encarece ligeramente el conjunto.

En la Tabla 10.3 se presenta un cuadro com­parativo de las memorias RAM estáticas y RAM dinámicas.

Tabla 1 0.3. Cuadro comparativo de memorias RAM dinámicas y estáticas

Elemento de Flip-Flop Condensador almacenamiento

Dimensión de la célula Pequeña Muy pequeña

Grado de integración Alto Muy alto (celdas por chip)

Necesidad de refresco No Sí

3. RAM con pila. Este tipo de memorias es no volátil, es decir, no pierden la información al ser desconectadas. Se trata de memorias del tipo RAM CMOS que llevan incorporada en el mis­mo encapsulado una pequeña batería de litio

Page 40: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

~.

-..

que, según su fabricante, asegura la estabilidad de los datos durante 10 años con el chip ex­traído del circuito. La solución de alimentar la memoria mediante pilas o baterías es una solu­ción interesante hasta que la tecnología no sea capaz de ofrecer una auténtica RAM no volátil.

~10.5.3. RAL"- estáticas

-Bxisten dos tipos básicos de RAM estática según la cecnología de fabricación empleada:

1. Estructura de la celda de memoria SRAM en tecnología bipolar. Esta memoria emplea sola­mente transistores multiemisor en la estructura de su matriz, para crear cada una de las células de información. En la Figura 10.17 se muestra una de ellas.

El defecto de esta tecnología es el alto consu­mo de los transistores que plantea problemas de sobrecalentamiento al chip integrado. Su gran ventaja reside en su alta velocidad de respuesta.

2. Estructura de la celda de memoria SRAM en tecnología MOS. En la Figura 10.18 se muestra una célula de almacenamiento MOS. Aparente­mente, podría parecer más complicada que la bipolar, pero en la práctica posee las siguientes ventajas:

• Sencillez de integración al estar formada sólo por transistores MOS.

• Bajo consumo de los transistores MOS. • Alta densidad de integración.

Debemos citar los siguientes inconvenientes:

• Velocidad de trabajo lenta. • Sensibilidad a la electricidad estática.

Estudio del patillaje de una memoria DRAM comercial.

Observando el patillaje de lapastilla de mem~ri~ que aparece en la Figura 1 0.19, deducir:

• La capacidad de. palabras que almacena.

• El tamaño de la palabra que almacena.

• El número total de bits que almacena.

• El tipo de memoria integrada.

Por último, buscar en el catálogo de memorias las características estructurales y eléctricas de la pastilla MCM514256A de la casa Motorola.

Línea Y

Línea leer/escribir

o

Línea X

To T, Línea leer/escribir

Figura 10.17. Celda básica de memoria SRAM bipolar.

Voo

T5 Ts

T7 Ta

Dirección X l Vss

T, 1 T3

Tz Dirección Y l 1

Salidas celda

Figura 1 0.18. Estructura de la celda básica de una memoria SRAM CMOS.

20

19

18

4 17

5 16

6 15

7 14

8 13

9 12

10 11

Figura 10.19. Memoria RAM MCM514256A.

257

Page 41: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

10.5.4. Estudio de la DRAM MCM514256A

D Estudio del patillaje de la DRAM MCM514256A

Estudiando el patillaje de la memoria MCM514256A, podemos deducir lo siguiente:

• Analizando las patillas que no corresponden al bus de datos o de direcciones de la pastilla, vemos que posee las siguientes:

-Dos pines de alimentación: Vcc y Vss' de los que el último es el de masa.

-La patilla de W, de donde se deduce que se trata de una memoria RAM.

- Dos pines denominados CAS y RAS que sirven para realizar el proceso de refresco de este tipo de memorias y que, por tanto, las identifica como memorias DRAM o RAM dinámicas.

• Las líneas que forman su bus de direcciones son 9: A 0 , A1, A 2 , A3 , A4 , A 5, A 6 , A7 y A8 . Pero teniendo en cuenta que las memorias RAM dináminas llevan

-w '-16~~

1

~

- Generador 1+--GAS reloj 1 !-

l

~1 Buffer

direcciones columnas ---t

--t 1 --t e Cont,oladm - refresco ---- ~ Buffe' direcciones 1(9)

filas

i - Generador

r-

RAS reloj 2 ,_____

multiplexado su bus de direcciones, dicho bus de 9 líneas equivale en realidad al doble, esto es 18 líneas. De ello podemos deducir que el númer~ de direcciones diferentes que contiene esta memo­ria es:

218 = 262.144 direcciones

es decir, su capacidad de almacenamiento es de 262.144 palabras.

• Su bus de datos está formado por 41íneas: D0 , D1,

D2 y D3 . De ello se infiere que la longitud de palabra con la que trabaja es de 4 bits.

• Al estar organizada la pastilla en 262.144 palabras x 4 bits (256 K x 4), podemos calcular el número de bits que es capaz de almacenar la pastilla:

262.144 x 4 = 1.048.576 bits

D Información de catálogo de la memoria DRAM MCM514256A

En el catálogo comercial de la RAM MCM514256A, encontramos los siguientes datos básicos:

• Tipo: RAM dinámica. • Organización: 256 K x 4.

DOo DQ 3

Buffer 1(4) entrada

1---Buffer 1-- -salida G

!-

Decodificador (9) columnas

}512-x-~ Detector 1--

1/0 .--,_ o -o ---C1l 512 X 4

.!::::! (J)

.... C1l :e== 0 .... 1 5121 Matriz (.)

Q)

o - . .. ¡-Vcc Allmentac1on V

+--SS

Figura 10.20. Estructura interna de la memoria DRAM MCM514256A.

258

Page 42: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

·NMOS.

5.5. RAM dinámica

ya dijimos en el Apartado 10.5.2, este tipo de &"' ·- 0 '""0ria almacena cada bit de información en un pe­

condensador. El citado condensador no es un ··'·'-''' ..... '""r' .. ..,te integrado intencionadamente sino que es

capacidad parásita que se forma en los transisto­MOS, entre su terminal de puerta y el sustrato del

que lo contiene. Dicho condensador parásito se al aplicar tensión a la puerta y, debido a la alta

•i'. del transistor, permanece cargado durante ~.;5 a 10 ms, a pesar de que cese la tensión aplicada al ~"' transistor.

'Utilizando esta propiedad y aplicando cada 2 ms un "'"proceso de recarga o refresco, para compensar las pér-1l' didas producidas por las corrientes de fuga, la celda de

. memoria funcionará perfectamente.

O Estructura y funcionamiento de la celda de memoria DRAM

Existen muchos tipos de celdas de RAM dinámica, uno de los más empleados es el de la Figura 10.21. Esta celda está formada por tres transistores MOS que funcionan como verdaderos interruptores.

Selección de lectura

Bit entrada

Selección escritura

Capacidad parásita

Figura 1 0.21. Celda de RAM dinámica.

Si T1 se activa por medio del terminal de escritura, la capacidad parásita C se podrá cargar o no a través del terminal de entrada, dependiendo de que el valor aplicado en dicha entrada sea 1 o O. La consecuencia

de dicha carga es que el transistor T2 conducirá, si el condensador está cargado, y no lo hará, en caso con­trario.

Para leer sólo hay que activar T3, de forma que el valor almacenado en el condensador permitirá que el transistor T2 conduzca o no y, por consiguiente, se puede saber si en la celda hay almacenado un 1 o un O.

Una característica muy importante de esta celda de memoria es que, debido al empleo de los transistores MOS, su consumo de energía es muy bajo.

O Organización interna de una memoria DRAM

La organización interna de estas memorias varía mu­cho con respecto a las SRAM. En la memoria estudia­da en la Actividad 4, vimos su organización interna según nos la daba el fabricante. En dicha estructura, que aparece en la Figura 10.20, podemos observar las siguientes características:

• El bus de direcciones se encuentra multiplexado. Una de las características más importantes de este tipo de memorias reside en que, a causa del peque­ño tamaño de su celda base, se pueden integrar más celdas en un chip de memoria DRAM que en otro chip de memoria SRAM de iguales dimensiones .

Debido a esta elevada densidad de integración, se puede reducir el tamaño del chip, aunque la capacidad de la memoria sea elevada. Ello trae el inconveniente de la falta de espacio en el encapsu­lado para poner los pines correspondientes al bus de direcciones. La solución a este problema se obtiene, sin tener que aumentar el tamaño del en­capsulado, multiplexando las líneas del bus de di­recciones.

Para que la multiplexación de direcciones sea efectiva, el microprocesador o un circuito auxiliar de control de la memoria deberá enviar a los pines de la memoria DRAM primero la mitad del bus de direcciones y, seguidamente, a los mismos pines, la otra mitad.

Las operaciones básicas de lectura y escritura son sincronizadas por el microprocesador o circui­to de control auxiliar de la memoria con ayuda de las siguientes líneas:

- CAS (Column Address Strobe): autorización de dirección de columna.

-RAS (Row Address Strobe): autorización de di­rección de fila.

- W (Write ): control de lectura/escritura.

Así, cuando la memoria recibe la primera mitad de la dirección de trabajo, se activa la patilla CAS y el dato entra en el registro de columnas. Se­guidamente, al recibirse la segunda mitad de la dirección, se activa la patilla RAS y el dato entra en el registro de filas. Los registros de columna

Page 43: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

y fila activarán los correspondientes decodificado­res y direccionarán la matriz de memoria para que, en función del estado lógico de la línea W, se efectúe la operación solicitada.

• Existe una circuitería de refresco. Comúnmente, el refresco de la memoria DRAM se reduce a un ciclo de lectura en el que sólo es activada la señal RAS y, por tanto, se lee una fila completa de la matriz para, seguidamente, ser de nuevo escrita. Este ciclo de lectura debe afectar a cada una de las filas de la memoria dinámica para que el refresco sea correcto. Por ello, es necesario disponer de un circuito controlador que genere, una a una, las sucesivas direcciones de fila.

O Resumen de las caract,erísticas de una memoria DRAM

Podemos resumir las características de las memorias RAM dinámicas en los siguientes puntos:

• La capacidad de almacenamiento de los chips de memoria DRAM es, a igualdad de tamaño, supe­rior a la de los chips de memoria SRAM.

fu(1) CAS(2) 00o(3)

A 0 (4) A 1 (5)

oa, (6) Az (7) A3 (8)

Vss(9) 002 (10)

A 4 (11) A5 (12)

003 (13) As (14) A7 (15)

004 (16) A8 (17) A9 (18)

A10 (19) 0~(20)

W(21) V 55 (22)

DOs (23) NC(24)

007 (25) NC(26)

RAS(27) NC(28) NC(29) Vcc(30) •

(a) Módulo de 30 pines

• El consumo de las memorias DRAM es considera­blemente inferior al de las SRAM.

• La adaptación de las memorias DRAM a los siste­mas basados en microprocesadores es más compli­cada que la adaptación de memorias SRAM, dado que las primeras obligan a la incorporación de la adecuada lógica de refresco.

10.5.6. 1\lódulos Sll\IM de memoria RAM

Los nuevos ordenadores y programas necesitan cada día más cantidad de memoria RAM para su correcto funcionamiento. Si se quisiera satisfacer plenamente este hambre de memoria con los chips convencionales, una placa base que emplease 8 Mbytes de RAM, debe­ría disponer de 72 zócalos para otros tantos chips de memoria RAM de 16 kilobytes cada uno. Esta es la razón por la cual los ordenadores modernos tuvieron que desarrollar un nuevo sistema de conexión de me­morias que, sin gran aumento de volumen, permitiera contener en la placa base hasta 64 Mbytes.

36 37 72

(b) Módulos de 72 pines

Figura 10.22. Módulos SIMM de memoria RAM.

260

Page 44: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

El sistema modular de memorias SIMM (Single In [ine Memory) consiste en unos zócalos, denominados bancos de memoria, que se encuentran soldados sobre la placa base del ordenador, y que están diseñados para alojar unas pequeñas tarjetas de circuito impreso que contienen chips de memoria RAM de 256 o más kilobytes de capacidad. En la Figura 10.22 de la pági­na anterior podemos ver un ejemplo de estos módulos de memoria RAM que habitualmente son del tipo DRAM.

Los módulos SIMM de memoria se fabrican hoy en día en tres tipos:

1. Módulos SIMM de 30 contactos: se fabrican con una capacidad por módulo de 256 kB, 1 MB, 4 MB y 16MB.

2. Módulos SIMM de 72 contactos: se construyen con una capacidad por módulo de 1 MB, 2 MB, 4 MB, 8 MB, 16 MB y 32 MB.

3. Módulos SIMM de 168 contactos: son los más modernos y se fabrican con una capacidad por módulo de 4MB, 8MB, 16MB, 32MB, etc.

10~6~ MEMORIAS ROM-PROM .. EPROM CO)!ERCIALES

. ~.·La papacidadide palabras q~e ,almac~n~, • El taniélñO d~ •'él pa:labra, que almacena. ·

·· • El número total de bits que ~lmacena. • El tipo de memoria integrada: ·

10.6.1. Estudio de la ROM 6830

Estudio deJ patillaje de la memoria ROM 6830

Del estudio del patillaje del chip de memona 6830, podemos extraer lo siguiente:

• Analizando las patillas que no corresponden al bus de datos o de direcciones de la pastilla, vemos que posee las siguientes:

-Dos pines de alimentación: Vcc y V88, el último es el de masa. ·

1

2

3

4

5

6

7

8

9

10

'---' ····•'"''~;.•;; ;;

1 1

12l.._LII~~

24

23

22

21

20

19

18

17

16

15

14

13

- Cuatro pines de selección de chip: CSO, CSJ, CS2 y CS3.

Al no poseer patilla de R/W, podemos asegurar que se trata de un tipo de memoria ROM. Sin embargo, por la clasificación de las memorias inte­gradas vista en el Apartado 10.1.2, sabemos que existen varios tipos de memorias de sólo lectura, pero esta pastilla no posee ninguna patilla que sirva para su programación fuera de fábrica, por lo que podemos asegurar que se trata de una me­moria ROM programable por máscara.

• Las líneas que forman su bus de direcciones son 10: A 0 , A1, A 2 , A3, A4 , A 5 , A 6 , A7 , A 8 y A 9 • De ello

Page 45: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

podemos deducir que el número de direcciones diferentes que contiene esta memoria es:

210 = 1.024 direcciones

es decir, su capacidad de almacenamiento es de 1.024 palabras.

• Su bus de datos está formado por 8 líneas: D0 , D 1,

D2

, D3

, D4

, D 5, D 6 y D7. De ello se desprende que la longitud de palabra con la que trabaja es de 8 bits.

• Al estar organizada la pastilla en 1.024 palabras x 8 bits, podemos calcular el número de bits que es capaz de almacenar la pastilla:

1.024 x 8 = 8.192 bits

O Información de catálogo de la memoria ROM 6830

Buscando en el catálogo comercial de la ROM 6830, obtenemos los siguientes datos básicos:

• Tipo: ROM por máscara. • Organización: 1.024 x 8. • Tecnología: NMOS. • Alimentación: + 5 V. • Encapsulado: DIL 24 pines. • Compatible con lógica TTL. • Consumo máximo: 130 mA. • Tiempo de acceso máximo: 68B30A 250 ns.

Ao A,

Az A3

Decodifi-A4 cador

As de dirección

A6 A7 As Ag

Figura 10.24. Estructura interna de la memoria ROM 6830.

262

10.6.2. Memorias ROM.

El contenido de estas memorias es totalmente invaria­ble, ya que su grabación se produce en el momento de la fabricación del chip, siendo un paso más de su proceso de fabricación.

Su producción puede ser estándar o bajo pedido (Custom Design), pero en cualquier caso su fabricación sólo es rentable para grandes series. Esta es la causa de que este tipo de memorias sólo se encuentre en disposi­tivos y máquinas programadas, producidas en elevado número tales como: lavadoras automáticas, generado­res de caracteres para TV, videocámaras, etc.

O Estructura y funcionamiento de la celda de memoria ROM

El procedimiento de grabado de la información no es en realidad un proceso de escritura, como sucede en las memorias RAM, sino que consiste en variar, duran­te la fabricación, el espesor de la capa de óxido, que posee el terminal puerta del transistor MOS que cons­tituye cada celda de la memoria, en función de la información a grabar (O o 1). Dicha variación se efec­túa, según se muestra en la Figura 10.25, con el si­guiente convenio:

• Capa gruesa (1 micra) para grabar el 1. • Capa fina (0,1 micra) para grabar el O.

Transistor que memoriza un cero (O) Terminal Terminal de puerta Terminal de de fuente drenador

Transistor que memoriza un uno (1) Terminal de puerta Terminal de

drenador

Figura 10.25. Grabación de 1 y O en una celda de memoria ROM.

La explicación al anterior convenio se deriva de que la tensión de puerta necesaria para que el transistor MOS conduzca, depende del espesor de la capa de óxido de su terminal de puerta; así, por ejemplo, su-

Page 46: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

_ pongamos que para que conduzca el de capa fina nec~­sita 4 V, y para que lo haga el de capa gruesa necesi­

~. ta 40 V. Si a los dos transistores les aplicamos 5 V ~ a los terminales de puerta, el transistor que almacena

el 1 (capa gruesa) no conducirá, mientras que el que ~ almacena el O (capa fina) sí lo hará.

~ O Organización interna de la memoria RO M

En la Figura 10.26 aparece una pequeña matriz de memoria ROM en la que la celda está formada por un transistor MOS, que en unos casos posee capa gruesa y en otros capa fina. Supongamos que en el bus de direcciones de la pastilla se posiciona la dirección 10; esto dará lugar a que se active la salida del codificador correspondiente a la fila F2, y que todos los transisto­res de esta fila reciban en su terminal de puerta una tensión de 5 V. Los transistores de capa gruesa no conducirán y, por tanto, no derivarán a masa la ten­sión de alimentación de la columna en la que se en­cuentran, por lo que en la salida de dicha columna

~· habrá tensión, o lo que es lo mismo, un 1. Por el contrario, los transistores de capa fina de la

fila F2 conducirán y derivarán a masa la tensión de alimentación de la columna en la que se encuentran, con lo que en la salida de dicha columna habrá un O.

Decodificador

o

Direcciones

OV

Salidas o

10.6.3. Memorias PROM

Las memorias PROM (Programmable Read Only Me­mory) son memorias de sólo lectura programables por una sola vez por el usuario de acuerdo con sus necesi­dades. Una vez grabadas no pueden ser borradas.

O Estructura y funcionamiento de la celda de memoria PROM

La celda de memoria PROM está formada por un transistor bipolar o un transistor MOS, según la tec­nología empleada, que lleva un fusible conectado en serie en uno de sus terminales. La grabación de la celda de memoria consiste en la destrucción, mediante la aplicación de una sobretensión, del fusible conecta­do en serie con el transistor. En la Figura 10.27 pode­mos ver, en esquema eléctrico y en estructura real, la celda de una memoria PROM.

El fusible es un trozo de conexión metálica, general­mente de aluminio o nicrom, que se deposita en serie con el componente utilizado para la memorización du­rante el proceso de fabricación del chip. En este método, al grabar sobre un punto de memoria, se suprime un camino o conexión dentro del circuito integrado.

Fila activada

OV

o

Datos

Figura 10.26. Organización de una memoria ROM programable por máscara.

Page 47: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

~

1 -----'

Diodo Conexión

o ... ¡ o normal

o

? NPN o

4¡..¡,m Conexión

NPN~ i

1~ o 4¡..¡,m

Zona estrecha MOS (fusible) 50¡..¡,m

Figura 10.27. Principio de programación de las memorias PROM.

,.< '<, >' -~---· '. ', ••• ;.··: •• -'-- :--· -;-' -~.~-:- ~

cun~v-'"'- fJOliiiiCIJ't::iUlt: féi memoria que apar~-ll=I'HrlllrJ::! 1n~'H -'deducir: - · · -

: -··~~··bapaddad d~ -palabrasqueálmacena. • El tamaño de. la palabra que almacena,.

El. númer0.·total..de bits q~e almacena.···· • El tipo-de n1em0ria integrada. · ·

. Por. último,bussar enef catálogodemernoriás las cara,cterísticas estrljctl1rales y eléctricas de la pastilla 27C64A de .la casaPhilips. . .

28

27

26

25

24

23

22

21

20

19

J8 17

16

15

Figura 1 0.28. Memoria EPROM 27C64A.

Page 48: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

10.6.4. Estudio de la EPRONI 27C64A

O Estudio del patiHaje de la memoria EPROM 27C64A

Observando el patillaje de la memoria 27C64A, dedu­cimos lo siguiente:

• Analizando las patillas que no corresponden al bus de datos o de direcciones de la pastilla, vemos

~ que posee las siguientes:

~ -Dos pines de alimentación: Vcc y GND, el últi-mo es el de masa.

-Cuatro pines especiales: Vpp, PGM, OE y CE.

Al no poseer patilla de RjW, podemos asegurar que se trata de un tipo de ROM, pero, al tener la patilla de PGM, podemos confirmar que se trata de una memoria PROM o EPROM. Para poder distinguir entre ambas, veremos el encapsulado real para observar que posee una ventana de cris­tal de cuarzo desde la que se puede ver el chip. Esto es lo que caracteriza a las memorias EPROM.

• Las líneas que forman su bus de direcciones son 13: A 0 , A1 , A 2 , A3 , A4 , A 5 , A 6 , A7 , A8 , A 9 , A10, A11 y A12. Podemos deducir que el número de direccio­nes que contiene la memoria es:

213 = 8.192 direcciones

es decir, su capacidad de almacenamiento es de 8.192 palabras.

• Su bus de datos está formado por 8 líneas: D 0 , D1,

D 2 , D3 , D4 , D 5 , D 6 , y D7, por tanto, la longitud de palabra con la que trabaja es de 8 bits.

• La organización de la pastilla es: 8.192 palabras x 8 bits (8 K x 8), con lo que podemos calcular el número de bits que es capaz de almacenar la pastilla:

8.192 x 8 = 65.536 bits

O Información de catálogo de la memoria EPROM 27C64A

El catálogo comercial de la EPROM 27C64A muestra las siguientes informaciones:

• Tipo: EPROM. • Organización: 8 K x 8. • Tecnología: NMOS. • Alimentación: + 5 V. • Encapsulado: DIL 28 pines. • Compatible con lógica TTL. • Consumo máximo: 20 mA.

• Tiempo de acceso máximo: 100 ns. • Modo de programación: + 12-14 V en la patilla

Vpp· • Autorización de programación: + 5 V en la patilla

PGM.

Salida de datos

Oo- 07

OE Control de PGM programación 1----:----+-1 Buffer de datos

CE y selección

Entrada de

Decodificador Y

Decodificador filas (X)

direcciones '---------~-'

Detector de columnas

65.536 BIT

Matriz

Figura 1 0.29. Estructura interna de la memoria EPROM 27C64A.

O Modos de funcionamiento de la memoria EPROM 27C64A

• Modo de programación. Para programar la 27C64A debemos aplicar en la patilla Vpp una tensión de 12 V, estando PGM a nivel bajo.

• Modo de standby. El funcionamiento standby pro­duce una reducción notable del consumo del chip en estado inactivo. Este modo de actuación se selecciona aplicando Vcc a la patilla de Vpp y un nivel alto a la patilla CE.

10.6.5. Me1norias EPROM

Las siglas que forman el nombre de estas memorias corresponden a Erasable PROM, es decir, PROM bo­rrable; también se las denomina UVEPROM (Ultra­violet Erasable PROM).

O Estructura y funcionamiento de la celda de memoria EPROM

Su celda de memoria está formada por un transistor MOS tipo FAMOS, como el de la Figura 10.30. Este transistor MOS posee la peculiaridad de que su termi­nal metálico, que forma la puerta, se encuentra aislado y rodeado de una capa de óxido de silicio (Si02).

Page 49: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Fuente Drenador

Óxido ~.:..¡:_:_.:..'122:::22L::f-:==::::=~..J222Z2:í1__._c_;:-_;.J de si 1 ici o

N

Terminal aislado de puerta

Figura 10.30. Transistor FAMOS de una celda de memoria EPROM.

O Proceso de grabado de la información en la celda de la memoria EPROM

Si al transistor F AMOS de la Figura 10.30 se le aplica en el terminal de drenador un fuerte impulso negativo (normalmente Vpp es de 10 a 25 V), se generará una inyección de electrones en el terminal aislado de puer­ta, debido a una combinación de los efectos avalancha y túnel que se producen en la unión PN formada entre drenador y sustrato. El número de electrones inyecta­dos depende de la amplitud y duración del impulso negativo aplicado.

Cuando el impulso negativo cesa, los electrones que­dan atrapados en la capa de óxido de silicio y el condensador que forma la puerta del MOS permanece cargado indefinidamente, provocando la conducción del transistor (al crearse el canal tipo P en el sustrato) y el almacenamiento de la información.

Teóricamente, una memoria EPROM puede conser­var su información por más de 100 años, pero dicho tiempo de conservación varía con las condiciones am­bientales y la densidad de información en la memoria.

O Proceso de borrado de la información en la celda de la memoria EPROM

El borrado de una celda de memoria EPROM consiste en anular la información eliminando la carga negativa almacenada en la puerta aislada o flotante. Este borra­do se consigue con la exposición de las celdas a una radiación ultravioleta a través de la ventana practicada en el encapsulado del integrado.

La radiación ultravioleta aumenta la conductividad del óxido de silicio debido a la generación de pares

266

electrón-hueco, los cuales dan lugar, a su vez, a que los electrones retenidos en la puerta aislada adquieran energía suficiente de los fotones de la luz ultravioleta como para atravesar la barrera que representa el óxido de silicio, y provocar la descarga del condensador puerta-sustrato y el borrado de la información almace­nada en el dispositivo.

Las condiciones que debe cumplir la luz empleada para el borrado de una memoria EPROM son las siguientes:

• Luz de 3.000 Á de longitud de onda. • Potencia luminosa de al menos 15 W/cm 2

.

• Distancia de varios centímetros entre el foco de luz y la EPROM.

En la práctica, el proceso de borrado se realiza ha­ciendo varios ciclos sucesivos, hasta que todos los bytes de la memoria queden en FF (hexadecimal).

O Aspecto externo de una memoria EPROM

Las memorias EPROM son muy fáciles de distinguir desde su exterior, ya que adoptan un encapsulado DIL, que posee una ventana en el centro de su cara superior con un tapón transparente de cuarzo. Una vez grabada la memoria, dicha ventana suele ir cubier­ta, para evitar que la luz solar, al incidir sobre ella, pueda provocar el borrado parcial de la memoria.

En la Figura 10.31 se muestra el chip de una memo­ria EPROM donde se puede distinguir la ventana de cristal de cuarzo.

Figura 1 0.31. Encapsulado de una memoria EPROM.

O Programadores de EPROM

Son circuitos especialmente diseñados para la graba­ción de este tipo de memorias. Su funcionamiento está basado en la grabación, byte a byte de cada una de las direcciones en que se considera dividida la memoria. Para ello, un microprocesador se encarga de controlar el envío de la información a la memoria, así como las señales descritas en el apartado anterior.

Page 50: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

10.6.6. Memorias EAROM

Son memorias que tienen un funcionamiento similar a ~~ las EPROM. El significado de sus siglas es: Electrical

Alterable Read Only Memory, lo cual significa memorias de sólo lectura borrables eléctricamente. Su estructura es similar a la de las memorias EPROM, y emplean una variante del transistor F AMOS para cada celda de almacenamiento.

La variante del transistor F AMOS empleado apare­ce en la Figura 10.32, donde podemos observar cómo la capa de óxido de silicio que recubre el terminal de puerta es más estrecha por el lado del terminal de fuente que por el lado del terminal de drenador. Esto permite que, al aplicar al terminal de puerta una ten­sión mayor que la de programación, pero de signo contrario, se realice la descarga de la puerta y, por tanto, el borrado de la memoria.

La tensión de grabación de las EAROM es también ·~. de 25 V con un tiempo de 100 milisegundos por byte,

el doble que para las EPROM. La energía necesaria para el borrado no se consigue

con rayos ultravioletas, sino suministrando un pico de tensión del orden de 35 V. Según los cálculos y la experiencia de las primeras EAROM, la permanencia de los datos es próxima a los 100 años.

1'

Puerta Óxido de silicio

Drenador

Terminal aislado de puerta

Figura 10.32. Transistor FAMOS de las memorias EAROM.

A pesar de la gran innovación que suponen las me­morias EAROM, aún no se ha conseguido una perfec­ta introducción en el mercado electrónico, aunque se­rán las memorias no volátiles del futuro.

l0.7ti EXPANSION DE MEMORIAS INTEGRADAS

Cuando se diseña la memoria de un sistema de desa­rrollo con microprocesadores, nos encontramos nor­malmente con el problema de que nuestras necesidades de capacidad de memoria o de tamaño de palabra

··~ almacenada no se corresponden con la organización de las pastillas de memoria que disponemos. En este caso, hay que recurrir a la interconexión de varias pastillas (generalmente iguales) para lograr los pará­metros deseados.

La interconexión pretende lograr una o ambas de las siguientes posibilidades:

• Aumentar la longitud de palabra almacenable en la pastilla.

• Aumentar el número de palabras almacenable en la pastilla.

1 O. 7 .l. Expansión de la longitud de palabra abnacenable

Esta situación se presenta cuando el sistema de desa­rrollo trabaja con mayor número de bits que la longi­tud de palabra en que está organizada la pastilla.

El proceso de expansión debe respetar el siguiente orden:

a) Se emplearán tantas pastillas iguales como el número que resulte de dividir la longitud de palabra que se desea obtener, entre la longitud de palabra de la pastilla a emplear.

b) Se conectarán en paralelo los buses de dirección de ambas pastillas con las líneas correspondien­tes del bus de direcciones del microprocesador.

e) Se conectarán en paralelo las siguientes líneas de todas las pastillas: es, R/W, etc.

d) Se formará un nuevo bus de datos agrupando los buses de datos de todas las pastillas.

Page 51: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Realizar una memoria de 1 K x 8, partiendo de pastillas de 1 K x 4.

Las memorias de 1 K x 4 tienen las siguientes líneas:

• Bus de datos formado por 4 líneas: 0 0 , 0 1 , 0 2

y 03. • Bus de direcciones formado por 1 O líneas:

A0 , .•• ,Ag.

• Terminal de lectura/escritura RjW, en el caso de ser memorias RAM.

• Terminal de selección de chip CS.

Por otra parte, la memoria que deseamos ex­pandir deberá poseer las siguientes líneas:

• Bus de datos formado por 8 líneas: 0 0 , 0 1 ,

02, 03, 04, Os, 06 y 07. • Bus de direcciones formado por 1 O líneas: , A0 , ••• ,Ag.

• Terminal de lectura/escritura RjW, en el caso de ser memoria RAM.

Teniendo en cuento lo anterior, y aplicando el método indicado en el Apartado 10.7.1,, el número de pastillas a emplear será de: 8 bits palabraj4 bits palabra = 2 pastillas.

A continuación, según nos indica la Figura 1 0.33, se conectarán en paralelo los siguientes terminales de la pastilla: ,

• Los terminales del bus de direcciones (A0 , ••• ,

A9) de ambas pastillas.

• El terminal de selección de pastilla ( CS) de .las dos pastillas.

• Los terminales de lectura/escritura (RjW) de ambas pastillas.

10. 7.2. Expansión delnú1nero de posiciones o palabras abnacenahles

Hay ocasiones en las que el número de direcciones de memoria que necesita nuestro sistema de desarrollo es m~~or que el poseído por las pastillas que vamos a utthzar. En este caso, lo que debemos expandir es la capacidad de la memoria.

El proceso de expansión de la capacidad debe respe­tar el siguiente orden:

a) Se emplearán tantas pastillas iguales como el número que resulte de dividir la capacidad de la memoria que deseamos obtener, entre la capaci­dad de las pastillas a emplear.

268

De esta forma, se consigue que, al poner una dirección en las líneas A0 , ••• , Ag, se seleccione la misma posición en cada una de las pastillas, ya que ambas se activan a la vez.

Por el contrario, las líneas del bus de datos se mantienen independientes, agrupándolas para formar un conjunto de 8 líneas que contienen la palabra de 8 bits que se pretendía formar. Los cuatro bits menos significativos pertenecen a la pastilla número 1 y los cuatro más significativos a la 2.

l..__-4--f--jf-+-f-H-1--1--<>--- A9 l.._--+-+-+4-~+~>-----Aa

l.._--~-i-+-f-++~~--A7 '------+-H-t--1-H---- A6

'------+-+-++-~------As L------++~~-----A4 L_------f-H~------A3 L-------+-+~--------A2 '---------4~-------A1 '---------~--------Ao

Figura 1 0.33,. Expansión de pastillas dememoriade 1 K x 4 a 1 K x 8. ·

b) Se conectarán en paralelo las líneas de RjW de

e)

d)

todas las pastillas, en el caso de ser memorias RAM. Se formará un nuevo bus de datos, agrupando los buses de datos de todas las pastillas. Se conectarán en paralelo los buses de direccio­nes de todas las pastillas de memoria con las correspondientes líneas del bus de direcciones del microprocesador. Mediante el empleo de ciertas líneas de las sobrantes del bus de direc­ciones del microprocesador, y con la ayuda de decodificadores, activaremos las entradas de se­lección de chip de cada una de las pastillas de memoria.

Page 52: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Realizar una memoria de 4 K x 4, partiendo de pastillas de 1 K x 4.

Las memorias de 1 K x 4 tienen las siguientes líneas:

• Bus de datos formado por 41ínea$: 0 0 , 0 1 , 0 2

Y.D3. • Bus de direcciones formado por 1 O líneas:

A0 , ••• ,Ag .. • Terminal de lectura; escritura RjW, en el caso

de ser memorias RAM. ' .

• Terminal de selección de chip CS.

Porotraparte, lamemoria que deseamosex­pandir deberá poseer las siguientes líneas:

• Bus de datos formado por 41íneas: 0 0 , 0 1 ,

.. 02, y 03. ··· • Bus de direcciones formado por 12 líneas:

A0

, ;,.,A11 • .

·• Terr:ninal de lectura/escritura RjW, enelcaso de ser memoria RAM. · · · · · . ' ' ..

Teniendo en ~~enta lo anterior y. apliCando el método indicado en el Apartado 10.7.2; .elnúmero de pastillas a emplear será .de: 4 K/1 K =e: 4 pastillas:·· . · ·

Seguida.mente, conectaremos en paralelo a los correspondientes terminales del microprocesador

'los siguientes pines de las cuatro pastillas:· .. ·

·. t •Terminalescl~l·b~sa~ d~tqsJLJ0, D,,.g; D3). Terrninal?s del bu$ de. direcciones A0 , .• ~.: Ag .. ··

· \ ; 'TE;1rfT1inaL de/lectur(l./éscritura (R/V\1), ~n el · · · éaso deJas memorias RAM; · · · · · · ·

Al conectar el bus de direcciones d~cáélapasti­lla al microprocesador, detectamos que la memo­ria que deseamos obtener debe tener 12 líneas de direcciones, mientras que nuestras pástillas tienen 1 O. Utilizaremos, por tanto, las líneas A10 y A11 para generar los impulsos de selección de chip de cada pastilla. Con la ayuda de un decodi­ficador, al que aplicaremos las líneas A10 y A1.1 del bus de direcciones del. micro, podremos obtener, de sus 4 salidas, las señales de selección de chip de cada una de las cuatro pastillas de memoria. El esquema se muestra en la Figura 1 0.34.

Si analizamos dichafigura, veremos que:

• La pastilla 1 contiene direcciones comprendi­das entre:

000000000000 (OOOH),---001111111111 (3FFH)

• La pastilla 2 contiene direcciones comprendi­das entre:

010000000000 (400H)-Of11Jt111111 (7FFH)

• La pastilla 3 conti~ne direcciones comprendí-. das entre: e .. . ···. . • . .

1 00000000000 (BOOH) ~ 1 01111111111 (BFFH) ·.· .,, ._,

•l.apastillct4 ccíhti~~~ dir~bciories comprendí~ dasentre: · ······ · ···· .·. ···· ··

. ~_ .. >>~> - ,,'

. j1QOOOOOO()OO (COOH)--:: 1 tt1 { 11'1tt 11 {FFFH)

--------------------A,, --------------------A,o

Figura 10.34. Expansión de pastillas de memoria de 1 K x 4 ~4 K x;4;

Page 53: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

10.7 .3. Expansión simultánea de la capacidad y de la longitud de palabra

El procedimiento es en realidad una combinación de los dos anteriores, con la diferencia de que ahora se

Realizar una memoria de 2 K x 8, partiendo de pastillas de 1 K x 4.

Las memorias de 1 K x 4 tienen las siguientes líneas:

• Bus de datos formado por 41íneas: D0 , D1 , D2

y D3. • Bus de direcciones formado por 1 O líneas:

A0 , ... , A9 •

• Terminal de lectura/escritura RjW, en el caso de ser memorias RAM.

• Terminal de selección de chip CS.

Por otra parte, la memoria que deseamos reali­zar deberá poseer las siguientes líneas:

• Bus de datos formado por 8 líneas: D0 , D1 ,

D2 , D3 , D4 , D5 , D6 y D7 •

• Bus de direcciones formado por 11 líneas: Ao, ... , A10.

• Terminal de lecturajescritura RjW, en el caso de ser memoria RAM.

··~······ .. ·ea.pa es PA$TftlA3•··· ...• <>,· :: •• • . • R)iiit A,.; •:-'"· A

emplearán tantas pastillas iguales como nos indique el número que resulte de multiplicar el número de pasti­llas que necesitamos para expandir la capacidad de memoria, por el número de pastillas necesarias para expandir el tamaño de palabra almacenable.

Como en el caso de expansión de la capacidad, em­plearemos también decodificadores o puertas lógicas.

Teniendo en cuenta lo anterior y aplicando el método indicado en el Apartado 10.7.3, el número de pastillas a emplear será de:

2 K 1 1 K = 2 pastillas; 8 bits palabra 1 4 bits palabra = 2 pastillas.

Total = 2 x 2 = 4 pastillas

Seguidamente, conectaremos en paralelo a los correspondientes terminales del microprocesador los siguientes pines de las pastillas:

• Terminales del bus de datos D1 , D2 , D3 y 0 4

de las pastillas 1 y 2 a los terminales del microprocesador D0 , D1 , 0 2 y D3 .

• Terminales del bus de datos D0 , D1 , D2 y 03

de las pastillas 3 y 4 a los terminales del microprocesador 0 4 , D5 , D6 y D7 •

.•Terminales del bus de direcciones A0 , ... , A9

de las cuatro pastillas. • Terminal de lectura/escritura (RjW) de las

cuatro pastillas, en el caso de las memorias RAM.

••·D •. D "·"--. ·.:a . ... o C$ •p3 Do es PASTIL!..AÍ

RJW PASTILLA2 .. • .. •· RMt A •· . ···•· ·.A A A

-R/W

Figura 1 0.35. Expansión de pastillas de memoria de 1 K x 4 a 2 K x 8.

270

Page 54: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Al conectar el bus de direcciones de cada pasti­lla al microprocesador, vemos que la memoria que deseamos obtener debe tener 11 líneas de direcciones, mientras que nuestras pastillas tie­nen 1 O. Utilizaremos, por tanto, la línea A10 para generar los impulsos de selección de chip de cada pastilla. Seguidamente, conectaremos la lí­nea A 10 del bus de direcciones del miera a los terminales de selección de chip de las pastillas de memoria 1 y 3, que forman las 1.024 primeras direcciones de 8 bits, y, por último, partiendo tam­bién de la línea A10 , pero, esta vez a través de una puerta inversora, la conectaremos a los ter­minales de selección de chip de las pastillas 2 y 4 que forman. el. resto de las direcciones de 8 bits, El esquema se muestra en la Figura 10.35 de la página anterior. . .

Si analizamos dicha figura, veremos que: ·

• l..a. pastilla 1 aporta los cuatro bits de menor peso de las !?al abras contenidCJ:s e11tre las di" recciones: ·

10.8. MAPAS DE MEMORIA

Definición de mapa de memoria

Cada microprocesador posee un número de líneas del direcciones fijo, de forma que la capacidad de la

que puede controlar está limitada. La repre­gráfica de toda la capacidad de direcciona­

miento de un sistema con microprocesadores constituye el llamado mapa de memoria. A la hora de definir un mapa de memoria debemos distinguir entre mapa fun­cional y mapa físico.

• Mapa de memoria funcional. Es aquel que nos indica el uso que el sistema dedica a cada una de las posiciones de memoria. Es, por tanto, un mapa software.

• Mapa de memoria físico. Presenta la correspon­dencia entre cada una de las direcciones y la pasti­lla física que las contiene. Es un mapa hardware.

En la Figura 10.36 de la página siguiente se muestra, como ejemplo, el mapa de memoria de un sistema de desarrollo de microprocesadores real, en el cual se distinguen las siguientes partes:

• Una memoria RAM de 4.096 posiciones (4 K), que está realizada físicamente mediante dos pastillas de 2.048 x 8 bits cada una. Esta zona de memoria será utilizada por el sistema para guardar datos temporales, formar la pila de memoria, así como para contener los programas del usuario.

OOOOOOOOOOO(OOOH) - 0111 H1111J (3FFH)

• La pastilla 3 aporta los cuatro bitsdé mayor peso de las palabras contenidas elltre la¡:¡ di­recciones:

00000000000 (OOOH) - 01111111111 (3FFH) ..

• La pastilla 2 aporta los cuatro bits de menor pesode las palabras contenidas entre las di­recciones:

1 0000000000 ( 400H) - 1 1111111111 (7FFH)

• La pastilla 4 aporta los cUatro bits. de mayor peso de las palabras contenidas entre las di-recciones: ·

10000000000 (400H) ~ 111J111H1t(7FFH)

• La memoria ROM de 4.096 posiciones (4 K), reali­zada con dos pastillas de 2.048 x 8 bits. En esta memoria están grabados de forma permanente los datos fijos del sistema, así como el programa de arranque que va a gobernar su funcionamiento.

• Diversas pastillas I/0, controladas como si se tra­tasen de posiciones de memoria, para los dispositi­vos de comunicación con el exterior, con un tama­ño de 4 K.

Es importante destacar que los mapas de memoria reales poseen huecos, es decir, que existen direcciones de memoria a las que no se puede acceder por alguna de las siguientes causas:

• No se ha previsto en ellas la existencia de chip de memoria por parte del diseñador.

• Corresponden a un zócalo vacío.

Así, por ejemplo, entre las características de los mo­dernos ordenadores tenemos 8 M de RAM ampliables a 128 M. Esto significa que el fabricante nos vende un ordenador cuyo mapa de memoria sólo posee chips en direcciones correspondientes a 8 M, pero dispone de zócalos o ranuras libres, que nos permitirán acceder a 128 M más de memoria, esto sin contar las posiciones que el microprocesador podría direccionar y que el fabricante del ordenador no ha previsto que puedan tener chip de memoria.

Page 55: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

0000 2047

0000 07FF

RAM básica Pastilla 1 variables y pila RAM 2K x 8

2048 4095

0800 OFFF

RAM general Pastilla 2 programas RAM 2K x.8

' ' '

Pastillas diversas

' ..

Zona no utilizada

Zona no utilizada

61440 FOOO ROM opcional Pastilla 3 63487 F7FF aplicaciones RAM 2Kx 8

63488 F800 ROM básica Pastilla 4 65535. FFFF .· .. arranque RAM 2Kx 8

Figura 1 0.36. Mapa de memoria de un sistema con microprocesador.

l 0.8.2. Impletnentación de ntapas de nu~Inoria

Implementar un mapa de memoria es diseñar un circuito combinacional, que denominaremos genéricamente ló­gica de selección, y que servirá para que la CPU active en cada momento, mediante los pines de selección de chip de cada pastilla, una sola de ellas. La lógica de selección será la encargada de que cada pastilla resulte activada cuando en el bus de direcciones esté presente alguna dirección perteneciente a dicha pastilla.

212

- . . .

Implementar con decodificadores el mapa de me­moria de la Figura 1 0.36.

DichO mapa de memoria posee 65 536. direc­ciones posibles (de la 0000 a la FFFF), es decir, contiene 64 K direccionables.

Empleando un decodificador de 3 a 8 líneas,. como el 74LS138; podemos dividir los 64 K en

o (0000-1 FFF) ----+ RAM

1 (2000-3FFF)

2 (4000-5FFF)

A,5 3 (6000-7FFF)

A,4 4 (8000-9FFF)

A13 5 (AOOO-BFFF)----+ 1!0 6 (COOO-DFFF)

7 (EOOO-FFFF) ----+ ROM

Figura 10.37. Decodificador de 3 a 8 líneas y las posiciones de memoria que direcciona.

Actualmente, y dependiendo del grado de compleji­dad del mapa de memoria a implementar, la lógica de selección se puede realizar con los siguientes elementos:

• Mapa implementado con decodificadores. Es el mé­todo empleado normalmente para implementar el mapa de un sistema de desarrollo de microproce­sadores completo, así como para los ordenadores modernos.

• Mapa implementado con chips de puertas lógicas. Utilizado normalmente para implementar un chip de memoria nuevo dentro de un sistema en el que no estaba previsto.

zonas de 8 K cada una. Para ello, conectaremos las tres líneas de mayor peso del bus de direccio­nes, A15, A 14 y A13, a las tres entradas del decodifi­cador. En cada una de las salidas del decodifica­dor tendremos seleccionados los bloques de la Figura 10.37.

(0000-07FF) RAM básica Salida O (0800-0FFF) RAM general

A,, ( 1 000-17FF) A12 ( 1800-1 FFF)

(EOOO-E7FF) Salida 7 (E800-EFFF)

A,, (FOOO-F7FF) ROM opcional A,2 (F800-FFFF) ROM básica

Figura 10.38. Doble decodificador de 2 a 4 _líneas y las posiciones de memoria que direcciona.

Page 56: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

Seguidamente, utilizaremos un doble decodifi­cador 74LS139 de 2 a 4 líneas, para seleccionar, dentro de las zonas de RAM y ROM, cada una de las pastillas que la componen, tal y como aparece en la Figura 1 0.38 de la página anterior.

Uniendo los dos grupos de pastillas obtenemos el circuito de la Figura 10.39

En la Figura 1 0.39, vemos cómo cada salida del circuito de selección activa cada uno de l.os pines de selección de chip correspondi~ntes al mapa de memoria de la Figura 1 0.36. ·

Bus de direcciones

Al bus de datos

-- ' ' --

Figura 1 0.39. Implementación con decodificadores .. del mapa de memoria ~e la Figura .1 0.36 ..

Parti.endo del. bus de direcciones de uri . micro- . .·procesador, irnplement~r. con puertas lógiq~s el . circuito de lógica de selección de una memoria

EP80M de A .kbytes, que queremos localizar en~ tre las direcciones hexadecimales AOOO - AFFF. . Si analizamqs lo~ valores binariO~ que pueden\

tomar las líneas ~el bus de direcciones, cuando el microprocesador apunta a una dirección eón-

• tenida. en la pastilla de memoria EPROM, obser­vamos .. lq ·siguientE;¡: .

AFFFH

Las líneas del busde direcciones A1 5 , A14, A1s y A12,no varían su valor en todas las direcciones deJa pastilla de m~moriá, por lo que podemos emplearlas, sin posibilidad de confusión con otras pastillas, para activar la patilla de selección de chip de la: memoria EPROM. La ecuación del cir­cuito de ~uertas que debemos realizar es la si-guiente: · ·

OS= A1s.f A14 +A13+ ,412 = A1s · A14;A13 · A12

Bus datos

Figura 10.40. Implementación de una pastilla en un mapa de memoria.

Page 57: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

l.

2.

3.

4.

5.

6.

7.

8.

274

¿Qué significa que un microprocesador de 8 bits tenga 64 K de memoria?

¿Cuántos kilobytes son 131.072 bits?

Si una memoria posee una matriz de 256 x 265 celdas de bit, ¿qué capacidad en kbytes tiene?

¿Cuál es la longitud de cada palabra de una RAM de 256 x 4 bits?

¿Cuál es la capacidad total en bits de una ROM· de 512 x 8 bits?

Si una memoria está organizada en 64 K x 4, calcular:

a) El número de células de memoria. b) La estructura de la matriz. e) El número de líneas del bus de direcciones. d) El número de líneas del bus de datos.

Si una. memoria está organizada en 4.096 x 4, ca~ú~~ · · ·

a) El número de células de memoria. b) La estructura de la matriz. e) El número de líneas del bus de direcciones: d) El número de líneas del bus de datos.

Si una memoria está organizada en 8 K x 8, calcular:

a) El número de células de memoria. b) La estructura de la matriz. e) El número de líneas del bus de direcciones. d) El número de líneas del bus de datos.

A7 24

As 23

As 22

21 4

5

19 6

7 7

8 8

9

10

11

12

9. Si una memoria está organizada en 8 K x 4, calcular:

a) El número de células de memoria. b) La estructura de la matriz. e) El número de líneas del bus de direcciones. d) El número de líneas del bus de datos.

10. Indicar las direcciones inicial y final de cada uno de los bloques que resultan de dividir un mapa de memoria de 64 K en 16 bloques iguales:

11. Indicar las direcciones inicial y final de cada uno de los bloques que resultan de dividir un mapa de memoria de 64 K en 32 bloques iguales.

12. Si situamos en un mapa de memoria una pasti­lla de memoria RAM de 1 K desde la dirección 0400H, ¿cuáles serán las direcciones compren­didas dentro de dicha pastilla de memoria?

13. Si situamos en un mapa de memoria una pasti­lla de memoria ROM de 4 K desde la dirección EOOOH, ¿cuáles serán las direcciones compren­didas dentro de dicha pastilla de memoria?

14. Indicar qué tipo de memoria es cada una de las pastillas que aparecen en la Figura 1 0.41 y qué capacidad de memoria poseen.

15. Si situamos en un mapa de memoria un módulo SIMM de memoria RAM de 4 M desde la direc­ción AOOOOH, ¿cuáles serán las direcciones comprendidas dentro de dicha pastilla de me­moria?

9 24

10 23

11 22

12 21

13 20

14 19

7

8

9

10

11

12

Figura 10.41. Memorias del Ejercicio 14.

Page 58: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

¿Qué cantidad de direcciones de memoria (ex­presado en K) existe entre las direcciones OOOOH y 07FFH?

¿Qué cantidad de direcciones de memoria (ex­presado en K) existe entre las direcciones 1000H y A7FFH?

¿Qué cantidad de direcciones de memoria exis­te entre las direcciones FFOOH y FFFFH?

19. ¿Qué cantidad de direcciones de memoria (ex­presado en K) existe entre las direcciones EOOOH y FFFFH?

20. Partiendo del bus de direcciones deun .uP, rea­lizar el circuito deselección de un chip de mee moria EPROM de <2 kbytes, situado, entre las direcciones hexadecimales Faoo~FFFF.

Partiendodel busdedireccion(;)s de un .uP; rea- •. lizar el circuito de selección de. UJ1 chip de me: moria RAM de 2 kbytes, situado entrelas direc: ciones hexadecimale.s OOOOcO?FF; ·

22. Partiendo del bus de direcciones de uri~p,'rea;, !izar el circuitode selección d~ unchip'd~ me~ moria RAM de 2 kbytes, situada entreJas"direp.-, ciones hexadecimales 0800•0FFF. , '; ,, ::•

23. Implementar con. decodificadores el ~i~uiert~ mapa de memoria:

FFFF ROM de 4 K x 8

FOOO

07FF

0000

24. Implementar con puertas mapa de memoria:

Page 59: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

PRACTICA CON MEMORIA RAM

r. Montar el circuito de la figura, y contestar a las siguientes cuestiones: a).¿ Cuál es la capacidad de la memoria en Kbytes?. b).¿ Cuántos bits tiene el bus de datos?. e}. Según el circuito representado.¿ Cuántas posiciones de memoria se pueden utilizar?.

2. Gral..tas posiciones de memoria representadas en la siguiente tabla y después comprobar su contenido.

Dirección Dato Dirección Dato Dirección Dato Dirección Dato o 00 1 01 2 02 3 03 4 04 5 05 6 06 7 07 8 08 9 09 A 10 B 11 e 12 D 13 E 14 F 15

Poner en stop el simulador ISIS de Proteus , activarlo de nuevo y volver a leer las posiciones anteriores. ¿Qué ha sucedido?. ¿A qué se debe?.

~-Grabar la memoria para realizar el efecto dei"Coche Fantástico" • Rellenar los casilleros correspondientes con el programa en hexadecimal • Realizar la comprobación del funcionamiento de fonna manual.

Dirección Dato Dirección Dato Dirección Dato Dirección Dato o 1 2 3 4 5 6 7 8 9 A B e o E F

Page 60: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

4°. Montar el circuito de la figura , poniendo CIK= 0.1 hz , tiempo suficiente para ir programando la tabla anterior. Se aprovechará el paso del bus de direcciones para grabar los datos correspondientes , y una vez grabados se pondrá read a "1" para ver la secuencia.

Dllf_l2_8

Page 61: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

MEMORIAS · EPROM

1•. Montar el circuito de la figura y realizar un programa .hex para que en las primeras 32 posiciones de men10ria , realice un juego de luces de llllre

dlseiio.

2764

Dirección dato Dirección dato Dirección dato Dirección dato Dirección

2. Realizar la programación de dos eprom para que trabajen en paralelo desarrollando un juego de luces que cumpla con los siguientes requisitos:

--p 2.1. El coche fantástico de dos led dos veces. 2.2. El abanico dos veces. 2.3. Pares e impares a veces. 2.4. parpadeos 10 veces. 2.5. Otros juegos hasta fin de ~~~emoria direccionable. (Ubre

creación).

---~ ~- -·--- ·--·----~--- --------·-·----- ---

dato

Page 62: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

3. Realizar el circuito de la figura, generar el flcllero llex que almacene el loga~ decimal de la dirección implicada, de tal fonna que cuando aparezca un ná~nero en el bus de direcciones , su logaritmo salga por el bus de datos. Tendremos los dieciséis primeros logaritmos (0.-15). Apróximar el segundo decimal y tener en cuenta que el log de cero es error.

ALMACENAR EL LOO IESOE O HASTA 15 EL LOGICSTATE ES EL PUNTO DECIIIIW_

LOG (X)=

DISPLAY DE CATODO-COMJN DE DOS DICHOS

Page 63: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

1.1~ INTRODUCCIÓN.

TEMA 1 CIRCUITOS LÓGICOS PROGRAMABLES

Tradicionalmente, el diseñador de sistemas digitales ha utilizado componentes

estándar para realizar la implementación de su circuito. Estos componentes son las distintas

puertas lógicas (ANO, OR, XOR, etc), las cuales tienen un nivel bajo de escala de integración,

SSI o M SI, así como elementos combinacionales y secuenciales con un factor de integración mayor. Como todo el mundo conoce, debido a su popularidad existe una gran variedad de

estos circuitos lógicos básico, los cuales, sabiamente interconectados, pueden utilizarse para

dar solución a cualquier diseño. Estos dispositivos son producidos en grandes tiradas dando

lugar a un producto de pequeño coste. Otra ventaja que es que son dispositivos plenamente probados, fiables y documentados cuyo uso resulta cómodo, téngase en cuenta cuando se inicia el desarrollo de un sistema digital, en el estudio teórico, se utilizan las puestas lógicas

y circuitos digitales MSI. Por otra parte, debido a su gran popularidad existen muchas fuentes

suministradoras, esta característica puede parecer poco importante, si bien pensándolo un poco es muy importante, ya que se debe evitar utilizara circuitos que tengan una sola fuente

suministradora o fabricante, ya que dicho diseño queda supeditado a ese fabricante. Sin

embargo, un sistema digital implementado con dispositivos SSI/MSI requiere un espacio físico

grande, téngase en cuenta que, es muy difícil, por no decir imposible, encontrar un circuito lógico que realice la función exacta que queremos implementar, por lo que siempre tenemos

que combinar varios. Otro problema adicional que se presenta al utilizar un gran numero de Cl's es la creación de placas con un gran numero de interconexiones, las cuales incrementan

las probabilidades de fallo debido a una mala conexión. Al tener que utilizar muchos circuitos se produce un aumento en el consumo del sistema. Por otra parte, los sistemas diseñados

con los circuitos estándar son poco, por no decir nada, flexibles ya que cualquier modificación en las especificaciones de funcionamiento conlleva aí rediseño del mismo. Todas estas

razones influyen en el encarecimiento del sistema. Por todo ello, la utilización de los circuitos lógicos estándar está supeditada a aquellas aplicaciones que por su sencillez utiliza pocos

Cl's (no más de 3). Como solución a estos problemas de espacio e interconexión nacen los circuitos digitales programables. Estos circuito, básicamente, están formado por puertas

lógicas, las cuales. inicialmente no se encuentran interconectadas, de forma que es el usuario

1.1

• • • • • • • • • • • • • • • • • • • • 11

Page 64: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

el encargado conectarlas de forma que realicen la función deseada. De esta forma se puede implementar en un único circuito un sistema digital, para el que son necesarios varios

circuitos integrados (CI's) estandars.

1.2. CLASIFICACIÓN DE LOS CIRCUITOS DIGITALES PROGRAMABLES.

La fabricación de los circuitos digitales (puertas lógicas, multiplexores, contadores, etc)

ha ido evolucionando a lo largo del tiempo con el fin de obtener un circuito con un tamaño

de integración grande y que tenga un consumo pequeño. De igual forma la tecnología de fabricación de los circuitos digitales programables ha ido evolucionando dando como resultado circuitos que integran más y más puertas lógicas, lo que da lugar a circuitos más Y más

potentes, pudiendo implementar funciones más y más complejas. Dependiendo de su capacidad de integración estos circuitos programables se pueden clasificar en:

- Circuitos FULL CUSTOM~

- Circuitos SEMICUSTOM.

-Circuitos de lógica programable (PLD's, programmable Jogic devices).

En muchas ocasiones, se utiliza el nombre de dispositivos de lógica programable o

PLD's para referirnos a un circuito digital programable, si bien, como se ha indicado, ese termino hace sólo referencia a un grupo reducido de tales circuitos programables.

Otra ambigüedad que se suele producir, y que no por ello quiere decirse que sea errónea, es 1~ de referirse a los circuitos full custom y semicustom con el nombre de ASIC's o circuitos integrados de aplicación específica, ya que los PLD's también son de aplicación específica. En este libro, cuando se utilice el termino ASIC se está haciendo referencia a los tres tipos de circuitos digitales programables.

En un principio el trabajar con estos circuitos programables era bastante complejo, si bien se han desarrollado potentes programas de CAD, Jos cuales han acercado los circuitos ASIC's al gran público. En la actualidad existe en el mercado una gran variedad de software, a costos reducidos que nos permiten programar estos circuitos ASIC's.

Para poder trabajar con estos circuitos son necesarios programas de CAD muy potente, basados en bibliotecas de células precaracterizadas y parametrizadas. La evolución de este software ha sido tal que el diseño de un ASIC está al alcance de todo ingeniero.

Los circuitos FULL CUSTOM son aquellos que se han diseñado a medida para una aplicación específica. Estos circuitos se puede decir que son programados en fabrica, al igual

1.2

--,._ ;····

Page 65: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

CIRCUITOS LÓGICOS PROGRAMABLES

que sucede con las memorias ROM. Razón por la cual, permiten un mejor y eficiente aprovechamiento del silicio en la implementación de un circuito, ofreciendo la menor área, de

silicio, para un circuito. Como contrapartida,está el elevado coste de desarrollo, lo cual hace

viable su utilización para aquellos sistemas cuyo número de unidades fabricadas y vendidas

sea muy alto.

Los circuitos SEMICUSTOM son sistema semidiseñados, constituido por una serie de bloques funcionales, en los que falta realizar las conexiones entre ellos con el fin de

i~plementar las conexiones necesarias. Además, es el usuario el encargado de realizar la programación del mismo. Actualmente hay dos tipos diferentes de sistemas SEMICUSTOM:

- Los Gate-array.

- Las Standard cell.

Un Gate-array consta de una col~cción de bloques funcionales. Especificando la interconexión entre bloques se implementa el circuito lógico en cuestión. Por su parte, un

diseño SEMICUSTOM utilizando Standard cells permite trabajar con módulos funcionales

prediseñados existentes en una base de datos. El diseño consiste en dividir el circuito a implementar en bloques existentes en dicha base de datos.

Los Gate-array ofrecen el sistema más rápido y econom1co de los diseños semicustom, pero su principal desventaja es que la implementación final puede contener

bloques funcionales que no son utilizados al 1 00% de sus posibilidades con el consiguiente desaprovechamiento de silicio. En contrapartida los sistemas que utilizan Standard cell, al no ser una arquitectura tan cerrada como la gate-array permite realizar un aprovechamiento óptimo del silicio.

En los desarrollos semicustom los costes de desarrollo siguen siendo altos, haciendo su uso desaconsejable en algunas aplicaciones.

Los dispositivos de lógica programable (PLD's, Programmable Logic Oevices) se pueden considerar entre los productos estándar (puertas lógicas) y los circuitos custom y semicustom. Su capacidad de integración es media, por lo que pueden realizar tareas relativamente sencillas, si bien pueden realizar funciones para las cuales eran necesarios varios circuitos standard. Una ventaja adicional es el coste reducido que tienen. Por lo tanto,

los PLD's permiten al usuario el diseño de circuitos combinacionales y secuenciales, no muy

complejo, a medida y a un bajo costo. En la TABLA 1.1. se muestra una comparativa entre los tres tipos de dispositivos programables.

1.3

.. • • • • • • • • •

Page 66: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

TABLA 1.1.

CIRCUITOS STANDARD PW's SEMICUSTOM FULL CUSTOM

COSTE UNITARIO BAJO BAJO O MEDIO MEDIO ALTO

COSTE POR PUERTA MEDIO MEDIO BAJO MUY BAJO

TIEMPO DE DESARROLLO SEMANAS HORAS SEMANAS MESES

EFICIENCIA BAJA MEDIA MEDIO ALTA

INTEGRACIÓN BAJA O MEDIA MEDIA ALTA MUY ALTA

1.3. CARACTERÍSTICAS DEL DISEÑO CON CIRCUITOS LÓGICOS PROGRAMABLES.

El uso de la lógica programable en el diseño de sistema digitales presenta notables

beneficios, alguno de Jos cuales son obvios, y otros no. La versatilidad del estos dispositivos

se comprenderá más y mejor a medida que analizamos las características del diseño con 1 •

ellos.

1.3.1. Facilidad de diseño.

Las herramientas CAD disponibles para trabajar con estos dispositivos facilitan enormemente Jos diseños. En un P.rincipio se utilizaban hojas de codificación en las que se indicaban las conexiones internas que se debían realizar, lo cual era una labor larga y tediosa. En la actualidad las herramientas de diseño reducen notablemente el diseño manual.

Estas herramientas permiten introducir el diseño de una forma muy variada, ecuaciones, tabla

de estados, esquemas eléctricos, etc. Así mismo nos permiten realizar la simulación de dicho

diseño con el fin de depurar errores antes de obtener el archivo de configuración del dispositivo programable. Como se ha comentado, el coste del software de CAD está al alcance de cualquier diseñador de circuitos digitales. Ahora bien a medida que se incrementa

las prestaciones de este software se incrementan los costes de los mismo.

Por otra parte, el diseño de un sistema digital es un proceso iterativo, el cual comienza con unas ideas y conceptos y progresa a lo largo se una serie de evaluaciones y modificaciones del diseño original. Si para realizar este último se utiliza lógica programable solo es necesario obtener el archivo de configuración ya depurado. La facilidad en el diseño revierte en el menor tiempo de diseño requerido, con lo que los coste de fabricación se reducen.

1.4

Page 67: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

CIRCUITOS LÓGICOS PROGRAMABLES

1.3.2. Reducción de espacio.

En la actualidad, los circuitos programables pueden implementar funciones para las cuales serían necesarios desde el uso de unos pocos de circuitos standard hasta miles de los mismo. Por el hecho se sustituir varios Cl's standards la reducción en el espacio de la placa de circuito impreso (PCB) es obvia. Téngase en cuenta que en muchas ocasiones el

precio o el tamaño de la placa de circuito impreso es la que condiciona la viabilidad de un

sistema.

1.3.3. Flexibilidad del diseño.

Cuando se realiza un sistema utilizando lógica standard, este da solución a unas determinadas especificaciones del mismo. Si dichas especificaciones cambian habría que

rediseñar el sistema. Por su parte, si utilizamos lógica programable, únicamente seria

necesario configurar o reprogramar al circuitos ASIC, manteniendo el hardware existente. De

esta forma un mismo circuito puede ser utilizado para realizar l?s tareas que antes se realizaban con sistemas distintos sin mas que varias el programa de configuración del circuito ASIC.

1.3.4. Fiabilidad.

Cuanto más complejo sea un circuito más posibilidades tiene de que alguna de sus parte falle. Como los circuitos ASIC's reducen el número de circuito en los sistemas, la probabilidad de que se produzca algún fallo disminuye.

1.3.4. Inmunidad al ruido.

Debido a que las líneas de interconexión están dentro del propio circuito ASIC, la probabilidad de que se acoplen ruidos en las mismas es mínima, dando lugar a sistemas mas fiables.

1.3.5. Prestaciones.

Las prestaciones de velocidad de los dispositivos ASIC's son iguales e incluso mejores que las de los circuitos standard, conseguiéndose sistemas ser más rápidos. Por otra parte

el consumo de los ASIC's es mucho menor que el conjunto de los Cl's que reemplaza.

1.5

• • • • • • • • •

'

~ .. • • t

1111 !

Page 68: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

1.3.6. Reducción de costes de fabricación.

El coste de un sistemas que utiliza lógica programable se reducen notablemente

tendiendo en cuesta varios factores como son:

- Reducción ella placa de circuito impreso. - Reducción del número de circuitos integrados.

- Reducción en los sistemas de alimentación.

- Reducción en el tiempo de diseño. -Reducción en el tiempo de reparación.

1.3.7. Seguridad.

Los dispositivos programables dispones de métodos de seguridad que impiden que

se copie su programa se configuración. El método de protección es diferente según el tipo se dispositivo utilizado. Por ejemplo, los PLD's disponen de un fusible de seguridad que cuando es destruido o fundido bloquea cualquier operación de lectura de su configuración.

1.4. DISEÑO CON CIRCUITOS DIGITALES PROGRAMABLES.

El diseño de cada sistema es diferente, así como cada archivo de configuración para un dispositivo programable, si bien los pasos a seguir son siempre los mismos. En la fig. 1.1.

se muestra la secuencia a seguir para programar un circuito ASIC.

D:EFJ:l:::.~

~ S.l:!...~CC:I:ONAR

f.-1\ CRJ!:A.3Z. .E!.. ¡_., COHPrLA.R EL f.-1\

SI:l1ULA.R

~ PROGRAHAR f.-1\

T"E:STEAR

E:L ~:.. A.Rc:Krvo :01: ARC:HrVO D%: E:L EL. EL

P'R0!3L!:~A h" D:tSPOSI":"IVO -y CONFI:GUR.ACION h-' CONFI:GURA.C.:XON -y' Dl:SE~O -y D:ISI?OS:XT:XVO hl ::JI:SPOSITIVO

Flg. 1.1. Secuencia de diseño con circuitos digitales programables.

En la secuencia de la fig. 1 .1. se muestran todos los pasos a seguir hasta llegar a la programación del dispositivo, obviamente estos pasos para los circuitos semicustom y PLD's, ya que la técnica de diseño de los full custom es un tanto particular ya que se crea un circuito integrado especifico para cada aplic:~.ción.

1.6

Page 69: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

CIRCUITOS LÓGICOS PROGRAMABLES

1.4.1. Definición del problema.

Al igual que en diseño de cualquier circuito electrónico, el primer paso que tenemos

que realizar para trabajar con un dispositivo digital programable es definir claramente las

especificaciones del diseño a implementar en el dispositivo.

1.4.2. Seleccionar el dispositivo.

Una vez conocidas las especificaciones del diseño, se tienen los datos necesarios

para poder realizar la selección del dispositivo. El primer paso a realiza es, analizando la complejidad del diseño, seleccionar entre uno de los tres posibles circuitos ASIC's, si bien,

para elegir la utilización de los circuitos full custom hay que tener en cuenta el número de unidades a fabricar, además, en este caso no hay posibilidad de elegir un dispositivo sino que

se realiza un diseño para implementar en una oblea de silicio.

Un parámetro importante a analizar para elegir un ASIC es el número de entradas y salidas que necesita el diseño a implementar en el, el cual suele depender de la complejidad

del mismo; sistemas complejos tienen muchas entradas/salidas. Por ejemplo, en Jos

dispositivos PLD's el número de terminales de entrada/salida varia desde 18 en los más sencillos hasta las 156 en los mas complejos. Así mismo en los dispositivos semicustom este número varia desde los 58 hasta las 256 e incluso, en los de las nuevas generaciones, más.

Al igual que sucede en la elección de los circuito digitales otros parámetros a analizar

son: niveles lógicos, corrientes de salida, velocidad, consumo, etc.

1.4.3. Crear el archivo de configuración.

En este paso se realiza la creación del archivo de configuración del circuito ASIC, si bien dicho proceso depende del software de desarrollo utilizado. Es totalmente impensable

realizar la creación del archivo de configuración de una forma manual estableciendo las interconexiones de los elementos del circuito ASlC. La mayoría de los paquetes CAD existentes en el mercado soportan dos formar de crear el archivo de configuración, algunos

~ permiten también la mezcla de las dos, estas formas son:

- Creación de un esquema eléctrico.

- Introducción de las ecuaciones del sistema.

El primer método consiste en la creación de un esquema eléctrico utilizando librerías ' especiales de componentes (puertas lógicas. sumadores, contadores, etc) e

-, interconectándolos entre si. Este suele ser el método mas sencillo e intuitivo porque sería ~. realizar los mismos pasos que los utilizados para crear un sistema con lógica estándar.

1.7

... • • • • • • • • • • • • • • • • • • •

Page 70: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

El segundo método se basa en la creación de un archivo ASCII en el que se

especifican las ecuaciones lógicas que relacionan a las salida con las entradas. Los comandos utilizados en la creación de dicho archivo depende del software de compilación.

1.4.4. Compilar el archivo de configuración.

Una vez creado el archivo de configuración hay que pasarlo a un formato que pueda

ser llevado al dispositivo, este paso lo realiza el compilador, el cual se encuentra dentro del software de desarrollo. En el archivo resultante de la compilación se encuentran indicadas las

interconexiones de Jos distintos elementos del circuito ASIC.

1.4.5. Simular el diseño.

Antes de programar el dispositivo es conveniente depurar errores razón por la cual se

realiza la simulación del diseño. Obviamente, las formas que tenemos de realizar la simulación de un diseño depende del programa CAD utilizado. Alguno paquetes permiten simular el esquema de configuración, incluso antes de compilarlo. Por otra parte, en otros paquetes, para poder realizar la simulación es preciso compilar el archivo de configuración.

La simulación en una labor muy importante, por no decir la más importante, en la hora de trabajar con los circuitos ASIC's. Téngase en cuanta que en mucho el proceso de programación es destructivo, con Jo que el dispositivo no puede ser reprogramado. Razón por

la cual cuando se programe uno de estos dispositivos, se ha de tener la total certeza de que las especificaciones de diseño se cumplen en su totalidad.

1.4.6. Programar el dispositivo.

Una vez que el diseño esta verificado, el paso siguiente es realizar la programación del dispositivo utilizando para ello el archivo resultante de la compilación. Esta programación, dependiendo del circuito ASIC, puede realizarse en un programador cualquiera, igual que Jos utilizados para programar las memorias EPROM o PROM, o es necesario un hardware adicional que suele venir con el sistema de desarrollo. Este último suele suceder en los circuitos semicustom. Como ya se ha comentado, los circuitos full custom son programador por el fabricante.

1.4.7. Testear el dispositivo.

Una vez programado un dispositivo es necesario comprobar si la programación del mismo se ha realizado de forma correcta. Al igual que sucedía en Jos otros puntos, el testeo es diferente de unos circuitos a otros.

1.8

Page 71: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

TEMA2 DISPOSITIVOS DE LÓGICA PROGRAMABLE

2.1. ·rNTRODUCCIÓ N.

Los PLD's son circuitos lógicos programables por el usuario al igual que los

semicustom, pero son más pequeños y sencillos de manejar. La posibilidad de la utiliza~ión

de un hardware programable de bajo coste, permitiendo al diseñador adaptarlo a sus necesidades específicas, han hecho que este tipo de lógica haya experimentado un gran auge·en los últimos años.

Los PLD's están, cada vez con más fuerza, desplazando a la lógica discreta y otros tipos de circuitos ASIC debido a las múltiples ventajas que ofrecen.

1.- Pueden reemplazar de 4 a 20 circuitos SSI o MSl. redudendo con ello el número de integrados a utilizar.

2.- Ofrecen una gran flexibilidad al permitir reprogramar el circuito lógico a

medida, pudiendo obtener diferentes configuraciones para un mismo dispositivo.

3.- Gran facilidad de diseño. Las herramientas de soporte dispo.'libles simplifican

considerablemente el proceso de diseño, haciendo que la implementación aJ

más bajo nivel sea transparente al usuario.

4.- Algunos PLD's tienen la posibilidad de ser reprogramados. con lo que se

elimina el riesgo de posibles errores a la hora de la grabación. Además reduce

los costes de stock al poder ser utilizado el mismo dispositivo para varios diseños sin más que hacer programaciones distintas.

4.- Algunos dispositivos pueden ser protegidos fundiendo un fusible de seguridad

una vez concluida su programación, con lo que se elimina la posibilidad de leer la configuración que ha sido grabada.

2.1

• • • • • • • • • • • • 11

Page 72: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE __

En suma, bs PLO's son dispositivos lógicos con el beneficio de un ASIC en cuanto

a programabilidad y el beneficio de la lógjca estándar, ya que realmente el diseñador estará usando componentes estándar del mercado sobre los que implementará sus propios diseños.

2.1. ESTRUCTURA INTERNA.

Los disposit'-.-os de lógica programable constan de un array de puertas ANO seguido

de un array de pue~s OR, tal y como se muestra en la fig.2.1. En la array de puertas ANO se generan todos 1:::-s productos de la variables de entrada, a partir de los valores directos y

complementados oe Las mismas.

DATOS DE { ENTRA:?.•.

~ =-:-~CION -=- :"'1':"

--=-__...,; ~?.ADA ,--....:

Térm.l.::..:s FuncJ.O::. de Producto Su ~>a

en traca (A!lD) (OR)

-" !UNGION FUN::;ION

~ AND O P.

' V

ESTRUCTURA EAS:CA

Rea11ment.a::1tn

Ag. 2.1. Estructura general de un PLD.

:use roN DE

S~~IDA

r----e--f--eo-i--c> .........,_ }

DATOS DE SALIDA

__.....__

-

Cada salida oe las puertas ANO constituye un término producto y el conjunto de todos los términos lorma: ic que se conoce como la función producto, que a su vez sirve de

entrada a la matriz oe ;:x;ertas OR. A la salida de ésta se obtiene la función suma, formada por sumas de térmircs producto, y constituye la entrada del bloque de salida. Por su parte,

la función de salida $_;-y-e de interface entre la función suma y los datos de salida del circuito y puede adoptar dife--entes configuraciones como se verá más adelante.

En la fig.2.2. $le muestra parte de la estructura interna de un PLO. Como se puede

observar en dicha fig_c_ las matrices ANO y OR están formadas por conductores horizontales (filas) y verticales (rot..r.nas) conectados entre si en unos determinados puntos de cruce. Las

matrices pueden se· ;';:as o programables. Serán fijas cuando las conexiones entre filas y co1umnas vengan d?:zs por el fabricante y no se puedan modificar. Serán programables cuando las conexior>-:s entre filas y columnas pueda ser elegida por el usuario mediante la destrucción de fusib8:3 oe conexión. En la fig.2.2. la matriz ANO es fija y la OR programable.

2.2

Page 73: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DISPOSITlVOS DE LOGICA PROGf'AIJABLE

ID Il

~AT:K.IZ ::::: 5Ut1."-.S

tlATRIZ D::: ?~ODUCTJS (.IS:>)

o e o 1

Flg. 2.2. Estructura básica.

ce::)

~t.:s::::.les

Estas matrices forman un sistema combinacional que posee n variables de entrada

(2.n términos de entrada). p términos productos (puertas ANO) y dan lugar a m variables de

salida (puertas OR) que serán suma de productos de las variables de entrada. Es en este

hecho en el que se basa la lógica programable ya que cualquier función lógica puede ser

implementada como una suma de productos de sus variables de entrada.

2.3. SIMBOLOGÍA DE LOS PLD's

Debido a la complejidad de los diagramas de las arquitecturas internas de los PLD's,

los fabricantes de este tipo de dispositivos han adoptado una simbología simplificada para

representar su circuitería interna, la cual es diferente a la notación convencional utilizada

cuando se trabaja con puertas lógicas convencionales. La f¡g.2.3. nos muestra como, para evitar sobrecargar el esquema, no se colocan separadamente cada una de las entradas de una puerta, sino que son reemplazadas por una única línea, la cual es conocida con el nombre de línea producto. Mientras que las entradas se muestran como líneas verticales. Las

cuales son conectadas a la línea producto por un fusible. Una 'X" en la línea de intersección

representa que el fusible está intacto, con lo que la entrada se conecta a la línea prod:Jcto.

Por su parte, un punto indica la presencia de una conexión fija .. es decir. que la entrada está

conectada a la puerta. La no presencia de X ni de punto indicará un fusible fundido o

destruido y por lo tanto la no conexión de esa entrada a la puerta AND.

En la fig.2.4. se muestra la realización de la función OR exclusiva de dos variabi.e.s A

y B. En este caso se ha utilizado un dispositivo en el que el array de puertas AND

2.3

• • • • • • • • • • • • • • • • • •

Page 74: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

" 8 -

programable.

A e e

f=AB f=AB -,

fus~ble A B C

Flg. 2.3. Simbología básica de los PLD's.

B A

Tt::miNOS DE ENTRADA

-+ A B

SAL:DA Flg. 2.4. EJemplo de simbología de los PLO's.

Sobre la fig.2.4. hay que hacer notar la presencia de una puerta ANO marcada con

una ·x·. Esto indica que sus entradas no deben tener efecto sobre la suma de productos

de salida, es decir que su salida debe ser baja. Para obtener ésto, al contrario de lo que se

pudiera pensar, deben estar todos sus fusibles intactos. A continuación se proporciona la demostración de este hecho.

C = Término producto originado por la puerta marcada con una X.

C=.4ABB=(AA) (BB)=(O) (0)=0

Observar que si todos los fusibles de entrada de una línea producto se encuentran fundidos, significa r ··. todas las entradas toman valor alto, con lo que la salida de la puerta

2.4

Page 75: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DISPOSITNOS DE LÓGK::A PROGRAMABLE

AND siempre dará un "1" lógico y como consecuencia la salida de la puerta OR.

Por lo tanto una puerta marcada con una X indicará que todos los fusibles de sus líneas de entrada están intactos y desde er' punto de vista de la simbología es equivalente a

poner una X en todas sus líneas de entrada.

2.4. CLASIFICACIÓN DE LOS PLD's.

En función de la programabilidad de las matrices de puertas ANO y OR en cuanto se

distinguen tres tipos de estructuras básicas:

- PROM's.

- PAL's.

- PLA's.

En la fig.2.5. se muestra la estructura simplificada de los tres dispositivos. Como se puede observar en esta figura, en una PROM el array de puertas ANO es fijo mientras que el de OR es programable. Por su parte, en las PAL's sucede lo contrario, array de puertas ANO programable y array de puertas OR fijo. En el caso de las PLA's ambos arrays son

programables, obviamente, por esta estructura, las PLA's son Jos dispositivos mas potentes.

F'IJA PROGRA11ABL:E PROGRA!:A.BLE T'I.JA

AND OR AND OR

(a) (b) (e)

Flg. 2.5. Estructura de los PLD's: (a) PROM. (b) PAL (e) PLA.

2.4.1. PROM (Programmable Read Only Memory).

Una memoria PROM puede ser empleada como un circuito lógico combinacional. ya

que podemos considerar los bits de dirección como las entradas a un circuito combinacional

2.5

• • • • • • • • • • • • • • • • • • •

Page 76: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

y la palabra de salida como un array de bits donde cada uno es una función de todos los bits de entrada. Es el miembro más antiguo de la familia. Consta de una matriz de puertas ANO

fija y otra de puertas OR programable, como se puede apreciar en la fig.2.6.

El ejemplo de la fig.2.6. muestra la estructura de una PROM con un tamaño de 16X4

bits. Como se observa, la matriz ANO se comporta como un decodificador fijo y completo. es decir, que se puede programar el valor de las variables de salida para cada una de las 2n

combinaciones de las n variables de entrada. Es por ello que las PROM's son utilizadas

cuando se requiere un gran número de combinaciones de entrada para ser programadas

(generador de caracteres, almacenamiento de tablas, conversión de códigos, firmware, etc).

Sin embargo, cuando el número de variables de entrada es muy elevado, pero el número de combinaciones a las que da lugar es bastante inferior a 2n o bien la función no está definida

para· algunas . combinaciones de la variable de entrada, no es recomendable el uso de la PROM, ya que por cada variable que añadamos (1 bit de entrada) doblaremos el tamaño de

la m·atriz de fusibles. Con lo cual obtenemos matrices muy grandes con un índice de

utilización muy bajo (bajo rendimiento).

Lo comentado para las memorias PROM seria extensible para las EPROM y

EEPROM, con la particularidad de que pueden ser borradas y en consecuencia

reprogramables. En este caso, los fusibles son sustituidos por células de memoria no

volátiles.

Obviamente, sobre las memorias PROM, al no disponer de biestables internos, sólo pueden· utilizarse para implementar circuitos combinacionales. Si se desean utilizarse para realizar sistemas secuenciales es necesario añadirles elementos de almacenamiento o

biestables.

Tradicionalmente las memorias PROM han sido utilizadas como soporte no volátil de almacenamiento de datos en los sistemas microprocesador. Pero. como se ha comentado. pueden utilizarse para implementar funciones lógicas. El concepto de que un PROM pueda ser utilizada como elemento lógico ha dado lugar a los dispositivos PLE (Programmable Logic Element}. Un PLE es, esencialmente, una PROM con un array de puertas OR programable atacado por un array fijo de puertas ANO.

A la hora de realizar dispositivos con la posibilidad de ser borrados. se utilizan células de memoria EPROM, ya que pos su pequeño tamaño se pueden ccH'lseguir grandes tamaños de integración. En este caso tenemos los EPLO's (Erasable Programmable Logic Devices).los cuales, por su importancia y posibilidades. son estudiados con detalle en un tema posterior

2.4.2. PAL (Programable Array Logic).

La arquitectura básica de las PAL's es justamente la opuesta de la de las PROM's. en las PAL's la matriz de puertas ANO es programable y la de puertas OR fija. tal y como se

2.6

Page 77: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

~

~

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

D

ENTRADAS C B A

liATRIZ AND (FIJA)

o

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

OISPOSrfiVOS DE LÓGICA PROGRAM.-'.BLE

:t1ATRIZ OR (PROGRAI:AB

, "

3 2 1 o

o3 Oz o1 co SALID:\S

LE)

Flg. 2.6. Arquitectura de una PROM.

puede apreciar en la fig.2.7. En otras palabras, cada variable de salida será la suma de un número de términos producto de las variables de entrada. Es esta particularidad lo que permite añadir variables de entrada, sin que ello suponga doblar el tamaño de la matriz de

fusibles, Jos fusibles están en las entradas de las puertas OR. Por lo tanto, están fijados el número de términos de salida de las puertas ANO (términos producto) que van a ser sumados

mediante una OR. Esta limitación habrá que tenerla en cuenta a la hora de implementar

funciones. En la PAL de la fig.2.7. cada función de salida puede tener como máximo 4

términos producto. En las PAL's existentes en el mercado el numero de términos producto

de la función salida suele ser, normalmente, de 7 u 8. Si bien en las PAL's de mayor

capacidad dicho número puede ser mayor.

Dentro del amplio abanico de dispositivos PAL existentes en el mercado nos podemos

encontrar con dos posibles tipos de PAL's:

PAL's combinacionales: son aquellos que sólo pueden ser utilizados para implementar sistemas combinacionales.

2.7

• • • • • • • • • • • • • • • -• • !

• ~

Page 78: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

D e B

:t1AT:?.:Z O E. e::: A)

o

" 1

2

3

4 1"

ih 5 1"

i'' 6

7

8

¡,_ 9

¡, 10

11

12

13

14

15

:t1ATRIZ -~_!m

CPROGRAY:.~-~1::) 3 2 1 o

Flg. 2.7. Arquitectura de una PAL .

PAL's secuenciales: son aquellos que pueden ser utilizados para implementar

sistemas tanto combinacionales como secuenciales, al disponer internamente

de biestables.

Además disponen de un fusible suplementario de seguridad, de forma que cuando

éste es fundido se impide la lectura del contenido de la PAL, con lo que no se puede copiar

el diseño en ella implementado.

También existen PAL's borrables. las cuales han sustituido los fusibles por células de memoria EPROM o EEPROM.

2.4.3. PLA (Programmable Logic Array).

Estos dispositivos, también llamados FPLA's (Field Programmable Logic Arra y), tanto

la mátriz de puertas ANO como la de puertas OR son programables (fig.2.8.). Este hecho

2.8

Page 79: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DISPOSIT!VOS DE LÓGICA PAOGFVüAABLE

hace que estos dispositivos sean los más versátiles de los que hemos visto ya que las

posibilidades de combinación entre entradas y salidas es muy elevada. Sin embargo, _al

requerir un mayor número de fusi~le~ dará lugar a que también sean los más caros Y mas

difíciles de fabricar, programar y testear. ·

ENTRADAS

D C B A

o

1

2

3

4

¡,. 5

¡,. 6

7

8

(.,. 9

(,, 10

11

¡,, 12

(.,. 13

1<:

15

:t1ATRIZ AND ( PROG~A~.1.3i,E)

:t1ATRIZ o. R i,E) (PROGR.!.?'fA3

3 2 1 "

o3 Oz o1 co

SALIDA.: Flg. 2.8. Arquitectura de una PLA.

Las FPLA's son recomendables en aquellas aplicaciones en los que se requiera t.;na gran complejidad a nivel lógico y en aquellas funciones donde las salidas tengan térmi;;os comunes, ya que la función producto se podrá compartir con alguna o todas las funciones

O R. (Por ejemplo en la decodificación de direcciones en sistemas con microprocesador).

En algunas ocasiones se suelen consideran a las FPGA's (Field Programable gate

array) como una FPLA. si bien estas son dispositivos semicustom.

En la TABLA 2.1. se hace una comparativa entre los tres tipos de dispositivos vistos;,

2.9

• ! • • • • • • 1

• •

Page 80: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

TABLA 2.1.

PROM ?AL FPLA - -

ORCUITOS QUE SE ¡:>UEDEN COMBINACIONALES COMBINACIONALES Y COMBINACIONALES Y IMPLEMENTAR SECUENClALES SECUENCIALES

CAPACIDAD MEDIA MEDIA ALTA

PRECIO MEDIO 5AJO ALTO

TAMAÑOS DE LOS SISTEMAS PEQUEÑO M~IO ALTO OUE PUEDEN IMPLEMENTAR

2_10

Page 81: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

3.1. "INTRODUCCIÓN.

TEMA3 DISPOSITIVOS PAL.

Como-se ha comentado en el tema anterior, con el termino PAL se hacía referencia

a unos dispositivos de lógica programable en los que la matriz de puertas AND es

programable, mientras que la de puertas ORes fijcL Aunque el termino PAL es una marca

registrada, su aceptación ha sido tal que ha pasado a ser un termino normal en el lenguaje

corriente, pasando a nombrar una serie de dispositivos dentro de dicha familia. En este texto

se ha optado por utilizar dicha nomenclatura. Por lo tanto, dentro de Jos dispositivos con array

de puertas AND programable hablaremos de las PAL's y las GAL's (Generic Array Logic), las

cuales son similares a las primeras pero con la posibilidad de ser borrables.

Al ser dispositivos cuya programación es fácil de realizar y tienen unos costes muy

reducidos los hacen estar presentes en las mayoría de las aplicaciones sustituyendo de forma

progresiva a la lógica tradicional, sobre todo cuando el numero de Cl's de este último tipo

sobrepasa el valor de 3 o 4.

3.2. CONFIGURACIONES DE SALIDA DE LAS PAL's.

Aunque todas las PAL's tienen una estructura similar, tienen la matriz de puertas ANO

programable, ésta se ha ido completando con alguna posibilidades adicionales que las hacen

ideales para la implementación de la mayor parte de las funciones lógicas. Aunque éstas se

pueden dar en la PLA's y PAL's vamos a basar su estudio e·n la estructura PAL. Existen

diferentes tipos: puerta, registro con opción de realimentación, entrada/salida programable y

macroceldillas. En la mayoría de los caso la configuración de la salida de la PAL es

transparente para el usuario, si bien es necesario conocerla para poder seleccionar el

dispositivo óptimo sobre el cual vamos a implementar nuestro sistema digital.

3.1

• • • • • • • • • • • • • • • • • 11

Page 82: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

Las PAL's tienen la posibilidad de seleccionar el nivel activo (alto o bajo) de cada un.a de sus salidas de forma independiente, unas de otras. Así mismo, también disponen de la

posibilidad de salida triestate, si bien ésta puede afectar a la totalidad de los terminales de

salida a parte de ello, dependiendo del tipo de dispositivo o según Jas especificaciones del

diseñador.

La Fig.3.1. ilustra la forma empleada para elegir la polaridad de la salida. Para ello se

introduce una puerta OR Exclusiva y un fusible de polaridad, el cual controla el valor de la

entrada de control. Si el fusible se encuentra intacto, dicha entrada de control se encuentra

a nivel bajo con lo que de salida de la puerta XOR es igual a la entrada (polaridad positiva).

Si se destruye el fusible, la entrada de control tendrá un nivel alto con lo que la polaridad de salida será negativa, la salida de la puerta XOR el la complementada de la entrada.

ENABLE ro I1 11:-:

ENTRADAS

Fusible de

: :

L __ : _______ ~-~--·-·-·· ·-·--l P'O ?·n

S.l.:!..IDAS

Flg. 3.1. Selección de la polaridad de las salidas de las PAL's.

Así mismo se puede observar como mediante la entrada de :=NABLE se controla el estado de H.Z. (alta impedancia) de salida de las puertas XOR.

No todas las PAL's existentes en el mercado disponen de la posibilidad de selecciona: la polaridad de las salidas, siendo esta fija. La actividad alta o baja de las salidas no es ur:

factor a tener en cuenta a la hora de elegir la PAL adecuada a nuestra aplicación. Ya que es el diseñador, cuando crea el programa de configuración de la PAL, e! que asigna la actividac

a una determinada variable de entrada o salida, la cual se corresponde con un terminal de: dispositivo. Por ejemplo, supóngase que se desea implementar la función lógica OR de las

variables A y B (S= A+B). En este caso, la variable será cierta cuand-o una de las variables

A o 8 sea cierta, por la propia definición de la función OR; ahora b1·en al valor cierto se le puede asignar al nivel alto de tensión (lógica positiva) o al nivel bajo (lógica negativa).

Asignación que se le indica al compilador encargado de generar el programa de configuración de la PAL, para que ésta realice de forma correcta la función deseada. Supóngase. que las

3.2

Page 83: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DISPOSITIVOS PAL

variables A y B son activas a nivel alto, mientras que S lo es a nivel bajo, en este caso la

tabla de verdad de la función implementada es:

A B S

L L H L H L

H L L H H L

La función de entrada de las PAL's es similar a la totalidad de ellas, los pines de

entrada y su complementado son llevados a la matriz de puertas ANO programable. Sin

embargo la etapa de salida es diferente de unos dispositivos a otros. siendo el condicionante

en la elección de un dispositivo para una aplicación determinada. Cuanto más compleja es

esta etapa de salida más versátil será el dispositivo. pudiéndose utilizar para el diseño de

cualquier sistema digital.

3.2.1. Salida combinacional.

Los dispositivos con este tipo de salida son utilizados para implementar sistemas

combinacionales. Cualquier función lógica se puede realizar como un suma de productos.

razón por la cual el array de puertas ANO programable es llevado a una puerta OA. El numero de términos producto varié! de unas PAL's a otras, siendo un valores típicos siete y

ocho.

Las PAL's combinacionales se encuentran disponibles en dos versiones, con salida

activa a nivel alto y con salida activa a nivel bajo, como ya se ha comentado esto no presenta

ningún ventaja adicional de una frente a la otra. En loas PAL's con salida activas a nivel alto

las funciones lógicas se implementan como suma de productos mientras que en las activa

a nivel bajo, dichas funciones se implementan como sumas complementadas de productos. En la fig.3.2. se muestra la etapa de salida de una PAL combinacional para los dos tipos de

actividades (alto y bajo).

~~ 3.2.2. Configuración de 1/0 programable.

Se caracteriza porque a las entradas dedicadas (no tienen posibilidad de actuar como

·~ salidas) del dispositivo se le añaden unas salidas que pueden ser configuradas como 1/0, ~ como se puede observar en la fig.3.3. Esta configuración se ayuda de un buffer triestado, de

~ forma que cuando se encuentra en H-Z permite que la salida sea tomada como entrada y

cuando no lo esté permite realimentar la salida en el array de puertas ANO. Por lo tanto, la

estructura de salida puede programarse de tres maneras: como salida, como entrada o como entrada/salida. Hay que hacer notar que la puerta triestate es programable, es decir, que será

3.3

Page 84: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

(a)

(b)

FJg. 9. Estructura de salida de una PAL combinacional: (a) salida activa a n.rvel alto. (b) salida activa a

nivel bajo

controlada según las conexiones que se hagan en la matriz de puertas AND. Además el control del estado del buffer de una salida es independiente de las otras. Esta es la

configuración mas utilizada en las PAL's combinacionales

ENTRAiJ.!.5 Y I 1 O l! t 1 1 1 : 1 1 1 1 >=

~ ; ' 1 F= ' I! ' ¡...r--

1 1 1 F=

o

1' >= 1 ;=: ' !

l !

K ;.¡ 1 ¡

1 1 1 I

Flg. 3.3. Configuración de 1/0 Programable.

Cuando el terminal se encuentra configurado como entrada, la salida del buffer

triestate se encuentra en alta impedancia; mientras que cuando se configura como salida

dicho buffer está siempre habilitado. Por su parte, cuando se configu~ como entradalsalida la habilitación del buffer esta controlado por la salida de una puerta p._'JD; por lo que hay que tener la precaución de que cuando el terminal funcione como er1trada, el buffer debe encontrarse deshabilitado.

3.2.3. Salida con términos productos compartidos (sharing).

Estos dispositivos permiten que dos salidas compartan {sharing) 16 términos productos, tal y como se muestra en la fig.3.4. Cada salida puede utilizar indistintamente cualquiera de los 16 términos producto; sin embargo si un termino es utilizado por una salida.

la otra no puede utilizar ese termino, por lo que el indicativo de "compartido" no es muy

acertado. En este tipo de salidas, el nivel activo de las mismas puede ser programado.

3 . .<!

Page 85: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DISPOSITIVOS P~

<--j

E==. r=:.._

~j-D ¡-U' 1' ~

R-- ~

~:t-D _r-V 1-R- ~ LJ

<~ Flg. 3.4. Salida con términos producto compartido.

3.2.4. Configuración de salida registrada.

Esta configuración es similar a al mostrad en la fig.3.3. con la particularidad que entre la puerta or y el terminal de salida se ha intercalado un biestable tipo D. tal y como se muestra en la fig.3.5. En este caso, el resultado de la suma de los diferentes términos

productos se obtienen en las salidas sincronizados con una señal de reloj. Por su parte, la

salida O del biestable es realimentada al array de puertas ANO. Esta realimentación permite

a la PAL acordarse del estado de salida anterior {memoria), con lo que permite la

programación de circuitos secuenciales. Podemos observar que la salida Q va a una puerta triestado que controlará el paso de ésta a la salida del sistema. En este caso hay que hacer

constar que el estado del buffer triestado no esta gobernado por la salida de una puerta lógica, sino que es un terminal adicional (E) de la PAL, siendo común a todos las salidas

registradas de la misma. Las PAL's que disponen de esta configuración SC('l usadas para realizar sistemas secuenciales, tales como contadores, registros de desolazamiento o

máquinas de estado.

ENTRADAS Y I/0 -

~ ,, ~~

t>-¡,.(-- > b---,

! ~~_::x,.-~~-

¡ ~ 1 ..

Flg. 3..5. Configuración de salida registrada.

Una consideración a tener en cuenta en los dispositivos que disponen óe este tipo de salida registrada es que la señal de reloj es común a todos los biestables de '.a PAL Por Jo

3.5 • • 1

Page 86: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

tanto, en una PALde este tipo, se pueden implementar varios sistemas secuenciales, con la imposición de que utilicen la misma señal de sincronismo o reloj.

3.2.5. Salida dividida.

Esta estructura de salida es común a un pequeño grupo de PAL's, la PAL 16A4 y la

PAL 16X4. En estos dispositivos la salida también es registrada, si bien la entrad a dicho

biestables, suma de los términos producto, está dividida en dos sumandos, los cual~s se

combinan con una puerta XOR (ver fig.3.7.). Además la salida complementada del biestable,

llamémosle B, es combinada con una de las entradas, llamémosle A, para dar lugar a los siguientes términos:

A+B A +B

Esta conexión permite la creación de 16 funciones booleanas correspondientes a las

variables A y B. Así mismo por la presencia de esos términos, estas PAL's son útiles para

implementar circuitos sumadores y restadores, de ahí que también se les conozca con el nombre de PAL's aritméticas.

CLCCK E

Q¡----r-c>-

Flg. 3.6. Estructura de una salida de una PAL aritmética.

3.2.6. Salida con registro asíncrono.

La configuración de esta salida es un tanto particular ya que permite que sea registrada o combinacional. Como se puede observar en la fig.3.7. ías entradas asíncronas

de SET (puesta a 1) y RESET (puesta a O) provienen de términos producto individuales. Al ser entradas asíncronas, en el instante en que se activen realizan su función. Si se activa el RESET la salida se pone a O y si se activa el SET la salida se pone a 1 ; si se activan Las dos

3.6

Page 87: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DISPOSITIVOS PAL

el biestable se hace transparente, y la salida corresponde a la suma de cuatro términos

producto o su complementario. En este caso tendremos el funcionamiento combinacional de

la salida. Por su parte si hacemos uso de la entra O del biestable tendríamos el caso de

salida registrada. Hay que hacer notar que ·la señal de reloj de cada biestable proviene de un

termino producto, por lo que es totalmente independiente de la señal de reloj de los otros

biestables.

l...__./ -o:.-------: =B~-¡-++-----,1

Flg. 3.7. Estructura de una salida con registro asíncrono.

Así mismo el dispositivo dispone de dos entradas dedicadas y comunes a todas las

salidas, una de las cuales (E) es utilizada como señal de habilitación de la salida. Mientras

que la otra (PL) se utiliza para cargar al biestable con un valor predefinido. Cuando la señal

de habilitación es un ·o· el estado del buffer depende de la salida combinacional. por otra

parte si la dicha señal se encuentra a "1" la salidas se encuentra inhibida. Por su parte la

entrada PL es utilizada para almacenar un determinado dato en los biestables.

3.2.7. Configuración de macroceldillas (OLMC= Ouput Logic Macrocell).

La macroceldilla es la estructura de salida más avanzada y potente, ya que permite

todas las estructuras vistas anteriormente según la configuración de dicha macroceldilla. Esta

estructura está disponible en las PAL's de la segunda generación. Los dispositivos más versátiles existentes en el mercado, de ahí que en su referencia o nombre aparezca el

carácter V de versátil. Existen diferentes tipos de macroceldillas, si bien su estudio es similar.

En este punto se realizará el estudio de la macroceldilla básica, la cual se encuentra

implementada en la PAL22V1 O, que es la más utilizada dentro de las PAL's versátiles.

Una macrocelda es un bloque lógico situado a la salida de la puerta OR, que realiza

la suma de los términos productos del array programable, la cual es configurable para variar

el tipo de salida suministrada. La programación de cada una de las salidas es independiente de las demás pudiéndose optar por una salida secuencial o combinacional.

3.7 • •

Page 88: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

Como se puede observar en la fig.3.8., la macrocelda consta básicamente de un

biestable D y dos multiplexores cuya salida es programada mediante las señales SO y S1, los

valores de las mismas vienen fijados por el estado de dos fusible (fusible intacto= nivel bajo,

fusible fundido = nivel alto). Así mismo, el biestable D posee una entrada de RESET

asíncrona (AR), mientras que la entrada de SET es síncrona (SS). Las entradas AR y SS son comunes a todas las salidas, si bien para que el dispositivo sea más versátiles no están

asignados a ningún terminal, sino que están conectadas a la zona de fusibles. Por su parte

la señal de reloj también es común a todos Jos biestables, pero esta asignada a un pin

especifico del dispositivo, al pin 1.

:iACP.OC:::LD ILL.~. r-

:.OGICA ~:: S A.~::.!.. ---, 1 1 1 1 1 1 1 1 1 1

A~ = Rese~ Asincrc~J SS = Set 5i~crono

Flg. 3.8. Estructura de una macroeeldllla de la PAL22V10.

En la TABLA 3.1 . se muestran las diferentes configuraciones que podemos obtener

con una macrocelda.

TABLA 3.1.

S1 so CONRGURACIÓN TIPO NiVEL ACTIVO

l l REGISTRO CON PE..<.J.JMENTACIÓN SECUENCIAL BAJO

l H REGISTRO CON REALIMENTACIÓN SECUENCIAL ALTO

H l 1/0 REALIMENTADA COMBINACIONA EVwO

H H 1/0 REALIMENTADA COMBINACIONAL ALTO

En la fig.3.9. se muestra las diferentes configuraciones en función de los valores que toman S 1 y S2.

3.8

Page 89: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DiSPOSfTI'Ir.)S PAL

51 = o so = o

REGISTRO REALI~ENTADO. TIPO SECUENC:AL SALIDA ACTIVA A NIVEL BAJO

51 so e

s: J se <

REG:STiW REJ...L:~!~TADO. :-=.?.:: SE:Ci:~F:: . .~o.:. s .... :.'!:;)A ACTrO. !-. SIVE;~ ."-.:.. -:---:

:;:. = -s:

¡¡o RtALI~EJ¡TADO. TIPO COl!!l!liACIONAL I/0 R:::ALI!!ENT.:.:;~. TI?C ::::.::=:sAC1GS.:.~ SALIDA ACTIVA A NIVEL BAJO SALIDA ACTIVA A NIVEL ~7:

Ag. 3.9. Configuraciones de la macroceldllla de la PAL22V10..

Debido a las posibles configuraciones de la OLMC, la PAL22V1 O puede emular

cualquiera de las PAL's de 20 pines.

Existe una versión mejorada de las OLMC's, la cual se· encuentra en la PAL32V1 o. Estas macroceldillas tienen una estructura como la mostrada en la fig.3.1 O. Como se puede

observar es muy parecida a la OLMC de la PAL22V10, si bien aparecen dos caminos

independientes de realimentación una la salida del biestable y otro la salida de la

macroceldilla o lo que es lo mismo la Sa.lida del dispositivo. Por otra parte la polaridad de la señal de salida se puede seleccionar de dos formas. una con la puerta XOR para el caso de

que la salida sea combinacional y otra a través de un multiplexor par el caso de que tas salida sea registrada.

En el caso de que el terminal funcione como entrada, por la dobl€ realimentación. el

biestable de la macrocelda puede funcionar como una entrada registrada o como un biestable interno.

Se deja como ejercicio para el lector comprobar los distintos modos óe funcionamiento de esta macroceldilla.

3.9

" l

" • • • • -i .. .. -• • • • • • • •

Page 90: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

MESE':"' SINCRDNO

OE -1~-----------------+--~~---------------------------,

l1UX

XOR

~--r---o P1

PZ

Flg. 3.10. Estructura de una macroceldllla de la PA1..32V10.

3.3. NOMENCLATURA DE LAS PAL's.

Para identificar un PAL Jos fabricantes han adoptado la nomenclatura, común a todos

ellos, la cual es mostrada en la fig.3.11. Si bien esta es una nomenclatura común a todos los fabricantes en lo que se refiere al tipo de dispositivo, número de entradas, estructura de

salida, número de estas y velocidad, no lo es así lo referente a consumo y encapsulado. En

este último caso los códigos identificadores son particulares de cada fabricante.

XXX VY HH ZZ C VV ENC

TTJJ ~~HERO ~~ ENTRADAS

EST?-~CTUE~ DE SALIDA

~~~ERO ~~ SALIDAS

CONSUHO

VE_l.,OC X DAD -----------------------__.J E!-:'::APSULADO

Fig. 3.11. Nomenclatura de las PAL's.

A continuación se especifica lo que significa cada uno de los campos del código de un PAL.

Tipo de dispositivo: especifica ef tipo de dispositivo, normalmente pone sólo el nombre PAL.

En otros casos, como sucede en la mayoría de los circuitos inte-:Jrados, el nombre de

dispositivo puede ir precedido de una serie de caracteres identificadores del fabricante. Asi

por ejemplo, Texas lntruments utiliza el indicativo TfBPAL, para nombras a sus PAL's.

3.10

Page 91: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DISPOS:i.IVOS PAL

Número de entradas: indica el número máximo de entradas que tiene el dispositivo. Téngase

en cuenta que existen terminales que son de 1/0 programables. los cuales pueden funcionar

como salidas o como entradas. En el , número de entradas también se encuentran

contemplados estos últimos.

Operación de salida: Una o dos letras indican el tipo de salida que tiene el dispositivo Y cual

es su nivel activo. Las operaciones de salidas más comunes son :

A. - Aritmética registrada. C. - Nivel lógico de salida complementario.

H. - Salida activa a nivel alto.

L.- Salida activa a nivel bajo. P. - Nivel lógico de polaridad de la salida programable.

R. - Salida registrada. RA.- Salida a través de un registro asíncrono.

S. - Salida con producto de términos compartido.

V. - Salida con producto de términos variados o versátil. VX.- Salida con producto de términos variados con OR EXCLUSIVA

X.- Nivel lógico de salida por OR EXCLUSIVA ·con registro.

XP.- Nivel lógico de salida por OR EXCLUSIVA con polaridad programable.

Número de salidas: indica el numero máximo de terminales que pueden funcionar como

salida.

Consumo: Una letra indicadora del tipo de consumo (normal, bajo o atto) que tiene la PAL.

Algunos fabricantes, tal es el caso de Texas lnstruments, ignoran este campo.

Velocidad: Es un número que nos da idea de la velocidad de la PAL, realmente representa

el tiempo de propagación por puerta, en nanosegundos.

Encapsulado: Los últimos caracteres del código de la PAL hacen referencia al encapsulado. Si bien los códigos utilizados son distintos según el fabricante del dispositivo

Así por ejemplos, la referencia PAL16R8H25PC indica que el dispositivo es una PAL de 16 entradas y 8 salidas registradas. El término H indica que es un dispositivo de mediana

potencia, con un tiempo de propagación de 15 nsg. Por su parte los caracteres PC nos indican que tiene encapsulado DIP plástico.

Dentro del amplio abanico existente de PAL's, las más utilizadas son la PAL 16L8 o

la PAL16H8 para implementar sistemas combinacionales, la PAL16R4 o la PAL16R6 o la

PAL 16R8, para implementar sistemas secuenciales, eligiendo entre una de ellas en función

~ del numero de salidas registradas necesitadas. Por su parte la PAL22V1 O se utiliza en ~ aquellas aplicaciones que no se pueden conseguir con las anteriores. Existiendo varias

3.11

-• • • • • •

Page 92: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

versiones de cada uno de ellos según los tiempos de propagación, los cuales van desde los

25 nsg en las mas lentas a los 7 nsg en las más rápidas.

En las figuras siguente se muestra la estructura interna de varias PAL's.

lnputs (0-31)

14

~>·o-----1-3

A

..... 11

Flg. 3.12. Estructura lnetrna de la PAL 16L8

3.12

Page 93: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

lnputs (0-31)

\1 1

1 i -- '"6/--h-' 1-H

¡!

§ 1

e "ll j ¡, ,, 1 i 1 1

1 1 1

" 1 1 ¡ 1__ "±H±:~i=::tt::=i=t=#=+t===l+t1~=B=l ¡ ,, ! 1

"' E

:!!. S

7

9

1111

Ag. 3.13. Estructura lnetma de la PAL10H8

DISPOSITIVOS PAL

19

18

17

16

15

14

13

12

11

3.13

-r • •

Page 94: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LOGICA PROGRAMABLE

tnputs (0-31)

de la PAL16R6 Flg. 3.14. Estructura lnetma

3.14

Page 95: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

f 1

e (fJ

~ a: LU 1--

1-­(.) ::> o o a: a.

~

DISPOSITIVOS PAL

INPUTS (0-39)

..

.. ..

... .. ... : ~

! 11 1

=+++~+R~~~+t4++ttt~+t~~4=~~~t=~R=~[)] ~-=-~¡ ~7 ~ ~ :~l

:::J::f:R:=H+R=~t:+P.:J=tttrn:tJ:::ttl:~:t±ti=f: ~~~~-L= ~,.-~16 ~ ~ ~¿_l

1

1

=++H~Kt4*~~~tR~~~~~~i±t±t8=Ft~~r:] ~=~ 0 15

~ ~ ~ ~~

f! 1 : 1 !

ji ' 1 ; 1

¡ '

1 ! ;

u

Flg. 3.15. Estructura lnetrna de la PAL20X10.

3.15

• 111

1

Page 96: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

... ... ""'

,., ... '" ... ..,

ll '" ,.. !!

, ...

, .. """ &ll .... ... "' ... "'

,.,, .... ·-1120 .. ., .... 1%14 ., .. .... tl1J , ... .. ,. .... ..... U12 ....

7

m: .... . .., ..... .... 1721

~

""' 8

"" 1•1• ·-.... .. ,. "'' .... ""'

Flg. 3.16. Estructura lnetrna de la PAL16X4.

3.16

Page 97: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DISPOSITIVOS PAL

'-{> • lll • ,. f . ···" tJ•I-•6 u., ... l"ITIUn Jt.nttn llll'f.Jill

1 1' 11 1 1 1

' ' .. '

~ . ..

" ' . • 1 ~ ' . ''' . ''. ' ... . : . .

1 ''' ''. .

1! 1 •

~ .

''' .. " ' . " .. ,,

'' . .. '' .. . ..

l '. ':' .. ''. ~ )o-fUl~

" '' .. ''' .. :1' 1 ..

' ,. ~

" ''. " '' . 1: 1

Fm 1 j ¡ ~

M

' ' ' )o-"

~ "

M " 1 :; ;::::, " " .

' ' .. ' .. '

' '. '.

~ i; ¡ 1 t' 1

' .. l '' ~ '. ~

11 ' ''

)o-" ''' M

~ " 1: 1

M ,.

'. " '' . " ''. .

1' '

r ' ~ ' M

)o-~ .. ..

~ ..

1 ~ 1

" ~ .. '

1

~ ' '. '

~~ '' ~ ''

~ w '. . ' .. '' . ' ... ' '' " u . ' w ' '. w ' . '. .

' '' . .

w ' .. ' .

~ .,

1 '. }-) u . 11 .

'' .. '' ... . . ... '' L<r .

1

' 1' 11 1

Flg. 3.17. Estructura lnetrna de la PAL16A4.

3.17

Page 98: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

o 2 1

-~ r-oo 2

tiRS fU S(

NUU8[RS

40 110

120 160

200 2<0

2110

3 ..).

120

600

&¿()

920

5 960

1240

6 1280

1560

1600

1MO

8 1920

2200

9 -i

lO

ll

2240

~20

r-o 2 1 3

INCREI.IENT

' . J ~ i

• 6 5 ]

8 10 o '" 16 18 20 22 2< 26 28 ~ 32 J< J6 ~

9 11 tJ 1~ 17 19 21 23 25 27 29 JI JJ 35 37 J9

23

>¡1!2 lü[C.o- 22

P$!?. o ~ 21

>¡'~ o ~ 20

>$S> o ~ 19

>$!? o ~ 18

~!2 o ~ 17

>$!? lü fBx.- 16

>¡'~o ~ 15

~ 14

13 ~ 8 10 12 u 16 18 20 22 2~ 26 283032~ 36 38 9 ti t3 15 17 19 21 23 25 27 29 31 33 35 37 39

TUL/9().(6-10

Flg. 3.18. Estructura lnetrna de la PAL20AP8.

3.18

Page 99: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

DISPOSITTVOS PAL

3.4. DISPOSITIVOS GAL

La principal desventaja de las PAL's es que no pueden ser reprogramadas. Por lo

tanto, no son aconsejables utilizarlos en aquellas aplicaciones en las que es necesario variar

las funciones lógicas del diseño o en las que un diseño se va a modificar varias veces hasta

obtener el definitivo. Además el consumo de los dispositivos con tecnología bipolar es alto.

Como solución a los problemas anteriores surgen los dispositivos programables basados en

la tecnología CMOS, los cuales tienen un consumo muy pequeño. Además, como con lo

tecnología CMOS se pueden conseguir grandes capacidades de integración, estos

dispositivos programables van a tener una capacidad mucho mayor que los vistos hasta

ahora.

Una ventaja adicional de los dispositivos CMOS es que usan células EPROM o

EEPROM en vez de fusibles, lo cual permite que se pueda borrar la configuración del

dispositivo, y por lo tanto son reprogramable. Dentro de los dispositivos reprogramables se

encuentran las GAL (Generic Arra y Logic). Como se puede observar la denominación de GAL

no aclara nada acerca del funcionamiento o función del dispositivo. Las GAL's se basan en

células EEPROM (Eiectrically Erasable PROM), las cuales son borrables eléctricamente. Con

la particularidad de que pueden sustituir a una gran mayoría de los dispositivos PAL's, la

única condición que se debe cumplir es que ambos, PAL y GAL, tengan el mismo número de patillas. Las características que tienen estos dispositivos son:

1.- Permiten una sustitución, no sólo funcional, sino pin a pin de las PAL's.

2.- Presentan un consumo menor que las PAL's.

3.- Disponen de una mayor flexibilidad de configuración de las entradas/salidas que las PAL's.

4.- Son reprogramables.

5.- Utilizan los mismos sistemas de desarrollo que las PAL's.

6.- Existen unas GAL que no necesitan un programador para configurarlas, sino

que dicha operación se puede realizar en el mismo sistema en el que se encuentra.

Si bien no todo son ventajas, sino que tienen un serio inconveniente, que es su coste,

el cual mucho mayor que las PAL's. Lo que las hace poco atractivas para la mayoría de los diseños.

Al igual que sucedía con las PAL's. las GAL disponen de un bit de seguridad que las

protege ante cualquier proceso de lectura. Obviamente para borrar este bit es necesario

3.19

Page 100: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LÓGICA PROGRAMABLE

realizar el borrado de toda la GAL.

Las GAL más utilizadas son 1~ GAL 16V8 y fa GAL20V8. La primera esta especialmente diseñada para sustituir a las PAL's de 20 pines, pudiendo reemplazar

dispositivos que van desde la serie PAL10L8 hasta la PAL16P8. Mientras que la GAL20V8 fue diseñada para sustituir a las PAL's de 24 patillas. En la TABLA 3.2 se muestra los dispositivos que pueden sustituir o emular las GAL's anteriores.

TABLA 32 . . PAL's sustituibles por la GAL20V8 PAL's sustituibles por la GAL16V8

20LB 16L8 20H8 16H8 20R8 16R8 20R6 16R6 20R4 16R4 20P8 16P8

20RP8 16RP8 20RP6 16RP6 20RP4 16RP4 14L8 10L8 14L6 12L6 18L4 14L4 20L2 16L2 14H8 10H8 16H6 12H6 18H4 14H4 20H2 16H2 14P8 10P8 18P4 12P4 20P2 16P2

Las GAL's utilizan también macroceldas (OLMC) pasa obtener distintas configuraciones de salida, al igual que sucedía con las PAL's. En la fig.3.19. se muestra la estructura de una de estas macroceldas, siendo su funcionamiento similar al de la macrocelda de las PAL's

E :-••oo•ooOOOoooooooooooOoooooooO oooooooooooooOOoooooooooooooo•oOOooooooooooo•••-oooooooooUooooooOOoooooooOoooooooooooooo

=-~ ·"" !!T•P• ..O..::..,&.~NTE

Flg. 3.19. Estructura de una macroceldllla de una GAL

3.20

Page 101: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

ARQUITECTURA DE MICROPROCESADORES

EL microprocesador consta de tres módulos bien diferenciados. La CPU (Unidad Central Qe Proceso). La Memoria Central (MC) y La Unidad Aritmético_Lógica (UAL).

La CPU , es la parte que controla la ejecución y la búsqueda de las instrucciones de un programa.

CPU

BUSDEDAIDS

BUS OE CONTROL

Dentro de la CPU se encuentran los siguientes módulos : El Contador de Programa (CP), que es un contador binario de 16 bits normalmente y que se rige por un oscilador a cristal de cuarzo. El CP va interconectado directamente al bus de direcciones, y entre otros ~tidos , tiene el de llevar la dirección de la memoria por donde se va ejecutando el programa.

El Registro de Instrucción , se divide a su vez en otos dos módulos: El Código de la Operación (CO) y La Dirección del Operando (DO). Las operaciones a realizar durante la ejecución de un programa están codificadas en binario, de tal forma que a cada operación aritmético-lógica le corresponde un número bínario. Este código se guarda en el Registro de Instrucción , concretamente en CO.

La Dirección del Operando, guarda la información binario correspondiente a la dirección de la memoria en la que se encuentra el~ operando.

Internamente cada microprocesador lleva una memoria interna con microinstrucciones , de tal forma que cada vez que se el CO se coloca en didla memoria , esta saca una instrucción hacia el Secuenciador para que este a su vez efectúe las conexiones pertinentes en el bus de control.

Page 102: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

MEMORIA CENTRAL

La Memoria Central está formada por una gran cantidad de células de 8 bits cada una . Cada célula de memoria está situada en una posición seleccionable por el bus de direcciones, ~ esta manera sólo se puede leer o escribir la información en la que esté apuntada por el RSM.

El RSM (Registro de Selección de Memoria), es un decodificador de binario a decimal, así por ejemplo, si un valor binario procedente del bus de direcciones llega a él, este se decodifica y habilita una única célula de memoria.

El Registro de Palabra (RP), tiene la misión de guardar temporalmente el dato que va a ser leído o escrito en la memoria, es un registro bidireccional, puesto que el dato puede fluir hacia o desde la memoria.

La Lógica de Control, tiene conexión directa con el bus de control y es éste, el que marca las. órdenes de lectura o escritura. También se puede sincronizar el proceso con los ciclos del reloj ,así como seleccionar el chip ó dar permiso de salida de datos.

Cuando se quiere leer un dato , primeramente se coloca la dirección del dato en el bus de direcciones para que el RSM lo decodifique a decimal y se seleccione una célula de memoria , a continuación se coloca un nivel alto en la línea de lectura\escritura de la lógica de control, y nivel bajo e las líneas de selección de chip y permiso de salida. Seguidamente se espera que llegue la señal de reloj para que sincronice el proceso. Una vez que se ha leido el dato , éste está disponible en el RP y se puede acceder a él a través del bus de datos.

Page 103: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

LA UNIDAD ARITMÉTICO-LÓGICA

En la Unidad Aritmético Lógica {ALU) se realizan todos los procesos aritmético-lógicos. Se pueden realizar operaciones de suma binaria, resta , desplazamientos , funciones lógicas, complementos, etc.

Los datos se operan de dos en dos, siendo el Acumulador (registro de 8 bits) el primero que se carga a través del bus de datos . Después se carga el ? Operando y el código de la operación { a través del bus de control), se procesan los datos , y el resultado se coloca en el Acumulador . Este proceso conlleva la pérdida de la información del Acumulador que quedará reemplazada por el resultado de la operación.

A la lógica de Control llega una infonnación binaria que será la que habilite al sumador, restador, complementador, función and, etc.

El Registro de Estado, es unregistro de ocho bits que nos da información de los atributos de la última operación realizada. Así podemos saber si ha sido cero, si es negativa, si hay rebosamiento, etc.

Page 104: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

) ) ',

J ) ) ) ) ) ) j )

ARQUITECTURA DEL MICROPROCESADOR BUS DIRECCIONES

MC

MEMORIA LOGICA

DE

CPU

CONTAOOF! PROGRAMA

REG, DE INSTRUCOION

c.o. 1 0.0, CODICIO DIREOOION

OPERACION OPEAANDO

MI!MOIUA MICROINS'I'RUOCIONI!S

SECUENCIADOR

BUS DATOS

PERIFERICQ

Page 105: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

) ) \

,' )

EIUS OIFIE:CCIONES

MC

MEMORIA

)

LOGICA

o e CONTR01

CPU

CONTADO!< !'ROOI<M!A

REO. CE INSTfiUCCION

c. o. 1 0.0. COOIGO OIRECCION OPI!~ 01>~00

MEMORIII MICIIIOINS'I!RUCiCIONI!S

S!OUENCIADOR

BUS DATOS

\ 1 1 \ \ 1

Page 106: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

FASES DE UNA INSTRUCCIÓN

El microprocesador cuando efectúa un reset se va hacia la posición de memoria en donde se encuentra el programa ha ejecutar. Todo programa esta formado por instrucciones. y esta siempre se realizan en dos fases bien diferenciadas: Fase de Búsqueda y Fase de Ejecución.

Durante la fase de búsqueda, el Contador de Programa (CP) lleva al Registro Selección de Memoria la información binaria referente a la posición de la memoria en la que se encuentra la instrucción a ejecutar. Seguidamente, el contenido de esta posición se lee y pasa al Registro de Palabra {RP) para ponerla en el Bus de Datos.

Cuando la información se encuentra en el bus de datos , es capturada por el Registro de Instrucción (RI} y posteriormente se descompone según su funcionalidad. Así es que la Información binaria referente a código de la operación pasa al CO y la referente al operando pasa al OO. la fase de búsqueda termina con el incremento del CP en una unidad.

FASE DE BÚSQUEDA

CP ____... RSM

(RSM) ____... RP

RP --+ RI(CO,OO)

CP --+cp+1

Una vez que se dispone de la dirección del operando y del código de la operación, se pasa a la fase de ejecución. Podemos distinguir, de forma general, tres clases de ejecución: De carga, de almacenamiento y de procesamiento.

En la ejecución de "carga" , se lleva la dirección del operando al RSM, después el Secuencidor maneja el bus de control para leer de la memoria el dato almacenado en dicha posición. B dato pasa al Acumulador a través del bus de datos.

EJECUCIÓN DE CARGA

DO--+ RSM

(RSM) ____... RP

RP --+AC

Durante la ejecución de almacenamiento, ta dirección del operando pasa al RSM éste ~ifi~ la dirección y apunta a un célula de memoria. El Secuenciador ordena~ paso de mformac¡on desde el AC al RP , seguidamente y a través de la lógica de control de la memoria se manipula para que se almacena el dato en la dirección apuntada por RSM.

EJECUCIÓN DE ALMACENAMIENTO

DO--+ RSM

AC--+RP

RP ---+ (RSM}

Page 107: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

En la ejecución de un procesamiento se realiza una operación aritmético-lógica entre el dato cargado en el AC y el dato del ? operando. Antes de realizar una ejecución de este tipo es necesario cargar previamente el AC con el primer operando. El resultado obtenido se almacena en el AC machacando la infonnación anterior.

FASE DE PROCESAMIENTO

DO___,... RSM

(RSM) _______. RP

RP __...~p

AC"2"0P ___.. AC

Para ver todo el proceso se propone un programa previamente escrito en memoria. Este programa es muy senCillo y consiste en efectuar una pequeña suma con los contenidos de las posiciones 8 y 9 de la memoria. Por último almacenamos el resultado en posición 1 O.

ALMACENA, POSICIÓN-oo'IO

Page 108: UTOR; PEDRO VAL VERDE MONTERO … · El convertidor D/A puede ser de entrada serie o paralelo, lo más usual es que sea de entrada paralelo, o sea cada bit tiene un pin asignado,

"

Fases RP

8

EBUSQ. SUM,9

F.EJEC. 1

F.BUSQ. AlM,10

10

ENO

**En la posición 1 O de la memoria se escribirá el número nueve. Cuando se encuentra el código de operación ENO, et microprocesador se detiene .

Ejercicio propuesto;

Dado el siguiente programa realizar todos lbs pasos pertinentes ,según la tabla anterior, para explicar el proceso de búsqueda y ejecución del microprocesador.