d s d ing. ricardo iván gottret ríos....

77
UNIVERSIDAD SALESIANA DE BOLIVIA INGENIERÍA DE SISTEMAS DOSSIER SISTEMAS DIGITALES Ing. Ricardo Iván Gottret Ríos. II-2011

Upload: trandang

Post on 29-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDAD SALESIANA DE BOLIVIA

INGENIERÍA DE SISTEMAS

DOSSIER

SISTEMAS DIGITALES

Ing. Ricardo Iván Gottret Ríos.

II-2011

2

Índice.

Índice. .................................................................................................................... 2

Capítulo I. Introducción. ......................................................................................... 3

Presentación. ....................................................................................................... 4

Capítulo II. Contenido. ........................................................................................... 5

Unidad 1. Números y códigos binarios. ...................................................... 6

Unidad 2. Circuitos digitales .......................................................................... 9

Unidad 3. Sistemas Combinacionales ....................................................... 11

Unidad 4. Lógica secuencial ........................................................................ 23

Unidad 5. Registros y contadores .............................................................. 35

Unidad 6. Memoria y lógica programable .................................................. 41

Capítulo III. Lecturas complementarias.............................................................. 69

Capítulo IV. Bibliografía. ...................................................................................... 71

Capítulo V. Glosario ............................................................................................. 73

3

Capítulo I. Introducción.

4

Presentación.

La materia de Sistemas Digitales tiene el objetivo de Iniciar el estudio de la

Electrónica Digital con la noción y descripción de las ideas fundamentales de las

propiedades y características fundamentales de los circuitos digitales desde el punto

de vista general en la perspectiva de vincular dialécticamente la teoría y la práctica.

Las competencias adquiridas por el estudiante son:

Domina conceptos básicos de lógica combinacional y secuencial.

Identifica y soluciona problemas de hardware básico.

Demuestra un juicio crítico que permita recomendar soluciones óptimas en el

diseño y configuración de un sistema digital simple.

Conoce los sistemas digitales emergentes, que permiten dar alternativas a los

actualmente implementados.

Demuestra un juicio crítico que permita recomendar soluciones óptimas en el

diseño y formulación de sistema digital.

Compara y selecciona los sistemas digitales emergentes, que permiten dar

alternativas a los actuales.

5

Capítulo II. Contenido.

6

Unidad 1. Números y códigos binarios.

Antes de entrar en los detalles de esta asignatura, es interesante tener una

perspectiva mayor, para entender el contexto de esta asignatura, en qué

fundamentos se basa y cómo se relaciona con el resto de asignaturas.

Electrónica Digital

Esta asignatura trata sobre Electrónica. La Electrónica estudia el comportamiento de

los electrones en diversos medios, y se aplican estos conocimientos para conseguir

que “los electrones hagan lo que se desea”. Así por ejemplo, si se construye un

circuito electrónico constituido por una pequeña bombilla, una pila y un interruptor,

los electrones circularán por todo el circuito y al atravesar la bombilla parte de ellos

se conviertan en luz.

Para “dominar” a los electrones, es necesario crear circuitos electrónicos, formados

por materiales conductores (cables) que unen todos los componentes del circuito.

Concepto de Circuito Digital

Existe otra manera de modificar, almacenar, recuperar y transportar las señales,

solucionando los problemas anteriores. Es un enfoque completamente diferente, que

se basa en convertir las señales en números.

Existe un teorema matemático (teorema de muestreo de Nyquist) que garantiza que

cualquier señal se puede representar mediante números, y que con estos

números se puede reconstruir la señal original.

De esta manera, una señal digital, es una señal que está descrita por números. Es

un conjunto de números. Y la electrónica digital es la que trabaja con señales

digitales, es decir con números.

7

Son los números los que se manipulan, almacenan, recuperan y transportan.

Reflexionemos un poco. Estamos acostumbrados a escuchar el término televisión

digital, o radio digital. ¿Qué significa esto? ¡¡¡Significa que lo que están enviando

son números!!!

Que la información que envían está en los propios números y no en la forma que

tenga la señal que se recibe. ¿Y qué es un sistema digital?, un sistema que trabaja

con números. ¿Y un circuito digital? Un circuito electrónico que trabaja con números.

¡¡Y sólo con números!! En un ordenador, que es un sistema digital, se puede

escuchar música o ver películas. La información que está almacenada en el disco

duro son números.

En la figura se muestra un sistema digital. La señal acústica se convierte en una

señal eléctrica, y a través de un conversor analógico-digital se transforma en

números, que son procesados por un circuito digital y finalmente convertidos de

nuevo en una señal electrónica, a Características de Los Circuitos Digitales

Compuertas Lógicas

Algunos sistemas de representación

Sistema octal (Base 8)

Utiliza ocho dígitos: 0,1,2,3,4,5,6 y 7 y los pesos son potencias de 8.

8

Sistema binario (Base 2)

¿Se podrían utilizar sólo dos dígitos para representar cualquier número? Si, se

denomina sistema binario. Este sistema de representación sólo utiliza los dígitos 0

y 1 para representar cualquier número.

En el sistema binario los pesos de estos dígitos son potencias de 2.

El sistema binario tiene mucha importancia y se lo utilizará constantemente en

esta asignatura. Es posible representar cualquiera de los infinitos números. En la

tecnología actual se dispone de un elemento, llamado transistor, que se puede

encontrar en dos estados diferentes, abierto o cerrado, a los que le asocian los

dígitos 0 y 1. Todos los circuitos integrados o chips se basan en estos transistores y

trabajan internamente en binario. Todas las operaciones se realizan utilizando este

sistema de representación, por eso es muy importante para entender cómo funcionan

los microprocesadores y los chips por dentro.

9

Unidad 2. Circuitos digitales

Familia de circuitos integrados TTL:

TTL - Viene de las iniciales de Transistor - Transistor - Logic ó

Lógica Transistor Transistor.

La familia de circuitos integrados TTL tienen las siguientes características:

- La tensión o voltaje de alimentación es de + 5 Voltios, con Vmín = 4.75 Voltios y Vmáx = 5.25

Voltios.

- Su realización (fabricación) es con transistores bipolares multiemisores

¿Cómo funciona un circuito integrado TTL?

1 - Si E1 o E2 están a un nivel de tensión de 0 voltios, entonces el transistor conduce, y

Z = 0 Voltios

2 - Si E1 y E2 están a un nivel de tensión de 5 voltios, entonces el transistor no conduce, y

Z = 5 Voltios

El inversor quedaría como se muestra en la figura de la izquierda. A la derecha ejemplo del

patillaje de un circuito integrado TTL

10

Tipos de circuitos TTL según su número de serie y tipo

No de Serie - Tipo

7400 compuertas NAND

7403 compuertas NAND open collector

7408 compuertas AND

7432 compuertas OR

7486 compuertas EXOR

Series especiales

74 LS XX Low Power Schottky (Tipo schottky de bajo

consumo)

74 S XX High Speed (alta velocidad)

74 HC XX High Speed - C-MOS (Tipo C-MOS, alta

velocidad)

La serie de circuitos integrados TTL es la base de la tecnología digital. Siendo la

compuerta NAND el circuitos base de la serie 74 XX

Es importante tomar en cuenta que para su funcionamiento, la carga de entrada.

- Con la señal de entrada en nivel bajo (LOW = 0), la entrada de la compuerta entrega

corriente a la fuente de señal de aproximadamente 10 mA (miliamperio)

- Con la señal de entrada en nivel alto (HIGH = 1), la entrada de la compuerta pide a la

fuente de la señal de entrada una corriente de aproximadamente de uA (microamperios)

- La entrada no conectada actúa como una señal de nivel alto (HIGH)

11

La carga mayor ocurre cuando la señal de entrada es de nivel bajo (LOW). En este momento

el transistor de salida tiene que aguantar mayor corriente. Generalmente los transistores de

esta serie aguantan hasta 100 mA (miliamperios). Entonces solo se pueden conectar 10

entradas en paralelo (FAN IN = 10)

Notas:

Las señales de entrada nunca deben de ser mayores a la tensión de

alimentación, ni inferiores al nivel de tierra.

Si alguna entrada debe estar siempre en un nivel alto, conectarla a Vcc (tensión

de alimentación)

Si alguna entrada debe estar siempre en un nivel bajo, conectarla a tierra

Si hay entradas no utilizadas, en compuertas NAND, OR, AND, conetarlas a

una entrada que si se esté utilizando

Es mejor que las salidas no utilizadas de un compuertas estén a nivel alto pues

así consumen menos corriente

Evitar los cables largos dentro de los circuitos

Utilizar por lo menos un capacitor / condensador de desacople (0.01uF a 0.1uF)

por cada 5 o 10 paquetes de compuertas, uno por cada 2 a 5 contadores y

registros y uno por cada monostable.

Estos capacitores de desacople eliminan los picos de voltaje de la fuente de alimentación

que aparecen cuando hay un cambio de estado en una salida TTL / LS. (de Alto a bajo y

viceversa) Estos capacitores / condensadores deben tener terminales lo más cortos posible y

conectarse entre Vcc y tierra, lo más cerca posible al circuito integrado.

12

Unidad 3. Sistemas Combinacionales

Algebra de Boole

En el Álgebra de Boole hay dos operaciones, denotadas con los símbolos + y . pero

que ¡¡no tienen nada que ver con las operaciones que todos conocemos de

suma y producto!! Se aplican a bits, es decir, a números que sólo pueden ser el ’0’

ó el ’1’.

La operación +

Esta operación se define de la siguiente manera:

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1

Las tres primeras operaciones resultan obvias, son iguales que la suma que

conocemos, sin embargo la expresión 1 + 1 = 1 nos puede resultar chocante, pero

hay que recordar que aquí se está utilizando otra operación que NO ES LA SUMA, la

denotadas con el mismo símbolo ‟+‟.

Observando esta nueva operación, se nota lo siguiente: El resultado siempre es

igual a ’1’ cuando alguno de los bits sumandos es igual a ’1’. O lo que es lo

mismo, El resultado de esta suma sólo da ’0’ si los dos bits que estamos

sumando son iguales a cero. En caso contrario valdrá ‟1‟. ¿Y para qué sirve esta

operación tan extraña? Véase un ejemplo: Imagines que hay una sala grande a la

que se puede acceder a través de dos puertas. En el techo hay una única lámpara y

existen dos interruptores de luz, uno al lado de cada puerta de entrada. Como es

lógico, la luz se enciende cuando algunos de los dos interruptores (o los dos) se

activan. Esto es factible de expresar mediante una ecuación booleana. Para denotar

el estado de uno de los interruptores utilizará la variable booleana A, que puede

13

valor ‟0‟ (Interruptor apagado) ó ‟1‟ (interruptor activado). Para el otro interruptor la

variable B. Y para el estado de la luz, ‟0‟ (apagada) y ‟1‟ encendida la variable F.

Unas propiedades muy interesantes. Si A es una variable boolena, se cumple:

A + A = A 1 + A = 1 0 + A = A

La operación *

Esta operación se define así:

0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1

En este caso, la operación es más intuitiva, puesto que es igual que el producto de

números Reales. Obsérvese que el resultado sólo vale ‟1‟ cuando los dos bits están a

‟1‟, o visto de otra manera, el resultado es ‟0‟ cuando alguno de los dos bits es ‟0‟.

Como ejemplo. Imaginemos una caja de seguridad de un banco que sólo se abre

