d s d ing. ricardo iván gottret ríos....
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
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.
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.
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
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.
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/
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
http://cactus.fi.uba.ar/crypto/tps/tarje.pdf
http://electronred.iespana.es/electronred/Circuitosintegra.htm
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.