You are on page 1of 205
HECTAOHICA TOMO 2 Digital SALVAT LICPTDHMION LLLUINUNIUH TOMO 2 Digital SALVAT DIGITAL Electronica digital Practicamente inexistente hasta hace unos decenios, la rama di ital de la electr crecimiento explosivo y empieza a convertirse en la mas importante Que altura alcanza el sol en el cielo? Depende de la hora y de la estacidn: varia continuamente entre in- finitas posiciones. ‘También el numero de huevos frescos y enteros que hay en la nevera puede variar, pero no de un modo continuo: 0 hay tres huevos 0 cuatro, no podemos tener 3,475. POs Antes de afrontar las bases de la electrénica digital tratemos de entender los motivos de su extraord- naria difusion. Tomemos un reloj de agujas (analogico) y uno con, Aumeros (digital). El primero indica la hora con una aproximacién razonable, El digital tiene, sin embargo, un valor definide, que no ha de ser necesariamente la hora exacia, pero que todos leen del mismo modo. Un valor digital no sufre errores de lectura o in‘er: pretacidn, lo cual simpifica atin mas su comunicacién a otras personas. £1 reloj digital indica un nimero, no necesariamente ‘exacto, pero perfectamente definido, La velocidad del viento varia entre Infaitos valores: €s una medita analégiea. El niimoro de varillas de un pparaguas es un valor digital La atttud del sol es un valor analégico, mientras que el numero de huevos es un valor digital: puece cam- biar s0l9 a saltos, no de manera continua, Ls atta plano ‘nclinade varia de modo analdgico, mientras que ‘ef de una escalera lo hace de manera digital (por escalones). Por motives similares, los circuitos electrénicos pue- den tratar un valor digital sin alterarlo por el efecto ‘acumulativo de muchas pequefias imprecisiones. Por ejemplo, es mas facil transmitir a una gran distancia una informacion digtal y estar seguros de que llega idéntica al original, DIGITAL Verdadero y falso La seleccin entre dos Gnicas posibilidades basta p ra crear un mundo digital Un dispositivo digtel, como hemos visto, tione un determinado ni- Aneratr mer i r mente defini erto: 1er0 de posibles valores perfectamente definidos, o estados ater . Intoreumpido, ‘Como maximo puede haber dos unicos estados, como en ee él interruptor de la luz: 0 esta encendida o esta anagada. Corrente La electrénica digital moderna esté basada precisamente en circuitos que tienen dos unicos valores, por ejemplo: o pasa corriente o no pasa. In, abiero = sro cerrado Interruptor cerrado: el cireulto esté cerrado, 1a coniente pasa, Ine, cerrado = ‘gto abiero PSA Por comodidad llamamos verdadero al estado en el que el interuptor esta cerrado (pasa corriente, luz encendida) y falso al estado enel que esta abierto (luz apagada) En lugarde los simbolos también podemos uti- lzar numeros: uno (1) sia luz estd encendida, cero (0) si esta apagada. En inglés ‘cifra’ es digit, de donde deriva la palabra “digital”. Pero el término procede a su vez del latin ‘digitus", dedo: jcontar con los dedos es un procedimiento digtall Esquema do ura linterna: et Interruptor Un simple dispositivo digital de dos estados: clerra (4, verdadero) o abre (0, falso) el encendido (1, verdadero) y apagado (0, falso). cruito que une la pla a la bombil NUMEROS BINARIK | Utlizar solamente las cifras 1 y 0 significa emplear un 10s decimales, pero inter- maa cédigo de numeracion binario, es decrr, de solo dos namente ullizan ntimeros valores. binarios, es decir, emplean solamente las cifras 1 y 0. Bemis Como veremos més adelante, no es dificil utilizar BeBe estas dos olfras para representar cualquier numero ini namente, cada nimero decimal (por ejempio 4813), (std ropresentado de forma binaria, es decir, solo con ins Los ordenadores y las calculadoras muestran niime- cifras ty 0. Entrada y salida Un circuito légico recibe comandos de entrada y produce resultados a la salida Conviene distinguir entre nuestra accion sobre el interruptor y su efecto sobre la bombilia A El circuito recibe a la entrada (en inglés, input) la Entrada ccién sobre el interruptor y produce a la salida (en © 8 inglés, output) 6! encondido de la bombilla, salida Observando, por ejemplo, un ordenador, la dite- rencia entre entrada (teclado, ratén) y salida (pan- talla, impresora) resulta evidente. ‘Nuestro sencillo circuito tiene una entrada (el interuptor A) y una sald (a bombila 8). PEMA Podemos compilar una tabla que describa el com- La primera columna lista los posibles valores a la portamiento logico de un circuito digital entrada (es decir dos: 0 y 1) y la segunda los valores, correspondientes a la salida. La figura muestra la table, 0 tabla de verdad, de la linterna, Hemos llamado A al intortuptor (entrada) yB Cada linea o¢ un estado dei cicuito, Por ejemplo, en @ la bombila (salida, la primera linea la entrada es 0 (interruptor abierto) y por ello la salida es cero (bombilla apagada). trad & (interuptor) sala B (bombil linterna: muestra el valor de ssalida (bombila) ‘correspondiente a los posibles valores de entrada {estado dol intorrupton). CATE En la préctica, para la linterna la salida repite la entrada, Pode- mos osoribirio de un mado formal con una expresin ldgica: B-A Es decir: sea cual sea el valor de la entrada A. a salida B tendré siempre el mismo valor: se trata de un caso de identidad, Las expresiones ldgicas resultan muy utes al proyectar circui- tos digitales complejos. La linterna funciona st lgica binaria elemental. DIGITAL ‘Tomemos una de esas bombillas de emergencia que se encienden automaticamente en caso de falta de energia eléctrica, Con respecto a la linterna, las cosas funcionan a la inversa: si abrimos ol intorruptor (0) la bombilla so. enciende (1) utilizando su bateria de emergencia, incorporada, La bombilia de emergencie esté proyectads para encenderse (con sus baterias internas) si fata la Corriente, y apagarse si ésta esta presente, En osto caso la tabla de verdad de la pagina ante- rior (identidad) ya no puede aplicarse. La bombila de emergencia esta proyectada para encenderse (con sus baterias intornas) si falta la coriente, y apagarse si esta esta MES Como se ve en la tabla, ta salida es ol contrario de la entrada: se trata de una inversién, o negacién légica La expresién ldgica correspondiente se puede escri- bir de varias maneras. En electronica se utlizan va~ ios convenios equivalentes. En todos los casos se lee ‘B igual a no A”: B es el ‘opuesto (complemento) idgico de A. La operacion de inversion se llama NOT ("n0" en inglés). Algunas veces es dtil invertir una sefial lagica, es decir, transformar un cena (interrupter) Al contrario: NOT | i" en un “No y viceversa t Bombilla de ‘emergancia con ate La nueva tabla de verdad lista siempre las mismas entradas, pero muestra las salidas eambiadas de sitio. sala 8 (bombila) Como veremos, en los simbolos tradicionales do los componentes electrOnicos digitales la inversion se indica con un circulo pequeno. > ‘Simbolo de un componente NOT: el pequeso citculo indica la operacion de inversion logica. DIGITAL El uno y el otro: AND Cuando el valor lagico de una salida depende de la combinacion de varios valores de entrada, se habla de “Iogica combinatoria” ‘Tomemos un circuito con dos interruptores en serie, (6 decir, uno después dol otro on ol mismo cablo, como el mostrado en la figura. {Qué hay que hacer para encender la bombilla? home Mo ve t t Interuptores @ Evidentemente no basta con cerrar un solo interrup- tor: para cerrar el circuito hay que cerrar ambos necesariamente. Este es un ejemplo de AND légico. “AND” en inglés Quiere decir *y": en realidad hay que cerrar UNO Y ambos interuptores deben cerarse para que la bombila también el otro. ‘se encienda. LEE) La tabla de verdad de AND muestra el valor de salida _Habitualmente utiizamos 0 para indicar un interrup- con las cuatro posibles combinaciones de las tor abierto (no pasa corriente) y 1 para indicer un entradas. interruptor cerrado (pasa la corriente). Observamos que la salida C es 1 (verdadero) solo en el caso de que amas entradas Ay B sean 1. En todos los demas casos la salida es 0. Enracaa EntradaB —SaliaaG (leterruptores) | (Intorruptoree) | _ Bombila 0 o 1 di En los esquemas eléctricos un AND se incica nor- ‘_—p— malmente con los simbolos mostrados en la figura: el 5 primero es el simboio tradicional, e! segundo es el que responde a las normas IEC. Por convenio, se sueten dibujarlos esquemas de mo- do que se lean de izquierda a derecha, siguiendo la trayectoria de la sefial desde las entradas hasta la salida ; © Hemos dibujado dos entradas y una sola salida, pero Simbolo de AND ® las entradas pueden ser mas de dos: la salida vale 1 seein ae sélo si todas las entradas son 1 neeroas eae DIGITAL Observando la tabla de verdad de AND de la pé gina anterior se descubro un interesante ofecto que puede resultar muy uti Cuando la entrada A vale 0, la salida C siempre es 0. Sin embargo, cuando A vale 1 Ja salida C es igual a la entrada B. El efecto, naturalmente, es reciproco (intercam- biando A y B ocurre lo mismo), pero supongamos por un momento que B sea la sefal logica a la entrada y A sea una especie de porteria, Miréndolo bajo este punto de vista, vemos que cuando A vale 0, B esté "bloqueado”. Cuando sin ‘embargo A vale 1, B pasa y recoge la salida, LOGICA BOOLEANA Y AND El matemético inglés George Boole estudié las expre- siones légicas, creando jo que hoy llamamos 16g booleana. Esta iégica se aplica cuando hay dos uni cos valores (verdadero y falso, 1 y 0), En la ldgica booleana, AND (interseccidn logica) co- responde mas 0 menos a la multiplicacion. En ese ‘campo se utiliza un simbolo especial, pero en elec- tronica habitualmente se escribe: C=A°B (C igual a A por 8) o, simplemente: C=AB AND como puerta logica Un AND puede utilizarse para dejar pasar o bloquear una seiial lagica Entrada» Se saiica Control de la puerta ‘= pasa, O= no pass Sila entrada A vale 4, la entrada B se repite en la sala C. Si, sin embargo, A vale 0, B no pasa y la salida se queda siempre a 0, PES Un AND utilizado de este modo funciona como puerta Iégica, os docir, una especie do cancela que permite dejar pasar o bien bloquear otra sefal légica Asi, el término “puerta” se aplica, por extensién, también a los otros dispositivos ldgicos elementales. descritos en las paginas siguientes. Las puertas ldgicas son muy ittles, ya que periten controlar una senal logica con otra senal logica. Los resultados, en este ca- 80, corresponden alos de la multiplicacién normal George Bocle, uno de fos padres de la logica binavia, tal y ‘como la conocomes hoy. El uno o el otro: OR A diferencia de AND, para OR no es necesario que todas las entradas valgan |: basta con una En inglés OR significa “o”: en realidad la salida vale 1 si una u otra de las entradas (0 incluso ambas) valen 1 Las figuras muestran un ejemplo de OR de intorruptores y los simbolos graficos de OR (el tradicional y el que res- ponde a las normas IEC). El comportamiento de OR se resume en ‘4 tabla de verdad, mostrada a la iquierda. a: A —p—: ° 8 & Tabla de verdad de OR: \a salida vale 1 ‘sal menos una entrada esti a 1. En la logica booleana, si AND representa la multi- plicacién, OR (unién légica) corresponde a la simbolo preferido en la logica: Cs +B Pero es una suma un poco extrafia, dado que no se puede superar nunca 1 ni dar resto: O+0=0 O+t=1 1+0=1 1+ 1=1 (no supera 1) El comportamiento de OR se resume en su tabla de verdad, mostrada a la izquierda. ‘OR COMO PUERTA LOGICA También OR puede funcionar como puerta, es decir, dejando pasar 0 bloqueando una sefal logica, solo que con respecte a AND, funciona al contrario, Contot (= pasa. 1 = no pase En la tabla de verdad se ve que siA vale 0 la sa- liga reproduce fielmente la entrada 8, mientras que si A vale 1 la salida C esta siempre blo- ateadere ‘SIA vale 0, B pasa tal cual aC. Pero siA vale 1, B ‘no pasa y la salida siempre se mantiene como 4. DIGITAL Uno solo de los dos: XOR EL OR exclusivo permite saber si las dos entradas son iguales o distintas Existe un dispositive légico més extrafio que los dos que ya hemos visto (AND y OR). Se trata del OR exclusive, abre- viado como XOR. Tiene siempre y Unicamente dos entradas y, como sa ve en su tabla de verdad, la salida vale 1 sdlo si las entradas son distintas entre si (1 y 0 0 bien Oy 1). En otras palabras, desde el punto de vista légico la salida significa: son verdaderos uno y otro, pero no ambos. ee gas ue El simbolo de XOR en las expresiones ldgicas es un Como veremos a continuacion, XOR se puede facil- “+” encerrado en un circulo: mente construir con las otras puerias, y las expre- siones légicas se pueden combinar entre si para ob- O=0 tener otras mas complejas. =1 En la practica, no obstante, se utlizan circuitos int gracos que contienen circuits XOR ya creados, igual que se hace con las demas funciones ldgicas. ‘Simbolos de XOR: a la izquierda el tradicional, CNS Un XOR funciona como una puerta de tipo especial, ‘que no bioquea la sefial pero la puede invertir si se desea. SLA vale 0, en realidad, la salida C reproduce fie mente la entra B, mientras que si A vale 1 la salida C Conte a punta es el opuesto (negacién logica, NOT) de la entrada B. 0 paso drecto aso negado ‘SiA vale 0, B pasa tal cual aC. Pero siA vale 1, cl valor logica de B se invierte, Desviador Un XOR se encuentra en muchos 280s: dos conmutadores {interruptores de dos posiciones) pemniten encender y ‘apagar una luz desde éos puntos. La logica de los reles Los interruptores electromagnéticos, o relés, pueden considerarse dispositivos lagicos elementales Los primeros procesadores (ordenadores) moder- nos no se podian definir como electrénicos, sino mas propiamente electromecanicos. No utilizaban ni valvulas (tudos de yacio) ni transis- ores, sino sencillos interrupiores electromagnéti- cos: los relés. Los relés se han utlizado mucho en circuitos l6gicos para automatizacién, hasta la llegada do los cir- cuitos integrados en los afios 70. La bobiaa $0 comiore en un indn si a atravesada pr la coniente. Los contactos se clean si son atraios por la bobina COMM Ta Un rolé esta formado por un electroiman, 0 bobina (un cable arrollado en un nticleo metalico) y un con- tacto mévil de muelles. Comun ae ee “ e— ana aE El esquema de la figura muestra una identidad 16- gica realizada con un relé: aplicando tension a la entrada (1 logico, verdadero), el relé salta y envia tension a la salida (1 logico). El +12 del esquema indica una tension constante con respecto a masa, procedente por ejemplo de una baterla, Observe el uso del simbolo de masa para no dibujar el cable de vuelta (0 V). Este circuito no sirve para nada desde el punto de vista légico, aunque en la practica se utiliza para controlar una cortiente fuerte con una débil. Sin embargo, es la base para construir circuitos mas DIGITAL Contactos Vs} Bobina Aplicando tensién a la bobina, la cortiente crea un ‘campo magnético; éste atrae al contacto. movil, cerrando el circuito (si se quita la tensién, el muelle lo abre de nuevo). Por tanto, un relé puede controlar tna corriente eléctiica (entre los contactos) con otra més débil (en la bobina). Los relés se utilizan atin hoy en dia, gracias a su ca- pacidad de controlar cornentes fuertas y de garantizar 1 aislamiento eléctrico entre podina y contactos, El simbolo del relé representa de un modo ‘esquematico su furclonamiento, complejos: utiizando de otro modo los contactos, se pueden realizar las cistintas tunciones logicas, +12¥ oo —> Salida Entrada ‘Simbolo de mase = ‘Sila entrada esté a 4 (hay tensisn con respecto a masa) el contacto se cera, produciendo 1 a la sada. DIGITAL Muchos relés de uso comun son conmutadores: cuando saltan, conectan un punto central a un con- tacto y lo desconectan de otto, Se habla respectivamente de contacto normal- mente abierto (n.2., 0.0. en ingles) y normalmente cerrado (0.c.). Por “normaimente” se entiende la ausencia de ten- sién en la bobina, es decir, el estado en el que el relé se encuentra en condicién de reposo. CEES EY La tabla mostrada en la figura representa el com- portamiento de los dos contactos desde el punto de vista ldgico, con respecto a la tensién aplicada a la bobina. El contacto (salida) n.a., como ya hemos visto, es el menos interesante: corresponde siempre al valor logico de la entrada. ervaca 8 Saca ¢ saigae EE El comportamiento de NOT nos permite utilizar un relé para realizer una sencilla bombilla de emergen- cla, que se enciende si no hay tension. ‘Como se puede ver en el esquema, la ausencia de tensién en la entrada (que nos imaginamos que ind= ca la ausencia de corriente) hace saltar el relé, que vuelve a la posicién de reposo. Limpara de emergencie de relé; desde el punto de viste igico, si ta entrada es coro (no hay tensiér), la sallda os su ‘complemento, es decir, uno, NOT con un rele Una inversion lgica se realiza simplemente utilizando un contacto en la apertura en lugar de en el cierre 4 ‘Rele conmutader: 1.c. es ef contacto normalmente cerrado, el normalmont jerto. E! contacto (salida) n.c., sin embargo, es la nega- clén ldgica del valor de entrada: por tanto se com- porta como un dispositivo NOT. La barra situada sobre el simbolo C indica que se trata del complemento isgico de la salida C. Se suele también incicar con otros simbolos, como se ilustra en la leccién 1 Tabla de verdad de un relé conmutador: {as dos salidas son complementarias, 5 decir, una es opuesta a la otra. Asi, se clerra el contacto n.c., que proporciona a la salida (a la bombilla) la tensién procedente de la bateria de emergencia (+ 12 V). +12 Entrada AND y OR con los relés Combinando varios relés se pueden realizar las fFunciones logicas fundamentales Conviene hacer hincapié en que en estos circuitos de relé ese core erin t ta eeeaee) |" (ree Valor 1ogico 0 0 significa ausencia de tensién. +12VI ov 1 sgnfica tensi6n de alimentacién (por ejemplo, Entrega sauce dela batera), referca @ masa. ov ny Por ejemplo, si el circuito esta alimentado por 12 vottios, | Valor lgico 0 Valor ogico 1 1 significa “apticar 1 V" a una entrada, © bien “se encuen- tran 12 V" en una salica, Reciprocamente, 0 (0 voltos) significa “no hay tensiGn tas valores logloos 0y 4 son convenics; aqui por ejemplo indican aplicada a la entrada” o bien “no hay tensién a la selida”. ausencia o presencia de tensién ala entrada o a la salkla, La figura muestra como realizar un AND con dos re- Sin embargo, hay una diferencia importante: los in- és, poniendo los contactos en serie. terruptores son de control mecanico, mientras que los relés son de control eléctrico. En ese circuito te- En la préctica, se trata del mismo cirouito de inte- nemos, por tanto, una tensién eléctica controlada rruptores descrito en la leccién 2. por la combinacién de otras dos tensiones oléctricas. La salida de este AND pue- de conectarse a la entrada de otros dispositivos légi- cos, de modo que se pue- en realizar circuitos mas complejos, incluso hasta un ordenador entero! -————_* rane = atta L__ i ‘Un AND con dos relés: es necesarlo apicar tension a ambas bobinas para tenor tonsién a la salida, El otro componente Iégico elemental, el OR, es igual do soncillo: basta con conectar los dos rolés ‘con los contactos en paralelo en lugar de en serio, ‘como muestra la figura, También en este caso, el comportamiento del cir- cuito es idéntico al del OR de interruptores aborda- do en la leccién pasada. Un OR con dos relés: basta con aplicar tension al menos a una de las bobinas para tener tension a la salida. " DIGITAL Un XOR de reles También el OR exclusivo se puede realizar facilmente utilizando los contactos conmutadores Un XOR (OR exclusive) puede construirse con circui- tos légicos elementales (NOT, AND, OR), como vere- mos en una préxima leccién. Pero, utilizando los relés, hay un truco mas sencillo para realizar un XOR s6lo con dos re'és: el circulto corres- pondiente se muestra en la figura. Se trata del mismo sistema visto ya para el XOR de in- terruptores (conmutadores) de la leccion 2: una vez mas utilizamos los reles para obtener el mismo efecto con contol eléctrico, Un XOR con dos reles; observe e! cruce de cables pera mostrar que la sada osté a 4 sélo silos dos rolés no estén ‘na misma posicion. WYRE eae | En el momento actual los relés ya no se utilizan para la rea- lizacién de circuitos logicos de uso practico, salvo en casos especiales En la préxima leccién prosentaromos los cireuites integra- os, que ya les han sustituido universaimente, con notables ventajas bajo distintos puntos de vista. En cualquier caso, una buena comprensi6n de los circuits llustrados en estas paginas es sin duda muy util, y no solo con fines tedricos. De hecho, los circuitos cambian, pero la légica sigue siendo 1 erdenador do rolés Mark | realizado on 1944 en todo caso la misma: NOT, AND, OR y XOR siguen siendo en a Universidad de Harvard {unciones fundamentales de la légica electronica. FEES ‘Aunque las funciones légicas ya son desarrollacas ‘asi exclusivamente por circuitos integrados electréni- cas, los relés siguen utilizandose bastante. De hecho pueden controlar fuertes corrientes o aislar entre si dos circultos, ademas son muy robustos y précticamente insensibles a las interferencias. Por ello se utiizan a menudo como intertaz, es decir, ‘comunicacion, entre un delicado circuito electronic y el poco tolerante mundo extemo, En un sistema de apertura de puertas, l cireuito controla algunos relés, que a su vez controlan la corriente de los motores. Integrados digitales Los cire ‘0s integrados han hecho posible la realizacion de disposi dispositivo logico, incluso un ordenador entero (realmente eso ha Tebricamente seria posible utilizer los relés para realizar cualquier [ exe sucedido) En la practica, sin embargo, los dispositivos electromecanicos tienen serios problemas de velocidad, duracion, fiabilidad y con- sumo, Actuelmente se utilizan los circuitos integrados digitales (0 ‘légicos") especialmente disefiados para este uso. Un circulto integrado digital esta diseiado para desarrollar funclones ldgicas. La miniaturizacion de los eireuitos ldglees en un chip de poces milimetios es una obra maestra de ingenieri SSeS Un circuito integrado digital puede contener desde una Unica puerta ldgica (por ejemplo un AND) hasta un circuito completo. Los IC digitales mas complejos, como los micropro: cesadores y las memorias, contienen millones de compenentes ligicos elementales implementados en el mismo chip. Los microprocesadores, de altisima densidad do componentes, ‘han hecho posible la revoluci6n informatica, 13 CME Los circuitos integrados (0 IG, Integrated Circuit) son. millones de veces més répidos que los relés, ocupan un espacio bastanto reducido y tienen consumos ca si superiluos, Se venden en contenedores (caias) estindares, nor- malmente de materal pléstico y con dos fas de pines adaptados para su soldadura 0 para su insercion en Zocalos’ especiales de soporte Dentro del contenedor hay un minisculo rectangulo de silicio, el chip (literalmente, pedazo, astilla), en el que esta implantado el circuito con un procedimiento que describimos en otra seccién, Al chip estén conectados los pines (litgralmente, alfi- leres) que aseguran las conexiones eléciricas con el exterior, Muchos circuitos integrados son compdhentes es- tandar: conectandolos entre si del modo adecuado se puede realizar cualquier dispositive Iégico. DIGITAL Niveles logicos En los circuitos integrados digitales, los estados lagicos se representan generalmente mediante ‘tensiones electricas La légica binaria se basa en dos Uinicos estados (1 y 0, verdadero y falso): por eso es necesario repre- sentar estos estados en los circuitos. El convenio empleado por los integrados digitales mas difundidos del mundo es muy sencilla 0 1 no hay tensién (por ejemplo 0 V) hay tensién (por ejemplo, 5 V) ‘A menuco, para evitar ambiguedades, se utllizan los simbolos L (low: bajo) y H (high: alto) para indicar gy ias sefales eléctricas digitales, ios dos explicitamente el nivel eléctrico; seguiremos este estagos se representan con riveles de tension, convenio en la seccién Componentes. como 0Vy +5 \ OES Los circuitos integradas requieren una cierta cortiente. proporcionada por una tensién de alimentacién, por ojomplo, +5 V. La tension se aplica_entre el pin ce alimentacién (Vcg) y el de masa (GND), que es tambien el cero de referencia para las senales logicas: - Una entrada conectada a masa (bajo, L) vale cero, Una entrada conectada a la alimentaci6n (alto, H) vale uno. Las entradas y salidas de os clreultos légicos pueden _Las entradas no se deben dejar nunca abiertas (no co- ‘asumit dos tnicos valores, normalmente nectadas), porque su estado ldgico seria indetermi- Correspondlentes a masa (0) y & alimentact6a (4). ae To Como las entradas y las salidas utilizan los mismos Convenios, los circuitos lOgicos pueden conectarse directamente entre si sin problemas. Antes o después, sin embargo, es necesario conec: tarse con el mundo exterior, por ejemplo para de- tectar la interrupcién de! rayo de una célula fotoelée- trica 0 para poner en marcha el motor de una puerta automatica. Desarrollan esta tarea los circuitos de interfaz: por ‘ejemplo accionan (desde una salida iogica) un rele, que a su vez controla la corriente de un motor Un circuito de intorfaz conecta los delicadas ciruitos 16gicos con los robustos motores que muever la puerta. 14 Umbrales jeles logicos no son tan precisos como su representacion tedrica En realidad, los ni La electronica digital se puede aprender también desde un punto de vista puramente légico: para sencillos proyectos de aficionados es suf ciente, Peto cuando se afrontan disefios medianamente complejos 0 se entra en el campo profesional, se descubre que las cosas Son un poco me- nos sencillas de lo que parecen. Asi, seré ul disfrutar de una répida panorémica sobre algunos de los problemas a los que se enfrentan os disefladores. TE NES En los circultos Ideales existen solamente los dos niveles de tension que deinen con precisién los valores correspondientes a Ly H. En realidad, sin embargo, hay infinitos matices intermedios. Por ejemplo, qué sucede durante el paso de L a H de una salida, y por tanto de la entrada de otro integrado a ella conectado? Como la ten- sion no puede pa- sai magicamente de 0Va5 ¥en .un tiempo nulo, se moverd rdpida: i mente do un valor a otro, atravesando todos los L valores intermedios. le Tempo oe subica La sefiallogica Ideal pasa instantaneamente de un valor 4 tro, pero la real emplee un clerto temo. Ieee La detinicion real de los niveles I6gicos es por tanto distinia de la ideal. En los integrades se definen dos riveles de umbral, por ejemplo, 1,5 Vy 3,8 V. Asi, una tensién de entrada se evalia con estas reglas: - Si es inferior al umbral bajo, vale L (cero) - Si es superior al umbral alto, vale H (uno). - Si es intermedia entre los dos umbrales, no esta definida: puede considerarse Lo H, 0 causar pio blemas. Para un eorrecto funcionamiento, las sefales no Para que el vaior\égico de una sefal no sea deben encontrarse nunca en la tercera situacién, ambiéue, no debe quedar fuera de los umbrales salvo durante el paso répido de un estado al otro. **Penineados. DIGITAL Problemas practicos No basta un esquema logicamente correcto, es necesario poner atencian también a la realizaci6n fisica del circuito La tension de alimentacién debe ser estable, dentro de la tolerancia indicada por el fabricante, y proporcio- nar la corriente necesaria. Esta altina es normaimente minima, pero no durante Ja conmutacién, es decir, el paso de un estado al oir, ‘en cuyo caso hay un pico de absorcién ondensador de Es necesario para esto un “depésito de reserva’, os do. dosacoplamiento cir, un condensador entre alimentacién y masa (los con- densadores se describen en la leccion 5 ce Analdgica), tos condensadores de desacoplamiento proporcionan os picos de coriente durante las conmutaciones, evitande interferencias en los ciruitos adyacentes, Las sefales digitales no estan limpias: tienen distorsio- nes y “ecos” (reflexiones) en las conexiones y pueden recibir interferencias del exterior. La propia corriente, pasando po’ la resistencia baja (pero no nula) de los cables, causa pequenas caidas de tension y altera los niveles ldgicos. Los umbrales logicos de las entradas garantizan una cier- ta inmunidad a las interferencias, aunque pueden variar con la temperatura. Estos problemas se manifiestan normalmente en circuitos Una serial logica real no esté nunca “limpia” complejos y répidos, y requieren un detenido estudio de como su equivalente tedrico, la disposicién de los componentes PERU Poniendo en cortocirculto (vulgarmente, “en corto”) la selida de un integrado, es decir, conectandola a masa 0 a la alimentacién, hay muchas probebilidades de recalentarlo y destruirto. Igual de peligrosas son las cargas electrostiticas quo, especial- mente en invierno, pueden llevar al cuerpo incluso miles de voltios con respecto a tierra: tocando un componente, se “fulmina’’ En (a Industria se toman precauciones ntra las cargas electrostaticas, por jemplo, 1a puesta a tlera del cuerpo ‘mediante una resistencia. DIGITAL Logica combinatoria Conectando varias puertas elementales, se p Una sola puerta légica desarrolla un trabajo de gren sencillez. La fuerza do la electrénica digtal roside en la pesibilidad de combinar las puertas entre si. Consideremos por ahora circuitos des- provistos de memoria, en los que el es ado de las salidas dapende s0io y exclu- ‘sivamente del estado de las entradas, in- ‘dspendientemente de los eventos suca- didos. fomple do legiea combinatoria: una puerta AND ‘do tres entradas construida con dos puertas AND de dos entradas. enadaA | ertreda® | entradeC | saliéaD ° 0 0 0 Tabla de verdad de un AND de tres entradas: la salida es 1 ‘solo si todas las entradas son 1. EI Desde el punto de vista formal, esta es la expresion légica que describe las dos puerias AND combina- das: Y=(A"B)"C donde ia parte enire paréntesis (A * B) representa e! primer AND. Es equivalen- te ala expresion logica que describe un AND de tres entradas: Y=A‘B*C Con e! mismo sistema se puede construir un OR de tres entradas. La expresién logica os ‘on este caso: Y=A+B+C. 7 ueden realizar funciones logicas complejas Se utiliza en estos circuitos el término légica combi- natoria, contrapuesto a la légiea “secuencial” que introduciremos dentro de algunas lecciones. (OEUEEE Supongamas que dsponemos tan solo de puerta ‘AND de dos entradas. ;Podemos realizar con éstas un AND de tres entradas? Ciertamente: basta con combinarlas como muestra la figura de arriba. La salida es 1 s6lo si todas las en- tradas son 1, como se ve también en la tabla de ver- dad adyacente, Desde el punto de vista légico, los dos circuitos ilus- trados son totalmente equivalentes (aunque, en la practica, el circulto de dos puertas es ligeramente ‘mas lento). E! sistema es naturalmente extensible, aplicando epetidamente la misma técnica para realizar AND con cualquier numero de entradas. En la practica, en el AND Idgico, igual que en la mul- tiplicacion normal, los paréntesis no alteran el resu- tado. El uso de la letra Y para representar la salida es un convenio muy difundido. DIGITAL Los primeros circuitos integrados légicos no conte- nian puertas sencilias AND y OR, sino sus correspon- dientes con la salida negada: NAND y NOR. Un NAND no es otra cosa que un NOT AND. es decir, un AND seguido de un NOT, como muestra la figura, aplicéndose lo mismo para el NOR (NOT OR), 'NAND y NOR equivalen respectivamente @ AND OR, seguidos de un inversor (NOT). Uniendo las entradas de un NAND o de un NOR, ‘se obtiene un inversor (NOT). CN EE En a figura puede verse la disposicién de un glorioso componente hisiérico: el 7400, cuizds el integrado di- gital més antiguo todavia en uso (aunque sea en ver- siones actualzadas, como el 74HC00). Este componente contiene cuatro puertas NAND, por lo que puede utilizarse para construir NOT, AND y, ‘como veremos, también OR: en ja préctica, cualquier circuito combinatorio. Es evidente la ventaja de poder tener un solo com- ponente logico, utiizandolo para todas las aplicacio- nes, aunque con alguna pequena complicacion en el proyecto. 18 NAND y NOR Con frecuencia se utilizan puertas lagicas en las que la salida esta negada, es decir, invertida lagicamente La negacién, 0 inversion légica, se indica en los os- guemas con un pequefio circulo situado en la salida do la puerta légica. oo TES En los albores de los circuitos integrados digitales, rea- lizar un NAND en lugar de un AND permitia una mayor ‘simplicidad de construcci6n y una mayor velocidad de funcionamiento por motivos estructurales. ‘Ademas, existia la ventaja de poder realizar un NOT simplemente utilizando uno de los distintos NAND. (normaimente dos 0 cuatro) contenidos en el mismo integrado, Asi, era posible utilizar un circuito integrado para desa- rroliar varias funciones, ahorrando componentes. Es- ta ventaja todavia hoy es valida, aunque en menor medida Recuperaremos més adelante esta ventaja modern'- zada, en los circuitos integrados programables por el usuario, £17400, como su moderno doscendiente 74HC00, contione ‘eatro puertas NAND en un mismo ‘componente. Construir un XOR Como ejemplo de circvito logico combinatorio, realizamos un OR exclusivo utilizando puertas AND, OR y NOT Observando la tabla de verdad del XOR (en la figura donde B significa NOT B, oxpresién que es preci- de al lado), podemos describir todos los casos en los samente cierta cuando B vale 0 (lo mismo ocurre con que la salida vale 1: A). la entrada A vale 1 y la entrada B vale 0 9: la entrada B vale 1 y la entrada A vale 0 Sustituyendo *y" por “*” (AND) y “o” por “+” (OR), ob- tenemos la expresién légica que da el valor de la salida Y: Y=(A*B)+(6*A) Tabla de vordad del XOR: las des combinacionos centrales dan 4 a la sada Utilizando inversores como NOT, AND en lugar de la tradas y examinar ol valor légico do los distintos pun- multiplicacién (*) y OR en lugar de la suma (+), obte- tos del circuito, continuando hasta las salidas. nemos un circuito equivalente al XOR, mostrado en la figura Por ejemplo: si A vale 1 y B vale 0, el inversor conec- tado a B dara 1. Ambas entradas del AND de abajo Para asegurarse del funcionamiento correcto, basta estaran a 1, por lo que también estard a 1 su salida. con aplicar las cuatro posibles combinaciones de en- En consacuencia, el OR final encontrara al menos un 1 a la entrada y dara por tanto 1 a la salida (independientemente de la otra entrada). Del mismo modo se pueden analizar las otras tres posibilidades. Cémo realizar un OR exclusive (XOR) con AND, OR NOT; no es el sistema mas sencillo 0 ‘comodo, pero funciona, SME El circulto de arriba no es el més sencillo posible; en _ficar las expresiones ldgicas, y por tanto los circuitos la figura aparece otra alternativa también valida, que que las representan. utiliza una puerta menos, Existen numerosas téenicas (en as que profundizaremos._| en este curso) para simpli- | ® <= perono ambos ‘tro posible modo de realizar un XOR, logicamente equivalente al arriba mostrado. DIGITAL Conla ‘Tomamos la tabla de verdad del AND y escribimos el complemento légico (es decir, el inverso 0 la n gacién) de las entradas y la salida; cambiamos 1 por Oy vicoversa. La tabla de verdad asi obtenida... ino es ota que la del OR! Lo que significa que invirtiendo las entradas Ay i Directo y negado yuda de algén inversor, un AND puede sustituir un OR y viceversa la salida de un AND (con inversores, es decir NOT), se obtiene un OR. Recipracamente, invirtiondo las entradas y salidas de un OR se obtiene un AND. Por eso es suficiente una sola de las puertas para poder construir también la otra, aunque sea mas comodo tener las dos. Tabla de verdad det AND en versién normal ¥ con el complemento (inversion logica) de las entradas y la salléa; se obtiene fa do! OR. La que acabamos de describir es una aplicacion del teorema de De Morgan, que escrito de un modo mas formal confirma las dos equivalencias. NAR UN NAND- Los tres simbolos de la figura son equivalentes; re- presentan todos un NAND. En los esquemas puede ‘ccurrir que nos encontremos estos ciferentes con- venios de representacion... ino todos juntos, se supone! El uso de los pequefios circulos (como abreviatura del NOT) pa ‘Tres modos de disefar un NAND: pprimoro 03 ol elasico, ol tercoro ol ‘que sigue la norma IEC. Tres puertas NAND, dos de ellas empleadas como inversor, permiten realizar un OR. —a— (A¥B)=A°B (A*B)=A+B Podemos leer la primera como “un NOR equivale a un AND con las entradas negadas" y la segunda co- ‘mo “un NAND equivale a un OR con las entradas negadas”. La figura muestra cémo construir una puarta OR utilizando solamente puertas NAND, por ejemplo tres de las cuatro contenidas en un 74HC00, ra indicar las entradas negadas del segundo simbo- lo complica probablemente la legibilidad. De hecho, el uso de un simbolo OR puede hacer poco evidente fecto de las entra- el hecho de que en realidad (por ‘das nogadas) 60 trate do un NANI ol primero o el tercer simbolo. — Dp Familias de Una quia para orientarse entre los principales ti Los circuitos integrados digitales se dividen en dos grandes categorias: MOS y bipolares, divididas 2 su vez en varios grupos. La diferencia oxistente radica en su estructura inter na (los primoros utilizan transistores “MOSFET”; los segundos, transistores “de junta’ 0 ‘BJT"), pero aqui nos interasan solamente las implicaciones practicas. Entre los MOS prevalecen ahora los EMOS (MOS complementarios), mientras que entre los bipolares estén los TTL (transistor-transistor loge: Idoica tran- sistor-transistor) y los ECL (emitter-coupled logic: I gica acoplada de emisor) | aa pee | cmos | 38g BiB | rn 74H1COO ay Gf pie 7400 | aaq Bay 7avleToo rasoo Ps ata) Eas | ic oy qh oe aA rs DIGITAL J integrados 10s y variantes de los circuits logicos Saaz CMOS y TTL, las dos familias mas difundidas tanto ‘en el Ambito industrial como en el particular, tionen a menudo en comin la disposicién de los pines. La serie 74, introducida inicialmente por Texas Instru- ments para sus TTL, constituye un estandar confir- mado, Asi, podemos tener un 7400 (TTL) y un 74HCOO (CMOS), distintos eléctricamente pero con disposi cion de pines idéntica y con la misma funcién logica (NAND cuadruple). {Las versiones CMOS y TTL de este NAND cudcruple, y muchas de sus variantes, tienen las mismas conexiones. EE Los primeros integrados eran SSI: single-scale inte gration (integracién a pequefia escala), os decir, rou- nnfan pocos Componentes (transistores} en sus chips de silcio, Después Ilegaron los MSI (medium-scale integra- tion: integracién a mediana escala), los LSI (large~ soale: a gran escala), los VLSI (very large-scale: a muy gran escala)... y el numero de componentes au- menta ahora mas rapidamente que las siglas. Des- menticas continuamente las previsiones de un pro- ximo limite fisico a la miniaturizacién, es previsivle Que continde al ritmo actual todavia algunos afios, por lo menes. En un solo chip ya es posible inlulr decenas de millones de componentes. a Una curiosidad: hasta ahora siempre se ha cumplido la empirica ley de Moore: el ntimero de componen- tes integrables en un chip (do un detorminado tama- 10} se duplica mas o menos cada 18 meses. DIGITAL MOS y CMOS Un bajo consumo y una buena inmunidad a las interferencias estan entre las ventajas de la tecnologia MOS Los circultos MOS requieren muy poca corriente para funcionar: practicamente consumen solamente duran- te las transiciones de un estado a otro. ‘Sus entradas stan a una alta impedancia, es deci, ‘se comportan como una resistencia de valor muy ele- vado (decenas o centenas de megaohmios), sin inter- ferir en el circuito al que estan conectados. Finalmente, tienen un buen margen de inmunidad al, tuido: normalmente, una interferencia que altere por encima de 1 V la tensién en una entrada no causa la lectura de un nivel ldgico errdneo. La seiie T4HC resiste bien a las interferoncias ‘sin interpretar erroneamente las seriales logicas. CSS ‘Ademés de los modemos CMOS de la serie 74HC y similares, todavia se utilizan (aungue estén en vias do ‘extinoién) los intogrados MOS de la serie 4000, me- nos recientes. Son bastante mas lentos, sensibles a las cargas electrostaticas (es {acil estropearlos mien- tras se manejan) y estén expuestos a un problema de Tados (0s cicuitos bloqueo destructivo llamado “latch-up’ integrados estan protegidos fas cargas Sin embargo, pueden funcionar con una tensién de reese jentacion mas elevada (incluso 15 V), lo que ga~ ‘paro los CMOS rantiza entre otras cosas una inmunidad aun mas ele- on especialmente vada a las interterencias, sensibles. que la “T” adicional significa “TTL”: son CMOS, pero disefiados para su conexién directa a los TTL. Uniprales Tr. Umbrates La diferencia reside en los umbrales ldgicos de las entradas que, como hemos descrito en ia siguiente pagina, en el caso de los TTL son distintos (y peores). En los proyectos nuevos es mejor emplear solamente los HG, pero a menudo es necesario conectarse a tras dispositive que proporcionan sefales a nivel TTL, por lo que puede ser util recurrir a los HCT, Adaptedor La salda de un TTL no puede conectarse directamente a un HC, 5 necesario utilizar un HCT que tenga los umbrales correctos. El primer inconveniente de los TTL, la familia mas di- fundida de integrados bipolares, consiste en que tic- nen umbrales légicos asimétricos. Sell do ‘ortrada En patticular, 6! umbral del nivel bajo (L, cero) esta demasiado préximo a la masa: una débil interferencia puede ser ya suficiente para causar un error. Ademés, funcionan sélo a 5 V de alimentacién, mien- tras que los 74HC son més flexibles (normalmente de 2a6V). Los umbrales de las entradas reprosontan los TTL, ‘como el 7400, sensibles al ruldo eléctrico. La interlerencia ‘en ol nivel L podria laterpretarse como H, \ tntrterencie que superset uma Enea Adiferencia de los MOS, las entradas de los TTL requieren co- rriente, en la practica, para indicar el nivel L es necesatio ab- Sorber corriente hacia masa, La figura muestra un circuito equivalente, en primera aproxi- Lo ne macion, @ una entrada TTL: una resistencia conectada’a la I comets alimentacién Si la entrada esta a nivel alto (H) no pasa corriente, mientras ar que si esta a nivel bajo (L) pasa corriente (del orden de un miliamperio) i Multiplicando esta pequefa corriente por el nmero de entradas, Ha es facil alcanzar consumos basiante elevados. Ademas, esto Lo limita el numero de entradas que pueden conectarse a una Some, salida (fan-out) La entrada de un TTL se comporta mis o menes como una resistencia: si el nivel es bajo (L, cero) se tiene absorcién de comriente, triente de entrada, como en el caso de la serie 74LS: un 74LS00 consume mas o menos una cuarta parte del consumo de un 7400. (4S \ Otras variantes offecen mayor velocidad, como los 74S (Schottky), los 74F (fast) y otras versiones utiliza- das donde os CMOS no llegan. Para velocidades suporiores (con el cosie de consu- mos elevados) es necesario recurtir a familias bipola- izadas, como la ECL. DIGITAL Problemas de conexion Para un buen funcionamiento es necesario respetar algunas reglas Ala salida de un TTL el nivel H es muy bajo: solo 2,4V, insuficiente para la entrada de un CMOS serie HC. Ademas de la solucién ya citada, pero no siempre préctica, de utilizar un HCT adecuado como interme- Resistencia de pulup diario, a menudo basta una resistencia (pull-up, tirar hacia arriba), como se muestra en la figura De hecho, las salidas TTL “aspiran" corriente hacia abajo cuando estan a L; si estdn a H son casi libres y puede “tirarse de ellas” hacia arriba con la resis- tencia para aumentar al tension. Una sencilla resistencia es a menudo suffclente para adaptar tuna salida TTL a una entrada CMOS, subiendo el nivel ldgico H. LIMITES A LA SALIDA Un CMOS de la sere 74HC puede controlar de todo; en su salida se pue- den conectar tanto TTL como CMOS. No obstante, como las entradas TTL ¥. requieren corriente para estar a nivel Ee L (bajo), es necesario verificar que la salida la pueda proporcionar. Capacided equivtente de Un segundo problema es mas enga- + —— as envaaas floso y se produce, especialmente con los CMOS, cuando una misma salida esté conectada a var entradas Como cada entrada tiene una peque- ia capacidad hacia masa, estos pe- quefios condensadores (en paralelo entre si) se suman, formando un filtro gue aera ligeramente 12S SENAI°S supp sada contro varias entradas, pare lt TT pico eal aaa oniente (fan-out), mientras que para los CMOS es la capacidad de las entrads Las entradas MOS y CMOS no se deben dejar nunca _cluso recibir una interferencia a 50 Hz de la red de abiertas, porque su estado es indefinide: pueden in- _alimeniacién (por “acoplamiento capacitivo"), Una en- trada TTL abierta es tedricamente H (Alto), pero conviene conectarla en cualquior caso a la alimontacién con una resistencia, para eliminar posibles sefiales no deseadas. abertas Lo) Lo Las entradas no se deben dejar aunca abiertas: asi es como se pueden conectar correctamente para tener 0 (L) 6 4 (H). DIGITAL Nomeros binarios Las combinaciones de bits, o sefiales eléctricas digitales, pueden representar ndmeros Un bit puede estar en dos tinicos estados, por lo que Berteciores podemos utllizarlo para representar dos valores ae bts ‘numéricos: por conveni 0 (cero) y 1 (uno). ‘Afiadiendo un segundo bit tenemos cuatro posibles combinaciones: 00, 01, 10 y 11. Con otro bit las, combinaciones se duplican y llegan a ocho, como se ve en la figura adjunta. Tres bits ofocon Disponiendo de un ntimero suficiente de bits, o bien °™mbwaclones dettes, de las sefiales logicas correspondientes, podemos __caetpanderson oe representar cualquier valor decimal. valores do 02 7, ees El e6digo binario habitualmente utiizado es comple- sos (multiplicadores) de las columnas no son tamente equivalente al oédigo decimal habitual, salvo potencias de 10(1, 10, 100, 1.000, etc.) sino potencias or el hecho de que emplea dos tnicas cifras (0 y 1, de dos: 1, 2, 4, 8, 16, 32, etc. Obviamente) en lugar de diez. Con uestros nimeros decimales, la primera columna de la derecha es la de las unidades, después estén las decenas, las centenas, los miles, ete. Numero binarie: 101001 Lo mismo se puede hacer con los nuimeros binarios, sdlo que los pe- ara calcular el valor de un nimero binario, se suman los pesos de las ‘columnas donde hay un 4. 41. (dima CEES Si todo cable de un circuito digital representa un bit positives digitales, como un ordenador o un lector de (con el convenio H=1 y L=0), un grupo de cables discos compactos, representan los nlimeros en su puede representar un valor. Basta con ordenar los _ interior. cables de modo que el que represente el bit menos significative (LSB: Least Significant Bit) sea el de peso 1 y el que corres- MSB (Mag signiticatvo) Ponde con el bit mas significativo (MSB: Most Significant Bit) de peso | cabie3 peso 8) H—> 8 est, ve u peso 82, en el caso de 6 cables. Es exac- | Cadre 2(pes04) L— 0 esl vale coro tamente de este modo como los dis- | Sable 1 (peso 2) —— L— 0 esl vale oo Cable 0 (peso 1) H— 1 eH, vale su peso Un grupo de cables puede representar un 9 (decima se anes Seitesto) niimero si se asigna un peso a i" se ‘a cada cable DIGITAL Los circuitos integrados un poco mas complejos que las sencillas puerias ldgicas se llaman MSI (Middle Scale of integration: escala media de integracién): existe una gran veriedad de tipos. Se utiliza mucho el decodificador, que activa una de las posibles salidas segun las combinaciones de las sefiales de entrada. A menudo se utiliza para elegit Un disposttivo entre los disponioles, aplicando en su entrada el numero de la sailda al que esta conec- tado Si por ejemplo hay 3 entradas, dan luger @ 8 posibles combinaciones: habra por tanto 8 salidas distintas. Se trata de un decodificador "3 a 8° Observando la tabla'de verdad de la figura, se puede ver que representa las mismas combinaciones de tres bits mostradas en la pagina anterior. En la prdctica, el decodificador no hace otra cosa que poner a 1 (nivel eléctrico H) la salida correspondiente al numero binario configurado en las entradas. Sipor ejemplo a la entrada hay 011 (es decir C=0, Az1), 82 pondré a 1 sdlo la salida Y3: en realidad el ‘numero binatio 011 corresponde al numero decimal 3. Decodificadores Estos circuitos eligen una salida segin la combinacion de las entradas logicos on las entradas a, b, eactiva una salida distina y. las denas a 0 las demas a 0 las demas a 0 las demas a 0 las demas 2 0 las demas 2 0 Y6et, las demas 20 las demas a 0 Tabla de verdad de un decedificador “3 a 8": es verdadera (1) solo {a saliéa indicada por e| nimero binaro conigurade a fa entrada, Normalmente los decodificadores disponen también do una sola entrada de habilitacién (enable), cuya funcién es la de activar 0 desacivar las salidas. Si el decoditicador esté desactivado ninguna de las salidas se activard, sea cual sea la combinacién de las entradas. En los dispositives comerciales es necesario tener cuida- do, porque las salidas y la entrada de habilitacion pue- den tambien estar negadas (es decir, activas a 0), como en el ejemplo mostrado en el curso de Componentes. Datio que et numero binario a fa entrada (044) corresponde al 3 decimal, y la entrada de hablitacton (6) vale 4, la salida YB se hhac0 vordadera. Sumas en binario Las sumas en codigo binario son identicas a las realizadas en codigo decimal a las que estamos habituados Para hacer sumas en cédigo binario, es decir, en base 2, se procede exac- tamente como en las sumas normales, recordando que: 0+0=0 O+t=1 1+ 1= 10 es decir 0 “llevandose” 1 En realidad, dado que la cifra "2" no existe, 1+1 se pone a cero y produce acarreo, Recordemos que “10° en binario se lee uno-cero (no “diez’) y va- le realmente 2 en decimal. Puode parocor oxirafio, pero los sistemas binario y decimal funcionan ‘exactamente del mismo modo: si estuviéramos acostumbrados de otro modo, encontrariamos normal el binario ¢ incomprensible el decimal. tinario | decimal (000 001 ae Partiendo de 0 y sumando 1 cada a vez, se obtiene /a tabla mostrada en la nas figura de al lado: son los primeros 16 nime- 101 ros binarios, que en electronica se encuentran ha- bitualmente. o110 oad En realidad los bits estan a menudo reunidos en grupos de 4 0 sus miltiplos aa (especialmente 8, 16, 32 y 64) como normalmente ocurre en los ordenadores. aa Se debe observar la regularidad de [a tabla: la primera columne de la derecha rise Cambia en cada cia, la segunda cada dos, la tercera cada cuatro, la cuarta cada ocho. 1100 aio 1120 Les primeros 16 numeros binaries, que pueden representarse con ef estado loglco de es A hile, y 30 equvalente decimal Cuando varios hilos representan un grupo homogé- La anchura del bus indica ol numero de hilos, o¢ decir, neo de datos, como por ejemplo un nimero binario, el niimero de bits; por ejemplo, un bus de 16 bits (16 @s initil dibujarlos uno a uno. hillos) puede transportar un nlimero de 0 a 65535, a Se utiliza en lugar de ello un hilo con ta indicacién del 0 loque es lo mismo 65836 “ GOAN. Amero de hilos tnicos representados. Un conjunto combinaciones distintas. f Esquoma de un bus de hilos homogeneos se llama también bus. cl paces} (i aces Sameer OAC CS) un numero de 4 bits. (" ) wD DIGITAL Arboles de decodificador Existen decodificadores con mas y menos salidas, y los que no exi: ‘Ademés de los decodificadores "3 a 8° ya descriios, se pueden conseguir decodificadores 2 a 4, es decir con 2 entradas y 4 salidas, 0 bion do 4a 16. Si se necasitan decodificadores con varias salidas, 6s posible realizarlos partiendo de decodificadores mas sencillos y aprovechando la entrada de habiltacién Es el principio de la division del trabajo: los bits de mayor valor (mas significativos) eligen qué decodificador activar, el resto eligen la salida. Para encontrat un destinataro, el cartero ‘devoditica” primere la call y después ol nimerc. Ee ae Con 6 bits se obtienen 64 combinaciones: seria posible un decodificador °6 a 64", poco practico pero en un solo chip: se necesitarian al menos 72 pines, ‘Se puede construir con el principio antes deserto: ‘ocho dacodiicadores de 8 salidas, dingidos a su vez por un posterior decodificador de & salicas. La figura muestra el esquema del dispositivo, omitiendo por simplicidad los otros 6 decodifica: dores (U4 a US) en patalcio a los dos dibujados en lo que se retiere 2 A.B, C, pero cada uno con habilitacién propia (G) EI primer decotificador Ut, drigide por fos 3 bits Inds signifcativos, lige cull de los otros 8 activa PSY Para entender ol circuito, dividimos los 6 bits de De este modo, toda posible combinacién de entrada entrada en dos grupos de 3 bits, como muestra la figura activa una sola salida de un unico decodificador, adjunta El grupo de la izquierda, el més significativo, va al decoditicador U1, que activa una de sus 8 salidas, act- vando (con la entrada G de habiltacién) uno de los 8 decoditicadores U2-US. El grupo de 3 bits de la eetnin eee derecha, el menos significativo, va a los decodifica- Get decedicader elegido dores U2-U3; uno solo de ellos estaré sin embargo es activo, el slegido por UT. envowe: “30a "ora Division det trabajo: os tres bits de la izquierda eligen el decod- NE ei ficador que van a activar; éste elige la salida segiin jos tres bits de fa derecha, Temporizaciones El tiempo juega un papel fundamental en los circuitos electronico Aparentemente, los circuitos Idgicos responden a las. sefiales de modo inmediato: en cuanto cambia la entrada, la salida se acomoda al cambio, Se trata sin embargo de una impresién debida a la lentitud de los reflejos humanos con respecto a los tiempos de respuesta de los dispositivos electrd- Nicos. Vista desde cerca y con una escala de tiempos distinta, la electiénica digital pierde su caracter binario (1/0, verdadero/falso) para asumir contornos mas imprecisos Para representar el comportamiento de las Seftales l6gicas en el tiempo, basta ver e! dia- grama adjunto. Se suele cibujar en el eje honzontal el paso del tiempo, mientras que en el vertical se muestra | nivel l6gico (es decir, en la practica el valor de la tensién) En un mismo diagrama se pueden reprosontar varias sefales, de modo que se resalten las relaciones temporales: lo que ocurre antes y lo que ocurre después, Por ejemplo, en la figura la transicién (cambio de estado) de H a L de la serial A precede en 50ns ala de La H de la sefial B 29 CES Si un circuito cambia de estado regularmente un millon de veces por ‘Segundo, el tiempo entre una transicién (cambio de estado) y la si- Guierte es de una millonésima de segundo, o microsegundo (1s). También los circuitos mas répidos tionen sus tiempos de respuesta; ningin cambio de esta- do se produce de mane- ra neta, Un pestaieo parece instantineo, pero sin embargo es gradual: 4o mismo oeurte con ios eircuitos iillenes de veces mas ‘pies. En electronica, un microsegundo es un tiempo bastante largo: la Unidad de medida normalmente utiizada es el nanosegundo (ns), es decir, una mitmillonésima de segundo. Para examinar de cerca los detalles de algunos fendmenos electroniccs, 8 utilzan ademas los picosegundes (ps), milésimas de nanosegundo. 200250300 ep Ins 150 Diagrama de temporizaciones: 1 eje horizontal muestra! paso del tiempo en nanasegundos DIGITAL Retardo de sheik Un primer nivel de aproximacién, suficiente en muchos casos, consiste en fingir que la transicién de un estado a otro es instanténea. Asi, se presta solamente atencién al tiempo que emplea la sefal légica para atravesar un circuito digital, por ejemplo una puerta logica. A-esto también se le denomina tiempo (0 retardo) de propaga- cién de la sefal, medido desde la entrada a la salida, 0 bien "tiempo de transito" RETARDOS EN LOS DIAGRAMAS Los diagramas de las temporizaciones permiten representar explictamente los retardos dabidos al ‘ruce de los circuites logicos. Por ejemplo, la figura muestra las sefiales medidas en tres puntos de un sencillo circuito, constituido por dos inversores en serie. Desde el punto do vista puramente légico, la seal en la salida C es idéntica a la de la entrada A, dado que las dos inversiones se anulan: si hay un 1 en la entrada hay un 1 en la salida. y viceversa. En el mundo real, sin embargo, C esté retrasada con respecto a A: la sefial debe atravesar los dos NOT, cada uno de los cuales le hace perder tiempo. Cada inversor tiene, en este ejemplo, 2 ns de tempo de propagacién; la salida C tine por tanto un retarde de 4 as con ‘especto ala entrada A. GWE eo No todos los circuitos integrados tienen el mismo productos (por ejemplo 74HC). Cada familia que se tiempo de propagacion. Esto depende, en primer puede acguirir en comercios tiene un tiempo tipico de lugar, de las caracteristicas de la familia de propagacién de la puerta l6gica individual; los circuitos formados por varias puertas tienen naturaimente tempos mas largos. Este tiempo no es constante, sino que de- pende, entre otras cosas, de las tolerancias de produccién y de la temperatura. El tiempo de propagacion se puede estimar por e! ‘dinero de puertas ldgicas entre la entrada y la salida que interesan, 7 en este caso, Fallos imprevistos (glitch) Los retardos de propagacion pueden causar molestias extraiias, como por ejemplo crear interferencias breves pero molestas Circuitos relativamente lentos, como las centralitas Los tiempos de propagacién pueden originar la apa: de antirtobo, pueden responder en tiempos del orden _rici6n de breves sefiales no deseadas, lo cual seria de decenas de milisegundos 0 mas. causa de posiples problemas. Asi, el disefiador podria pensar que no tiene que preocuparse por los pocos nanosegundos del tiempo de propagacion. Sin embargo, se equi- vocatia. Este sencilo citcuito combinatorio produce un breve ‘impulso (de L a H a L) en cada cambio de estado de la ‘seal de entrada. CET La figura de arriba muestra una puerta XOR (OR En ausencia de transiciones la salida esié siempre a exclusiva), una de cuyes entradas 90 ha retrasado 0: las dos entradas A y B tienen el mismo valor légico. con un par de inversores (NOT) Pero, sin embargo, si la entrada A cambia de estado, una entrada del XOR cambia répida- mente mientras que la otra (B) cambia poco después. En el breve intervalo en que las dos entradas del XOR son distintas, la salida se pone a 1, es decir, €/ Circuito produce un breve impulso. EI diagrama temporal adjunto muestra como las sefiales en las entradas Ay B estan destasadas, es decir, igeramente retrasacias-una con respec to ala otra. + Eldestase entre A y 8 causa un impuiso en la saliéa Y de Destase 1a puerta XOR, en ef breve perodo en que Ay B tlenen un onto Ay valor légico distinto. PROBLEMAS CON LOS FALLOS IMPREVISTO: Todo va bien si el impulso se desea, pero sino se de- entrada, por un instante sea toma el nombre de allo imprevisto (glitch), una se activen dos salidas, 0 de las pesadillas de los disenadores digitales. ninguna. Enisten circultos (muy utiizedos) sensibles a las transi- A menudo, fats imprevistos ciones: un fallo imprevisto los activa accidentaimente. _¥ breves superposiciones Veremos a continuacién cémo se afronta este problema. (Por elemplo dos salldas ‘ncampatibies activas af En distintos intogrados, como normalmente los decodi- mene temp) se genera ficadores, ol retardo no es el mismo para todos los tta-Genire de los mismos, yectos: puede suceder que, cambiando el nimero ala Integradoe. DIGITAL En los diagramas de las temporizaciones nusstras sefiales Idgicas cambian de estado (conmutan) con una transicion neta. En el mundo real... jlas sefiales digitales no existen! Los circuitos se realizan con componentes anald- gices, y una transicion de La H pasa por infinitos estados intermedios, Ello no constituye normalmente un problema para los disefiadores, pero hay consecuencias practicas que se deben tener en cuenta, Examinada en tiempos muy breves, una sefial lagica real es ‘bastante menes limpla que su forma rectangular eal. STEELY Para pasar de La H, una sefial légica omplea tiempo: este intervalo se llama tiempo de subida, Su reci- proco es el tiempo de bajada empleado para pasar de HaL En una parte de la subida, 0 bajada, el valor de la tension esta fuera de los limites que definen Ly H y es por tanto indefinido. Los tiempos estan influidos en- tre otras cosas por la capacidad de las entradas: cargar un con- donsacor, aunque sea pequero, requiore un cierto tiempo. Sh oaza Las capacidades presentadas por las entradas de (as puertas logicas (y por las conexiones) requieren tiempo para ser cargadas. Ey EI consumo de los modemos circuitos digitales CMOS es superfiuo, pero solo hasta que las entra das quedan esiables. Cada transicién implica un cierto consumo de co- Mente, que se produce durante el paso gradual de un estado légico a otro. El consumo solamente ce la transicién es minimo, pero si se produce en gran numero el total no es superfiuo. Tiempos de conmutacion La transicin de un estado logico al opuesto no es en absolute instantanea ——___—»+ Setal ideal Lo que significa que conectar muchas entradas a una sola salida ralentiza la sefial; en algunas situaciones esto es importante, Sela distesionaca Yealenirasa on conga apace Conceteias El consumo de un clreuito CMOS depende mucho de la frecuencia de trabajo, 5 decit de! numero de transiciones por segundo. Multiplexor Es frecuente la exigencia de seleccionar una s Cuando cambiamos de canal en la television, no ha- ‘emos otra cosa que conectar la tnica pantalla dis Ponible a uno de los distintos canales de recepcion. El problema de seleccionar un “canal” surge a menu: do también en electiénica digital, cuando es necesario realizar un selector que elja entre varias sehales. La version digital de este selector, dirigido por sofia. les ldgicas en lugar de por la mano de un operador, toma el nombre de multiplexor. Concepto de multipiexor: girando el selector, la bombilla puede conectarse a uno de los cables ée entrada, Un Sencillo multiploxor do 2 entradas: si C es cer Yes igual ala entrada alida (C es uno ¥ es igual a D1 CEEC aT La tabla de verdad (figura adjunta) no tiene los habituales valores 0 y 1 para las salidas, sino que indica los valores de las entradas DO y D1: significa que la salida es igual ¢ la entrada indicada. Seria posible indicar explicitamente las posibies combinaciones de DO y D1, que en este caso son solamente cuatro (00, 01, 10 y 11) Ello haria sin embargo poco practice indicar, por ejemplo, las 65.536 posibles combinaciones de un multiplexor de 16 entradas. 33 DIGITAL I Logica entre las disp. Entrada 4 Entrada 2 Entrada 3 ————e Enviada 4 ————e Bombila Selector LEGIR E PES El esquema légico de la figura muestra un sencillo multiplexor de dos entradas de tipo "AND-OR': el nival l6gico de la entrada de contro! C selecciona la entrada (dato) DO 6 Dt Pero si C vale cero, su inverso C vale 1 y habilita ('abre’) la puerta légica de arriba, dejando pasar DO. La puerta de abajo esid sin embargo "Cerrar da’: su salida es siempre cero Si, por el contrario, C vale 1, pasa solamente D1 E!‘OR final combina las salidas de los dos AND, asegurando que el posible 1 alcance la salida Y. Dado que las entradas no seleccionades no interesan, la tabla de verdad indica asi el funcionamiento del dispositive en modo sintetizado y eficaz. ‘Salida. Tabla de verdad sintetizada de! multiplexor de dos entradas: no se listan expiciiamente los posibles estados, sino que hay toda Ia informacion nocosaria. DIGITAL Multiplexor y demultiplexor Normalmente hay mas de dos lineas, y a veces es necesario elegir una salida en lugar de una entrada EI multiplexor de dos entradas y una salida se llama 2. 1"; hay eircultos integrados con muttipexor de 4,8 0 16 entradas ("4 a 1","8.a 1", "16a 1") > Salida Para elegir entre més de dos lineas no basta una sola entrada de seleccién: si, por ejemplo, hay 8 entradas, son necesarios tres cables (0 "lineas’, termino generico). Entrada de datos Con tres cables son posibles 8 combinaciones; como ya hemos visio en la laccién 7 con los decodificadores. tres bits permiten representar los numeros de 0 a 7. ae de entrada, “wes cables de seloclon pemiton olegtr una de las 8 entradas; obser ve a indcacion sinttizada de is tres lineas A, 8, Cen el esquema. Estos dispositivos encuentran muchos usos en los ircuilos digitales. Si por ejemplo es necesario oxaminar ol valor de varias entradas l6gicas, se puede utiizar un multiploxor para hacerias pasar una cada vez Si la operacién se lleva a cabo peridcicamente, haciendo “contar’ las entradas de seleccidn a intervalos regulares, de modo que se roten les distintas entradas, toma el nombre de bartido o exploracién. Ejemplo de muttiplexor: 1a maestra lige un alumno al que regunt CESS El problema simétrico al de! multipiexor consiste en tener una sola entrada y varias salidas: la sefial se envia a una sola de las salides. En realidad ya hemos visto antes este demultiplexor: no os otra cosa que el decodificador de habilita- cién, descrito en la leccién 7 Entrada de datos De hecho, las salidas no seleccionadas estan a cero, mientras que la seleccionada repite el valor \dgico de la entrada de habilitacion (posibles inversiones aparte) Conectando asi la sefial a “clasificar* a la entrada G Demultiplexor 1 a 4 realizado con un decodliicador 2 a 4 dotado (habilitacion), bastaré con configurar el numero de la de entrada de habilitacién (@). Salida deseada para encontrarselo a la salida. Otros circuitos combinatorios Varias combinaciones estan disponibles en forma de integrados ya preparados El codificador de prioridad es un cispositivo que indica a la salida el numero de la entrada activa (es Gecir 1, 0 bien 0 si esté negada) de numero més alto. Por ejemplo, si las ontradas 3 y 5 estan activas, ineas de salida se encontrard el timero binario 101, es decir, 5: él 5 es, por tanto, en las tres mas importante que el 3. Los cotificadores de prioridad se utlizan ror ejemplo en fos PC, cuando varios dspostives (por ejem- Plo, el tecado, el ratén y el disco duro) requieren al mismo tiempo la atencion del microprocesador. Sera "servido" en primer lugar el que tenga la priori- DIE Si un grupo de hilos (lineas) puede representar un niimeto binario, es posible comparar dos niimeros para saber cual de ellos es mas grande. TH Igual que se pueden comparar dos numeros binarios, se pueden también sumar: se ten- dré_a la salida un valor representando el total, ademas de un posible acarreo. El aca- reo, conectado a la entrada adecuada, permite conectar en paralelo varios suma- dores, de modo que se pueden efectuar su- mas con un mayor ntimero de bits. Esios circuitos, en una época utiizados en ¢! ordenador, se han quedado pracicamente obsoletos debido a los microprocesadores, salvo en casos particulares. dad més elevada, es decir, el que necesita mayor urgen- cla, dejando los demés en espera (aunque el dseiio de los PC no 98 perfecto bajo este punto de vista). Nomero dela envada mas importante’ En este sencilo codificador de prioridad no existe una entrada ce un valor binario 000 a la sallda indica que ninguna entrada vale 4. Por ejemplo, dos nimeros de 0 a 15 pueden representarse con 4 hilos: el nimero A con las entradas AO..A3 y el numero B con BO..B3, Un comparador tiene normalmente tres salidas: una (A= B) se activa ‘si 108 Gos valores son iguales, las otras dos si A es mayor que 8 (A>B) 0 menor (A 100 E) transistor funciona como driver, es decir, se ocupa de controlar una carga inaceptable para el integrado, en e! ejemplo, tanto la tension como la corriente serian excesivas. En otras palabras, es la interfaz (elemento de cone- Cuando la sada del integrado esti ata, pasa coriente de base xidn) entre el circuito l6gico y el mundo exterior. Yel transistor se comporta como un interupior cerrado ‘CARGAS INDUCTIVAS Si la calida do un driver controla una carga inductive cuando la tensién en el colector supera la de como la bobina de un rel6, existe el peligro de _alimentacién, el diodo la conduce, evitando dafos sobretensién. ‘Cuando se abre el transistor del conductor, la inductancia gene- 3 fa una tensién elevada, que {Lap abncna! puede destruir el componente. Diodo de S| sroteecon vavesard E! problema se resuelve con un ibdas cortanes diodo, como muestra la figura’ eer Proteccion para cargas inductivas: en la apertura, el Inductor se descarga, ao sondios hnaciendo circular corionte on of dodo — a ‘en lugar de causar sobretension ORS Sun lado de la carga no esta conectado ala alimenta-_separados, que se conectan con los integrados légicos cion, sino por ejemplo a masa, no basta un solo normales. transistor como driver, sino que es necesario un crcuito ligeramente mas complejo ‘A voces hay problemas de otro tipo: por ejemplo, puede ser conveniente limitar la velocidad de subida de la sefial enviada por un cable para evitar producir interferencias de radio. Generalmente estos orivers especiales estén disponibles como circuitos integrados Colector abierto En algunas situaciones es dtil que una salida alta no se conecte a la alimentacion, sino que se quede abierta Hay circuitos ldgicos estdndares ya predispuestos table por el transistor es generalmente superior a la para funcionar como drivers, por ejemplo con un tolerable por el rasta del integrado. transistor adicional incorporado. soe Ss ‘A menudo el colector de este transistor no esta conectado internamente, sino que esta libre: se llama entonces "colector abierto’ Para los CMOS el termino correcto es “drenaje abjerto” (tratandose de un FET), pero esencial- mente es lo mismo: la Salida se conecia a masa (0) 0 se deja ablerta (1). Un circuito de colector abierto (o drenaje abierto) equivale a un solo interuptor diigo hacia masa, cerade cuando la saida es O Enlos TTL (pero no en los CMOS), la tensién sopor- yabierto cuando es 4. TTS Como es una salida de colector abierto, 0 drenaje abierto, en el estado ldgico 1 no esta conectada a a. ninguna parte, no lleva tensi6n alguna (el estado no Vee estd exactamente ni en L nien H). i Puluo Si queremos "tener alta" a salida cuando no esté oo- Jew > nectada a masa, se afade una resistencia de pullup (empue), como puede verse en la figura adjunta, > Coton Una salida asi conectada tarda mas en subir que pers una salida \Sgica normal, ya que no se conecia At directamente a la alimentacién cuando va a 1 La resistoncia do pullup mantione la salida de colector abiorto (0 ‘drenale abierto) alta cuando no esté conectada (estado H). Cas Una aplicacién curiosa de los coleciores abiertos es 01 OR cableado, on ol quo varias salidas do este tipo estan conectada juntas. La salida esta baja si al menos uno de los integrados tiene la salida en estado l6gico 0, y por tanto la conecta a masa (L), de otro modo es mantenida alta (H) por la resistencia de pullup. La terminologia “OR cableado" se refiere a la légica ne- gada (L=1, H=0) y se utiliza por motivos historicos: en realidad el crcuito se comporta como una puerta AND. (OR cableado: si ambas salidas de las puortas ostin altas (2, H), la resistencia de pullip se encarga de llevar a Y al positivo. DIGITAL Triestado Los circuitos logicos tiene sdlo dos estado: Una salida normal légica puede estar conectada a la alimentacién oa masa, Esto se consigue normalmente por medio de dos transistores (BJT o FET) que funcionan mediante interruptores. pero pueden tener tambien tres! Esta configuracién tipica de salida se llama totem , pole, ya que los dos transistores parecen las caras | 9% '0s cicultos = oe saiica de dos idolos superpuestas como en un "tétem" de los indios americanos. £En una salita nabitual totem pote, 10s des iaterruptores son tansistores, aqui del tipo BJT utiizado en los integrados TTL. Obviamente los dos transistores no pueden conducir alimentacién, pero permanece abierta ({lolante), Las (cerrarse) al mismo tiempo: habria un cortocircuito salidas con estes posibilidades se denominan triesta- entra alimentacién y masa do (tres estados). El torcer estado, do circuito abierto © de "alta impedancia'’, est indicado normaimente con Sin embargo, pueden abrirse al mismo tiempo: en este el simbolo Z. Una entrada de output enable (habilita- aso la salida no estd conectada ni a masa ni a la _cidn de salida), permite en general activar las salidas (valores posibles: L o H) 0 desactivarlas dejancolas abiertas (2) pene ns —— oe=0 (Deshanita La ontrade de habilitacién permite asta la salida abriendo ambos transistores, como si 1 integrado no existiera Las salidas de triestado no se utilizan para afadir un tercer estado légico, sino para compartir un mismo cable o grupo de cables (bus) entre varios dispositivos. En un determinado instante, $610 uno de los dispositivos tiene dere- ‘cho a controlar el bus: sus salidas estén habilitadas, mientras que las de los demas estan a alta impedancia, es decir, aisladas, para evitar cortocircuitos.Los buses se utlizan mucho en los micropr cesadores; por ejemplo, las tarjetas de expansién de un PC estan ‘conectadas a un mismo bus. Haptinage ‘Solo la salida habiltada (8) puede conéucit el bus de sallda (aqui formado por | Hadiiade tun solo cable); las demas estan en estado Z, es decir, alsladas. DIGITAL Flip-flop Existen Conectando dos inversores en serie, y llevando la salida a la entrada, se obtiene un circuto estable: un valor l6gico invertido dos veces vuelve a ser igual que antes de ser invertido. El hecho curioso es que este sencilo circuito posee dos estados ostabies, de signo Iégico opuesto, como so muostra on Ia figura adjunta No se puede prever en qué estado se vaa encontrar el circuito en el momento del encendido: depende de cémo se "despierte" cuando se proporciona alimen: Sustituyendo los inversores con dos NOR (figura adjunta), se afiade la posibilidad de configurar el Si las entradas S y R estén a cero, el circuito funciona exactamente como antes: permanece estable en el estado en el que se encuentra. set eT Los circultos con dos estados estables (biesiables) se llaman flip-flop, que podre- mos tradueirlibremente come "va y viene”. Como el estado de la salida no depende sdlo del de las entradas, no son sencillos circuites combi- natorios, sino ejemplos ce ldgica secuencial. Cuenta también la historia pasada por las sefia~ les, es der, la secuencia de eventos que han tenido luger previamente en el mismo circuit. 41 ‘cuitos biestables, es decir, capaces de permanecer en dos situaciones distintas validas tacién: permanecera siempre en el estado en el que estuviera al empezar. Poniendo a uno la entrada S, la salida A va a cero, sea cual sea el valor de la otra entrada; en consecuencia la salida B va a uno, Quitando el estimulo, es decir, levando la entrada S a cero, el circuito permanece estable en esta situacién; S significa set (configuracién), es decir, "pone la saiida (B) a 1". Del mismo modo, aplicando bre- vernente el valor logco 1 a la entrada R, la selida B va a cero y se mantiene estable; R ‘significa reset, volver « poner cero. e Circuito biestable; un impulso en ta x ? entrada Set configure la sada B 8 eee {Lun Impubo en la entrada Reset is peno a coro DIGITAL En lugar de con dos puertas NOR, un biestable con entradas de set y reset (es decir, un flip-flop S-R) puede realizarse también con dos NAND. La figura muestra como se disefia normalmente el Circuito, para subrayar la simetria constructiva; se incluye también la salida complementaria Q. En este caso, las entradas deben estar normalmente a 1y ser puestas momentaneamente a cero cuando se desee cambiar de estado el circuito. Es decir, estan negadas, o activos bajos, y se indica con un guién sobre el simbolo (Sy R), 0 bien con una PUG La figura muestra una posible secuencia de sefiales légicas durante el funcionamiento del flip-flop: Sy Fi son las entradas, Q y su complemento Q son las salidas. Desplazando el tiempo de izquierda a derecha, se ven las consecuencias (resaltadas con las flechas de color) de las variaciones de las sefiales ldgicas aplicadas a las entradas S y R Si una entrada confirma la situacién ya presente, no tiene efecto alguno; también la duracién del impulso es indiferente, Las entradas estén normaimente en condiciones de Feposo, que en este caso (tratandose de entradas negativas 0 *activas bajas*) es el valor légico 1. ‘Secuencia de eventos y sus consecuencias en un flipflop de tipo S-R de NAND. CEES) Activando simulténeamente S y R, ambas salidas van a 1: este es un estado no valido, ya que Q no es el complemento de Q. Estas situaciones se deben evitar con cuidado, aseguréndose en la fase de proyecto de que no puedan producirse, es decir, modificando el circuito para evitar este inconveniente desde el principio. 42 Control de los S-R Los flip-flop del tipo set-reset se realizan a menudo con las entradas negadas, es decir activas a cero barra: (/S y /R) u otros simbolos; por lo demas, el Circuito funciona como antes. Un fiptop realizado con dos NAND; para cambiar de estado se one brovemente a cero una de las dos entradas. 5 (Reset) - Todo bien | Usos de los flip-flop Los distintos tipos de biestables son componentes fundamentales de los circuitos La primera funcién de los flip-flop es conservar el recuerdo de un evento, es decir, actuar como una memoria digital capaz de conservar una informacién. La capacidad de recordar eventos anteriores es esencial en gran parte de los dispositivos electrénicos, incluso nosotros mismos no seria- mos capaces de “tuncionar” sin memoria. Dado que un nimero puede expresarse de forma binaria con un cconjunto de cables, es posible recordarlo elécticamente utilzando otros tantes flip lop, SES Cuando se acciona un intertuptor, una serie de mi: crorebotes mecénicos hacen que el contacto se abra y cierre varias veces, antes de dejario cerrado. Este comportamiento no es demasiado deseable sise tiene que producir una sefal para un circuito digital: on lugar de un solo impulso, llegan muchos. Utlizando un conmutador y un flip-flop se resueive el problema: una vez cambiado de estado, el tlip-tlop ignora los posteriores impulsos en ia misma entrada. ‘Antirebotes con flip-flop; las resistencias mantienen altas (H) las entradas no conectadas, asegurande un valor logico de 4. mens Como veremos, gracias a los flip-flop es posible no conmutader sélo recordar un numero sino ademas realizar conta- Gee dores, es decir, circuitos capaces de avanzar una cifra con cada impulso recibido. Rebotes del En general, un biestable permite cambiar e! compor- tamiento de un circuito légico combinatorio, segun el estado en el que se encuentra, el cual depende de los eventos pasados. Las salidas de un circuito que contiene elementos secuenciales dependen asi tanto de los valores de entrada, como del estado de estos elementos (como los flip-flop), Diagrama temporal de circulto antirebotes: los impulsos repetidos no tiene efecto alguno sotre el estado de Ia sala. DIGITAL Problemas de los circuitos secuenciales no deseadas La capacidad de memorizar eventos tienen tam! Como el comportamiento de un circulto depende del estado de sus flip-lop, es importante que sea cono- ido cuando el circuito se encience, Los sencillos biestables S-R que hemos visto no garentizan la situacién en quo se encontraran al ser activados: es necesario un cireuito de reset que ponga todos 10s flip-flop en el estado deseado. La figura muestra que un condensador puede ser suficiente para mantener baja una entrada durante un tiempo suficiente, incluso aunque no siempre esta solucién sea aceptable (la subida no es clara). Astoreset on ol oncondide: ol eondonsador omples tlompo para ear. ‘arse, y mantione a coro la entrada de reset durante unos instantes. ERD - Un flip-flop cambia de estado ("conmuta') también con Sin embargo, hay varios circuitos combinatorios, por Un impulso muy breve, ya sea deseado 9 involuntario. ejemplo algunos decodificadores, que producen : reves impulsos (glitch) debi- Jp. dos a los tiempos de transito | de las sefiales (leccién 8). x FlipFlop Una posible solucién consiste T fen bloquear la sefial con una puerta hasta que sea estable, por ejemplo utlizanco la entra- da correspondiente de enable de la que estan dotados distin- {os integiados combinetorios. Desoxtficado Imputso no deseaco Envadas ‘49 eamblon Et flip-top poctia recibir un impulso cuando la entrada del docedificador cambia entre dos valores, por ejemplo 3 y 6 Existen otros tipos de flip-flop, disefiados tanto para eliminar los proble- ‘mas del tipo S-R, como para afadir nuevas posibilidades, como veremos en proximas lecciones. A continuacién veremos cémo una solucién radical para el problema de los glitch consiste en un ‘director de orquesta’ que marque el ‘compas de todo el circulto. En estos circuitos sineronos, los cambios de estado se producen solamen- te cuando todas las entradas son estables; en ese punto, quien debe cambiar de estado es capaz de hacerlo sin interferencias, DIGITAL Dentro de las puertas logicas Los dispositivos digitales se realizan con componentes analogicos Para un circuito logico no son obligatorios jos integra- dos digitales: es posible construirlo utlizando sencillos transistores como interruptores. Histéricamente se utilizaron primero jos relés electo- mecainicos, después los tubos de vacio (valvulas) y finalmente los transistores, (sailaa 1) 0 en Saturacion, es decir, eonado (salida 0). La figura muestra como realizar un sercillo inversor ‘con un transistor y dos resistencias: si la entrada esta alta (1) la salida esta baja (0), y viceversa. Ns Una de las primeras familias de circuitos dgitales utili- zaba transistores y resistencias: era la RTL (rosistor- transistor logic: légica do resistencia-transistor). La figura muestra un ejemplo de NOR en técnica RTL: si al menos uno de los transistores recibe un 1 (nivel alto) y conduce, la salida va a cero. Estos circuitos funcionan, pero son relativamente lentos debido al filtro AC constituido por las resistencias de base y por la capacidad del transistor. Ademas, las entradas requieren corriente para controlar la base del transistor, mieniras que la salida no puede proporcionar mucha a causa de 1 pyerta NOR realzada en RTL, es decir, con resistencias renistengia dé oolector. y transisto scnologia primitiva pero que funciona. ECs Posteriormente tuvo un cierto éxito la tecnologia DTL (dicde-transistor logic: légica diodo-transistor), en la que muchas de las resistencias eran sustituidas por diodos. En la puerta NAND mostrada en la figura. el transistor se mantiene normalmente en conduccién desde la resistencia Rp que proporciona corriente a la base; la salida es baja (0), Conectando a masa (0) una de las entradas A, Bo C, el punto X baja casi cero, por tanto la base no recibe mas corriente y el transistor se abre. Como desde las entradas es necesario “aspirar” co- rriente hacia masa, una salida puede controlar varias entradas (es decir, el fanout es alto), Puerta NAND en tecnologia DTL. el diodo D, compensa la caida de tensién en los diodos de entrada. DIGITAL Los integrados TTL Los circuitos TTL fueron los padres de este campo durante muchos aiios, y todavia hoy se utilizan Los circuitos DTL pueden realizarse con mejores caracteristicas, utilizando transistores de emisor multiple. La figura muestra una puerta NAND en tecnologia TTL (transistortransistor jogic: l6gica transistor-transistor) equivalents @ la de DTL de la pagina anterior. Entradas El transistor multiple de entrada trabaja do un modo ‘extrafo, con la unién base-colector en conduceién; cuando se “aspira’ corriente de un emisor, no sale ya del colector Puerta NAND TTL: si una de las entradas esta baja, T, no recibe ‘mas corriente de base y se abre, enviando la salida aita, RIE Pee" La tecnologia TTL se presta especialmente a ser realizada en tecnologia integrada, es decir, ‘en un Unico chip de silicio. En los aftos 60 se inicid el éxito de la serie 74, la familia mas célebre de integrados TTL: econdmicos, rapidos y de consumo moderado. Como se ve en el esqueme del 7408, la estruc- tura interna es més compleja del minimo nece- sario, para mejorar las caractoristicas, La etapa de salida de los TTL proporciona poca cortiente, pero puede “aspirar” mucha mas, para controlar varias entradas. Esquema interno del 7408, un AND en tecnologia TTL; observe la entrada de emisores mtiples y la sala habitual totem-pole. TSE Para aplicaciones en las que la velocidad es transistores, la PL (integrated injection logic: ldgica de esencial, se desarroliaron otras familias |égicas inyeccién integrada) utiliza sin embargo transistores bipolares, es decir, hechas con transistores BJT. Cita- con colectores miiltiples. mos por ejemplo la ECL (emitter-coupled logic: ldgica acoplada de emisor), curiosamente alimentada con Se oe atyeki ts una tensién negativa de 5,2 V, empleada princi- oa ploes de too abou Mihoba. palmente con usos aeroespaciales o militares. Una ‘TTL de la serie 74 en los CMOS familia mas reciente de integrados rapidos de mas modemos. Familias (MOS Gracias a los modernos y veloces T4H(, los integrados (MOS se han impuesto como estandares El transistor es un buen interruptor, pero tiene un defecto: requiere corriente de base para mantenerse ‘en el estado de conduccién. Con cientos 0 miles de transistores on los pocos mi metros cuadrados de un chip, se produce un ealenta- miento inacepiable, ademas de un notable consumo. El problema se ha resuelto sustituyendo los BUT por transistores de efecto de campo (FET), en especial de tipo MOS (metal-oxide semiconductor: semiconductor de bxido metalico) Como veremes en el curso de Analogica, pueden funcionar como intertuptores controlados por una sencilla tensién: la cortiente requerida es supertiua, Sélamente gracias a los MOSFET se pueden realizar crcuitos integrados que contienen millones de transistores TMs La figura muestra un inversor CMOS, es decir, hecho ademds la salida es simétiica y las entradas requieren con dos transistores MOS complementarios: uno de una corriente minime. canal N y otro de canal P, similares a los transistores do unién NPN y PNP. Si conduce el MOS de arriba y el de abjo esta abierto, la salida esta alta (1); si sin embargo conduce sdlo el de abajo, la salida esta baja (0) ‘GMOs fconplomentary ‘MOS: 0S conplemer- No hay resistencias ni otros componentes: ello hace tara aenclo ea posible una elevada densidad en los integrados; perfecto CHa Los primeros CMOS de Ja serie 4000 eran lentos y delicados: podian destruirse con una minima descar- ga eléctrica. Los modernos circuitos de la serie 74HC (high-speed CMOS: CMOS de alta velocidad), con disposicién de pines idéntica a los antiguos TTL, son mas veloces y robustos, aunque la tensidn de funcionamiento maxima es mas baja. Como se puede ver en el esquema del 74HC08, tienen resistencias y diodos de proteccién contra descargas accidentales; se deben tratar de todas formas con cuidado. Esquema del 74HC08, un AND CMOS. Observe la ausencia de com ponentes pasivos, aperte de resistencias y lodos de proteccion, DIGITAL Consumo y calentamiento Los integrados lagicos (MOS no consumen corriente Como hemos expiicado en la leccién 8, los circultos digitales CMOS absorben un breve pico de corriente durante la fase de conmutacién de un estado a otro (por ejemplo de 1 a 0). excepto cuando estan parados Uno de los dos MOSFET de salida puede empezar a conducir cuando el otro no esté todavia del todo abierto, causando un paso de corrienta, ‘Ademés, todo cambio de nivel de tensién debe cargar © descargar las pequefas capacidades pardsitas de los transistores MOSFET. ‘Muchos microprocesadores, funcionande a olevadsa frecuencia, ‘consumen tanta corvente que requieron ‘un enfriamiento forzado. Cada paso de corriente causa un enfriamiento, Porque la resistencia interna del transistor no es cero y por lo tanto se disipa potencia, Conduce séio Q1 yee Ie ieee “Lge a En las fases de transicién entie un estado y otro, la resistencia asume valores intermedios y el calenta- miento es mas notable, Cuanto mayor es la frecuencia de conmutacién, Mayor es el consumo. Un circuito Kigico en el que no se producen transiciones consume poco o nada pero @ 30 MHz se producen 30 millones por segundo! Conduce e6le @2 > Enraca ‘La trarsicin de ablerto a cerrado de los MOS no es instantanea; {00 las fases intornodias pasa corrente y se produce calentamento. Como los picos de corriente son muy rapidos, las evitando que se traduz- conexiones de alimentacion no les dejan pasar can en picos de tensién. facilmente a causa de su propia inductancia. Puode haber por tanto otros brevisimos picos de ten- sién en alimentacién y masa, a su vez causa de inter- ferencias en el mismo circuito o en otros adyacontos, I Bypass + 1 condensador de bypass hace las veces de ceposito Para evitario, se pone un pequefio condensador (47 de reserva para los AF es un valor habitual) entre los terminales de pequesios picos de corrente. alimentacién y masa. Este condensador de bypass (0 “desacoplo") proporciona los picos de corriente, y DIGITAL EI reloj Una sefial adicional ayuda a evitar muchas conmutaciones no deseadas La presencia de circuitos sensibies también a jos impulsos breves, como los flip-flop de tipo S-R, constituye un problema no de poca importancia. Ademés es dificil, como ya hemos visto, evitar los glitch causados por las diferencias entre los tiempos de transito de las cistintas sefales (a menudo dentro de los integrados, sin posibilidad de intervencion) Los problemas se verifican sobre todo durante los cambios de estado de alguna senal, y duran hasta que todos los circuits com- binatorios se asientan en la nueva situacion. Seria util poder activar los circuitos sensibles a los impuisos slo cuando las sefales son seguramente ostablos, para vitartransiciones no deseades. Un sole impulso en e! momento equivocado puede crear problemas. CON RELOJ Para acivar un flip-flop a voluntad, basta con afiadir una puerta ldgica a caca uha de las entradas, como muestra la figura (supongamos logica positva, 5 decir, entradas actives a 1). Si la sefial de control llamada clock (‘reloj", veremos después la razén) esté a cero, las entradas son insensibles a variacién alguna. Sil reloj esta a uno, las entradas pasan y el circuito se comporia como un S-R biestable normal: salta en Este liflop $R puede cambiar de estado séle sila seal CK 1a oS posiciones si recibe 1 como So como R (ver (clock: reloj) esta activa, es decir, a1. figura de abajo). SINCRONIZ nN El reloj se utiliza también de otro modo como veremos dentra de poco: cuando todas las sefiales son esta- bles, se da un breve impulso (de 0 a 1, yde nuevo a 0) para activar el flip-flop. Impulsos ‘ ignorados a 4] A ee i. No ili Entonces registra la nueva situacién, cambiando de estado si es necesario, y después se hace de nuevo insensible a cualquier posible interferencia. Los cambios de estado se producen entonces de un modo sincrono con el reloj, es dacir, s6lo en corres: pondencia con el impulso. Los cambios do estado de las entradas fuera del impulso de reloj se ignoran. DIGITAL Latch transparentes Estos circuitos permiten recordar el estado de una sefial logica Para cambiar el estado de un flip-lop es nece- sario actuar altemativamente en las dos en- tradas S (set, salida Q = 1) y RP (reset, salida Q = 0). En realidad, una vez que ol biestable ha saltado, sdlo una sefial en la otra entrada puede devolverlo a la posicién anterior. Sin embargo, si conectamos las dos entradas entre si con un inversor, como se muestra en la figura, obtenemos un dispositive bastante interesante: el "latch transparente’. Latch transparente: si CK=t le serial pasa de D a Q, si CK=0 el liplop s@ queda en o! estado en ef que se encontraba, Si el reloj esta a 1, las puertas estan ‘abiertas*: la sefial D activa ola entrada S 0 la entrada R del biestable, segun su estado. En la practica, el dato D a la entrada se repite exactamente igual en la salida Q. Si D cambia de estado, también Q cambia del mismo modo: el latch es transparente. 1 lotch transparente pormite fotografia la situacion do Ia sefal, ‘indeperdientemente 4 (0 que ecurra a ‘ontinuaclén. Pero si el roloj os 0, la sefial de entrada no llega al ilip-lop: S y F se quedan ambas a 0 y el estado de Ia salida so congela hasta ol préximo impulso de reio}. Un latch transparente es itl para muestrear una sofia digital, € decir, examinar el estado en un determinado instarte. Si por ejemplo se desea controlar cada segundo si un inte- rruptor esta cerrado, se captura el estado con un breve impul- 80 de reloj y después se examinar con calma, sin riesgo de que cambie. Desde otro punto de vista, podemos ver el latch transparente como primer ejemplo de memoria, capaz de recordar un solo bit durante todo el tiempo que el relo| se queda a 0. Disponiendo un niimero suficiente de estos circuitos, se puede almacenar un niimero binario grande a placer. Memoria de 4 bits reatizaéa con otros tantos latch transparentes: el ‘0loj representa un "write", es deci, “escibe y recuerda”. 50 Flip-flop de tipo D Un reloj sensible ala transicion evita problemas durante la fase de actividad del propio reloj La entrada de reloj permite al flip-flop y latch ignorar las transiciones ro deseadas (por ejemplo, glitch) cuando esta inactivo. El problema se presenta sin embargo en el breve tiem- po de actividad del reloj, durante el cual las entradas deben permanecer estables, Si hay varios dispositivos conectados meciante circuitos combinatorios, cuando uno de ellos salta es Posible que otro reciba un glitch: haria falta entonces Un reloj independiente para cada uno. En circuitos complejos, la salida de un biestable puede también volver (mediante otros circuitos) a la entrada del mismo circuito. {Como asegurarse la establidad migniras @! reloj esta activo? EI problema se resuelve de un modo similar al com- Partimento estanco, la doble puerta empleada por los astronautas para no dejar escapar el aire de los vehi- culos espaciales. Conectando dos latch transparentes como en la figura, ‘Master: al dato pase ‘Seoundato: HY 21 dato no pasa el dato no pasa 4 \nterferencias (por ejemplo, glitsh) oe ak pasa por Q cuando Ck=4 Un latch transparente ignora las nterferenclas, pero solo con el tela) inactivo (0). Cuando esta activo (2), las interfeencias pasan. y controlando el sagundo con el reloj invertido, se obtiene un flip-flop de tipo D (9 latch no transparente). No es sensible al estado del reloj, sino a una transicién (cambio de estado), en nuestro caso la negativa (de 1 a 0). Bi doble latch del fp-top de tipo D deja pasar la senal 610 en Sip teed ral 2 ‘Segunda fase, rloj =O correspondencia El secuncarieblequea ¢ peso [b'sefal es capturada con el frente de y racordaca pore aster bajada del rol CI FLOP Si ol roloj esta a 1, ol primer latch (master, principal) deja pasar la sefal hasta la entrada del segundo (secundario), que sin embargo esta bloqueado estan- do 61 reloj a 0. Cuando el reloj pasa a 0, el primer latch se bloquea mientras el segundo se activa, dejando llegar la sefial ala salida, 51 Como los latch no estén nunca activos al mismo tiem- Po, ninguna interferencia puede circular. La sehal so almacena en el instante de la bajada (de 1 a 0) del tela) Tampoco la Subida del reloj crea problemas, porque el! segundo latch (secundario) se bloquea, manteniendo estable la salida. DIGITAL Limites de los flip-flop D Entradas y salidas de reloj deben respetar algunas especificaciones para un correcto funcionamiento ‘Aunque Ios flip-flop D no dejen nunca pasar directa- mente la sefial desde la entrada a la salida, no son + Las interferencies se ignoran totalmente inmunes a las interferencias. Es por tanto necesario que la entrada permanezca es- mM. table durante algunos instantos antes do la transicién | 2 Nia activa (por ejempl, bajeca) dl elo yo tras Ia misma ==. a S1 ASt Pr otra part, con una entrada no bien definida entre ome 1y 0, seria excesivo pretender que el circuito tomara la decision "usta" por iniciativa propia. En los Mp-op 0 1a Salida cambla solo correspordiendo con ta transicién activa (en este caso, la bajada) del relo] ESS Una entrada que no debe tener glitch es la de reloj: un impulso no deseado causa la susiitucién del dato almacenado por el actual De ello se deduce que el relo| no puede proceder (al menos, no directamente), de circuitos de logica combinatoria, que podrian ccausar glitch. Veremos mas adelante como se resuelve el problema de. raiz sincronizando todos los circultos con un unico relo) central. 1 reloj no puede subir y répidamente bajar: hay una longitud minima de impulso que se debe respetar. Ademés, la subida y la bajada deben ser rapidas y limpias. Casas Como en el primer y mas sencillo flip-flop R-S, el tipo D tiene e! problema del estado inicial en el que se "dospiorta" on ol momento do la activacién. Por tanto, las versiones integradas estan dotadas nor- malmente de una entrada Clear (borrado), que pone a cero la salida cuando se activa, Disponiendo de pines libres, puede existir la entrada reciproca de Preset (preinicializacién), que pone la salida a uno, Estas entradas de control aciuian en general iamedia- ‘Simbolo de fipflop de tipo D con entradas de Cleary Preset _‘'ammente, sin esperar al relo, es decir, Son asincronas. {activos aos) el triangulo nda la entrada de reo) Monoestabl Los circuitos que vuelven siempre al estado de reposo se utilizan Hasta ahora hemos visto circuits cuyo estado depende de los valores légicos a la entrada (Ibgica combinatoria) 0 de la historia anterior de los mismos (l6gica secuencial) Hay también otra posible variable: el tiempo. Hay circuitos que cambian de estado tras un cierto tiempo, sin la necesidad de estimulacién externa. me El impulso de excitacién que pone en marcha el tiempo se llama trigger (‘disparador’) y se aplicaa la entrada homénima del monoestable. TERT La duracién del impulso de salida esta normaimente eterminada por un grupo RC, es decir, una resisten- cia y un eondensador. ‘Aumentando el valor de uno o de otro, dentro de los. limites admitidos, se incrementa el tiempo durante el que la salida permanece activa antes de volver al estado de reposo. Este tempo es en general proporcional a la cons- tante RC, es decir, al producto de los valores de la resistencia y dal condensador. Como estos dos com- ponentes (0 al menos el condensador) son externos al circuito integrado, es posible elegir el deseado en la fase de proyecto del circuito. DIGITAL jenerar impulsos y retardos En particular, los mono- _ estables (0 "one-shot" de _un golpe) cambian | de estado bajo control se mantienen durante un cierto tiempo en el nuevo estado y des- pués vuelven al ante- rior. Normaimente no cuenta el valor logico de la entrada de trigger, sino su transicién: por ejem- plo de arriba abajo (de 1 a 0), es decir, el irente de bajada. Cuando se produce esta transicién, ol monoestable pasa al estado activo y empieza a contar el tiempo; tras el periodo predeterminado, vuelve al estado de reposo. La serial de tigger, en este caso ef trente de bajada, pone ata la salda, quo vuelve a sor baja tras ol tiempo configurado. ‘two on a frente ‘debajada Tlemps determinado por Rx Resistencia y condensador extemos establecen Ia longitud (duracion) del impuiso de salida. 53 DIGITAL La figura muestra un posible esquema interno de un rono- | estable: un grupo FC, un fip- flop de tipo D y uno de tipo R-S, un transistor y dos "compara: dores" Estos uitimos comparan cos sefiales analdgicas, indicando 1 si la tension a la entrada * supera a la de la entrada (veremos mas adelante su funcionamionto). El condensador esta normalmente cargado: cuando e) al transistor, que descarga el condensador. Tension enc On off impulso de trigger hace salar el ti-lop, ie da corriente Como funciona un monoestable El mecanismo se basa en una combinacion de técnicas analogicas y digital Monocstable: e! Mipflop D controls ls descarga de CA. (mediante Qt) y su recanga con RA; ol flp-lop RS controla Ia sallds. eee El comparador CM1 mantiene la tensién en el condensador: nada mas descender por debajo del minimo Vay, reinicializa el flip-flop D con Clear (CLR) y activa la salida (activacién del flip-flop R-S), 1 se abre y el condensador se recarga lentamento, mediante R1, hasta la tensién de alimentacién. El comparador CM2 observa el condensador: cuando. se recarya suficientemente, envia un reset al flip-flop R-S, de modo que la salida final vuelve a 0. Tension en el condensador durante un ciclo: Viuy ¥ Viagx $0n las tensiones de referencia de los comparadores CM y CM2. SERIN a Enviando un impuiso de trigger mientras el conden- sador se recarga, es posible reactivar ("retrigger’) el monoestable, es decir, volver a contar el tiempo desde cero. La salida permanece activa: el tiempo del ‘mpulso simplemente se alarga, dado que el con- densador se descarga como si el ciclo acabara de iniciarse. Hay en general también una entrada de Clear (puesta coro) para interrumpir el ciclo y poner de nuevo a 0 la sala. £ monoestabie es similar a un contador de minutos: puede recergerse antes de que svene, para alergar el tiempo. Limites de los monoestables La dependencia de los fendmenos analagicos hace que los monoestables se utilicen relativamente poco Los monoestables estan bien para obtener impulsos bastante bieves y relativamente poco precisos: de hecho tienen algunos inconvenientes. Derivan de su naturaleza en parte analégiea, que los hace mas susceptibles a los problemas, ya que no son circuitos puramente digitales. Por ejemplo, el tiempo depende de la tolerancia ce los componentes analdgicos: resistencia y conden- sador, este ultimo menos estable y también mas sensible a la temperatura, La duracién de! impulse producid por un monoestable no puede ddeterminarse con precision, Mea La tensién de alimentacién pue- de influir en la duracién del impulso, también y sobre todo por posibles interferencias superpues- ‘asa ella. Dado que el integrado se ha disehado para compensar variaciones de alimentacion y de temperatura, una cierta dependen- cla es inevitabee El tiempo minimo esta determi- nado por los tiempos internos (por | ajemplo, de los lip-flop), mientras Para tiempos limitados, existen las lineas de retardo (delay line), dispositivos basados en grupos LC y construidos para que la sevial ilegue a la salida tras un cierto tiempo, en cualquier caso muy breve (por ejemplo, 50 nseg) Otras tecnologias, como las ondas ultrasénicas, permri- ten tiempos ms largos, pero son costosas y ademés imprecisas (han nacido para circuitos analégicos, como los televisores). La mojor solucién consisto, como veremos, en utilizar circuitos totalmente digitales también para retardos y temporizacicnes en, general. Tolerancia que el tiempo maximo esta ligado alas corrientes en juego. Una tesistencia de valor elevado suiriria corrientes de pérdida, mientras que un condensador grande podria causar cortientes de descarga excesivas (que pueden resolverse limtando la coriente) La dependencia de componentes analogicos es algo que se tiende 2 evitar en electronica digital. ‘Los relojes digtales no dependen «de components analdglcos: ‘cuenten fos impuisos productos 2 intorvals rogulares (por ‘elempio, 1/100 seg) DIGITAL Osciladores Estos dispositivos producen una serie continua de impulsos Conectando la salida de un monoestable ala entrada de un segundo monoestable, al término del impulso del primero se activa el segundo. El frente de bajada hace de trigger para el segundo monoestable, que @ su vez produce un impulso de una cierta duracién. Reenviando este ultimo a la entrada del primero, el proceso continua hasta el infinito: hemos construido un dispositive “no estable" (privado de estados), es decir, un oscilador. Dos monoestables en anllo: so envian el trigger reciprocamente a intervalos regulares, produciendo una seve infirita do Impulsos. SS El circuito con dos monoestables no es muy practico, ya sea por el derroche de los componentes, o Porque requiere ser activado. Nomalimente se utilizan integrados especiales, o bien algunos "trucos" como el mostrado en la figura, basado en un uso poco ortodoxo de las puertas logicas CMOS. Desde el punto de vista logico, se puede imaginar como un inversor cuya salida se devuelve a la entrada tras un cierlo tiempo Oseilador de puerta CMOS: ei primer estadio funciona como (retomaremos el tema més adelante). amplificador analogieo, en tomo a la mitad de Ia alimentacion TST Para la precisién requerida por muchos dispostivos digitales, como los relojes 0 los ordenadores, un grupo RC no es adecuado. ‘Se emplean entonces osciladores de cuarzo, en los que un cristal piezo eléctrico (el "cuarzo") vibra exacta- mente a la frecuencia para la que ha sido construido, Para evitar problemas de estabilidad e inicio, especialmente a altas frecuencias, normalmente es preferible utilizar un oscilador prefabricado, Los mejores tienen una establlidad de pocas partes prefspreage:powuce una por millen (ppm): por ejemplo, +10 ppm significa +1 Sena! dial mtablomente KHz en 100 MHz tavie. DIGITAL Flip-flop J-K ga El biestable mas evolucionado es un S-R sincrono y si jalido Los flip-flop de tipo D son sineronos: cambian de estado sdlo correspon- ' diendo con el frente activo (subida 0 bajada) de la sefal de reioj Se pueden realizar flip-flop sincronos también de tipo $-R, sensibles por tanto ala transicion de reloj (a diferencia del visto en la leccidn 13, que era sensible al nivel). Conservan sin embargo un inconveniente de los 8-R: si ambas entradas estin activas, el estado de las salidas no es valido (por ejemplo, Q y Q estan ambas 2 1). El verdadero flip-lop sincrono con dos entradas independientes, y sin problemas (al menos en las versiones modernas), es el tipo JK. La tabla de verdad muestra cémo las entradas Jy K (como lo estaba en el §:R) poner actives ambas pueden cambiar libremente, sin ningtin efecto sobre entradas: en este caso el frente de reloj produce una. ia salida inversi6n légica de la salida Sdio en el momento de la transicién activa del reloj, Su estado es "fotogratiado" en la salida Q y en su complemento Q (no mostrado en la tabla), Como en Ios flip-flop S-R, si ambas entradas estan inactivas (0 en el ejempio) en el momento de! relo), la salida no cambia: se queda memorizado el estado anterior. Como deciamos, no esta prohibido Tabla de verdad del ipflop 4X. Observe que un frente de self ‘con ambos entradas a 4 invirte las solides, Algunos flip-flop do tipo J-K ofrocen también la posibilidad de poner a cero la salida (Q = 0, Q = 1) con una entrada especial de Clear. Esta funcién es sin embargo asincrona en general, es decir, ocurre inmediatamente, sin esperar el frente activo de la sefial de reloj Como el instante de ejecucién de las operaciones asincronas no esta asociado al reloj, es menos previsible; ademas un breve impulso no daseado (gitch) crea problemas casi con toda seguridad Fupcionamiento de un fipfop sinerono de tipo J+: os a i a A A Se rele). 87 DIGITAL Divisor Conectando a nivel activo (por ejemplo 1) las dos entradas de un flip-flop J-K, un frente de relo) produce la inversién de las salidas Una posterior transicién valida del reloj, siempre con ambas entradas activas, devolverd las salidas a su estado anterior, Cada dos impulsos (por ejemplo de 0 a 1, después de nuevo a 0) de la entrada de relo| se tiene por tanto un solo impulso a la salida. 5 flip-flop se comporta por tanto como un divisor por dos: a la salida llega la mitad de los impulsos aplicados ala entrada de reloj RGGI as Aplicando una onda cuadrada a la entrada del civisor, @s decir, una sefial repetitiva y simétrica, ala salida se encuentra todavia una onda cuadrada, Dn Esta ultima tiene sin embargo la mited de frecuencia con respecte al anterior: por ejemplo 10 KHz (10.000 ciclos por segundo) a la entrada producen 5 KHz a la salida, Se debe observar que la sefial a la salida es una onda cuadrada aunque la de la entradia esté, por ejemplo, formada por impulsos muy estrechos. Cuenta también la regularidad de la distancia entre los impulsos, no su anchura, dado que cada impulso contiene una sola transicion activa. Gi cio Un divisor por dos se llama genéricamente "biestable de tipo T", donde T significa toggle, es decir, inversion de estado. Para realizar un flip-tlop T no es esencial un J-K: la figura muestra como se puede construlr partiendo de un SR sincrono 0 de un D, con la salida negada y reintroducida a la entrada. Tengamos en cuenta que, en todos los casos mostrados en la figura, el terminal de roloj de los flip- flop hace las veces de entrada del divisor. por dos Con los flip-flop es posible reducir a la mitad la frecuencia de una seiial digital Ha tt [alee wy mu Divisor por dos: como cada transicion activa invierte Q, cada dos ciclos a la entrada hay uno solo ata saiida, Cada imputso inverte a sada; silos impuisos estén espaciades ‘regularmente, a a sala hay una onda cuadrada. SR sincrono Otros dos modos de realizar un fp-fop T, es decir, un divisor por dos. La versién SR se debe encender en un estado vélido, Contadores Una cadena de biestables de tipo T puede contar los impulsos de la entrada Si un flip-flop T funciona como divisor, partiendo a la mitad la frecuencia de una onda cuadrads, ts we al conectar su selida ala entrada de un segundo ° ° T se obiene una divisién por 4. Estado inci En la figura se muestra cémo el circuito pasa por 4 estados distintos, recuperando tras el Bs 1 ° cuarto impulso de entrada su estado original ‘ ow TS- (los circulitos indican que vale el frente de bajada del rela) ° 1 tas nf. EI primer fip-tlop puede considerarse como un contador que va de 0 a 1 y despues, al im- puiso siguiente, vuelve a cero dando acarreo. 9 i (frente de bajada en la salida). rasan YJ El segundo biestablo racibe esto acarreo y cube Una cifra (de 0 a 1), un poco como ocurre con el cuentakildmetros del automévil ‘Los cuatro estados sucesivos de dos fiplop T conectados en cascada, es decit, uno detras de otro. Los cuatro posibles estados, leidos de izquierda a flop de la derecha contiene el bit més significativo derecha, suenan familiares: se trata de los primeros 4 (MSB: Most Significant Bit). numeros binarios, correspondientes a los decimales deOa3, Cada uno de los flip-flop representa un bit ce este nGmero, que en su Conjunto es e| contador de los impulsos @ la entrada. El flip-flop de la izquierda contiene el bit menos significative (LSB: Least Significant Bit), el que cambia mas a menudo; el flip- Las salidas de los dos flop ‘constituyen las cifras binaries de un ndmero, que representa el {otal de los Impulsos recibidos. co! oo be Numero de | __ Cembinaciones Contador Es posible conectar en cascaca un niimero cualquiera al {e flip-flop de tipo 7, abteniendo un contador de n bit, donde “n’ es el numero de los biestables utiizados. Cada bit afiadido duplica el maximo valor que puede ser memorizado por el contador, como muestra Ia figura. Por ejemplo, con 8 flip-flop (ntimero muy comtin) se tienen 256 posibles combinaciones, que pueden 1 2 3 a 5 6 7 a 9 10 y ua representar los numeros de 0 a 255. 2 3B 1a is 16 ‘Nimero de posibles combinaciones de n bit y campo 0.65535 ‘correspondiente de contador obtenible con n fiptiop DIGITAL Problemas de los contadores El sencillo contador con cascada con flip-flop tiene algunos inconvenientes Si ocho flip-flop de tipo T estén conectados en Esta entrada pondré a cero todas las salidas, de cascada ("ripple carry": acarreo de onda), el circuito. modo que su conjunto represente el numero 0, de de su conjunto tiene 256 posibles estados. ‘donde iniciaré el contador de los impulsos. Dado que cada biestable puede "desper- tarse" a 0.0 bien a 1 en el momento del encendido, el valor inicial del contador es indeterminado. Como esta condicion no es deseable, se puede afiadir una entrada de puesta a cero (reset) conectada a todos os fliplop. Reset (Q0=Q1=92=93=0) La entrada de reset configura en el contador el ‘Aunque se ha construido con flip-flop sincronos, que cambian de estado sdlo en el frente de reloj, nuestro contador es del tipo asinerono. De hecho, los distintos biesiabies no reciben simultaneamente @! reloj, porque cada uno de ellos introduce un retardo. El segundo fip-iop saltaré tras el tiempo de conmutecién del primero, el tercero tras el segundo, y asi sucesivamente: la sefial debe propagarse a lo largo de la cadena Este tiempo varia, entre otras cosas, segin el contador: por ejemplo, el paso de 7 (0111 en binario) a 8 (1000) es mucho més lento que 21 paso de 8 (1000) a 9 (1001). El valor a la ere selida es por tanto valido tras un retardo que, en el peor de cambios deben propagarse del bit menos los casos, es la suma de los retardos de todos los flip-flop; ‘significative al mas significative. ademas, los cables de salida no cambian todos juntos. Empleando flip-flop dotados de entradas de preset y : reset, 98 posible aprovechar estas entradas para A configurar en el contador el valor binario deseado. Clock Se trata, no obsiante, de una posterior operacién asincrona, que en circuitos complejos puede causar problemas (como ya la puesta a cero). Veremos cémo resuelven los circultos sincronos el problema. Preset — Contador con preset (configuracién) del valor deseado: un Jimpuiso sobre preset copia PO..P3 en las saldas Q0..03. Circuitos sincronos Una referencia central resuelve muchos problemas causados por los retardos de los circuitos Una solucion practica @ los problemas de temporizaciones Y retardos reside en el uso de tun reloj central de referencia, ‘9 "master clock Todos los flip-flop del circuito estan controlados por este tini- co reloj, y por lo tanto conmu- DIGITAL molestan, porque el circuito ‘8s puramente combinatorio, Transcurrido el tiempo suti- Ciente para que todas las sefales sean estables, llega la posterior transicién del reloj central y el circuito puede pasar a otro estado. tan al mismo tiempo. Entre cada conmutacién y la £Elroloj contra indica o! tiempo siguiente, las sefiales pueden para todo elcicuito; es como el cambiar libremente: glitch y director de una orquest. transiciones no deseadas no mee Mientras en los contadores asincronos los distinfos magico: es un circuit combinatorio, cuya salida es flip-flop saltan uno después de otro, cada uno con el 1 si las salidas del contador representan un numero acarreo del anterior, en los contadores sincionos que dara acarreo al proximo contadbr. geben conmutar todos juntos. Porc tanto no es posible esperar el acarreo del anterior: es necesatio preverloy enviarla sefal a la entra da del flip-flop siguiente. Esta previsi6n no tiene nada de Contador sincrone de tres bit: cade flnflop se prepara para cambiar de estado cuando todos los fip-fop anteriores estan a 4. EN Si el reloj es Unico para todo el circuito, no se puede utilizar como entrada de cuenta: el contador avanzaria siempre, en lugar de conter los eventos que interesan. Se utiiza sin embargo una entrada de habilitacion (enable), que indica si avanzar quedarse en la ‘cuenta actual: si falta e! enable, el contador se queda auieto, ‘También esia entrada debera ser sincrona, es decir, cambiar s6lo entre una transicién activa del roloj y la siguiente. rola loga siompro, ol onsble docide si ol contader avanza 0 no. DIGITAL Contadores Los circuitos vistos hasta ahora cuentan (o dividen, ue es lo mismo) sélo por potencias de dos: 2, 4, 6, 16, etc. Para contar un niimero distinto de impulsos, por ejem- plo 10, se podria poner a cero el contador cuando llegue a este valor. Esto se puede hacer con un circuito combinatorio que lea las salidas y los comandos de entrada de puesta a cero (clear), como en la figura. Contador por 10 (de 0 a 9) con puesta a cero asinerone, STOIC El circuito anterior tions un problema: la puesta a cero es asinciona, 8s decir, se produce después de que el contador ha superado la cuenta maxima de 9, Asi, los flip-flop se ponen a cero en un momento distinto de la transicién del reloj central, y ello no es conveniente. Es mejor una entrada de puesta a cero sinerona, de la que estan dotados muchos contadores comerciales: liene etecto solo en el frente de relo} Contador por 10 (de 0 a 9) con puesta a cero sinerona: af CLEAR no tiene efecto inmediato, sino en el siguiente "golpe” de reloj. TTT ad En un circuito sinerono, el estado del cireuito 6s valido a intervalos regulares, es decir. en seguida antes de cada frente de reloj. Si se desea limpiar una sefal de interlerencias, bas- ta con afadir un flip-flop D: como la entrada se lleva alla salida solo en el momento del reloj, esta ultima es siempre valida, I sistema introduce un retardo en la senal, igual a Un ciclo de reloj; a veces se utiliza justo para obtener este efecto, 62 no binarios Con un poco de lagica combinatoria, se puede dividir por el némero deseado Nada més alcanzar el contador diez (1010 en binario), el contador se pone a cero: los estados posibles son por tanto de Oa 9. | Qt 2 QF Pero esto se conitrola con antelacién de un ciclo: es decir, se pone activo (por ejemplo, 1) cuando el contador alcanza la cuenta maxima (9): tendra efecto en la transicién siguiente. @ gr gz O3 = == Un fiptep de tipo D impia una sefal, ocultando lo que ocure ‘entre una transicien cel relay la siguiente. Sohal pia a Funciones de los contadores Los contadores sincronos ofrecen normalmente distintas posibilidades ademas del simple avi Los contadores no deben necesariamente contar para au- mentar: pueden tambien ser disenados para contar a la inversa. Un tipo bastante comun es el up/down, que puede contar tanto para aumentar como pare disminuir, segun el estado do la entrada correspondiente. También esta entrada es naturalmente sinerona, y puede cambiarse entre un "goipe" de reloj yel siguiente, invirtien- do e! sentido de la cuenta Por ejemplo, es posible contar las personas presentes en una sala, aumentando (haciendo avanzar) el contador cuando una entra y disminuyéndolo cuando una sale. TE) ‘Ademds de la puesta a cero, 0 como altemativa a ello, muchos contadores tienen entradas de carga (load) en numero correspondiente a las salidas. Entradas Salida Sirven para configurar, © precargar, el nimero de- seado en el contador, de modo que aparezca en las salidas; normaimente son tambien sincronas, chook Confguracion =) Se puede también utlizar esta entrada para recargar lun contador a la inversa con el niimero deseado, cada vez quo llega a cero, de manera anéloga al sia entrada de carga esta activa, los vars on las entradas D contador sincrono por 10 visto antoriormonte susttuyen als presentes en ks fap y visible en ls sas Q. No se pueden conectar simplemente en cascada dos contadores sincronos, como se hace con los contadores asincronos. 0 | o2 93 a4 95 96 o7 El acarroo del primero liege un instante | + Cont=a8 después de la transicién dol reloj, os doci, demasiado tarde: en un crcuito sincrono, las sefiales deben estar preparadas antes del |"UL— Tele). Por eso es necesaro también aqui rever que en el préximo ciclo haya aca- ‘180, por ejemplo cbservando que el conta- Contador sinerano de 8 bit obtendo con des contadres de 4 bt el sexundo dor s2 encuentra en su cuenta méxma. _avanza un paso cuando el primere vuelve a cero, DIGITAL Con un reloj estable y preciso, por ejamplo, un ‘oscilador de cuarzo, se puede construir facilmente un cronémetro. Basta con conectar la entrada procedente del exterior (1'= cuenta, 0 = no cuenta) a la sefial ce enable del contador. Como el contador avanza siempre que esta entrada se queda aciiva, la cuenta alcanzada correspondera al tiempo durante el cual la sefial permanecera a 1 Cronémetro digital s/ ef rele) estd a 4 Miz, ol contador indi durante cuantos microsegundos la entrada se ha quedado a 1. Cc Eee Se puede realizar un cronémetro de dos entradas, para iniciarlo y pararlo, aftadiendo un flip-flop de tipo J:K como en la figura. Clock FL en Parada JL 8 Am Cuenta Cronémetroinicio/parada: el flip-flop HK inicia o detiene la cuenta, RESOLUCION Y PREC Un cronémetro digital tiene una resolucién similar a decir, mide el tiempo a intervalos bien definidos. Si el reloj es de 1 MHz, no podra medir intervalos me! también un posible error de 1 seg, segun el momento, con respecto al reloj La precision depende del oscilador central y de su tiempo como al variar de temperatura, alimentacion u otros factores. Temporizadores digitales Los contadores pueden utilizarse para medir intervalos de tiempo En la practica es aconsejable limpiar y sincronizar la entrada con un flip-flop D, para evitar cambiar el enable del contador en un momento critico. Un impulso de inicio activara la salida Q, activando i contador, mientras que un impulso de parada Getendra la cuenta (por ejemplo para medir la velocidad de un vehiculo con dos fotocéiulas).. Observemos que los impulsos de inicio y parada, al estar conectados a las entradas de Un fip-#lop sinerono, deben durar al menos un eielo de relo) para ser detectados. No deben tampoco superpo- nerse, es decir. ser activos al mismo tiempo, de otro modo el flip-flop J-K invertiria su pro- pio estado (se puede evitar_con un par de puertas logicas), la duracién del reloj: es nores de 1 seg; tendrd de llegada del comando establlidad, tanto en el DIGITAL Sefiales poco limpias Las tensiones en los circuitos digitales estan a menudo lejos del ideal Los niveles légicos "bajo" y “alto" estan detinidos (ver leccién 4) de modo que se deja un margen de ruido con el fin de que fiuctuaciones accidentales no causen errores. Las causas de estas interferencias pueden ser extemas (por ejemplo, campos eléctricos © magnéticos) o internas del propio circuito. Por ejemplo, cuando una transicién (frente de onda) llega al final de un cable, se tiene una reflexion: una especie de eco amortiquado, ue causa una senal de retorno. Si el frente de onda es particularmente empinado, la onda reflejada puede superar el umbral légico de una entrada y ser considerada como una sefal. Sea Una excesiva eapacidad, por ejemplo muchas entra- as conectadas juntas, ralontiza las sefialee: las transiciones no son mas empinadas, pero emplean un cierto tiempo. Ello significa que la tensién varia con la lentitud relati- va en el momento en que atraviesa el punto eritico, s decir, el umbral de paso entre Oy 1 y viceversa, De hecho, aunque los datos indiquen dos umbrales (L. y H), 82 trata solamente de limites garantizados para el umbral efectivo, que en realidad es uno solo, y que esta en alguna parte del medio de esos dos valores, Cada minima oscilacion de Ia tensién de entrada on toro al punto critico produce transiciones en la sada, Ampliaclin Umbra Trarsicones > 10 veseades s CON ‘Aunque se puede introducir un retraso en la propa gacion de la sefal utlizando una resistencia y un Condensador, hay al menos dos inconvenientes El primero es la imprecision del retraso debida a la imprevisibilidad del umbral, el segundo es la notable sensibilidad a las interferencias (de entrada, de alimentacién y de masa) arriba citada, Rotrasai una sofia! con un grupo RC: sencill, pero poco aconsejable. 65 DIGITAL Si un solo umbral de conmutacién da problemas, se puede eliminar utilizanda dos: uno para subir y otto para bajar. Consideremos un circuito cuya salida pasa a 1 cuando la tensi6n de entrada supera 3 V, pero después vuelve a cero sdlo sila entrada queda por debajo de los 2 V. ‘Se comporta como el interruptor de la luz, que en un cierto punto salta a la otra posicion, evitando manio- bras inciertas. a Salida, eliminando toda incertidumbre. LIMPIAR UNA SENAL Un trigger Schmitt es insensible a ondulaciones més Pequefias quo la histéresis; supongamos que una sefial con interferencia suba despacio: cuando llegue al umbral superior, la salida cambiara a 1 El punto crtico a la entrada se desplazaré inmedia- tamente al umbral inferior (L. ver figura), ignorando las posteriores bajadas leves por la ineqularidad de la sefial, Los trigger Schmitt se utlizan a menudo para limpiar entradas procedentes del exterior del circuito, 0 sefiales que han viajado por lineas relativamente lar- gas y podrian por ello haber causado refiexiones, RELI A diferencias de las puertas légicas normales, a la entrada de un trigger Schmitt se puede conectar también una seal analégica Esta sefal se convertira en una sefal digital, ya que la salida puede saltar solamente a una de las dos posiciones estables. En cierto sentido, se trata de un conversor analégico-digital a un bit, Veremos mas adelante en ol curso formas més ‘ofinadas (y precisas) de conversién de analégico a digtal, y viceversa 66 Trigger Schmitt Un circuito que alterna entre dos posiciones estables es Util en muchas situaciones El cispositivo se llama trigger Schmitt; la diferencia entre las dos tensiones (que no debe confundirse con los niveles garantizados por las puertas normales) se denomina histéresis. ‘Umbrel ovando lasaldaes 0 Umbra cuando Ta sala es 1 Lmbral bral Un tigger Schmitt impia fa sesalignorando las fluctuaciones tas la conmutacion. oon “De LULL Entrada sanclogica Saliga digital Primitiva conversion anoldgico-digital: la histéresis introduce un error que no se puede omit. Retardos y osciladores Los trigger Schmitt se prestan Empleando un trigger Schmitt en lugar de una puerta \6gica normal, ol circuito de retardo basado en una resistencia y un condensador se hace mas interesante. Desaparece el inconveriente de la sensibilidad a las interferencias, aunque naturaimente queda la impreci- ‘sion debida ala imprevisibilidad y variabilidad del umbral. Para aplicaciones donde la estabilidad (en el tiempo y con la temperatura) no es imporiante, se puede utilizar un trimmer resistive para regular manualmente e| tiempo de retardo en cada ejemplar, NOT) Con un trigger Schmitt inversor, basta con afadir una resistencia y un condensador para construir un crcuito ‘oscilador, como muestra la figura: la salida es una onda cuadrada Si la salida es alta, el condensador se carga hasta que alcanza el umbral superior: en este punto el trigger Schmitt salta y la salida se vuelve baja. E] condensedor empieza entonces a descargarse, siempre mediante la resistencia, hasta aleanzar el umbral inferior: el circuito conmuta en el otro sentido yel cicio se repite, i Existen varios fipos de puertas con entra- das de trigger Schmitt, y naturalmente no ssélo de la familia CMOS: estan por ejemplo también los TTL. Ts Estos ultimos tienen sin ‘embargo la desventaja de tener umbrales asimetricos y requerir una discreta cortiente de entrada (hacia masa cuando la entrada os 0), Ofrecen por tanto una impedancia baja de a algunas aplicaciones interesantes ies [ ——— a are ‘Regulando a mano ef retardo, se resuelve el problema de (a varlabilided ée producciér. ‘contro ce frecuencia Oscilador que aprovecha la histéresis de un inversortrigzer Schmit. entrada, es decir, se comportan como una carga en la se ‘hal, ademas sdlo cuando esté a nivel L. Son por tanto menos adecua- dos para circuitos de retardo y osciladores, especialmente porque el retardo resulta distinto en los dos sentidos. AaB) EL. principio do funcionamiento de un ‘osellader do tigger Schmitt 67 DIGITAL CMOS de modo lineal Las puertas lgicas digi pueden funcionar como amplificadores analogicos! Hemos visto cue los circuitos normales 6giccs La ganancia de este amplficador es muy clovada: | CMOS (no trigger Schmitt) son especialmente una sefal relativamente débil a la entrada se suele | sensibles en su punto critico, o umbral. ‘cuadrar, 9s decir, convertir en onda cuadrada. es, De hecho, una pequefa variacién de tensién a la entrada causa una gran variacion a la salida: en otras palabras, se tienen una notable amplificacion. Conectando a un inversor una resistencia de realimentacion entre salida y entrada, se establliza exactamente en el punto de umbral, autocompen- sando las posibles variaciones. ‘Amplificador analogico con un inversor CMOS: la resistencia de realimentacion lo mantiene en el punto erties Uae ‘Se puede realizar un oscilador también sin utilizar Este oscilador es estable, pero puede tener problemas trigger Schmitt: la figura muestra un circuito denomi- de puesta en marcha, especialmente con condensa- nado “oscilador de relajamiento’ dores pequeiios; existen numerosas variantes. | Mientras la salida va a 1, e| condensador se carga y envia la tensién a la entrada (mediante Rt) confirmando ! nivel alto en la salida oun Cuando la salida ha alcanzado sin embargo el nivel | maximo, el condensador empieza @ descargarse; 2 cuando su terminal de la izquierda queda por debajo del punto critico, se inicia el ciclo opuesto. I ne c Oscilador de relaiamiento: el inversor de la lequlerde funciona ‘como amplificador gracias a la retroalimentacion de R2+R. OSCILADORES DE CUARZO Si se requiere una buena precisién de la frecuencia, ®s necesario recurrir a un cristal de cuarzo; la figura muestra un ejemplo de oscilador con un inversor CMOS. También este circuito puede manifestar problemas de puesta en marcha, especialmente si la alimenta cién llega despacio; en general es preferibie utilizar médulos osciladores ya fabricados. Osellador do cuarz0: ol cristal Xtal hace resonar ol amplificador ala frecuencia establecida. DIGITAL Registro de desplazamiento Una cadena de biestables permite desplazar los bits a voluntad y los recuerda Conectando en cascada un determinado numero de flip-flop de tipo D se obtiene un registro de despla- zamiento. Como el reloj es comun, el dispositive es sincrono: todos jos biestables actian al mismo tiempo, transfiriendo cada uno su propia entrada a la salida. Registro desplazamiento: a cada golpe de red, los bits se desplazan ala dereche. fone Un registro de desplazamiento introduce un retardo en la sefial légica, proporcional al niimero de estadios (fip-flop) que lo componen ‘Supongamos por ejemplo que el reloj sea de 1 MHz; el periods, es decir, la distancia entre dos impulsos de reloj, seré por tanto de un microsegundo. Si hay cuatro otapas, cada variacién on la seftal légica de entrada se introduciré de nuevo por la entrada después de al menos 4 microsegundos. Decimos "al menos" porque, como en todos los circuitos sincronos, cuando la enirada cambia es necesario en cualquier caso esperar al reloj para que sea “visto” por el primer flip-flop. Tras tantos impulsos de reloj como elapas, la sefal légica que se encontraba en la entrada del registro de desplazamiento alcanza la salida del tiltimo flip-flop. Las etapas anteriores contiene la historia de la senal de entrada, “lotogratiada" a intervalos regulates co- rrespondiendo con el elo} Por tanto, el registro de desplazamiento ha memori- zado un cierto nimero de bt, en modo serie, es decir, uno detras de otto, en el interior de los propios biesta- bles, Parando el reloj, al desplazamiento se interrum- pe y los valores logicos se conservan en los fip-lop; bastara con reaplicar el reloj para que se desplacen fuera de la salida. 69 El contenido de cada flip-flop es por tanto "trans- vasado’ al siguiente, obteniendo un desplazamiento de los bits hacia la selida tinal (normaimente dibujada ala derecha) La salida reproduce 1a entrada, con un retaréo dé de reloj: uno para cada etapa. ‘impulsos DIGITAL El registro de desplazamiento que hemos visto es del tipo “serial-in, serial-out” (SISO), es decir, la entrada y la salida son ambas serie Nada prohibe utilizar todas las salidas de los flip-flop al mismo tiempo, os docir, loor do una sola vez toda la historia pasada de Ia entrada. Un regisiro de desplazamianio de este tipo tiene entrada serie y salida paralela, es por tanto un ‘serial in, parallel out” (SIPO). Si por ejemplo el reloj es de un segundo, y las salidas ‘controlan 10 bombillas, estas uiltimas muestran al estado de la entrada en los ultimos 10 segundos transcuridos. PG Utlizando flip-flop mas versatiles, por ejemplo los J-K en lugar de D, es posible configurar el valor 16gico contenido en cada uno de ellos Los registros de desplazamiento del tioo "parallel-in, sserial-out" (PISO) tienen una entrada de LOAD (carga), que permite configurar el valor de todas las etapas con una sola operacién. Los distintos bits que componen el dato se cargan entonces en el registro de desplaza- miento todos a la vez, y después se envian fuera uno cada vez desde la salida, a cada impulso de reloj Parallel.n,seria-out: los bit entran todos juntos y salen uno cada vez. Tart n Existen registros de desplazamiento bidireccionales, en los que es posible cambiar el sentido de la marcha y hacer retroceder a los bit de la salida a la entrada. Gonectando la salida de un registro de desplazamiento normal a su misma entrada, se obtiene un dis positivo de rotacién, que produce ciclicamente la misma secuencia bit oo1010 Un registro de desplazamiento ‘conectado en anillo permite producit ‘una secuencia ropetitiva de impulsos. 70 —> des wit Serie y paralelo Los registros de desplazamiento permiten convertir un grupo de bit entre dos formas diferentes Salida paralela a 00 93 ° Fnvada serie Seriain, paralleLout: entrada se produce un bit cada vez, la ‘sada todos al mismo tiempo. ‘Sitambien todas las salidas son accesibles, se tiene un. dispositivo "parallel-in, parallel-out" (PIPO), que despl za los bit de cada uno de los cables al adyacente. Envada paralela Estos ultimos, configurados por ejemplo por medio de una entrada paralela, siguen circulando en el anillo asi formado, representandose periddicamente a la salida. ‘it contenidos ‘enel rogistio 60 desplazamionto ‘001010 +0 ‘00101 + 4 300010 +0 <> Una vita ‘10001 + 1 10100 -+ 0 [Desouts el ciclo uelve a empezar Dispositivos serie Los registros de desplazamiento tienen varias aplicaciones interesantes, gracias a su capacidad de almacenar inform Cuando se daben enviar datos a largas distancias, Lo ideal consiste en utlizar dos Unicos cables: sefial resulta oportuno utilizar el menor numero posible dey masa; lo que significa sin embargo que es posible cables: se reducen asi costes y problemas de interfe- enviar un solo bit cada vez. Esto se puede hacer con rencias. dos registros de desplazamiento: e! transmssor se convierte de paralelo a serie y el receptor hace lo contrario. Es necesario no obstante que los dos relojes estén Gemihae sincronizados; veremos mas adelante a aa como se puede obtener sin anadir un tercer cable. bn bi un cada yee cada yer Datos paraicios _& 3p. Dotos peraicios | Transmision serle en una linea de n bit, ‘transmit em Pevecidos ‘empleando dos registros de desplazamiento complementarios: un PISO y un SIPO. Un registro de desplazamiento es un dispositivo FIFO: stn ist out", es decir el primer daio fit) que entra | gory es también el prmero que sale por el otro lado, enn Utlizando varios registros de desplazamiento, se is ” puede reaizar un FIFO de varios bits: cada uro de | oo | | ae bles se desplaza en un “canal” distinto, al mismo |*>!| o, a, |eeabt tiempo que los demas. Ello permite ontre otras cooas io - relardar un numero binario, formado por varios bits (por ejemplo 8), de modo cue se encuentre de nuevo i i ana) a la salida tras un cierto numero de impulsos de relo). La longitud del FIFO, es decir, de los registros de desplazamiento, indica el nimero de valores que se FIFO de 64x4, es decir, 64 etapas de 4 bit, constiuldo con 4 pueden almacenar, por ejemplo 64. registros de desplazamiento de 64 etapas. eT Un FIFO mas complejo es el tipo asincrono: tiene Dos salidas especiales indican si el dispositive esta dos relojes separados para la entrada y la salida. ‘Meno y no puede aceptar otros datos, o bien si esta vacio y la salida no es valida, Es posible introducir un nuevo dato sin que deba salir obligatoriamente uno por el otro lado, y viceversa, Esta funcién de acumulacién temporal (buffer FIFO) es como la cola de una ventanila desarrollada noy habitualmente por e\ programa (software) de un microprocesador, fen lugar de con circultos especia- les. = Buffer vacio wnae —+- inten 8 8 Dato de 8 bt 2 Pr Dato oe Bit FIFO asincrono: entrade y salida tienen dos relojes individuales, y se puede tener informacion sobre su contenido. 7A DIGITAL Divisores y multiplicadores £s posible cambiar la frecuencia de una senal digital, aunque con alguna limitacion Hemos visto que un contador funciona tambien como divisor: la frecuencia de la salida mas signiticativa es luna traccion entera (por ejemplo, 1/4, 1/5) de la del apzis: alates ane relo} Existen también curlosos dispositivos capaces de dividir por un numero fraccionario, por ejemplo de 1/64 a 63164: son los multiplicadores de cadencia. Son en la prdctica contadores que dejan pasar algu- nos impulsos de relo}, bioqueando otros: la desventaja es que su salida no tiene forma regular: es el valor medio de la frecuencia lo que cuenta, Multiplicador de cadencia que divide por la traccion 3/4, saltando un ciclo cada 4. eae Wea I También es posible aumentar la frecuencia de una seal, es decir, afiadir impulsos donde no los hay, por ejemplo con el circuito mostrado en la figura. Este Crculto aprovecha el retardo de los dos inversores en evansiaones serie para producir un breve impulso adicional en ta salida del XOR a cada transicén de la entiada (ver lecoion 8) Si se desea un impulso mas largo, sera mejor utilizar un monoestable para alargar ol rotardo; ello permite también una posible segunda duplicacién con otto Duplicader de frecuencia: las transiciones 2 Ia sada sen Circuito similar. ‘dobles con respecto a la entrada. DPERACIONES ARITMETICAS. Hablando de numeros binarios en lugar de frecuencia, surge a menudo la necesidad de efectuar cAlculos con estos numeros. Hace algiin tiempo se hacia por medio de circuitos especiales multiplicadores y divisores, bastante complejos y costosos (especialmente para numeros con muchos bit). Hoy esta operacion es desartollada rormaimente por los microprocesadores, que a menudo incluyen también un circuito especializado especialmente para numeros no enteros), el ‘coprocesador matematic Un microprocesador puede efectuar muttiplicaciones y divisiones ‘mediante software (programa) y/o hardware (circuitos). Salidas DIGITAL en LED Los diodos luminosos se utilizan a menudo para visvalizar el estado de una sefial digital Un LED (Light Emitting Diode: diodo emisor de luz) 5 un tipo especial de diodo, que se ilumina cuando es atravesado por la corriente. Eléctricamente, la principal diferencia con respecto a un dicdo normal consiste en la caida de tensién mas elevada: 2 V més 0 menos (depende del tipo) en lugar de 0.65 V. VER UNA in Gracias al consumo telativamente bajo y a su larga duracién, los LED se prestan espacialmente a ser utiizados en lugar de las bombilla guia NAL D Por ejemplo, en el panel frontal de los ordenadores personales hay un LED (generalmente rojo) que Indica cuando el diseo duro esté en funcionamiento. Utlizado de este modo, un LED representa un solo bit de informacion: si/no, encendido/apagado, verda- dero/talso, Los LED se suelen utilzar como indicadores digitales de dos 3tades (por ejemplo, encendida/apagado). Al principio los LED eran de luz roja, ahora existen de muchos colores y son habi- tuales también los de luz infrarroja, no visible Un tipico LED, el terminal més largo es el anodo de! diodo. Podemos per tanto considerarla una interfaz de salida elemental, es decir, una conexién entre la sefial digital (en el cable) y el observador humano, rT Sino se pretende mucha luminosidad, la corriente pedida por un LED puede obtenerse directamente de la salida de un integrado digital, como se ve en ia figura. 1) La resistencia tions el objetivo de limitar la corriente a un valor aceptable, en ol ejemplo: 3 V / 680 2 = 4,4 mA aproximadamente (hemos restado los 2 V de caida sobre el LED de 5 V de alimentacisn) En el primer caso el LED se enciende cuando el nivel es L (0), en el segundo cuando es H (1); observemos que el segundo circuito no funciona con los TTL, que Pueden solamente ‘aspirar” corriente hacia masa. Control decto de un LED de la salida de un integrado clita, con una resistencia de limitacion de la coment 73 Corriente aa 650.8. Drensje (TTL y CMOS) i Origen (solo CMOS) DIGITAL Un display de 7 segmentos es un contenecor rectangu- lar en el que se han montado siete dicdos Iuminosos ‘oportunamente dispuestos (mas un posible punto deci- mal). Como se ve en la figura, es posible encender los, LED de modo que se representen las cifras decima- les de un modo claramente legible; la cifra 8 utiliza todos los segmentos. Los display de 7 segmentos se utilizan en un gran Aumero de dispositivos, por ejemplo en los relojes digitales de pulsera (aunque en este caso no emplean LED sino cristales liquidos) PEE Normaiments las cifras numéricas que se visualizan ‘estén en cédigo binario, en forma de cuatro bit repre- sentados por otros tantos cables, como se ha descrito en la leccién 7 y se informa en la tabla. Es necesario por tanto un circuits en légica combi- ntoria que, para cada una de las diez combinaciones (correspondientes a las cifras de 0 a 9), enciende los segmentes adecuados. El ciroulto deberd tener cuatro entradas, correspon- dientes a los bit del dato digital, y siete salidas, cada tuna de las cuales controla un determinado segmenio. Se puede realizar con puertas légicas, poro os mas Normalmente interesa que los LED sean muy lumino- ‘808: la Corriente normal de salida de una puerta légica no es sufciente. Los descoditicadores de 7 segmentos, como cualquier tro dispositvo destinado a controlar LED, incluyen un ‘river (ver leccion 10) para cada salida, capaz de pro- porcionar una corriente reiativamente elevada. Si los siete LED tienen el cétodo en comun, debera proporcionar corriente del positive (origen); en el caso contratio de! énodo en comtin deberd *aspirarla’ hacia masa (drenaje), 74, Display de 7 seqmentos Encendiendo siete LED en la adecuada combinacion, se pueden representar cifras numél Gies4S6189 ‘Cémo encender los LED de un display de 7 segmentos de modo (que se representen las cifras de0a9, cémodo utilizar un descodificador de 7 segmentos ya fabricado, en forma de inte- grado digital. Representacion en ‘codigo binario de las 10 ciftas Descodiitcador de binario a T segmentos; incluye un diver para LED en cade slide. Binario, BCD, hexalfflimal Un mismo grupo de cables puede tener distintos signi s Para una cilra decimal se necesitan cuatro bit, aunque algunas posibles combina- ciones (las que van despues de 1001, correspondiente al 9) no se utlizan. Con varias cifras las cosas se complican: si se desea representar el nero 27, podremos utilizar su correspondiente binario, 11011, pero esio plantea un problema. Tenemos cinco bit que representan dos cifras decimales: no podemos utilizar un soncillo descodificador para display de 7 segmentos. EI nimero binario, en realidad, representa el/mismo valor que nuestro 27 decimal, pero no es visiole la divisién en ciftas. ECan eee ‘A menudo conviene representar un valor decimal cifra por cifra, utilizando un nimero de 4 bit para cada una de elles. La figura muestra, por ejemplo, como se puede codificar el decimal 27: cuatro bit representan la cifra '2" y otros cuatro la cifra "7"; esta técnica so llama BED (Binary Coded Decimal: decimal codif- cado en binario). Es menos eficaz que el binario puro: por ejemplo, en 8 bit estén solamente los nimeros hasta el 99 en lugar de hasta el 255; sin embargo es cOmoda para manipular cifras deci- £1 e6digo BED representa en cédigo binario cada cifra decimal, males. por soparado, CE a Para no uliizer las combinaciones de 4 bit ro emplea- Algunos descodificadores para display de 7 segmen- das por las ciftas decimales, es posible asignarles otros tos pueden mostrar ademas las letras del codigo simbolos, por ejemplo las letras a, D, c,d, @, f: hexadecimal, aunque en una forma no demasiado ele- ante, como muestra la figura. 101 WON=b 1400 101-4 et AoldEF M1 = 1 i Ello permite, entre otras cosas, representar cada grupo de 4 bit como una cifra o una letra, faciltando su lectura; el sistema se utiliza mucho con los micropro- Las letras del codigo hexadecimal representadas en un display de cesadores, como veremos. 7 segmentos: 8 y 0 tienen que ser obigatoriamente minusculas. DIGITAL descodificador. el segundo latch, y asi sucesivamente. los datos en el bus cambien después. ese recuerda la luz durante un cierto tiempo. encendidas al mismo tiempo. Display mutiplexad PE ejemplo los de matriz de puntos, capaces de mostrar ademés letras 0 signos arbitra- rios (ver figura) Se trata de un reticulo regular de LED dispuestos (y conectados) para filas y columnas: alimentando una fila y una columna, se enciende un solo punto. Se utliza normalmente un multiplexado similar al ilustrado: se envian los datos de Enlugarde utilizar 4 cables para cada cifra (‘digito"), se pueden utilizar 4 cables comunes a todos los display (un "bus"), efiadienco un latch antes de cada Se ponen en el bus los bit de la primera cifra y se memorizan en el primer latch (ver leccién 13), después se pone la segunda cifra y se almacena en El bus esté portanto multiplexado, es decir, se ha util | zado para transportar distintos datos en distintos mo- ‘mentos, en este caso las distintas cittas a visualizar Gracias a fos latch, cada display conserva el nimero aunque Se enciende brevemente la primera cifra, después la segunda, la tercera, etc. reptiendo después desde el principio: si el ritmo es rapido, pareceran estar La figura muestra los display conectados con los anodos en paralelo; a rotacién se envia un dato, y se descodificador de abajo encience solo ‘1 deplay al que se reflere el dato configurado aria. Cifras miltiples Existen varias tecnicas para actualizar los némeros visualizados en display para varias cifras rT Datos — 4 4 1 Latch | pamer gro jj Leteh segundo oi Se pueden reducir los descodificadores aprovechan- conecta a masa (0) sdlo el retorno (catodo comtin) do |a persistencia de la imagen en la retina: el ojo del display que se desee encender, Hay también display con mas de 7 segmentos, por una columna y se enciende brevemente, después se pasa a la siguiente Es necesario también elegir los datos Correctos, de lo que se encarga normal- mente un circuito integrado especial, 0 bien se hace directamente desde el Programa con un microprocesador. Display de LED de matiiz de puntos: en cada ruce de fla y colunna se encuentra un diodo luminoso. 76 DIGITAL Memorias digitales La capacidad de recordar datos es vital en un gran nomero de ap! Se considera en general que los microprocesadores han asumido ei papel principal en la revolucién electronica e informatica iniciada en los afios 70. Se olvidan sin embargo unos componentes aparentomente hu- mildos, poro que en realidad han hecho posible esta revolu- clén: las memorias. Una memoria digital es un dispositive capaz de recordar un cierto niimero da bits, que pueden representar riimeros informacién de otro tipo. Ya hemos visto algunos ejemplos senclos: un flip-flop (leccién 18 y posteriores) puede considerarse una memoria de un bit. Ya con los tubos de vacio (valvulas} era posible rea- _cidn; posteriormente se paso a los transistores. Pero lzar memorias, pero su coste era muy elevado, por s6lo con los circuitos integrados fueron posibles las no hablar de molesto, pesado y de gran consumo. memorias de alta capacidad, con muchos bits de poca superficie (y bajo consumo). ‘Se utilizaron Gespués anillos de ferrita (un material ‘magnético) dispuestos en reticula, conteniendo ca- Hoy, bastantes millones de bit residen en los pocos da.una un bit: 1 0 0 segiin el sentido de magnetiza-_milimetros cuadracos de un chip: un paso adelante ‘de gran importancia con respec- sr = ——},_ to a los tiempos en los que un magento orc bit ocupaba mas o menos las Nuceo Gable icon 3 fnita dimensiones de una mano. EN A isyeo wee ; feria: cada aniloalmacena un bt 3 en forma de campo magnetico. Para reducir todavia mas ol coste por bit, os docir, cargar una mayor cantidad de datos con la misma inversién, se recurre a la "memoria de almacenamien- to masivo”. Estos dispositivos suelen tener compo- nentes mecanicos, como las cintas, los discos mag- néticos, 0 los discos Opticos; tienen mucha capaci- dad, pero resultan bastante lentos. Aqui vamos a ocupamos de las soluciones pura- rms mente electrénicas; algunos dispositivos de memo- Interior de un disco duro para oréenador tia de almacenamiento masivo sé ilustran posteror- ‘puede almacenar muchos mies de millones mente en el curso de Aplicaciones, fe wit DIGITAL Las mem Una memoria tipica esté dividida en un gran numero de celdas, cada una de las cuales esta destinada a recordar un dato. Cada celda puede contener una o varias celdas ele: mentales de un bit, segun la organizacion de la me- moria: por ejemplo, “32 x 8° significa que hay 32 celdas, cada una con 8 bit (un “byte") Un grupo de cables, llamado bus de direccione sirve para elegir la celda deseada: se puede por tanto utilizar una sola cada vez. Datos en la memoria 13 Dreccion dela cota Date tise deseada dela celda 3 { | Y fa |__z—»4e Bus de direceones Bus de datos KILO Y MEGA EI numero de celdas es casi siempre una potencia de dos (2, 4, 8, 16, 92...), normalmente bastante ele- vada. Los miiltiplos kilo (K, en maytisculas) y mega (M) no indican aqui 1.000 y 1.000.000, sino respectivamente 1,024 y 1.084.575, las potencias de dos mas proximas. Por ejemplo, una memoria de 64 Kb x 16 contiene 64 x 1.024 = 65.536 coldas de 16 bit, con un total de 1 Mb, correspondiente a 128 Kb (dado quo un byt contione 8 bits) El bus de direcciones tendré 16 cables, que dan por tanto 65.535 combinaciones (2 elevado a 16). mien- Celdas y direcciones is estan organizadas de modo que puedan acceder con rapidez a la informacion deseada Estructura do una ‘memoria: una serie de celdas idénticas, ‘umeradas a partir’ de core. Deeceién Elegide la celda, se puede enviar una sefial para leer | dato en ella contenido: los bit asociados se enviardn a los cables del bus de datos. Si la memoria es de las que permiten mocificar los datos elmacenados (ver pagina siguiente), es también posible escribir un dato en una casila. Cosa que se puede hacer eligiendo ja direccién de la celda deseada, poniendo en el bus de datos o! valor que se desea escribir y enviando una sefial de escr- tura al cable correspondiente Lectura de un dato por una memoria: el nimero del bus de direcciones elige la colda de la que se va.a leer tras que el bus de datos sera tan largo como una celda, es decir, tendré también 16 cables. Direcclones | Comando de lecture Dates tetdos ctu <> cie0s p00 Comando de escritura ey Tipicas conexiones de una momoria do leetura y oseritura: ‘bus de datos es bidireccional, como indican las fechas. ROM, RAM e intermedios Cada tipo de memoria tiene sus virtudes y defectos: hay que elegir se LLa secuencia de instrucciones (‘programa’) que controla el funcionamiento de un electrodoméstico, o del ABS de un automSvil, se ha escrito una sola vez en a fabrica En casos como estos s¢ utiliza una memoria de sélo lectura, o ROM (Read - Only Memory), cuyo contenido se escribe y no se puede ya modfficar. Los datos son permanentes, por lo que se conservan también en ausencia de allmentacion, io que garantiza el tuncionamiento del dispositive del que forma parte la ROM, aunque se apague y se vuelva a encender. ‘Las ROM son memories permanentes: conservan los datos para siempre, 0 casi. Pe Tomemos un teléfono capaz de recor plerde cuando falta a alimen- der el citimo némero al que se ha lle- tacion. mado, de modo que se puede llamer de nuevo con la tecla correspondiente. Lo que se escribe o dibuja en un ‘ordenador personal s2 almace- Hard falta una memoria cuyo conteni- na tomporalmente en su memo- do cambie en cada llamada telet6rica ria principal, que es como dex ‘no se utlizaré por tanto una ROM, sino mos una RAM, una RAM (Random Access Memory’ memoria de acceso aleatorio). Ke Una RAM tipica es de Cada celda de una RAM puede leer- 3 bs costa por Dit ex baa gore Bor 0 0 esorbise; por el contrat, savo fi dena ect casos especiales, el contenido se Mi MEMORIAS SEMIPERMANENTES. La contiguracion del reproductor de video puede mo- diticerse, pero conviene que permanezca tambien en caso de ausencia de corriente. Es necesario en este caso una RAM... permanente, @s decir, en la que se pueda escribir pero que ni pier- da los datos cuando se corta la energia, justo como los antiguos anillos de ferritas. Es posible utilizar una RAM con una pequefia bateria que la mantenga alimentada, pero existen memorias especialmente disefiadas con este fin, como veremnos en la leccion 22. Algunas tarjetas tienen una memoria de escritura de tipo “Flash” o "EEPROM", que no requiere alimentacién para conservar los datos. 79 DIGITAL Una memori Una sola celda de memoria de un byte (8 bits) puede construirsa con un latch de & bits, como el ilustrado en la leccién 13 de Componentes. Conectando las entradas y las salidas del latch obte- nemos el bus de datos, que es bidireccional: sirve tanto para la lectura como para la escritura (E/S, en- ‘trada/salida). Las salidas son normalmente triestado, es decir, es- tén aisiadas; para leer el dato basta con activarlas con OE (Output Enable: salida habiltada), que con- vierte por tanto nuesira sefial de RD (Read: lectura). ¥ escritura de una sola celda realizada con un latch CELDAS MULTIPLES Para tener varias celdas de RAM, pongamos 4, podemos conectar cuatro latch en paralelo, es de ‘on ol mismo bus do datos. Los comandos de RD y WR estarin separados: daberdn llegar solamente a la celda seleccionada, la que se lee o en la que se escribe La figura muestra las cuatro casillas, numeradas de 0.3 (por convenio se parte siempre de cero), con las respectivas lineas de comando RDO..RD3 y WRO..WR3. PMN Para no utilizar linoas soparadas os necosario des- codificar las direcciones, es decir, entender cual @s la calda requerida, de modo que se active el RD (0 WR solo para ella. AL Diecciones {Ab Lectura —»— Dentro de una RAM no tiene nada de milagroso: veamos como se puede realizar una con componentes normales Para escribir so pone el dato on ol bus y se envia ol comando WR (Write: escritura), que almacena el da- tos en el latch con un impulso en el LE (latch enable: latch habilitado) adecuaco. Esertura-»— Cuatro latch en paralelo forman otras tantas celdas de RAM, cada una controlada por separado. Cosa que se puede hacer con descodificadores (leccién 7), en este caso de tipo “2 a 4”, en los que entran las dos lineas de direcciones A0 y A1 y salen RDO..RDS o WRO..WR3. Si por ejemplo en las direcciones hay 10 (2 en decimal), habilitando el decodificador se activara la salida Y2, que invertiré el comando RD en la celda 2 Descodificacion para la lectura de una memoria de 4 celdas: se activa solo la sala relativa a la celda seleccionada por las dlrecciones. DIGITAL ADC Para poder elaborar con circvitos digitales las sefiales analogicas, es necesario convertirlas antes En los ultimos tiempos se ha producido un crecimiento explosivo de la electronica digital, que presenia humerosas ventajas con respecto a las tecricas analégicas (ver leccién 1). Muchas sefiales, no obstante, son por natura leza analégicas: por ejemplo, las que repre~ sentan sonido, temperatura, velocidad, presién y en general medidas o tamafos fisicos. Es necesario por lo tanto hacerlas pasar por un conversor analégico-digital o ADC (Analog Digital-Converter), cuya salida sea aceptada Por los circuitos 16gicos de dos Unicos eStad0S. Los compact dise musicales graban una seal analégioe (la misica) en forma digital ¢8 dec, como grupos de bits. Nf 481 246 167 73 48 54 (se) Para convertir una sefal analégica en forma digital se mide su valor a intervalos regulares, obteniondo asi una serie de numeros. Cada uno de ellos representa una sola “muestra’, ero puestos en conjunto deseriben la forma de la sefial, como en la figura. Cada valor sale del conversor (ADC) en forma bina- Hla, es decir, como grupo de bits, adecuado para Ser Muestreo de una sefal analdgica a intervalos regulares: tratado por circuitos digitales. ‘resulta una serie de valores, aqui mostrados en forma decimal, PSL El numero de bits disponibles determina la ‘re- solucion’ de cada medida individual: por ejem- Tensibn plo, con 8 bits se tienen 256 posibies valores, | 4 on 16 bits hay 65.536, Cada medida analdgica esta obligatoriamente cuantizada, es decir, | aproximada al valor mas préximo disponible: | | ‘cuantos mas bits haya, mas fielmente repre- senta el numero binarbo el valor original Valores Sohal de cisponbies mueaee j abiteeBvabres b- ‘También la frecuencia de muestreo es impor- [ ee tanie: cuantas més medides se toman, mejor | t a Setar describe la serie de nimeros binarios la forma | + a er de la sefial analégica, —Priempo | ‘Cada medida se aproxima al valor mas cercano usiniage ‘disponible en ef momento en wl que se efecta el muestreo rmuestreo. 81 DIGITAL Conversion directa Los métodos directos son muy rapidos, pero su coste la resolucion requerida La figura muestra un conversor analégico-digital.. be Si por ejemplo la entrada analégica puede variar ente un bit! No es otra cosa que un comparador que, como 0 y 4 V, se puede aplicar a la entrada negativa una se ha explicado ya en la leccion 14, tiene un (H) a la tension de referencia de 2 V, es decir, el valor medio. salida si la entrada positiva supera a la negativa. eleva rapidamente al aumentar Si la tensién a la entrada, es decir, el valor de la sefial, es menor que el valor de referencia, a salida vale cero (L); en caso contrario vale uno (H) tna Salida El flip:tlop de tipo D, controlado por un reloj de fre- cuencia constante, almacona este valor a intervalos regulares, obteniendo un valor digital que varia sola- mente en el frente activo del reloj, ADC de un bit, realizado con un comparador y un fip-fop. es Un bit es poco para medir una sefal con precisién, ae pero la técnica puede extenderse, como muestra el al ‘conversor ADC de 2 bits de la figura. one Hay tres niveles de referencia, uniformemente espa- a ciados con un divisor resistivo, y tres comparadores, | aao——1-4 cuyas salidas van a un codificador de prioridad (ver | leccion 9). bone ‘] satsa 2k Joc bts Esta técnica es muy rapida (por ello se liama Flash), ~ Pero requiere muchos comparadores: 255 para una Ceaitacor resolucion de 8 bits; por lo tanto se utiliza alli donde (20, te te 0 necesite una elevada frecuencia de muestreo, Rf comaredores ‘ADC We dos bts: ef codiicador de proridad Indica el numero de la entrada mas alta que vale 4; el cuarte valor es ol cers. TASS nN Entre los numerosos factores que iniluyen en la pre- cisién de un ADC, es muy importante la tension de referencia aplicada @ las entradas de los comparado- res, producida on un cireuito especial. Esta tensién debe ser lo mas precisa y estable posi- ble, especialmente si el conversor tiene una resolu- cién elevada: un pequefo error pusde causar una lectura equivocada. ‘Les modernos ADC retinen la parte analégi, le digital y la tension de referencia en un tnico chip. ADC de alta tension Las teenicas de conversion mis precisas requieten tiempos relativamente largos Un sistema de conversién completamente distinto consiste en producir una rampa, es decrr, una tension 4 aul sata \ Ramp tinea! aie el comparadog emedit Tempe aripieado LN SIL Una técnica mas refinada consisto on produeir una sefial analégica similar al punto medio de los valores posibles, decidiendo con un comparador si la sefial a la entrada esta por encima o por debajo de este valor. Restringido asi a la mitad el campo de medida, se produce una sefial que esta en el medio del campo nuevo, que se compara con la entrada, y asi suce- sivamente (ver figura). Lo bonito de esta técnica es que cada media produce directamente un bit del valor a la salida, a partir del més significativo, Es también razonablemente rapida, Principio de la aproximacion sucesiva: en cada mecia se divide 2 la mitad | campo y se obtiene un bit del resutado. PME ME En algunas situaciones puede ser itil emplear un sis- tema completamente distinto: un oscilador cuya fre- cuencia depende de la tension aplicada (VCO: Voltage Controlled Oscillator, oscilador controlado por vottaje). Es un sistema practico y econdmico si el valor se debe transmitir por cables 0 por radio, pero la salida Conversor tension-recuencla: en algunos sensores se ‘incorporan dispositivos similares (por ejemplo de temperatura). ‘que sube linealmente en el tiempo, y medir lo que ‘emplea para alcanzar el nivel de la sefial. El tempo empleado, que puede medirse por ejemplo con un contador conectado a un oscilador, es propor- cional a la tension de la sefial que se va a medit. En la practica se utilizan sistemas mas complejos pa- ra reducir los errores (por ejemplo, “doble rampa’), pero el principio permite resoluciones elevadas, aunque al precio de un tiempo de conversion bastan- te largo En un conversor de rampa, se mide el tiempo necesario para {que la rampa aleance fa serial, Tension —P| a muestrear no se puede utilizar inmediatamente: es necesario medir la frecuencia de la sefial digital. DIGITA Mejorar la conversion Si la sefial varia durante la conversi6n, el valora la salida puede resultar equivocado Los ADC, especialmente jos de mayor resolucién, re- quieren un cierto tiempo para efectuar la conversion. Conviene “totogratiar’ la seal analogica, es decir, leer y conservar el valor de modo que se mantenga Seconzc estable curante toda la operacion. Ello se hace con un muestreo y conservacién, cu- Yo principio ee muestra en la figura: la sefial analé D> a > fsotiosiraa es | gica 08 almacenada on un condensador. ae t El interruptor es normaimente un transistor FET o MOSFET (ver lecciones de Analdgica), algunas ve- ces incorporado en el propio conversor integrado. Principio del muestreo y conservac ‘reforzada con un butler para no causar ite un condensador. ferencias, carga ILTIPLEXADO ANALOGICO. Si hay varias sefiales para convertir y el tiempo de ‘Multiplexacor analégico que se dispone es suficiente, se puede evitar ulllizar un ADC separado para cada sefial. ng. 0 "20— Un solo ADC puede conectarse a la sefal a medir bet 0 con un multiplexor analégico, es decir, adecuado pa- 10 0— ra sefiales continuamente variables (figura) de entvada) Se ejecuta a continuacién una comprobacién de las entradas, de modo que midan por turno el valor y lo envien a los circuitos digitales que lo utilizan (nor- Un multiplexor analégice funciona como un conmutador:elige malmente un microprocesador), a senial que se va a conectar a su salide. Pacts La frecuencia de muestreo es importante: si por ejemplo a la entrada de un ADC hay una onda sinu- Soidal (como un sonido), existe una frecuencia m ‘ma bajo la cval se piorde. Nyquist demostr6 que es necesario muestrear a una frecuencia al menos doble de la que se va a medir: or ejemplo un CD de audio esta muestreado a apro- ximadamente 44 KHz para garantizar la reproduccién Mie hasta 20 KHz, Obviamente, no se reproduciré ta forma de onda a dicha frecuencia, pero al menos la fundamental (ver 9s procesos de audio ya se desarrollan exclusivamente sobre leccién 16 de Analégica) estara presente. | serial dita, tras fa comersion con un ADC. DIGITAL ROM y PROM El contenido de algunos tipos de memoria se programa una sola ver y no puede modificarse Existen distintas variantes de ROM, 0 memoria Ge solo lectura (ver leccion 20), que ditieren se- gin la técnica utlizada para guardar los datos. En las ROM propiamente dichas, se utiliza un enmascarado adecuado durante los procesos fotoquimicos on la fabrica: se trata por tanto de Circuitos realizados a medida. El coste fijo (‘de fabricacién’) es elevado, pero redstomioads poet ©! coste del componente independiente es muy © lene, imposbie de reducido: esta técnica se emplea por tanto en la roduccién en serie a gran escala La necesidad de realizar prototipos y pequefias se- Los fusibles integros y los quemades corresponden ries llev6 al desarrollo de las prmeras ROM progra- 2 los dos estados ldgicos (H y L, o viceversa), que mables por al propio usuario: las PROM, hoymenos se escriben por tanto en la PROM de modo Utilizadas pero renacidas bajo otras formas, permanente, sin posibiidad de cancelacion. Contienen un gran némero de fusibles microscépices, tno pera cada bit, que pueden ser “quemados” con un programader es- pecial: PROM (Programmable ROM) significa "ROM programablo” cored Las PROM so programan haciendo pasar una corriente elevada por los Imicrofusibles que se desean quemar, a Para programar, o “escribir’, una PROM (de este o de. otro tipo) se parte obviamente del contenido desea- do: una secuencia de datos, cada uno de los cuales ‘ocupara una celda de la memoria. Se utiliza normalmente un ordenador personal, desde el cual los datos se envian al programador de. PROM, un dispositivo en el que se inserta el integra- do a programar. Este produce las tonsiones y corrientes adecuades Para quemar los fusibles correspondionios a los bits, deseados, y después verifica que la programacién se haya realizado correctamente. Un programador de PROM: observe el 26eaI0 espacial con la pa- fanca que bloquea los pines del chip a programar. 85 DIGITAL EPROM y afine Las PROM borrables pueden reutilizarse bastanti Las PROM de fusibles tienen, ademas de su baja densidad y del coste re~ lativamente elevadb, el defecto de no ser reprogramables: no es posible recuperar las conexiones quemadas. A menudo resulta itil poder alterar los datos contenidos en las celdas de la memoria, por ejemplo para hacer numerosas pruebas experimentales distintas, reutilizando el mismo chip. Las PROM borrables, o EPROM (Erasable ROM: ROM borrable}, lo per- miten hacer gracias a un sistema diferente de escritura: fuerzan una carga eléctrica en una zona aislada, donde queda interpolada. EPROM: una tensi6n elevada empuja alos electrones més alla de una barrera, de la que no tlenen bastante energia para huit. Eee TZ Para borrar una EPROM, es necesario proporcionar a los electrones encerrados le energia suficiente para li- berarse: ello se hace con la exposicién a rayos ultra- violeta de una ciorta frocuencia El encapsulado tiene una ventanilla transparente pa- ra permitir al borrado del contenido; conviene cubrirla para evilar borrados accidentales con luz normal. La ventanilla incide en el coste: en produscién se utii- zan EPROM privadas de ventanilla y por lo tanto pro- gramables una sola vez (OTP: One Time Programming rogramacion de una sola vez), version moderna de laS La ventanilla de cuarzo deja pasar los ultravioletas, que on PROM. algunos minutos borran ef contenido de la EPROM. REPROGRAMACION RAPIDA Las EPROM tienen también un numero de borrados limitado; ademas la operacién es lenta y no permite tuna répida reutilizacién de la memoria. Nacen entonces las EEPROM, o E?PROM (Electrica lly Erasable PROM: PROM eléctricamente borrable), borrables eléctricamente, como su nombre indica, en ocas segundos, celda a celda 0 todos juntos segiin Jos modelos, Un tipo de memorias reprogramables son las Flash, uti lizadas por ejemplo en las cémaras fotograficas digita- les por su velocidad de escritura bastante elevada. Varins camaras fotogratias digitales almaconan las fotografias ‘en memoria Flash, que conserva los datos como una ROM pero es reescribble, Dentro de una EPROM Las memorias reprogramables se realizan utilizando MOSFET, como muchos otros integrados digitales puerta controla la co- rriente que transcurre por cl canal, quo sera por tanto distinta segun la presencia 0 no de la carga interpolada. En las EPROM y E°PROM, cada bit es almacenado por un transistor MOSFET de tipo especiel, dotado de una puerta adicional totalmente aislada (figura). En ol interior do ostas puortas so interpola la carga eléctrica, aplicando tensién suficiente para hacerla *superar’ el aislante sin dafiarlo (se aprovechan fend- : Varias ROM programabies menos fisicos bastante complejos). waste Peete tani puerta, uno do allo aislade Como en todo MOSFET, la presencia de carga en la ddl resto del circuito. PEN En todo tipo de memoria 8s necesario seleccionar la colda deseada aplicando a la entrada la direccién co- rrespondiente a la propia celda En el interior del chip, esta direccion se divide normal- mente en dos partes para realizar una matriz eficaz, ‘como muestra la figura. + | * sof 310 Ello permite utilizar descodtficadores mas pequefios (enel ejemplo, dos de 3 bits en lugar de uno de 6) y minimizar el numero de conexiones intemas y la longitud relativa, importante para la velocidad. Direc celia fr soleectonada Descodtficacién de mati: la mitad de los bits de la direccion ‘ligen la fla, la otra mitad la columna: en el cruce esta la «asila podida. Greece Las memorias son dispositivos digitales, pero en su Por lo tanto, las sefiales son distorsionadas a lo lar- interior son en realidad analégicas: por ejemplo, las go del recorrido, como si atravesaran filiros: el trabajo sefiales leidas por las celdas son muy débiles y s2 de los disefadores de memoria, especialmente si son amplifican, de grandes dimensiones, no es en adsoluto sencilo. Las lineas de conexion entre las celdas presentan una inductancia seta! Sehal de Anal microscdpica y una pequefia capa- himpia ‘delines cidad hacia masa y hacia otras Tx lineas, ademés de la propia de los MOSFET. Ampliicador oe ioc La sesal s0 debilta,ralentica y distorsiona viajando por las ineas intemas: 6s necesatio reconstruitlo (ceidas ae 2 ot adecuadamente. DIGITAL Usos de ROM y PROM Las ROM, programables o no, se utilizan cuando los datos deben permanecer también sin alimentacion Una memoria permanente puede cargar, bajo forma de codigo numén- 0, las instrucciones que un microprocesador (CPU) deberd ejecutar. Se escriben en celdas posteriores de memoria, como otras tan- tas filas de una hoja de papel: cada instruccién hace ejeeutar a la CPU una precisa operacién, Por ejemplo, cuando se enciende un ordenador personal, ejecu- ta las instrucciones escritas en una ROM especial, llamada BIOS (Basic /O System: sistema basico de entrada/salida): puede asi raconocer teclado, discos, etc. Las instrucciones escritas on ROM especitican con detale las operaciones ‘qe el microprocesador (CPU) debera ejecutar Pees En las ROM (0 EPROM, etc.) se pueden también es- cribir datos e informacién variada que deben con- servarse incluso cuando el dispositivo esta apagado. (Oclenore) 12 La figura muestra, por ejemplo, cémo una ROM pue- Ge contener el numero de dias de cada mes del afio Datos on una (excluidos los bisiestos), que se utiliza en un reloj 0 ROM: utitvando calendario, nimoro do! 7 mes (menos 4) Asociando un nimero a cada letra, como en el "co- como direccién, digo ASCII" (A = 65, B = 68, etc.), es posible tambign (a casila Poner en la ROM textos, por ejemplo “Salvat- seleccionada Jackson Libri” contione su ‘nimero de dias. CIRCUITOS COMBINATORIOS ARBITRARIOS Una ROM acepta cualquier eombinacién de bits de En la practica esta solucién es un poco costosa: direccién, y restituye un dato formado por los bits veremos cémo las ‘Iégicas programables” (por ‘escritos en la fase de programacién ejemplo PAL y afines) permiten obtener resultados similares con un método mas econémico | Por tanto, puede sustituir a cualquier circuito légico combinatorio: se pueden programar las salidas deseadas para cualquier combinacion de las entradas, escribiendo en la ROM la tabla de verdad. OM de 8 castes Cada circulto combinatorio puede realizarse con una de bit cada una ROM que tenga suficientes entradas y selidas. 88 DIGITAL DAC igital puede convertirse a forma a el dispositivo reciproco del ADC Desde la simple iégica combinatoria a los microprocesadores, muchos circuitos utlizan sefiaies digitales; el mundo exterior tione sin om- bargo un comportamiento analigico, es decir, continiamente variable. Una informacion Para regular la luminosidad de una bombilla 0 producir una onda actistica (dos ejemplos de fenémenos analégicos), es necesario con- vertir la informacion. Un conversor digital-analégico, o DAC (Digital to Analog Conver- ter), produce sefiales analdgicas a partir de informacion digital, es decir, desde un cierto numero de bits. ‘Mucha de ta musica que escuchamos procede de datos digitates, y se ha reconstruide con un DAC, ~~ DESCRIBIR UNA 0 Un DAC realiza la operacién opuesta respecto al muosiroo (ver loccién 21): permite recrear una sefal analégica punto por punto m1 La figura muestra que una serie de valores numéri- cos puede utilizarse para construir una sefial de escalones, produciendo a intervaios regulares la tensién correspondiente a cada valor. La sefial asi obtenida no es exactamente analogica, sino de escalones; aumentando en uno el valor di- gital ¢ la entrada, el valor a la salida pasa al escalon siguiente Convirtiendo cada valor numérico en la tensién correspondiente se aproxima una sefal analdgica. Valores dgitaes = 3, 5,6, 5,8, 3,1,2 PL S DE Muchos campos de aplicacién, en un tiempo domina- dos por la electrénica analdgica, utilizan hoy circuitos les: por ejemplo, la grabacién de audio en com: pact disc, DVD, cintas DAT (digital audio tape). También on tolofonia, la voz es convertida en una setie de valores numéricos, para ser enviada con mayor fiabilidad y menos problemas. La radio, la television y las comunicaciones con los satélites estan cada vez mas basadas en técnicas digitales: en todos estos casos es necesario después reconstruir la sefial analdgica con un DAC, Las téenicas digitales permiten una mayor flexibilidad y, entre otras cosas, la correccion de los errores de transmisién. DIGITAL La figura muestra un DAC elemental: un divisor produ- ce una serie de tensiones uniformemente dimensiona- das, una de las cuales se elige y envia a la salida. El conmutador analégico que eieciiia la seleccién es controlado por un decodificador digital, en cuya entrada esta el valor binario que se debe convertir. por ejemplo "0101" cierra el interruptor 5, procuciendo 5 V. Peto este circuito es complejo y costoso: incluso tan s6lo 8 bits requeririan 256 interruptores analogicos, uno por cada posible valor de salida TH Como cada bit de un nimero binario tiene un pese dis~ {into (1, 2, 4, 8...), a tensién a la salida se puede obtener sumando una serie de tensiones correspondientes a los pesos. La figura muestra el principio de este DAC: las tensiones. a la izquierda son cada una el doble de la otra, y cada bit de la sefial a convertir controla un interruptor analégico. Por ejemplo, el valor binario 0101" envia ala salida 4 V (vit 2) y 1 V (bit 0), que sumados producen, come he- mos dicho, 5 V. En la practica se utiizan corrientes en lugar de tensiones, pero e' principio no cambia, DAC de suma de pesos: utliza ol mismo principio de Ia conversion de un nimero binario con papel y aptz. Snen Producir resistencias de valores muy distintos entre ellos y de gran precision (especialmente para los bits mds sigrificativos) no es practico; se utiliza para ello otra solucién La red de escalera mostrada en la figura tiene la caractaristica de producir corrientes una después de otra, procediendo de derecha a izquierda, utilizando s6lo dos valores de resistencia. La comriente de salida se transforma después en ten- si6n, normalmente con un ampificador operacional visto por el circuito como una masa (como veremos en Analdgica). DAC con red R-2R: cada bit de nivel logico produce una ‘orriente proporeional a su peso binario. 90 Tecnicas de conversion Algunas soluciones se pueden llevar a cabo con mayor facilidad, especialmente en forma de circuito integrado Un sencillo DAC dde conmutador ‘analogico: et nM alia tno de los Salida analogica Enretey 4 digial Saige ‘analogica onversor cortento tension Referencia y precision tensidn en la salida de un DAC puede ser mas o menos proxima ala deseada El fondo de escala de un DAC es el valor que se btiene cuando todos os bits de entrada valen 1: se trata por tanto de la tension més elevada que puede obtenerse a la salida Como deriva de la tensién de referencia aplicada a la entrada de ia red resistiva, os importante quo ol valor de esta Ultima sea estable y preciso. Con 40 bits hay 4.024 valores posibles, de 0 21.023; utllzando 10,24 V como tension 4e referencia, la sala va de OV a 40,28 V. Normaimente se puede variar esta tensién de modo ‘que se obtenga el fondo de escala deseaco: entre ‘otras cosas, los DAC normales pueden producir a la salida también tensiones negativas. ae ‘Tension Aunque es facil corregir posibles errores de fondo de | —aratca escala, otros defectos son mas dificles de eliminar dependen de la precisién de resistencias e interrup- tores analégiccs. La figura ilustra un error de linealidad: convirtiando nd: meros binarios crecientes, se obtienen valores anal6- ico crecientes, pero no uniformemente escalados. Error de linealidad En la misma figura se muestra un error de mono- tonicidad: aumentando en uno el valor digital (bina- rio) a la entrada, la tensién a la salida baja, en lugar de aumentar. | monetonicidad Valor digtal Dos posibles errores de conversion: no linealded y no ‘monotonieidad; el DAC perfecto tendria una oscala regular Una sefial de escalones no es exactamente ana- Naturalmente, el fltrado es tanto més facil cuanto logica; si se desea que varie de un modo continuo es mayor distancia existe entre la frecuencia de mues- necesaria alguna forma de fitrado, treo y la de la senal. Se utiliza normalmente un filtro de paso bajo calcu lado de modo que deje pasar la sefiel analégica, pero atentie de un modo consistente la frecuencia de muestreo. esraiones @) a AU Valores dligtal Fito filtro de paso bajo elimina la frecuencia de muestreo, y por do paso bajo tanto los escaiones, de la senal analégica. DIGITAL Controles analogicos DAC y otras técnicas permiten utilizar circuitos digitales en campos normalmente analogicos La tensién a la salida de un DAC tipico es proporcional no sélo al valor digital configurado, a Sho también a la tonsidn a la entrada de referencia. Sef oe g _ Un DAC puede por tanto utilizarse para construir un Entrada ‘digtal tenuador de control cigital, es decir, en la practica wollen) el equivalente de un potenciémetro. La figura muestra un potencidmetro digital de 256 pasos, realizado con un DAC: la salida puede variar- potenciémetra digital: fa tensién de referencia (entrada) os Se, entre cero y 255/256 de la sefal a la entrada, mas o menos atenuada segiin el valor configurado, ENT Una forma de onda, como e! sonido de un instrumento musical, puede muestrearse con un ADC, obteniendo por = tanto una serie de velores numéricos (una “tabla’) a; Escribiendo estos valores en casilias contiguas de una memoria (por ej. EPROM), podran después releerse yeenviarse a un DAC, obteniendo de nuevo por tanto el sonido original Cambiando la frecuencia do lectura se obtendra la nota musical deseada, manteniendo (dentro de iertos limites) el timbre tipico del instrumento; la técnica se utiliza mucho en el campo musical. Una tecnica completamente distinta de conversion digital-analogica es la de la modulacion de anchura de pulso (PWM: Pulse Width Modulation). ‘i sala set arate Consiste en producir un impulse digital periédico, oro cambiando su duracién (0, como variante, la frecuencia) sagin el valor analdgico que se produzca IR Paso bajo Cambia a anchura ‘de los pulsos leas "Ar = El valor medio de la sefial producida, obtenido con un filtro de paso bajo, sera la sefial analdgica desea- da (figura). Esta técnica se utiliza, como veremos, en las fuentes de alimentacion conmutadas. Valer medio = sala analogica Periodo 10s pulsos Técnica PWM: utilzando sdlo un interruptor es adecuada para cargas de potencia (por ejemplo, motores), donde ta carga hace también de tro. DIGITAL jas y reescribibles a placer, estos dispositivos muy RAM significa “Random Access Memory’, es decir, memoria de acceso aleatorio: significa que se puede acceder inmedia- tamente a una casilla cualquiera Este curioso nombre nacié por contraste con las antiguas memorias de acceso secuencial, como las cintas y tambores magnéticos (estos uitimos hoy Sustituidos por los discos) La RAM es analoga en concepto a la ROM (ver leccion 22), salvo por la posibilidad de eseribir un dato, ademas de leerlo: se conservara y se podré leer de nuevo a continuacién: Pea Como para las ROM, el bus de direcciones contiene el numero de la casilla deseade; por el bus de da- tos viajan sin embargo jos bits leidos, 0 los que se van a escribir es por tanto bidireccional Activando la linea de read (lectura) se lee el contenido de una casilla, mientras que la linea de write (escritura) permite almacenar los bits de datos en la casilla preseleccionada, como en la figura. A veces hay una linea de readiwrite para elegir la operacion deseada (1 = read, 0 = write), y una de chip select (seleccion del integrado) para ejecutaria, POE Retirando la alimentacién, el contenido de una RAM se pierde, a menos que no haya circuitos especiales (por ejemplo de bateria) para conservarlo nes Por tanto, la RAM es itil sobre todo como memoria de trabajo, para tener a informacién (0 las instruc- ciones del programa, como en los ordenadores) al aleance de la mano. Para una conservacién. permanente conviene utliizar otros sisiemas, como memorias no volatiles (por @}. flash) 0 dispositivos mecanicos como los discos, mas lentos pero mas econdmicos. Un disco duro tiene un coste por bit més bajo que una RAM y no pierde os datos, pero es miles de veces mas lento 93 Direcoion Direscion Dato de esertura Dato ldo Lectura a ot 1 ur Lectura y escritura en una RAM con lineas de read y write aiferentes; omitimes las posibles lineas auxiares. DIGITAL RAM estaticas y dinamicas Las RAM dinémicas son comodas bajo muchos aspectos, pero necesitan refresco perid En una simple RAM ‘estética” (SRAM) cada celda elemental, que almacena un bit, es en la practica un flip-flop del tipo setreset (ver leccién 11), que mantiene el estado en el que es puesto. Pero para realizar un flip-lop S-R se necesitan como minimo dos transistores (normalmente MOSFET), y en |a practica a menudo alguno mas; seria bastante Util reducir este nimero. En una RAM de 64 Mbits, por ejemplo, cada transistor ahorrado por celda corresponde a mas de 67 millones de transistores de menos en el chip, con el correspondiente coste y consumo menor. Una celta de RAM estética, reducida al minime, no es otra ‘cosa que un flipflp capaz de almacenar dos estados diferentes. UNA CELDA DINAMICA Se puede lograr una dréstica reduccién de comple- jidad utilizando un condensador para almacenar un bit: por ejemplo, si se carga més alld de un cierto limite vale 1, si esta descargado vale 0, ae El cirouito de lectura/escritura puede entonces redu- I cirse a un simple interruptor analdgico, es decir, un seceso solo transistor: el ahorro es consistente. Sin embargo, hay un problema: el pequefio conden- sador, en pocos milisegundos, se descarga. La memoria es por tanto dinémica (DRAM), 08 decir, Celda de RAM dinémica: e! MOSFET permite cargar/descergar requiere que el dato sea continuamente “rofrescado”, el condensador,o bien leer la tension. REFRESCAR El circuito de “teftesco" sirve para mantener cargado A causa del refresco, las RAM dinémicas tienen un (0 descargado) el condensador, leyéndolo y reescri- cierto consumo también cuando no se ha accedido a biéndolo periddicamente, de modo que conserve es- los datos mientras que el consumo de las RAM table la informacién estaticas es (en esta situacién) précticamente nulo. Se activa simplemente accediendo a intervalos regulares 2 dsterminades tirecciones, 0 con ottas Sefiales que se envian en un cierto orden: del resto se = coupe ioe tiradioa varreos, En los ordenadores personales de sobremesa se emplea rormalmonte DRAM, es decir, RAM dindmicas. 94 Acceso Para leer o escribir los datos es necesario respetar las especificaciones dadas por el fabricante LLa figura muestra las temporizaciones (simpliticadas) de un acceso en lectura, es decir, de la lectura de los da- tos contenidos en la casilla a la que apunta la direccién. Establecidas las diecciones y dado el comando de lectura (read) hay que esperar un cierto tiempo antes de que la RAM resiituya los datos requeridos: el tiempo de acceso, Una vez eliminada la sefel oe lectura, las lineas de datos vuelven normaimente en triestado, es decir, a alta impedancia, de modo que e! bus esté disponible para otros datos (por ejemplo, datos para escribir) Enla figura adyacente se ilustran las temporizaciones de un acceso en escritura: esta vez ja RAM no con- trola las lineas de datos, que estan en la entrada, ya que proceden del exterior. La sefial de write inicia un ciclo de escritura, que Fequiere un cierto tiempo, normalmente similar al tiempo de acceso: durante este tiempo, direccionas y datos deben normalmente petmanecer estables. En muchas RAM, datos y direcciones deben estar listas con un poco de anticipacién con respecto a la sefial de escritura: esta anticipacion se llama tiempo de configuracién Como en todos 10s circuitos integrados dgitales, el consumo de corriente de una RAM crece rapidamente ‘en proporcién con la frecuencia de los accesos: cada operacién ‘cuosta”, En general, las memorias muy répidas (es decir, con tiempo de acceso bajo) son esiaticas: se evita asi, entre otras cosas, también e! tiempo perdido para el refresco. Una memoria rapida debe ser miniaturizada, 1o que implica problemas de disipacion y aislamiento, que se pueden resolver trabajando a tensiones inferiores: Por ejemplo 3,3 V en lugar do 5 V. Cuanto mis pequefio es el chip, menor es (entre otras cosas) el tiempo perdido por las senales para desplezarse de un punto # otro de ta RAM. ala RAM Validea No valida Direcein rad as ‘Ava inpedoncia_ Vales Datos “2 ‘Tiempo de acceso ‘Temporzaciones de un acceso en lectura: los datos se hacen valldos tras el tlempo de acceso. Novalis Deeccida valida No valdos Datee vvaigos — Tiempo de configuracn a respetar Temporizaciones de un acceso en escritura:direcciones y datos eben estar lstos antes de dar el comando de write. DIGITAL Organizacion de las RAM En el interior y exterior, las RAM se dividen a menudo en va Las celdas de una RAM tipica estan organizadas por filas y columnas, como en un tablero de ajadraz, lo que pormite minimizar la longitud de las lineas dentra del chip. £19 ‘ae cou) rips ‘También para ahorrar pines, a menudo las direcciones estén muttiplexadas: se proporcionan en secuencia la fila y la columna, cada una almacenada en un latch interno (ver figura). Por ejemplo, una RAM de 1 Mcelda tiene 20 direcciones: se proporcionan las bajas (AD.A9) y se capturan con la seal ade- ‘cuada, y después las altas (A10..A19) en los mismos pines. Las sefiales de latch do fila (RAS: Row Address Select, seleccién de direccion de fila) y de columna (CAS) almacenan cada uno la mitad de la direccion. TEST Cuando un sistema esté compuesto por varios inte- - eae grados de memoria, estén normaimente conectados i de 2088 4 £095 en paralelo en el mismo bus de datos. Las sefiales de read y write alcanzan todos jos chip, pero un decodificador decide qué RAM habilitar, segiin el valor de las direcciones mas altas (reto- aremos posteriormente este tema) La figura muestra una RAM de 4 Kbyte x 8, obtenida con dos chips da 2 K x 8 cada uno: el duodécimo bit de direccién (A11) elige el chip sobre el que actuar, activandolo con el chip select (CS) ‘Memoria obtenida combinando varios chip de menor capacicad: desde el exterior se ve como una RAM dnica. PME Existen numerosos modelos de RAM, muchos de lee el circuit que produce la sefial de video: las dos ellos optimizados para una determinada aplicacién, operaciones no deben interferir entre ellas ‘como la memoria de trabajo de los ordenadores personales (por ej, EDO, extended data output, salida de datos extendida, 0 RAMBUS). de 0 9 2047 Un caso particular es el de las memorias de doble puerto, que deben poder acceder a dos circuitos de modo independiente uno de! otro. Por ejemplo, en la memoria de video de los PC escribe el microprocesador. pero al mismo tiempo. las tarfetas gréficas de los PC contienen normalmente ‘memorias dinamicas especializadas para ese tipo de trabajo, 96 DIGITAL Transductores de entrada Para poder ser utilizados por un circuito digital, un evento © una magnitud fisica (por ejemplo, la temperatura) deben ser convertidos en sefiales légicas. El dispositivo que se encarga de esto se denomina sen- Sor 0 “transductor"; este ultimo es un término genérico, utilzable también para las salidas. Un sencillo ejemplo de sensor es el interruptor, por ejemplo utilizado como indicador de limite de un movimiento en una maquina, 1 termémetro es un transductor que convierte la temperatura 2 un formato legible por una persona. (Mi aK ed Los interruptores mecdnicos son relativamente len- tos, estan sujetos a roturas y presentan el molesto pro- blema de los rebotes (ver por ejemplo la leccidn 11). Un interruptor mas fiable puede realizarse interrum- piendo o reflejando un rayo luminoso, y revelando Su presencia con un sensor adecuado (ver leccidn 29 de Analégica), El sonsor es analégico (\a salida depende de la luz recibida), pero basta un trigger Schmitt para obto- Interruptores dpticos de horquilay refexién; ambos utlizen ner una sefal digital “impia” lun emisor de luz (normalmente LED) y un detector CEE También los interruptores épticos tienen sus pro- blemas: son sensibies a las fuertes variaciones de luz ambiental y a la suciedad que puede interferir enel rayo. ota det elit resonante Oy retalea Hay numerosas técnicas altemativas, por ejemplo las basadas on campos magnéticos: desdo un sencillo par iman-interruptor a los sensores de “efacto Hall” privados de partes méviles. Frecuencia Osclacor Otros interruptores de proximidad aprovechan los ultrasonidos reflejados por el objeto a detectar 0 bien la variacion de frecuencia de un oscilador al aproximarse a una masa metalica. Al aproximarso un objeto de hiorro al nicloo de la bobina varia su inductancia, lo que hace cambiar la frecuencia del oscilador. DIGITAL Es posible realizar un codificador absoluto, es decir, Un indicader del éngulo de rotacién, diviciendo un disco en soctores y marcando cada une con un cédigo binario distinto (ver figura). Una fila de interruptores épticos se utiliza después para leer los valores correspondientes a la posicién del disco, obteniendo a la salida un valor que indica el €ngulo de rotacién. Para evitar falsas lecturas en los puntos de transicién, no se suele utilizar el codigo binario normal sino el cédigo Gray, en el que cambia siempre un solo bit pasando de Un valor al siguiente. Caen Los codiifcadores absolutos son costosos, ya que re- Quieren numerosos interruptores Spticos y una fabri- cacién muy precisa. A menudo no basta con conocer la posicién absoluta, pero sf bastan las variaciones. Se utiliza entonces un codificador incremental (o “dife- rencial’) con dos tinicas series de marcas 0 agujeros como en la figura: produce un impulso en cada fraccién de vuelta Segiin la salida en la que el impuiso llega primero, se ‘conoce también la direccién de rotacién; el principio se utiliza por ejemplo en los ratones de los ordena- cores personales aE Como un codificador incremental proporciona tnica- mente el desplazamiento relativo a la posicion ante- Tor, Si es necesaria una posicion absoluta se requiere Un punto de referencia, Se puede por ejemplo afadir un solo sensor dptico o magnético, que detecte un signo (por ejemplo un ‘agujero) on una rueda montada en el mismo oje: es sera el Angulo “cero”. Al encender la maquina serd, por tanto, necesaria una puesta a cero: una vuelta del eje para encontrar el punto de referencia, del que bastard después contar los desplazamientos. Tplco aspecto de un codificador para uso industrial. 98 Codificador Amenudo se encuentra la necesidad de determinar el angulo de rotacion de (O14=2_001=1 A1te 1016 coaige Gray Codificador absoluto de 8 posiciones (noxmalmente son muchas _ms): 10s tres bits de sada dan la posicion en codigo Gray. dacrons ee \ 82 FUL detteol J} ce run Mase J 82 TT sere se Codificador incremental: tiene solo dos salldas, para conocer el, ‘Angulo de rotacion es necesarie contar los impulsos. Sensores analogicos Las medidas no digitales, como las de temperatura o presion, se convierten con un ADC Existen transductores para numerosas magnitudes fisi- cas, de las que la mas comtn es probablemente la tem- eratura, importante en muchos procesos industriales, Aaltas tomperaturas son indispensables los pares tér- micos (tratados en Analégica), pero on los demds casos la oferta de sensores de temperatura es abundante. En particular, existen sensores encerrados en un cir- cuito integrado, tanto con salda lineal (proporcional a la temperatura) como con salida on/oif configurable a la temperatura deseada. ‘Ala iequlerda un sensor que produce una tension proporcional a la temperatura, a la derecha otro cuya resistencia cambia trusca- RMACION Y Para medir los estimulos mecanicos a los que un aparato esté sometido, se puede pegar un exten- simetro a un punto sujeto a esfuerzo (por ¢j. tlexion), Su resistencia eléctrica varia cuando se estira ligeramente, permitiendo medir la deformacion del fragmento mecénico; sin embargo, es necesario un ampificador de precisién especial. ‘Otros sensores miden la presién de un liquido o do Un gas, 0 bien su velocidad de movimiento; muchos de ellos existen también en versidn integrada oi Un sensor importante es el de aceleracién: permite Los acelerémetros se utilizan siempre mucho en medir tambien choques y Angulo de inclinacién campo automovilistico, por ejemplo como sensores (midiendo la aceleracién de gravedad). para la activacién de los aitbag y de los pretensores de los cinturones de seguridad. Las versiones mas modemas se realizan en forma de circuito integrado y ofrecen una salida lineal que, como siempre, se convierte con un ADG si es necesario un valor digital. Inteerador ac las Comparador Dever det ogee artucho ee explosive Un acelerémetto detecta la deceleracién del vehicul; si esta supera ciertos valores durante un tiempo determinado, explota ef airbag. DIGITAL Para medidas de posicion se utiliza habitualmente un transformador lineal diferencial, 0 LVDT (linear variable differential transformer), Como muestra la figura, es un transformador de tres dovanados con el nlicleo meévil; alimentanco el primario en alterna, el desplazamiento de! nucleo varia la tensién en los secundarios. La lectura de las sefales es delicada, pero afor- tunadamente existen integrados ya creados, que a veces incluyen también un ADC y permiten, por tanto, la conexién directa con un circuito digital (EEE mn Para saber a qué velocidad gira un eje en rotacién, se puede utilizar una dinamo taquimétrica: produce una tensién proporcional a la misma velocided. Mas cominmente se prefiere disponer de uno © varios sensors (por ejemplo inte- rruptores épticos) alrededor de un disco, y medir la frecuencia de ios impulsos producidos: la sefal es ya digital. tan (Medida de velocidad angular: fa frecuencia de los Impulsos os proporeional a la velocidad do rotacién, TE ESS Las cémaras de television en estado sélido se util- Zen en situaciones en las que sea necesario una au- téntica ‘Vision’, por ejemplo para observar ia orientacién de un fragmento que pasa por una cinta transportadora. Las versiones de acoplamiento de carga (CCD: cou- pled charge device) permiten conocer la luminosi- ad de cada uno de los cuadrados (pxels) en los que esta dividida la Imagen, Pero se requiere un complejo trabajo de interpre tacién para que esta informacién pueda resultar uti: ‘se necesita mucha potencia de céiculo y sobre todo un programa bastante sofisticado. Posicion y velocidad En campo industrial, la posicion de un fragmento debe ser a menudo ucieo A movil, ro wkd — YL WOT para medidas de precision: el trayecto itil varia, segin los modelos, de pocos milimetros a decenas de centimetos. Con este fin se utilizan a menudo los ya citados sen- sores integrados de efecto Hall, que proporcionan un impulso al paso de un iman fijado al arbol giratorio. Ampliicador oe ‘Sensor Rueda Hall = 2205 5 ‘Camara de video con sensor CoD de matrz: leer una imagen 8 fécll, hacer buen uso de ella lo es bastante menos. DIGITAL Logica programable Hoy es posible realizar integrados a medida con un gasto bastante limitado Existon en los comercios miles de circuitos integrados diferentes, cada uno especializado en una deter minada funcion, por ejemplo decodificador o flip-flop, Combindndolos, es posible realizar cualquier clase de circuito: esta era, en efecto, la practica habitual hasta los afos 80, época en la que era muy facil ver placas con decenas 0 centenas de integrados. La creciente complejidad implicaba, sin embargo, costes bastante elevados, por jo que los disenado- res empezaron a pensar en como integrar las fun- cones de los circuitos en un nimero menor de chip. ‘Muchos integrados signfican un alto coste de produccién y prueba, muchas mas molestias y menor flablidad. DEO es ‘Siun solo integrado pudiera programarse para que desarrolla~ ra ol trabajo deseado, se podria optimizer la funcién de modo que $0 redujora ol numero de los componentes emploados on un proyecto. Cosa que presentaria otra ventaja adiconal: se recortarian los costes de almacenaje, basiano con tener provisién de povos tipos de integrados en lugar de numercsos modelos distintos. Estos integrados se podrian programar segiin las necesidades, trans- formandolos en integrados a medida para las funciones requeridas por cada circulto en particular. PSS Hemos visto (en la leccién 22) que una PROM puede set programada de modo que se obtenga cualquier funcién combinatoria de las entradas. Les PROM son, sin embargo, costosas, ya que tienen un fusible (0 eelda) para cada bit; por ejempio, con 12 entradas y 6 salidas so necesitarian 216, es dacir, 24.576 celdas programables. ‘No obstante, dificilmente se necesitan todas las posi- bles combinaciones: las PAL (Programmable Array Logic: logica de array programable) ofrecen casi las mismas posibilidades, pero con un nimero de celdas bastante inferior, Logica conencional Un integrado programable permite reurit numerosas funciones ‘ogicas en un solo chip proyectado especialmente. DIGITAL La figura muestra una tabla de verdad de un circuito combinatorio, que lista todas las posibles combinacio- nes de las entradas A, B, Cy especifica la salida Y para cada combinacion. Hay, sin embargo, otto modo de leer la tabla, consis- tente en preguntarse en qué situaciones la salida Y vale uno, omitiendo aquellas en las que debe valer cero. En este caso tenemos tres combinaciones: A=0, B=0 y.C=0, 0 bien A=0, B=1 y C=0, 0 bien A=t, Bet y C=1, Podemos omitir las demas y pensar sdlo on estas. Ejemplo de tabla de verdad de un circuito combinatorio de tres, ‘entradas y una salida; se listan todas las combinaciones. oo La figura muestra como se puede poner on préectica la deseripcién anterior, utiizando tres AND y un OR (orm timos los NOT a la entrada y las posibles simplificacio- nes circuitales). En realidad, la trase “si A=0, y ademds B=1, y ademas no es otra cosa que un AND de los tres valores A, B yC, aplicéndose lo mismo a las otras dos combinaciones. La salida va a 1 si esta presente una, la otra, © bien la ira: se trata de un OR logico entre los resultados de los. AND. En una PAL hay dos lineas para cada entrada: una direc: ta y la otra negade; a estas liness estin conectadas las ‘entradas de numerosos AND, reunidos a su vez on OR. Las conesiones entre los AND y las lineas son progra- ables (por ejemplo con fusibles en las antiguas PAL) ‘como si fueran interruptores: si no estan conectados, el AND recibe un 1 légico. En la figura, un esquema simpiificado de PAL, no se indica 's AND, sino que se sobreentienden en las lineas honzontales; cada punto con X es una conexion (un “fusible” intacto). E1 mismo circuito realzado con una PAL: cada linea horizontal es ‘un AND entre los puntos conectados (X) a les linews de entrada. Dentro de una PAL Estos versatiles integrados programables se basan en una estructura del tipo AND-OR Cicuito correspondiente a la tabla de verdad, realizado con puertas logleas convencionaies del tipo AND y OR. Ecuaciones logicas Escribiendo el comportamiento deseado en forma simbi de proyecto de una PAL Aunque es posible proyectar una PAL disefiando ma- El simbolo de multiplicacién (*) corresponde al AND, nualmente las conexiones que se pueden interrumpir que tiene prioridad sobre e! OR indicado por la adi- y las quo se deben dejar intogras, no es ol sistema _cién (4); la barra (por ojomplo /A) significa negacién, més cémodo. ‘6s decir, inversién légica (A\ Lo mejor es escribir las ecuaciones Iégicas (0 “ex- a a presiones Idgicas”) de cada salida: por ejemplo. en la figura se muestra la ecuacién del circuito examinado J 1 t en a pagina anterior. Y= (/A0/B4/0) + VANE4/0) + (ArBC) Términos. Eeuacion logica do una salida de PAL: cel producto valores, obtenido cada uno por un AND. tn OR ontre tros EY ADOR PA Latraduccién de las ecuaciones légicas a la disposicién de las conexio- nes (conceptuaimente los “fusibles’) es desarrollada automaticamente por un programa especial: el “ensamblador PAL” Esie programe permite, ademds, dar nombres significativos a entradas y salidas, por ejemplo FINTRAVECTO2 o ALARMA en lugar de letras sencillas como A, Bo C. Desarrolia, ademas, una funcién de control, detectando posibies erro- res de sintaxis en las ecuaciones, 0 bien ecuaciones que no puede realizarso con @ modelo de PAL elegido. Puertas lagicas elementales, y las correspondientes ecuaciones en el lenguaje del ‘ensamblador PAL. (0/8) + (7808) C Ie El nlimero de entradas disponibles en cada OR es limitado, algunas veces incluso drasticamente: ello supone un limite para el ntimero de términos del producto, es decir, las salidas de jos AND. Eatin etzyres Desde el punto de vista de la ecuacién légica, esto PME, teem MH a av ve re ow significa que hay un numero maximo de adiciones | 2 es fz sate aes set maim zen vee (OR) que pueden utiizarse en la propia ecuacién: si fame no hubiera limites, seria una PROM, bes = xt ue No obstante, las PAL y sus derivadas representan la ae solucién més préctica y cémoda para la realizacion de circuitos légicos combinatorios y, como veremos, también secuenciales. tail tals Aton jeainesDiakc Pal) a cdicin tsa Ne + MED «HW 6 AST = JERIEsrise-deLoea ROM t wite Y salidas, y después 8e escriben las ecuacionos logicas. DIGITAL Programar las PAL Las primeras PAL eran programables una sola vez; hoy pueden reprogramarse eléctricamet Para configurar las conexiones de una PAL se utliza 6 programador comespondiente, normalmente conecta: do a un PC; proporciona las tensiones y corrientes necesarias, segtin las espectficaciones del constructor el integrado. En la practica, se eompilan las ecuaciones con el en- samblador PAL, es decir, se traducen en la disposicion Go los “fusibes’, que después se envia al programador para producrr el circuito deseado, El archivo con la disposicién de las conexiones est normaimente almacenado en un formato estandar (por ejemplo, JEDEC), comprensible por los progra- Un programador universal tipico para distintos tipos de madores de cualquier marca, integrados programables: PAL, PROM, EPROM, EEPROM. fare AMAR: LY SIMILARES Cuando se modifica un proyecto, ya no es necesario rehacer el Circuito impreso: basta con sustituir la PAL con una actualizada, lo que permite un notable ahorro, Las PAL modemas, denominadas con siglas diferentes (por ejemplo, GAL, General Array Logic: légica de array general) uulizan la tecnologia de las EEPROM y son por tanto reprogramables a voluntad, En este caso, el coste de una modificacién en el circuito dossionde practicamente a cero: basta con reprogramer la GAL (u otra PAL programable) con las nuevas conexiones internas. on las PAL reprogramables, para cambiar el comportamiento de un circuito ‘no €3 necesario el soldador Los integrados programables, como PAL y afines, permiten ade- mas afrontar el problema de la copia de los circuitos por parte de los competidores. Interrumpiendo una celda especial de proteccidn, el contenido del integrado ya no puede leerse de nuevo, como normalmente se puede hacer con un programador. Es cierto que para sencillas PAL combinatorias basta con exa- minar el eomportamiento al variar las entradas, pero para inte- grados mas complejos esta proteccién resulta bastante eficaz. Los integrados progremables permiten protegerse de los robvs a la propiedad intelectual, en absoluto rares. En muchas aplicaciones, un dispositive digital debe controlar uno o varios motores, ya sean de baja poiencia (por ejemplo, en un lector de CD) o de alta otencia (por ejemplo, pars la traccién eléctrica). A veces se trata de un sencillo control on/off (encen- dico/apagado): 0 bien el motor esta en movimiento, 0 bien esta parado; en otros casos es necesario controlar la velocidad, la posici6n o la fuerza (par) ‘Son por lo tanto necesarios controladores adecuados @ este uso, que tengan en cuenta las caracteristicas particulares de! tipo de motor eléctrico utiizado, Pee Aplicando tensién a un motor normal de corriente continua del tipo de escobillas (ver leccion 6 de Apli- caciones), este gira en una direccion que depende de la polaridad de la propia tension, El motor es, sin embargo, reversible: haciendo girar su 9je se comporta como una dinamo y produce una. fensidn en sus extremos (fuerza electromotriz indu: cida), Esto ocurre cada vez que se quita tension: la inercia mecénica del dispositive conectado al motor hace que este siga girando, funcionando como generador, Motores de corriente continua de innumerables aplicaciones: hasta que se detiene del todo, desde impresoras para PC hasta accesorios para autombvil, oy ine” La figura muestra un circuito que controla un motor circuito abierto, y sigue girando I de corriente continua con una sefial digital, identico detenerse por los roces internos. al del control de relé ilustrado en la leccion 10, Sa remente, hasta El diodo protege, como es habitual, al transistor de las sobretensiones que se generan cuando se abre (ver leociin 10): de hecho, los devanados del motor son bobinas. J La polaridad de la tensién producide por el motor Por inercia mecdnica os igual, por lo quo vo un Vi Cemraco OVO Aoierto Cuando el transistor dele de conduc (of), el motor so onvierte en una dinamo y preduce tensi6n, hasta que so tiene. DIGITAL Controlador de puente Utilizando cuatro transistores en lugar de uno se obtiene un circuito de control mas versatil ‘Amenudo es necesario controlar también el sentido de _libremente (a rueda libre) hasta el agotamiento de la la marcha do un motor; para cambiarlo on los modelos _energia mocénica, de coriente continua basta con invert la polaridad de la tensién de alimentacién. Utilizando un circuito de puente (0 “de H") con cuatro interruptores, como muestra la figura, es posible aplicar tension con la Polaridad deseada, Se puede también elegir frenar el motor Cortocircuiténdolo, 0 bien dejarlo girar carat ae puone: cradles oportuos Intomiptores prmite uate mode datntce &¢ | an uSEinco en sobbetie fectaamee GUNES En lugar de los interruptores se utilizan varos transistores de unién (BJT), © bien de efecto de campo (MOSFET), con los diodos de protecci6n correspondientes, como en el circuito en la figura Los cuatro estados vélidos, correspondientes a las combinaciones de interruptores abiertos y cerrados arriba ilustradas, se pueden obte- ner por ejemplo con circuitos ldgicos combinatorios normales. Sin embargo, esta prohibido cerrar dos transistores por el mismo lado: elo causarfa un cortocrcuito entre masa y alimentacién, con obvias consecuencias (destruccién de uno o dos transistores). Puente de BIT para control de motores, correspondiente al puente de Interruptores; los diodos protegen de las sobretensiones inductivas. También sin cerrar los dos transistores por el en sus. extremos mismo lado es posible provocar dafios: existe (proporcional @ la siempre la posibiidad de producir sobrecar- (Puente) corriente), ademas gas, por ojemplo si ol motor encuentra una do controlando la carga mecanica excesiva. temperatura alcan- zada por los pio- En este caso, por tanto, la absorcién de co- pios controladores. rriente aumenta: es maxima si se tiene el eje Toneéa del motor bloqueado; ei posterior calenta- proparcional Resistencia de miento puede daar tanto el motor como él sicoriete Ih protceler alfa controlador. Rs extremos supera tun cierto valor, el Esto puede prevenirse colocando una peque- cireuito de proteccién fa resistencia en serie, y midiendo la tension ‘etiene ef motor 106 Chopper Un control de velocidad puede realizarse sin recurrir a dispositivos analdgicos En teoria, un control de velocidad para un motor pe- ‘quefio podria realizarse poniendo en serie con é! una resistencia variable; on la practica, sin embargo, esta solucién no es conveniente. En primer lugar se tiene una elevada disipacién de Conta potencia en la resistencia, también igual a la potencia Maine ha esileledala be absorbida por el motor, con el consecuente calenta- sero regua la miento. Ademés, si al motor se le pide un mayor velocidad, pero deja esfuerzo mecanico absorbe mas corriente pero, por también al motor efecto de la resistencia, recbe menor alimentacion wrgeehaoette justo cuando més la necesita. Variaciones de la carga mecénica. ALIMENTACION CONMUTADA Una técnica mucho mas cémoda es la de abrir y cerrar un intertuptor (por ejemplo, un MOSFET) a intervaios reguiares, a una frecuencia relativamente elevada © cerrada, la disipacion de este circuito de conmuta- cién (chopper) es tedtica- mente cero; ademas, el (por ejemplo, 20 KHz). de ono} ‘motor tiene toda la corriente que necesita. El porcentaje de tiempo en el que el interruptor permanece cerrado determina la velocidad del motor: de hecho recibe < tonsién y por lo tanto funciona sélo en esa ain Un chopper proporeiona parte del ciclo. aBlerto el 75% de! trempo _alimentacion total al motor, pero ‘sdlo durante una parte de! tempo de cada cielo. ‘el tlempo Como e! interruptor esta siempre abierto SEs La figura muestra una posible técnica para realizar un chopper del tipo descrito, es decir, de modulacién de aie 3 Un colo anchura de impulso (PWM: Pulse Width Modulation) contigrado (or 388 Un contador, controlado por un oscilador, gira a rueda libre praduciendo cuentas crecientes (por ejemplo, de 0 a 255) y empezando de nuevo después de cero. aN Sane a 06a Un comparador digital se activa si la cuenta es infe- rior al valor configurado: cuanto mayor es este valor, més largo sera el tiempo ce cietre del interruptor du- rante cada ciclo. Csclader Contador Chopper digital: la anchura del impulso, y por lo tanto fa ‘O65 the: ‘eloldad del motor, depende del nimero binaroa la entrada, DIGITAL La velocidad de rotacién de un motor depende de varios factores, por ejemplo, la temperatura ambiente y, sobre todo, la carga mecénica apiicada al mismo motor. Cuando una velocidad precisa 0 estable es impor tante, es necesario podar leer la velocidad eficaz y compararia con la deseada. Serd asi posible corregir el control dal motor, por elemplo modificando ia anchura de impulso del chopper de control, para obtener la velocidad requerida, MEDIDA DE LA VELOCIDAD Hay numerosos sistemas para leer la volocidad de un motor, por ejempio utilizando una dinamo taquimé- trica, © también un sencillo sensor magnético mon- tado sobre el eje de rotacion. También el mismo motor proporciona informacién: por ejemplo, su absorcién de corriente depende de la carga y permite, por tanto, una primera forma de correccion. Se suele también hacer tuncionar al propio motor co- mo generador, aprovechando por ejemplo el tiempo Cuando of Interruptor del chopper esti apagade, Ia tensién _Eenerada por el motor depende de su velocidad. Ce mi No existen sdlo los motores de corriente continua de escobillas: cada técnica de construccién requiere un sistema diferente de control, y a menudo la solucién 6ptima eambia soguin la potoncia on juego. Para los motores sincronos trifase de corriente alter- nna, por ejemplo, se pueden utilizar tres chopper para ‘generar las tres tensiones de control, piloténdolos de modo que simulen tres sinusoides’ destasadas en 120°. En este caso existe la ventaja de poder con- trolat mas fécimente la velocidad de rotacién (al ‘menos sin carga): depende solo de la frecuencia de las sinusoides de control. Control con realimentacion Normalmente no basta con configurar una velocidad; es necesario tambien verificarla y posiblemente corregirla ‘contiguracion de lavelocidad deseada Revvoaimentacion (Medica de le velocidad EI control preciso del motor requiere una realimentacién que informe de la velocidad mecanica eficaz, de “apagado” del chopper: Ia tensién producida depende de la velocidad de rotacién Tersion enersion,—_Tensier total (Chopper en conduccion) yi ~ is ol SiN eae er para ne cM Tiempo Motor trlase ‘Chopper trifase para motores de corriente alterna; las sinusoides aso aught so ge en prdc fsds W acare DIGITAL Diagramas de estado Esta herramienta grafica permite describir un circuito desde el punto de vista de su comportamiento El estado de un circuito digital no es otra cosa que el conjunto de los valores logicos presentes en los distintos puntos del mismo circuito, or ejemplo los valores binarios en las salidas de un contador. Hemes visio que los circuitos secuenciales estén dotados de memoria, es decir, conservan su propio estado hasta que un evento externo (por ejemplo, un impulso de reloj) no lo modifique. El funcionamiento de muchos circuitos puede describirse con- venientemente mediante un dlagrama que represente los esta- dos y las transiciones (pasos) de un esiado a otro. La figura muestra los ocho posibles estados de un En el encendido puede ocurrir que se “despierte" en divisor por 5, realizados con un contador de tres uno de los esiados no validos (del § en adelante), en etapas que cuenta de 0 a 4, y después se pone @ esie caso continuard hasta la etapa 7. después volve- cero (ver leccién 16). td.a 0 y desde ese momento seguira el ciclo correcta Como puede verse, a cada golpe de reloj el con- iador avanza de una etapa (representada en un Puesta acero circulo) a la siguiente, siguiendo las tlechas; del ear estado 4 vuelve al estado cara e-6°0 tapas de un divisor por 5 construido con un contador por 8, |que se pore a cero cuando el contador supera el 4. No son muchos los circuitos que siguen un tecorrido La figura muestra el diagrama de etapas, simplificado, siempre igual, como el contador; do un distribuidor automatico do bobidas; al término a menudo hay varias positles de cualquier operacién, vuelve transiciones, y se eligen segtin al estado inicial de espera una determinada condicién. ) Ne Cuando de un circulo (estado) / inserade} parten varias flechas (trans Ciones), las frases indican la condicién felativa a cada ieee recorrido; observe que los es- eetito | tados de espera welven a sf mismos Diagrama de estados que describe 409 DIGITAL Maquinas de estad Los diagramas de estado pueden transformarse directamente en circuitos logicos La figura muestra un modo de realizar un divisor por estado: un mecanismo de este tipo se denomina 5, empleando tres flip-flop D (que repiten la entrada a “maquina de estados” la salida de cada reloj) y un poco de logi- ca combinatoria. Esta ultima debe examinar las salidas y predisponer las entradas para el posterior estado deseado; no nos interesa, por el momento, como se haya realizado. En el reloj, las entradas se transferirén a las salidas, pasando, por tanto, al nuevo Reallcacion de un contador por 5 con una maquina ‘de estados: observe que desde ol estado 4 (100 en binario) se pasa al estado cero. ANADIR LAS ENTRADAS Los dispositives reales, come el distribuidor automa- actual represantado por los flip-flop como la informa- tico de café, tienen sefales de entrada que determi- _cion procedente del exterior. an su comportamiento ‘Como también se deben considerar para decidir cual sera el siguiente estado, la ldgica combi- natoria debe tener en cuenta, ademas, estos ingresos, Salidas La figura muestra una maquina de estados gené- rica: en la entrada se encuentra tanto el estado ‘Maquina de estados genética: la logica combinatoria decide ef nuevo estado, en funcion de las entradas y de! Rela) — actual. ESAS La cuestion imponante es que las maquinas de es- tados tienen solamente un cierto numero de estados bien definidos, y ninguna posicion intermedie, estado siguiente pue- de ser Igual al ante- rior, en cuyo caso la maquina no cambiara EI cambio de estado os sincrono, os decir, se de estado, produce en un prociso momento, en nuestro caso 1 impulso de teloj de los flip-flop que almacenan nuevo estado ac a puntuacién en la o ostado actual elasiticacion de los equipos representa el En ciertas condiciones, por ejempio a la espera de ‘stato de! campeonato, un evento externo (el dinero para el café), el que cambia cada semana. Maquinas programables Es posible cambiar el comportamiento de una maquina sin modificar el circuito Hemos visto en la leccion 22 que una memo- tia programable (EPROM o similar) puede utiizarse para realizar cualquier circuito com- binatorio, en los limites de las entradas y de las salidas. Entradas El circuit mostrado en la tigura es una maqui- Drrecciones na de estados genérica, cuyo comportamien- to depende del contenido granado en la ROM programable, que sustituye a la l6gica combi hatotia. A cada combinacién de entradas y salidas se le puede asignar el nuevo estado deseado, al que se pasard en el momento del £900), asi el ercuito puede desarroliar todo tipo 1» misma maquina de estados genética de la pagina anteroy,reaizada de trabajo on una ROM programable UN CONTADOR CON ENABLE La figura muestra como programar el contenido de a EPROM para realizar el divisor por 5 antes exami- nado, que, sin embargo, avanza solo cuando la entra- fe 5 & | Datos que se da de enable vale 1 3 Lenina, ff Daten 3 sone | epnon La incorporacién de una entrada duplica el ndmero fo para realizar ‘un divisor por 5; el bit mas de posibles estados, con respecto al contador de la pagina anterior; os necosario que todes estén bion Geingos, Ls EPROM recibe came direcciGn. ato d estado actual de los flip-flop y ce ias entradas, y activa o produce como dato el nuevo estado deseado de las detiene la salidas. cuenta. 1 a 1 1 f i Cea Utlizando una EPROM se puede moditicar el com- portamiento del circuito simplemente reprogramando el contenido de la memoria, es decir, cambiando el software Ello permite una notable reduccién del costo do Posibles modificaciones, tanto para corregir erroras ‘como para afadir nuevas funciones; no es necesatio cambiar el circuito (hardware). Por el contraro, la EPROM es incémoda y relativamente costosa; ade- mas, es necesario programar explicitamente todas las posibles combinaciones de las entradas, que puet ser bastantes, DIGITAL PAL con registros Las PAL ofrecen normalmente la posibilidad de tener un flip-flop en cada salida En lugar de una EPROM se puede utilizar natu- ralmente una PAL (0 similat); la figura muestra una méquina de estados realizada con una PAL seguida de los habituales flip-top. Las PAL que pueden adquirirse habitualmente con- tienen ya fiplop (0"regisios") en las salidas, que | So's. pueden utlizerse o no, segun las necesidades. Es, por tanto, posible realizar una maquina de estados | yo ——____ que desarrollo un trabajo también medianamente complejo, utilizando un solo integrado: la PAL con registros, Una variante més de la méquira de estados genérica, esta vez ‘ealizada con una PAL con registros (0s deer, Hipop) DUNS Utilizar una PAL en lugar de una EPROM es cémo- do, pero no siempre se puede hacer ya que, como hemos visto en la leccion 28, no offece todas las posibles combinaciones de las entradas. Las ecuaciones escritas para la PAL deben ser fun- cionalmente equivalentes a la tabla deseada, cosa que no es siempre facil, y en algunos casos puede resultar imposible. Al describir el estado de cada bit de salida segun los valores de entrada, esté prohibido utiizer un nimero de sumas légicas (OR) superior el permitide por el intogrado. ‘Ain con algin fimite, PAL y elspositivos similares resultan muy Liles para reducr el nimero de componentes de un circuito. CEP Oa Saas ‘Aunque Ios flip-flop contenidos en muchos modelos de PAL pueden utilizerse para realizar maquinas de estados, or supuesto se pueden utilizar para otras cosas. wot para conservar el estado de una sefal légica, independien- omen 4 temente del hecho de que se lleve de nuevo 0 no a la ala entrada, entrada. Ademés, como los flip-flop estan normalmente | interfer Controlados por un solo reloj, garantizan un funciona- | ireras l (a ‘miento sinerono, eliminando posibles interferencias pro- | comminatora) ducidas internamente. . ‘Los flipflop D eapturan las salldas do la Iigica combinatorla on un ‘momento bien definide, cuando las seaales son estables. Video digital La imagen en el monitor de un ordenador personal se produce de un modo diferente con respecto ala del televisor Televisor y ordenador emplean el mismo sistema de barrido para representar la imagen (ver lecciones 23 y 26 de Aplicaciones), La sefal de video del televisor es, sin embargo, analégica, es decir, variable continuamente en toda la duracién de cada linea de barrido. Pero el del PC es digital: luminosidad y color cam- dian Unicamente a intervalos muy precisos, pasando I nivel de la sefial de video produciio por un ordenador personal cambia a escalones, a intervaloe regular Cada linea de barrido esta formada, por tanto, por una seria de guiones muy cortos, précticamente puntos, cada uno de los cuales tiene luminosidad y color propios. ‘Como la imagen esta ya dividida en lineas por el pro- cecimiento del barrido, se obtiene un cuadriculado muy fino de la pantalla, como en un mosaico. Cada uno de los minuscuios cuacritos toma el nombre de pixel, contraccion de “picture element” (elemento de Imagen); a una cienta distancia, el ojo no los ve y percibe una tinta continua. Vista desde corca, Ia Imagen de video esta formada por ‘muchos cuadsitos: ls pixel. FETT Cuanto mayor es el ntimero de pixels por linea, mas detallada resulta la imagen; se dice que tiene una “resolucion” (0 “detinicion’) mas elevada, Lo misme ocurre naturalmente, en vertical, para el nu- mero de las lineas: es constanie en la television nor- ‘mal, pero puede variar en el video digital de los PC, Resoluciones habituales son 640 x 430, os deci, 640 Pixels por linea y 480 filas, 800 x 600 y 1.024 x 768; 7 una pantalla normal con unas proporciones de 4 x 3, con estas resoluciones los pixels se ven cuadrados. La resolucion indica ef ndmero de pixels disponibles en ortzontal y en vertical, DIGITAL Netamente de un valor a otro, como la salida de un DAC (lo que es en efecto) w Sine Po Sine Resolcion vertical DIGITAL Memoria de video El contenido de la imagen se conserva en una serie de celdas de memoria La imagen digital de un PC no procede de ninguna cé- mara, sino de una memoria en la que se conservan thas Gis luminosidad y color de cada pixel, en forma de numeros. 4 or y ¥ 3 El contenido de esta memoria de video (VRAM: Vi- : as deo RAM) se lee y envia continuamente al monitor pa- ra ‘refresca:” la imagen, es decir, redisefiarla en los [aa aaa fosforos de la pantalla en cada barrido. ° recciones Memoria vigeo de la primera fla En el caso més sencillo del video monocromo (es de- cir, en blanco y negro), el valor contenido en cada casilla de memoria indica la luminosidad del pixel cada celda de memoria conserva ls Informacion relativa @ un correspondiente. preciso pixel del video. Ener aL Como los pixels se envian al video a intervalos regula~ res, un contador ("horizontal en la figura) se encarga Ge generar direcciones crecientes, de modo que Se lean las celdas una después de otra. Drecsiones ares Al termino de cada linea, un segundo contador ("ver tical’) cambia las direcciones altas de la memoria, de modo que se lea la linea siguiente de una zona diferen~ te de la propia RAM Sena ea ato do ido Cada uno do los datos loidos porla RAM se conviorto Dieeziones ‘en forma analégica con un DAC, a la salida del cual so paps obtiene la sefial da video que se va a enviar al monitor. Laven snp earl ea moma de ve on veo UL dos contadores, uno para zontal y otto para el vertical. CUNT MO En la préctica la operacién es un poco mas compleja, Porque la sefial de video no ocupa la linea de barrido entera, que debe ir precedida y seguida por un inn reo finde nen periodo de apagado (blanking) it ae Coa cs - ™ mm Es necesario, ademas, producir las sefiales de sin- sine elo cronismo, que no se afiaden normalmente a la sefial / i de video como en la TV, pero viajan en cables dife- rentes para tener la maxima calidad, Estas operaciones son desartolladas por compara- T i) Gores digitales (ver leccion 9), que indian cuando aleanzan los coniadores el valor deseado. 0 240 368 1968 2080 Ejemplo de valores del contador horizontal correspondiontes 2 tuna linea de barrido de 20,80 useg. 114 El controlador de video Esta mision es desarrollada normalmente por un integrado especializado El barrido de la memoria de video no es el nico tra- bajo que hay que hacer: es también necesario evitar los conflictos en el acceso a la propia RAM, que puede aceotar una sola operacion cada vez. De hecho, por una parte es leida con regularidad para producir la sefial de video, por otra’ es ecesatio poder escribir dentro lo que se desea visualizar. La memoria de video debe estar accesible también para 61 mieroprocosador dol ordonader, adem de al cireuito de barrido. Los controladores de Is tarjetas de video de! PC desarrolian también otras fanciones, ities por ejemplo para los grificos trdimensionaes Para no cansar la vista, la frecuencia vertical debe set preferiblemente de al menos 72 Hz (0 mejor todavia, de 75 Hz), es decir, el cuadro entero se redisena en menos de 14 mseg, Si en vertical hay 600 lineas, mas de las invisibles antes y después del cuadio, la frecuencia horizon tal es (en el esténdar VESA) de 48 KHz, comespon- diontes a 20,8 seg por linea. En estos 20,8 iseg debe haber 800 pixels, mas el blanking y el sincronismo: el controlador debe producir un pixel cada 20 nseg, es decir, trabajar a 50 MHz de “teloj de punto’ Temporzaciones de los sincronismos, y fecuencias correspondientes, ‘de una sefial de video de 800 x 600 pixels 72 Hz de cuadro. Incluso utilizando memorias especiales “de doble puerta” se necesita un mecanismo de sincronizacion para no ejecutar simulténeamente las dos opera- ciones en la misma celda. NV waea es Realizar el circuito completo con componentes estdn- dares es posible, pero es mucho mas conveniente utilizar un controlador de video ya preparado, en forma de integrado, Una de las ventajas es la posibilidad de programar distintas temporizaciones y cuentas, de modo que se produzcan sefiales de video de distintas resoluciones: con el mismo integrado. Con este fin, el controlador se ve a vez como una memoria: escribiendo en sus ‘celdas se cambian las configuraciones de los contadores, o se dan otros comandos. Una ines completa _——__—_—»} 208K 4 Un cuadre compieto aes me ievadro) DIGITAL En el video, el color se produce sumando los tres co- lores “primarios”: rojo, verde y azul (RGB, las in les de los términos en inglés), que mezclados pueden dar el resto de las tintas. Por tanto, es posible utilizar tres memorias de video paralelas (tres “bancos’ de RAM), cada uno de los cuales contiene el nivel de intensidad de un solo color. ‘Tres DAC independientes producen tres se- fales anlégicas, enviados por cables distin- tos (R, G, B) a los tres cafiones electronics Las tres seals ¢o video, uno por color (op, verde YYazu), siguen trayectoras pamleias pero sempre ‘atinta Una solucién més economica permite utilizar en ‘cada momento sdlo un cierto nlimero de colores, or ejemplo 256, entre todos los disponibles (mas de 16 millones, es decir, 256 * 256 * 256, utilizando tres DAC de 8 bits) En el ejemplo de Ia figura, el nimero de 8 bits contenido en la memoria de video se utiliza como indice en una RAM, es decir, para indicar una celda que contiene los valores de los colores deseados. La RAM actUa asi como paleta; si se_utilizan relativamente pocas tintas cada vez, se obtiene un considerable ahorro de memoria de video, aun pudiendo representar todos los colores. Ein A cada pixel le puede corresponder una mayor o menor eantidad de informacién en la memoria de video, as decir, un nimoro do bits diferente (y, por tanto, de combinaciones, es decir, de colores). 1840 x 400, monoeromo (1.bpp) | 256.000 | 32.000 320% 200, 256 colores (& bpp) 68.000 | 64,000 6840 x 480, 16 colores (4 Hep) 307.200 | 153.600 640 x 480, 256 colores (8 bpp) 307.200 | 307.200 800 x 600, 286 colores (8 bpp, 480.000 | 480,000 800 x 600, GSK colores (16 bpp) 480.000 | 960.000 800 x 600, 26M colores (24 bep) 480.000 | 1.440.000 1024 x 768, 16M colores (24 tp) 786.422 | 2.259.296, Colores y paletas De la memoria de video salen normalmente tres sefiales de video, una para cada color primario del monitor, cada uno de los cuales ilumina tnica- mente los fostoros del color correspondiente. SS Al aoseae a Color 255 olor 3 Color 2 oor 2 Color 0 4 ts ai. Cada dato de 24 bits de ia RAM de palete representa un color; €f valor lide por la RAM de video elige entre los disponibles. Por ejemplo, un video monocrome sin tonos de gris requiere un sojo bit por pixel (bpp), mientras que Para una sefal de color de buena calidad se Rocesitan 24 bpp, suponiendo un DAC de 8 bits. La memoria de video necesaria para una de- terminada tesolucién se obtiene multiplicando las dimensiones por este valor, por ejemplo 800 600 x 24 = 11,520,000 bits, es decir, 1.440.000 bytes de 8 bits cada uno, ‘Cantided de memoria de video necesarle pera una imagen completa, sin el uso de paleta, a algunas resoluciones wtilzadas en el PC. DIGITAL __ Hemos visto (en la leccion 6) que los integrados digitales Contienen inicialmente sencilas puertas, y se han hecho progresivamente més complejas, proveso que no parece ralentzarse. También los dispositvos |égicos programables han seguido el mismo camino, tanto que hoy es posible pro- yectar y realizar chips propios uno mismo, a un coste bastante aceptable. Un ejemplo de este progreso se pusde ver en la evolucion de las PAL, que la creciente incorporacion de nuevas funciones ha hecho continuamente mas versatile. MMSE Una de las primeras PAL, la 10H8, tenia 10 ontradas Es interesante observar que con esta estructura se y 8 salidas, cada una de las cuales procedia de un puede realizar facilmente un AND entre varias entra- sencilo OR, como se muesira en la figura, das (incluso entre las diaz), pero no un sencillo OR de tres entradas: nt 2 (siquen ovas Megane Beniadss) gy . fe on Los OR de selida tienen, de hecho, dos Unicas 3 Bi tradas, pero nuestra expresién requiere la suma ldgi- + o> | & (OR) de tres términos. ‘sigsen ots 6 salidas) La sencilla estructura AND-OR de a 10H8, una PAL de la primera generacion; otsewve los OR de dos entradas. m7 OAL El teorema de Morgan (ver leccién 5) permite empleando la 10L8, que utiliza NOR a la salida en transformer la expresin del OR, negando entiadas lugar de OR, es decir, tiene las salidas activas balas, y salidas e intercambianco los OR con AND: Justo como resulta comodo; el problema se represen ia, sin embargo, en otras circunstancias. 0 Y=A'B'C En la practica, la salida esta baja si todas las entradas son bajas: es siempre un OR. Sin embar- {g0, es necesario un inversor acicional para invertit la, salida de la PAL. Pero el inversor se puede omitir Un OR de tres entradas realizado con la PAL 10L8, aprevechando la inversion iogica de la salida. | DIGITAL Naturaimente es siempre posible resolver el problema del OR en dos tiempos, hacendo antes un OR entre A y B y después un OR entre el resuitado anterior y la tercera entrada C. XsA+B X+C Se trata, por tanto, de conectar la primera salida a una de las entradas, obieniendo el resutado final en una segunda saiida, como en la figura; hemos derrochado una salida y una entrada, y hemos perdido tiempo. Con dos cruces de la PAL 10H8, se puode obtener el OR deseado e tres entradas, aunque més lento y con un cierto derroche. FES El uso de una salida adicional es aqui inevitable, dado que queremos utilizar su OR interno, pero se puede evitar ocupar otra entrada, aprovechando un modelo menos primitivo de PAL En los integrados mas modemos, en realidad, las sall- as vuelven a entrar en la maviz interna: estan dispo- ribles en los AND sin interferir con los pines de entrada (ver figura). Puedien por lo tanto utilzarse, tanto directas como nege- das, como términos en las expresiones de otras salidas, justo como si estuvieran conectadas con un cable a una posterior entrada (a la que no corresponde ningtin pin) PINES PROGRAMABLES Un posterior paso adelante consiste en la posibilidad ce controlar la salida enable (OE: Output Enable), de modo que se envie la salida a alta impedancia, es eer, hacerla funcionar como triestado. Por ejemplo, en la 16L8 cada salida puede desactivar- 80 de manera independiente, y utiizerse, sin embargo, ‘como entrada: se pueden tener, por tanto, 8 entradas 8 salidas, pero también 15 entradas y una sola salida Como también el OF est controlado por un AND pro- gramable de fusibles, se puede activar y desactivar la salida segiin los valores de las entradas y de las otras salidas. las salidas de fa 1618 son muy versétiles: pueden activarse y dessctivarse desde Ia propla PAL. Entradas y salidas Los pines multifuncion hacen mas versatiles las PAL Regntrada Entrada etroaimentacion intema Y AND on, 2 Salida apn La roalimontacién do las saidas a la matiz pormite utilizarlas directamente como entradas de otras expresiones. Retroalimentacién t . oe | > | : - S . je . sala Bon Hesse S aN Macroceldas Las PAL modernas ofrecen configuraciones de salidas programables Homos visto quo on algunos casos os util tonor un OR ala salida, mientras que en otros casos seria mas ‘Como los dos casos oueden presentarse en distintas eine salidas de la misma PAL, seria practico poder definirla Conttol dela poiricad polaridad salida por salida, onal Sait Por ejemplo, la 16P8 utliza un XOR a la salida, pro- gramable con uno de sus fusibles, permitiendo aS! un xoR (OR exclisivo) pemnite establecer, para cada pi, s! 1a legit si tener ono una inversion tras el OR, sala del OR final debe ser directa o negada. EYES ‘Como las PAL han nacido para simplificar los circui- tos y reducir el nmero de integrados diferentes a al- macenar, no tendria sentido tener que utilizar muchos modelos distintos de PAL. Se han difundido, por tanto, las PAL configurabl en las que cada Salida puede programarse con una ‘estructura distinta: los modelos arriba desoritos estan practicamente obsoletos (es decir, ya no se utlizan). Ena préctica, a la salida de la matriz se encuentra un pequeho circuito, llamado macrocelda, cuyo contoni- do puede seleccionarse en la fase de proyecto entre Tatie las distintas opciones disponibles. Estructura de salda de 1a GALL6V8, una PAL programabie ‘léctricamente y con macroceldas configurables. a PEs La figura muestra dos ejemplos de macrocelda (lige- La primera es una clisica selida combinatoria, de ramente simpliticados) entre jos ofrecidos por la polaridad configurable con el XOR, que puede funcio- 16V8, seleccionables a voluntad para cada pin de nar también en triestado y como entrada salida, independientemente de los otros. La segunda es una salida registrada, es decir, dotada de un fip-tlop de tipo D; se debe observar que en este caso el coman- do del triestado (OE) sera comuin para todas las salidas de este tipo. Retrialimaniacion Las macroceldas de fa 16V8 permiten elegir entre Reto} distintas configuraciones de salida. DIGITAL Proyectar con las PAL Veamos un ejemplo de dispositivo realizado con una PAI Un sencillo registro de desplazamiento de 3 bits Puede “construirse” utlizando una entrada y tres salidas de una PAL combinatovia (registrada): cambian Ewp—suirtare Parton al mismo tiempo, en cortespondencia con e! relo nonbre---~-Funcién cur COMBINATORIAL Una vez asignados los nombres deseadas a los pines, SEHIALIN COMBINATORIGL jentraca podemos escribir las expresiones logicas que descri- 00 recisteres isaliaas ben jas entradas (y por lo tanto, en @! reloj siguiente, u REGISTERED las salidas) de los tres fip-tlop, como en la figura. a2 REGISTERED En la prdctica, hemos conectado ties flip-flop en cas- cada, es decir, uno detris de otro: como se ve en la figura, las expresiones reflejan la simplicidad del circuito. Registro de desplazamiento de tres bits, y expresiones logicas relativas para realzario con parte de una PAL. OTT Se puede aftadir una entrada paralela, es dct, la po- one Cane Nw TORIAL sibilidad de configurar en el registro de despiaza- ue ano naToRIAL 4 CoM INATORIAL rmiento el valor deseado (de modo sincrono, es decit, ite pitied al relo}) simplemente reprogramando la PAL. si no es LOD, desplazaniento Basta indicar que cada flip-flop (Q0, Q1, Q2) debe ste ree as copiar la correspondiente entrada de configuracién (LO, L1, L2) si la entrada LOAD vale 1, de otro modo todo funciona como antes (ver figura). Asi, hemos afadido un multiplexador a la entrada de cada flip-flop... jpero sin utlizar el soldador! Esta co- modidad de modificacién ofrece notables ahorros de Para afadir una funcién de carga sincrona controlada por la tiempo y dinero. ‘entrada LOAD, basta con modificar las ecvaciones de la PAL. WAS ALLA DE ‘A pesar de la gran flexibilidad de las PAL, de cuya potendialidad hemos tratado superticialmente, exis- ten situaciones en las que no son suticentes. Esto ocutre sobre todo cuando son necesarias nu- merosas conexiones (0 fliplop) internas: la. PAL obliga a ocupar initimente pines de salida Conviene entonces utilizar dispositivos mas comple- jos, y costosos, dotados de macroceldas internas (no conectadas a los pines); pero son temas de una Gracias a su versailidad y comodidad, las familias de Pabst lacoen Integrades légicos programavles estan en continuo crecimiento. Transmision de datos Enviar informacion digital a distancia Las sefiales ldgicas no siempre estén confinadas en el interior de un aparato: a menuso, necesario enviarlas de un dispo- sitivo @ otro, Esto puede ocurtir en serie, con los bits uno detras de otro en un mismo cable, o en paralelo, es decir, con un cable para cada uno de los bits a transportar En todo caso, cuando una seAal digital debe recorrer distancias cuporioros a pocos centimetros, entran en juego varios fenomenos que es necesario tener en cuenta. La velocidad de las sefales eléctricas no es infinita: Puede ser proxima a la de la luz (300,000 Km/seg). Cable largo limoutso EES Cuaiquier cable tiene una inductancia propia y una capacidad hacia masa; estas caracteristicas no es- tan concentradas en un punto, sino distribuidas en toda la longitud del cable. Esto se puede considerar como una serie infnita de ‘minisculos inductores y condensadores, dispuestos uno detras de otro a lo largo del propio cable, como musta la figura, Un seneill fragmento de cable se comporta como uns linea de transmision, con inductancia y capacidad distrbuidas. 121 DIGITAL a uta serie d © incluso mucho més baja, segtin las caracteristicas del cable en el que viajen. Se tiene, por tanto, un retardo: para recorrer tres metros de cable, por ejemplo, la sefial emplea al menos 10 nseg (nanosegundos), en el caso ideal de la velocidad maxima posible. Se trata, electronicamente hablando, de un tiempo que no debe desdefiarse, similar al retardo introduci- do por el cruce de varias puertas ldgicas. £1 transto de una seal eléctrica por un cable requere un cierto ‘tempo, que depende de fa longitud de! cable que se va a recomer. ‘Se comporta, en otros términos, como una linea de transmisién (ver leccién 20 de Analégica), que ate- nda el nivel de la sefal, y puede alterar incluso la, forma. DIGITAL Alteraciones de la seal Lo que se recibe no es nunca idéntico alo que se ha transmitido En una primera aptoximacién, un cable se comporta Se ateniian, por tanto, los arménicos superiores, es como un filiro de paso bajo, que deja pasar las fre- decir, se redondean los frentes incinados de las sefia- cuencias més bajas y atentia las mas elevadas. les digtales, causando posibles errores de tempori zacién (ver figura), No es, por tanto, sufigiente reamplificar la sefial tras Sena Sefial_ Sefaldistorsionads Seal el trénsito en un largo cable: es necesario actuar de Seat vtanii “porate aigtal modo que se eviten, en lo posible, las distorsiones \ seeds El ahs fi . > Fe Ree de la misma seal. Controlador Receptor anger Scie Una seal digital, reconstruida tras el paso por un cable argo, ‘puede sufi distorsiones tomporales de la informaclén original. Cuando una sefal digital llega al término de! cable, la ry parte de la energia que no es absorbida por el receptor | transmiiia se tefleja, recorriendo de nuevo el cable al revs. Rotoxin Esta energia interfiere con la sefial en ténsito, cau- sando interferencias que pueden ser también bastante amplias, y llegando incluso a falsear la lectura del nivel lbgico. Posibles resonancias pueden causar, sin em- argo, ringing, es decir, oscilaciones atenuadas en x cortespondencia con cada transicion digital (cambio de Seal refejada estado I6gico), Sefalreibida Un sencitl cable, 0 incluso una larga pista de! citcuito impreso, ‘eumentada puede introducir alteraciones no descadas on la seal (TIN N Como en alta frecuencia, la solucién a estos problemas Si, en los dos extremos, ve una resistencia pura de valor teside en una correcta adaptacion de impedancia similar a la propia impedancia, los problemas desapa- (ver lecoin 28 de Analogca) entre transmisor, linea de _recen y permanece solamente una sencila atenuacion. transmision y recepior. Ello significa que el cable (o pista de cobre) debe tener caracteristicas conocidas y, por Io tanto, una impedancia muy determinada, constante on toda su longitud. IL ere 2 impedanciaZ in p=” Controlad ¢ Receptor con impedan con mpadancie Una linea de trarsmision cerrad ena propia impedancia a antee oer, éaracterstica se conperte como una sencilla resistencia: 90 Lineas para uso digital Segin la distancia que se vaya a cubrir se utilizan distintas tecnicas Los problemas de transmision se hacen més graves al aumentar la distancia ala que se transmite la sefal, la frecuencia en juego y la velocidad de conmutacion. ‘A frocuencias elevadas, como las de las redes locales, es util recurrir a cables coa- xiales (ver leccién 13 de Componentes), de caracteristicas conocidas con precisién. Cables muttiniio trenzados, en version plana (inpedancie declarads do 105 1) y on version apantallada (77 ©). c ESTE Una linea de transmision puede captar interferencias eleciromagnsticas; ademas, las absorciones de co- mente pueden producir pequenes tensiones entre las masas de los aparatos en los extremos del cable Para evitar quo interfieran en la sefial, se pueden enviar dos sofiales con fase puesta on dos cablos y,@n ol receptor, medir s6lo la diferencia entre las dos tensiones. Transmision en tinea equiibrada: los des cables se mueven en sentido opuesto, para eliminar el efecto de las interferenclas comunes. CRSP Distorsiones de la sefial y lecturas erréneas no son los Unicos problemas de la transmisién de datos entre os aparatos distintos. Por ejemplo, es posible que las masas de los dos dispositivos $2 encuentren a potenciales. muy distintos, especialmente si estén distantes y no estan conectadas a la misma instalacion eléctrica. ‘Ademas, en el momento de la conexion se corre el riesgo de una descarga electrostatica: la = -< Para requisitos menos exigentes, una sencilla linea de transmisién se puede realizar trenzando el cable de sefaly el de masa: la impedancia resulta relativamente constanto. Una posible interterencia desplazara el nivel de ten- sign en amos cables, por lo que sera una interferen- cia comiin, y sera ignorada por el recepior, aiento solo a las diferencias entre los dos. i cortotedor || Ue® 4 408 88108 accortor ‘complementario alterencta energia contenida en la capacidad del cable es suficionto para dafar los circuitos. os conectores tipo D, empleados por ‘jemplo en los PC, utiizan una arandela metalica para descargar la ‘loctricidad estatica antes de que los ‘contactos se toquen. 123 DIGITAL Estandares y controladores Es necesario que los dispositivos que se conecten adopten los mismos convenios Las caracteristicas de los habituales CMOS no son dancia no os conocida, los margenes de ruido son adecuadas para la transmisién de los datos: la impe-_ bajos y las protecciones son inadecuadas. Por lo tanto se han definido esténdares mas adecua- dos a este objetivo, con el fin de que dos o mas dispositives puedan enviarse sefales digitales de un modo fiable. Por ejemplo, el estandar RS-232, muy utiiizado para conexiones cortas, define tanto las caracteristicas de la sefial como las de los conec- tores, aunque de estos ultimos existen algunas variantes, ‘Los modems estén a menudo conectados al PC mediante un “puerto serie”, que emplea el esténdar RS-232. ADORI Para una buena inmunidad a las interferencias, el transmisor (controlador) RS-232 utliza niveles H y L més espaciados si con respecio a la légica normal, al menos 43 y ~8 V, pero comunmanto +12 V y ~12 V. Ademds, esta protegido contra el cortocircuito y limitado por el slew rate (inclinacién de las transi- ciones), para reducir las raflexiones y no producic arménicos a frecuencia elevada. y por lo tanto inter- ferencias de radio. El receptor tiene un trigger Schmitt para ignorar interferencias débiles, y resiste (como por otra parte el transmisor) descargas electrosiaticas también de una clerta energia. (ON (vale 0}, "Space" (OFF (vale 4), "Mark La sofia! R5-292, gracias también la amplia carrera, presenta una diseretainmunidad 9 tas interlorenci, al menos en distancias cortas. ines Existen otros estandares varios perala transmisién de ries dispositivos en un unico par de cables: citamos datos en lineas digitales, nacidos en respuesta a por ejemplo el CAN (Controller Area Network: red de distintas exigencias do volocidad, fiabilidad, consu- area de controlador), utlizado en campo industrial y mo y robustez. Por ejemplo, RS-422 y RS-485 se automovilistico, utiizan para lineas equilibradas, mientras que los USB y FireWire (IEEE-1394), mas recientes, estén proyectados para elevadas veloci- a dades de transmisién, Algunos estandares permiten coneciar va- & Los terminadores utlizados en los cables SCSI estanday, sirven para adaptar la * impedancia y eliminar las reflexiones. DIGITAL ASIC: logica a medida En algunas situaciones es conveniente emplear chips fabricados especialmente Si debe fabricarse un dispositive en cantidad de de- Cenas de miles de unidades y comercializarse a un precio asequible (por ejemplo un raton para PC), evidentemente debe costar poco en iabrica En estos casos, goneralmente conviene proyectar Un circuito integrado a medida, que recoja todas las funciones requeridas en un tinico chip. Los integrados de este tio se denominan ASIC (Application-Specific Integrated Circuit: circuito inte- = Grado especitico para aplicaciones) y, ademas del TTT anorro economico, permien reducr las dimensiones a de' circuito, Ws Los dispositves econémices concentran tedo el cireuto en un \ Ainleo chip ASIC, e8 decir, proyectado especialmente, Oe EI proyecto de un chip ASIC es, en cierto modo, similar al de una tarjeta de circuito impreso: se trata de colocar jos componentes y conectarles con pistas metalizadas. Al final se obtionen las masearas fotograficas (equivalentes a los master del circuito impreso) que se utlizaran on la fase do produccién: distribucién del silicio, metalizacionas, etc El coste inicial (proyecto e “instalaciones” de fabricacién) es bas- tante elevado, pero se compensa con el bajo coste de produccién de cada integrado individual, por lo cual se fabrican en gran numero, CNS Proyectar un circuito integrado partiendo de cero 8 una empresa bastanto complicada, que general: mente s2 deja para los especialistas de las “fabricas de chips’) iS 3 En muchos casos conviene utilizar estructuras pre- fabricadas, por ejemolo los ‘array de puertas": se trata de matrices rectangulares de puertas légicas, conectables entre si Pea ring (conextones con los pines) Basta con conectar estas puertas entre ellas y alos pines de E/S (entrada/salida) ya dispuestos, para obtener el circulto terminado: los costes de proyecto se reducen notablemente. Oooooooo, Dooooooo: O0000000; ol Oooooooo: Booooo0oo: Goooooo0o' Configuracion general de un array de puertas. 125 DIGITAL Integrados hechos en ca Para pequefias cantidades, el coste de fabricacion seria prohibit Los ASIC enmascarados requieren de produccién a gran escala: no son adecuados para dispositivos de los que se deseen producir cientos de unidades, 0 que precisen frocuontos modificacionos, Con mayor raz6n, no permiten realizar prototipos o efectuar experimenios: los inevitables errores de proyacto tienen, por tanto, un caste muy elevado. Es conveniente poder elegit una via intermedia entre estos dispositivos y los integrados estandares: en otras palabras, integrados a medida (ASIC) realizables programando una base estandar. TS Los FPGA (Field-Programmable Gate Array: array de puertas programable en campos) son chips wpicoisobrisea aay ae programables con una estructura similar a las del rivel de metalizacion array de puertas: las interconexiones pueden programarse con un dispositivo adecuado. caida No es por lo tanto necesario encargarlos en fabrica, | Canal ero se pueden tener en almacén los chips “vitge- | (1 nnel se Nes” (todos iguales) y crear los integrados deseados | metalzacion) segun las necesidades. Disposttivos mas recentes, de distinias siglas pero indicados genéricamente como PLO (Programmable Logic Device: cdspositivo ane on anne de l6gica programable) ofrecen bloques légicos yi ce aR més complejos que las puertas sencilas. eee En un array de puertas, las conexiones entre las celdas ‘pueden realizarse en fabrica o ser programadas por e usuario (FPGA). CHAS Ya hemos encontrado integrados ldgicos programa- bles: las PAL y derivados (lecciones 26, 28 y 30), que pueden considerarse como PLD ‘relativamente seneillos. Los dispositives de los que estamos hablando estan destinados a la fabricacén de circuilos més com- plejos: tienen normalmente gran niimero de pines de E/S y puertas ldgicas intemas. ‘También su estructura es mas versatil que la de una PAL (que, recordemos, tiene algunas limitaciones); lo que implica naturalmente un coste superior. Los PLD permiten realizar funciones complejas en un solo chip, ‘ustituyendo cientos de integrados estandares. Estructura de los PLD complejos 5 conexiones entre celdas son mas libres que en las PAL La figura muestra una estructura tipisa de integrado logico | programable (PLD) de complejidad media: ofrece un cierto numero de macroceldas. Macroceida tina Fone de nput/outout | | Estas utimas pueden estar conectadas entre ellas, en las en- | tradas y en las salidas, por medio de una matriz de Interco- | exi6n, una especie de tablero con conexiones programables. | | & - Mientras las PAL disponen solamente de macroceidas a la salida los PLD, mas versitiles, disponen de numerosas celdas intemas, con las cuales se pueden realizar funciones ‘complejas sin ocupar pines. Estructura de un moderno PLD: hay macreceidas de E/S, macroceldas ‘nternas y una matrz de interconexi6n. PENS En muchos casos cada sencilla macrocelda interna de un PLD es, a su vez, un pequefo dispositivo programable, totalmente similar a una pequena PAL. Esta dispone a su vez de entradas, salidas y, sobre todo, de una mairiz de conexiones programatle, ge- neraimente de tipo AND-OR (ver leccin 26). En la prdctica es como si ol dispositive contuviera un cierto numero de PAL, cada una programabie de ma- nera individual y conectable @ las demas con amplia libertad de interconexion. Macroceldas Un PLO complejo puede considerarse como una eoloceién de PAL programables y conectables a placer. ELEGIR UN PLD La capacidad de un PLD se indica a menudo median- primero se proyecta el circuito y después se elige el te la cantidad de puertas légicas que puede conte- chip mas adecuado. ner, suponiendo que logre aprovecharias todas. Desde 01 punto de vista préctico, a menudo resulta ‘mas util conocer el niimero y tipo de macroceldas que elcchip pone a nuestra disposicién, ademas del nime- ro de registros (es dec, flip-flop) utiizables. También las posibilidades olrecidas por las macio- celdas de E/S y la estructura general son importantes con fines de seleccién; en general, no obstanie, Los dispositivs l6gleos programablos son muy ities on los DIGITAL Programar los PLD Hay numerosas técnicas para pasar de la idea al chip terminado Como para las PAL, no es viable ponerse a programar un PLD manualmente, escri- biendo en un papel las conexiones a efectuar en las matrices. Se utizan programas especiales para PC, que proporcionan una ayuda determinante para el proyecto, ya sea on forma de ahorro de tiempo 0 de control de los errores. Se puede partir de un esquema eléctrico, de ecuaciones légicas o de maquinas de esta- dos, o de descripciones formales escritas en lenguajes de descripcion de hardware es- peciales (HDL), como VHDL o Verilog EMU El programa ofrece, casi siempre, la posibilidad de de modo que se detecten en el tiempo posibles simular el comportamiento del circuito proyectado, errores ldgicos 0 de temporizacién. Esto permite a continuacion elagir el modelo de PLO (entre los de un mismo constructor) mas adecuado para contener el circuito, con el menor costo posiole, La eficacia de aprovechamiento de! hardware dispo- nible puede expresarse, por ejemplo, en porcentaje de puertas utilizadas sobre las disponioles; a me: nudo puede mejorarse con técnicas de proyecto adacuadas. La simulaci6n del comportamiento del circuito permite “probar” el proyecto antes incluso de programar el chip. Los _modemos PLD pusden programarse (y generalmente, tambien cancalarse y reprogramarse) sin la necesidad de desoldarlos del circuto, operacién a menudo imposible. ‘Ademas de las simplificaciones en fase de produccién, ello hace més practico el posible mantenimiento: el circuito puede actualizarse en funcionamiento, conectando el programador especial. Se puode también realizar ol mantenimiento a distancia, por ejemplo mediante modem: en la practica, se puede reproyactar y reconstruir un circuito entero, situado dentro de luna maquina en otro continente. La capaciéad de programacion en funcionamlento permite realizar ef _mantenimiento a los dispositivos terminades, sin “ensuciarse las manos”. DIGITAL Optoelectronica digital Se utiliza entre otras cosas para aislamiento ele En el mundo exterior, es decir, fuera de un circuito, suelen existir interferencias eléctricas de una cierta intensidad, causadas por ejemplo por conmutacién de carges pesa- das [por ejemplo, motores), rayas, etc, Por lo tanto no se aconseja conectar directamente un Gelicado circuito digital a dispositivos eléctricamente “rui- dosos’, 0 a largas lineas de transmision Conviene que los dos circuitos estén eléctricamente aista- dos entre ellos, pero pudiendo la sefial transitar igualmen: te: 98 posible obtener este resultado con un aislamiento ptico. Un aistamiento optico permite la comunicacion entre dos dispositives, sin contacto eléctico directo, Los fotoacopladores, introducidos en la leccidn 29 Recordemos que estan constituidos por un emisor de Analdgica, encuentran amplia aplicacién en el de luz, situado frente a un receptor: los dos dispositi- campo digital, exactamente como aisiadores. vos estan normalmente encertados en un mismo contenedor, en forma de circuito integrado. Los niveles ldgicos H y L, correspondientes nor- srk Geena malmente a los nimeros binarios 1 y 0, correspon- re Senet den, por tanto, a la presencia 0 ausencia de luz (0 had spon viceversa, Seguin convenga). ontiea weet Oseuridad =0 En un fotoacoplador, un valor binario esta roprocentade por le presencia o ausencia de un rayo luminoso. PIE Tat La figura muestra un fotoacoplador elemental, com: puesto por un LED y un fototransistor, situades uno {frente al otro y separados por material aisiante, Un nivel ldgico H (1) a la salida del buffer deja pasar h ¥ corriente en el LED, que se enciende; la luz golbea al conante fototransistor, que entra en conduccién y lleva a uno la salida 45v Corrente Es importante observar que LED y fototransistor reci- ban tension de dos allmentadores separados y aisla- dos entre si, cada uno formando parte de un Circuito Un fotoacoplader puede tansmitir una seal lglca entre dos disiinto. Cireuitos separados, sin contacto eléetrico, 129 DIGITAL Limites de los fotoacopladores £1 principal problema esta representado por la relativa lentitud El sencillo circuito ilustrado en la pagina anterior no es el aislador éptico ideal para circuitos digitales; sin em- Corrente +5 bargo, presenta algunos inconvenientes. t¢ out zs Butter 4 wiegee Sma In oF 9) Coriente. Driver En primer lugar, el fototransistor no se cierra por com- pleto, es decir, no satura, y la Corriente que puede con- mutar es limitada; ademas, e! LED requiere una cortien- te dscreta. Asi, se suele afadir un controlador para el LED y un butfer « la salida; este Ultimo os normalmente dol tipo trigger Le iacorporacién de un controlador y un buffer mejora las ‘Schmitt, que garantiza una conmutacién mas Impia. ‘caracteristicas del aislador 6ptico digital, TR La "ganancia” de un fotoacoplador es la relacion entre la corriente del fototransistor y la del LED que la causa; se llama CTR (Current Transfer Ratto: relacion de transterencia de corriente). Por ejemplo, un CTR del 20% significa que 10 mAen el LED dejan pasar 2 mA al fototiansistor, este valor varia ro sélo entre un modelo y otro, sino de una unidad a otra Esto empeora también con el envej ito del dispositivo: es necesario, por tanto, examinar Los fotoacopladores son de uso oman en ef campo industria, con precisién los datos, y proyectar el circuito Focade kes hua Hcotn, para el peor CTR previsible al termino de su ciclo de fas maquinas eléctricamente de vida. ruliosas. VELOCIDAD Y DISTORSION Los fototransistores son relativamente lentos y, a me- nudo, asimétricos: emplean menos tiempo para cerrarse que para abrirse (la base debe vaciarse de las cargas acumuladas). Leo ercerdiao LED apagado Un impulso puede, por tanto, alargarse 0 acortarse, segtin su polaridad; cosa que es naturalmente bastan- te poco deseable, porque altera las temporizaciones de la sefal, conduccon Interdiceén out pe La situacién mejora mucho ulilizando un fotediodo, bastante mas rapido que un fototransistor, unido a un amplificador, también contenido en el paquete; aumen- ta naturaimente el coste del dispositvo. (Forotranester) 1 12 Tiempo Tempo de do clerre apertura Un fotcacoplador asimétrico, ¢s decir, con tiempos de clerre y apertura distintos,altera Ia forma de la sefal. Fotoacopladores especiales Aambos lados del acoplamiento dptico puede haber varios dispositivos El primer fotoacoplador mostrado en la figura tiene una entrada de corriente alterna, gracias a dos LED situados en antiparalelo: uno conduce en las semiondas positivas y el otro en las negativas. El sequndo tiene, sin embargo, una selida Darlington, en la que el fototransistor controla un segundo transistor, obteniendo asi un CTR elevado, por ejemplo incluso del 2000% (1 mAen el LED = 20 mA a la salida). Normalmente, esta ventaja se paga con un empeoramien- to de las caracteristicas dinamicas, es decir, un mayor tiempo de tran- sito de la sefal, y una asimetria mas marcada entre subida y bajada. Ejempios de entrada en altema, y de salida Darlington; esta salida ofrece mayor ‘sensiblidad a la entrada. También los diodos controlados y sus piimos en alter- fa, los tiiac, pueden construirse de modo que sean sen- sibles a la luz, como ya hemos visto en la leccién 30 de Analégica, El elevado aislamiento entre entrada y salida permite utilizar logica de beja tensidn (por ejemplo 5 Vic) para controlar dispositives de tension de red (220 Vac), con total seguridad. = WO RS352-890 atica (0 “en ‘estado solo") aprovecha tun acoplamienta éptico para aisiar la entrada de ccontiol de la carga. Pee Paso por Es, por tanto, posible construir con facilidad relés esta- ticos, es decir, sin componentes meciinicos en movi- miento (y por lo tanto duraderos y silenciosos), de los que ya hemos hablado en la leccién 3 de Componentes. Tac} Dentro de un fotoacoplador se integran, a menudo, etcera otros dispositivos para mejorar sus caracteristicas, s como el amplificador para el fotodiodo y/o un trigger Schmitt Rea 220¥. Un circuito comin, utilizado a menudo en jos relés estéticos, es el de zero-crossing, que cierra un foto- triac sdlo en el momento en que la tensién de alimen: tacién (sinusoidal) pasa por ol cero. Contr! ot _[on digital De este modo se evita (al menos con carga resistiva) causar un escaldn de corriente alasalida, queseria |... fuente de interferencias de radio no deseadas y de | gettin: otros posibles problemas. i evcutt ae zere-crossing hace ue ol ia se clereslemare y | slo al principio de una somiond, cuando la tension es coro. DIGITAL Datos sobre las fibras opticas Como lineas de transmision, tienen un comportamiento casi ideal Para conectar dos dispositivos situados a una cierta distancia uno de otro, se puede utilizar un cable de cobre adecuado, es decir, una linea de transmision (ver leccion 31), ‘Superada una cierta distancia, 0 en un entorno con interferencias eléctricas como el industrial es, sin embargo, aconsejable aislar eléctricamente {a li rea tanto del transmisor como del receptor. ‘Ademas, vienen a sumarse los inconvenientes de la linea a los de los acopladores épticos, degradan- Transmisién de datos en linea do cobre (es deck, hecha do ‘cable normal o coaxial) eléctricamente aislada. do las caracteristicas de la sefial e introduciendo un dscreto retardo. imentacién Aistamiento| opto ANslamionto € Receptor ie 1+ 1) tines sislada ¢ oS re vice Waza Tensmisor Masa ior lado trea Nato lado Rx En lugar de un cable de cobre, se puede emplear una fibra 6ptica (ver leccién 29 de Analogica): en ia praclica, es como tener un fotoacoplador... ja 10 largo de cientos o miles de metros! EMINEM El punto critico de una fibra dptica esta en la cone xion con cada uno de sus extremos: el rayo lumino- 80 no debe reflejarse hacia atrés, y debe atenuarse lo menos posible. Es, por tanto, necesario preparer correc: tamente el extremo del cable de fibra, por ‘ejomplo con un corto y afilado adecua- dos, y seguir un procedimiento correcto para su colocacién en el conector corres- onciente. ‘Transmisores, receptores y conectores para fibra éptica (con molée para el montaje de les ‘conectores), ie ‘Como no es transportada por una sefial eléctrica ra- lentizada por la inductancia y la capacidad, la infor- macion viaja a la velocidad de la luz, sujeta solo a una cierta atenuacion a lo largo del recorrido, La frecuencia maxima de comunicacién esté limita da, en la practica, por las caracteristicas del emisor y del receptor: con léser y fotodiodos veloces se pueden aleanzar cientos de MHz. ‘A pesar de sus pequefias dimensicnes, les fbras pticas ‘ofrecen un ancho de banda (frecuencia maxima) muy respetable. En algunos casos se emplea una tesina transpa- rente especial, con caracteristicas Opticas adecua- das, para asegurar una perfecta conexion optica entre fibra y conector. 192 DIGITAL Microprocesadores Conozcamos a los dominadores incontestables de la moderna electronica digital Homos visto que algunos integrados (como los PAL) son programables, es decir, so puede definir a voluntad, in- Cluso dentro de ciortos limites, su estructura interna. Un paso mas en esta direccién consiste en utilizar un circuito siempre igual, y cambiar solamente las instruc- ciones que le dican qué hacer en cada momento. El funcionamiento dal dispositive ya no es controlado Por la disposicién de las puertas l6gicas, sino por la se- cuencia de instrucciones que ejecuta: el programa. Un microprocesador es un dispositivo bastante complejo, pero (que puede utilzarse para un gran nimero de aplicaciones. CES El circuito, entendido como componentes yconexio- controla con la secuencia de niimeros binarios nes, se llama hardware (herramientas): constituye _(instrucciones) que constituye el programa. la parte fisicamente perceptible, comparable a un automovil Donde vaya este automévil, @ qué velocidad y con qué estilo de conduccién, depende del piloto, es de- cir, del software: la secuencia de instrucciones escri- tas por el programadior (el diserador) Naturalmente, también un micoprocesador est rea- lizado con puertas légicas, pero ello no interesa: se La motociclota (nardware) responde a los comands del piloto (sottwar CASS ees Una gran ventaja de los microprocesa- rrar un dispositive com. dores es la facilidad de modificacién pleto en un solo circui- del programa y, por lo tanto, del compor- to integrado, con nota- tamiento del circuito: no es necesario ble ahorro de compo- tocar ni una sola soldadura. nentes y esfuerzo. La posibilidad de adaptar un mismo mi- croprocesador a muchas aplicaciones hace posible la produccion a gran esca- la, por lo tanto, a un ant ia, por @ un coste bastante Reemplazar el programa limitado, do un microprocesador es " como cambiar la masiea También el circuito se simplifica notable- de un tocadiscos: no nace mente: a menudo se llega incluso a ence: = falta volver a disefalo. 133 ey DIGITAL CPU y el resto El trabajo se divide entre varios componentes, cada uno con una mision especifica El auténtico microprocesador constituye la unidad tuyela memoria del programa, es decir, el “manual de central, 0 CPU (central processing unit) que, sin em- _instrucciones’ que lee la CPU. bargo, sola no puede hacer nada: debe poder recibir y enviar informacion. mK YY 9 exterior, eS decir, una o varas interfaces periter'- Sass cas, 0 simplemente “periiricos", dotadas de conexio- i res de entrada y sald, i ee Las instrucciones que se ejecutan deben ester escritas en alguna parte, por ejemplo en una ROM: que consti- I programa esta normalmento eserito on una ROM progiamable, ‘como esta EPROM que puede borrarse con rayos ultraviletas. CUES La figura muestra el esquema de bloques de un sis- lineas de control (por ejemplo, para los comandos de tema de microprocesador. se ven la CPU, la ROM de _lectura y escritura) programa y las interfaces de E/S (entrada/salida) Hay también una memoria RAM de trabajo, conve- niente para “apoyar’ temporalmente los datos y des- ués poderlos releer, un poco como una hoja de papel en la que tomar apuntes. - > Mundo $ exterior Las distintas partes estén conectadas por medio de dos buses do cables: uno para las direcciones de las, memorias y otro para los datos; hay ademas algunas, £1 microprocesador (CPU) requiere componentes extemos para formar un dispositivo completo. CoCr Un ordenador personal tiene la misma estructura, pe- ro normalmente lee (copia) ias instrucciones a ejecu- tar, es decir, los programas, de un disco dptico 0 mag- nético en una RAM temporal. En otras aplicaciones, sin embargo, el programa es generalmente solo uno, que se ha escrito una dnica Vezen la ROM, y por io tanto esta disponible inmedia- tamenie nada mas se enciende el dspostivo. Cuando el mismo integrado contiene CPU y perifér= { ° cos (ya menudo también ROM programable y RAM), A normaimente se le lama microcontrolador, pero €n unmcrocontolader Integra, ademés, los componentes auxlares lo que so refioro a sus funcionos no cambia nada. (ROM. RAM, E/S) dertra do un eole cuit ntegrdo. 134 Los microprocesadores, como veremos en las proximas lec- iones, pueden desarrollar numerosas tareas distintas, se- giin las instrucciones que reciban. Son, naturalmente, capaces de realizar operaciones légicas (NOT, AND, OR, XOR), pero también operaciones aritméti- as, como sumas o multiplicaciones. Pueden ademas tomar decisiones, es decir, cam- biar la secuencia de las instrucciones a ejecular, segun si se verifican o no las condiciones indicadas por el programador. SU La figura muestra un programa que realiza una opera- sador no se detione nunca, como mucho seguirfa en cién de suma de dos numeros, ambos contenidos en vacio a la espera de eventos externos. Celdas de la RAM de trabajo, y pone el resultado r en una tercera celda, Datos en Ta RAM ‘Como puede verso, son necesarias tres instruc- | ciones: la lectura del primer sumando, la suma con el sagundo, y la eseritura del resultado en la celda previamente seleccionada. ) Lee el dato en la cet 7 5 et Hkpeatar eae. " el resultado 2) Salo con el dato dela celda 74 3)Pon el resultado en a oelda 75. zz Datos que nag Ejecutada la operacién, la CPU continuara con la siguiente instruccion: el trabajo del microproce- a2, f Direcoion (rumero de celia) Tres Instrucciones de programa: e/ microprocesadar las ‘jecutara una después de otra, en ol orden en que se ‘han escrito on ia memoria. CE Hemos visto que incluso una operacién tan sencilla ‘como una suma se divide en una serie de operacio- nes elementales, atin mas sencillas, que puede desa- rroliar ta CPU. Esta necesidad de leer y ejecutar las instrucciones Secuencialmente, es decir, una después de otra, es Un limite del microprocesador: requiere mas tiempo que un circuito realizado con puertas légicas. No obstante, su versatilidad es tal que la (reletive) lentitud se perdona facilmente; cama muctia basta afadir externamente un pequefn circuit, ce) se ‘ocupe de las operaciones mas importantes: Un mieroprocesador ejecuta las instruecionas af titma élotade ‘pore! relej, generado por un oscilador de eisarzn. DIGITAL Cuando la CPU lee un ntimero, por ejemplo para su- marlo después a otro, debe ponerio en alguna parte de su interior; dispone para ello de celdas especia- les: los registros. ‘Muchos microprocesadores tienen uno destinado, de hecho, a “tener en mente” el dato con el que se esta trabajando: se denomina generaimente acumulacor. Cada modelo de microprocesador tiene, ademas, una arquitectura propia, es decir, una estructura in- Lectura de un dato en una determinada celda (0 “ubicacion") cde RAM en ol registro acumulador. ESL La CPU dobo tener controlada Ia instruccién que es- td ejecutando, de modo que pueda después seguir con la siguiente nada més terminada la operacién en progreso. Para ello contiene un contador de programa, que produce direcciones crecientes; el reloj, generado por un oscilador externo, se encatga de hacerlo avanzar. Algunas instrucciones son capaces de moditicar el valor contenido en el contador de programa, produ Dos componentes fundamentales de cada CPU son el contador jecuta de programa y la unidad arltméticologica (ALU) que ag operaciones. ‘APLICACIONE: El ordenador personal es quizé ol ejemplo mas vistoso de aplicacién, pero los microprocesadores estan ya difundidos en gran parte de los aparatos electrénicos. Desde los equipos de alia fidelidad al homo microon- das, desde el televisor al automévil, desde los antirro- bos alos semaforos, las CPU se utilizan alli donde sea ecesaro un cifcuito de control de cualquier clase. Casi siempre se trata de microcontroladores, es decir, integrados con todo incluido, normalmente im« os potentes, pero bastante conocidos debido al bajo Dentro de la CPU El microprocesador contiene algunas casillas especiales de memoria terna, con varios registros mas 0 menos especializa- dos para determinadas operaciones. Direccion de la celda deseada —— A Zp Se Dato pedido ciendo asi la ejecucién de una instruccion distinta de la contenida en la celda siguiente. Direccisn de la instruccisn a ejecutar ——— Codigo de la nstuccién a elec coste y a la posibilidad de eliminar gran parte do los componentes extemos. Los microprocesadores se ‘encuentran por todas partes, también en los pesos de las tlendas del mereado, Instrucciones y codigos Los comandos reconocidos por el microprocesador son simplemente ni Cada instrucci6n del programa describe con detalle una Unica operacion que el microprocesador debe llevar a cabo, por ejemplo leer el contenido de una celda de RAM. Para que las posibles operaciones se distingan entre ollas, a cada una 0 lo asigna un numero distinto a las otras: es su eédigo operativo, que depende naturalmente del modelo de CPU Por ejemplo, en una hipotética CPU, el cédigo 150 (10010110 en bi- nario) podria significar “lee, es decir, copia en el registro acumula~ dor e| contenido de una celda de memoria”. OSG En muchos casos no basta con decir qué operacion hacer; es necesario también indicar sobre qué na- cetla: por ejemplo, el contenido de qué celda debe ir a leer la CPU, DE Este dato adicional, que indica 0! objeto con ol que 0 desea trabajar (quedando en nuestro ejemplo el numero de la celda a leer) se llama operando. Por tanto, la instruccién completa esta en este ca: so compuesta de dos nimeros: el primero (cé¢igo operativo) indica la operacién a realizar, el segundo {operando) el dato sobre el cual realizarla, como en la figura En el nivel mas bajo un microprocesador es, por tan- to, una maquina que lee una secuencia de numeros binarios y los interpreta como instrucciones, com- puestas por un cédigo operativo y por posibles ‘operandos. Este “o6digo maquina’, o lenguaje maquina, es co- modo para la CPU (que es un dispositivo digital) ero bastante menos practico para las personas. Afortunadamente, los programas no se escriben en, lenguaje maquina; como veremos dentro de poco, existen herramientas mas comprensibles, que evitan tener que trabajar con nimeros binarios. El codigo maquina es taciente legible. ‘mieroprocesador, no por nosotros! pero sélo por et DIGITAL CGidigo operative: Operando: “lee en el acumulador e) {nde (recon) contenido dela cela.” de ia celda de RAN. fue 80 ve a loor ‘Laprimera parte de una instruccion describe (a operacion que se va.a realizar y a segunda indica ol dato con ol que 6e va a trabajas erar8 ‘bor 004 ‘oimiio18 ortenttT ‘ooteoter ootaeto: ‘oneoooo s1911190 0111000 ‘hieaHH8 1OLoKBBL 18100001 81011000 o1900141 e1111100 ‘Uoorioe eorerere eTIT THe 16s; MoRR dasores vieroit8 eoio01 arsaiies sta00n1s 11087 smears aaerii8s i afi 137 DIGITAL Los ndmeros binarios son Un primer paso consiste on cambiar cl sistema de escritura de los nuimeros binarios, empleando o) cédigo hexadecimal, es decir en base 16, del que hemos hablado en la leccién 19, En la préctica se trata de sustituir cada orupo de cuatro bits por la correspondiente cifra hexadecimal (ce 0 a F, se pueden utlizar también las minusculas), como se muestra en la figura. Estamos siempre en el ambito de codigo maquina, Pero al menos es mucho mas facil leer “a-ocho-b- cinco” que “uno-cero-uno-cero-uno-cero-cero-cero- uno-cero-uno-uno-cero-uno-cero-uno", GUNG La figura muestra una Secuencia de instrucciones descritas en cédigo hexadecimal: debemos siempre utilizar cddigos, exactamente igual que antes; cambia sdlo el modo de escribirlos. ‘Adomds do mas logble, ol hexadecimal es bastante mas compacto: permite representar una mayor canti- dad de datos en el mismo espacio. Por eso se utiliza habituaimente en lugar del cédigo binario, y también porque los microprocesadores tra- bajan habitualmente con datos que son miltiplos de 4 bits (normalmente 8, 16, 32 0 64 bits). Este es ol aspecto de una parte de programa representada en ‘cédigo hexadecimal; ala izqulerda se indican las direcciones. ESCRIBIR Y LEER Los ntimeros hexadecimales se esoriben normalmen: to en grupos do dos o cuatro cifras, correspondiontos 8 0 16 bits on binario, de modo que pusdan verse mejor de un solo vistazo. Cuando se dictan a otra persona, conviene no caer en la trampa de leerlos como si fueran deci- males: por ejemplo, “10 no es diez, sino dieciseis. (mejor leerio “uno-cero’) Varios mods de indicar la base de un nimero; el primero € utlizado habitualmente por los matematicos y los demas por los informatics. 138 Hexadecimal omodos de leer, recordar y dictar (Cédigo binario) 4010 1000 1011 0201 + et ota ue (Codigo hexadecimal) £1 cédigo hexadecimal permite una eseritera mas compacta y legible que los numeros binavios. 4 ee | Seeeseeesees|l Para identificar explicitamente un numera como bi- nario, hexadecimal o decimal normal, hay varios sis- temas basados en prefijos y sufijos, algunos de los cuales se muestran en la figura. Lenguaje y programa ensamblador Un primer paso para alejarse de los bits de la maquina Aunque @! microprocesador entiende solo instruccio- El lenguaje ensamblador es un modo de describir nes escritas en forma de cédigo binario, para nosotros las operaciones en forma més legible, utiizando abre- seria muy comodo emplear un lenguaje mas “humano’. viaturas mnemonicas en lugar de sencilos numeros. Por ejemplo, la instruccién LDA, utlizada por algunas GPU, es una abreviatura de “load accumulator’, es decir, “carga (copia) en el acumulador del conteride de una celda de ans ono memoria’ scumulador jen decmal ‘Acumulador A Seana Ge lnceta 4 £1 uso de codigos mneménicos hace més facil la cescrtura y lectura de los programas con respecto a ‘ompleo do nimeros. CE Para nosotros es ciertamente mas comodo escnbir ADD en lugar del codigo (vinario o hexadecimal) para la suma, pero obviamente el microprocesador no entiende las letras del alfabeto. Es necesario para ello traducir ol programa del lenguaje ensam- blador a cédigo maquina, de modo que se obtenga una secuencia do ntimeros binarios que lo resulte comprensible a la CPU. Este trabajo de ‘compilacién” es desarrollado por un programa especial: el ensamblador, que normalmente se ejecuta en un PC normal. El ensamblador desarrolla e! aburido trabajo mecénico de traduecion de las instrueciones mecanicas 2 los correspondientes niimeres binarios. El ensamblador lee el texto escrito por el programador, 8 decir, el obdigo fuente en lenguaje ensamblador, lo compila y produce ol cécégo binario ejecutable (a ve- 88 con un paso intermedio por el denominado "cédigo objetc”). Haciendo esto se ejecuta, ademas, un cédigo de sintaxis, para detectar posibles errores como la esoritura de un cédigo no existente, quiza debido a un error al teclear (por ejemplo, LDQ en lugar de LDA). fees Getthar sve "Fone ar Cyn et host) de Warts cantrotes ‘y fchar st oF St error Es, ademds, posible insertar comentarios en el mis- mo codigo fuente, para faciltar la comprensiOn; sim- plemente se ignoran en el proceso de compilacion. a si desactivads REIL Tanga OIL meSn0 Uortctrn reset errores force MeRaRY puis Spe jemplo de cédigo twente en lenguaje ensamblador: el programa ‘ensamblador lo traducira a cédigo maquina, omitiendo ios ‘comentarios. DIGITAL Utilizar simbolos Subiendo de nivel nos alejamos de la maquina fisica Como hemos sustituido los cédigos operatives en binario con los mneménicos equivalentes mas le bles (por ejemplo, LDA), lo mismo podemos hacor con los oporandos. En lugar do llamar las celdas de memoria por nimero, podemos llamarlas por nombre, como en el ejemplo mostrado en la figura: el programa ensamblador se encargara de la traduccién de nombre a nimero. La correspondencia entre nombre y direccion de memo- ria se definira una sola vez al principio del programa, Un cédigo fuente tipico en lenguaje ensambiador lama a las Cosas por nombre; a final, naturalmente, el microprocesador Cuando los recursos (RAM, ROM, tiempo de ejecucién) son imitados y se deben aprovechar a fondo, el lenguaje ‘ensamblador es la hevramienta mas adecuada. Gnas Un ejemplo de lenguaje menos ligado al hardware es el lenguaje C: permite ignorar completamente los cédigos operativos de la CPU, es decir, trabajar a un. nivel mas alto, Proporcionaré sl programa compilador adecuad, que produzca un cédigo maquina que desarrolle las funciones requeridas para el microprocesador espe- cffico que se utilice. También se utiliza mucho C. solo o (mas habitualmente) en combinacién con el lenguaje ensamblador; en este curso, no obstante, examinaremos los microprocesadores de cerca, por lo tanto sélo nos referiremos a este ultimo, con menos riesgo de error y mayor facilidad de mo- sificacién, me reieo a lg ceida ando digo "BUENOS' framers $28 v y DA BUENOS ‘Carga en el acumulacor al ‘omtenido de fa celde $28 Cae El lenguaje ensambiacor solo es el primer escalén, en la escala de la abstraccién, es decir, de la escripcion del programa en términos mas humanos: y menos ligados a la maquina. En realidad requiere conocer las instrucciones del microprocesador, y llamarlas una por una: no es otra cosa que una Gescripcién mas cémoda y comprensible para el c6digo maquina Pero justo por esto permite la maxima eficacia y com- pleto eprovechamiento de los recursos disponibles: oro tanto se utiliza mucho, especialmente para pro- Guctos econémicos, que se deben fabricar en grandes cantidades. Un eddligo twente en C tiene un aspeeto muy distinto al de uno en lenguaje ensaiblador, pero al final se obtiene cédigo ‘maquina ejecutable. 140 DIGITAL Arquitectura de la CPU (ada modelo de microprocesador tiene La caracteristica mas evidente de un microprocesador consiste en la dimensién (o “anchura") del dato que puede leer de la RAM, 0 en cualquier caso tratar, en una sola operacién. \a estructura interna propia Las CPU econémicas trabajan generalmente con datos de 8 bits o de 16 bits, mientras que las mas potentes son capaces de funcionar a 32 bits, o incluso a 64 bits o mas de un solo golpe. ‘También un microprocesador de 8 bits puede tratar os datos como de 32 bils, pero estard limitado a dividir la operacién en cuatro fases de 8 bits cada una, emple- ando mas tiempo y complicando el programa, CM PEE mm Ei ‘Adomas de a dimensién de los datos es necesario Se consideran normalmente celdas de un byte, ya tener en cuenta la de las direcciones, que deter el ntimero maximo de caldas (de RAM, ROM u otra) ‘alas que puede acceder la CPU. ‘Nimoro do hilos (bits) ‘en el bis de direcciones Numero do celdas: reccienables 258 4005 (4 Ke) 65536 (64 Kb) 18777 246 (46 No) 4294 967 296 (4 GD) 1281 474976 710 656 (256 To) Cerne Normaimente, el bus de datos tiene la misma an- chura que los datos del microprocesador: por ejem- plo, para transferir 92 bits se utiliza un bus formado or 82 hilos. ‘Agunas CPU dedicadas a la produccién de grandes Series permiten, no obstante, restringir esie bus pa- ra ahorrar hardware: se puede, por ejemplo, emplear un bus de sélo 8 bits. Las operaciones internas (software) se producirén siempre a 32 bits, pero las transferencias fisicas de Para ahorrar hilos, buffer y circulto impreso, puede utilzarse Lun bus mas estrecho que ol dato 2 transfer, aunque perdiendo velocidad. 141 que (incluso aunque Ja CPU pueda tratar 32 bits cada vez) sa presenta, a menudo, la necesidad de acceder a un solo byte, como un caracter de un texto. Por ejemplo, con 16 bits es posible direccionar 65.536 bytes (64 Kb), mientras que 32 bits de di- recciones permiten acceder a mas de 4 Gbytes, cada uno con su propia direccion. Elnimero maximo de celdas direccionables depende del de bits ue direcci6n (Gb = glgabytes; Tb = terabytes). los datos (haraware) se ejecutaran con cuatro acce- 05 sugesivos al Dus. Bus de catos dos bis DIGITAL Registros e instrucciones La capacidad de una (PU depende mucho de su estructura interna Hemos visto (en la leccién 34) que el mioroprocesador al exterior, es siempre deseable tener a nuestra dispo- tiene necesidad de conservar temporalmente datos, y _sicién la mayoria de los registros posibles. puede utilizar para ello un registro, es decir, una cel: da de memoria interna. Los microprocesadores disponen normalmente de va- ios registros, algunos genéricos y otros especializa- dos para una determinada operacion: determinan la arquitectura caracteristica de la CPU Como las operaciones intemas al microprocesador on mucho mas répidas que las que requieren acceso ‘Como muchas CPU modemas, la familia 68000 de Motorela no tiene acumulador, nero ofrece 8 registros genéricos de 32 bits para los datos, y otros tantos para las dieceiones. Registios para Retlstos para at js dates is airecciones ULCER Algunos registros pueden estar especializados para lad y complica el trabajo del programador, contener datos y otros para alborgar direcciones, es aunque puede mejorar la velocidad de ejecucian. decir, ntimeros de celdas de memoria que es Indica et punte donde ha logad a leer las instruccones, Necesario recordar para hacer referencia a ellas Program ceunter enseguida, IContacor ge programa) Conjunto de bits que ¢omtlenen informacion sobre fa stuseion actual Status epster (ei deta) oe cosa monocesin erie nroninon ages | Ee ‘especiales, necesarios pera el funcionamiento normal. ‘Stack pointer : (oumtero de pla) CONJUNTO DE INSTRUCCIONES ‘Ademés de los registros disponibles, es importante conocer todas las posibles operaciones que un de- terminado microprocesador puede realizar, para cada una de las cuales hay una instrucci6n de programa. Siempre estan presentes registros especiales, como or ejemplo el contador de programa, que marce la instruccion actual (ver leccién 34); examinaremos los Principales en las préximas lecciones, En algunas CPU, ciertas instrucciones pueden utili Zarse Sélo con determinacos registros: ello reduce la El conjunto de estas instrucciones contribuye a de- es terminar la potencia y Ja faciidad de programacion, Linch ambas importantes; un ejemplo se ilustra on las lec: ecppleae ciones del curso de Componentes. ‘completes, corso ‘a mltplieacién: Los microprocesadores econémicos tienen, a menu- ‘es necesario do, un conjunto de instrucciones bastante limitado, cconstruas que fuerza al programador a auténticas contorsiones partendo de las Para obtener los resultados deseados. Ls: Familias de CPU Algunas series de microprocesadores han merecido un lugar en la historia El primer microprocesador fue el 4004 do 4 bits de Intol {al que contribuy6 et italiano Federico Faggin), seguido poco después del 8088 de 8 bits y del 8080, el primero en alcanzar una discreta difusion. La competencia no se hizo esperar: entre los demas, Motorola con el 6800, Zilog con 1280 y MOS Technology con el 6502, utliza- dos por ordenadores personales histOricos como el Apple Il y el Commodore Pet 2001. Acontinuacién, gran parte del mercado de los micropro- cesadores “grandes”, de 16 y 32 bits, fue ocupado por dos empresas: Intel con la serie 86 (después Pentium) y Motorola con el 68000 primero y el PowerPC (unto con IBM) despues. Los microprocesadores destinados a los ordenadores personales volucion, con continuos aumentos de LSPS Menos visibles para @! piblico, pero no obstante muy importantes, son los microcontroladores econémi- cos, que incluyen una CPU y varios peritéricos: au- ténticos ordenacores en un solo chip. Por ejemplo, la serie 8051 de Intel ha tenido un gran éxito comercial: es poco potente y no muy practica de Programar, pero constituye un estandar bastante ifundido. Todavia més limitados, pero no por ello menos int santes, son Ios mintisculos microcontroladores ofre- ‘Algunas CPU utlizan una técnica llamada RISC (Re- duced Instruction Set Computer: ordenador de juego de instrucciones reducido): tienen relativamente _pocé cides por empresas como Mi crochip ||PIC) o STMicroelectro- nics (STE), destinados a la elec- trOnica de consumo, ‘Los microcontroladores mas sencilos pueden encontrar su ugar también en ls electrodomésticos, donde e! bajo ‘costo 6 fundamental. instrucciones disponibles, pero todas muy répidas de ejecucién. Por el contrario, los tradicionales CISC (Complex Ins- truction Set Computer: ordenador de juego de ins- trucciones complejo) ofrecen una oran variedad de instrucciones, cada una especializada para desarro- llar de manera Optima una determinada tarea. Mas que una efectiva ganancia en velocidad, los RISC ofrecen generalmente un menor coste e, importante para los dispositivos portatiles, un consumo més bajo de energia gracias a una estructura mas sencilla La tecnologia RISC se utiliza tanto para microprocesadores como para mierocontroladores. DIGITAL Velocidad de ejecucion La velocidad eficaz depende de bastantes factores Cuando la publicidad alerdea de la velocidad de un Sin embargo, no es posible comparar dos micropro- cierto procesador, expresada en MHz, enrealidadse cesadores distintos segin este valor por distintos rofiore ala frecuencia de reloj que la CPU emplea motivos; para empezar el reloj se trata internamente para funcionar. de manera diferente. 4 Cito de el ite, UIUC | | 42nsee Algunas CPU puaden ejecutar una instrueeién (0 incluso mas de una) para cada ciclo de reloj, mien- tras que otras requieren varios ciclos para cada una; ademas, el tiempo puede cambiar seguin la instruccién determinada que se ejecuta. ———»} 1 Iretruccion 6e 2c = 2 se 4a frecuencia de reloj no es necesariamente un indicador vlido de la velocidad de la CPU, especialmente en algunos ‘mierocontroladores. Es necesario, por tanto, considerar el tiempo de €je- [Suma da aos namerest cuci6n de una instruccion, pero tampoco aqui la CoM- | ecura de ta primera instruccién de ROM tent paracion es tacit: ios conjuntos de instrucciones delas | “ectura del ima suman de FAM lores distintas farnilias suelen ser muy distintos. Lecture de ta segunda instruccion de ROM tenta ‘demas de la velocidad interna cuenta mucho tam: lectura del sogunde sumando de RAM lerta bién la externa, es decir, Ja velocidad de acceso ala | °pera:ién de suma en a CPU rapido memoria y a los demas peritéricos externos al micro- Deena Lecture de la tercera instruecion de ROM ——_fenta ‘escitura del resultado en RAM recta ‘Como de hecho las transferencias externas son relati- vamente lentas, es posible que su intluencia en la 1 del si ; La volocidad de acceso a los dispositives oxtemos a la CPU velocidad total del sistema esié determinada por el Laveleldad de ncceca alos diupostings extarnae 2 resultado practico final. Para aceterar la ejecucién, los microprocesadores “m- Esta técnica permite notables aumentos de veloci- Portanies" uilizan normalmente una 0 varias memorias dad, pero naturalmente influye en el coste y consu- intemas (caché) en las que conservan os titimos datos mo del microprocesador, debido a la mayor comple- leidos o escritos en el exterior. jidad del cicouito integrado. Si el mismo dato, por eemplo el contenido de una cierta ce da de RAM, se pide de nuevo, ya esta listo en la misma CPU: se ahorra, por tanto, un acce- Segundo acceso al dato 0. ertoricr, ‘tia misma dreccon ieoci {Una caché de los datos, interna a [42 Jn CPU, permite acceder cs samo |L_1 Dso copie feramente alos props datos, Driver scone al to [| — arene sin ia necesidad de requeritos del exterior, DIGITAL Direccionamien Cada dispositivo externo ala (PU ti Las interfaces periféricas, que desarrolian la tarea de comunigar con el mundo exterior, aperecen normaimente para la CPU como una serie de celdas numeradas, de un modo similar a la memoria. Escribiendo un numero en una de estas celdas especiales, no so escribe en memoria pero se obtiene una consecuencia practica: por ejemplo, |a salida del propio niimero (en binario) en un grupo de cables. Leyendo una celda de un periférico se podrd conocer el valor de una 0 verias entradas digitales (en el caso de un ADC, analégicas), 0 en cualquier caso una informacion del exterior. £1 buz0n de correo es un periférico de entrada: nos permite reciir informacion del exterior TEES Naturalmente, para evitar equivocos, a cada direc- cidn debe responder un solo dispositive: la RAM, la FIOM y los periéricos ocupan cada uno un espacio propio bien dofinido. El conjinto de estos espacios constituye el ‘mapa ‘dé memoria” de un sistema de microprocesador, dependiente de las conexiones fisicas, es decir, del hardware del circuto. La figura muestra un ejemplo, en el que cada compo- nente responde a un cierto conjunto de direcciones, indicadas (como es costumbre) en hexadecimal. ‘Mapa de memoria de un sistema de microprocesador: cada dispositivo responde solo a las decciones propias. aS Cuando los peritéricos de E/S (entrada/salida) se d- reccionan juntos hacia la memoria normal, como en el ejemplo de arriba, se dice que estén mapeados en memoria ‘Algunos microprocesadores, por ejemplo la difun- dida familia Intel x86, utiizan un direccionamiento diferente para los E/S, distinguido con un cable especial que sale de la CPU En este segundo caso serdn necesarias instruccio- nes especiales para acoder a los pariféricos, ya, ‘Si hay dos mapas diferentes para memoria y E/S, las direcciones pueden incluso superponerse, -4000n byte (26384 en decimal, o 16 K) 200n bytes (512 en deca) 2000h bytes: (@ 192 endacimal, 0 8K) Direociones Dimensiones que no estardn accesibles como si fueran celdas de memoria normales. ‘BFF i 2000| iF oa 0000 Mapa de entrada/salida 000 Mapa de memoria DIGITAL Descodificacion El mecanismo pai una determinada direccién, es necesario un circuito que la seleccione cuando ia CPU envia dicha direccion al bus. Una técnica prdctica y econdmica consiste en examinar las direcciones mas altas con un descodificador, cuyas salidas estén coneciadas a los distintos chips, como en la figura. Las des cirecciones_, 15, mas alas En este ejemplo, la memoria so civido on cuatro bloques de la misma direccién, cada uno asi of ae as. Descodificacion dle bloques, realizada con un descodificador Direrchoned 2.4 4 que examina los dos bits mas altos de las drecciones. ela CPU. 720.A15) La descodificacién arriba mostrada asigna a cada dispositvo mas espacio del necesario: por ejemplo, la E/S ocupan 16.384 bytes, también si en realidad bas- tarian 512. Ello no constituye un problema, a menos que no sea ne- cesario aprovechar a fondo el espacio direccionable; en este caso se utlizara un descodificador mas com- plejo, normalmente consiruido con una PAL 9 similar, Los microcontroladores, que incluyen los periféricos en {1 mismo chip de la CPU, incorporan generaimente una descodificacién completa, que deja libro todo ol os- pacio no utilizado. Sia una memoria (0 periférico) se le asigna un espa- cio mayor del necesario para contenera, aparecerd repetida en el interior de ese espacio. Si, por ejemplo, la ROM tiene 8.192 bytes (8 Ko), mientras el descodificador selecciona un bloque de 16.384 direcciones (16 Kb), se tendran dos image- nes de ia misma memoria, como en la figura. Utlizar una u otra serd indiferente, aunque por cleri- dad se prefiere normalmente utilizar la primera, es decir, la del principio del bloque asignado por la descoditicacién. ssignar las direcciones es bastante sencillo Para que una cierta memoria o periférico responda @ nado a un dispositivo distinto (memoria y peritérico). aiecoeras | ‘Seiecciona la €/S. Selecciona la ROM Por el mapa de memoria se ve Bloque mas ‘grande del (a6K0) Puertas paralelas El caso mas sencillo de periférico se limita a transferir una senal digital Conectando un sencillo latch de 8 bits como si fuora una memoria, cada dato escrito por al microprocesa- dor seré almacenado en el latch y estara disponible en el exterior, en 8 hilos. Hios hacia et exterior : 13 de datos, desde la Esto corstituye un puerto de salida elemental que | “°° “i permite a la CPU comunicarse con el exterior. Cada esoritura controla 8 hilos en paralelo pero, Escrtura, desce el decidiendo que bits poner a uno 0 a cero, el programa J] Sescodincadon podra controlar por separado el estado de cada uno de los hilos a la salida, Seioccén, desde el descodticedor Puerto paralelo de sada de 8 bits, realizado con un sencilo latch controlado por la serial de escritura y por la descodificacién, SLL La realizacién de un puerto paralelo de entrada os atin mas sencilla: basta un sencillo butter triestado Butter (ver leccién 10) conectado al bus de datos. estado Hilos desde ‘el mundo ‘extoror Cuando la CPU realiza una lectura en la direccién correcta, el buffer es activado y deja pasar los datos a la entrada, que terminan en el bus de datos y son asi leidos por ia propia CPU. Bus de datos, ala CPU _ptece sence tacry También en este caso sera misién del programa exer | oo en minar el dato leido por el puerto, sablendo que cada ‘descoditvedor bit coresponde al estado de un hilo procedente del exterior, Puerto paralelo de entrada de 8 bits que permite al ‘microprocesader leer el estado de 8 hos extornos. Ox ‘Ya en esta forma elemental, un puerto de entrada y un puerto de salida hacen posible la realizacion de aplicar Fotccellas — Motores y ciones incluso relativamente complejas. yienda s distepeh = Hoes, La figura muestra, por ejemplo, la centralita de control de una verja eléctrica: el microprocesador lee las se- rales de las fotocéluias y del mando a distancia y con- trola los motores y las luces. Sin embargo, no basta con tener el hardware: se nece- sita ademas un programa adecuado, que a menudo 8 la parte mas complicada del trabajo, como veremos en las préximas leccones. Gracias a is puettos de E/S, la CPU puede recibir Informacion el mundo exterior, y enviar comandos a au vos. DIGITAL Utilizar un puerto Los bits del dato corresponden a los hilos externos La tabla muestra un ejemplo de lectura del dato de Al término de la operacién, los 8 bits menos significa: lun puarto paralelo al registro acumulador, con una del acumulador representaran las sefiales digi CPU que ve la E/S junto con la memoria: es igual apiicadas a los 8 hilos de entrada del puerto. que leer una celda de RAM Observe que el puerto se llama por nombre, que se ha definido inicialmente como la direccién hexadeci- mal al que responde el puerto (por efecto de la descodificacién). prinis ipa | SUC Puerto de entraca ENTRADAS EQU $2000 Lectura de un dato de un puerto paralelo a la direcetin hexadecimal 2000h, con el microprocesador Motorola 680$ Ene En la figura de al lado se muestra un ejemplo de instruccién que desarrolla la tarea puesta: la de escribir un dato en un puerto de salida, de modo que | saLioAs &QU$2100 cambie el estado de los hilos retativos. 8 ‘eumuledor El dato que se escribe estd en este caso indicado en LBA axtosaiiog) areca | édigo binario, de modo que se ve claramente el es- | tado de cada uno de los bits que lo componen. oe El simbolo “#” indica que se trata de un valor cons- tante 0 “inmeciato”, y no de la direccién de una celda de la que leer el dato (volveremos sobre este impor- Eseritura de un dato (aqui indicado en binario) en un puerto tante tema), paralelo, con la misma CPU del efemple anterior. ESSE El puerto de salida descrito en la pagina anterior tiene un molesto inconveniente: el microprocesa~ dor no puede releer el dato que él mismo ha escrito (deberia conservarse una copia). Si ejecuta una lectura en la direccién del puerto, ninguno pondria datos en el bus, que permane- ceria asi en alta impedancia (Z): el valor leido seria imprevisible. perreal! ‘ite El problema se puede resolver poniendo también lun puerto de entrada en la misma direccion, de modo que se pueden releer los datos presentes en los hilos de salida, Seleccin tecture fl (read) Puerto relegib salida, una lectura los comunica 1a escritura cambla los datos a la la CPU. 148 DIGITAL Operaciones logicas Las instrucciones de software hacen el trabajo de los circuitos digitales Silos microprocesadores pueden sustituir los ciroul tos digitales, deben ser capaces de desarroliar las mismas tareas, a partir de las operaciones logicas elementales: NOT, AND, OR y XOR. En efecto, todas las CPU tienen instrucciones especiales que desarrollan exactamente este trabajo, pero no en un bit cada vez: funcionan normalmente bita bit en un grupo de bit en paralelo. Por ejemplo, un dato leido de un puerto paralelo con- tiene varios bits (normaimente 8), cada uno de los Realizando una inversién ldgica (NOT) en un dato de 8 bits, cela uno de ellos pasa al estado légico opuesto, con respect al que teaia antes. WES La figura muestra cmo ejecutar un NOT en los 8 va- lores leidos por un puerto, con la instruccién de com- plemento ldgico: e! valor de cada bit se invierte. cuales representa una senal distinta a la entrada; to- dos ellos se tratan, sin embargo, al mismo tempo. (ElcTaTe Tore) nor pe pe pe pe = pe >- Y EEEEEEE +} Por claridad, trabajamos en el registro acumulador; si el dato se escribe después en otro puerto, como en el ejemplo, el programa desarrolia la tarea de 8 inver- ‘sores (NOT) en paralelo. ai ST STA. SALIEAS a—_-. An bas Puerto de sala El listado (fuente del programa) esta escrito en ensambiador 6809, en el que COMA realiza un NOT en el acumulador: otra GPU requenira ins- trucciones distintas, pero equivalentes en funcién, COMA Ejempio de instrucciones para leer un dato a 8 bits de tun puerto paralelo, invertir todos los bits y escribir el resultado en otro puerto. Ga ees Es importante observar una caracteristica fundamental: si utiizaramos 8 inversores, cada variacién de un valor a la entrada seria llevado de nuevo inmediatamente a la salida Con el microprocesador, sin embargo, esto ocurre sélo cuando se ejecu- ta la instruccion, cosa que puede ocurrir con mas o menos frecuencia, segiin la orgenizacion de! programa (tema sobre el que volyeremos). Se produce, ademas, un cierto retardo entre la lectura de los datos a la entrada y la posterior escritura de los de salida, normaimente mucho més. largo que el introducido por una puerta Iégica sencilla, La “recogida” de os datos se produce s6lo cuando pasa el encargado, es decir, cuando ‘se ejecuta la instruccion. 149 DIGITAL El uso més comtin (aunque no el Unico) de las instruc- clones de AND, OR y XOR consiste en actuar en algu- nos bits de un dato, dejando inalterados los demas. La figura muestra, por ejemplo, como poner a cero los dos bits menos signilicativos del dato contenido en un registro, ejecutanco un AND con una constante (que es le “otra entrada’ del AND), En realidad, donde on la constante esta el valor uno, ol bit correspondiente no se altera; donde esta cero, sale Un AND ogico equivale a un nimero de puertas AND igual al 1nimero de los bits que componen el date. ‘OR V XOR. Reciprocamente, un OR con una constante permite poner a uno los bits deseacos, siempre sin tocar los O1ros bits contenidos en el mismo dato (ver figura). Un OR exclusivo, 0 XOR, permite sin embargo invertir el estado légico de algunos bits, siempre dejando ipalterados los que no so desoen modifica. Nada prohibe ejecutar varias operaciones, una 2 continuacion de la otra, como en el ajemplo de la figura: ‘es como si se concatenaran varias puerias ldgicas. Varias instrucciones seguidas combinan sus efectos, como las ‘puertas lgieas conoctadse una después do otra on loc mismos hilos. Es conveniente dar un nombre a las constantes (mas- caras) que localizan los bits sobre los que actuar, como se muestra al lado: la legibilidad mejora y se evitan errores en caso de modificaciones. Hay también otra ventaja: si necesitamos el comple- S03F aa de noTOR ¥00190000 indscara del reescribe e PUERTOL reescribe el bit que Hee el extade Trabajar con los bits Una vez leidos en la (PU los valores logicos, pueden modificarse a voluntad sin embargo siempre cero (ver leccién 2, tabla de verdad del AND), - owe SEEISTEEEIEEES) erm a "jal IND’ Coaldale lao) los dosbis “ia eecucion de a instiuccion oa mento de una mascara, es decir, una constante con to- dos los bits invertidos (negados), podemos hacer que sea caleulado en el propio ensamblacor. En el ejemplo, "~MOTOR" es 11011111, es decir, el complemento de MOTOR (00100000): la mascara se declara una sola vez, al principio, y el progra- ‘ma resulta mas claro, legible mnercla el motor ‘un puerto el del. motor nuevo estado de ‘Lamar a las cosas por ‘nombres, en lugar de por ‘numeros, hace que el programa sea mas tacit do entonéor...jincluso ‘para quien lo ha escrito! ae los 8 hilos nuevo estado de 1 Trabajar con las puertas Las instrucciones logicas permiten controlar los hilos uno a uno La figura muestra cémo producir un breve impulso an duracién, pero normalmente es bueno no tener ecupa~ un hilo de salida, conectado @ un puerto paralolo, dala CPU (quo tondra seguramente otra cosa que ha- oniéndolo a uno y después a cero, sin alterar el cer); veremos mas adelante cémo obtener retardos estado de los hilos restantes. ms consistentes. PUERTOL BU «SORES son de puerto e203 Es ‘oo0r1000 pndscara LLas instrucciones NOP (No OPeration: ninguna operacion) son sencillas pérdidas de tiempo pa- ra distanciar la baiada de la subida, alargando asi la duracién del impulso. rlee los 8 kilos RA HILO} pone a 1 ‘Aqui esto es aceptable porque es de muy breve ‘Cémo preducir un impulse de breve duracién on an bie’ puerto paralelo, poniendo un hilo a uno y después a cero. COMME - Disponiendo de un puerto de salida relegible (ver lec-_ XOR con una mascara, 8s decir, una constante que cién 37), las instrucciones légicas permiton la modifi- localiza el bt interesado para la operacién, cacién directa de los valores ldgicos a la sala, ac- tuando asi solo sobre los bits deseados. : [ Hilo invertir Algunas CPU (no el 6809 que utilizamos en los | ejemplos) pemiten un read-modity-write, es de- | ajcniguocindela (ST STSTSTSTZTSIS) cir, lectura de un dato, modificacién del mismo y su | "#8 ee! seunulador reescritura en la misma celda, en una sola instruc- | ‘ ién, Con estos, es por ejemplo posible invertir el valor | 2) xoR con e puerto, e l6gico presente en un nilo de salida, ejecutando un | Tesultavo va ene prope puerto Inversion directa del valor lagieo de un hilo de salida de un puerto relegible; requiere une instruecion de modificacion nel puesto. EES ‘Ademas de las operaciones légices entre un dato y _instruccién KOR: el bit en cuestion serd 0 si los datos tuna constante (mascara), como en los ejemplos ante- son iguales, 1 si son distintos. riores, se puede naturalmente trabajar entro dos da- tos distintos, El microprocesador sera capaz, como veremos, de tomar decisiones sobre la base del resultado, eje- La figura muestra cmo comparar un bit de dos da- cutando algunas instrucciones y no otras, y poro tan- tos procedentes de puertos paralelos, utilizando una _to cambiando el comportamiento del programa. PUERTO: BQU g03Fe Gireccién priner puerto PUBETO? mv 0DFC .én Segundo puerto | senor roo 02000010 Cinpariohie sat la NE Test lee el priner puerto (rane ost i ecole ‘dos puertos distintos, y aislamiento del bit resultante: el resultado seré cero si eran ‘iguates. 308 segurdo ipone a 0 los bits que no interesan DIGITAL Desplazar los bits £1 desplazamiento lateral es un modo practico de alinear los datos Hemos visto cémo comparar des datos procedentes de puertos paralelos distintos. Pero, zy si quisiéramos: ejecutar un XOR entre dos bits del mismo puerto, por ejempio el bit 2 y el bit 5? Seria evidentemente necesario desplazar uno de los datos, moviendolo la- teralmente de modo que se alinee con el otro; ello se puede hacer con las instrucciones de desplazamiento lateral cortespondiantes, Si se desplaza a la izquierda, en el puesto vacio de la derecha entra un cero; en el otro sentido se puede normaimente elegir si dejar entrar un cero (desplaza~ Instracclones ée desplazamionto lateral de ls bits contenides ‘en un dato, en las dos variantes “logica” y “aritmética’ Ce La figura muestra como comparar el bit 2 y el bit 5 de tun mismo puerto: se leen los 6 bits del dato, se des- plazan para alinear los bits, se ejecuta la comparacién y finalmente se aisia el resultado. Desde el punto de vista del hardware, la instruccién de desplazamiento se comporta de un modo equivalente aun registro de desplazamiento (ver leccion 18) con entrada y salida paralelas. Observemos que algunas CPU (especialmente las contenidas en los microcon- troladores) tienen instrucciones especiales para controlar directamente los bits independientes, sn tener que despiazarlos a proposto. El desplazamient lateral se utile sau pera linear dos bis, do modo que se pueda ejecutar un XOR légico (EORA) entre ellos. FA Igual que se puede hacer desplazar un dato lateral~ mente, se pueda girar: el bit que sale de una parte en- tra de nuevo por el otro extremo: es como un registro de desplazamiento con la salida y entrada conectadas. En lugar de hacerlo entrar de nuevo directamente, se puede normaimente hacerlo pasar por una celda especial de un bit (el acarreo), que puede servir como Uil punto de apoyo para “transvaserlo’ a otra pare. ‘Aunque en los ejemplos hemos utilizado siempre 8 bits, varias CPU pueden realizar esias operaciones Instrucciones de rotacién de un dato om los dos sentidos, con sin paso del bit de acarre miento lateral Iégico) 0 una copia del bit mas signti- cativo (desplazamiento lateral aritmético). Van et © fatatatalatatal Rotacén ala devecha AN — ooeneed Retacon a laderecha con cary ae iN oa vena. GREETS se | ‘vos woncon.- (EESEBESTSTSMINTE] st. sath FER EOE | ssc voon.00-—- ESTES MRCS TSB) sie: rn oteion a a awierda Ftacon a i gules con carry con distinta anehura, tratando por ejemplo 8, 16, 32.0 mas bits cada vez DIGITAL Puertos serie La comunicacion con el exterior puede producirse un bit cada vez Cuando se deben enviar datos de un dispositive a otro es preferible reducir al minimo el nimero de los hillos, dado que cada uno do ellos implica los problemas deseritos on la leccién 31 La solucién que requiere el minimo gasto de hardware es el puerto serie, que no necesita un hilo para cada bit: viajan uno después de otro en la misma linea (ver leccién 31). Ademés de los puertos paralelos habituales existen, por tanto, los puertos serie, tanto como chips independientes como ya integra- dos en los microcontroladores: estan concebi- dos especialmente para simpliticar este trabajo, Los bits se envian por la linea a intervalos regula- Sin embargo, hay un problema: no basta que el re- res, controlados por un reloj, poniendo el hilo en el ceptor lea a su vez.a intervalos regulates, debe tam- mbito eléctrico alto 0 bajo seguin ol valor del bit que _bién saber dénde empieza y dénde termina la infor se va a transmitir. macién. Por lo tanto es necesario utlizar un protocolo, 0,4,1,1,0,0,0,0,0.4,0,4,4 es decir, un convenio que permita al receptor lo- calizar con precision tanto el momento de inicio de la transmision como el del final de los datos. raceaine ‘Sin un acuerdo sobre el protocol, incluso leyendo a Intervaios regulares, el receptor no puede saber donde tienen inilo fos datos. Oe earn Para evitar el uso de una sefial externa de sincroni- Se envian los datos a intervalos regulares, después zacidn (transmision sincrona) se envian los datos en se tiene la linea a 1 (durante al mencs un intervalo Paquetes de bits, como muestra la figura, reterida de bits) tras el ultimo bit: este bit de parada contir- al cifundido estandar RS-202. ma el final de! envio de un paquete. La linea reside normaimente en el nivel lagi 1 en condicién de at Dots repos; para marcar el inicio de ge Se un paquete do datos, co pone a ‘a i En la transmisiéa serie asincrona, los : datos se envian en paquetes de bits, Nota: 1 se representaré en ta fines con una tensi6n negativa, ‘marcados por un bit de inicio al ‘O'con una tension positive conienzo. 153 DIGITAL Velocidad y reloj El receptor debe funcionar a la misma velocidad que el transmisor El bit de inicio tiene también otra importante tuncién: la de sincronizar el reloj del receptor, es decir, informar- le de que en ese preciso instante empieza la transmi- = a nee. si6n de un bit. % daaicied (ots por segunco) ‘duracion de wn bit (aprox) 110 9.1 mseg, El receptor hace, por tanto, “saltar el cronémetro”, y lee 300 3,3 mseg, la linea a intervalos regulares, segun la velocidad de 00 1187 mseg transmisién que debe ser conocida con anterioridad. 1200 833 peg La figura muestra algunas velocidad de transmisién es- 2400 447 yee, tandares, en bps (bts por segundo), con la cortespon- ‘4800 208 peg, diente duracién de un solo bit 9600 4104 pseg i 19200 52 bse. Ugunas velocidades de transmisin utilzadas con el esténdar 25-232, en bits por segundo, con al comespondiente duracion | ese ae ys 37600 17.4 weg CONTROL DE ERRORES Para peritir al receptor detectar posibles alteraciones _propésito; la figura muestra cémo especificar un for debidas a interferencias de tansmisiOn, se puede ana- mato de transmision serie, posible paridad includa. ir un bit de paridad posterior, antes del bit de parada. Puede elegirse de modo que el nimero th {otal de 1 en el paquete sea par o impar; toe sin embargo, la técnica no es muy ef az, ya que dos errores pueden anularse wii 7 bie de datos rociprocamants. Por lo tanto, esta bastante en desuso, y ha sido sustituida por controles de soft- ware basados en datos incorporados a os formatos difundidos para la transmision serie: 7 bits mas un bit de paridad, y 8 bits sin paridad. OSs Hasta ahora hemos hablado de un soja hilo, pero na~_ (masa): una linea de transmision esta por lo tanto for luralmente es necesario también el hilo de retorno mada por dos hilos. Adomas, como homos visto en la leccién 31 de Com- ponentes, la conexién es bidireccional en generat: una linea va desde el dispostive A al disposttivo B, otra linea viaja en sentido inverso de B a A. La cone- xion minima “duplex completo’, es decir, que permite la comunicacion simultanea en los dos sentidos, re- quiere tres hilos: transmision (TX), recepcion (RX) y masa (GND), Controlador Revepior Controlador cod up | Conexién diptex completa reducida a su minima expresion entre dos dlspositives: las controladores drigen fa lined y tos receptores limplan las sefales. —— UART Los puertos serie son mas complejos que los paralelo Tedricamente no basta con hardware especial: una comunicacién serie puede ser desarrolla- da por el mismo microprocesador a través de software, utiizando un bilo o dos de un puerto paralelo. ‘Sin embargo, debe permanecer ocupado pa- ra cambiar de estado en la linea en momentos bien definidos, y no debe nunca perder de vis- ta el hilo del receptor: mientras hace esto, dificimente puede ocuparse de otra cosa. Pata liberar la CPU se delega normaimente el trabajo a un UART (Universal Asynchronous naa Ei transmisor es, en a practica, un registro de despla- zamiento PISO (ver leccién 18), controlado por el relo} producido por un oscilador: el dato, bits adicionales incluidos, se carga en paralelo y se envia en serie, El receptor, basado en un registro de desplazamien- to SIPO, es mas complejo: debe sincronizarse auto- maticamente con el bit de inicio, y empezar a leer los datos serie a la llegada, El paquete recibido se copia en un buffer (una celda ‘de memoria, o incluso més de una), de modo que la CPU tenga tiempo de leérselo mientras el registro de desplazamiento recibe el siguiente. Esquema de bloques simpliicado de un UART: el dato recibido ss “aparca” en un buffer, de modo que no sea sobreserito ‘enseguida por el sigulente dato, Es ‘Como la recepcion es asincrona, es decir, puede pro- ducirse en cualquier momento, el UART debe avisar ala CPU con el fin de que se lea rapidamente el pa- quete recibido, antes de que se sobrescriba. ol ogo de estado dol UART + Dato rectido Lover dato scbreserto) + E101 de aria Fsror de ancuace parataxo) Receiver/Transmitter receptor/transmisor asincrono universal), es decir, a un puerto serie. Pricticamente todos los ‘microcontroladores incluyen tuna 0 varios UART, para ‘simplificar la comunicacion serie. 1 dawa 0 (parada) enviar (rico) Al centeolador de a ‘ransmision tenes Dato recibido Puede hacerlo poniendo a 1 un bit de uno de sus re- gistros, legible por la CPU, 0 bien enviando una peti- @i6n do intorvencién urgonte {intorrupcién, ver leccién 46) en un hilo especial Otros bits del registro sefialardn posibles condicio- nes de error: paridad errénea, error de encuadre (elbitde parada esta a 0) 0 “overrun” (ia CPU no ha leido a tiempo el dato anterior) Algunos de Jos bits del registio de estado de! UART utilzado en o! PC: cade bit contiene una informacién para Ia CPU, DIGITAL Handshake y caracteres Dos dispositivos deben ponerse de acuerdo sobre su reciproca disponibilidad Si un puerto paralelo esta conectado a otro disposi- tivo, por ejemplo una impresora, es necesario poder avisarle cuando se escriba un dato nuevo destina- doa él Un sencillo sistema consiste en anacir un hilo pos- terior, por el cual enviar un impulso de strobe (Cato listo), de modo que el receptor sepa que dete leer el nuevo dato. Podré utilizarse por el receptor un hilo en el otro sentido, por ejemplo ocupado, para sefialar su falta de disponibilidad para recibir datos, normalmente porque esta todavia “digiriendo” los anteriores, ‘Busy (1 = ocupads) Uno ce fos protocolos de handshake (apreton de manos) mas ‘sencills entre PC ¢ Impresera requlere dos lineas adelonaies. Eee Elartiba descrito es un ejemplo de “handshake” en- tre dos dispositivos, que verifica la disponibilidad de ambos de modo que se asagure una correcta transterencia de los datos. Datos transmitios Datos reibidos Data Terminal Reacy: estoy preparado Dota Set Ready el otro ost lato Clea to Sere: sermiso detransmision Fequest o Send: puedes transmitr LUamaaa wleforica eganaa al moder rUTY ERE ‘A menudo el ndmero binario contenido en un paquete de datos (7 u 8 bits) transmitido en una linea sere representa el cédigo de un caraeter, por ejemplo la letra “b” La figura muestta los eédigos ASCII (American Standard Code {or Information Interchange: cédigo estandar americano para intercambio de formacién) de algunos caracteres, Los niimeros situados después del 92 decimal, es decir, 20h hexadecimal, se utilizan como caracteres de control, os decir, ‘especiales; en particular, el 13 (Odh) es el “retorno de carro” (CR: Carriage Return; fin de linea o retorno al principio). Cédigos ASCII de algunos caracteres imprimibles (las letras acentuadas no tienen cédigo estandar en ASCI). Data Carrer Detected: conan con modem perfects Para los puertos serie, el handshake puede produ- citso a través do software (con paquotes de datos especiales) 0 bien mediante hardware con la incor- poracién de més lineas de comunicacién. Le figura muestra las lineas auxiliares mas utlizadas en el esténdar RS-232, con su aplicacién asociada; se utilizan, por ejemplo, en la conexién serie entre PC y modem. Linoas de transmisién y tmees euxiiares ‘normalmente utilizadas para el handshake de hardware en las conesiones serie RS-232, 156 DIGITAL — ai = Salto no condicionado La secvencia de ejecucion de las instrucciones puede ser modificada Normalmente la CPU ejecuta las instrucciones una después de otra leyéndolas de direcciones orecientes de la ROM que contiene el pro- grama (es decir, las mismas instrucciones). Sin embargo, existen instrucciones que permite saltar a otro punto del programa, es decir, a otra direccion de la ROM, y continuar la ejecucion desde ese punto en adelante La més sencilla se denomina ‘salto no condicionado" porque, cuando el programa llega a ese punto, se ejecuta el salto en todo caso. ELECTS ESOL En a préctica, una instruccién de salto no hace otra cosa que cambiar el valor contenido en el contador de pro- grama (ver leccion 34), es decir, la diraccion de la si- Quiente instruccion a ejecutar. Tengah Si esta Ultima se encuentra por delante en el programa con respecto a la instruccion de salto, las instrucciones eee del medio se saltaran y no se ejecutarén, como si no as existioran. Ina En el caso de un salto hacia atras, sin embargo, ol pro- ane Sato |ciclo que grama seguira repitiendo hasta el infinito las mismas ats | se repte instrucciones, recorriendo siempre el mismo ciclo. Recorrido (flujo) del programa, es decir, orden de ejecucién de las Instrucciones, en el caso de un salto adelante o atras. Not: en esta figura a sjecucin del programa Se realva de serta apaio Ure LADOR DE SOFTWARE Repetir continuamente las mismas instrucciones pue- tiene que saltar, cuando ejecuta Ia instruccién de salto de ser ull, por ejemplo para producir una onda cua- no condicionado (JMP, abreviatura de "jump", salto). dada inviriendo en cada giro el estado de un hilo de salida de un puerto paralelo, como en la figura. Un nombre de este tipo, dado a una posicién an el programa, 8s decir. a una direccién, se llama etique: Hemos dado el nom- ta: permite ignorar los valores numéricos de las, bre “gro” al punto en el que el programa direcciones; el ensamblador se ocupa de calou larios. ‘Ejemplo de ciclo de programa, que produce luna onda cuadrada en tun pin do un puorto paralel, en codigo ensamblador 6800, 157 DIGITAL Tomar una decision La sencillez de la CPU reside en la capacidad de elegir distintos recorridos EI salto no condicionado no es entonces tan util: el Supongamos, por ejemplo, que queremos encender programa sigue siempre el mismo recorrido, pero se- dos bombillas s6lo si ha sido accionado un determi- ria deseable poderlo cambiar segun las circunstan- nado interruptor, es decir, si la coresponciente linea cas. (hilo) de entrada esta a nivel logico 1. Se necesitan dos cosas: la capacidad de decidir si esta presente la condicion requerida (hilo a 1) y la de modificar ono, a voluntad, el recorrido del programa. ara encender las bombilas cuando se acclona el interruptor, ta GPU (0 mejor el programa) debe tomar tuna decision. Para representar légicamente el comportamiento (en realidad haria falta apagarlas, pero lo veremos que deseamos por parte del programa, se puede luego). El programa se ejecuta de arriba abajo; el rombo de Eleecion ne disefiar en forma de "diagrama de flujo”, como en la arriba representa una eleccidn, en este caso basada 2 e en la posicién del interruptor (valor légico de un bit de aon : entrada). iB figura. No rr Ui Del rombo salen dos posibles rutas: en un caso las bombillas se encienden, en el otro no se hace nada Diagrama de flujo de una decision sencila: el encendido de las ‘bombillas se produce segun una cierta condicién. AEN ry En primer lugar es necesario limpiar de nuevo el da- mo puerto paralelo. Hemos visto en la leccién 38 to de los posibles valores légicos adicionales (por cémo realizar esta operacién: basta un AND con una. ejemplo, otros hilos de entrada) presentes en el mis- mascara, que tenga un 1 solamente on la posici6n correspondiente al bit desoado. mrenaassis” Gee | | eaiswatiianbe aye Tras la operacién, el acumulador sera cero INTERR -BQU. 00000001 chile de} interrupter (00h) si el bit valia 0, y distinto de cero si el bit valia 1, independientemente de cual bit fuera el bit en cuestidn ANDA. WINTERR fen este punto, el acumulador A contene 00009001 sie! intorrupter estaba cerrado, 00000000 si estaba abierto, independientemente del estado de Ios ots hilos cel mismo puerio de enivada {Un mado de Hogar @ una eondiclén bien clara (cero 0 no cero), segiin el valor de un bt de entrada, Salto condicionado Segin el resultado de una comparacion, se pueden seguir caminos distintos Para saber si el acumuulador es cero, se puede compa- Si la comparacién tiene éxito, es decir, los dos nime- rar con cero, como en la figura; la operacién esta impli-_ 10s (el contenido del acumulador y la constante 00h) cita en varias CPU, en cualquier caso la ejecutamos son iguales, la CPU “hace set’, es decir, pone a 1, un igual por claridad. bit especial: la "bandera de cero”. Acumalador Bandera de cero Una bandera es una memoria de un bit interna a la CPU; hay varias, reagrupadas nomalmente en. un CComparacién con 00h y registro de estado (00000000 [i] wverseseion] en muchas CPU, ef resultado de igualdad en una comparacton (CMP) se almacena en la bandera de cero (2), para utlizars continuacton. Segtnn el resultado de la comparacién se puede ejecular La figura muestra un ejemplo: si los numeros eran Un salto condicionado: sattar sélo si ios dos ntimeros _iguales, el interruptor estaba a 0, por lo que las bom- ‘comparados eran iguales, o bien sob si eran distintos. _illas no se encienden, por lo tanto las instrucciones {que las encienden son omitidas Beans TRG. PANG El programa se encuentra, en este caso, ante una bifurcacién o ramificacion: la via elegida depende del resultado de la #00 anterior comparacion, que la CPU re- fech cuerda gracias a ia bandera do coro #BONBIILA estaba cerrado: enciends las luces | Sepecial SALIDAS poniendo a 1 los dos b: Pf ‘comparacion ha tenido éxito positive. EEE En la prdctica, como se ha indicado artiba, con mu- Una CPU suele tener distintas banderas (la de cero chas CPU no es necesaria una comparacion explici- es la principal); e! conjunto de instrucciones indica, taentre dos numeros: la bandera de cero se modifica para cada instruccién, las banderas que se han después de varias operaciones, entre ellas el AND. —_modificado; veremos también que hay vatios tipos de ramificaciones. En lugar do loor ol puerto de entra- da, ais el hio deseado haciendo Dato sobre ol Mascara del log ergy un AND con la mascara, y des- puerto de entrads Eis Wares TR pués comparar el resukaco con of [o[2 [2 [o fa} wo ofofofolo ‘cero, suele bastar con el AND. Varas operaciones, como ol AND, efectean nomaimente una oA > Ccomparacin Inte coa ceo: of FaEsE wes banca cos DIGITAL Flujo del programa Veamos algunas estructuras tipicas que se encuentran en la programacién Normalmente, una comparacion tiene dos vias po- El salto no condicionado (JMP) tiene la funcion de sibles: por ejemplo, si cuando el interruptor esté reenviar al punto comun, evitando la ejecucion de | cerrado queremos encender las bombillas, proba- las instrucciones no deseadas, pertenecientes a la blemente cuando este abierto querremos apagarlas. via opuesta con respecio a la elegida. El programa correspondiente se muestra [Prisha iD BAWADIS Flee elt en la figura: se trata de una elecoién entre orem dos operaciones distintas, que, sin embar- |p. cage ipa fOONBILLA estaba cerrado: enciende las Lives _ alta si estaba ablerto 0, al final se retinen en un punto comun mat (Hecho" en el ejemplo). SALIDAS page #-1iMP_ estaba abierto: apaga las luce Una seleccién entie dos operaciones distintas requiere un salto conéicionado (JMP) para reenviar al punto comin. Lege agui en todo caso CE EE Un uso distinlo de las ramificaciones consiste enes- | pperar la verificacion de un evento, por ejemplo la ac- tivacion de un interruptor: se obtene volviendo hacia alrés si la condigion no se cumple. La figura muestra, por ejemplo, cémo esperar que Wuelve hasia Una determinada linea (hilo) de entrada vaya a 1, an- ards esperer oY tos do continuar con la ejecucién de las posteriores, instrucciones, { Continua Esta util técnica tiene, sin embargo, un coste: mien- tras la CPU sigue manteniéndose en espera, no pue- {Un setto condiclonsdo puede wtlizarse para ropstir de hacer otra cosa; en muchos casos es, por tanto, decormiades Instruccione, hasta que na se verifqwe la necesario recurtir a sistemas mas complejos. Encendido i ol eicuito Un programa de microprocesador no esta nunea quieto, salvo en el caso de que la CPU se “adormezca”, cuando su trabajo no es necesario, para ahorrar energia. Normalmente se mueve continuamente en un eiclo (bucie), du- rante e) cual controla les distinias entradas y acta en conse- | o..,, cuencia sobre las salidas: esto se consigue, naturalmente, con | repetdo un salto no condicionado. Un caso limite es aquel en el que una | asia! instruccién se salta a si misma: en ese caso se repite hasta el z infinio, 0 hasta que llega una peticion especial del exterior Cinterrupcién’, como veremos). El programa se muove normalmente en un ciclo principal, durante e| cual desarrola sus distintas tareas. DIGITAL Temporizador para (PU Dispositivos de hardware especializados ayudan a contar el tiem En muchas aplicaciones os necesario ejecutar determinadas operaciones en un ins- tante preciso: un ejemplo sencillo es un reloj, cuya aguja debe avanzar exactamente en cada segundo, Es cierto que, conociendo el tiempo de ejecucién de cada instruccién, se puede obtener cualquier retraso deseado utlizando secuencias de instrucciones, pero esta solucin presenta varios inconvenientes. En cualquier caso, tener ocupada la CPU sdio para ‘pasar el tiempo" es un derro- che: no puede, mientras tanto, desarrollar ninguna oira tarea: es mejor utlizar un reloj diferente, Un sencillo método para proporcionar al microprocesador una referencia temporal, precisa ¢ independiente, consiste en conectar un oscilador de cuarzo en la entrada de un contador, [ow ] Bus ce datos. Ee os, El numero contenido en el contador avanzaré, por tanto, con cada ciclo del oscilador, y estara disponible en las salidas binarias del propio contador: se trata por jo tanto de un temporizador de hardware. Oscllador Conectando estas salidas @ una puerta paralela, de modo | “ESS bes que la CPU pueda leerias, esta ultima podré en cada momen- iM to conocer el valor del contador, y por lo tanto el tiempo trans- Goneaiatea sate inacn curido (vor figura). tel eee See, twansourndos desde el encenddo Un contador que avance a intervalos regulares constituye para fa CPU una referencia precisa de tiempo. PS Normalmente no hace falta utilizar un oscilador es- arriba citado el temporizador avanzaria cada pecial, dado que ya hay uno disponible: el generador ~microsegundo. de reloj que da el tiempo al mismo microprocesador. Sin embargo, este oscilador suele ser, en general demasiado répido: situera por ejemplo de 64 MHz, ‘1 temporizador avanzaria cada 15,625 nanosegun- dos: un tiempo demasiado breve para ser practico. So utliza, por lo tanto, ja técnica de afacir un di- esaaa visor, 0 "prescaler’, mejor si puede soleccionarse Baht, <2 coraraoa te semaeh desde la misma CPU: dividiendo por 64, en el caso ‘mis B59 Se dvan Contador ‘Salon Dividiendo el oscilador de reloj con un prescaler, se obtione el temoorzador del contador tun relo| mas lento, adecuado para el temporizador. 161 DIGITAL Modos del temporizador Los temporizadores para (PU tienen distintas posibilidades de funcionamiento Un temporizador puede girar continuamente libre- mente, es decir, en modo de funcionamiento libre, aia apr produciendo un numero binario que aumenta uno ‘cuenta | (Reloj= tiseg) ‘en cada ciclo del reloj recibido. eae | 04285 256 seg eas | 0. 65595 85S meeg aprox. No obstante, como el contador tiene su anchura (numero de bits), antes o despues la cuenta llega al rn valor maximo posible, por ejemplo 65.535 para un 92 | 0 «204967205 | 4143 min pox temporizador de 16 bits y después empieza de nue- — vo desde cero. Ello puede complicar el programa, que no puede limitarse simplemente a marcar la diferencia entre dos lecturas del temporizador, puracion del cielo de temporlzadores de distinte anchur para saber cuanto tiempo ha transcurrido entre la suponiende un reloj de un microsegunde; al téxmino, el contader primera y la segunda, ‘empieza de nuevo desde cero. 1677215 | 16,709 aprox. Ceiaetanrnka ae Un temporizador para CPU suele ser mas complejo que un Sencillo contador: se puede parar, hacer que empiece de nuevo, ponerlo @ cero 0 configurar un, numero; a menudo puede ser controlado también por sefiales externas. ‘A voces es también posible hacerlo funcionar hacia ars, es decir, ofeciuar una cuenta al revés, que termina nada mas el contenido del temporizador llega al valor cero. En tal caso el contador no gira de continuo, sino que debe reconfigurarse si se desea que empiece de nuevo para ejecutar una nueva cuenta: esta modalidad se llama “one shot’, un solo golpe. SE Leer continuamente el temporizador para saber si el tiempo ha pasado no es muy practico, ya que hace perder tiempo al mi- ‘croprocesador, que normalmente tiene otras cosas que hacer. Seria mejor que le CPU se ocupara de sus propias tareas, y el temporizador se encargara de avisarla cuando se verificara la eondicién requerida: por ejemplo, el hecho de que el contador hha llegado al limito. Se puede hacer esto con una interrupeién: se trata de un meca- nismo que, como veremos en la leccién 46, permite hacer ejecutar instrucciones en respuesta a una sefial eléctrica externa a la CPU. Relojes y microprocesadores Hay dos modos distintos de registrar el paso del tiempo Como siempre cuando 69 trabaja con los microproce- sadores, las cosas se puodon hacer desde hardware 0 desde software; ol principio es valido también para la realizacién de un relo} (tela en tempo real) (ea Lasolucién de software consiste en utilizar un sencillo temporizador que haga de base de tiempos, es de- cir, que llame de nuevo a la CPU a intervalos regu: lares, por ejemplo una vez por segundo, haciéndole elecutar algunas instrucciones. Estas no hacen otta cosa que actualizar el conta- dor de los segundos, es decir, una celda de RAM ‘cuando aleanza el 60, ¢e pone a cero y se aumenta Uno el do los minutos, y asi sucesivamente La solucién es mucho mas econémica con respec- to al uso de un chip individual, pero presenta un pro- Un reloj software necesita solamente una base de tiempos y alguna celda de RAM. e PE Es curloso observer que los relojes utlizados en los ordenado: res personales utllzan las dos técnicas descritas, para apro- vechar mejor las ventajes de ambes. En realidad, los PC contienen un reloj de hardware de bateria, cuyos valoros (fecha y hora) son loidos por la CPU en el en- cendido, normalmante por via serie, y copiados en celdas de memoria Durante el funcionamiento normal, se actualizan, sin embar- go, periédicamente, sin consular mas el reloj, evitando asi Tepetir esta operacion relativamente lenta. rele} mostrado por un PC procede de celdas de RAM actualizadas ‘mediante software a cada impulso de un tomporzador. La solucién de hardware consiste on ol uso de un pe- ‘iférico adecuado: un reloj independiente, cuyos va- lores puede leer la CPU: horas, minutos, segundos y normaimente también dia, mes y afo. Normalmente esta alimentado con una bateria espe- cial: tiene, por tanto, la importante ventaja de seguir funcionando incluso cuando el aparato estd apagado. Los chips que contienen un rela), 0 RTC (real time clock: relof fn tiempo real), se utlizan en cireultos que deben siempre poder conecer la fecha y hora. blema: si el circuito se apaga y enciende de nuevo, el contenido de la RAM se pierde. Interrupt Taal linpulso. or segundo ‘actualizada por la CPU cen-cada impulso recibido por el tomporzacor DIGITAL Perifericos y protocolos Muchos integrados modernos estan previstos para la conexion con una CPU Siantes los circuitos se realizaban conectando inte- grados de distintos tipo y haciendo que se comuni- Bus de direccones caran directamente entre ellos, hoy la CPU tiene Ea una mayor importancia. Bus de datos Conexion creta (uaa muchos nes) También los dispositivos tradicionalmente indepen- dientes, como ADC y DAC, se disefan desde el princpio al final de modo que puedan tuncionar como peritéricos de un microprocesador. Dado, sin embargo, que (especialmente con los microcortro- ladores) se trata de reducir al minimo el hardware, no estén normalmente conectados a los buses de direcciones y datos, sino con pocos hilos, normal mento en sore. Un perifrico puede estar conectado directamente ai bus, ‘mediante un puerto paralelo 0 por medio de wn puerto sere. Conexion paral Conexion SESE Uno de los protocolos de comunicacién utilizados @s el serie sincrono, que no requiere enviar datos a ; velocidad constante, sino que utiliza un hilo inde- pendiente (reloj) para indicar cuando leer cada bit. ah L ato SLASLTLIL rtoy Como no es necesaria una temporizacién precisa, os hilos pueden controlarse también mediante bate software por el propio programa, ahorrando el uso Sonik walcgeal de un valioso puerto serie. aa Le figura muestra, por ejemplo, como dos hilos de tun puerto paralelo pueden utlizarse respectivamen- te como dato y como reloj, para la comunicacién Transmistn serie sincrona: la CPU pone un bit ene! ho de con un DAC externo, datos, y después da un impulso al hile de reo). Vamos a hablar de una técnica utiizada, sobre todo fen los PC, para la comunicacién con periféricos muy répidos: la transferencia directa en memoria, (© DMA (Direct Memory Access: acceso directo a memoria). No pass Prone tos datos por ia Cr jreotamente Es como si el peritérico tomara el contro! del bus, ee ona RAM encargéndose de leer o escribir diractamente los datos propios en una zona de la RAM principal. Co- mo también la CPU utiliza esa RAM, es necesario un dispositive especial, e| controlador DMA, para evar eonflictos duane ol acceso simukanoo ds Urea OMA pte as prs ile cede ioe recursos comunes (ia RAM) ae aN rte ' 164 DIGITAL Adicion y sustraccion Los microprocesadores pueden desarrollar las operaciones aritméticas normales La instruccion de adicién sirve naturalmente para cuales debe encontrarse normalmente en el registro tealizar la suma de dos niimeros binarios, uno deo acumulador. La figure muestra un ejemplo: e! valor contenido fen el acumullador se suma al leido de una colda de memoria, y ol resultado se encuentra on este Ba caso todavia en el acumulader. Acurudador Acamuladoe antes cela operacon |” Idesouts de operecén Naturaimente, se puede aftadir también una sen- cilla constante, es decir, un valor fijo; en particu lar, se denomina incrementar (por ejemplo, el contenido del acumulador) cuando se afade 1. mem Acumulador Nal constante Acumulador os ejemplos de suma, en el primer caso entre 1 (nmedioto") acumuadery un celda, en e! segundo cor la constante 4 (ineremento). FEEL La operacién reciproca, la sustraccién, es igual de Sin embargo, si el resultado de una suma supera el sencilla: la figura muestra un ejemplo; también en valor méximo que se puade represontar con los bits ‘esto caso hay un nombro especial para cuando se disponibles, o bien el de una resta queda por deba- quita 1: decrementar. Jo de cero, las cosas se complican un poco. Tanto en la suma como en la resia, los resuitados de la operacién (que se desarralia con niimeros | ey inar (Si5G0T0I] - [GOUGH] - binarios), son naturalmente los mismos que se tendrian con los correspondiente valores deci- males. ‘Acumwlagor Constante Resultado También la sustraccion es una operacién binaria, pero el antes de ‘restr ene! acumulador tesultado es obviamente e| mismo si considerames los laresta ‘aumeres representaios en decimal. Supongamos que el acumulador es de 8 bits, por lo tanto no puede contener ntimeros mayores de 255 4Qué ocurre si contiene 200 (decimal) y le sumamos 100? El resultado serd 300, que en binario es 100101100: como no hay 9 bits, el situado més a la izquierda (es decir, el més significative) se pierde, se queda 00101100, es decir, 44. Afortunadamente, en realidad el pit no se pierde; es alma- cenado en un bit especial (bandera) del registro de estado: el acarreo, es decir, el resto de la operacién aritmeética. 165 DIGITAL Utilizar el acarreo El acarreo permite trabajar con némeros de grandes dimensi Rlepasemos la operacién descrita en la pagina anterior: 200 + 100 da 44 con un acarreo de 1, Observamos quo 44 os la dife- rrencia ontro 300 y 256 (el némero de combinaciones que se pueden representar con 8 bits). En la practica el acumulador ha dado una vuelta entera (256 pa- ‘sos, siendo de 8 bits, es decir, de un byte) y ha avanzado 44; nues- tro ‘acarreo de 1” es, por lo tanto, en realidad un acarreo de 256. Basia con imaginar que a la izquierda de nuestro byte hay un byte ‘mas significative con peso 256, como muestra la figura: el ‘ndmero 300 no se queda en un solo byte, sino que requiere dos. 1 acarreo es un bit que va a aiadirse a un byte imaginario més significativo, SUMA DE Nameros de 16 bits EI mecanismo del acarreo permite ejecutar operaciones contenidos en dos con nimeros demasiado grandes para ser almacena- bytes inaviduales dos en el acumulador, por ejemplo, niimeros de 16 bits ‘con una CPU de 8 bis. ‘Antes se suman los bytes menos significativos de los Fon dos nimeros: sera posible (pero no seguro) que haya 4 un acarreo, Después se suman los bytes siguientes, afadiendo también el posible acarreo. Esto se hace con ———— la adecuada suma con acarreo, que se encarga auto- mndteamente de lot el bt de acarreo del egitro do | [al EES estado y de afiadirio al resultado. Posble Parte baja Parte ata. Suna tombién seareo del ce! resultado "el posibe. ‘Suma de dos nimeros de 15 bts con un microprovesador de 8 restitago soareo ts: se utiliza autométicamente el acarieo. SEE En a leccién 19 hemos citado un sistema distinto del Para los calculos en BCD son necesarias instruccio- cédigo binario, a veces utilizado para representar los nes especiales de adicién y sustraccién, 0 bien una nimeros decimales: el BCD, en el que cada cifra instruccién de ajuste, que se utiliza después de una decimal ocupa 4 bits. suma normal. EIBCD no se utiliza mucho, entre otras cosas porque la reduccion de precios de la memoria RAM permite dedicar tranqullamente un byte entero a cada otra decimal, sin complicarse la vida. Peso=128 Peso=1 4 + [G1417001) Enbinario, representa 221 [G222/2003] En Aco, representa 79 Ti9 Pueden utilzarse las operaciones en BCD para compactar dos ciras para cada byte, manteniéndolas sin embargo separadas (4 bits por cada una). Numeros negativos ‘a empleada para bajar por debajo del cero es curiosa, pero comoda de ut lated Con un byte (8 bits) se pueden representar los nd- meros comprendidos entre 0 y 255, pero sin embargo 0 trata sdlo de valores positivos .¥ si tenemos que almacenar niimeros con signo, ¢s decir, tanto po- sitivos como negatives? Un sencillo sistema consiste en dividir a 1a mitad los nimeros disponibles; la figura muestra la solucién adopiada habitualmente: los numeros con el bit mas signiticativo a 1 se consideran negativos. Para que resulte més facil de entender, se puede imaginar que estos Ultimos estan debajo de los otros, Como utilizar un byte para contener nimeros tanto positives ‘como negativos. I TEE Aprimera vista puede parecer extrafio que el nimero 1 esté representado con todos los bits a uno (11111111 binario, 255 decimal, FF hexadecimal), pe- To hay un motivo practico. En realidad, afiadiendo uno (¢ ignorando el ecarreo) se obtiene cero: por lo tanto —1 se encuentra exac- tamente un lugar por debajo del cero, es decir, en la osicién mas légica y conveniente. Con esta forma de presentacién, llamada ‘complemen- to a dos’, adicién y sustraccién siguen funcionando regularmente, también para los nimeros negatives. PEPE Pero, sin embargo, si afiadimos 1 al maximo ntimero positive quo se puede representar (01111111 binario, 127 docimal, 7F hexadecimal, on ol caso do un byte), obtenemos 128, es decir, el maximo negativo. como en el dibujo; los valores indicados se refieren a tun contenedor de 8 bits, es decir, un byte. oasatia4 (4127) 0000001 (+3) Zer0 (0) sanattad ca) 410000000 (128) 3 (ia) 3 [eoooo0z) Los miimeros (qoonoasy) negativos estan —=— Colveato do (06000) modo que puedon utilizar las: eon ‘nsmas filam Let dad an wai porelos “an gears lnstrucciones om bts et artesian de Se ha producido un desbordamiento, es decir, nos hemos salido del limite: la CPU lo indica en otra ban dora dol registro de estado: la de desbordamiento, Trabajando con o sin signo, el contenedor (por ejemplo, un byte) es siempre el mis- mo: cambia Unicamente nuestra interpre- tacién de los bits que contiene, como se ve en la figura. mites de los niimeros positives y negativos que ‘pueden representarse, segtn la dimensi¢n det DIGITAL Comparaciones y contadores Los ndmeros con signo, es decir, positivos y negativos, requieren distintas opciones Una comparacién entre dos nimeros no se limita, como heros vis~ toenlaleccién 40, a verficar silos dos valores son iguales o dis- tintos entro ollos (poniondo ol resultado on la bandera de cero). Determina también si el primer ntimero es mayor o menor que el segundo, permitiendo por ejemplo comprobar si un cierto valor ha superado 0 no un limite configurado. EI resultado va a terminar, como siempre, en e| registro de estado: ademas de la bandera (bit) de cero, se cambian normaimente también el de acarteo y el de desbordamento. Err POINTE Todos los microprocesadores permiten ejecutar 0 Hay normalmente dos series distintas de estas no un salto condicionado, sobre la base del estado _instrucciones, una que se utiliza si se trabaja con de las distintas banderas (cero, acarreo, desborda- valores slo positivos (unsignes: sin signo), yla otra ‘miento), pero normaimente no es necesario preocu- para valores que pueden ser postivos 0 negativos parse. (signed: con signo). ‘Salto condicionado sin signo, __Salto condicionado con signo, se ejecuta 8. ‘se ojecuta si... BHI Trayor Bor mayor BS mayor © igual BoE. mayor 0 igual Bo ener Bur menor BLS menor 0 igual BLE menor 0 igual BEQ igual BEQ igual BNE. aistino BNE astinto Hay instrucciones especializadas para deci- dir seguin el resultado de una comparacion anterior, por ejemplo, "branch if higher”, salta, sil primer numero es superior al segundo. La CPU 6809 ae Motorola otrece una ampila variedad de instrucciones de saito condicionado, que se ‘ejecutan tras una comparacion ontre dos valores. PENA El sistema mas sencillo para ejecutar instrucciones F Congura of tn cierto ntimero de veces consiste en construir un ° mime ciclo controlsdo por un contador, noimalmente una celda de memoria o un registro La figura ilustra el mecanismo: se carga el contador con el valor deseado, después se deerementa (qui- otra welts tando 1) en cada ciclo, hasta que la cuenta llega a cero, Esta construccion es tan comin, que algunos mi croprocesadores disponen de una instruccion espe- cializada: decrementa una celda, verifica si es cero, y sata si no lo es. Como repetir las instrucciones contenidas en un ciclo el Fin e@ clo ‘nimero de veces indicado, utilzando un contador. DIGITAL Encendido y reset Cuando se da corriente al circuito, todo debe funcionar correctamente Hasta ahora hemos considerado un microprocesador que ya funciona, que esté ejecutando instrucciones a partir de un doterminado punto de la ROM do programa, quo las conticno, Sin embargo, en realidad un circuito puede estar apagado y, al encenderse, debe empezar a ejecutar as instrucciones de un medo previsibie, es decir. debe empezar ha hacerlo desde una direccion muy precisa de la ROM. Antes incluso de hacer esto, debe asegurarse de que todos los disposiivos periféricos que necesita esién también preparados para funcionar correctamente: el encendido es por lo tanto un momento critco. CEs La ejecucién de! programa no debe empezar antes de que la tensién de alimentacién haya aleanzado un valor estable, en otro caso pueden producirse tuncionamientos erroneos. pertarse” en una condicién previsible (por ejemplo con todas las salidas a 0) La CPU dispone, por tanto, de una entrada de re- Sel, que (normaimente) es mantenida a masa por un , circuilo extemo, hasta que la alimentacién haya te- nido tiempo de estabilizerse. [era] [fre EI mismo hilo 0 “linea”, de roset va a los posibles pe- riféricos, de modo que también estos puedan “das- La seal de reset se envia nommaimente tanto a la CPU como a los pesféricos, para gavantizar que todo empiece en un estado conocido. Garin aes) La figura muestra un sencillo ejemplo de circuito de reset. cuando se da tensién, el trigger Schmitt tiene alta su tonsién, hasta que C no se haya cargado lo bastante mediante R. No hay aqui ningtin control sobre la tensién de ali- mentacion, sino un simple retardo, para dar tiem- po al alimentador de llevar la misma tension a su | valor normal estabilizado, El boton sirve para enviar un comando de reset desde el exterior, reiniciando el circuito; desde el Un primitivo mecanismo de adicional para un reset manual. t por tiempo, con botén punto de visia de la CPU y de los periféricos, es exactamente como si se hubiera apagado y después vuelto @ apagar. Duracion el react a a Ensentigo dl cireuito El programa ode empezar 169 DIGITAL Puesta en marcha del programa En el momento de empezar, la CPU y el programa deben estar preparados Cuando Ia linea de reset es liberada por el circuito que la contiola, el micro- procesador esta listo para iniciar la ejecucion de las instrucciones que forman el programa. Sus registros internos han sido inicializados (predispuesto) por el reset, de modo que su estado sea conocido y, sobre todo, que no puedan crear problemas en los primeros instantes de “vida" del software. Antes de empezar se ejecula un retardo interno, incluso para ofrecer al oscilador de reloj un modo de iniciarse correctamente y estabilzar la propia frecuencia; hecho esto, el trabajo puede empezar: CE Pa sa En el caso mas sencillo ol contador de programa se pone a cero, lo que significa que la CPU leer el con- tenido de la primera celda de ROM (direccién 0) y eje- cutard la instruccion que en ella encuentre. La ejecucién del programa continuard después se- cuenciaimente (saltos aparte), es decir, para direc- clones crecientes, a pantir de este punto inicial. Programa Programa Otras CPU utilizan un vector: en una direccién bien definida de le ROM, por ejamplo al final, se ha escrito 1 ntimero que se va a poner en el contador de pro- ‘gramas, es decir la direccién de la primera instruccién a ejecutar. ‘Dos tipos de puesta en marcha: desde una direccién conockda (aqui 0) y desde la direccién escrita en un vector, situado en una ‘colda establecida, [ INICIALIZACIONES J (ue hacer ene orranaue: Mnicaaar es deie configurar ta Las primeras instrucciones del programa tienen la mision de iniclalizar, es ff zona de aimacenamiente temporal decir, preparar pera su uso, tanto el hardware externo (es decir, los ff (Pla. ver lecion 4) riféri a i 2) Asionar los puertes de ES, ls pai aver) some bt bible etearamia, temporizadores y los posbles eek Por ojomplo, si unos hilos do un puerto paralelo funcionan como entradas J 5) poner 4 cero. o prasponer con ins y otros como salidas, el programa debera ocuparse de disponerios ff valor descados, las celdas de RAM correctamente. necesanias 4) Cortrotar que los componente del En @! lado del software es necesario, entre otras cosas, preparar la RAM ff) fajurs mimen correament en la que se conservan los datos, ya que puede despertarse en un estado Il S) ctor es dear permiue cualquiera, por lo que, por ejemplo, pocria ser conveniente poner a cero imerrupciones de os peniférics ode determinadas caldas exer tet con 1) ‘Las primeras instrucciones de! programa tienen la misin de inclalzar ef haraware y et seftware, 06 deci, poner todo on un estado conocido. Proteccion Conservar la RAM con la maquina En muchos dispositivos, como por ejemplo las agon- das cloctrénicas de bolsillo, es necosario que los da- tos no se pierdan al apagar, quitando asi la tension de alimentacisn Por otra parte. una RAM normal no es capaz de con servar la informacion almacenada, a menos que ten- ga una fuente de energia auxiliar, por ejemplo una bateria especial para esa funcién, Se trata, por tanto, de apagar el circulto entero, salvo la RAM (0 una parte); debe seguir recibiendo alimen- tacl6n, de modo que los datos se encuentren exacta- mente igual en el posterior encendido. SS y El instante en el que llega a faltar la alimentacién es muy delicado, porque no es posible interrumpir el tra- bajo en cualquier momento, como por ejemplo en me- dio de una esoritura en la RAM. Bs ndensador ‘de tivo Fuente de alimentacion| de los datos apagada implica un cierto esfuerzo Cuando un portatil esta en “espera”, su ateria proporciona s6lo la corriento minima necesaria ara conservar (os datos en ia RAM, Por lo tanto, es necesario que la CPU sepa con ante- lacion que poco después no habré mas tensién, de mo- do que tenga tiempo de terminar las operaciones en de- sarrollo y bloquear las posterores escrituras en la RAM. alia Se utiliza, por tanto, un acumulador de energia, normalmente un conden- j | sader, para alimentar el circuito duran- to algunos instantes, de mode que ten- ga tiempo de “cerrar’ todo bin. aida oe Ia enengia Tera Algunas CPU pueden entrar on un estado de espera de muy bajo consumo, lo que permite mantenerlas alimentades con bateria junto a la RAM, simplificando al circuito, EEPROM fa "a bermanente}} : aH me ¥ avisoa | cra : En esta fuente de alimentacién conectada a la red, [a sefial de caida de la energia avisa la CPU de la inminente falta de tension. Como alternativa, se puede eliminar totalmente la ne- cesidad de una bateria, conservanda los datos en una memoria permanente (p01 ejemplo una EEPROM. ver leccién 22), en lugar de en la RAM. Sin embargo, es necesario que el con- densador mantenga la_alimentacion durante e1 tiempo suficiente como pa- ra efectuar l@ copia (de RAM a EEPROM) de los datos que se tratan de conservar. Los dates pueden copiarse en una memoria ‘permanente, que se conserva incluso despues ePHOM avis de caida de a erergia salvos datas Al encende.postrinne del apagadc, y se coplan después en la RAM rte, ios wecupera J Srl mpaaa 171 DIGITAL Fiabilidad de los programas Se utilizan varias técnicas para garantizar un buen funcionamiento Un funcionamiento erréneo en un sistema de mi- croprocesador puede tener distintas causas (errores de programacién aparte), a partir de roturas de hardware en el interior de los componentes. Una de las tareas del programa es, por tanto, la de verificar, dentro de lo posible, el funcionamiento correcto de las distintas parte del circuito (por ejem- plo, que los temporizadores cuenten eficazmente). ‘Como la averlas se producen con mayor proba- Re ——- bilidad durante 10s encendidos y apagados, esta cuando se gira la lave de coche, las distntas centratas de operacién de autotest jiene normalmente lugar en mleroprocesador efectvan un autotest para controlar el propo cada arranque del programa stad. CUTTS Si algunos datos se han conservado durante el _cédigo de control: si no obtiene un resultado igual al apagado, por ejemplo alimentando la RAM con una almacenado, los datos no son validos. bateria, es importante controlar que no estén corruptos, es decir, alterados. Esto puede hacerse afiadiendo un eédigo de SS Ba _ control, en el caso mas primttivo una sencilla suma 2 Soe de todos los datos, que se calcula al apagary se | | pas ||| | |gybsoagl] sn almacena junto a los mismos. en le por la ea! ator Cuando el programa arranca de nuevo al encender |. aay Enel arama elcoigo 1 dispositivo, lee los datos y calcula de nuevo el | s:'Ccusutctago "de cone debe ser ‘contre con ‘odauia conerente Un codigo de control permite verificar la valldez de los datos los datos ‘conservados durante el apagado previo TEE Sila CPU es defectuose, 0 peor atin si algo se ave- ria durante el funcionamiento, pueden producirse graves consecuencias (baste pensar por ejemplo en perodios oT una herramienta fuera de control) sisemade | SLL | deworendos microprocessor (debe veciie Para evitarlo, se puede afadir un circuito de watch papusogd dog (perro guardian), al que el programa debe en: f viar periédicamente un impulso, por ejemplo leyen- ° do una determinada celda. ko oa Bloqueo en caso de namiento errnee Si los impulsos faltan, el watchdog hace saltar un Circuito de proteccion que, normalmente, lo detie- ‘ne todo, poniendo también a CPU permanentemen- sino se tama al watchdog perédicamente, lanza la alarma te en estado de reset. ‘de.un modo que el circuits sea éesactvado. DIGITAL Subrutinas Las instrucciones pueden organizarse en bloques independientes Durante la ejecucidn de un programa, a menudo se tiene que repetir una misma operacion (por ejemplo, la parada de un dispositive mecdinica) en distinios momentos o situaciones, Seria, por tanto, necesario ¢opiar de nuevo en varios puntos del programa las instrucciones que electuan esa operacién; no obstante, eso no cunviene mucho, por varios motivos. En realidad, no slo se ocuperia espacio sino que, en caso de modificacion, seria necesario alterar todos los puntos en los que estan dichas instruccianes, yendo a buscarlas para el programa. Si determinadas operaciones se ejecutan varias veces, no es practice tener que repetir las mismas instrueciones en distintos puntos. SEs Para evitar este problema, todos los microprocesa- dores ofrecen la posibilidad de definir secuencias de instrucciones diferentes, que se ocupan de desa- rrollar una determinada tarea, Toman el nome de “subprogramas" o subratinas; aaa Inara ears aie tl poate eg ne ae ca J. | saearsacr) [Ppa subruina que cape de datener ol lopostiva rear Prosrana | | manecoms | | mecanico. | [etre ent Ovstinavwamieta| | Se podrd Hamar a esta subrutina, es decir, ejecu- Ind a eran tarla, durante la ejecucién del verdadero programa, RS ‘como si fuera una nueva instruccién del microproce- 7 | sador, similar a las ya existentes. ‘Una subritina os una secuoncla de Inetrusclones a a que se Syratng lama como si tera una hstrucelén senella do! seme Imlcroprocesader. Desde e! punto de vista practico, una subrutinano es cucién desde el punto en el que estaba instalada, otra cosa que una secuencia de instrucciones iden- como sila subrutina hubiera sido una sola instruccion. tificaidas por un nombre (una “etiqueta”) y terminada Eee rca omelceiaohe 1 programe lana aune subraina que pone a cara pata Cuando el programa desea ejecutar las instruccio- LER ERECERPA cdbbe cancer? ‘nes contenidas en la subrutina, la llama: en lugar de oe see, eee ee la siguiente instruccion, se ejecutan las de la sub- 35K Fone sa.cero jal, lena a subruttna tutina. sige Después continia desde aqui Nada mas encuentra la CPU la instruccion de retor- | \* Sins nn m wana, desouts woh no, vuelve al programa principal y prosigue la eje- JSR 8 Ia Instruceién de lamada de la CPU Motorola 6808, RTS es la de retorno que vwelve al punto anterior. 173 DIGITAL ‘Una memoria de acumulacin permite recordar las direcciones de retorno La llamada a subrutinas es en la préctica una opera- de retorno, no hace otra cosa que rotomarlo y ponerio ccidn de salto no condicionado, pero con una importan- de nuave én el contador de programa. te diferencia: la CPU se acuerda de dénde estaba, de modo que pueda volver. Tessin > aaa TEE Acordarse de la posicion significa recordar | x024 aS S758 4) Deje a un lado la direscién de la la direccion de la siguiente instruccion a instruction siguiente (A027) ejecutar, es decir, en otras palabras, el ni 2) Salta ala nueva creccion (A758) ‘mero contenido en el contador oe programa | (ver leccion 34) st reer, contin aqui dectcbn Este numero se deja a un lado y después la CPU realiza un salto no condicionado a la subrutina; cuando encuentra la instruccién Jia a eleoudton 6 subs Fin de a ejecucion de la subrutna El valor contenido en el contador de programa se salt @ a drezcién de retorno (A027) ‘conserva para poder volver al punto de llamada, CE Para dejar de lado el contador de programa no basta una sola celda: sila sub- rutina llamara a su vez a otra subrutina (cosa més que normal), el primer valor se perderia. Para evitarlo, el valor que se conserva es afadido automaticamente a una pila, es decir, se apila sobre los demas valores dejados a un lado por las an- teriores llamadas, Cuando es hora de volver, se toma el valor situado sobre la pila, @s decir, la Ultima incorporacién; se vuelve, por tanto, al punto donde se habia efectu- ado fa uitima llamada, Sea La pila no tiene nada de misterioso: no es otra cosa gue una serie de celdas de memoria normales, en La posicion actual, es muchos casos organizadas con direcciones descen- decir, la direccién en ia que se almacena el contador dentes, con la cima de la pila abajo. de programas cuando se llama a una subrutina, se conserva en un registro especial de la CPU: Tua deaee TT interop {La figura muestra lo que ocurre on la | pila y en e@| puntero de pila, en el mo- Deccones (| 7 “rs ed mento de la ejecucién de una llamad jaimacenacas| BFC. 8FO3. ‘eFc3 subrutinas, y de la correspondiente ins- Punto. Nouteade | [Neuisaas |} tuccion de retorno, No tends Ne iad Ne ued Una ilama¢a 2 subrutina (ver Iistado arriba) copia e! valor del contador de programa en la ibs ita ait | ley ae lr lamer en tone ree Paso de parametros Las subrutinas tienen a menudo la necesidad de recibir informacion Hemos puesto anteriormente el ejempio de una subru- que se le pase un “parametro” (0, desde el punto de tina para poner a cero el valor mostraco en una panta- vista del que llama, “argumento”), que le indique como. lla; Sera cémodo hacer una también para que apa- desariollar su trabajo. recierd un determinado numero. kes Er pogiame tama jrutiva @ve musala un namare on la parva: UndidBilaidn obvia conelete en poner el ndmero Oh 4197." GA = niimero a mostrar en Un registro, por ejemplo el acumulador, an- Bas, Monatcay {mee es soles tes de llamar 2 la subrutina: mostrara en la dk and <1 geee eeeee pantalla el contenido del registro, 20K tauentes (Vibke af tn chenesee Se dice, en este caso, que la subrutina requiere Ls subiutina hace su trabajo, después vuelve: Muestra pmuestra Aon la pantalla ‘Wemada de una subrutina con paso de un parametro al acumulaéor, en este caso el nimero que se va 2 sdevuelve al que Llama ‘mostrar. aa En ottos casos, fa subrutina desarrolla una operacion de entrada, por ejemplo la lectura del estado de un deter- minado interruptor: el programa que la ha llamado quiere saber el resultado de la operacion. ‘También en esta situacion se puede utilizar un registro (0 mas de uno), por ejemplo escriviendo 0 en el acumulador si el interrupter estaba abierto 0 1 si estaba cerrado. a (ws eoaigo) Una subrutina es, por tanto, bastante versati, ya que puede recibir informacion (parémetros) y restituir un ate retorno al programa (u otra subrutina) que la ha lam ‘Ejemplo de uso de una subrutina para recibir un valor, en este ‘caso el codigo de la tecla pulsada en un teclado. nar Si una subrutina altera los registros internos de la Por tanto, es una buena norma guardar el estado de CPU, si el acumulador, existe el riesgo de crear pro- los registros (aparta obviamente de los utilizados blemas al programa (0 a otra subrutina) que la llama. para pasar o devolver informacién) al principio de la El programa lama a una subutina que pone @ ce la pantala EC ye ce eee aia aon eee bon fon Esto puede hacerse poniéndolos dentro de la pila con la instruccién correspondiente de push, y recuperardolos a continuacion con la operacién ‘opuesta de pop, como ilustra el listado, A vale todavia $3? La svorutina guarda A antes de utilzero, esi no lo camba: ponea.cero PSHS A da A en La pila Sta Bt : Como el valor de A se guarda en le pila con PSHS (push) y RR x aha aibestines después se recupera con PULS (pop), el programa que Nama to encuentra inalterado. DIGITAL En lugar de pasar valores a una subrutina con fos re- gistros, se puede poner en la pila (con operaciones do “push’); esta técnica es utilizada por los lengusjes, de alto nivel, eomo ef C. Muchas CPU disponen de instrucciones especiales ara utilizar datos en la pila sin tener que echarlos Programacion evolucionada Varias técnicas de proyecto permiten obtener mejores resultados fuera (es decir, sin instrucciones “pop’), como si fue- ran celdas de memoria normales. Esta técnica permite, entre otras cosas, superar el Ik mite constituido por el ntimero de registros disponi- bles: se pueden pasar todos los datos que hay en la pila, es decir, en la zona de memoria dedicada a ella Instruccion Electo Pone 22 aetima en le pla (push) one 7’ desimal en ta pla (push one 19 aevimal en la pla (push) Lama une suoeuting vex caloula utlizar los registros. El paso de parémetros mediante la pila permite comunicar datos sin z 75 Datos en ae |(Mareo de pile) | Purtero pla Contenido doa pla ra la mada En algunas situaciones, puede ser uti llamar a una subrutina... jdesde ella misma! Esta situacion aparente- mente extrafia, en la que aeul no protundizemce, aati cursién. rio que ‘antes 0 después la subrutina deje de lla- Eni ene) Un hébil uso de las subrutinas permite evitar la escri- tura do programas que quiza funcionon, pero so hacen rapidamente incomprensibles, incluso para queen los ha escrito. Como una situaci6én como esta no es en absoluto conveniente, el programa se organiza con la maxima limpieza, separéndolo en distintas partes (subruti- nas), cada una de las cuales desarrolla una tarea muy precisa. Cada parte estaré cividida en subrutinas, y asi suce- sivamente: si se aplica bien, esta téonica (progra- macién estructurada) permite oblener programas legibles y fiables. 1 eseaso ompleo do subrutinas, con o} ws0 indiseriminado de ssaltos condicionados y no condicionados, tiene un nombre: cespagueti programming. marse a si misma, por ejemplo basancose en el valor de los parametros que recibe (distintos cada vez), de ‘otro modo ya no saldria, Las distintas “versiones” dela misma subtutina no se molestan entre ellas, gracias a la pila, siampre Bp: no utilicen celdas de memoria normal para conservar infor- pe interna. Espagueti programming DIGITAL Modos de direccionamiento La direccion de la celda deseada no esta siempre explicita Cuando la CPU debe acceder a un dato, por ejemplo por el programador en la misma instruccién: es un para leerlo en el acumulador 0 en un registro, on direecionamiento inmediato. cualquier caso para utilizario, envia al bus la direecién de la colda quo contione ol dato deseado. Si esta direccién se ha indicado explicitamente en la propia instruccién, por ejemplo: “lee el contenido de la celda 2CFSh", se habla de direccionamiento di- | ian cove recto 0 “absolute”. Aun més sencillo es el caso en que no hay ninguna celda que leer, pero el dato es una constante escrita Los dos mods de dieeclonamionto considerados en las lecciones anteriores: directo (direccion de la celda) e inmediato (constante). wa #935 [Ae 38 PEN El principal limite del direccionamiento directo (absoluto) es que una instruccién puede acceder solamente a una unica celda: la especificada por la direccién escrita en la propia instruccion, ‘A menudo existe la necesidad de leer (0 escribir) més datos, situados uno a continuacién del otro en sucesivas celdas de memoria, o en cualquier caso en posiciones conocidas. sr, Andrés Blanco Seria, por tanto, itl poder calcular la direcoién Nesensihes 168 de la celda sobre la que actuar, de modo que so 28820 Madric vatie segun la necesidad, por ejemplo anacien- dole 1 para pasar a la ceida siguiente, GES Practicamente todas las CPU ofrecen uno o varios re- en el interior de un ciclo) accedera cada vez a una gistros especializados para alojar direcciones, cuyo _celda diferente, como usta la figura. contenido puede ser manipulado mediante instrucciones especiales. Direccin de la celda deseada El direccionamiento mediante registro permite accedera una celda cuya direccién no se cono- ce a priori: la CPU puede leerla desde el regis- in Ladireccbn ro ‘ro tndiesde, ‘se da en la instruccin ora eaten Cambiando el contenido de! registro, por tanto, 5 la misma instruccién (repetida, por ejemplo, “eo Un registro do direcciones puede contoner la direccién me dela celda a la que se desea acceder,distinta cada ver. 177 DIGITAL Direccionamiento indexado £1 uso de un registro como indice permite la exploracion de tablas En el ejemplo anterior el registro de direcciones indica cio de la tabla, mientras que el indice contiene la po- la celda deseada; es decir, es un registro indice, con _sicion del dato deseado. el que se tiene un “direccionamiento indexado”, llama- do también “ingirecto mediante registro’. Aagisro x Ei contenido del indice puede también afiadirse a una Deca = T1442 direccion de base (o, en las CPU modemnas, al conte: ido de otro registro de direccion), para obtener la direccion tinal mate recs Hi m | @ ne @ Esta posibilidad se utiliza a menudo para consultar ea tuna matriz (o “tabia") la direccidn base apunta al ini a ee ‘Acceso a un dato de una tabla, por medio de una instruccion nina ae Indexada, partiendo de una direccion basic PLO: UN wr) La figura agyacente muestra como realizar un descodificador ifedcha por pantalla de 7 segmentos (ver leccién 19), que converte e| da- Porsoraaa. to numérico, de 0 a 7, en una serie de bits correspondientes a los segmentos que se van a encender. Utilizamios también aqui la sin- taxis del microprocesador Motorola 6809, ya no actual, pero bas- tante sencilla de programar; el principio sigue siendo valido tam- bin para las CPU modernas mas complejas. (K-=dato a conveni) Como puede verse, para realizar el descodificador mediante soft- ‘ware basta una sola instruceién: la tabla de los datos estara pro- bablemente cortenida en el propio programa, es decir, en le RON. acceso ala tabla segmentos es inéexado por elregisto indice X: e! valor de X indica la fla de la tabla que se debe leer. G TET Los registros indice son muy cémodos para explorat formada por celdas sucesivas, que contienen los co- Una secuencia de datos, por ejemplo una cadena digos de caracteres imprimibles, La figura muestra cémo se puede construir un ciclo que, en cada vuelta, aumente el re- gistro indice (es decir, le afiada 1) de modo que apunte al siguiente caracter que se va a leer, Para que no gire hasta el infinito, es nece- sario un mecanismo da salida del ciclo: en este caso, emplea un cardcter con cédigo ero, situaco al final de la misma cadena, Ciclo de exploracion de une cadena, formade por tna serie de bytes representando los caractores. Direccionami En lugar de un dato, la memoria puede contener... una direccion Igual que en las celdas de memoria se pueden eseribir datos, 60 pueden escribir también direeciones: son siempre nimeros, cambia simplemente su significado. Normalmente, una direccién ocupa dos bytes (es de- cir. dos celdas consecutivas de memoria) en el caso de las CPU sencillas y de muchos microprocesadores, 0 bien 4 bytes para las modemas CPU de 32 bits. Por ejemplo, en un sistema modificable por el usua~ fio, la posicién de un determinado periférico puede no 1 contenido de a RAM esté formado por bytes, cuyo significado depende solo de nuestia interpretacion. TILIZAR EL INDIRECTO Sia direccién, supongamos, de un puerto paralelo, no se dotecta en ol momento de la escrtura del programa pero esta escrita en la RAM, no se puede utlizar al direccionamiento directo comtin (absoluto). Son necesarias dos operaciones: primero se debe ira ‘coger la direccién de las celdas de memoria donde se habia escrito, y después utilzarla para acceder al pro- pio periferico, Normalmente las CPU otrecen un modo de direccio- Ramiento indirecto, que permite desarrollar ambas operaciones con una sola instruccion. El término indirecto se utiliza también en el significado £1 direceionamiento indirecto es un reenvio: Ia celda indicada no contiene un dato, sino la direccién de la celda deseada. CUMS a SS Las CPU poren normalmente a disposicién del usuario vanos modos de direccionamiento com- plejos, que por ejemplo combinan el direcciona- miento y el indexado descritos en estas paginas. Disponer de_numerosos modos de direccona- miento aumenta, naturalmente, la versatilidad del microprocesador, permitiendo desarrollar opera- ‘clones complejas con pocas instrucciones. Pero, en cualquier caso, no son esenciales: pueden ‘construirse disponiendo de uno o varios registros de direcciones: es e| caso de distintas MCU, cu- ya estructura se ha simpificado por motivos eco- némicos. ento indirecto detectarse a priori: el programa lo busca, después es- ribo la direccién en la RAM para rocordarselo. Direcobn Datos en RAM. Signfisacs ce cto 406 05 + Pis0.en ot cue | oR. Ge Deeccon de | — = Seba (Fe) | 8403 aa nS Ne hy que aqul lo hemos atribuido a indexado, especialmon: te en ol caso del acceso mediante un registro de direc- 3700 7 ATOA Drescoemiente aaa reosion dla celda que contiene ‘dato i (0130) DIGITAL Mas sobre los direccionamientos Cada microprocesador tiene sus propias particularidades En las CPU que emplean un tinico espacio diree- En la ROM suslen estar contenidas las tablas de cionable para el programa y los datos, las mismas constantes, como por ejemplo Ia tabla da conver- instrucciones pueden uilizarse para leer tanto de la _sién del descocificador para display de 7 segmentos ROM como de la RAM ilustrado en la pagina 178, En otros casos, normalmente para los microcontro- Meses feb ladores, los mapas de memoria de RAM y ROM es- feb tan separados, lo que significa que para leer ce la feb ROM es necesario utilizar instrucciones especiales, re © registros especiales. feo 30 tami Directives especiales del ensambledor (aqui “feb” form ‘se puoden escrbir también en ura sola fina: constant byte: byte constante de formulario) permiten escribir feb 31,31,36,31,30,31 las tablas de constantes dirsetamente en el programa. a Peach Las instrucciones de cada subrutina del programa (ver lec- cidn 44) estan escritas a partir de un punto muy preciso de la RAM 9 ROM ROM, es decir, se encuentran en una determinada direccién, Por jo tanto es posible escribir esta direccién desde cualquier we irutneN otra parte de la memoria (ROM 0 RAM), y toma e| nombre de 1008 (aare) vector, ya que ‘leva’ a la propia subrutina. 1007 Drecsién de JarutnaN2 Un ejempic habitual consiste en una ksta (tabla) de direccio- 1006 (rs) nes, cada una de las cuales apunta (envia) a una subrutina distinta, a la que puede llamarse de nuevo con la instruccién 008 Drecsin de ‘especial do llamada indirecta. TAS Aebe (arco) Una tabla de vectores, es decir, de direcclones de subrutinas, permite ilar un indice para elegir la que se desea llamar. PEE Si un programa se ha escrito para funcionar en una ciarta direccién de la ROM, desplazando las instruc- ‘Saito a 20F8 ciones a otra direccién no funcionara (por ejemplo, los saltos terminardn en el punto equivocado).. : 206 Logs anu ‘Algunas CPU, no obetante, permiton escribir o6digo Sato con drecdoremienta abso independiente de la posicién, es cect, capaz de {unciona solo con las recsones onsnales funcionar en cualquier direccion en la que se situe. btienen este resultado gracias al modo de direccio- ‘Shey nameento relativo a la posicién actual (es deci, al contador de programa), como se muestra ene} plo de la figura. Sata avanzando 5 bytes Loge aqui Saito con dreccionamiente relat: Un programa quo utilice o! droccionamionto relativo (para Joe furciona también cambsando las direcciones salfos y las tablas en la ROM) se puede desplazar a voluntad. 180 DIGITAL Interrupcion Avveces es necesario reclamar inmediatamente la atencian dela ( Normaimente el programa se entera de un evento externo, como el cam bio de nivel ldgico de un cable, solo cuando ejecuta una operacién de en- trade, como la lectura de un puerto paralelo. Existon, sin embargo, situaciones que requieren una interveneién in- modiata: si co espera que ol programa siga su trayecto normal, se corre el riesgo de perder informacion, En estos casos se puede actuar sobre la entrada de IRQ (Interrupt Request: peticion de interrupcién) de la CPU, que dejara lo que esta haciendo y respondera en el menor tiempo posible. RICE Le interrupci6n se emplea normaimente para eventos asincronos, es decir, no previsibles en el momento de la escritura del programa, por t : ejemplo la recepcion de un dato por parte de un Hog gare [ss aba ] — freee puerto serie. T Si no se leyera a tiempo, los siguientes datos es en llegar teiminarian por sobrescribirlo: se tendria por tanto una pérdida de informacion, obviamente inaceptable. La alternativa consiste en un sondeo, es decir, en seguir controlando todos los dispositivos que ee sa podrian necesitar intervencion inmediata, con | oneal k- on otable ahorro do tiempo. os : ‘Requirlendo la atencion de la CPU solo cuanéo es nesesari, la interrupeion garantiza sinplificacion y _ahorre de tiempo. El uso de la interrupcion conviene también en situa- operaciones que se deban ejecular a intervalos clones tedricamente previsibles, como en el caso de regulares, por ejemplo cada 10 milisegundos. En lugar de leer continuamente un tomporizadox, se o puede hacer que el mismo temporizador lame a una interrupcion (ver leccién 41) cada vez que su contenido pasa por el cero. ‘Actuatiza reo} T Muchos cispositivos utlizan una base de tiempos, @ decir, una interrupcicn periddica procedente de un temporizador, de modo que pueden tener el control del tiempo y realizar operaciones de una determinada duracién, ‘Una vase de tiempos generada por un temporizador es un sistoma préctieo para obtener rolojs, retardos, parpadeos, ete. 181 DIGITAL La rutina de interrupcion Altérmino del trabajo especial, la (PU retoma la tarea anterior Cuando so envia una sofal a la ontrada de IRQ, la CPU ejecuta una subrutina especial, precisamente la de into- rrupeiér 7 reba sin( rama yero No se trata de una llamada normal Reece | aear be tes iter upaorse En primer lugar, la direccién de la subrutina a la que se llama es leida por una posicisn especial de la memoria: el Rutha de vector de IRQ (es decir, es una llamada indirecta, ver lec- Wuekoat [—tenrupcion cidn 45). Ademas, es esencial que el programa que ha sido due estaba Direosin de interrumpido no experimente de ninguin modo ja interrup- pager ‘anus ci6n: no debe ser alterado ningun registro o bandera duran- Pe te la intertupeién, Uamade at| Interrupelor ‘Un impulso en ef cable de 1RQ causa la iamade automatica de una ‘Subratina especiai: fa rutina de interrupeton, UNE Muchas CPU guardan automdticamente en la pila, cuando recibon una poticién do interrupcién, no sélo almacenan la direccién de retorno, sino también otros datos, normalmente al menos el registro de estado, es decir, tadas las banderas (ver leccién 40), Por jo tanto, es necesaro, al final de la rutina de interrupcion, utlizar una instruccién especial de retorno de la interrup- cién, que recupere de la pila todo lo que se haya guardado temporalmente. Como no debe modificarse nada, los po- sibles registros alterados en la rutina de interrupcon se Quardan tambien en la pila (ver leccion 44), y se recuperan | [[ilisme a « rating) (Sonus cana antes de volver al programa normal. eee esa [Glare en ia oie Antes de Hamar ala ruta de interrupt, a CPU guards (ins dors tondtcemerte is dvecclin de ratame yer nrmactn, Esa Normaimente no hay un solo tipo de interrupcién, sino rutinas de interrupcién al mismo tiempo, aunque solo que hay varios cables de entrada separados (en el una esté en ejecucién. caso de los micracontroladores, pueden ape ser también internos al MCU). interrumpe Interrumpe una rutina de interruoci6n| el programe ‘on priondad inferer Cada cable tiene un ‘nivel” propio, 0 prioridad, es decir, es m4s.o menos im- | |————1 irq portante con respecto alos demas: una | | Pregame jeans) ne Interrupcion con prioridad mayor pue- eat Baier pen de interrumpir una con prioridad mas. | baja. vuelve aoe Porlo tanto, pueden estar activas varias Alta proidad 1RQ 3. La efecucién de una rutina de interrupeton IRQ2——+] PU ‘puede, a su vez, ser interrumpida por una Baje provigad IRQ 1 i Interrupeion con prionidad mas elevaca, 182 Técnicas de interrupcion Las interrupciones se activan solo al termino de los preparativos corresp\ Para que no se produzcan interrupciones no deseadas, es necesario que la interrupeién esté desactivada si no se utiliza, o en cualquier caso hasta que todo esté listo para poder utilizarla Instrueciones especiales del microprocesador permiten activar o desactivar (“enmas- carar’) una o varias interrupciones, como por ejemplo todas que estén bajo un determinado nivel de prioridad. También los periféricos que pueden llamar a interrupciones (como por ejemplo tempori- zadores 0 puertos serie) disponen de una bt | bandera que permite activar 0 no esta fun- Pore cn ode punteo de la cidn, a eleccion del programador. MELUEZN En la reinicializacién, la CPU empieza nomalmente con las interrupciones desac- fivadas, para evitar llamadas accidentales: anios do activarlas, os nocesario poner en orden tanto el software como el hardware Si los vectores de IRQ estén en la ROM, ya estén en su sto; pero si estan en la RAM, pontercos es necesario escribirlos dentro de la direccicn de las correspondientes tutinas de inte- rrupci6n a las que se va a llamar. ee Después se deben preparar los periféricos, como por ejempio temporizadores y puer- {os Serie, de modo que liamen a una interrupcién sélo en el momento deseado; final mente ¢¢ puede activar la CPU para que responds, Una correcta iniciakzacion evita que la CPU responda a una lamada de interrupcin... antes de estar preparada, See ai! ‘A veces @| microprocesador no tiene otra cosa que pueden existir otros estados (por ejemplo, “sleep hacer que permanecer en espera de una iniernupcién, con distintos consumos y distintas velocidades de servida la cual (es decir, ejecutada la correspondiente = “reactivacion”. rutina) volverd nuevamente a esperar la siquiente. En este caso es posible poner la CPU en un bucle Evento (ciclo) de espera, por ejemplo, un salto no condicio- | nado a la propia instruccion, aunque asi se tenga un HR Te hoce raga "2 inutil consumo ce energia. espera un ing Varias CPU ofrecen, por tanto, la posibilidad de pasar aun estado de parada de menor absorcién; tambien a El programa auténtico puede también reducirse a una simple ‘espera de peticiones por parte del mundo exterior. Técnicas de interrupcion Las interrupciones se activan solo al termino de los preparativos corresp\ Para que no se produzcan interrupciones no deseadas, es necesario que la interrupeién esté desactivada si no se utiliza, o en cualquier caso hasta que todo esté listo para poder utilizarla Instrueciones especiales del microprocesador permiten activar o desactivar (“enmas- carar’) una o varias interrupciones, como por ejemplo todas que estén bajo un determinado nivel de prioridad. También los periféricos que pueden llamar a interrupciones (como por ejemplo tempori- zadores 0 puertos serie) disponen de una bt | bandera que permite activar 0 no esta fun- Pore cn ode punteo de la cidn, a eleccion del programador. MELUEZN En la reinicializacién, la CPU empieza nomalmente con las interrupciones desac- fivadas, para evitar llamadas accidentales: anios do activarlas, os nocesario poner en orden tanto el software como el hardware Si los vectores de IRQ estén en la ROM, ya estén en su sto; pero si estan en la RAM, pontercos es necesario escribirlos dentro de la direccicn de las correspondientes tutinas de inte- rrupci6n a las que se va a llamar. ee Después se deben preparar los periféricos, como por ejempio temporizadores y puer- {os Serie, de modo que liamen a una interrupcién sélo en el momento deseado; final mente ¢¢ puede activar la CPU para que responds, Una correcta iniciakzacion evita que la CPU responda a una lamada de interrupcin... antes de estar preparada, See ai! ‘A veces @| microprocesador no tiene otra cosa que pueden existir otros estados (por ejemplo, “sleep hacer que permanecer en espera de una iniernupcién, con distintos consumos y distintas velocidades de servida la cual (es decir, ejecutada la correspondiente = “reactivacion”. rutina) volverd nuevamente a esperar la siquiente. En este caso es posible poner la CPU en un bucle Evento (ciclo) de espera, por ejemplo, un salto no condicio- | nado a la propia instruccion, aunque asi se tenga un HR Te hoce raga "2 inutil consumo ce energia. espera un ing Varias CPU ofrecen, por tanto, la posibilidad de pasar aun estado de parada de menor absorcién; tambien a El programa auténtico puede también reducirse a una simple ‘espera de peticiones por parte del mundo exterior. DIGITAL Multitarea La presencia de varios programas “simultaneos" causa complicacion Puede ocurrir que, debide a una disiraccién del programador, la rutina de interrupcién modifique caidas de memoria que el programa princi- pal (temporalmente interrumpido) estaba leyendo. Pueden surgir problemas aunque la rutina de interrupcién lame a ta misma subrutina que el programa estaba ejecutendo, a menos que no se haya disefiado para ser “entrante”. El argumenio es bastante complejo y esta lleno de trampas ocultas; es, en efecto, una de las principales causas de inconvenientes, y de diffcultad Ge puesta a punto, en los sistemas de microprocesador. Para evitar interferencias entre el programa principal yuna o varias rutinas de interrupcion, se puede hacer Que el acceso a un recurso compartido (c2lda de memoria, rutina 0 periférico) estévegulado, En la practica, of primero que llega pone el “sema- foro rojo" escribiendo un dato en una celda de RAM; al ctro sabré que no debe tocar ese recurso hasta que el seméforo se ponga de nuevo “verd (2000000 Rar penflerico eoupado eee Verde: periférieo Para evitar que llegue una interrupcién entre el mo- mento en que se mira el semdforo y éste se pone en rojo, hay instrucciones especiales que ejecutan am- bas operaciones de una sola vez, =n -Oa Un sematoro (lock) permite avisar a posibles rutinas ée interrupeién que un determinado recurso osté coupade. LTITAREA Las interrupciones permiten el desarrollo relativa- dan recuperar cuando el mismo programa tenga ‘mente sencilo de sistemas “multitarea’, en los que que continuar su trabajo. varios programas (tareas) parecen funcionar al mismo tiempo, como en los modermos PC. La figura muestra ol mecanismo de principio de una multitarea con prioridad: la interrupcion do la base de tiempos interrumpe el programa en cur- 0, y pasa el turno a otro, Los registros y otra informacion relativa al progra- ae Conmstador de ma (el contexto) se copian, de modo que se pue- | | slsiveeds [2 JL sofware (elige el programa a ejecutar) Esquema conceptual de una multitarea con proridad, en la Seid dee «qe cad programa trasja por tums durante un cierto Mevusuotes tiempo (por ejemplo 50 miliseguncos). 184 DIGITAL Multiplicacion y division Estas operaciones son mas complejas que la suma y la resta Incluso los microprocasadores mas sencillos son ca~ paces de efectuar una muttiplicacion por dos: puede obtenerse con un desplazamiento a la izquierda de un bit, como muestra le figura. ‘oo0010a] 13 [00003401] 13.46 Ueeposss) Desplazamionto Desplzzamiento = sisters 2h dre [bo03030] 26,,=13x2 [oo000a20] 6-19 /2 7 Nuovo bit nu {el resto} sea peralac Si se desea multiplicar por un nimero que no sea Una potencia de dos, hay varios sistemas: uno de ellos consist en descomponer el muitiplicador en potencias de dos, camo ilustra la figura 1101x (13) 110= (6) 0000 (13x 0) 1104 (13 x 2) | 4101 (13x 4) 1001110 (78) I, representan niimeros con signo (ver leccién 42). Una posible técnica consiste en quitar el signo menos (con una operacién de complemento a dos), efectuar el calculo y después po- rer el signo adecuado al resultado. Naturalmente, cuanto mayor es el nimero de bits de los operandos mas lenta y compleja es la operacion; es, por tanto, prefenble tener- la ya preparada "original", e5 decir, como Instruccion de la CPU. Elbit situada més ala derecta Las cosas se complican un poco si los dos numeros que se multipli- can pueden ser también negatives, es decir, si los valores binarios Ala inversa, un desplazamiento de un bit hacia la derecha corresponde a una divisién por dos: cada bit se desplaza a una posicién donde “pesa” la mitad, que antes. Efectuando un dosplazamiento mayor se puede multiplicar o dividir por un numero mayor en una sola operacion, siempre que 0 trate de una potencia de dos: 4, 8, 16, 32, 64, etc, Un desplazamiento a ta lequierda de un bit tiene ‘come efveto una multiplieacion por des, mientras ‘que un desplazamiento a la derecka produce una division. Hay varios algoritmos, es decir, técnicas, también para la division; uno de ellos se parece ai utilizado con papel y lapiz, ejecutado obviamente en binario en lugar de en decimal. ‘Todos estos sistemas son, sin embargo, costosos, tanto desde el punto de vista de cédigo necesario (espacio en ROM) como, sobre todo, de tiempo (ci- clos de maquina) empleado para terminar la opera- ion. ‘La multiplicacion de dos nimeros binaries so puede hacer con ‘el mismo sistema de columnas que utilzamos para los ‘ndmeros decimales. 185 DIGITAL La instruccién de multiplicacion es ya estandar en las CPU y MCU, dado su amplio uso; se utiliza en rea- lidad no solo en los autenticos calculos, sino también fen la consulta de tabla. Bots ats 160bis [Gioai005) [oo10i101] = [o0GoAt00]10301000] 7 6 3240 « [booon0aa FEEEECET)ECITEETES 321 DIVISION ENTERA La operacion de division se utiliza con menos frecuen- cia, al menos en la versi6n que trabaja con numeros enteros, pero normaimente esta también disponible, en las versiones con y sin signo, ‘Como el resultado es un numero entero, el resto se pierde; se puede recuperar facilmente hallando la dife- Tencia entre el dividendo y el cociente multiplicado por 1 divisor (ver figura). Es importante observar que la divisién entera realiza un redondeo al entero inferior, no al entero mas préxi- ara conocer el resto de una division entera, se puede ‘multiplicar el cociente por e| divisor, y estar del dvidendo. G TEN Dividendo un numero (distinto de cero) por cero se ‘obtendria un valor infinito, que no puede representar- ‘se obviamente por un niimero entero como los cons- derados hasta ahora La operacién de division por cero se consi- Operaciones enteras Todas las CPU modernas ofrecen multiplicacion y division En general esta disponible en dos versiones: con sig- no y sin signo; la primera se utiliza para numeros considerados como posttivos y negativos, la segunda para numeros solo positives. Observemos que para el resultado es necesario el doble de espacio: por ejemplo, la multiplica- cin de dos ndmeros de 8 bits puede dar un nd- mero que necesita 16 bits para contenerlo todo, ‘Mutiplicando dos nimeros de 8 bits son necesarios 16 bits para contener cada posible resultado. mo: por ejemplo, 79 dividido entre 40 da 1, aunque seria 1,975. Division ertera Dividendo "Diviscr Cociente 73/7 = 20 anes) 10.x7 Elresto se pierse Operation a @inversa Resto recuneraco Varias CPU consideran esto un evento excepcional (excepcidn), tratado de modo similar a une interrup- ion: se llzma @ una rutina, que tlene la mision de tomar las medidas oportunas. tuna rutina especial antes de pasar ala sigulente instruceién. dera, por tanto, no valida, y no so ejecuta- | overacicn ria; no obstante es necesaric tomar en con- | _intentaca sideracién la posibilidad de que se intente en ‘nest cualquier caso. 13 | acing | —*| errant atemaaa. | ‘ormol del Ge evento S| Minto” = —+|) pregame Te ee cree aene Sm (eipebelta) Bave siecutar, (© | |norepresentabie) Coma fija y flotante Hay varias técnicas para representar némeros fraccionarios Como s¢ ilustra en la figura, el sistema binario puede extenderse también a la derecha de la coma, em- pleando cada bit para representar fracciones cada vez, mas pequefias. Los bits a la izquierda representan la parte entera del ndimero, mientras que los de la derecha describen la parte fraccionaria, lo que permite ejecutar calculos con nimeros no enteros. Esta técnica se utilizaba mucho con las primeras CPU, y ain puede ser itil con ‘Si os pesos situados a la tzquierda de la coma se duplican, los ‘que estan a la derecha se dividen a Ia mitad: indiean, por tanto, fracciones binarias. CUNT: Actualmente, los ntimeros no enteros, 0 “reales”, se representan 2 menudo en coma flotante (floating point), la misma técnica utiizada habitualmente para los calculos cientificos e ilustrada en la figura. EI numero se divide en una parte decimal menor de dos, llamada mantisa, y un exponente que indica en ‘cudntas cifras se desplaza la coma a la derecha 0, si @s neyativo, a la izquierda. En osto caso, la precisién dopende del nimoro do ci- tras de la mantisa, mientras que el valor maximo re- La técnica de coma flotante representa por separade las cifras Sigaificativas de! nimero, y el valor por el que maltiplicarias. SLOTS Naturalmente las CPU no utlizan nuestro cédigo deci- mal, sino e! binario; la técnica sigue siendo en cual- guier caso la misma; actualmente se acepta universal- mente el estandar IEEE-754. La figura muestra como se representan los numeros en coma tlotante en el formato “double” de 64 bits, uno de los definidos por el estandar: 52 bits para la man- tisa, 11 para el exponente y 1 para el signo. Esto permite representar valores muy grandes, y pre- cisamente =1,7E+308, os decir, 17 seguido de 307 ce- El formato IEEE double utiliza 62 bits para representar las cifras ‘significativas (mantis) y 42 bits para el exponente y ei signo. las MCU mas sencillas, ya quo no requiore instruc: clones adicionales especiales, sino tan sélo algunos calculos, Formato de coma fia Parte Parte ent _L— ~~ tracconaré Wy Te ah =| Peso = lee - Peso = es Peso = — Peso = Peso =1 Peso = | aheoitshe presentable depende del niimero que puede estar Contenido en ei exponente. Mentisa (ctras signifeatwas) Exponerte See ee 1,047 £2 | | 1,047 x 102 = 104,7 Numero decmal ‘on formato “eon”, 0 “coma lotante™ En otros temmirds: desplazar la coma or dos lgares hae la derecho ros, 0 muy pequefios: +4,9E-324, es decir, con 323 ceros después de la coma y antes de las cifras significativas (0,00...0049). tot, 14 bits 52 bis 1 nimero ¢e bit utlzados on el fermato “double” IEEE 754 corresponde a 1516 Ciras signifeatwas (er decimal DIGITAL El estindar IEEE resuelve muchos problemas utli- zando tres valores especiales para representar el infinito positivo, el infinito nagativo y los valores no validos (NaN: Not a Number) Si por ejemplo se divide un numero por cero, el re- sultado se indica como infinito y el pragrama (si se desea) continua, se detiene quedando la posibili dad de indicar el problema, ‘Representando Infinito y NaN como éistintos de los valores ‘uméricos nonmates, ei estandar IEEE simpifica el trabajo éet programador. Crass Cuando el espacio en el chip costaba mucho, la uni- dad para los cAlculos en coma flotante estaba sepa- tada do la CPU verdadera, 0s decir, consttuia un “coprecesador numérico” (FPU} que se comercializa- ba por separado. Un coprocesador es un dispositivo montado en el mismo bus, que intercepta y ejecuta algunas instrucciones (no necesariamente de cal- culo) que la CPU principal no es capaz de entender. Hoy los coprocesadores estan casi siempre integra- dos en la misma CPU, aunque a veces siguen em- pleando una serie espacial de instruccones, heren- ia de los tiempos en los que estaban en un chip distinto. WAIN Practicamente por todas partes hay circulos y éngu- los, por lo que es necesario utllizar la trigonome- tria, es decir, un conjunto especial de operaciones mateméticas: seno, coseno, tangente, ete. Los célculos pueden consistir en la consulta de una tabla (como hacian los ingenieros antes del ordena- dor), © en una larga serie de operaciones aritméti- cas que “convergen” al resultado deseado. La dis- ponibiiidad de instrucciones especializadas nace bastante rapidas estas operaciones, con gran ven- taja en las situaciones en las que es nacesario pre- ver, por ejemplo, el desplazamiento de una pieza mecanica, £1 posicionamiento de! brazo de un robot requlere ofectuar ‘numerosos céieulos trigonamétricos en breve tiempo. Coprocesadores y trigonometria También el infinito puede representarse como los demas némeros Un numero no valido, como el resultado de 0/0, as un “no numero” (NaN), que es “contagioso”: todos los clculos en los que aparece darén como resulta- do NaN, para indicar la no fiabilidad. 15 / 4 = 3,75 Yalor numérica normal 15 / 0 = +20 infirto postive, epresentaco (4iNF) son un combinadén especol 0/0. = NaN Noesun nimero valiso Not a Number, represertaco on otra compnacion de varecteres oul [¢ e 4 cru PU soma Las instrucciones selistan en la ROM sindistincon a CU ejecute las instrugeones normals 1 coprocesador Se ocupa de las instuecones Un coprocesaéor (FPU) funciona de acuerdo con la CPU principal, que le celega la ejecucion de algunas instrucciones especiales, 188 DIGITAL DSP Son CPU especiales diseniadas para el proceso de sefiales digitalizadas Las caracteristicas de los circuitos analégicos, por ejemplo los filtros (ver lecciones 17 y 42 de Analdgica), estén condicionadas por las tolerancias de los componentes y por la estabilidad de sus valores. Un método totalmente distinto consiste en digitalizar la sefial (por ejemplo una safial de audio), procesarla con una CPU y despues transformarla nuevamente en forma analogica. Los componentes analégicos son sustituidos en este caso por softwa- te, es decir, por instrucciones de programa, analogamente al campo digital, donde una CPU reemplaza a un gran numero de puertas logicas. Digitalizar una sefal, para después procesarla con tranquiidad, es una operacion al aloance de cualquier sistema de microprocesador; sin embargo, las cosas ‘cambian si la sefial debe tratarse en tiempo real Es necesaria en este caso una CPU muy répida, capaz de ejecutar numerosas operaciones sin perder nunca el ritmo impuesto por la frecuencia de Configuracion tipica de wn sistema de DSP para el tratamiento de sofales eee oat miaoe anuortaco “aisgeo” events pan introduc nae Mas alld del sencilo proceso de audio, los DSP en- cuentran aplicacién en numerosos campos, por ejem- plo como verséiilalternativa a la delicada parte anals: 9)ca de los modems (ver laccién 44 de Aplicaciones) muestreo de la senal analogica (ver leccion 21). Un micoprocesador de este tipo se llama DSP (Digital Signal Processor: procesador de sefia digital) y se utli- za notmaimente junto a un ADC y un DAG, en la dispo- sicién iustrada en la figura. TLS | Retoi Procesador ‘igtal Convertidor ‘ital anaiogico de salida ‘Su capacidad de rapido proceso los hace interesan- tes para usos industriales (por ejemplo robot), pero también para procesos digitales complejos come gré- ficos tridimensionales. Con el aumento de la velocidad de los DSP, es~ tos van sustituyendo gradualmente a los circui- tos analégicos a frecuencias cada vez mas ele- vadas, teniendo como objetivo el tratamiento di- recto de sefiales de radio y TV. Como 1a seal leida por un disco compacto ya es digital, puodo ser procosada diroctamente por un DSP, sin ninguna conversion. 189 DIGITAL Fourier y DSP Hay dos modos de ver una sefial analogica Como se ha ilustrado en las lecciones 16 y 17 de Ana- empleada para pasar de la sehal muestreada, 0 “en el l6gica, una sefial periécica puede dividirse en una Se- dominio del tiempo”, a sus componentes, o “dominio rie de componentes sinusoidales, cada uno con am- de la frecuencia’, es la transformada de Fourier, plitud y fase adecuadas. La operacién matematica Los programas para DSP utiizan generalmente una técnica bastan- te rdpida y eficaz para ejecutar es: | ta operacién: un algortmo simpli Ampaitud Amplitud Transtormada ie Four ado llamado FFT (Fast Fourier Transform: transformacién Tiempo 1+ Frecuencia de Fourier), La transformada de Fouriet permite ver luna senal como suma de componentes a Aistintas trecuencias. GT Una vez que la sefal ast en ol dominio de la frecuen- La sefal descrita por ellos se filtrard segtin crterios el Cia, 8 decir, dividida en sus componentes, estos uti gidos arbitrariamento, mucho mejor de lo que hebria si mos pueden manipularse a voluntad, atenuandolos, do posible hacer con un fitro analégico normal, ampliicéndolos 0 desplazandolos. La operacién complementaria, es decir, la transformada de Componentes aie Fourier inversa, permite ade- més teconstruir nuevamente x tempo, os decir, una sere de || A/\an Ar datos muestreados. “ q . una sefal en el dominio cel Reallzando et ttrado en e! Trenstormacion Manipulacion —_Transiormacion aos dala triceese es eneldomniode "arvana ‘on el domina la frecuencia de ios distinos empo posible especificar exactamente es eos distros“ deltiem ‘1 comportamiento del filtro. EES.) Por desgracia, la sefial a procesar no es casi nunca Esto implica una serie de errores, que pueden ser ate- Periédica, por lo que la transformada de Fourier se _nuados parcialmente aplicando una funcian ce “windo- aplica scbre minUsculas “rodajas” dela misma seftal, de wing" (apertura de venianas) a las porgones de senal duracién breve tomadas del flujo continuo, como en la figura, | Sefial continua Técnicas posteriores de compensacion jus: | den mejorar las caracteristicas de los filtros asi MRM obtenidos que, aunque bastante lejanos del ideal, son en cualquier caso mas que acep- aE a dey eee 4 Iv = tables en el uso prdctico. instames 4, Funeion Sena) de windowing con os extreros La porcién do serial que se examina so redondea on ‘atentaoos, os extremes con una operacion de windowing. Software para DSP El programa consiste generalmente en un ciclo relativamente breve Desde el punto de vista de software, un filtro puede obte- nerse sumando cada muestra de la sefial con un cierto co nlimero de muestras sucesivas, cada una multiplicada | Entrada Dy. Bakda para un numero adecuado (coeficiente), | inure ste “he serat tras posteriores, basta con recordar un cierto numero de >) muestras anteriores en una zona de memoria (buffer). co- ree mo en la figura. El ilustrado es un filtro FIR (Finite Impulse Response: respuesta de impulso fnita); el tipo IIR (Infinite Impulse Response: respuesta de impulso infirito), que utiliza realimentacion, es mas versatil pero también mas complejo de disefiar, y puede manifestar inestabilidad. Sumadores HE Munjpucaaores Esquema funcional de un fitro FIR; en ia practica, los retardos se obtienen considerando muestieos posteriotes de la serial CN El programa se puede escribir en lenguaje ensamblador, utli- zando las instrucciones caractoristicas del DSP especitico, o tam- bién habtualmente en un lenguaje de mayor nivel, que simplifica al trabajo. Fornmiario bisio Wold Firiconst short x{], canst shore S{1> Short pr Ant ay ame me ant 3} Normalmente se prefiere utilzar el lenguaje C, que ofrece gran eficacia sin obligar, si embargo, a descender hasta el nivel de los minimos detalles internos de! DSP. i Tong find = 10 << (3 195 fr a bd cm tend El disefo de fitros (u otras aplicaciones) con DSP es, por tanto, Un arta que requiere solidas bases mateméticas, ademas de, naturamente, una buena habilidad de programacion Efemplo de programa minimo en ¢ para unfit (Texas instruments); en la réctiea serd més complejo por motives de eficacia. ca. ¢ Para reducir la complejdad del trabajo, se utilzan habi- _utlizados con los microprocesadores convencionales 0 tuaimente coleccones de rutinas ya creadas (libre- microcontioladores (ver lecci6n 44 de Herramientas). rias), que el prograrmador puede utlizar sin tener que d- sefiar todo desde cero. Hay también programas para disefiar componentes, por sjemplo filros, con las caracteristicas deseadas producen una rulina en C o en ensambiador, a insertar en el propio programa, Desde el punto de vista operativo, se utlizan sistemas de desarrollo basacos en un PC normal, similares a los Un DSP (a la derecha en le foto) se presenta como cualquier otro chip de una cierta complejidad. DIGITAL Los datos empleados por los DSP representan normal- mente valores muestreados, y pueden ser de coma fija 0 coma flotante (verleccion 47), normalmente con signo, es decir, positives y negativos. La primera solucién es mas econémica, mientras quo la segunda ofrece (a paridad de bit) una mayor dind- mica, es decir, un campo mas amplio entre el nivel iminimo y @l maximo representabies. Esto permite reducir los errores de redondeo que, ‘sumadndose ia los oe cuantizacion (de la conversién dal Elemplos de repredertacisn de laa datos en coma fja y coma flotante, Para la méxima velociden), un DSP ofrece normaimen- te varios registros internos, en los que es posibie conservar datos temporales para después tonerlos disponibles répidamente. ‘Maniieand ALU para \a mutiphcacion Nutpicador ALU para Va suma Datos sumar Resuitad Rogistros Operacién matiple hun solo ello MMT Si fuera necesario esperar uno por uno a los distin= tos datos, ejecutar juntas multiplicacién y suma se~ psp 1 Enlace a alta a po psp 3 psp 2 Dentro del DSP Hay algunas diferencias significativas con respecto a las (PU tradici ADG), producen tuido y alteraciones de caracteristicas deseadas, las Parte centora Parte ecimal Bajo coste i Rapido Binamica 4 ih coma fa (fe6 point) Signo Exponente Mentse Coma flotante (floating point) Dinamica slovode, Como una operacisn tipica consiste en una muitiplica- Gin seguida de una sume, eatd generalmente dispo- nible una instruccién espocial quo las ejocuta ambas en un tnico ciclo del procesador Para mejorar la precisién de los calculos, al- unos registros pueden tener un niimero de bits mayor que el “oficial, por ejemplo 40 0 45 bits frente a ios 32 de los buses de conexién con el exterior. Un DSP sispone normalimente de varias unidedes attmético-légicas (UAL) para poder ejecutar varias ‘operaciones al mismo tiempo. ria poco itil; se utiizan, por tanto, varios sistemas para transportar diversa informacién en paralelo. Por ejemplo, la arquiteciura Harvard externa utii- za un bus para los cddigos de programa (ins- trucciones} y otros buses para los operandos de la instruccién a ejecutar, lo que tiene naturalmente Un coste desde el punto de vista de hardware. Si un solo DSP no basta, se pueden conectar juntos mas de uno de modo que funcionen al mis- mo tiempo, intercambiandose rapidamente datos con interconexiones especiales. Si un solo DSP no basta, es posible interconectar varios Chips, cada uno con RAM y programa propios. DIGITAL Fuzzy logic La“logica confusa” tiene infinitos valores entre los estados Tratando de recuperar el mundo real en una visién puramente digital, se crean situaciones absurdas: tiene sentido decir que un coche en civ- dad “corre” si va a 51 Km/h y “va daspacio” si va a 49 Km/h? Por otra parte, en los sistemas de control (legales 0 electrénicos), son necesarias reglas precisas, sin espacio pera el arbitrio; tampoco sirve introducir una “tolerancia’, lo que se hace es desplazer el problema. En el 1965, Lofti A. Zadeh introdujo un metodo distinto: los fuzzy set, la base de la fuzzy logic (iogica confusa) moderna, en los que no existen solo 0 y 1, sino también todos los valores intermedios. Maes En la ldgica cldsica de dos valores, la afirmacién “el falsa, sin valores intermedios: el diagrama de {a fi coche corre” puede ser solamente verdadera 0 gura de la izquierda indica el valor logico correspon- diente, segin la velocidad. 1D rene En la parte baja, sin embargo, la transiciGn entre 0 Lopice y 1 no es precisa sino confusa (tuzzy): el paso es binare gradual, segun una funcién representada, en este caso, por una simple recta. Si la velocidad es de 50 Km/h “corre” vale O (fal So), si es de 60 Km/h vale 1 (verdadero) pero, y aqui esia el punto interesante, si la velocidad es de 53 Kmih “corre” tiene un valor parcialmente cierto: 0,3. En logica binaria, “corre” puede tener solo dos valores, ‘mientras que en fa fuzzy logle existen también todos los valores intermedios. La fuzzy logic se presta muy bien a representar las Se denominan ‘variables lingUisticas’; una funcién, descripciones aproximadas que utlizamos en la que puade representarse gréficamente, define el vida diatia, como “bastante alto”, ‘poco flexible", ca- grado de autenticidad de cada variable. o bien la si parado” 0 “més 0 menos 17". ertenencia a su “luzzy set” (conjunto confuso). La figura muestra, por ejemplo, que los gré- ficos relativos a distintas variables linglistcas se superponen parcialmente: a una clerta ve- locidad del coche, cada variable tiene su valor. Varias variables lingisticas pueden ser parcialmente verdaderas al mismo tiempo, cada una en un cierto DIGITAL Calculos en fuzzy logic La logica clasica esta destinada a considerar valores no binarios Los operadores de la logica booleana (binaria) son aplicables también a la fuzzy logic; obviamente no dan como resultado 0 © 1, sino un valor comprendido entre estos dos casi limite. No? (corre_poco) La figura muestra que el NOT (negacién, por ejemplo “no corre poco’) se obtiene invirtiendo el grafico, es decir, restando de 1 1 valor en todos los puntos a lo largo del eje horizortal El sistema més difundido para el OR (por ejemplo, “corre poco ‘0 corre mucho") consiste en considerar el valor maximo de dos 19 mas fuzzy set, como se ilustra, mientas que para el AND se utiize el minimo. Representacion grafica de los operadores de no peitenencia (NOT, aniiba) y de union (OR, aaj CGC El comportamiento de un sistema de fuzzy logic esta dictado por una serie de “regias” basadas en las variar bles linguisticas, por ejemplo: si ei coche va despacio y el vehiculo de delante esta lejano, acelera”, Observernos que la definicién de “acelera” es a su vez tna funcién que describe Ia pertenencia a un fuzzy set, es decir, puede cibujarse en forma de curva en un Exe grafico. | Fuzy set Fuzzy sot | eo-enreda Se sala El resultado de todas las reglas que “se activan’ se | —_[Eore.po00= 05 a combina, obteniendo un fuzzy set que puede ser tam- | ‘corre.mucho = 0,5 eee bién bastante complejo, para cada una de las variables =: sees de salida (por ejemplo, aceleracor), | fatentiza_p0co | ‘La apicacion de las regs produce un furzy variable de salida, CONNIE t para cada | Valores de las variables. Activacion de las reglas El resultado, al final, deberd en cualquier caso ser un valor numérico bien determinado, por ejemplo la pesion a aplicar al pedal del treno 0 al del aceleracor, Este valor se toma del fuzzy set del resultado corres- pondiente, aplicando un procedimiento llamado defuzification (eliminacién de confusién); oxisten varios métodos, sagun lo que se desee. Una de las técnicas utilizadas consiste en tomar el Al término del procedimiento, desaparece toda inseguridad: se ‘btiene nuevamente un valor muy preciso. centro de gravedad de la zona definida por el fuzzy set, operacion relativamente sencilla si se utiizan 00 funsiones triangulares o trapezoidales. Centro de gravedad i Fuzy set rosultante calentizacén olor fina: 3.15 Aplicaciones de la fuzzy logic Apesar de algunas polémicas, los resultados son bastante positivos La fuzzy logic demostré inicialmente la validez propia en sistemas: de control, donde la elevada complejidad hacia bastante problemé: tice el uso de las técnicas matométicas tradicionales. A pesar del origen estadounidense y de las primeras aplicaciones europeas, fue en Japén donde la fuzzy logic se desarrollé; un fa- moso ejemplo fue la automatizacién del metro de Sendai por parte de Hitachi Acontinuacién empez6 a utilizarse también en otros sectores, como en el andlisis de imagenes (especialmente médicas) y en controles de todo tipo: acondicionadores, estabilizadores de telecamara, la- vadoras, etc. La fuzzy loge e utiliza bastante en canpo actomoviistco, per elemplo en los ‘moderios canbios automsticos, o para el control de régimen minimo del moter CIT A diferencia de las técnicas matematicas tradicionales, por quien ne tiene preparacién matemiética: se expre- la fuzzy logic no requiere una perfecta definicién for- san en lenguaje comin y son muy distintas del meca- mal del sistema; permite, sin embargo, trabajar tam- _rismo de calculo. bién con datos vagos 0 incomplotos. Grae Esto permite transferir con relativa facilidad el conoc! Las reglas del sistema son ademas legiles, incluso miento de un experto humano, por ejemplo un técnico de pruebas para auto- moviles, cosa basian- te difell con reglas oe natas o can funciones «+|esechoy serana Fury sat Ray matematicas mcs aal ~ Be curve_escrechal / La fany logic se presta Eperenia essiin AND ‘especialmente para le turana verba Introducci6n en sistemas oes : electronicos de reglas dictadas por la experiencia. ENT ORIN Por contra, no es conveniente aplicar la fuzzy logic donde les técnicas matemé- as normales son mas que adecuadas, por ejemplo en el calculo de filtros 0 sistemas de control perfectamente definidos. Es obligado citar que algunos estudiosos sostienen objeciones de principio a la l6gica contusa: algunos aficman que se trata de una vanante del calculo de la probabilidad, otros de la logica clasica. No obstante, independientemente de las discusiones tedricas, la fuzzy logic ha demostiado ampliamente su validez en las aplicaciones practicas, por lo que se utiliza bastante. DIGITAL Tecnicas fuzzy La fuzzy logic ha recaido también en otros sectores Para desarrollar aplicacionos que utiicen fuzzy logic, se em- plean normaimente bibliotecas de funciones ya proparades, ‘bien completes sistemas de desarrollo de soitware, espe- cialmente creados. Estos permiten introducir los fuzzy set deseados y las distintas ragias, y después simular el sisiema para evaluar Su comportamiento antes de escribir el auténtico programa. Los mas sofisticados incluyen un generador de cédigo, ca- paz de producir directamente codigo fuente (normalmente en ensamblador) para el microprocesador 0 microconirolador deseado. Hay varies programas para ayudar al diseador en el proyectar de sistemas de fuzzy logic (aqui FuzzyTECH de INFORM), NEL La fuzzy logic permite célculos répidos, pero es nece- una red neural ayuda a definirlas reglas de un sistema sario quo los fuzzy set y las reglas estén razonable- fuzzy durante la fase de desarrdllo, permitiendo “pro- mante definidas; ello requiore normalmente un labo- _gramario” segun los datos disponibles. rioso periodo de puesta a punto, Por el contratio, las redes neurales (0 “neuronalas’, | Ascsvaniono fos nota ver leccién 47 de Aplicaciones) son capaces de apren- + ere ee) der solas, partiendo de los datos en bruto; sin em- fit bargo son lentas, y las reglas se mantienen oscuras, Las dos técnicas pueden integrarse reciprocamente: Fuzzy logie: ‘orto! cen Las redes neurales pueden utlzarse para adiestrar un setajoceets ‘sistema de fuzy logic, tomando funciones y reglas de entre os datos disponibies. La Fuzzy logic y las redes neurales estan clasifcadas Al}, opuesia a la “rigida” en que todas las regias de- en la denominaca inteligencia artificial flexible (soft ben estar claramente definidas con antelacion Smee aa pa — ao000000000 2" VE VAAS LN SRE SRE A AAG Messrs Boe Squemaye sr conseran anni | En 01 mismo campo 0 oncuentran, entre otras cosas, los algoritmos geneticos: imitan la natu- raleza, modificando un programa (oor ejamplo las reglas de un sistema fuzzy) para “evolucién natural". La blsqueda se lleva a cabo en mu- cchos frentes, y es probable que sus aplicaciones se encuentren de nuevo tanto en los objetos oiidianos como en nuevas técnicas de disefio electronico, ya sean hardware 0 sofware. Aplicando mutaciones a un conjunto de reglas programa”), se pueden “cultivar” programas seleccionades por ias mojoras earactoristicas. INDICE 0 idien (aso) 1 geo voreadoro) 2 ‘7HC fotograces CMOS). a ‘Amodia (ntogracos) 125 ‘cates (sumas en bra 2 ‘Acros aletoro (RAM) 8s Aonlraccn eens ES ‘Acivacientnerslen) 183 Acvensaacr (CPU) 136 ‘ADC (enalagen tal at ‘aden 185 ‘amen eécrco 128 ‘Algarmes gortons 196 ‘Aa impecancaa 0 ‘ata imecaness (MOS; 2 ‘Aus tensienes (ever 3 “Anpiisador {CMOS en modo linea) ee ‘Anaiogoo y dal ‘ ‘arora dt bs 141 ‘AND (hzzy loge) 194 ‘AND {mroprososedore) 40 'AND {eperacien loca © ‘AND con le " ‘Anireoa bn ip lop SA & Apioxinacones suxeswvas (ADC) Bs ‘Argatctura (CPU) 181 fray 2 pueras pretabvcado 125 ASC (ntogradns media) 125 ‘menuseion (ness) ize Aisoest (icrepoveesdores) 1% Bancos de RAM de vicoo ne Bander 138 Bandera de acaroo 185 Bandera de cow 150 Bae de tempos (amporzader) 188 BOD (céoo} 7 Biueasion 158 Bipolaee (togracoe) 2 bi 2 Bit do hricioy para (sre) 158 Blanking y smeronamoe (doo) ie Borady (PROM) 86 pe (os or segudo) 15 Bune eo expere 10 Busi pingpal 180 Bus 27.40 Bus de dreccones y co datos (memoias) 7 Bry (hank) 156 Bye 7 C tongue) 140 Cais coenalos 123 ashe (meropocesadres) ta Gada de tension (CED) 73 acute ratematicos (mieroprocesadorot) 108 CGamaras co tgovsén con CCD $00 CAN (estan 124 Garacores de conto 156 Carga inactas (drver) a Coo y une agcos 2 ‘Chopper corto) wr {ico do espera $60 ido princpal 160 G8 fmorprecesadces) 15 Gea tip-top 0) 5 Gear (monoesabis) 54 {GOs (ntograsos, ana? GNOSen modo teal 68 CGosticador do priondad 3 CCoficares ncremontales 98 CCotige ASC 186 Cétigs baie Cédigo ojcutable Ceci tente Casigo Gry (Cadigo exadocial ‘Gato intependente de a posicon {Casige maquina Casige oneto| ease opsrawvo (Casigo oparatve (nsbuccones) elect sero ator LeD) Gl vdeo) Gama tia Cama ten. CCamentaros(ensambader) CCemparacen ativan CCemparacones(nicrorocosadores) Cemparacore logcoe Cempimento a 2 Cempobasion as) en sino Cencdensror so bypass, Sendiones Cent de irsinecienes Cengervar dab con lmaquna spagad Censartes(mcreprovesedora) Censumo (TTL) ensimo en las vansciones Centar de 20s CCentadr de programa (CPU) Gentador gor 10 ence) Centadores asineronos Centadores shrrenos Ceniel ue rors (puerta see) Cental de LED Gertvlade (vansmision de catos) entelader de ponte Centiladee de vieoo Cenitladeres para motors Severin eraigionaigal CCenwersiondigtaaneégea Ceoversion VE CCertonto de entrada (774 CGenente de sales (etegredcs) este porbt memoria) (CPU (mctoprocesadcr) GIR (otoacopiadores) anteacén (ADC) ANALITICO DIGITAL meer) ot 138 180 138 ir 137 2 116 18 18 130 158 ist 84 181 153 167 % 158 m 148 28 3 138 5 nr 28 108 5 108 ® 8 23 1a 130 DAC (dgita-anategice) De Morgan (arene) Deesones Decoaticadn (mers) Drcodtontn (moroprocosaores) Decoaticador Decromertar ‘Desacoplamient (ntegrados Desbodamiorto Desplazamierto (merprecosadcres) agrama temporal i-top) ‘ageamas estado Dolaly analégec names (OS) Dreclonamento directo label) Dreceonamentomedialo Deecsonarenterlatvo Dreccones muttgexadas (RAM) Dseto manual (PAL) Dispasion (mega Display de 7 sogmenbs Display oe LED 8 158 2 6 25 165 ‘3 18 i 108 182 i ia i 98 103, e a a 197 Division (microprecesadores) Diisin por ero Diiser per 2 Diet pot Duisees DMA inccaso tot ala RAM Dmino ol tompo y dol recuencia (DSP) Drange aero Diver para splay DSP (mcroprovosadces esp DIL (ntograo Neocon Dipioe completo sore) Deplcasares se reevenca 8 Ezvaones es (PAL) ‘ie Epcuabe én) S Exe shaiiacon Gosden) 2 Exerc imctorocnesores) 3 Ensabiador, lengua ensambiador 1390 EneanbasorPAe ie Enrecs anh ier Ene sa 3 Enojecme ts (eoscopadaes) 13 rata enonones Popa) 7 Ecal donrcn Fy Eset RAD a Eade psa mercado) ‘@ Eras is nee sscrnos 1a Evolucion de fas PAL - wT te Exonaimeor ° Fur ogc poe Fanout (TTL) Pee Fok copa) reo Fe) eSoeas RAN Pt a oA Were iN os Flash (ADC) roe x Atop Sh Fe bela mean x0 Fasc e F7EA Ips peyanais Frm a0) 1 % 181 2 a 0 3 125 a Frecuanca vaca yhorzota video) 18 Fen (ebigo) 1 Fuzzy loge 13 Fizzy ie | CGAL PAL reprogamables) 101, 108 ‘Gro love (conroader de puente) 105 tn tipo @ Hanashave 16 Frawarey sonware(miroprocssagores) 1s. HE (itgrades)y HET (ntogacos) 2 HDL tonguales) a Het Gy A. (mtogrados) «6 Feertagtogen 3 IEEE 1364FreWre Westindsr 124 Inpeanea yadaptasin (eas 12 Irn 18 Irctarzacon to ‘rmunidad al uiso (MOS) 2 Femi ale (TTC). 2 Irstuceenastmerorracesadores) 199,197 Irstrsclenas conf bs 180 Intogares a mea 8, 125 Inteerercias comunes (ines) va Irtarapatn ta Intrapteces magnétcos y éotiens 7 Inversion ogi NO") 418 TR fntoranioe te LJEDEC (rato de datos) 104 Ko (mati (ove blo) 4 Serene tie pa wos) : Hse se é LED |diotos luminosos) 35 reine 3 Longuaje maquina 137 Lag 3 Lnedidad (DAC) thos ae Px a Lamadas indrecas 180 easton & Logis beoleana 6 ‘ogi cembniatena m3 {gic esmbatera con EPROM @ Lsgi develo ° ogi damn 199 {sais versa 8 Lgl Secuencia a LSI ive! de rtegracon) 2 LiF rensaictere) 0 198 Macroctans (PLO) 127 Macroslaas comolnatoris y secuonciale (PAL) 19 Manta (coma flan) 187 Mapa de memoria 183 Mapesdo on memoria 145 ‘Magunas do estos 10 ‘Maguinas do estas con PAL 12 ‘Margen de ruso ta Mascaras insrucsonos lies) 180 ‘Matiz oe noweanaxion (PLD) wr IMs (moganyte) 7% MCU imierocenladere) 134 ‘Moga imate) ” omer & Mamera de video m4 Memoras n Memeras programabios % Memoria RAM 33 Memoias ROM 85 Merocontolagores (MCU 134,168 Meroprocroadores 90,72, 135, Meroprocisadoreshistrcos 13 Moatieacion areca dels puortas 15 Mosdlos do coaree 58 Manoestaios 53 Menotoniadas (OAC) a €OS (nterados) 2) Motors tease (dover 108 st (vel de ntegracon) 21 ‘Moesbeo (abo) a ‘Meesteo yconsewvacon a Matipexor a Matipexade (aspiay) 7 Matilsxado analeois (ADC) Bu Matipleasen (miroprocesadores) 188 Mutipeacon ea (AND) : Muticador de eadencia n Mutipleadoros de reevercia 2 NEN (o nero) 188 NAN (puerta loge) 18 Nivel (iterrypesin) 182 Nvele pene t NOR (puota lies) 18 NOT (iz loge) 194 NOT (Pvetson lola) A NOT (micrprecesndres) 140 NOT oon aie 10 amos tinasos 2 Nimes regatves 16 ‘Ove stot tamporizadon) 162 Oferacines logic (mcroprocesidores) 148 Opsraconeslgicas Somentales, 5 ‘Operadores1ogioos (22) loge) 19 Oferandos(nstrsciones) 137 Offosbctinia dipta 12 Of tuzzy loge) 04 (OR (merosraresadore) i ‘OR (operaciones) 7 Of cabienso, 2 (OF exclusvo KOR) . ‘Grsonadows anbguos ® Ossindor Se salagor MoS 56,68 ‘Osstagor con moraestaios 36 ‘Ossiagor go telajmint (ager Sei & (OTP (EPROM 86 PAL con isos 12 PAL cavers 49 Pas temices (soles) 2 Pan! puotos sor) 15 Paso to paraetos 1% Pontos (mcroproesadors) 134 M8 Pesos Gotan corns feign) s Pla 1% PSO Weise ae aosplazamen) 2 PLD itoyracos progamies) 13 ap (a) is Patras do doe 3 Patercoret ata & ym stead de csotadoes) & Broce teepoataaey) oe Presa (contasores anon) © Psat (top) 2 Psion ons) ® Provson ge acarvo cortadhessircroos) 1 Prordad terse 12 Prblemas rics iterados ies) 6 Programa tmoonrocasadores) 1B Plogrmadores (A tos Progrmadores do PROM 5 Pogue poe peyeoe PLD 12 Pon 10, PROM per lea conbinntora ‘at Precis PA) tos Pons (uae iene) . Poors gas § Poors roregbies 18 iw Poors parabios iw Poors sna is Prost a or sinrona (ontadores) @ Pesta en march oa prgrama, 1» Pap 2 Panto do pia 1% Paap 1s PR medline mul) 92.107 RAM imenoras) 7,8 AMG ble puso & FAW do doo & AM Sama st FAM pormanentos n Hoaoythendaha) 18 Recursion 1% Fecisos companos 1 Rea ea (Dae) 2 Redes nosis 18 FRedondoe 183 Fats entree dines 12 Faroscar (AM snares) et Flor ce cnspazanion ® Regio de esta 19 Regio eon im Regisros ve gis (CPU) 13 gists (0SP) i Regios da drocisa ” Figlas (zeyloge) 14 ls 2 Fit 6 Fel tengoreaann ci Fete pt (veo 15 eset cru) 10 Psat itp “ Resist do remantcén (CMOS on mede ina) @ 199 Resistencia de pulup 24,38 Resistencia intama (eegradoe) x slur (vdo0) 13 Festa flvion 186 sar de prepagacien (contador evineroro0) 60 esars con AC trigior Schmit) o Rearos @ popagacon puetes % Fasrigootna (moncestables 54 Row (vides) ne Fingioa (linea) 2 FISC (mcroprocesadores) 143 Row 73,88 Raracn (nicroprccesidores) 182 Fudnas de interruption 182 ezao. READ2, RSAAS (etindar) 124 FIL (rtogados histércos 4 Tablas (microprocesadores) 178 Tiempo de subida 2 LUART (pueros sre) ao Urasonicns 7 Unbales 15,65 Unbrales asinéticos 77.) 2 LUnbralesseparacos trig Schmit 6 Unidad contra (CPU) 134 ro yore lagios Us@ festinda)| 124 Velo (mieroprocesacbres) ae Valouta fensores) ° Valea de tansmia6n [putts see) 154 Valid y storsion(obacapiasoes) 130 Verilog lenguaie) 128 VHDL (lengua) ia Veo digi ° VLSI (ive de integrin Watchdog 172 XOR (micoprocesadcres) “ ZXOR (operacen los) XOR con 2 Zerocrossng 200 Resistencia de pulup 24,38 Resistencia intama (eegradoe) x slur (vdo0) 13 Festa flvion 186 sar de prepagacien (contador evineroro0) 60 esars con AC trigior Schmit) o Rearos @ popagacon puetes % Fasrigootna (moncestables 54 Row (vides) ne Fingioa (linea) 2 FISC (mcroprocesadores) 143 Row 73,88 Raracn (nicroprccesidores) 182 Fudnas de interruption 182 ezao. READ2, RSAAS (etindar) 124 FIL (rtogados histércos 4 Tablas (microprocesadores) 178 Tiempo de subida 2 LUART (pueros sre) ao Urasonicns 7 Unbales 15,65 Unbrales asinéticos 77.) 2 LUnbralesseparacos trig Schmit 6 Unidad contra (CPU) 134 ro yore lagios Us@ festinda)| 124 Velo (mieroprocesacbres) ae Valouta fensores) ° Valea de tansmia6n [putts see) 154 Valid y storsion(obacapiasoes) 130 Verilog lenguaie) 128 VHDL (lengua) ia Veo digi ° VLSI (ive de integrin Watchdog 172 XOR (micoprocesadcres) “ ZXOR (operacen los) XOR con 2 Zerocrossng 200 http://susp andozesi as .blogspot.com http://flamnem 90. blogspot.com tus http://vide@ss . blogspot.com

You might also like