cuando se han introducido dos llaves diferentes, una la tiene el director y la otra el

jefe de seguridad.

Si sólo se introduce una de ellas, la caja no se abrirá. Modelando el problema:

tómese como variable A para referirse a una de las llaves (‟0‟ no introducida, ‟1‟

introducida) y la variable B para la otra llave. Con la variable F es expresa el estado

de la caja de seguridad (‟0‟ cerrada y ‟1‟ abierta).

Algunas propiedades de esta operación:

A * A = A A * 0 = 0 A * 1 = 1

14

La negación La operación de negación permite obtener el estado complementario del bit o

variable booleana al que se lo aplicamos. Se define de la siguiente manera:

_ 1 = 0

_ 0 = 1

Es decir, que si se lo aplica a ‟0‟ se obtiene ‟1‟ y si se lo aplicando al ‟1‟ se obtendrá

‟0‟. Esta operación permite cambiar el estado de una variable booleana. Si A es una

variable boolena, tiene el estado contrario.

15

SIMPLIFICACIÓN DE FUNCIONES BOOLEANAS

Las funciones booleanas se tienen que simplificar al máximo, para diseñar los

circuitos con el menor número de componentes electrónicos. Y este será uno de los

grandes caballos de batalla de esta asignatura: la simplificación de las funciones.

Esta simplificación la podemos realizar de dos maneras diferentes:

1. Utilizando las propiedades y Teoremas del Algebra de Boole. Se denomina

método analítico de simplificación de funciones. Hay que manejar muy bien estas

propiedades para poder eliminar la mayor cantidad de términos y variables.

2. Utilizando el método de Karnaugh. Es un método gráfico que si se aplica bien,

garantiza que se obtendrá la función más simplificada posible, a partir de una tabla

de verdad.

Normalmente las formas canónicas no son las expresiones más simplificadas.

Método de Karnaugh

En este apartado se verá un método para obtener la función más simplificada a partir

de una tabla de verdad.

Diagramas de Karnaugh según el número de variables

Dos variables de entrada

Número de combinaciones distintas 22 es decir cuatro, lo que implica una tabla de

verdad de cuatro filas y por lo tanto un mapa de Karnaugh de cuatro celdas.

Cada celda lleva escrita la combinación de la que procede y el número de celda

coincide con el número de fila de la tabla de verdad.

Por ejemplo la fila 3 tiene valores a = 1 y b = 1

Todos los mapas para dos variables son iguales.

16

TRES VARIABLES DE ENTRADA

Exactamente igual construido que el anterior pero con ocho celdas (23)

CUATRO VARIABLES DE ENTRADA

En la misma línea pero con 16 celdas (24) igual que las filas de una tabla de verdad

17

de cuatro variables de entrada.

PROPIEDADES DE LOS MAPAS

Dos celdas contiguas (separadas por una recta) solo tienen una variable con distinto valor.

Se consideran celdas contiguas las de la primera y última fila, y las de la primera y última columna, es decir la celda 4 es contigua de la celda 6 y la celda 1 es contigua de la 9.

La celda 10 es contigua de la 2 y de la 8, además de las dos obvias: 11 y 14

Cada celda tiene cuatro celdas contiguas.

Diagramas de karnaugh de la t.v. Al diagrama

PRIMERA FORMA CANÓNICA

Un ejemplo con tres variables de entrada

Cada "1" en la salida de la tabla de verdad se hace corresponder con su celda en el diagrama de Karnaugh

DIAGRAMAS DE KARNAUGH AGRUPAR LOS "1"

PRIMERA FORMA CANÓNICA

Un ejemplo con cuatro variables de entrada.

Se hacen grupos con los "1", de 16, 8, 4, 2 ó 1, de tal manera que cuanto más

grande es el grupo mejor.

Todos los "1" deben estar en al menos un grupo, aunque un "1" puede pertenecer a

más de un grupo.

18

OBTENCIÓN DE LA FUNCIÓN SIMPLIFICADA

Se miran todas las celdas de un grupo, de tal manera que hay que buscar qué variables se mantienen constantes, es decir no varían de valor en las celdas del grupo.

Ejemplo: grupo de ocho celdas del ejemplo.

Mirando la variable "a" se observa que unas celdas (columna 2) tienen valor "0" y en

otras (columna 3) tiene valor "1", no nos vale como variable constante.

Mirando la variable "b" se observa que en todo el grupo tiene valor "1" lo que nos

dice que es una de las variables que determinan el grupo.

En la variable "c", se observa que en unas celdas tiene valor "1" pero en otras no, lo

19

mismo nos ocurre con la variable "d".

La única variable constante (valor fijo) del grupo de 8 celdas es la variable "b"

Grupo de cuatro celdas (fila inferior).

Las variables "a" y "b" varían de valor a lo largo del grupo.

La variable "c" tiene siempre valor "0" y la variable "d" tiene siempre valor "1".

Las variables "c" y "d" son constantes en el grupo, la variable "c" en su valor "0" y la variable "d" en su valor "1".

Grupo de dos celdas (parte superior).

"a" siempre tiene valor "0", "b" cambia de valor de "0" a "1".

Las variables "c" y "d" tienen en ambas celdas valor "0".

Representan al grupo las variables "a", "c" y "d", todas con valor constante "0".

La función simplificada será:

Se obtiene uniendo los valores de cada grupo con el signo suma (primera forma canónica - suma de productos)

20

Ejercicio: Simplificar usando la tabla

A 0 0 0 1

B 0 0 1 0

C 0 1 0 0

D 1 0 0 0

A B C D a b c d e f g

0 0 0 0 0 0 0 0 0 0 0

0 0 0 1 0 1 1 0 0 1 1

0 0 1 0 1 1 0 0 0 1 1

0 0 1 1 0 0 0 0 0 0 0

0 1 0 0 1 0 1 1 0 1 1

0 1 0 1 0 0 0 0 0 0 0

0 1 1 0 0 0 0 0 0 0 0

0 1 1 1 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0 0 0 0

1 0 0 1 1 0 0 1 1 1 1

1 0 1 0 0 0 0 0 0 0 0

1 0 1 1 0 0 0 0 0 0 0

1 1 0 0 0 0 0 0 0 0 0

1 1 0 1 0 0 0 0 0 0 0

1 1 1 0 0 0 0 0 0 0 0

1 1 1 1 0 0 0 0 0 0 0

21

DISPLAY DE SIETE SEGMENTOS

Este tipo de visualizador, que normalmente utiliza diodos emisores de luz ( LED) o elementos de cristal líquido ( LCD), se usa en una amplia variedad de ámbitos, desde relojes, calculadoras hasta instrumentación de automóviles, voltímetros, ...

Un dígito se muestra al iluminar un subconjunto de los siete segmentos mostrados en la siguiente figura:

Decodificador BCD/ Siete segmentos ( 7447/48)

Este circuito acepta un código BCD en sus entradas y proporciona salidas capaces

de controlar un display de siete segmentos para indicar un dígito decimal. Además de

las entradas y salidas mencionadas, dispone de otras adicionales como LT/, RBI/ y

BI-RBO/ que permiten realizar la comprobación del display y la supresión de ceros no

significativos.

22

Entrada de comprobación

Cuando la entrada LT/ está a nivel bajo y la entrada BI-RBO/ también está a nivel

bajo, se encienden todos los segmentos del display. Esta comprobación permitirá

verificar que ninguno de los segmentos esté fundido.

Funcionamiento normal

Cuando se desea funcionamiento normal la entrada LT/ debe estar abierta o a nivel

alto, al igual que las entradas RBI/ y BI-RBO/.

23

Unidad 4. Lógica secuencial

Flip-Flops

Introducción

Todos los circuitos digitales utilizan datos binarios para funcionar correctamente, los circuitos están diseñados para contar, sumar, separar, etc. los datos según nuestras necesidades, pero por el tipo de funcionamiento de las compuertas digitales, los datos presentes en las salidas de las mismas, cambian de acuerdo con sus entradas, y no hay manera debitarlo, si las entradas cambian, las salidas lo harán también, entonces ¿Cómo es posible hacer para mantener un dato o serie de datos en un lugar hasta que se requieran?

La respuesta son las memorias, básicamente son sistemas que pueden almacenar uno o más datos evitando que se pierdan, hasta que nosotros lo consideremos necesario, es decir, pueden variar su contenido a nuestra voluntad.

El corazón de una memoria son los Flip Flops, este circuito es una combinación de compuertas lógicas, A diferencia de las características de las compuertas solas, si se unen de cierta manera, estas pueden almacenar datos que podemos manipular con reglas preestablecidas por el circuito mismo.

Esta es la representación general par un Flip Flop (comúnmente llamado "FF")

Los FF pueden tener varias entradas, dependiendo del tipo de las funciones internas que realice, y tiene dos salidas:

Las salidas de los FF sólo pueden tener dos estados (binario) y siempre tienen

24

valores contrarios, como podemos ver en la siguiente tabla:

Las entradas de un FF obligan a las salidas a conmutar hacia uno u otro estado o hacer "flip flop" (Término anglosajón), más adelante explicaremos cómo interactúan las entradas con las salidas para lograr los efectos característicos de cada FF.

El FF también es conocido como:

"Registro Básico" término utilizado para la forma más sencilla de un FF. "Multivibrador Biestable" término pocas veces utilizado para describir a un FF.

Registro Básico construido con compuertas NAND

Este es el circuito más sencillo y básico de un FF, Puede ser construido a partir de dos compuertas NAND o dos compuertas NOR con dos entradas, a continuación se ilustra con compuertas NAND, y es denominado "Registro Básico NAND". La forma de conectarlas es la siguiente: Se deja libre una de las entradas de cada compuerta, las sobrantes son conectadas independientemente de manera cruzada hacia la salida de la compuerta contraria. Quedando la conexión de la siguiente manera:

25

La siguiente tabla muestra el estado inicial del Registro Básico NAND, cuando sus entradas se encuentran en ALTO (Estado de reposo del FF). Para comenzar la acción de "Flip Flop" será necesario enviar a BAJO alguna de las entradas, con su correspondiente cambio de estado a la salida.

La siguiente tabla muestra los diferentes cambios de las salidas, según cada selección de entradas (La "X" significa que no importa el estado en el que se encuentren en ese momento):

Siguiendo los datos de la tabla podemos resumir que:

Si SET y RESET están en ALTO, el FF mantiene sus salidas en el estado actual.

Si RESET recibe un pulso BAJO, las salidas son forzadas a Q = 0 y /Q = 1 Si SET recibe un pulso BAJO, las salidas son forzadas a Q = 1 y /Q = 0 Si las dos entradas reciben pulsos BAJOS, las salidas son forzadas a Q = 1 y

/Q = 1

Este último cambio normalmente se considera como no deseado, ya que el principio

26

básico es que las salidas siempre estén invertidas (Aunque en ciertos casos especiales, nosotros podríamos utilizar este efecto). Entonces, la tabla de verdad del Registro Básico NAND es la siguiente:

Registro Básico con compuertas NOR

La conexión del Registro Básico NOR es exactamente igual al del Registro NAND, pero los cambios en sus salidas son completamente diferentes, A continuación se ilustran las dos tablas de verdad para hacer el comparativo entre una y otra. Tabla de verdad del Registro Básico NOR

27

Tabla de verdad del Registro Básico NAND

Agregando pulsadores u otras compuertas en las entradas, los usos más comunes para el Registro Básico NAND o NOR son:

Eliminadores de ruido para pulsadores mecánicos. Sistemas de Encendido (ON)/Apagado (OFF) con dos pulsadores para

diversos circuitos digitales y/o análogos. Sensores de movimiento mecánico, (Fin o Inicio de carrera de una puerta por

ejemplo). Control Digital de otros circuitos. Y otras 373929273736 Aplicaciones dependiendo de tu IMAGINACIÓN.

Señales de Reloj (CLOCK) y FF controlados por Reloj

Hasta ahora se vió que un Registro Básico tiene dos variables de entrada y responde de manera predecible a ellas, pero ¿Qué se haría si se necesitára otra variable de control? ¿Cómo hacer que el registro actúe cuando sea conveniente para nosotros, y no al momento de cambiar sus entradas?

Todos los sistemas digitales tienen básicamente dos formas de operación:

Operación en modo ASÍNCRONO. En este modo, las salidas cambian de manera automática siguiendo las órdenes de las entradas.

Operación en modo SÍNCRONO.

En este modo, las salidas cambian siguiendo las órdenes de las entradas, pero sólo cuando una señal de control, llamada RELOJ (CLOCK, CLK, CP) es aplicada al registro.

Los circuitos digitales ASÍNCRONOS son muy complicados en lo que a diseño y

28

reparación se refiere, ya que, al encontrarnos con una falla en un circuito de 10 registros interconectados, el rastreo de los cambios en todas las compuertas nos provocaría un severo dolor de cabeza.

Los circuitos digitales SÍNCRONOS son más fáciles de diseñar y reparar, debido a que los cambios de las salidas son eventos "esperados" (ya que fácilmente podemos saber el estado de cada una de las entradas o salidas sin que estas cambien repentinamente), y los cambios dependen del control de una sola señal aplicada a todos los registros, la señal de RELOJ.

La señal de reloj es una onda cuadrada o rectangular, los registros que funcionan con esta señal, sólo pueden cambiar cuando la señal de reloj hace una transición, También llamados "flancos", por lo tanto, la señal de reloj sólo puede hacer 2 transiciones (o Flancos):

La Transición con pendiente positiva (TPP) o Flanco positivo (FP). Es cuando la señal de reloj cambia del estado BAJO al estado ALTO.

La Transición con pendiente negativa (TPN) o Flanco Negativo (FN). Es cuando la señal de reloj cambia del estado ALTO al estado BAJO.

Principales características de los FF sincronizados por Reloj.

Todos los FF cuentan con una entrada con el rótulo (RELOJ, CLOCK, CLK, CP) y un distintivo círculo para saber cómo debe ser la señal activa. Los que no tienen círculo, son sincronizados por una TPP, los que cuentan con un círculo son sincronizados por una TPN.

Todos los FF cuentan con entradas de control, que determinan el cambio que van a tener las salidas, al igual que en los Registros básicos, pero estas entradas no pueden modificar las salidas arbitrariamente, sólo podrán hacerlo cuando el FF reciba su transición activa.

Resumiendo, Las entradas de control del FF permiten saber cómo van a cambiar las salidas, pero sólo la señal de Reloj podrá hacer efectivo este cambio.

Constantes de tiempo de Establecimiento y de Retención

La siguiente figura indica cómo están compuestos los dos detectores de Transiciones.

Detector de Transiciones Positivas (TPP)

29

Circuito Detector de Transiciones Negativas

Las figuras muestran del lado izquierdo de la línea verde el pin de entrada de Reloj del FF, el lado derecho nos muestra el circuito interno del FF.

La diferencia entre CK y CK se debe al retraso en la propagación que cualquier compuerta tiene, desde que se aplica una señal en la entrada, hasta que esta se refleja en la salida. Esta diferencia en tiempo, permite obtener un pulso de salida solamente cuando ocurre la transición para la que están diseñados, y por lo tanto accionar el FF.

30

Registro Básico NAND tipo Síncrono

DejaNDO de lado la conexión interna de los FF, ya que todos se podrán encontrar en forma de circuitos integrados, así que se verá solamente su funcionamiento.

La siguiente figura muestra un Registro Básico Sincronizado por una señal de reloj. Es la forma más básica de un FF controlado por la señal de reloj. (La falta del círculo en la entrada de CLK significa que sólo será activa en los TPP) (Sólo se muestra la salida Normal (Q), ya que la salida negada siempre es inversa)

Flip Flop tipo "J-K"

Este FF es uno de los más usados en los circuitos digitales, y de hecho es parte fundamental de muchos circuitos avanzados como contadores y registros de corrimiento, que ya vienen integrados en un chip

Este FF cuenta con dos entradas de datos J y K, su función es en principio la misma que el Registro básico NAND o NOR, pero con la diferencia que la condición en las entradas J = 1, K = 1, a diferencia del Registro NAND, que generaría una salida errónea o no deseada, en un FF J-K, obliga a las salidas a conmutar su estado al opuesto (Toggle) a cada pulso del reloj. Esto lo convierte en un tipo de FF muy versátil.

Tabla de verdad de un FF tipo J-K síncrono.

31

Observando la tabla de verdad nótense los cambios que provoca en sus salidas este FF:

Si J y K = 0, no hay cambios en las salidas. Si J = 1, y K = 0, se forzan las salidas a Q = 1, /Q = 0 Si J = 0, y K = 1, se forzan las salidas a Q = 0, /Q = 1 Si J = 1, y K = 1, las salidas conmutan su estado hacia el siguiente a cada

pulso del reloj (Toggle)

Flip Flop tipo "D" (Datos, Data)

A diferencia de los FF tipo J-K, el FF tipo "D" (Datos, Data) sólo cuenta con una entrada para hacer el cambio de las salidas. A cada pulso del reloj (dependiendo si el FF utiliza una TPP o una TPN) el estado presente en la entrada "D" será transferido a la salida Q y /Q. Tabla de verdad de un FF tipo "D"

Una de las aplicaciones de mayor uso para este tipo de FF es la de la transferencia de datos de forma paralela, conectando varios FF tipo "D" a X número de bits, podemos hacer que la información de todos los bits pase inmediatamente a la salida de cada FF con sólo un pulso de reloj.

32

Entradas asíncronas en los FF.

Cada FF tiene entradas que pueden cambiar el estado de las salidas de manera sincronizada con el pulso de reloj, pero ¿Dónde quedaron nuestras entradas asíncronas? ¿Es posible seguir usando estas entradas en FF síncronos? La respuesta está en los FF síncronos de cualquier tipo que poseen entradas asíncronas, esto añade dos pines más de control a nuestros FF, los conocidos SET y RESET (Los cuáles pueden ser activos en el estado ALTO o BAJO). Entonces se tiene FF síncronos (Tipo "J - K", o tipo "D" con un par de entradas que no dependen en ningún momento del pulso de Reloj. Haciendo una combinación perfecta de entradas que controlan las salidas de manera automática (Asíncronas) o controladas por un pulso de reloj (Síncronas). La siguiente figura nos muestra los símbolos de los FF Tipo "J - K" y "D" con sus entradas asíncronas.

Tabla de verdad del FF Tipo "J - K" con entradas Asíncronas

(Las "X" significan que no importa el estado actual de esa entrada). (El FF tiene una entrada de Reloj que funciona con TPP) (Las entradas asíncronas con activas ALTAS)

33

El funcionamiento básico sigue siendo el mismo, pero las salidas serán forzadas a ALTO o BAJO, si se activan las entradas Asíncronas correspondientes (SET, RESET) sin importar el estado de las entradas "J - K" o CLK.

Tabla de verdad del FF Tipo "D" con entradas Asíncronas

(Las "X" significan que no importa el estado actual de esa entrada). (El FF tiene una entrada de Reloj que funciona con TPP) (Las entradas asíncronas con activas ALTAS)

El funcionamiento básico sigue siendo el mismo, pero las salidas serán forzadas a ALTO o BAJO, si se activan las entradas Asíncronas correspondientes (SET, RESET) sin importar el estado de la entrada "D" o CLK.

Diagrama de estados de un sistema secuencial

Se denomina así a los diagramas de tiempo que indican la salida deseada del sistema, respecto a la combinación de las entradas.

34

Ejemplo

35

Unidad 5. Registros y contadores

REGISTROS

Los registros son circuitos secuenciales conectados por una serie de biestables

conectados en cascada. Tienen diversas aplicaciones prácticas como:

Transmitir y recibir datos en serie y en paralelo.

Conversión de datos en formato serie y paralelo y viceversa.

Almacenamiento de información (memoria)

Tipos de registros:

Registros de desplazamiento ENTRADA SERIE - SALIDA SERIE. Es el registro

más sencillo, en el que recibimos la información en serie e y en la salida se obtendrá

también en serie, pero retardado tantos ciclos de reloj como número de biestables

compongan el registro. Funcionan de la siguiente forma, partiendo de que en el inicio

todos los biestables están reseteados Q=0, en el primer flanco de subida de la señal

de reloj (o bajada, dependiendo del biestable), el contenido de la entrada del primer

biestable pasa a la su salida que es a su vez la entrada del segundo biestable. Este

tipo de registro se suele usar como unidad de retardo.

Registros de desplazamiento ENTRADA SERIE - SALIDA PARALELO. En este

tipo de registros, la información se recibe en serie y la salida en paralelo, una vez

transcurridos tantos ciclos de reloj como biestables compongan el registro. Las

salidas Q están conectadas a las entradas del biestable y a su vez a la salida en

paralelo, el funcionamiento es igual que el anterior pero dependiendo del número de

biestables y al terminar el ciclo de reloj, con una salida de tantos bits en paralelo

como número de biestables.

36

Registros de desplazamiento ENTRADA PARALELO - SALIDA SERIE. En este

tipo de registro, la información se introduce en el registro en paralelo

simultáneamente en todos los biestables, por el contrario, la salida de los bits se

obtienen en serie, una vez transcurridos tantos ciclos de reloj como número de

biestables compongan el registro. Se realizan conjugando con un circuito

combinacional y otra entrada llamada Shift/Load con una entrada directa y otra

invertida, cuando se producen un flanco activo de reloj, se produce un paso de las

entradas al registro de datos a través del c. Combinacional, cuando está a nivel alto,

las puertas permiten el desplazamiento en serie hacia la derecha de los bits

almacenados., Produciéndose la salida de todos los datos una vez transcurridos los

ciclos de reloj, es útil a la hora de convertir datos paralelos a serie para poderlos

enviar por un cable.

Registros de desplazamiento ENTRADA PARALELO - SALIDA PARALELO. En

este tipo de registros la información si introducida simultáneamente en los biestables

paralelo y cuando se producen un flanco activo de la señal de reloj, los datos se

obtienen también a la salida en paralelo.

Registro UNIVERSAL. Es un circuito en el mercado que se denomina Registro

Universal XX194, ya que permite todos los tipos de registros de desplazamiento

estudiados. Para seleccionar el modo de funcionamiento, dispone de dos líneas de

control que van conectadas a un multiplexor, estas líneas de control seleccionan la

forma de conectar los biestables y así funcionar de una forma u otra.

CONTADORES

Los contadores son circuitos secuenciales cuya salida representa el número de

impulsos que se la aplica a la entrada de reloj. Está formado básicamente por

biestables interconectados. Pueden contar de forma ascendente si su contenido se

incrementa con cada impulso o si decrementa, aunque por lo general los contadores

pueden realizar esta función de ambas maneras según el estado de una entrada. Las

aplicaciones de los contadores son las siguientes:

37

Relojes y temporizadores

Divisores de frecuencia.

Frecuencímetros.

Según la forma de conectar la señal de reloj, los contadores pueden clasificarse en

asíncronos y síncronos.

Contadores Asíncronos:

En este tipo, la señal de reloj se conecta sólo al primer biestable, mientras que las

otras entradas se conectan a la salida del biestable anterior. El conectarse de esta

forma la señal de reloj provoca que todos los biestables no cambien de estado al

mismo tiempo, por ello reciben el nombre de asíncronos. Las salidas pueden atacar a

un display visualizador de siete segmentos, por ejemplo. Su funcionamiento es el

siguiente, se parte de que todos los flip-flops están reseteados, cuando se produce

un flanco activo de la señal de reloj, las salidas del primer biestable cambian Q=0 y

Q'=1, Q' conectada a la señal de reloj del segundo biestable, produce un flaco activo,

cambiando el segundo biestable el estado de sus salidas, este proceso se produce

de forma indefinida a lo largo de los biestables. Podemos realizar un contador

descendente si lo que conectamos a la señal de reloj es la salida Q y no Q'. El

asíncrono además de indicar el número de impulsos de señal recibidos puede dividir

la frecuencia de la señal de reloj. Como ejemplo la salida de la señal del primer flip-

flop tiene la mitad de frecuencia que la salida de señal de reloj original, la salida del

segundo flip-flop, una frecuencia 4 veces menor, así sucesivamente obteniendo

divisiones en cada salida múltiplos de 2. El inconveniente de este divisor de

frecuencias viene dado por el tiempo de propagación de la señal, que hace que si se

cambia el estado del primer biestable deben cambiar de estado éste y el siguiente,

provocando que la señal de reloj tenga un retardo al bascular. Si se conectan más, el

tiempo de espera que corresponde con el tiempo de propagación, aumenta, lo que

limita la frecuencia de funcionamiento del contador. Esta frecuencia máxima viene

determinada por la siguiente fórmula F< 1/n.tp (tp= tiempo de propagación y n=

38

número de biestables).

Ampliación de contadores asíncronos:

El método para conseguir contadores asíncronos de más bits consiste en conectar

en cascada tantos biestables como número de bits que queramos que tenga el

contador., llevando la señal de reloj externa al primero de3 ellos y la salida de cada

biestable a la entrada del reloj siguiente. El número máximo de estados por los que

pasa un contador se denomina módulo del contador. Este número viene determinado

por la expresión 2n donde n indica el número de bis del contador. Ejemplo, un

contador de módulo 4 pasa por 4 estados, y contaría del 0 al 3. Si necesitamos un

contador con un módulo distinto de 2n, lo que se hace es añadir un circuito

combinacional (puerta NAND) cuyas entradas sean las salidas a 1 del contador, y

añadir la salida del circuito a todas las entradas CLEAR de los biestables.

Contadores síncronos:

En este tipo de biestables, la señal de reloj externa se conecta a todos los biestables.

Con ello se consigue que todos los biestables evolucionen a la vez, y por lo tanto no

se produzcan tiempos de retardo ni transitorios. Para conseguirlo hay que añadir una

lógica combinacional para implementarla en el contador, mientras que los biestables

hacen de memoria para saber en qué estado se encuentra, la lógica combinacional

se encargará de calcular cual será el siguiente estado al que debe pasar el contador.

Diseño de un contador síncrono:

Debe pasar por varias fases de diseño:

Dibujar el diagrama de estados. Se representa en él la forma simbólica del

funcionamiento del sistema, representando los estados y las transiciones

precisas.

Realizar la tabla simbólica de transiciones. Es otra forma de representar el

anterior diagrama de estados, y está compuesta por dos columnas, la de

39

estado actual (estado en el que se encuentra el sistema) y estado futuro (el

estado que se pretende que evolucione el sistema).

Realizar la tabla de codificación de estados. Se trata de codificarlo en binario,

el número de biestables del sistema depende del número de estados del

mismo. Por ejemplo, si queremos un contador de 8 estados (módulo 8)

siguiendo la relación N=2n; n=log2(N), serían necesarios 3 biestables para

codificar los estados del contador. 7(10)=111(2) son tres bits, por lo tanto 3

biestables. Pasar a binario tanto el estado actual como el estado futuro y cada

bit de salida es una salida de un biestable.

Crear una tabla de transiciones codificada. Tiene dos columnas al igual que la

tabla simbólica de transiciones, pero ya codificada en binario. El estado actual

representa el valor de la salida de los biestables (salida Q) y el estado futuro

representa el valor de la salida que deben tomar Q en el siguiente flanco

activo, denominándose Q+.

Realización de las tablas de excitación. Para conseguir que un biestable pase

de un estado actual a un estado futuro, es preciso aplicarle la excitación

conveniente a sus entradas. Para ello se aplican tablas de excitación, que son

las tablas de verdad de los biestables pero vistas a la inversa, es decir, la

entrada en función de la salida. Como ejemplo la tabla de excitación de los

biestables J-K y D.

FLIP-FLOP J-K FLIP-FLOP D

Q Q+ J K Q Q+ D

0 0 0 X 0 0 0

0 1 1 X 0 1 1

1 0 X 1 1 0 0

1 1 X 0 1 1 1

Obtención del circuito combinacional necesario, simplificación e implementación. Una vez obtenida la tabla de excitación del contador síncrono, el problema se reduce al obtener las funciones de las excitaciones, utilizando para ello Karnaugh. Una vez obtenidas las funciones, se puede implementar el circuito, conectado las salidas Q a las entradas de los

40

siguientes biestables a través del combinacional.

Ejemplo Diagrama de Circuito de un contador

41

Unidad 6. Memoria y lógica programable

INTRODUCCIÓN

Las computadoras y otros tipos de sistemas requieren el almacenamiento

permanente o semipermanente de un gran número de datos binarios. Los sistemas

basados en microprocesadores necesitan de la memoria para almacenar los

programas y datos generados durante el procesamiento y disponer de ellos cuando

sea necesario.

Las técnicas modernas de circuitos integrados permiten combinar miles e incluso

millones de puertas dentro de un solo encapsulado. Esto ha llevado a la fabricación

de diseños más complejos como los dispositivos lógicos programables, memorias y

microprocesadores, que proporcionan dentro de un solo chip circuitos que requieren

gran cantidad de componentes discretos.

Las memorias son dispositivos de almacenamiento de datos binarios de largo o corto

plazo .La memoria es un componente fundamental de las computadoras digitales y

está presente en gran parte de los sistemas digitales. La memoria de acceso

aleatorio (RAM, random access memory) almacena datos temporalmente, la

memoria de sólo lectura (ROM, Read only memory) los guarda de manera

permanente. La ROM forma parte del grupo de componentes llamados dispositivos

lógicos programables (PLD, programmable logic devices), que emplean la

información almacenada para definir circuitos lógicos.

Dispositivos que son capaces de proveer el medio físico para almacenar esta

información. Y aunque esta es su tarea fundamental (más del 90 % de las memorias

se dedican a este fin) también se pueden utilizar para la implementación de circuitos

combinacionales y pueden sustituir la mayor parte de la lógica de un sistema.

42

Los chips LSI pueden programarse para realizar funciones específicas. Un

dispositivo lógico programable (PLD) es un chip LSI que contiene una estructura de

circuito "regular", pero que permite al diseñador adecuarlo para una aplicación

específica. Cuando un PLD típico deja la fábrica de IC, aún no está listo para una

función específica, sino que debe ser programado por el usuario para que realice la

función requerida en una aplicación particular. Los chips con la mayor funcionalidad

por unidad de área han sido los chips de memoria, que contienen arreglos

rectangulares de celdas de memoria. Uno de los PLD es el chip "de memoria de sólo

lectura".

En una primera clasificación, se puede distinguir entre memorias de almacenamiento

masivo, caracterizadas por ser memorias baratas y lentas, y memorias

semiconductoras o memorias de estado sólido, más caras y rápidas. En las primeras,

la prioridad es disponer de una gran capacidad de almacenamiento, como ocurre en

los discos duros, en tanto que en las segundas, la prioridad es disponer de

velocidades de acceso rápidas compatibles con la mayor capacidad de

almacenamiento posible Que son las habitualmente utilizadas como memorias de

almacenamiento de programa y de datos en la mayoría de las aplicaciones. Que

ofrece cada tipo de memoria así como las tecnologías de fabricación, que han

permitido un espectacular avance en las velocidades y escalas de integración en los

últimos años.

Se considera a una memoria como un conjunto de M registros de N bits cada uno de

ellos. Estos registros ocupan las posiciones desde el valor 0 hasta M-1. Para acceder

a cada registro es necesaria una lógica de selección. En general, para cada registro

se pueden realizar procesos de lectura y de escritura. Para realizar todas estas

operaciones son necesarios Terminales de datos (de entradalos siguientes

terminales y de salida). En este caso son necesarios N terminales:

Terminales de direcciones, son necesarios2m, de tal forma de 2m=M

Terminales decontrol. Son los que permiten especificar si se desea realizar una

43

operación de escritura o de lectura, seleccionar el dispositivo.

CS (Chip select): Es el terminal de selección de chip (habitualmente es activo con

nivel bajo.

Las primeras son las relacionadas con nuestros conocidos discos de ordenador, y las

últimas están abriendo en la actualidad un atractivo abanico de posibilidades: desde

los discos magneto-ópticos hasta las memorias holográficas.

R/W (Read/Write): Selecciona el modo de operación (lectura o escritura) sobre la

memoria, habitualmente con valor bajo es activo el modo de escritura.

OE (Output Enable). Controla el estado de alta impedancia de los terminales de

salida del dispositivo.

MEMORIAS PROGRAMABLES

MEMORIA ROM (READ ONLY MEMORY)

Es una memoria de sólo lectura que se programan mediante máscaras. Es decir, el

contenido de las celdas de memoria se almacena durante el proceso de fabricación

para mantenerse después de forma irrevocable. Desde el instante en que el

fabricante grabo las instrucciones en el Chip, por lo tanto la escritura de este tipo de

memorias ocurre una sola vez y queda grabado su contenido aunque se le retire la

energía.

Se usa para almacenar información vital para el funcionamiento del sistema: en la

gestión del proceso de arranque, el chequeo inicial del sistema, carga del sistema

operativo y diversas rutinas de control de dispositivos de entrada/salida suelen ser

las tareas encargadas a los programas grabados en ROM. Estos programas forman

la llamada BIOS (Basic Input Output System). Junto a la BIOS se encuentra el chip

de CMOS donde se almacenan los valores que determinan la configuración hardware

del sistema, como tipos de unidades, parámetros de los discos duros, fecha y hora

44

del sistema... esta información no se pierde al apagar la computadora. Estos valores

se pueden modificar por medio del SETUP.

La memoria ROM constituye lo que se ha venido llamando Firmware, es decir, el

software metido físicamente en hardware. De cara a los fines del usuario es una

memoria que no sirve para la operación de su programa, sólo le aporta mayores

funcionalidades (información) del equipo.

Con la idea de cómo se fabrican los circuitos integrados, se sabe de dónde viene el

nombre. Estos se fabrican en obleas (placas de silicio) que contienen varias decenas

de chips. Estas obleas se fabrican a partir de procesos fotoquímicos, donde se

impregnan capas de silicio y oxido de silicio, y según convenga, se erosionan al

exponerlos a la luz. Como no todos los puntos han de ser erosionados, se sitúa entre

la luz y la oblea una máscara con agujeros, de manera que donde deba incidir la luz,

esta pasará. Con varios procesos similares pero más complicados se consigue

fabricar los transistores y diodos micrométricos que componen un chip. El elevado

coste del diseño de la máscara sólo hace aconsejable el empleo de los

microcontroladores con este tipo de memoria cuando se precisan cantidades

superiores a varios miles de unidades.

Los PCs vienen con una cantidad de ROM, donde se encuentras los programas de

BIOS (Basic Input Output System), que contienen los programas y los datos

necesarios para activar y hacer funcionar el computador y sus periféricos.

La ventaja de tener los programas fundamentales del computador almacenados en la

ROM es que están allí implementados en el interior del computador y no hay

necesidad de cargarlos en la memoria desde el disco de la misma forma en que se

carga el DOS. Debido a que están siempre residentes, los programas en ROM son

muy a menudo los cimientos sobre los que se construye el resto de los programas

(incluyendo el DOS).

Estas memorias, cuyo nombre procede de las iniciales de Read Only Memory son

solo de lectura. Dentro de un proceso de elaboración de datos de una computadora,

45

no es posible grabar ningún dato en las memorias ROM. Son memorias perfectas

para guardar microprogramas, sistemas operativos, tablas de conversión, generación

de caracteres etc.

Las características fundamentales de las memorias ROM son:

1. Alta densidad: la estructura de la celda básica es muy sencilla y permite altas

integraciones.

2. No volátiles: el contenido de la memoria permanece si se quita la alimentación.

3. Coste: dado que la programación se realiza a nivel de máscaras durante el

proceso de fabricación, resultan baratas en grandes tiradas, de modo que el coste de

fabricación se reparte en muchas unidades y el coste unitario es baja.

4. Sólo lectura: únicamente son programables a nivel de máscara durante su

fabricación.

Su contenido, una vez fabricada, no se puede modificar.

Hay muchos tipos de ROM:

Una ROM puede estar fabricada tanto en tecnología bipolar como MOS.

La figura muestra celdas ROM bipolar. La presencia de una unión desde una línea de

fila a la base de un transistor representa un „1‟ en esa posición. En las uniones

fila/columna en las que no existe conexión de base, las líneas de la columna

46

permanecerán a nivel bajo („0‟) cuando se direccione la fila.

La figura 5.15 muestra celdas ROM con transistores MOS. Básicamente son iguales

que las anteriores, excepto que están fabricadas con MOSFETs.

Para ver el gráfico seleccione la opción "Descargar" del menú superior

MEMORIA PROM (PROGRAMMABLE READ ONLY MEMORIES)

Una alternativa para proyectos pequeños es el uso de una de las memorias de sólo

lectura programables o PROM (programmable read only memories), memoria basada

en semiconductores que contiene instrucciones o datos. Éstas existen en muchas

variantes, pero todas permiten que el usuario programe el dispositivo por si mismo,

ahorrándose el alto costo de la producción de la máscara. En la PROM (programable

ROM), o memoria programable de sólo lectura los contenidos pueden ser leídos pero

no modificados por un programa de usuario. Sus contenidos no se construyen, como

la ROM, directamente en el procesador cuando éste se fabrica, sino que se crean por

medio de un tipo especial "programación", ya sea por el fabricante, o por

especialistas técnicos de programación del usuario. El proceso de programación es

destructivo: una vez grabada, es como si fuese una ROM normal.

Las operaciones muy importantes o largas que se habían estado ejecutando

mediante programas, se pueden convertir en microprogramas y grabarse

permanentemente en una pastilla de memoria programable sólo de lectura. Una vez

que están en forma de circuitos electrónicos, estas tareas se pueden realizar casi

siempre en una fracción del tiempo que requerían antes. La flexibilidad adicional que

47

se obtiene con la PROM puede convertirse en una desventaja si en la unidad PROM

se programa un error que no se puede corregir. Para superar esta desventaja, se

desarrolló la EPROM, o memoria de solo lectura reprográmale.

Las prestaciones de las memorias PROM son similares a las anteriores, con la única

salvedad del proceso de programación. La escritura de la memoria PROM tiene lugar

fundiendo los fusibles necesarios por lo que la memoria PROM solo puede ser

programada una vez. Ahora la hace el usuario usando un equipo programador y,

además, se rompe con la dependencia de la fábrica y los enormes costes de las

máscaras.

MÉTODO DE PROGRAMACIÓN DE LA MEMORIA PROM

Para conseguir que la información que se desea grabar sea inalterable, se utilizan

dos técnicas: por destrucción de fusible o por destrucción de unión.

La idea es básicamente la misma que las ideas ROM convencionales, pero en este

caso todas las celdas tienen diodos, por lo cual la memoria viene programada de

fábrica con todos 1. Cada diodo tiene conectado un fusible, cuya funcionalidad es

similar a la de las fuentes de alimentación o estabilizadores de tensión: cuando se

produce una sobretensión, el fusible se quema y, por lo tanto, el circuito se abre. De

esta manera, el diodo pierde contacto con el mundo exterior y el lector de memoria

nunca sabe de su existencia, así que a esa celda la interpreta como un cero. Por lo

tanto para programar un chip de memoria PROM; con un dispositivo llamado

programador, se les aplica a las celdas correspondientes una tensión superior a la

que son capaces de soportar los fusibles, y así quedan definidos todos los bits de la

memoria en cuestión. Este tipo de memorias tiene una falencia: no pueden ser

reprogramadas.

Para ver los gráficos seleccione la opción "Descargar" del menú superior

La pastilla es insertada en un dispositivo que genera en las salidas de la ROM

(usadas como entradas) los valores lógicos de cada palabra. Para cada posición, se

48

genera un pulso de hasta 30V por la entrada Vpp=Vcc, que produce una circulación

de corrientes que funden delgadas conexiones fusibles en serie con diodos o

transistores que se quiere desconectar. Así se obtienen los ceros que deben resultar

en las salidas, dado que el chip "virgen" viene con todos los diodos conectados. Este

proceso dura pocos minutos.

El proceso de programación de una PROM generalmente se realiza con un equipo

especial llamado quemador. Este equipo emplea un mecanismo de interruptores

electrónicos controlados por software que permiten cargar las direcciones, los datos

y genera los pulsos para fundir los fusibles del arreglo interno de la memoria. En la

figura se indica de forma esquemática la función del programador.

ARQUITECTURA DE LA PROM

Estructura básica de un PLD

Un dispositivo programable por el usuario es aquel que contiene una arquitectura

general pre-definida en la que el usuario puede programar el diseño final del

dispositivo empleando un conjunto de herramientas de desarrollo. Las arquitecturas

generales pueden variar pero normalmente consisten en una o más matrices de

puertas AND y OR para implementar funciones lógicas. Muchos dispositivos también

contienen combinaciones de flip-flops y latches que pueden usarse como elementos

de almacenaje para entrada y salida de un dispositivo. Los dispositivos más

complejos contienen macrocélulas. Las macrocélulas permiten al usuario configurar

el tipo de entradas y salidas necesarias en el diseño

Las PROM son memorias programables de sólo lectura. Aunque el nombre no

implica la lógica programable, las PROM, son de hecho lógicas. La arquitectura de la

mayoría de las PROM consiste generalmente en un número fijo de términos AND

que alimenta una matriz programable OR. Se usan principalmente para decodificar

las combinaciones de entrada en funciones de salida.

49

Las Aplicaciones más importantes:

1. Microprogramación

2. Librería de subrutinas

3. Programas de sistema

4. Tablas de función

MEMORIA EPROM

Las EPROM, o Memorias sólo de Lectura Reprogramables, se programan mediante

impulsos eléctricos y su contenido se borra exponiéndolas a la luz ultravioleta (de ahí

la ventanita que suelen incorporar este tipo de circuitos), de manera tal que estos

rayos atraen los elementos fotosensibles, modificando su estado.

PROGRAMACIÓN DE UNA MEMORIA EPROM

Las EPROM se programan insertando el chip en un programador de EPROM. y

aplicando en un pin especial de la memoria una tensión entre 10 y 25 Voltios durante

aproximadamente 50 ms, según el dispositivo, al mismo tiempo se direcciona la

posición de memoria y se pone la información a las entradas de datos. Este proceso

puede tardar varios minutos dependiendo de la capacidad de memoria.

La memoria EPROM, se compone de un arreglo de transistores MOSFET de Canal N

de compuerta aislada. En la figura se observa el transistor funcionando como celda

de memoria en una EPROM.

Para ver el gráfico seleccione la opción "Descargar" del menú superior

Celda de memoria de una EPROM

Cada transistor tiene una compuerta flotante de SiO2 (sin conexión eléctrica) que en

estado normal se encuentra apagado y almacena un 1 lógico. Durante la

programación, al aplicar una tensión (10 a 25V) la región de la compuerta queda

cargada eléctricamente, haciendo que el transistor se encienda, almacenando de

50

esta forma un 0 lógico. Este dato queda almacenado de forma permanente, sin

necesidad de mantener la tensión en la compuerta ya que la carga eléctrica en la

compuerta puede permanecer por un período aproximado de 10 años.

Las EPROMs también emplean transistores de puerta dual o FAMOS (Floating Gate

Avalanche-Injection Metal-Oxide Semiconductor) de cargas almacenadas.

Estos transistores son similares a los transistores de efecto de campo (FETs) canal-

P, pero tienen dos compuertas. La compuerta interior o flotante está completamente

rodeada por una capa aislante de dióxido de silicio; la compuerta superior o

compuerta de control es la efectivamente conectada a la circuitería externa.

Inicialmente, la puerta flotante esta descargada, y el transistor se comporta como un

transistor MOS normal. No obstante, mediante un equipo programador, se puede

acumular carga en la puerta flotante aplicando una sobre tensión a la puerta y al

drenador del transistor. Esta acumulación de electrones en la segunda puerta tiene el

efecto de aumentar el umbral del transistor a un valor tal que no conduce aunque se

direccione la celda. Así pues la cantidad de carga eléctrica almacenada sobre la

compuerta flotante determina que el bit de la celda contenga un 1 o un 0; las celdas

cargadas son leídas como un 0, mientras que las que no lo están son leídas como un

1. Tal como las EPROMs salen de la fábrica, todas las celdas se encuentran

descargadas, por lo cual el bit asociado es un 1; de ahí que una EPROM virgen

presente el valor hexadecimal FF en todas sus direcciones.

Cuando un dado bit de una celda debe ser cambiado o programado de un 1 a un 0,

se hace pasar una corriente a través del canal de transistor desde la fuente hacia la

compuerta (obviamente, los electrones siguen el camino inverso). Al mismo tiempo

se aplica una relativamente alta tensión sobre la compuerta superior o de control del

transistor, creándose de esta manera un campo eléctrico fuerte dentro de las capas

del material semiconductor.

Ante la presencia de este campo eléctrico fuerte, algunos de los electrones que

pasan el canal fuente-compuerta ganan suficiente energía como para formar un túnel

51

y atravesar la capa aislante que normalmente aísla la compuerta flotante. En la

medida que estos electrones se acumulan en la compuerta flotante, dicha compuerta

toma carga negativa, lo que finalmente produce que la celda tenga un 0.

Funcionamiento de una EPROM

Recordemos que son memorias de acceso aleatorio, generalmente leídas y

eventualmente borradas y reescritas.

Una vez grabada una EPROM con la información pertinente, por medio de un

dispositivo especial que se explicará luego, la misma es instalada en el sistema

correspondiente donde efectivamente será utilizada como dispositivo de lectura

solamente. Eventualmente, ante la necesidad de realizar alguna modificación en la

información contenida o bien para ser utilizada en otra aplicación, la EPROM es

retirada del sistema, borrada mediante la exposición a luz ultravioleta con una

longitud de onda de 2537 Angstroms (unidad de longitud por la cual 1 A = 10 -10 m),

programada con los nuevos datos, y vuelta a instalar para volver a comportarse

como una memoria de lectura solamente. Por esa exposición para su borrado es que

es encapsulada con una ventana transparente de cuarzo sobre la pastilla o "die" de

la EPROM.

Es atinente aclarar que una EPROM no puede ser borrada parcial o selectivamente;

de ahí que por más pequeña que fuese la eventual modificación a realizar en su

contenido, inevitablemente se deberá borrar y reprogramar en su totalidad.

Los tiempos medios de borrado de una EPROM, por exposición a la luz ultravioleta,

oscilan entre 10 y 30 minutos.

Con el advenimiento de las nuevas tecnologías para la fabricación de circuitos

integrados, se pueden emplear métodos eléctricos de borrado. Estas ROM pueden

ser borradas sin necesidad de extraerlas de la tarjeta del circuito. Además de

EAPROM suelen ser denominadas RMM (Read Mostly Memories), memorias de

casi-siempre lectura, ya que no suelen modificarse casi nunca, pues los tiempos de

52

escritura son significativamente mayores que los de lectura.

Las memorias de sólo lectura presentan un esquema de direccionamiento similar al

de las memorias RAM. El microprocesador no puede cambiar el contenido de la

memoria ROM.

Entre las aplicaciones generales que involucran a las EPROM debemos destacar las

de manejo de sistemas microcontrolados. Todo sistema microcontrolado y/o

microprocesado (se trate de una computadora personal o de una máquina

expendedora de boletos para el autotransporte...) nos encontraremos con cierta

cantidad de memoria programable por el usuario (la RAM), usualmente en la forma

de dispositivos semiconductores contenidos en un circuito integrado (no olvidemos

que un relay biestable o un flip-flop también son medios de almacenamiento de

información).

Estos dispositivos semiconductores integrados están generalmente construidos en

tecnología MOS (Metal-Oxide Semiconductor, Semiconductor de Oxido Metálico) o -

más recientemente- CMOS (Complementary Metal-Oxide Semiconducto o

Semiconductor de Oxido Metálico Complementario). Lamentablemente, estos

dispositivos RAM adolecen de un ligero inconveniente, que es, como ya se ha

comentado, su volatibilidad.

Dado que cualquier sistema microprocesado requiere de al menos un mínimo de

memoria no volátil donde almacenar ya sea un sistema operativo, un programa de

aplicación, un lenguaje intérprete, o una simple rutina de "upload", es necesario

utilizar un dispositivo que preserve su información de manera al menos semi-

permanente. Y aquí es donde comienzan a brillar las EPROMs.

53

Tal como mencionáramos anteriormente, el proceso de borrado de los datos

contenidos en una EPROM es llevado a cabo exponiendo la misma a luz ultravioleta.

El punto reside en que la misma contiene fotones (Cuantos de energía

electromagnética) de energía relativamente alta.

La familia 2700

Los dispositivos EPROM de la familia 2700 contienen celdas de almacenamiento de

bits configuradas como bytes direccionables individualmente. Habitualmente esta

organización interna suele denominarse como 2K x 8 para el caso de una 2716, 8k x

8 para una 2764, etc.

Por razones de compatibilidad (tanto con dispositivos anteriores como con

dispositivos futuros), la gran mayoría de las EPROMs se ajustan a distribuciones de

terminales o "pin-outs" estándar. Para el caso mas usual, que es el encapsulado DIP

(Dual In-Line Package) de 28 pines, el estándar utilizado es el JEDEC-28.

En cuanto a la programación de estos dispositivos (si bien conceptualmente obedece

siempre a la metodología descripta anteriormente) en realidad existe una

relativamente alta variedad de implementaciones prácticas.

Si bien en la actualidad parece haberse uniformado razonablemente, las tensiones

de programación varían en función tanto del dispositivo, como del fabricante; así nos

encontramos con tensiones de programación (Vpp) de 12,5V, 13V, 21V y 25V.

54

Lo mismo sucede con otros parámetros importantes que intervienen en el proceso de

grabación de un EPROM, como es el caso de la duración de dicho pulso de

programación y los niveles lógicos que determinan distintos modos de operación.

PROGRAMADOR/ EMULADOR DE FLASH EPROM

La manera más cómoda, aunque también la más costosa de desarrollar circuitos

microcontroladores consiste en simular la parte principal del controlador con la ayuda

de un emulador. Una de opciones más baratas consiste en emplear un programa

monitor junto con un emulador de memorias EPROM. Desafortunadamente, la

mayoría de los programas monitores consumen algunos de los recursos del

controlador. Esta seria desventaja se resuelve utilizando el emulador de memorias

EPROM, que se comporta básicamente igual que una memoria RAM de un doble

puerto: a un lado se encuentra la interfase, como una memoria EPROM, mientras

que al otro lado proporciona las señales necesarias para introducir el flujo de datos a

la memoria RAM.

Cuando compañías como AMD desarrollaron las memorias EPROM "Flash" con una

tensión de programación de 5V y un ciclo de vida que permitía programar la memoria

hasta 100.000 veces, se abrieron las puertas a un nuevo modelo de emulador de

memorias EPROM. El diseño que se presenta no solo actúa como un emulador con

una enorme capacidad de almacenamiento, sino que también funciona como un

programador de memorias EPROM "Flash", ahorrándose comprar un sistema

exclusivamente dedicado a programar.

Cuando se termine de trabajar con el emulador durante la fase del diseño, se

dispondrá en la memoria EPROM "Flash" del código definitivo, que se sacará del

emulador y se introducirá en el circuito que se vaya a utilizar en la aplicación. Como

los precios de las memorias EPROM "Flash" no son mucho mayores que los de las

memorias EPROM convencionales, la ventaja adicional que se ha descrito es sin

costo.

55

MEMORIA EEPROM (ELECTRICAL ERASABLE PROGRAMMABLE READ ONLY

MEMORY)

Para ver el gráfico seleccione la opción "Descargar" del menú superior

La memoria EEPROM es programable y borrable eléctricamente y su nombre

proviene de la sigla en inglés Electrical Erasable Programmable Read Only Memory.

Actualmente estas memorias se construyen con transistores de tecnología MOS

(Metal Oxide Silice) y MNOS (Metal Nitride-Oxide Silicon).

Las celdas de memoria en las EEPROM son similares a las celdas EPROM y la

diferencia básica se encuentra en la capa aislante alrededor de cada compuesta

flotante, la cual es más delgada y no es fotosensible.

Las memorias EEPROM (Electrically Erasable Programmable Read-Only Memory)

son memorias no volátiles y eléctricamente borrables a nivel de bytes. La posibilidad

de programar y borrar las memorias a nivel de bytes supone una gran flexibilidad,

pero también una celda de memoria más compleja. Además del transistor de puerta

flotante anterior, es preciso un segundo transistor de selección. El tener 2

transistores por celda hace que las memorias EEPROM sean de baja densidad y

mayor coste. La programación requiere de tiempos que oscilan entre 157 s y

625 s=byte. Frente a las memorias EPROM, presenta la ventaja de permitir su

borrado y programación en placa, aunque tienen mayor coste debido a sus dos

transistores por celda.

Estas memorias se presentan, en cuanto a la organización y asignación de patillas,

como la UVPROM cuando están organizadas en palabras de 8 bits. Se programan

de forma casi idéntica pero tienen la posibilidad de ser borradas eléctricamente. Esta

característica permite que puedan ser programadas y borradas "en el circuito".

Debido a que la célda elemental de este tipo de memorias es más complicada que

56

sus equivalentes en EPROM o PROM (y por ello bastante más cara), este tipo de

memoria no dispone en el mercado de una variedad tan amplia, y es habitual tener

que acudir a fabricantes especializados en las mismas (ejemplo: Xicor).

En cuanto a la forma de referenciar los circuitos, estas memorias suelen comenzar

con el prefijo 28, de forma que la 2864 indica una memoria EEPROM de 64Kbytes,

equivalente en cuanto a patillaje y modo de operación de lectura a la UVPROM 2764.

Una ventaja adicional de este tipo de memorias radica en que no necesitan de una

alta tensión de grabado, sirven los 5 voltios de la tensión de alimentación habitual.

CE = CHIP ENABLE: Permite Activar el Circuito Integrado

OE = OUTPUT ENABLE: Permite Activar La Salida Del Bus De Datos

LECTURA 0 0 1

ESCRITURA 0 1 0

Ventajas de la EEPROM:

La programación y el borrado pueden realizarse sin la necesidad de una fuente de

luz UV y unidad programadora de PROM, además de poder hacerse en el mismo

circuito gracias a que el mecanismo de transporte de cargas mencionado en el

párrafo anterior requiere corrientes muy bajas.

Las palabras almacenadas en memoria se pueden borrar de forma individual.

Para borra la información no se requiere luz ultravioleta.

57

Las memorias EEPROM no requieren programador.

De manera individual puedes borrar y reprogramar eléctricamente grupos de

caracteres o palabras en el arreglo de la memoria.

El tiempo de borrado total se reduce a 10ms en circuito donde su antepasado

inmediato requería media hora bajo luz ultravioleta externa.

El tiempo de programación depende de un pulso por cada palabra de datos de 10

ms, versus los 50 ms empleados por una ROM programable y borrable.

Se pueden reescribir aproximadamente unas 1000 veces sin que se observen

problemas para almacenar la información.

Para reescribir no se necesita hacer un borrado previo.

Aplicaciones de las Memorias EEPROM

Este tipo de memorias en aquellas aplicaciones en las que el usuario necesita

almacenar de forma permanente algún tipo de información; por ejemplo en los

receptores de TV o magnetoscopios para memorizar los ajustes o los canales de

recepción.

EJEMPLO DE MEMORIA EEPROM - 28C64A

Esta memoria tiene una capacidad de 8K X 8 (64 KB).

MEMORIA FLASH

La memoria FLASH es similar a la EEPROM, es decir que se puede programar y

borrar eléctricamente, son de alta densidad (gran capacidad de almacenamiento de

bits). Alta densidad significa que se puede empaquetar en una pequeña superficie

del chip, gran cantidad de celdas, lo que implica que cuanto mayor sea la densidad,

más bits se pueden almacenar en un chip de tamaño determinado. Sin embargo esta

58

reúne algunas de las propiedades de las memorias anteriormente vistas, y se

caracteriza por tener alta capacidad para almacenar información y es de fabricación

sencilla, lo que permite fabricar modelos de capacidad equivalente a las EPROM a

menor costo que las EEPROM.

ESTRUCTURA DE LA MEMORIA FLASH

Para ver el gráfico seleccione la opción "Descargar" del menú superior

Aparte de que las memorias EPROM "Flash" tienen una entrada de escritura,

mientras están funcionando se comportan como las EPROM normales. La única

diferencia se encuentra en cómo se cargan y se borran los datos en la memoria.

Mientras que durante el proceso de programación de las memorias EPROM

convencionales se necesita una tensión bien definida durante cierto intervalo de

tiempo, y para borrar el componente hay que exponerlo a luz ultravioleta, en las

E.Flash ambos procesos están controlados y se llevan a cabo internamente. Para tal

efecto la memoria recibe una secuencia de comandos predefinida (borrar, programar)

que incluye algunas precauciones especiales (determinadas por el fabricante)

destinadas a evitar que se borre cualquier dato por error.

El comando se transfiere a la memoria EPROM "Flash" mediante una serie de

operaciones de escritura. Los dos primeros comandos "Lectura/Reset" preparan la

memoria para operaciones de lectura. El comando "Autoselección" permite leer el

código del fabricante y el tipo de dispositivo. El comando "Byte" carga el programa

dentro de la memoria EPROM, mientras que "Borrar Chip" actúa durante el proceso

de borrado, que no dura más de un minuto. Desde el punto de vista lógico podemos

afirmar que la memoria EPROM "Flash" está dividida en sectores que se pueden

borrar individualmente con la ayuda del comando "Borrar Sector".

Las memorias EPROM "Flash" disponen de otro mecanismo, basado en la división

en sectores, que las protege de acciones de escritura o lectura no deseadas. Cuando

un sector está protegido de esta forma no se puede realizar una operación de lectura

o sobre escritura con una tensión de 5V. Este hecho es muy importante y se debe

59

tener siempre presente cuando se utilicen estos dispositivos. Solamente se puede

eliminar esta protección con la ayuda de un programador especial.

Durante el proceso de programación o borrado se puede leer, mediante un comando

de acceso en "lectura", el estado de la memoria EPROM "Flash" en la misma

posición que el byte de programado o borrado. Mientras se borra un sector se puede

leer cualquier dirección que pertenezca al sector.

APLICACIONES DE LA MEMORIA FLASH

La Memoria Flash es ideal para docenas de aplicaciones portátiles. Tomemos como

ejemplo las cámaras digitales. Insertando una tarjeta de Memoria Flash de alta

capacidad directamente en la cámara, usted puede almacenar cientos de imágenes

de alta resolución. Cuando esté listo para bajarlas, simplemente retire la tarjeta y

transfiérala a su computadora de escritorio o portátil para su procesamiento. Las

tarjetas de Memoria Flash se ajustan a entradas Tipo II (con o sin adaptador,

dependiendo del tipo de tarjeta Flash). Ahora está usted listo para cargar en

segundos todas las imágenes capturadas para observarlas, manipularlas, enviarlas

por correo electrónico o imprimirlas. Ya nunca necesitara comprar rollos para

fotografía. Sea cual sea su aplicación o equipo portátil.

Actualmente, los usos de Memoria Flash se están incrementando rápidamente. Ya

sean cámaras digitales, Asistentes Digitales Portátiles, reproductores de música

digital o teléfonos celulares, todos necesitan una forma fácil y confiable de almacenar

y transportar información vital.

Se utilizan en la fabricación de BIOS para computadoras. , generalmente conocidos

como FLASH-BIOS. La ventaja de esta tecnología es que permite actualizar el bios

con un software proporcionado por el fabricante, sin necesidad de desmontar el chip

del circuito final, ni usar aparatos especiales.

Por esto la Memoria Flash se ha convertido en poco tiempo en una de las más

populares tecnologías de almacenamiento de datos. Es más flexible que un diskette

60

y puede almacenar hasta 4GB de información. Es más rápida que un disco duro, y a

diferencia de la memoria RAM, la Memoria Flash puede retener datos aun cuando el

equipo se ha apagado.

La Memoria Flash es ideal para docenas de aplicaciones portátiles. Por ejemplo las

cámaras digitales. Insertando una tarjeta de Memoria Flash de alta capacidad

directamente en la cámara, usted puede almacenar cientos de imágenes de alta

resolución. Cuando esté listo para bajarlas, simplemente retire la tarjeta y transfiérala

a su computadora de escritorio o portátil para su procesamiento. Las tarjetas de

Memoria Flash se ajustan a entradas Tipo II (con o sin adaptador, dependiendo del

tipo de tarjeta Flash). Ahora está usted listo para cargar en segundos todas las

imágenes capturadas para observarlas, manipularlas, enviarlas por correo

electrónico o imprimirlas. Ya nunca necesitara comprar rollos para fotografía.

EJEMPLO DE MEMORIA FLASH - 27F256

La capacidad de esta memoria es de 32K X 8 y como memoria Flash tiene la

característica particular de ser borrada en un tiempo muy corto (1 seg.). El tiempo de

programación por byte es de 100 ms y el tiempo de retención de la información es de

aproximadamente 10 años.

DIFERENCIA ENTRE MEMORIAS EEPROM Y EPROM FLASH

La diferencia de las memorias flash con las EEPROM reside en su velocidad: Son

más rápidas en términos de programación y borrado, aunque también necesitan de

una tensión de grabado del orden de 12 voltios.

Otra diferencia la encontramos en que en las EEPROM se puede borrar de forma

selectiva cualquier byte, mientras que en las memorias FLASH sólo admite el

borrado total de la misma.

Por otra parte estas memorias son bastante más baratas que las EEPROM, debido a

que utilizan una tecnología más sencilla y se fabrican con grandes capacidades de

almacenamiento. Un dato puede ser significativo: el tiempo de borrado de un byte es

61

del orden de 100 seg.

TABLA COMPARATIVA ENTRE MEMORIAS

MEMORIAS PROGRAMABLES

MEMORIA ROM (READ ONLY MEMORY)

Es una memoria de sólo lectura que se programan mediante máscaras. Es decir, el

contenido de las celdas de memoria se almacena durante el proceso de fabricación

para mantenerse después de forma irrevocable. Desde el instante en que el

fabricante grabo las instrucciones en el Chip, por lo tanto la escritura de este tipo de

memorias ocurre una sola vez y queda grabado su contenido aunque se le retire la

energía.

Se usa para almacenar información vital para el funcionamiento del sistema: en la

gestión del proceso de arranque, el chequeo inicial del sistema, carga del sistema

operativo y diversas rutinas de control de dispositivos de entrada/salida suelen ser

las tareas encargadas a los programas grabados en ROM. Estos programas forman

la llamada BIOS (Basic Input Output System). Junto a la BIOS se encuentra el chip

de CMOS donde se almacenan los valores que determinan la configuración hardware

62

del sistema, como tipos de unidades, parámetros de los discos duros, fecha y hora

del sistema... esta información no se pierde al apagar la computadora. Estos valores

se pueden modificar por medio del SETUP.

La ventaja de tener los programas fundamentales del computador almacenados en la

ROM es que están allí implementados en el interior del computador y no hay

necesidad de cargarlos en la memoria desde el disco de la misma forma en que se

carga el DOS. Debido a que están siempre residentes, los programas en ROM son

muy a menudo los cimientos sobre los que se construye el resto de los programas

(incluyendo el DOS).

Una ROM puede estar fabricada tanto en tecnología bipolar como MOS.

MEMORIA PROM (PROGRAMMABLE READ ONLY MEMORY)

En la PROM (programable ROM), o memoria programable de sólo lectura los

contenidos pueden ser leídos pero no modificados por un programa de usuario. Sus

contenidos no se construyen, como la ROM, directamente en el procesador cuando

éste se fabrica, sino que se crean por medio de un tipo especial "programación", ya

sea por el fabricante, o por especialistas técnicos de programación del usuario. El

proceso de programación es destructivo: una vez grabada, es como si fuese una

ROM normal.

Las operaciones muy importantes o largas que se habían estado ejecutando

mediante programas, se pueden convertir en microprogramas y grabarse

permanentemente en una pastilla de memoria programable sólo de lectura. Una vez

que están en forma de circuitos electrónicos, estas tareas se pueden realizar casi

siempre en una fracción del tiempo que requerían antes. La flexibilidad adicional que

se obtiene con la PROM puede convertirse en una desventaja si en la unidad PROM

se programa un error que no se puede corregir. Para superar esta desventaja, se

desarrolló la EPROM, o memoria de solo lectura reprográmale.

Para conseguir que la información que se desea grabar sea inalterable, se utilizan

63

dos técnicas: por destrucción de fusible o por destrucción de unión.

El proceso de programación de una PROM generalmente se realiza con un equipo

especial llamado quemador. Este equipo emplea un mecanismo de interruptores

electrónicos controlados por software que permiten cargar las direcciones, los datos

y genera los pulsos para fundir los fusibles del arreglo interno de la memoria. En la

figura se indica de forma esquemática la función del programador.

a. Las Aplicaciones más importantes:

b. Microprogramación

c. Librería de subrutinas

d. Programas de sistema

e. Tablas de función

MEMORIA EPROM

Las EPROM, o Memorias sólo de Lectura Reprogramables, se programan mediante

impulsos eléctricos y su contenido se borra exponiéndolas a la luz ultravioleta (de ahí

la ventanita que suelen incorporar este tipo de circuitos), de manera tal que estos

rayos atraen los elementos fotosensibles, modificando su estado.

Las EPROM se programan insertando el chip en un programador de EPROM. y

aplicando en un pin especial de la memoria una tensión entre 10 y 25 Voltios durante

aproximadamente 50 ms, según el dispositivo, al mismo tiempo se direcciona la

posición de memoria y se pone la información a las entradas de datos. Este proceso

puede tardar varios minutos dependiendo de la capacidad de memoria.

64

Cuando un dado bit de una celda debe ser cambiado o programado de un 1 a un 0,

se hace pasar una corriente a través del canal de transistor desde la fuente hacia la

compuerta (obviamente, los electrones siguen el camino inverso). Al mismo tiempo

se aplica una relativamente alta tensión sobre la compuerta superior o de control del

transistor, creándose de esta manera un campo eléctrico fuerte dentro de las capas

del material semiconductor.

Ante la presencia de este campo eléctrico fuerte, algunos de los electrones que

pasan el canal fuente-compuerta ganan suficiente energía como para formar un túnel

y atravesar la capa aislante que normalmente aísla la compuerta flotante. En la

medida que estos electrones se acumulan en la compuerta flotante, dicha compuerta

toma carga negativa, lo que finalmente produce que la celda tenga un 0.

Los tiempos medios de borrado de una EPROM, por exposición a la luz ultravioleta,

oscilan entre 10 y 30 minutos.

Tal como mencionáramos anteriormente, el proceso de borrado de los datos

contenidos en una EPROM es llevado a cabo exponiendo la misma a luz ultravioleta.

El punto reside en que la misma contiene fotones (Cuantos de energía

65

electromagnética) de energía relativamente alta.

MEMORIA EEPROM (ELECTRICAL ERASABLE PROGRAMMABLE READ ONLY

MEMORY)

La memoria EEPROM es programable y borrable eléctricamente y su nombre

proviene de la sigla en inglés Electrical Erasable Programmable Read Only Memory.

Actualmente estas memorias se construyen con transistores de tecnología MOS

(Metal Oxide Silice) y MNOS (Metal Nitride-Oxide Silicon).

Las celdas de memoria en las EEPROM son similares a las celdas EPROM y la

diferencia básica se encuentra en la capa aislante alrededor de cada compuesta

flotante, la cual es más delgada y no es fotosensible.

Las memorias EEPROM (Electrically Erasable Programmable Read-Only Memory)

son memorias no volátiles y eléctricamente borrables a nivel de bytes. La posibilidad

de programar y borrar las memorias a nivel de bytes supone una gran flexibilidad,

pero también una celda de memoria más compleja. Además del transistor de puerta

flotante anterior, es preciso un segundo transistor de selección. El tener 2

transistores por celda hace que las memorias EEPROM sean de baja densidad y

mayor coste. La programación requiere de tiempos que oscilan entre 157 s y

625 s=byte. Frente a las memorias EPROM, presenta la ventaja de permitir su

borrado y programación en placa, aunque tienen mayor coste debido a sus dos

transistores por celda.

Una ventaja adicional de este tipo de memorias radica en que no necesitan de una

alta tensión de grabado, sirven los 5 voltios de la tensión de alimentación habitual.

66

LECTURA 0 0 1

ESCRITURA 0 1 0

Ventajas de la EEPROM:

Las palabras almacenadas en memoria se pueden borrar de forma individual.

Para borra la información no se requiere luz ultravioleta.

Las memorias EEPROM no requieren programador.

De manera individual puedes borrar y reprogramar eléctricamente grupos de

caracteres o palabras en el arreglo de la memoria.

Para reescribir no se necesita hacer un borrado previo.

MEMORIA FLASH

La memoria FLASH es similar a la EEPROM, es decir que se puede programar y

borrar eléctricamente, son de alta densidad (gran capacidad de almacenamiento de

bits). Alta densidad significa que se puede empaquetar en una pequeña superficie

del chip, gran cantidad de celdas, lo que implica que cuanto mayor sea la densidad,

más bits se pueden almacenar en un chip de tamaño determinado. Sin embargo esta

reúne algunas de las propiedades de las memorias anteriormente vistas, y se

caracteriza por tener alta capacidad para almacenar información y es de fabricación

sencilla, lo que permite fabricar modelos de capacidad equivalente a las EPROM a

menor costo que las EEPROM.

Aparte de que las memorias EPROM "Flash" tienen una entrada de escritura,

mientras están funcionando se comportan como las EPROM normales. La única

67

diferencia se encuentra en cómo se cargan y se borran los datos en la memoria.

Mientras que durante el proceso de programación de las memorias EPROM

convencionales se necesita una tensión bien definida durante cierto intervalo de

tiempo, y para borrar el componente hay que exponerlo a luz ultravioleta, en las

E.Flash ambos procesos están controlados y se llevan a cabo internamente. Para tal

efecto la memoria recibe una secuencia de comandos predefinida (borrar, programar)

que incluye algunas precauciones especiales (determinadas por el fabricante)

destinadas a evitar que se borre cualquier dato por error.

Durante el proceso de programación o borrado se puede leer, mediante un comando

de acceso en "lectura", el estado de la memoria EPROM "Flash" en la misma

posición que el byte de programado o borrado. Mientras se borra un sector se puede

leer cualquier dirección que pertenezca al sector.

APLICACIONES DE LA MEMORIA FLASH

La Memoria Flash es ideal para docenas de aplicaciones portátiles. Como ejemplo

las cámaras digitales. Insertando una tarjeta de Memoria Flash de alta capacidad

directamente en la cámara, usted puede almacenar cientos de imágenes de alta

resolución. Cuando esté listo para bajarlas, simplemente retire la tarjeta y transfiérala

a su computadora de escritorio o portátil para su procesamiento. Las tarjetas de

Memoria Flash se ajustan a entradas Tipo II (con o sin adaptador, dependiendo del

tipo de tarjeta Flash). Se puede cargar en segundos todas las imágenes capturadas

para observarlas, manipularlas, enviarlas por correo electrónico o imprimirlas. Ya

nunca necesitara comprar rollos para fotografía. Sea cual sea su aplicación o equipo

portátil.

Actualmente, los usos de Memoria Flash se están incrementando rápidamente. Ya

sean cámaras digitales, Asistentes Digitales Portátiles, reproductores de música

digital o teléfonos celulares, todos necesitan una forma fácil y confiable de almacenar

y transportar información vital.

68

TABLA COMPARATIVA ENTRE MEMORIAS

69

Capítulo III. Lecturas complementarias.

70

PROBLEMAS DE ELECTRÓNICA DIGITAL, A. E. DELGADO - J.

MIRAR. HERNÁNDEZ - J. C. LÁZARO

Apuntes de clase: CIRCUITOS Y SISTEMAS DIGITALES,

Departamento de Electrónica y Comunicaciones Universidad Pontifica

de Salamanca en Madrid

Sistemas Digitales: Principios y Aplicaciones

http://cwx.prenhall.com/bookbind/pubbooks/tocci_la/

CRM, Telefonía IP, Call Center, Storage, Software y Soluciones

http://www.sistemasdigitales.com.mx

Sistemas digitales: Origen, símbolos, niveles, tecnologías

http://www.unicrom.com/Dig_IntroSistemasDig.asp

Videovigilancia y Sistemas Digitales http://www.videovigilancia.com.mx/

71

Capítulo IV. Bibliografía.

72

Millán & Taub; Electrónica Digital

Mandado E; Electrónica Digital

Lee S. C.; Circuitos digitales y Diseño Lógico

Morris Mano M.; Lógica digital y Diseño de Computadoras

Referencias Web

http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/1003

01.htm

http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/1005

01.htm

http://www.zona-warez.com/tutoriales-ingenieria_electrica.html

http://webdiee.cem.itesm.mx/web/servicios/archivo/manuales/micro8051

.pdf

http://cactus.fi.uba.ar/crypto/tps/tarje.pdf

http://electronred.iespana.es/electronred/Circuitosintegra.htm

73

Capítulo V. Glosario

74

A

Algoritmo: Conjunto de procedimientos mediante los que se consigue un

efecto. Suelen expresarse a través de letras, cifras y símbolos, que forman un

algoritmo determinado.

Asíncrono: Que no tiene un intervalo de tiempo constante entre cada evento.

AutoCAD: Programa de dibujo técnico de CAD realizado por Autodesk. Es un

útil indispensable para el diseño grafico.

Amperaje: Es la intensidad de una corriente eléctrica constante que,

mantenida en dos conductores paralelos, rectilíneos, de longitud infinita, de sección

circular despreciable y colocados en el vacío a una distancia de un metro uno de

otro, produce entre estos dos conductores una fuerza igual a 2 x 10-7 Newton por

metro de longitud.

Automatización: Funcionamiento automático de una máquina, o conjunto de

máquinas, encaminado a un fin único, lo cual permite realizar con poca intervención

del hombre una serie de trabajos industriales o administrativos o de investigación.

B

Bit: Acrónimo de «BInary digiT» (dígito binario), es la unidad básica y

elemental de información. Un bit es también un dígito en un número binario. Consiste

de dos valores: cero (0) y uno (1).

C

Coaxial: Es un circuito físico asimétrico, constituido por un conductor filiforme

que ocupa el eje longitudinal del otro conductor en forma de tubo, manteniéndose la

coaxialidad de ambos mediante un dieléctrico apropiado.

D

Dúplex: Transmisión de datos donde ambos dispositivos pueden transmitir y

75

recibir simultáneamente.

F

Fibra Óptica: Cable formado por un material dieléctrico transparente,

conductor de luz, compuesto por un núcleo con un índice de refracción menor que el

del revestimiento, que envuelve a dicho núcleo. Estos dos elementos forman una

guía para que la luz se desplace por la fibra. La luz transportada es generalmente

infrarroja, y por lo tanto no es visible por el ojo humano.

Un tipo de cable que utiliza vidrio para cargar datos a través de impulsos de

luz en lugar de corriente eléctrica. El cable de fibra óptica multimodo común es

conocido como un cable de 62.5/125 micrones de diámetro, aunque también puede

utilizarse el de 50/125 micrones de diámetro. El modo simple es de menor diámetro,

solo aproximadamente 9/125 micrones.

I

Impedancia: La impedancia es la resistencia, medida en ohmios, a la

corriente alterna que circula en un hilo.

Infrarrojos: Emisión de energía en forma de ondas electromagnéticas en la

zona del espectro situada inmediatamente después de la zona roja de la radiación

visible. La longitud de onda de los rayos infrarrojos es menor que las ondas de radio

y mayor que la luz visible, oscila entre aproximadamente 10-6 y 10-3 metros. la

radiación infrarroja pude detectarse como calor, para lo que se emplean instrumentos

como el bolómetro. Los rayos infrarrojos se utilizan para obtener imágenes de

objetos lejanos ocultos por la bruma atmosférica.

Interfaz: Conexión e interacción entre hardware, software y el usuario. El

diseño y construcción de interfaces constituye una parte principal del trabajo de los

ingenieros, programadores y consultores. Los usuarios «conversan» con el software.

El software «conversa» con el hardware y otro software. El hardware «conversa» con

otro hardware. Todo este «diálogo» no es más que el uso de interfaces. Las

76

interfaces deben diseñarse, desarrollarse, probarse y rediseñarse; y con cada

encarnación nace una nueva especificación que puede convertirse en un estándar

más, de hecho o regulado.

M

Mbps: Megabits por segundo: Una forma de medir el uso de la red o el ancho

de banda.

MBps: Megabytes por segundo: Una forma de medir el uso de la red o el

ancho de banda.

O

Optoacoplador: Componente eléctrico que permite el paso de una señal al

activar un led interno cuyo brillo genera un acople óptico.

P

Par trenzado: Cable formado por dos hilos de cobre recubiertos cada uno por

un trenzado en forma de malla. El trenzado es un medio para hacer frente a las

interferencias electromagnéticas.

Pin: Se denomina pin a cada uno de los 25 canales del puerto RS-232.

PLC: Programmable Logic Control - Controladores Lógicos Programables.

Tecnología de comunicaciones por medio del cable eléctrico, con muchas ventajas,

es posible conectarse por medio de cualquier enchufe de la casa a Internet a una

velocidad desde 2Mbps hasta 20Mbps, también con otro recursos de comunicación

como el teléfono, todos por medio de un módem PLC. Autómata industrial o en

castellano A.P.I. Dispositivo que mediante programa lógico de contactos o «ladder»,

realiza secuencias de múltiples índoles, tales como señales digitales o analógicas,

protocolos rs232, ethernet, profibus,as-i. Se divide su funcionamiento en entradas

(pulsadores, señales varias y salidas digitales o analógicas válvulas, motores, relés y

otros. También se pueden comunicar mediante rs232 con PC mediante puerto serie

77

o rs232, y con consolas táctiles o paneles de operador. Cada vez mas usados en el

ámbito industrial e incluso domótica.

S

Switch: Amér. Conmutador eléctrico. Dispositivo de la red utilizado para

separar dominios de colisión o segmentos de la red. Las unidades aprenderán la

dirección original y de destino de otros nodos de la red y cuando se reciben los

paquetes de datos, verifica esas direcciones y decide si los paquetes deben ser

redirigidos a otro puerto.

T

Triac: Semiconductor controlable por puerta similar al tiristor, con la

particularidad de que conduce en ambos sentidos y puede ser bloqueado por

inversión de la tensión o al disminuir la corriente por debajo del valor de

mantenimiento. El triac puede ser disparado independientemente de la polarización

de puerta, es decir, mediante una corriente de puerta positiva o negativa.