descripcion general sistemas electronicos -

179
INSTITUTO TECNOLOGICO DE VERACRUZ CARRERA: INGENIERIA MECANICA MATERIA: SISTEMAS ELECTRONICOS CATEDRATICO: ING. CAÑAS ORTEGA JAIME DE JESUS TRABAJO FINAL DESCRIPCION GENERAL DE SISTEMAS ELECTRONICOS ALUMNO: ROMERO LUGO HUMBERTO NUM. DE CONTROL: E11021393 FECHA DE ELABORACION: 31 DE MAYO DEL 2012 OBSERVACIONES: _______________________________ ________________________________________________. ________________________________________________.

Upload: humberto-romero

Post on 25-Jul-2015

273 views

Category:

Documents


11 download

DESCRIPTION

descripcion general materia de sistemas electronicos plan 2010 de ing. mecanica de institutos tecnologicos en mexico

TRANSCRIPT

Page 1: Descripcion General Sistemas Electronicos -

INSTITUTO TECNOLOGICO DE

VERACRUZ

CARRERA: INGENIERIA MECANICA

MATERIA: SISTEMAS ELECTRONICOS

CATEDRATICO: ING. CAÑAS ORTEGA JAIME DE JESUS

TRABAJO FINAL DESCRIPCION GENERAL DE

SISTEMAS ELECTRONICOS

ALUMNO: ROMERO LUGO HUMBERTO

NUM. DE CONTROL: E11021393

FECHA DE ELABORACION: 31 DE MAYO DEL 2012

OBSERVACIONES: _______________________________

________________________________________________.

________________________________________________.

Page 2: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 2

SISTEMAS

ELECTRONICOS

Page 3: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 3

INDICE:

UNIDAD 1 DIODOS DE UNION Y TRANSISTORES DE UNION BIPOLAR

PAG 005 1.1 INTRODUCCION A LOS ELEMENTOS DE ELECTRONICA BASICA

PAG 015 1.2 UNION PN

PAG 019 1.3 CURVA CARACTERISTICA TENSION-CORRIENTE

PAG 023 1.4 DIODO IDEAL, DIODO REAL, Y APLICACIONES DE LOS DIODOS

PAG 028 1.5 CARACTERISTICAS Y FUNCIONAMIENTO DEL TRANSISTOR BJT

PAG 034 1.6 AMPLIFICACION Y CONMUTACION CON TRANSISTORES BJT

PAG 040 1.7 CARACTERISTICAS, FUNCIONAMIENTO Y APLICACION DE TRANSISTORES DE EFECTO DE CAMPO Y MOSFET

UNIDAD 2 AMPLIFICADORES OPERACIONALES Y TEMPORIZADORES

PAG 051 2.1 CARACTERISTICAS DE UN AMPLIFICADOR IDEAL

PAG 053 2.2 AMPLIFICADOR INVERSOR Y NO INVERSOR, SEGUIDOR DE VOLTAJE

PAG 055 2.3 SUMA DE SENALES CON AMPLIFICADOR OPERACIONAL

PAG 056 2.4 FUNCION DIFERENCIAL E INTEGRAL CON AMPLIFICADOR OPERACIONAL

PAG 060 2.5 CIRCUITOS TEMPORIZADORES

UNIDAD 3 ALGEBRA BOOLEANA

PAG 068 3.1 SISTEMAS NUMERICOS Y TEOREMAS Y POSTULADOS

PAG 080 3.2 FUNCIONES E IMPLEMENTACIONES DE COMPUERTAS LOGICAS

PAG 081 3.3 MINIMIZACION Y CIRCUITOS SECUENCIALES

PAG 088 3.4 MAPAS DE KARNAUGH

Page 4: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 4

INDICE:

UNIDAD 4 CIRCUITOS COMBINACIONALES Y SECUENCIALES

PAG 091 4.1 CODIFICADORES Y DECODIFICADORES

PAG 092 4.2 MULTIPLEXORES Y DEMULTIPLEXORES

PAG 108 4.3 FLIP-FLOPS Y CONTADORES BINARIOS

PAG 120 4.4 REGISTROS DE CORRIMIENTO

PAG 122 4.5 MEMORIAS ROM, RAM Y EPROM

PAG 128 4.6 CONVERTIDOR A D Y D A

UNIDAD 5 DISPOSITIVOS DE CONTROL

PAG 141 5.1 MICROPROCESADORES.

PAG 151 5.2 MICROCONTROLADORES.

PAG 162 5.3 IMPLEMENTACION DE PROGRAMAS BASICOS

Page 5: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 5

Unidad 1 Diodos de union y transistores de Union Bipolar

1.1 Introduccion a los elementos de electronica basica

La electrónica ocupa un lugar muy importante en la sociedad actual, forma parte de la industria, del hogar, de la medicina, etc. Se puede definir como la ciencia que estudia los fenómenos producidos por la circulación de electrones a través de sólidos, gases, e incluso el vacío. La tecnología electrónica aplica estos fenómenos para crear ordenadores, televisores, robots, sistemas de control de frigoríficos, el ABS de los coches, etc. Sin embargo para llegar a disponer de la tecnología electrónica tal y como la conocemos en la actualidad, esta ha pasado por una serie de etapas:

1. Válvulas de vacío: Constituyen los primeros elementos usado en electrónica. Estas están basadas en el descubrimiento por parte de Edison de que en el vacío se podían producir diferentes fenómenos de conducción eléctrica.

2. Semiconductores: Son materiales como el Silicio y el Germanio, que se caracterizan por permitir el paso de la corriente eléctrica o no según unas determinadas condiciones. Los dispositivos electrónicos obtenidos con estos materiales sustituyeron con gran éxito a los dispositivos construidos con válvulas de vacío pues son mas fiables, consumen menos energía, trabajan a tensiones mas bajas, etc. Gracias a los materiales semiconductores se pueden construir los primeros transistores.

3. Circuito integrado: es un dispositivo que contiene en un espacio muy pequeño centenares de miles de transistores. Gracias a estos dispositivos los equipos electrónicos han reducido mucho su tamaño, pasando por ejemplo de ordenadores que ocupaban plantas de un edificio a los pequeños ordenadores que tenemos en casa.

El funcionamiento de cualquier dispositivo electrónico esta basado en una serie de componentes básicos, como son la resistencia, el transistor, el diodo, que veremos a lo largo de la unidad. Estos componentes permiten modificar los valores que presenta la corriente eléctrica.

CLASIFICACIÓN DE LOS COMPONENTES ELECTRÓNICOS La clasificación principal es en;

A. Componentes Activos.- Son los que suministran energía eléctrica a un circuito (Pilas, baterías, etc) o bien modifican o amplían algún valor de la corriente eléctrica como su intensidad, su tensión, etc (transistores, diodos, etc).

B. Componentes Pasivos.- Actúan como cargas para un circuito eléctrico, pero por si solos ni modifican ni generan corriente eléctrica alguna.

Page 6: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 6

RESISTENCIAS Se clasifican de la manera siguiente:

A. De valor fijo: Su valor óhmico no se puede modificar.

B. De valor variable: Su valor óhmico se puede modificar según circunstancias: o Termistores: Son resistencias cuyo valor óhmico depende de la temperatura. Su uso principal es para la medida de la temperatura y la protección de motores, pero pueden tener otros muchos usos:

1.- Símbolo para representar un Termistor. 2.- Encendido de una lámpara

según la temperatura.

Si el valor de la resistencia aumenta con la temperatura se denominan PTC y si disminuye se denominan NTC. o Resistencia sensibles a la Luz (LDR): Varía su resistencia según la cantidad de luz que incide sobre ella. Se puede utilizar como detector de luminosidad en sistemas de alumbrado público.

3.- Funcionamiento de una LDR como interruptor para encender una bombilla o Potenciómetros: Es una resistencia variable que se caracteriza por presentar tres patitas. Entre las patitas que se encuentran en los extremos la resistencia es máxima y entre cualquiera de la patitas y la central la resistencia dependerá de la posición en la que se encuentre la patita central.

Page 7: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 7

CONDENSADOR Es un elemento electrónico capaz de almacenar temporalmente cargas eléctricas. Están

constituidos por dos placas metálicas separadas por un material aislante que recibe el nombre de

dieléctrico.

La capacidad del condensador se mide en Faradios y es la relación

que existe entre la carga del condesador y el voltaje a que está

sometido.

Esta capacidad depende de la superficie de sus armaduras y de su separación entre ellas. Así a mayor superficie de placas y menor separación entre ellas, el condensador tiene mayor capacidad. El funcionamiento del condensador (si lo conectamos a una pila como en el dibujo) es el siguiente:

CARGA DE UN CONDENSADOR DESCARGA DE UN CONDENSADOR

Carga.- En un primer momento el condensador iniciará su carga aumentando la diferencia de potencial (Voltaje) existente entre las placas. Durante este proceso que continuará hasta que el voltaje entre las placas sea igual al de la pila la bombilla permanecerá encendida. Cuando el voltaje entre las placas sea igual al de la pila, la bombilla se apagará. El condensador permanecerá cargado aunque se desconecte de la pila.

Descarga.- Cuando se cambie el interruptor de posición se cerrará el circuito entre la placas y estas se descargarán permaneciendo la bombilla encendida mientras dure el proceso de descarga.

Page 8: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 8

MATERIALES SEMICONDUCTORES Dependiendo del grado en que los materiales conducen la corriente eléctrica estos se pueden clasificar en tres grandes grupos: Conductores, Semiconductores y Aislantes. En electrónica los materiales semiconductores son los más utilizados. Entre los materiales conductores, que conducen la electricidad con una resistencia relativamente baja, y los materiales aislantes, que no conducen la electricidad, nos encontramos una gama de materiales con propiedades propias que denominamos semiconductores. El diodo y otros muchos componentes electrónicos están construidos con materiales semiconductores. Los materiales semiconductores mas utilizados son el Silicio y Germanio, a los que se añade pequeñas cantidades de impurezas de otros materiales para aumentar su conductividad eléctrica. Según el tipo de impurezas añadidas tenemos: Materiales semiconductores Tipo N, obtenidos al añadir impurezas como el Fósforo o el Antimonio y se caracterizan por tener gran tendencia a ceder electrones (pues tienen en exceso).

Material semiconductor Tipo N, donde los puntos redondos representan el exceso de electrones que fácilmente cederán, quedando de esta forma cargados positivamente.

Materiales semiconductores Tipo P, obtenidos al añadir impureza como el Boro o el Indio y se caracterizan por tener una gran tendencia a captar electrones (pues en su estructura presentan gran número de huecos).

Material semiconductor Tipo P, donde los puntos cuadrados representan huecos que fácilmente captarán electrones, quedando cargados negativamente.

Page 9: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 9

DIODOS Es un componente electrónico que permite el paso de la corriente en un sentido y lo impide en el

contrario. Está provisto de ánodo y cátodo, y de manera general conduce la corriente en el sentido

ánodo-cátodo. Se representa:

Símbolo que representa un diodo.

El diodo se obtiene a partir de la unión de materiales semiconductores P y N:

Diodo formado a partir de la .

Los diodos se polarizan cuando se conectan a circuito eléctrico. Esta polarización puede ser directa o inversa:

Polarización directa: Se produce cuando el polo positivo del generador eléctrico se une al ánodo del diodo (zona tipo P) y el polo negativo al cátodo (zona tipo N). En este caso el diodo deja pasar la corriente.

Polarización inversa: se produce cuando los polos positivo y negativo del generador eléctrico se conectan al contrario. En este caso el diodo no permite el paso de la corriente. Esta característica permite que los diodos sean utilizados como interruptores. Además cuando el diodo está conduciendo, la caída de tensión entre sus extremos es muy pequeña, alrededor de 0,7 voltios. Además del diodo que acabamos de estudiar, existen otros tipos de diodos usados ampliamente en electrónica:

1. Diodo LED.- Es un diodo que cuando está polarizado directamente emite radiaciones luminosas. Su uso mas habitual es en equipos electrónicos como indicadores luminosos.

2. Fotodiodo.- Es un diodo que tiene la propiedad de conducir si está polarizado correctamente e incide luz sobre el. Su uso mas habitual es como sensor en los mandos a distancia.

3. Diodo ZENER.- Es un diodo especialmente diseñado para trabajar con tensiones inversas. Es decir puede conducir en sentido contrario al habitual sin dañarse. Esto lo hace con una caída de tensión fija entre sus extremos, por lo que se usa para fijar la tensión. 4. Diodo dependiente de la temperatura.-Es un diodo que tiene la propiedad de conducir si está polarizado correctamente y la temperatura es la adecuada.

Page 10: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 10

TRANSISTOR

Es el elemento electrónico por excelencia. Aunque existen muchos tipos, todos se caracterizan por estar constituidos por tres terminales y porque mediante la regulación de la señal en uno de ellos es posible controlar el paso de la corriente eléctrica entre los otros dos terminales. Los primeros transistores que aparecieron fueron los transistores de unión. Estos están formados por

un semiconductor dopado en dos regiones con impureza tipo P o N y en la otra región con la

impureza contraria.

TUBOS DE VACÍO

Un tubo de vacío consiste en una cápsula de vidrio de la que se ha extraído el aire, y que lleva en su interior varios electrodos metálicos. Un tubo sencillo de dos elementos (diodo) está formado por un cátodo y un ánodo, este último conectado al terminal positivo de una fuente de alimentación. El cátodo (un pequeño tubo metálico que se calienta mediante un filamento) libera electrones que migran hacia él (un cilindro metálico en torno al cátodo, también llamado placa). Si se aplica una tensión alterna al ánodo, los electrones sólo fluirán hacia el ánodo durante el semiciclo positivo; durante el ciclo negativo de la tensión alterna, el ánodo repele los electrones, impidiendo que cualquier corriente pase a través del tubo. Los diodos conectados de tal manera que sólo permiten los semiciclos positivos de una corriente alterna (CA) se denominan tubos rectificadores y se emplean en la conversión de corriente alterna a corriente continua (CC) (véase Electricidad). Al insertar una rejilla, formada por un hilo metálico en espiral, entre el cátodo y el ánodo, y aplicando una tensión negativa a dicha rejilla, es posible controlar el flujo de electrones. Si la rejilla es negativa, los repele y sólo una pequeña fracción de los electrones emitidos por el cátodo pueden llegar al ánodo. Este tipo de tubo, denominado triodo, puede utilizarse como amplificador. Las pequeñas variaciones de la tensión que se producen en la rejilla, como las generadas por una señal de radio o de sonido, pueden provocar grandes variaciones en el flujo de electrones desde el cátodo hacia el ánodo y, en consecuencia, en el sistema de circuitos conectado al ánodo.

CIRCUITOS INTEGRADOS

La mayoría de los circuitos integrados son pequeños trozos, o chips, de silicio, de entre 2 y 4 mm2, sobre los que se fabrican los transistores. La fotolitografía permite al diseñador crear centenares de miles de transistores en un solo chip situando de forma adecuada las numerosas regiones tipo n y p. Durante la fabricación, estas regiones son interconectadas mediante conductores minúsculos, a fin

Page 11: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 11

de producir circuitos especializados complejos. Estos circuitos integrados son llamados monolíticos por estar fabricados sobre un único cristal de silicio. Los chips requieren mucho menos espacio y potencia, y su fabricación es más barata que la de un circuito equivalente compuesto por transistores individuales.

REÓSTATOS

Al conectar una batería a un material conductor, una determinada cantidad de corriente fluirá a través de dicho material. Esta corriente depende de la tensión de la batería, de las dimensiones de la muestra y de la conductividad del propio material. Los reóstatos de resistencia conocida se emplean para controlar la corriente en los circuitos electrónicos. Se elaboran con mezclas de carbono, láminas metálicas o hilo de resistencia, y disponen de dos cables de conexión. Los reóstatos variables, con un brazo de contacto deslizante y ajustable, suelen utilizarse para controlar el volumen de radios y televisiones.

INDUCTORES

Los inductores consisten en un hilo conductor enrollado en forma de bobina. Al pasar una corriente a través de la bobina, alrededor de la misma se crea un campo magnético que tiende a oponerse a los cambios bruscos de la intensidad de la corriente (véase Inducción). Al igual que un condensador, un inductor puede utilizarse para diferenciar entre señales rápida y lentamente cambiantes. Al utilizar un inductor conjuntamente con un condensador, la tensión del inductor alcanza un valor máximo a una frecuencia específica que depende de la capacitancia y de la inductancia. Este principio se emplea en los receptores de radio al seleccionar una frecuencia específica mediante un condensador variable.

DISPOSITIVOS DE DETECCIÓN Y TRANSDUCTORES

La medición de magnitudes mecánicas, térmicas, eléctricas y químicas se realiza empleando dispositivos denominados sensores y transductores. El sensor es sensible a los cambios de la magnitud a medir, como una temperatura, una posición o una concentración química. El transductor convierte estas mediciones en señales eléctricas, que pueden alimentar a instrumentos de lectura, registro o control de las magnitudes medidas. Los sensores y transductores pueden funcionar en ubicaciones alejadas del observador, así como en entornos inadecuados o impracticables para los seres humanos.

Algunos dispositivos actúan de forma simultánea como sensor y transductor. Un termopar consta de dos uniones de diferentes metales que generan una pequeña tensión que depende del diferencial término entre las uniones. El termistor es un reóstato especial, cuya resistencia varía según la temperatura. Un reóstato variable puede convertir el movimiento mecánico en señal eléctrica. Para medir distancias se emplean condensadores de diseño especial, y para detectar la luz se utilizan fotocélulas (véase Célula fotoeléctrica). Para medir velocidades, aceleración o flujos de líquidos se recurre a otro tipo de dispositivos. En la mayoría de los casos, la señal eléctrica es débil y debe ser amplificada por un circuito electrónico.

CIRCUITOS DE ALIMENTACIÓN ELÉCTRICA

Page 12: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 12

La mayoría de los equipos electrónicos requieren tensiones de CC para su funcionamiento. Estas tensiones pueden ser suministradas por baterías o por fuentes de alimentación internas que convierten la corriente alterna, que puede obtenerse de la red eléctrica que llega a cada vivienda, en tensiones reguladas de CC. El primer elemento de una fuente de alimentación de CC interna es el transformador, que eleva o disminuye la tensión de entrada a un nivel adecuado para el funcionamiento del equipo. La función secundaria del transformador es servir como aislamiento de masa (conexión a tierra) eléctrica del dispositivo a fin de reducir posibles peligros de electrocución. A continuación del transformador se sitúa un rectificador, que suele ser un diodo.

Las fluctuaciones y ondulaciones superpuestas a la tensión de CC rectificada (percibidas como un zumbido en los amplificadores de sonido defectuosos) pueden filtrarse mediante un condensador. Cuanto más grande sea el condensador, menor será el nivel de fluctuación de la tensión. Es posible alcanzar un control más exacto sobre los niveles y fluctuaciones de tensión mediante un regulador de tensión, que también consigue que las tensiones internas sean independientes de las fluctuaciones que puedan encontrarse en un artefacto eléctrico. Un sencillo regulador de tensión que se utiliza a menudo es el diodo de Zener, formado por un diodo de unión pn de estado sólido que actúa como aislante hasta una tensión predeterminada. Por encima de dicha tensión, se convierte en un conductor que deriva los excesos de tensión. Por lo general, los reguladores de tensión más sofisticados se construyen como circuitos integrados.

CIRCUITOS AMPLIFICADORES

Los amplificadores electrónicos se utilizan sobre todo para aumentar la tensión, la corriente o la potencia de una señal. Los amplificadores lineales incrementan la señal sin distorsionarla (o distorsionándola mínimamente), de manera que la salida es proporcional a la entrada. Los amplificadores no lineales permiten generar un cambio considerable en la forma de onda de la señal. Los amplificadores lineales se utilizan para señales de sonido y vídeo, mientras que los no lineales se emplean en osciladores, dispositivos electrónicos de alimentación, moduladores, mezcladores, circuitos lógicos y demás aplicaciones en las que se requiere una reducción de la amplitud. Aunque los tubos de vacío tuvieron gran importancia en los amplificadores, hoy día suelen utilizarse circuitos de transistores discretos o circuitos integrados.

AMPLIFICADORES DE SONIDO

Los amplificadores de sonido, de uso común en radios, televisiones y grabadoras de cintas, suelen funcionar a frecuencias inferiores a los 20 kilohercios (1 kHz = 1.000 ciclos por segundo). Amplifican la señal eléctrica que, a continuación, se convierte en sonido con un altavoz. Los amplificadores operativos, incorporados en circuitos integrados y formados por amplificadores lineales multifásicos acoplados a la corriente continua, son muy populares como amplificadores de sonido.

AMPLIFICADORES DE VÍDEO

Los amplificadores de vídeo se utilizan principalmente para señales con un rango de frecuencias de hasta 6 megahercios (1 MHz = 1 millón de ciclos por segundo). La señal generada por el amplificador se convierte en la información visual que aparece en la pantalla de televisión, y la amplitud de señal regula el brillo de los puntos que forman la imagen. Para realizar esta función, un amplificador de

Page 13: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 13

vídeo debe funcionar en una banda ancha y amplificar de igual manera todas las señales, con baja distorsión. Véase Grabación de vídeo.

AMPLIFICADORES DE RADIOFRECUENCIA

Estos amplificadores aumentan el nivel de señal de los sistemas de comunicaciones de radio o televisión. Por lo general, sus frecuencias van desde 100 kHz hasta 1 gigahercio (1 GHz = 1.000 millones de ciclos por segundo), y pueden llegar incluso al rango de frecuencias de microondas.

OSCILADORES

Los osciladores constan de un amplificador y de algún tipo de retroalimentación: la señal de salida se reconduce a la entrada del amplificador. Los elementos determinantes de la frecuencia pueden ser un circuito de inductancia-capacitancia sintonizado o un cristal vibrador. Los osciladores controlados por cristal ofrecen mayor precisión y estabilidad. Los osciladores se emplean para producir señales de sonido y de radio en una amplia variedad de usos. Por ejemplo, los osciladores sencillos de radiofrecuencia se emplean en los modernos teléfonos de teclas para transmitir datos a la estación telefónica central al marcar un número. Los tonos de sonido generados por los osciladores también pueden encontrarse en relojes despertadores, radios, instrumentos electrónicos, computadoras y sistemas de alarma. Los osciladores de alta frecuencia se emplean en equipos de comunicaciones para controlar las funciones de sintonización y detección de señales. Las emisoras de radio y de televisión utilizan osciladores de alta frecuencia y de gran precisión para generar las frecuencias de transmisión.

CIRCUITOS DE CONMUTACIÓN Y TEMPORIZACIÓN

Los circuitos de conmutación y temporización, o circuitos lógicos, forman la base de cualquier dispositivo en el que se tengan que seleccionar o combinar señales de manera controlada. Entre los campos de aplicación de estos tipos de circuitos pueden mencionarse la conmutación telefónica, las transmisiones por satélite y el funcionamiento de las computadoras digitales.

La lógica digital es un proceso racional para adoptar sencillas decisiones de 'verdadero' o 'falso' basadas en las reglas del álgebra de Boole. Verdadero puede estar representado por un 1, y falso por un 0, y en los circuitos lógicos estos numerales aparecen como señales de dos tensiones diferentes. Los circuitos lógicos se utilizan para adoptar decisiones específicas de 'verdadero-falso' sobre la base de la presencia de múltiples señales 'verdadero-falso' en las entradas. Las señales se pueden generar por conmutadores mecánicos o por transductores de estado sólido. La señal de entrada, una vez aceptada y acondicionada (para eliminar las señales eléctricas indeseadas, o ruidos), es procesada por los circuitos lógicos digitales. Las diversas familias de dispositivos lógicos digitales, por lo general circuitos integrados, ejecutan una variedad de funciones lógicas a través de las llamadas puertas lógicas, como las puertas OR, AND y NOT y combinaciones de las mismas (como 'NOR', que incluye a OR y a NOT). Otra familia lógica muy utilizada es la lógica transistor-transistor. También se emplea la lógica de semiconductor complementario de óxido metálico, que ejecuta funciones similares a niveles de potencia muy bajos pero a velocidades de funcionamiento ligeramente inferiores. Existen también muchas otras variedades de circuitos lógicos, incluyendo la hoy obsoleta lógica reóstato-transistor y la lógica de acoplamiento por emisor, utilizada para sistemas de muy altas velocidades.

Page 14: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 14

Los bloques elementales de un dispositivo lógico se denominan puertas lógicas digitales. Una puerta Y (AND) tiene dos o más entradas y una única salida. La salida de una puerta Y es verdadera sólo si todas las entradas son verdaderas. Una puerta O (OR) tiene dos o más entradas y una sola salida. La salida de una puerta O es verdadera si cualquiera de las entradas es verdadera, y es falsa si todas las entradas son falsas. Una puerta INVERSORA (INVERTER) tiene una única entrada y una única salida, y puede convertir una señal verdadera en falsa, efectuando de esta manera la función negación (NOT). A partir de las puertas elementales pueden construirse circuitos lógicos más complicados, entre los que pueden mencionarse los circuitos biestables (también llamados flip-flops, que son interruptores binarios), contadores, comparadores, sumadores y combinaciones más complejas.

Page 15: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 15

1.2 Union PN

Se denomina unión P-N a la estructura fundamental de los componentes electrónicos comúnmente denominados semiconductores, principalmente diodos y transistores BJT. Está formada por la unión metalúrgica de dos cristales, generalmente de Silicio (Si), aunque también se fabrican de Germanio (Ge), de naturalezas P y N según su composición a nivel atómico. Estos tipos de cristal se obtienen al dopar cristales de metal puro intencionadamente con impurezas, normalmente con algún otro metal o compuesto químico.

Silicio puro o "intrínseco"

Malla cristalina del Silicio puro.

Los cristales de Silicio están formados a nivel atómico por una malla cristalina basada en enlaces covalentes que se producen gracias a los 4 electrones de valencia del átomo de Silicio. Junto con esto existe otro concepto que cabe mencionar: el de hueco. Los huecos, como su nombre indica, son el lugar que deja un electrón cuando deja la capa de valencia y se convierte en un electrón libre. Esto es lo que se conoce como pares electrón - hueco y su generación se debe a la temperatura (como una aplicación, al caso, de las leyes de la termodinámica) o a la luz (efecto fotoeléctrico). En un semiconductor puro (intrínseco) se cumple que, a temperatura constante, el número de huecos es igual al de electrones libres.

Silicio "extrínseco" tipo "P"

Un Semiconductor tipo P se obtiene llevando a cabo un proceso de dopado, sustituyéndole algunos de los átomos de un semiconductor intrínseco por átomos con menos electrones de valencia que el semiconductor anfitrión, normalmente trivalente, es decir con 3 electrones en la capa de valencia (normalmente boro), al semiconductor para poder aumentar el número de portadores de carga libres (en este caso positivos, huecos).

Cuando el material dopante es añadido, éste libera los electrones más débilmente vinculados de los átomos del semiconductor. Este agente dopante es también conocido como impurezas aceptoras.

El propósito del dopaje tipo P es el de crear abundancia de huecos. En el caso del silicio, una impureza trivalente deja un enlace covalente incompleto, haciendo que, por difusión, uno de los átomos vecinos le ceda un electrón completando así sus cuatro enlaces. Así los dopantes crean los "huecos". Cada hueco está asociado con un ion cercano cargado negativamente, por lo que el semiconductor se mantiene eléctricamente neutro en general. No obstante, cuando cada hueco se ha desplazado por la red, un protón del átomo situado en la posición del hueco se ve "expuesto" y en breve se ve equilibrado por un electrón. Por esta razón un hueco se comporta como una cierta carga positiva. Cuando un número suficiente de aceptores son añadidos, los huecos superan ampliamente

Page 16: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 16

la excitación térmica de los electrones. Así, los huecos son los portadores mayoritarios, mientras que los electrones son los portadores minoritarios en los materiales tipo P. Los diamantes azules (tipo IIb), que contienen impurezas de boro (B), son un ejemplo de un semiconductor tipo P que se produce de manera natural.

Silicio "extrínseco" tipo "N"

Un Semiconductor tipo N se obtiene llevando a cabo un proceso de dopado añadiendo un cierto tipo de elemento, normalmente pentavalente, es decir con 5 electrones en la capa de valencia, al semiconductor para poder aumentar el número de portadores de carga libres (en este caso, negativos, electrones libres).

Cuando el material dopante es añadido, éste aporta sus electrones más débilmente vinculados a los átomos del semiconductor. Este tipo de agente dopante es también conocido como impurezas donantes ya que cede uno de sus electrones al semiconductor.

El propósito del dopaje tipo N es el de producir abundancia de electrones libres en el material. Para ayudar a entender cómo se produce el dopaje tipo N considérese el caso del silicio (Si). Los átomos del silicio tienen una valencia atómica de cuatro, por lo que se forma un enlace covalente con cada uno de los átomos de silicio adyacentes. Si un átomo con cinco electrones de valencia, tales como los del grupo VA de la tabla periódica (ej. fósforo (P), arsénico (As) o antimonio (Sb)), se incorpora a la red cristalina en el lugar de un átomo de silicio, entonces ese átomo tendrá cuatro enlaces covalentes y un electrón no enlazado. Este electrón extra da como resultado la formación de electrones libres, el número de electrones en el material supera ampliamente el número de huecos, en ese caso los electrones son los portadores mayoritarios y los huecos son los portadores minoritarios. A causa de que los átomos con cinco electrones de valencia tienen un electrón extra que "dar", son llamados átomos donantes. Nótese que cada electrón libre en el semiconductor nunca está lejos de un ion dopante positivo inmóvil, y el material dopado tipo N generalmente tiene una carga eléctrica neta final de cero.

Barrera interna de potencial

Al unir ambos cristales, se manifiesta una difusión de

electrones del cristal n al p (Je).

Al establecerse estas corrientes aparecen cargas fijas en una zona a ambos lados de la unión, zona que recibe diferentes denominaciones como barrera interna de potencial, zona de carga espacial, de agotamiento o empobrecimiento, de deplexión, de vaciado, etc.

A medida que progresa el proceso de difusión, la zona de carga espacial va incrementando su anchura profundizando en los cristales a ambos lados de la unión. Sin embargo, la acumulación de iones positivos en la zona n y de iones

Page 17: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 17

negativos en la zona p, crea un campo eléctrico (E) que actuará sobre los electrones libres de la zona n con una determinada fuerza de desplazamiento, que se opondrá a la corriente de electrones y terminará deteniéndolos.

Este campo eléctrico es equivalente a decir que aparece una diferencia de tensión entre las zonas p y n. Esta diferencia de potencial (V0) es de 0,7 V en el caso del silicio y 0,3 V si los cristales son de germanio.

La anchura de la zona de carga espacial una vez alcanzado el equilibrio, suele ser del orden de 0,5 micras pero cuando uno de los cristales está mucho más dopado que el otro, la zona de carga espacial es mucho mayor.

Polarización directa de la unión P - N

En este caso, la batería disminuye la barrera de potencial de la

zona de carga espacial, permitiendo el paso de la corriente de

electrones a través de la unión; es decir, el diodo polarizado

directamente conduce la electricidad.

Se produce cuando se conecta el polo positivo de la pila a la parte P de la unión P - N y la negativa a la N. En estas condiciones podemos observar que:

El polo negativo de la batería repele los electrones libres del cristal n, con lo que estos electrones se dirigen hacia la unión p-n.

El polo positivo de la batería atrae a los electrones de valencia del cristal p, esto es equivalente a decir que empuja a los huecos hacia la unión p-n.

Cuando la diferencia de potencial entre los bornes de la batería es mayor que la diferencia de potencial en la zona de carga espacial, los electrones libres del cristal n, adquieren la energía suficiente para saltar a los huecos del cristal p, los cuales previamente se han desplazado hacia la unión p-n.

Una vez que un electrón libre de la zona n salta a la zona p atravesando la zona de carga espacial, cae en uno de los múltiples huecos de la zona p convirtiéndose en electrón de valencia. Una vez ocurrido esto el electrón es atraído por el polo positivo de la batería y se desplaza de átomo en átomo hasta llegar al final del cristal p, desde el cual se introduce en el hilo conductor y llega hasta la batería.

De este modo, con la batería cediendo electrones libres a la zona n y atrayendo electrones de valencia de la zona p, aparece a través del diodo una corriente eléctrica constante hasta el final.

Page 18: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 18

Polarización inversa de la unión P - N

En este caso, el polo negativo de la batería se conecta a la

zona p y el polo positivo a la zona n, lo que hace aumentar la

zona de carga espacial, y la tensión en dicha zona hasta que

se alcanza el valor de la tensión de la batería, tal y como se

explica a continuación:

El polo positivo de la batería atrae a los electrones libres de la zona n, los cuales salen del cristal n y se introducen en el conductor dentro del cual se desplazan hasta llegar a la batería. A medida que los electrones libres abandonan la zona n, los átomos pentavalentes que antes eran neutros, al verse desprendidos de su electrón en el orbital de conducción, adquieren estabilidad (8 electrones en la capa de valencia) y

una carga eléctrica neta de +1, con lo que se convierten en iones positivos. El polo negativo de la batería cede electrones libres a los átomos trivalentes de la zona p.

Recordemos que estos átomos sólo tienen 3 electrones de valencia, con lo que una vez que han formado los enlaces covalentes con los átomos de silicio, tienen solamente 7 electrones de valencia, siendo el electrón que falta el denominado hueco. El caso es que cuando los electrones libres cedidos por la batería entran en la zona p, caen dentro de estos huecos con lo que los átomos trivalentes adquieren estabilidad (8 electrones en su orbital de valencia) y una carga eléctrica neta de -1, convirtiéndose así en iones negativos.

Este proceso se repite una y otra vez hasta que la zona de carga espacial adquiere el mismo potencial eléctrico que la batería.

En esta situación, el diodo no debería conducir la corriente; sin embargo, debido al efecto de la temperatura se formarán pares electrón-hueco a ambos lados de la unión produciendo una pequeña corriente (del orden de 1 μA) denominada corriente inversa de saturación. Además, existe también una denominada corriente superficial de fugas la cual, como su propio nombre indica, conduce una pequeña corriente por la superficie del diodo; ya que en la superficie, los átomos de silicio no están rodeados de suficientes átomos para realizar los cuatro enlaces covalentes necesarios para obtener estabilidad. Esto hace que los átomos de la superficie del diodo, tanto de la zona n como de la p, tengan huecos en su orbital de valencia con lo que los electrones circulan sin dificultad a través de ellos. No obstante, al igual que la corriente inversa de saturación, la corriente superficial de fugas es despreciable.

Page 19: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 19

1.3 Curva caracteristica tension-corriente

Puede demostrarse mediante la física del estado sólido que las características generales de un diodo semiconductor pueden definirse por la siguiente ecuación:

Donde ID = Corriente que atraviesa el diodo VD = Tensión (diferencia de potencial) entre los extremos del diodo q = carga del electrón en Culombios = 1,6 E-19 C K = constante de Boltzman = 8,62 E-5 eV/K T = Temperatura en Kelvin.

Símbolo del diodo (unión p-n). Sentidos de tensión y corriente para la curva característica Para niveles bajos de tensión (en o bajo la rodilla de la curva)

= 1 para el Ge = 2 para el Si

Para niveles relativamente altos de corriente (zona de ascenso rápido de la curva)

= 1 tanto para Si como para el Ge. Por otra parte, se denomina “tensión equivalente de temperatura” a:

Page 20: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 20

Así, por ejemplo, para temperatura ambiente (T = 300 K) VT = 0,026 V = 26 mV. La ecuación del diodo se suele escribir a veces en la forma

Curva característica del diodo. Para valores de tensión positivos y varias veces superior a VT, puede despreciarse el 1 del paréntesis de la ecuación de Shockley, de forma que, salvo para un pequeño margen en las proximidades del origen, la corriente aumenta exponencialmente con la tensión. Cuando polarizamos el diodo en inversa con una tensión cuyo módulo sea varias veces superior a VT tendremos que ID - IS para cualquier valor de VD.

Page 21: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 21

Tensión Umbral V . También es conocida como tensión de codo. Para valores de tensión inferiores a V la corriente es muy pequeña (aún en polarización directa). El diodo no conduce bien hasta que la tensión aplicada sobrepasa la barrera de potencial. Por esto, para las primeras decenas de voltio la corriente es muy pequeña. A medida que nos acercamos al valor de V los portadores mayoritarios de las respectivas zonas (e- de la zona n y h+ de la zona p) comienzan a atravesar la unión en grandes cantidades, por lo que la corriente crece rápidamente (de forma exponencial, como ya se ha comentado). Para tensiones superiores a la tensión umbral, pequeños aumentos de tensión producen grandes aumentos de corriente. El valor de esta tensión de 0,7 V para el Si y de 0,3 V para el Ge.

Corriente inversa de saturación IS. También se la conoce como corriente de fugas (IO). Está originada térmicamente, no depende de la tensión aplicada, sino de la temperatura. Se puede decir que su valor se duplica cada 10 ºC.

Corriente de pico. Es la máxima corriente que puede soportar el diodo en directa sin quemarse. Es un dato que proporciona el fabricante en las hojas de características del dispositivo (datasheets) y nos da distintos valores dependiendo del tipo de corriente que circule por el diodo (no será lo mismo si la corriente es continua, si es alterna o si son picos de sobrecorriente).

Tensión de ruptura. Cuando en un diodo aplicamos una tensión inversa, a su través circula la corriente inversa de saturación (IS) y en la zona de carga aparece una tensión igual a la tensión inversa aplicada. Sin embargo, esta tensión no puede aumentarse todo lo que se desee ya que existe un valor de tensión (tensión de ruptura) a partir del cual el diodo comienza a conducir intensamente. Para pequeños aumentos de tensión inversa se tienen grandes incrementos de corriente. Si no conseguimos evacuar toda la potencia calorífica generada por efecto Joule, el diodo se rompe. Esta ruptura se puede deber a dos efectos:

Efecto avalancha. Al mismo tiempo que la tensión a través del diodo se incrementa en la región de polarización inversa, la velocidad de los portadores minoritarios (responsables de IS) también se incrementa. A la larga, sus velocidades y sus energías cinéticas serán suficientes para liberar portadores adicionales mediante colisiones con estructuras atómicas de otro modo estables. Esto es, resultará un proceso de ionización por medio del que los e- de valencia absorberán energía suficiente para abandonar el átomo padre. Estos portadores adicionales pueden así ayudar al proceso de ionización, hasta el punto en que se establezca una elevada corriente de avalancha y se determina la región de “ruptura de avalancha”.

Efecto Zener.

Page 22: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 22

Cuando un diodo está muy dopado la zona de deplexión es muy estrecha. A causa de ello, el campo eléctrico en esta zona es muy intenso. Cuando el campo eléctrico es muy elevado ( 300 000 V/cm) el campo puede extraer los e- de sus órbitas de valencia. La creación de e- libres de esta manera recibe el nombre de efecto zener (también conocido como “emisión de campo intenso”). Este efecto es diferente del efecto avalancha que requiere que los portadores minoritarios con grandes velocidades desliguen e- de valencia mediante choques. El efecto zener depende solamente de la intensidad del campo eléctrico. El efecto zener ocurre para valores de tensión inferiores a 4 V, mientras que el efecto avalancha requiere tensiones superiores a 6 V. Para valores de tensión comprendidos entre los 4 y los 6 V pueden coexistir ambos efectos sin prevalecer uno sobre otro. A la mayoría de los diodos no se les permite llegar a la ruptura (usualmente > 50 V ). Sin embargo, en otros casos, se busca trabajar en la zona inversa

Resistencia estática o de corriente continua.

Es la resistencia que presenta el diodo en el punto de operación.

Varía ampliamente dependiendo de la zona de trabajo. En la zona de polarización inversa RD es del orden de los M .

En la zona entre 0 y V RD es del orden de las centenas de . En la zona de conducción ( VD > V ) RD es del orden de las decenas o unidades de .

Resistencia dinámica o de corriente alterna. Viene definida por la pendiente de la curva en el punto de funcionamiento

Page 23: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 23

1.4 Diodo ideal, diodo real, y aplicaciones de los diodos

EL DIODO COMO ELEMENTO DE UN CIRCUITO

Vamos a resolver el circuito de la figura

Sistema de ecuaciones no lineales. Se resuelve por métodos iterativos.

El punto A intersección de la recta de carga con la curva del diodo es el punto de funcionamiento.

Page 24: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 24

APROXIMACIONES DEL DIODO - Primera Aproximación.

Podemos distinguir 3 zonas distintas de funcionamiento: a) Diodo en polarización inversa (VD 0)

En esta zona la curva del diodo es una recta que pasa por el origen de pendiente 1/Rr, por tanto, el diodo se comporta como una resistencia de valor Rr.

Cuando un diodo esté en inversa lo sustituiremos en el circuito por una resistencia Rr.

b) Diodo en directa con tensión menor que la tensión umbral (0 VD V ) En esta zona el diodo se comporta como un circuito abierto (la corriente a su través es nula independientemente de la tensión). Por tanto cuando un diodo esté en inversa lo sustituiremos por un circuito abierto.

c) Diodo en conducción (VD V ) En esta zona la curva característica del diodo es una recta que corta al eje de tensiones en el punto

V y tiene una pendiente 1/Rf. Es decir, se comporta como una resistencia en serie con una fuente de tensión de valor V . (Es importante observar que el polo positivo de esta fuente debe estar del lado del ánodo y el negativo del cátodo) Por tanto, cuando un diodo esté en conducción podremos sustituirlo en el circuito correspondiente por una resistencia de valor Rf y una fuente de tensión de valor V

Page 25: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 25

Segunda Aproximación.

Surge al despreciar el efecto de la resistencia en inversa (esta es de un valor muy elevado, del orden de los M ). El valor de esta resistencia normalmente es mucho mayor que los valores de las resistencias utilizadas en los circuitos más habituales, por tanto podremos aproximar que su valor es infinito. Ahora podemos distinguir 2 zonas de funcionamiento.

a) Diodo en corte (VD V )

El diodo se comporta como un circuito abierto.

b) Diodo en conducción ( VD V )

En esta zona la característica del diodo es exactamente igual al caso c del la primera aproximación, por tanto, habrá que sustituir al diodo por una resistencia de valor Rf y una fuente de tensión de valor V

Page 26: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 26

Tercera aproximación.

Cuando un diodo está en conducción la resistencia que opone al paso de la corriente es muy pequeña (Rf es del orden de unos pocos ). Si en el circuito en el que se encuentre el diodo, las resistencias presentes son de valores muy superiores al de Rf (esto sucede habitualmente en la mayoría de las aplicaciones prácticas), podremos despreciar esta resistencia haciendo Rf = 0. De esta forma surge la tercera aproximación. Seguimos teniendo dos zonas de funcionamiento.

a) Diodo en corte ( VD V )

El diodo se comporta como un circuito abierto.

b) Diodo en conducción ( VD V ) El diodo se comporta como una fuente de tensión de valor V . (Tenemos lo mismo que en la aproximación anterior haciendo Rf = 0.

Page 27: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 27

Cuarta aproximación. Diodo ideal.

Si el diodo es de Si, sabemos que V = 0,7 V (0,2 V si fuese de Ge). Por tanto, si las tensiones con las que trabajamos en el circuito son muy superiores a este valor, podremos despreciar estos 0,7 V sin cometer un gran error. La cuarta aproximación, conocida como diodo ideal, surge al despreciar V .

a) Diodo en corte ( VD 0 )

El diodo se comporta como un circuito abierto.

b) Diodo en conducción ( VD 0 )

El diodo se comporta como un cortocircuito.

Cuando se utiliza la aproximación de diodo ideal, podemos observar como el funcionamiento de un diodo se asemeja al de un interruptor.

Page 28: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 28

1.5 CARACTERISTICAS Y FUNCIONAMIENTO DEL TRANSISTOR BJT

El transistor de unión bipolar (del inglés Bipolar Junction Transistor, o sus siglas BJT) es un dispositivo electrónico de estado sólido consistente en dos uniones PN muy cercanas entre sí, que permite controlar el paso de la corriente a través de sus terminales. La denominación de bipolar se debe a que la conducción tiene lugar gracias al desplazamiento de portadores de dos polaridades (huecos positivos y electrones negativos), y son de gran utilidad en gran número de aplicaciones; pero tienen ciertos inconvenientes, entre ellos su impedancia de entrada bastante baja.

Los transistores bipolares son los transistores más conocidos y se usan generalmente en electrónica analógica aunque también en algunas aplicaciones de electrónica digital, como la tecnología TTL o BICMOS.

Un transistor de unión bipolar está formado por dos Uniones PN en un solo cristal semiconductor, separados por una región muy estrecha. De esta manera quedan formadas tres regiones:

Emisor, que se diferencia de las otras dos por estar fuertemente dopada, comportándose como un metal. Su nombre se debe a que esta terminal funciona como emisor de portadores de carga.

Base, la intermedia, muy estrecha, que separa el emisor del colector. Colector, de extensión mucho mayor.

La técnica de fabricación más común es la deposición epitaxial. En su funcionamiento normal, la unión base-emisor está polarizada en directa, mientras que la base-colector en inversa. Los portadores de carga emitidos por el emisor atraviesan la base, porque es muy angosta, hay poca recombinación de portadores, y la mayoría pasa al colector. El transistor posee tres estados de operación: estado de corte, estado de saturación y estado de actividad.

Estructura

Un transistor de unión bipolar consiste en tres regiones semiconductoras dopadas: la región del emisor, la región de la base y la región del colector. Estas regiones son, respectivamente, tipo P, tipo N y tipo P en un PNP, y tipo N, tipo P, y tipo N en un transistor NPN. Cada región del semiconductor está conectada a un terminal, denominado emisor (E), base (B) o colector (C), según corresponda.

Page 29: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 29

Corte transversal simplificado de un transistor de unión bipolar NPN. Donde se puede apreciar como

la unión base-colector es mucho más amplia que la base-emisor.

La base está físicamente localizada entre el emisor y el colector y está compuesta de material semiconductor ligeramente dopado y de alta resistividad. El colector rodea la región del emisor, haciendo casi imposible para los electrones inyectados en la región de la base escapar de ser colectados, lo que hace que el valor resultante de α se acerque mucho hacia la unidad, y por eso, otorgarle al transistor un gran β.

El transistor de unión bipolar, a diferencia de otros transistores, no es usualmente un dispositivo simétrico. Esto significa que intercambiando el colector y el emisor hacen que el transistor deje de funcionar en modo activo y comience a funcionar en modo inverso. Debido a que la estructura interna del transistor está usualmente optimizada para funcionar en modo activo, intercambiar el colector con el emisor hacen que los valores de α y β en modo inverso sean mucho más pequeños que los que se podrían obtener en modo activo; muchas veces el valor de α en modo inverso es menor a 0.5. La falta de simetría es principalmente debido a las tasas de dopaje entre el emisor y el colector. El emisor está altamente dopado, mientras que el colector está ligeramente dopado, permitiendo que pueda ser aplicada una gran tensión de reversa en la unión colector-base antes de que esta colapse. La unión colector-base está polarizada en inversa durante la operación normal. La razón por la cual el emisor está altamente dopado es para aumentar la eficiencia de inyección de portadores del emisor: la tasa de portadores inyectados por el emisor en relación con aquellos inyectados por la base. Para una gran ganancia de corriente, la mayoría de los portadores inyectados en la unión base-emisor deben provenir del emisor.

El bajo desempeño de los transistores bipolares laterales muchas veces utilizados en procesos CMOS es debido a que son diseñados simétricamente, lo que significa que no hay diferencia alguna entre la operación en modo activo y modo inverso.

Pequeños cambios en la tensión aplicada entre los terminales base-emisor genera que la corriente que circula entre el emisor y el colector cambie significativamente. Este efecto puede ser utilizado para amplificar la tensión o corriente de entrada. Los BJT pueden ser pensados como fuentes de corriente controladas por tensión, pero son caracterizados más simplemente como fuentes de corriente controladas por corriente, o por amplificadores de corriente, debido a la baja impedancia de la base.

Los primeros transistores fueron fabricados de germanio, pero la mayoría de los BJT modernos están compuestos de silicio. Actualmente, una pequeña parte de éstos (los transistores bipolares de heterojuntura) están hechos de arseniuro de galio, especialmente utilizados en aplicaciones de alta velocidad.

Page 30: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 30

Funcionamiento

Característica idealizada de un transistor bipolar.

En una configuración normal, la unión emisor-base se polariza en directa y la unión base-colector en inversa. Debido a la agitación térmica los portadores de carga del emisor pueden atravesar la barrera de potencial emisor-base y llegar a la base. A su vez, prácticamente todos los portadores que llegaron son impulsados por el campo eléctrico que existe entre la base y el colector.

Un transistor NPN puede ser considerado como dos diodos con la región del ánodo compartida. En una operación típica, la unión base-emisor está polarizada en directa y la unión base-colector está polarizada en inversa. En un transistor NPN, por ejemplo, cuando una tensión positiva es aplicada en la unión base-emisor, el equilibrio entre los portadores generados térmicamente y el campo eléctrico repelente de la región agotada se desbalancea, permitiendo a los electrones excitados térmicamente inyectarse en la región de la base. Estos electrones "vagan" a través de la base, desde la región de alta concentración cercana al emisor hasta la región de baja concentración cercana al colector. Estos electrones en la base son llamados portadores minoritarios debido a que la base está dopada con material P, los cuales generan "huecos" como portadores mayoritarios en la base.

La región de la base en un transistor debe ser constructivamente delgada, para que los portadores puedan difundirse a través de esta en mucho menos tiempo que la vida útil del portador minoritario del semiconductor, para minimizar el porcentaje de portadores que se recombinan antes de alcanzar la unión base-colector. El espesor de la base debe ser menor al ancho de difusión de los electrones.

Control de tensión, carga y corriente

La corriente colector-emisor puede ser vista como controlada por la corriente base-emisor (control de corriente), o por la tensión base-emisor (control de voltaje). Esto es debido a la relación tensión-corriente de la unión base-emisor, la cual es la curva tensión-corriente exponencial usual de una unión PN (es decir, un diodo).

En el diseño de circuitos analógicos, el control de corriente es utilizado debido a que es aproximadamente lineal. Esto significa que la corriente de colector es aproximadamente β veces la corriente de la base. Algunos circuitos pueden ser diseñados asumiendo que la tensión base-emisor

Page 31: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 31

es aproximadamente constante, y que la corriente de colector es β veces la corriente de la base. No obstante, para diseñar circuitos utilizando BJT con precisión y confiabilidad, se requiere el uso de modelos matemáticos del transistor como el modelo Ebers-Moll.

El Alfa y Beta del transistor

Una forma de medir la eficiencia del BJT es a través de la proporción de electrones capaces de cruzar la base y alcanzar el colector. El alto dopaje de la región del emisor y el bajo dopaje de la región de la base pueden causar que muchos más electrones sean inyectados desde el emisor hacia la base que huecos desde la base hacia el emisor. La ganancia de corriente emisor común está

representada por o por hfe. Esto es aproximadamente la tasa de corriente continua de colector a la corriente continua de la base en la región activa directa y es típicamente mayor a 100. Otro parámetro importante es la ganancia de corriente base común, . La ganancia de corriente base común es aproximadamente la ganancia de corriente desde emisor a colector en la región activa directa. Esta tasa usualmente tiene un valor cercano a la unidad; que oscila entre 0.98 y 0.998. El Alfa y Beta están más precisamente determinados por las siguientes relaciones (para un transistor NPN):

Tipos de Transistor de Unión Bipolar

NPN

El símbolo de un transistor NPN.

NPN es uno de los dos tipos de transistores bipolares, en los cuales las letras "N" y "P" se refieren a los portadores de carga mayoritarios dentro de las diferentes regiones del transistor. La mayoría de los transistores bipolares usados hoy en día son NPN, debido a que la movilidad del electrón es mayor que la movilidad de los "huecos" en los semiconductores, permitiendo mayores corrientes y velocidades de operación.

Page 32: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 32

Los transistores NPN consisten en una capa de material semiconductor dopado P (la "base") entre dos capas de material dopado N. Una pequeña corriente ingresando a la base en configuración emisor-común es amplificada en la salida del colector.

La flecha en el símbolo del transistor NPN está en la terminal del emisor y apunta en la dirección en la que la corriente convencional circula cuando el dispositivo está en funcionamiento activo.

PNP

El otro tipo de transistor de unión bipolar es el PNP con las letras "P" y "N" refiriéndose a las cargas mayoritarias dentro de las diferentes regiones del transistor. Pocos transistores usados hoy en día son PNP, debido a que el NPN brinda mucho mejor desempeño en la mayoría de las circunstancias.

El símbolo de un transistor PNP.

Los transistores PNP consisten en una capa de material semiconductor dopado N entre dos capas de material dopado P. Los transistores PNP son comúnmente operados con el colector a masa y el emisor conectado al terminal positivo de la fuente de alimentación a través de una carga eléctrica externa. Una pequeña corriente circulando desde la base permite que una corriente mucho mayor circule desde el emisor hacia el colector.

La flecha en el transistor PNP está en el terminal del emisor y apunta en la dirección en la que la corriente convencional circula cuando el dispositivo está en funcionamiento activo

Regiones operativas del transistor

Los transistores de unión bipolar tienen diferentes regiones operativas, definidas principalmente por la forma en que son polarizados:

Región activa:

corriente del emisor = (β + 1)·Ib ; corriente del colector= β·Ib

Page 33: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 33

Cuando un transistor no está ni en su región de saturación ni en la región de corte entonces

está en una región intermedia, la región activa. En esta región la corriente de colector (Ic)

depende principalmente de la corriente de base (Ib), de β (ganancia de corriente, es un dato

del fabricante) y de las resistencias que se encuentren conectadas en el colector y emisor.

Esta región es la más importante si lo que se desea es utilizar el transistor como un

amplificador de señal.

Región inversa:

Al invertir las condiciones de polaridad del funcionamiento en modo activo, el transistor bipolar

entra en funcionamiento en modo inverso. En este modo, las regiones del colector y emisor

intercambian roles. Debido a que la mayoría de los BJT son diseñados para maximizar la

ganancia de corriente en modo activo, el parámetro beta en modo inverso es drásticamente

menor al presente en modo activo.

Región de corte: Un transistor está en corte cuando:

corriente de colector = corriente de emisor = 0, (Ic = Ie = 0)

En este caso el voltaje entre el colector y el emisor del transistor es el voltaje de alimentación

del circuito. (como no hay corriente circulando, no hay caída de voltaje, ver Ley de Ohm). Este

caso normalmente se presenta cuando la corriente de base = 0 (Ib =0)

De forma simplificada, se puede decir que el la unión CE se comporta como un circuito

abierto, ya que la corriente que lo atraviesa es cero.

Región de saturación: Un transistor está saturado cuando:

corriente de colector ≈ corriente de emisor = corriente maxima, (Ic ≈ Ie = Imax)

En este caso la magnitud de la corriente depende del voltaje de alimentación del circuito y de

las resistencias conectadas en el colector o el emisor o en ambos, ver Ley de Ohm. Se

presenta cuando la diferencia de potencial entre el colector y el emisor desciende por debajo

del valor umbral VCE,sat. Cuando el transistor esta el saturación, la relación lineal de

amplificación Ic=β·Ib (y por ende, la relación Ie=(β+1)·Ib ) no se cumple.

De forma simplificada, se puede decir que el la unión CE se comporta como un cable, ya que

la diferencia de potencial entre C y E es muy próxima a cero.

Como se puede ver, la región activa es útil para la electrónica analógica (especialmente útil para amplificación de señal) y las regiones de corte y saturación, para la electrónica digital, representando el estado lógico alto y bajo, respectivamente.

Page 34: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 34

1.6 AMPLIFICACION Y CONMUTACION CON TRANSISTORES BJT

El transistor bipolar como amplificador

El comportamiento del transistor se puede ver como dos diodos (Modelo de Ebers-Moll), uno entre base y emisor, polarizado en directo y otro diodo entre base y colector, polarizado en inverso. Esto quiere decir que entre base y emisor tendremos una tensión igual a la tensión directa de un diodo, es decir 0,6 a 0,8 V para un transistor de silicio y unos 0,4 para el germanio.

Lo interesante del dispositivo es que en el colector tendremos una corriente proporcional a la corriente de base: IC = β IB, es decir, ganancia de corriente cuando β>1. Para transistores normales de señal, β varía entre 100 y 300.

Entonces, existen tres configuraciones para el amplificador:

Emisor común

Emisor común.

La señal se aplica a la base del transistor y se extrae por el colector. El emisor se conecta a las masas tanto de la señal de entrada como a la de salida. En esta configuración se tiene ganancia tanto de tensión como de corriente y alta impedancia de entrada. En caso de tener resistencia de emisor, RE > 50 Ω, y para frecuencias bajas, la ganancia en tensión se aproxima bastante bien por la

siguiente expresión: ; y la impedancia de salida, por RC

Como la base está conectada al emisor por un diodo en directo, entre ellos podemos suponer una tensión constante, Vg. También supondremos que β es constante. Entonces tenemos que la tensión

de emisor es:

Y la corriente de emisor: .

La corriente de emisor es igual a la de colector más la de base:

. Despejando

Page 35: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 35

La tensión de salida, que es la de colector se calcula como:

Como β >> 1, se puede aproximar: y, entonces,

Que podemos escribir como

Vemos que la parte es constante (no depende de la señal de entrada), y la parte

nos da la señal de salida. El signo negativo indica que la señal de salida está desfasada 180º respecto a la de entrada.

Finalmente, la ganancia queda:

La corriente de entrada, , que aproximamos por .

Suponiendo que VB>>Vg, podemos escribir:

y la impedancia de entrada:

Para tener en cuenta la influencia de frecuencia se deben utilizar modelos de transistor más elaborados. Es muy frecuente usar el modelo en pi.

Page 36: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 36

Base común

Base común.

La señal se aplica al emisor del transistor y se extrae por el colector. la base se conecta a las masas tanto de la señal de entrada como a la de salida. En esta configuración se tiene ganancia sólo de tensión. La impedancia de entrada es baja y la ganancia de corriente algo menor que uno, debido a que parte de la corriente de emisor sale por la base. Si añadimos una resistencia de emisor, que puede ser la propia impedancia de salida de la fuente de señal, un análisis similar al realizado en el

caso de emisor común, nos da la ganancia aproximada siguiente: .

La base común se suele utilizar para adaptar fuentes de señal de baja impedancia de salida como, por ejemplo, micrófonos dinámicos.

Colector común

Colector común.

La señal se aplica a la base del transistor y se extrae por el emisor. El colector se conecta a las masas tanto de la señal de entrada como a la de salida. En esta configuración se tiene ganancia de corriente, pero no de tensión que es ligeramente inferior a la unidad. La impedancia de entrada es alta, aproximadamente β+1 veces la impedancia de carga. Además, la impedancia de salida es baja, aproximadamente β veces menor que la de la fuente de señal.

Page 37: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 37

TRANSISTOR BJT COMO CONMUTADOR

Aplicar los transistores no se limita únicamente a la amplificación de señales. A través de un diseño adecuado pueden utilizarse como un interruptor para computadora y para aplicaciones de control. Puede emplearse como un inversor en los circuitos lógicos de las computadoras.

Observe la figura 4.24 donde el voltaje de salida Vc es opuesto al que se aplicó sobre la base o a la terminal de entrada. También obsérvese la ausencia de una fuente de dc conectada al circuito de la base. La única fuente de dc está conectada al colector o lado de la salida, y para las aplicaciones de computadoras normalmente es igual a la magnitud del nivel "alto" de la señal aplicada, en este caso 5 V.

Figura 4.24. Transistor inversor.

El diseño ideal para el proceso de inversión requiere que el punto de operación conmute de corte a la saturación, pero a lo largo de la recta de carga descrita en la figura 4.52. para estos propósitos se asumirá que Ic = Iceo = 0 mA cuando IB = 0 µA (una excelente aproximación de acuerdo con las mejoras de las técnicas de fabricación).

Cuando Vi = 5 V, el transistor se encontrará "encendido" y el diseño debe asegurar que la red está saturada totalmente por un nivel de IB mayor asociado con la curva IB, que aparece cerca del nivel de saturación. El nivel de saturación para la corriente del colector y para el circuito está definido por: ICsat = Vcc/ Rc

Page 38: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 38

TRANSISTOR COMO INTERRUPTOR

Un transistor funciona como un interruptor para el circuito conectado al colector (Rc) si se hace pasar

rápidamente de corte a saturación y viceversa. En corte es un interruptor abierto y en saturación es

un interruptor cerrado. Los datos para calcular un circuito de transistor como interruptor son: el

voltaje del circuito que se va a encender y la corriente que requiere con ese voltaje. El voltaje Vcc se

hace igual al voltaje nominal del circuito, y la corriente corresponde a la corriente Icsat. Se calcula la

corriente de saturación mínima, luego la resistencia de base mínima:

IBSAT min = Icsat /

RBMax = Von/IBsat min

Donde Von es el voltaje en la resistencia de base para encender el circuito, el circuito debe usar una

RB por lo menos 4 veces menor que RBmax.

Adicionalmente se debe asegurar un voltaje en RB de apagado Voff que haga que el circuito entre en

corte.

La principal aplicación de transistor como interruptor es en los circuitos e integrados lógicos, allí se

mantienen trabajando los transistores entre corte o en saturación, en otro campo se aplican para

activar y desactivar relés, en este caso como la carga es inductiva (bobina del relé) al pasar el

transistor de saturación a corte se presenta la "patada inductiva" que al ser repetitiva quema el

transistor se debe hacer una protección con un diodo en una aplicación llamada diodo volante.

Page 39: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 39

1.7 CARACTERISTICAS, FUNCIONAMIENTO Y APLICACION DE TRANSISTORES DE EFECTO DE CAMPO Y MOSFET

JFET

Esquema interno del transistor JFET canal P.

El JFET (Junction Field-Effect Transistor, en español transistor de efecto de campo de juntura o unión) es un dispositivo electrónico, esto es, un circuito que, según unos valores eléctricos de entrada, reacciona dando unos valores de salida. En el caso de los JFET, al ser transistores de efecto de campo eléctrico, estos valores de entrada son las tensiones eléctricas, en concreto la tensión entre los terminales S (fuente) y G (puerta), VGS. Según este valor, la salida del transistor presentará una curva característica que se simplifica definiendo en ella tres zonas con ecuaciones definidas: corte, óhmica y saturación.

Físicamente, un JFET de los denominados "canal P" está formado por una pastilla de semiconductor tipo P en cuyos extremos se sitúan dos patillas de salida (drenador y fuente) flanqueada por dos regiones con dopaje de tipo N en las que se conectan dos terminales conectados entre sí (puerta). Al aplicar una tensión positiva VGS entre puerta y fuente, las zonas N crean a su alrededor sendas zonas en las que el paso de electrones (corriente ID) queda cortado, llamadas zonas de exclusión. Cuando esta VGS sobrepasa un valor determinado, las zonas de exclusión se extienden hasta tal punto que el paso de electrones ID entre fuente y drenador queda completamente cortado. A ese valor de VGS se le denomina Vp. Para un JFET "canal N" las zonas p y n se invierten, y las VGS y Vp son negativas, cortándose la corriente para tensiones menores que Vp.

Así, según el valor de VGS se definen dos primeras zonas; una activa para tensiones negativas mayores que Vp (puesto que Vp es también negativa) y una zona de corte para tensiones menores que Vp. Los distintos valores de la ID en función de la VGS vienen dados por una gráfica o ecuación denominada ecuación de entrada.

En la zona activa, al permitirse el paso de corriente, el transistor dará una salida en el circuito que viene definida por la propia ID y la tensión entre el drenador y la fuente VDS. A la gráfica o ecuación que relaciona estás dos variables se le denomina ecuación de salida, y en ella es donde se distinguen las dos zonas de funcionamiento de activa: óhmica y saturación.

Ecuaciones del transistor JFET

Gráfica de entrada y de salida de un transistor JFET canal

n. Las correspondientes al canal p son el reflejo horizontal

de éstas.

Mediante la gráfica de entrada del transistor se pueden deducir las expresiones analíticas que permiten analizar

Page 40: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 40

matemáticamente el funcionamiento de este. Así, existen diferentes expresiones para las distintas zonas de funcionamiento.

Para |VGS| < |Vp| (zona activa), la curva de valores límite de ID viene dada por la expresión:

Siendo la IDSS la ID de saturación que atraviesa el transistor para VGS = 0, la cual viene dada por la expresión:

Los puntos incluidos en esta curva representan las ID y VGS (punto de trabajo, Q) en zona de saturación, mientras que los puntos del área inferior a ésta representan la zona óhmica.

Para |VGS| > |Vp| (zona de corte):

Ecuación de salida

En la gráfica de salida se pueden observar con más detalle los dos estados en los que el JFET permite el paso de corriente. En un primer momento, la ID va aumentando progresivamente según lo

hace la tensión de salida VDS. Esta curva viene dada por la expresión: que

suele expresarse como , siendo:

Por tanto, en esta zona y a efectos de análisis, el transistor puede ser sustituido por una resistencia de valor Ron, con lo que se observa una relación entre la ID y la VDS definida por la Ley de Ohm. Esto hace que a esta zona de funcionamiento se le denomina zona óhmica.

A partir de una determinada VDS la corriente ID deja de aumentar, quedándose fija en un valor al que se denomina ID de saturación o IDSAT. El valor de VDS a partir del cual se entra en esta nueva zona de

funcionamiento viene dado por la expresión: . Esta IDSAT, característica de cada circuito, puede calcularse mediante la expresión:

Page 41: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 41

MOSFET

Estructura del MOSFET en donde se muestran las terminales de compuerta (G), sustrato (B),

surtidor (S) y drenador (D). La compuerta está separada del cuerpo por medio de una capa de

aislante (blanco).

Dos MOSFETs de potencia con encapsulado TO-263 de montaje superficial. Cuando operan como

interruptores, cada uno de estos componentes puede mantener una tensión de bloqueo de 120

voltios en el estado apagado, y pueden conducir una corriente continua de 30 amperios en el estado

encendido, disipando alrededor de 100 watts de potencia y controlando cargas de alrededor de 2000

watts. Un fósforo se muestra como referencia de escala.

Una sección transversal de un nMOSFET cuando la tensión VGS está por debajo de la tensión de

umbral requerida para formar el canal conductor; no existe corriente o existe muy poca entre las

terminales del surtidor y el drenador, y el interruptor está apagado. Cuando la tensión de compuerta

aumenta y es positiva, atrae electrones, induciendo un canal de tipo n en el sustrato debajo del

óxido, que permite el flujo de electrones entre las terminales dopadas de tipo n, y el interruptor está

encendido.

El transistor de efecto de campo metal-óxido-semiconductor o MOSFET (en inglés Metal-oxide-semiconductor Field-effect transistor) es un transistor utilizado para amplificar o conmutar señales

Page 42: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 42

electrónicas. Aunque el MOSFET es un dispositivo de cuatro terminales llamadas surtidor (S), drenador (D), compuerta (G) y sustrato (B), el sustrato generalmente está conectado internamente a la terminal del surtidor, y por este motivo se pueden encontrar dispositivos de tres terminales similares a otros transistores de efecto de campo. El transistor MOSFET está basado en la estructura MOS. Es el transistor más utilizado en la industria microelectrónica, ya sea en circuitos analógicos o digitales, aunque el transistor de unión bipolar fue mucho más popular en otro tiempo. Prácticamente la totalidad de los microprocesadores comerciales están basados en transistores MOSFET.

En los MOSFET de enriquecimiento, una diferencia de tensión entre el electrodo de la compuerta y el substrato induce un canal conductor entre los contactos de drenador y surtidor, gracias al efecto de campo. El término enriquecimiento hace referencia al incremento de la conductividad eléctrica debido a un aumento de la cantidad de portadores de carga en la región correspondiente al canal, que también es conocida como la zona de inversión. El canal puede formarse con un incremento en la concentración de electrones (en un nMOSFET o nMOS), o huecos (en un pMOSFET o pMOS), en donde el sustrato tiene el tipo de dopado opuesto: un transistor nMOS se construye con un sustrato tipo p, mientras que un transistor pMOS se construye con un sustrato tipo n. Los MOSFET de empobrecimiento tienen un canal conductor que se debe hacer desaparecer mediante la aplicación de la tensión eléctrica en la compuerta, lo cual ocasiona una disminución de la cantidad de portadores de carga y una disminución respectiva de la conductividad.1

El término 'metal' en el nombre de los transistores MOSFET es actualmente incorrecto debido a que el material de la compuerta, que antes era metálico, ahora se construye con una capa de silicio policristalino. En sus inicios se utilizó aluminio para fabricar la compuerta, hasta mediados de 1970 cuando el silicio policristalino comenzó a dominar el mercado gracias a su capacidad de formar compuertas auto-alineadas. Las compuertas metálicas están volviendo a ganar popularidad, debido a que es complicado incrementar la velocidad de operación de los transistores sin utilizar componentes metálicos en la compuerta.

De manera similar, el 'óxido' utilizado como aislante en la compuerta también se ha reemplazado por otros materiales con el propósito de obtener canales fuertes con la aplicación de tensiones más pequeñas.

Un transistor de efecto de campo de compuerta aislada o IGFET (Insulated-gate field-effect transistor) es un término relacionado que es equivalente a un MOSFET. El término IGFET es un poco más inclusivo, debido a que muchos transistores MOSFET utilizan una compuerta que no es metálica, y un aislante de compuerta que no es un óxido. Otro dispositivo relacionado es el MISFET, que es un transistor de efecto de campo metal-aislante-semiconductor (Metal-insulator-semiconductor field-effect transistor).

Historia

El principio básico de operación de este tipo de transistor fue patentado por primera vez por el austrohúngaro Julius Edgar Lilienfeld en 1925. Debido a los requerimientos de carácter tecnológico para la fabricación de la intercara lisa y libre de defectos entre el sustrato dopado y aislante, este tipo de dispositivos no se logró fabricar hasta décadas más tarde, pero los fundamentos teóricos estaban contenidos en la patente original. Veinticinco años después, cuando la Bell Telephone Company intentó patentar el transistor de unión, encontraron que Lilienfeld tenía registrada a su nombre una

Page 43: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 43

patente que estaba escrita de una forma que incluía todos los tipos de transistores posibles. Los Laboratorios Bell lograron llegar a un acuerdo con Lilienfeld, quien todavía vivía en esa época (no se sabe si le pagaron por los derechos de la patente o no).[cita requerida] Fue en ese momento cuando los Laboratorios Bell crearon el transistor de unión bipolar, o simplemente transistor de unión, y el diseño de Lilienfeld's fue conservado con el nombre de transistor de efecto de campo.[cita requerida]

En 1959, Dawon Kahng y Martin M. (John) Atalla en los Laboratorios Bell inventaron el transistor de efecto de campo metal-óxido-semiconductor (MOSFET) como un avance y mejora sobre el diseño del transistor FET patentado.2

Con una operación y estructura completamente distintas al transistor bipolar de unión,3 el transistor MOSFET fue creado al colocar una capa aislante en la superficie de un semiconductor y luego colocando un electrodo metálico de compuerta sobre el aislante. Se utiliza silicio cristalino para el semiconductor base, y una capa de dióxido de silicio creada a través de oxidación térmica, que se utiliza como aislante. El MOSFET de silicio no no generaba trampas de electrones localizados entre la interfaz entre el silicio y la capa de óxido nativo, y por este motivo se veía libre de la dispersión y el bloqueo de portadores que limitaba el desempeño de los transistores de efecto de campo anteriores. Después del desarrollo de cuartos limpios para reducir los niveles de contaminación, y del desarrollo de la fotolitografía así como del proceso planar que permite construir circuitos en muy pocos pasos, el sistema Si-SiO2 obtuvo gran importancia debido a su bajo costo de producción por cada circuito, y la facilidad de integración. Adicionalmente, el método de acoplar dos MOSFET complementarios (de canal N y canal P) en un interruptor de estado alto/bajo, conocido como CMOS, implicó que los circuitos digitales disiparan una cantidad muy baja de potencia, excepto cuando son conmutados. Por estos tres factores, los transistores MOSFET se han convertido en el dispositivo utilizado más ampliamente en la construcción de circuitos integrados.

Símbolos de circuito

Existen distintos símbolos que se utilizan para representar el transistor MOSFET. El diseño básico consiste en una línea recta para dibujar el canal, con líneas que salen del canal en ángulo recto y luego hacia afuera del dibujo de forma paralela al canal, para dibujar el surtidor y el drenador. En algunos casos, se utiliza una línea segmentada en tres partes para el canal del MOSFET de enriquecimiento, y una línea sólida para el canal del MOSFET de empobrecimiento. Otra línea es dibujada en forma paralela al canal para destacar la compuerta.

La conexión del sustrato, en los casos donde se muestra, se coloca en la parte central del canal con una flecha que indica si el transistor es PMOS o NMOS. La flecha siempre apunta en la dirección P hacia N, de forma que un NMOS (Canal N en una tina P o sustrato P) tiene la flecha apuntando hacia adentro (desde el sustrato hacia el canal). Si el sustrato está conectado internamente al surtidor (como generalmente ocurre en dispositivos discretos) se conecta con una línea en el dibujo entre el sustrato y el surtidor. Si el sustrato no se muestra en el dibujo (como generalmente ocurre en el caso de los diseños de circuitos integrados, debido a que se utiliza un sustrato común) se utiliza un símbolo de inversión para identificar los transistores PMOS, y de forma alternativa se puede utilizar una flecha en el surtidor de forma similar a como se usa en los transistores bipolares (la flecha hacia afuera para un NMOS y hacia adentro para un PMOS).

Page 44: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 44

En esta figura se tiene una comparación entre los símbolos de los MOSFET de enriquecimiento y de empobrecimiento, junto con los símbolos para los JFET (dibujados con el surtidor y el drenador ordenados de modo que las tensiones más elevadas aparecen en la parte superior de la página).

Canal P

Canal N

JFET MOSFET Enriq. MOSFET Enriq. (sin sustrato) MOSFET Empob.

Para aquellos símbolos en los que la terminal del sustrato se muestra, aquí se representa conectada internamente al surtidor. Esta es la configuración típica, pero no significa que sea la única configuración importante. En general, el MOSFET es un dispositivo de cuatro terminales, y en los circuitos integrados muchos de los MOSFET comparten una conexión común entre el sustrato, que no está necesariamente conectada a las terminales del surtidor de todos los transistores.

Funcionamiento

Estructura metal-óxido-semiconductor

Metal–oxide–semiconductor structure on p-type silicon

Una estructura metal-óxido-semiconductor (MOS) tradicional se obtiene haciendo crecer una capa de dióxido de silicio (SiO2) sobre un sustrato de silicio, y luego depositando una capa de metal o silicio policristalino, siendo el segundo el más utilizado. Debido a que el dióxido de silicio es un material dieléctrico, esta estructura equivale a un condensador plano, en donde uno de los electrodos ha sido reemplazado por un semiconductor.

Cuando se aplica un potencial a través de la estructura MOS, se modifica la distribución de cargas en el semiconductor. Si consideramos un semiconductor de tipo p (con una densidad de aceptores NA), p es la densidad de huecos; p = NA en el silicio intrínseco), una tensión positiva VGB aplicada

Page 45: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 45

entre la compuerta y el sustrato (ver figura) crea una región de agotamiento debido a que los huecos cargados positivamente son repelidos de la interfaz entre el aislante de compuerta y el semiconductor. Esto deja expuesta una zona libre de portadores, que está constituida por los iones de los átomos aceptores cargados negativamente (ver Dopaje (semiconductores)). Si VGB es lo suficientemente alto, una alta concentración de portadores de carga negativos formará una región de inversión localizada en una franja delgada contigua a la interfaz entre el semiconductor y el aislante. De manera distinta al MOSFET, en donde la zona de inversión ocasiona que los portadores de carga se establezcan rápidamente a través del drenador y el surtidor, en un condensador MOS los electrones se generan mucho más lentamente mediante generación térmica en los centros de generación y recombinación de portadores que están en la región de agotamiento. De forma convencional, la tensión de compuerta a la cual la densidad volumétrica de electrones en la región de inversión es la misma que la densidad volumétrica de huecos en el sustrato se llama tensión de umbral.

Esta estructura con un sustrato de tipo p es la base de los transistores nMOSFET, los cuales requieren el dopado local de regiones de tipo n para el drenador y el surtidor.

Estructura MOSFET y formación del canal

Formación del canal en un MOSFET NMOS: Superior: Una

tensión de compuerta dobla las bandas de energía, y se agotan

los huecos de la superficie cercana a la compuerta (izquierda).

La carga que induce el doblamiento de bandas se equilibra con

una capa de cargas negativas de iones aceptores (derecha).

Inferior: Una tensión todavía mayor aplicada en la compuerta

agota los huecos, y la banda de conducción disminuye de forma

que se logra la conducción a través del canal.

Un transistor de efecto de campo metal-óxido-semiconductor (MOSFET) se basa en controlar la concentración de portadores de carga mediante un condensador MOS existente entre los electrodos del sustrato y la compuerta. La compuerta está localizada encima del sustrato y aislada de todas las demás regiones del dispositivo por una capa de dieléctrico, que en el caso del MOSFET es un óxido, como el dióxido de silicio. Si se utilizan otros materiales dieléctricos que no sean óxidos, el dispositivo es conocido como un transistor de efecto de campo metal-aislante-semiconductor (MISFET). Comparado con el condensador MOS, el MOSFET incluye dos terminales adicionales (surtidor y drenador), cada uno conectado a regiones altamente dopadas que están separadas por la región del sustrato. Estas regiones pueden ser de tipo p o n, pero deben ser ambas del mismo tipo, y del tipo opuesto al del sustrato. El surtidor y el drenador (de forma distinta al sustrato) están fuertemente dopadas y en la notación se indica con un signo '+' después del tipo de dopado.

Si el MOSFET es de canal n (NMOS) entonces las regiones de dopado para el surtidor y el drenador son regiones 'n+' y el sustrato es una región de tipo 'p'. Si el MOSFET es de canal p (PMOS) entonces las regiones de dopado para el surtidor y el drenador son regiones 'p+' y el sustrato es una región de tipo 'n'. El surtidor se denomina así porque es la fuente de los portadores de carga

Page 46: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 46

(electrones en el canal n, huecos en el canal p) que fluyen a través del canal; de forma similar, el drenador es el punto en el cual los portadores de carga abandonan el canal.

La ocupación de las bandas de energía en un semiconductor está determinada por la posición del nivel de Fermi con respecto a los bordes de las bandas de energía del semiconductor. Como se describe anteriormente, y como se puede apreciar en la figura, cuando se aplica una tensión de compuerta suficiente, el borde de la banda de valencia se aleja del nivel de Fermi, y los huecos presentes en el sustrato son repelidos de la compuerta. Cuando se polariza todavía más la compuerta, el borde de la banda de conducción se acerca al nivel de Fermi en la región cercana a la superficie del semiconductor, y esta región se llena de electrones en una región de inversión o un canal de tipo n originado en la interfaz entre el sustrato tipo p y el óxido. Este canal conductor se extiende entre el drenador y el surtidor, y la corriente fluye a través del dispositivo cuando se aplica un potencial entre el drenador y el surtidor. Al aumentar la tensión en la compuerta, se incrementa la densidad de electrones en la región de inversión y por lo tanto se incrementa el flujo de corriente entre el drenador y el surtidor.

Para tensiones de compuerta inferiores a la tensión de umbral, el canal no tiene suficientes portadores de carga para formar la zona de inversión, y de esta forma sólo una pequeña corriente de subumbral puede fluir entre el drenador y el surtidor.

Cuando se aplica una tensión negativa entre compuerta-surtidor (positiva entre surtidor-compuerta) se crea un canal de tipo p en una superficie del sustrato tipo n, de forma análoga al canal n, pero con polaridades opuestas para las cargas y las tensiones. Cuando una tensión menos negativa que la tensión de umbral es aplicada (una tensión negativa para el canal tipo p) el canal desaparece y sólo puede fluir una pequeña corriente de subumbral entre el drenador y el surtidor.

Modos de operación

La operación de un transistor MOSFET se puede dividir en tres diferentes regiones de operación, dependiendo de las tensiones en sus terminales. En la presente discusión se utiliza un modelo • algebraico que es válido para las tecnologías básicas antiguas, y se incluye aquí con fines didácticos. En los MOSFET modernos se requieren modelos computacionales que exhiben un comportamiento mucho más complejo.

Para un transistor NMOS de enriquecimiento se tienen las siguientes regiones:

Corte

Cuando VGS < Vth

en donde Vth es la tensión de umbral del transistor

De acuerdo con el modelo básico del transistor, en esta región el dispositivo se encuentra

apagado. No hay conducción entre el surtidor y el drenador, de modo que el MOSFET se

comporta como un interruptor abierto.

Un modelo más exacto considera el efecto de la energía térmica descrita por la distribución de

Boltzmann para las energías de los electrones, en donde se permite que los electrones con

Page 47: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 47

alta energía presentes en el surtidor ingresen al canal y fluyan hacia el drenador. Esto

ocasiona una corriente de subumbral, que es una función exponencial de la tensión entre

compuerta-surtidor. La corriente de subumbral está descrita aproximadamente por la siguiente

expresión:

en donde ID0 es la corriente que existe cuando VGS = Vth,

VT = kT/q es el voltaje térmico,

n = 1 + CD/COX

en donde CD es la capacitancia de la región de agotamiento, y

COX es la capacitancia de la capa de óxido

Región lineal

Cuando VGS > Vth y VDS < ( VGS – Vth )

Al polarizarse la puerta con una tensión mayor que la tensión de umbral, se crea una región

de deplexión en la región que separa la fuente y el drenador. Si esta tensión crece lo

suficiente, aparecerán portadores minoritarios (huecos en pMOS, electrones en nMOS) en la

región de deplexión que darán lugar a un canal de conducción. El transistor pasa entonces a

estado de conducción, de modo que una diferencia de potencial entre fuente y drenador dará

lugar a una corriente. El transistor se comporta como una resistencia controlada por la tensión

de puerta.

La corriente entre el drenador y el surtidor es modelada por medio de la ecuación:

donde es la movilidad efectiva de los portadores de carga, es el ancho de compuerta,

es la longitud de compuerta y es la capacitancia del óxido por unidad de área.

Saturación

Cuando VGS > Vth y VDS > ( VGS – Vth )

Cuando la tensión entre drenador y fuente supera cierto límite, el canal de conducción bajo la

puerta sufre un estrangulamiento en las cercanías del drenador y desaparece. La corriente

entre fuente y drenador no se interrumpe, ya que es debido al campo eléctrico entre ambos,

pero se hace independiente de la diferencia de potencial entre ambos terminales.

En esta región la corriente de drenador se modela con la siguiente ecuación:

Page 48: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 48

Modelos matemáticos

Para un MOSFET de canal inducido tipo n en su región lineal:

donde en la que b es el ancho del canal, la movilidad de los electrones, es la permitividad eléctrica de la capa de óxido, L la longitud del canal y W el espesor de capa de óxido.

Cuando el transistor opera en la región de saturación, la fórmula pasa a ser la siguiente:

Estas fórmulas son un modelo sencillo de funcionamiento de los transistores MOSFET, pero no tienen en cuenta un buen número de efectos de segundo orden, como por ejemplo:

Saturación de velocidad: La relación entre la tensión de puerta y la corriente de drenador no crece cuadráticamente en transistores de canal corto.

Efecto cuerpo o efecto sustrato: La tensión entre fuente y sustrato modifica la tensión umbral que da lugar al canal de conducción

Modulación de longitud de canal.

Aplicaciones

La forma más habitual de emplear transistores MOSFET es en circuitos de tipo CMOS, consistentes en el uso de transistores pMOS y nMOS complementarios. Véase Tecnología CMOS

Las aplicaciones de MOSFET discretos más comunes son:

Resistencia controlada por tensión. Circuitos de conmutación de potencia (HEXFET, FREDFET, etc). Mezcladores de frecuencia, con MOSFET de doble puerta.

Ventajas

La principal aplicación de los MOSFET está en los circuitos integrados, p-mos, n-mos y c-mos, debido a varias ventajas sobre los transistores bipolares:

Consumo en modo estático muy bajo.

Page 49: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 49

Tamaño muy inferior al transistor bipolar (actualmente del orden de media micra). Gran capacidad de integración debido a su reducido tamaño. Funcionamiento por tensión, son controlados por voltaje por lo que tienen una impedancia de

entrada muy alta. La intensidad que circula por la puerta es del orden de los nanoamperios. Los circuitos digitales realizados con MOSFET no necesitan resistencias, con el ahorro de

superficie que conlleva. La velocidad de conmutación es muy alta, siendo del orden de los nanosegundos. Cada vez se encuentran más en aplicaciones en los convertidores de alta frecuencias y baja

potencia.

Escalamiento del MOSFET

En las últimas décadas, el MOSFET ha sido escalado continuamente en términos de su tamaño; las longitudes típicas del canal de los transistores antes eran de varios micrómetros, pero los dispositivos modernos incorporan MOSFETs con longitudes de canal de decenas de nanómetros. El trabajo de Robert H. Dennard acerca de la teoría de escalamiento fue la clave para reconocer que la reducción continua del dispositivo era posible. Intel inició un proceso de producción en donde la longitud de la compuerta es de 32 nm (en donde la longitud del canal es aun más corta) en el 2009. La industria de semiconductores mantiene un "roadmap", el ITRS,5 que marca las metas del desarrollo de la tecnología MOSFET. Históricamente, las dificultades de reducir el tamaño del MOSFET se han asociado con el proceso de fabricación de los dispositivos semiconductores, la necesidad de utilizar tensiones cada vez más bajas, y con bajo desempeño eléctrico, requiriendo el rediseño de los circuitos y la innovación (los MOSFETs pequeños presentan mayor corriente de fuga, e impedancia de salida más baja).

Razones para el escalamiento del MOSFET

Los MOSFET pequeños son deseables por varias razones. El motivo principal para reducir el tamaño de los transistores es que permite incluir cada vez más dispositivos en la misma área de un circuito integrado. Esto resulta en circuitos con la misma funcionalidad en áreas más pequeñas, o bien circuitos con más funcionalidades en la misma área. Debido a que los costos de fabricación para una oblea de semiconductor son relativamente estables, el costo por cada circuito integrado que se produce está relacionado principalmente al número de circuitos que se pueden producir por cada oblea. De esta forma, los circuitos integrados pequeños permiten integrar más circuitos por oblea, reduciendo el precio de cada circuito. De hecho, a lo largo de las últimas tres décadas el número de transistores por cada circuito integrado se ha duplicado cada dos o tres años, cada vez que un nuevo nodo de tecnología es introducido. Por ejemplo el número de MOSFETs en un microprocesador fabricado con una tecnología de 45 nm podría ser el doble que para un microprocesador fabricado con tecnología de 65 nm. Esta duplicación de la densidad de integración de transistores fue observada por Gordon Moore en 1965 y es conocida como la Ley de Moore.6

Tendencia de la longitud del canal y el ancho de compuerta en transistores MOSFET fabricados por

Intel, a partir de la tecnología de 130 nm.

Page 50: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 50

También se espera que los transistores más pequeños conmuten más rápido. Por ejemplo, un enfoque de escalamiento utilizado en el MOSFET requiere que todas las dimensiones sean reducidas de forma proporcional. Las dimensiones principales de un transistor son la longitud, el ancho, y el espesor de la capa de óxido. Cada una de estas dimensiones se escala con un factor de aproximadamente 0.7 por cada nodo. De esta forma, la resistencia del canal del transistor no cambia con el escalamiento, mientras que la capacitancia de la compuerta se reduce por un factor de 0.7. De esta manera la constante de tiempo del circuito RC también se escala con un factor de 0.7.

Las características anteriores han sido el caso tradicional para las tecnologías antiguas, pero para los transistores MOSFET de las generaciones recientes, la reducción de las dimensiones del transistor no necesariamente implica que la velocidad de los circuitos se incremente, debido a que el retardo debido a las interconexiones se vuelve cada vez más importante.

Dificultades en la reducción de tamaño del MOSFET

Producir MOSFETs con longitudes de canal mucho más pequeñas que un micrómetro es todo un reto, y las dificultades de la fabricación de semiconductores son siempre un factor que limita el avance de la tecnología de circuitos integrados. En los años recientes, el tamaño reducido del MOSFET, más allá de las decenas de nanómetros, ha creado diversos problemas operacionales.

Page 51: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 51

UNIDAD 2 AMPLIFICADORES OPERACIONALES Y TEMPORIZADORES

2.1 CARACTERISTICAS DE UN AMPLIFICADOR IDEAL

Amplificador operacional

741 con encapsulado metálico TO-5.

Un amplificador operacional (comúnmente abreviado A.O., op-amp u OPAM), es un circuito electrónico (normalmente se presenta como circuito integrado) que tiene dos entradas y una salida. La salida es la diferencia de las dos entradas multiplicada por un factor (G) (ganancia): Vout = G·(V+ − V−)el mas conocido y comunmente aplicado es el UA741 o LM741

El primer amplificador operacional monolítico, que data de los años 1960, fue el Fairchild μA702 (1964), diseñado por Bob Widlar. Le siguió el Fairchild μA709 (1965), también de Widlar, y que constituyó un gran éxito comercial. Más tarde sería sustituido por el popular Fairchild μA741 (1968), de David Fullagar, y fabricado por numerosas empresas, basado en tecnología bipolar.

Originalmente los A.O. se empleaban para operaciones matemáticas (suma, resta, multiplicación, división, integración, derivación, etc.) en calculadoras analógicas. De ahí su nombre.

El A.O. ideal tiene una ganancia infinita, una impedancia de entrada infinita, un ancho de banda también infinito, una impedancia de salida nula, un tiempo de respuesta nulo y ningún ruido. Como la impedancia de entrada es infinita también se dice que las corrientes de entrada son cero.

Notación

El símbolo de un amplificador es el mostrado en la siguiente figura:

Los terminales son:

V+: entrada no inversora

V-: entrada inversora

VOUT: salida VS+: alimentación positiva VS-: alimentación negativa

Los terminales de alimentación pueden recibir diferentes nombres, por ejemplos en los A.O. basados en FET VDD y VSS respectivamente. Para los basados en BJT son VCC y VEE.

Normalmente los pines de alimentación son omitidos en los diagramas eléctricos por claridad.

Page 52: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 52

Tabla de Características Ideales y Reales

Nota: Los valores reales dependen del modelo, estos valores son genéricos y son una referencia. Si van a usarse amplificadores operacionales, es mejor consultar el datasheet o características del fabricante.

Comportamiento en corriente continua (DC)

Lazo abierto

Si no existe realimentación la salida del A. O. será la resta de sus dos entradas multiplicada por un factor. Este factor suele ser del orden de 100.000(que se considerará infinito en cálculos con el componente ideal). Por lo tanto si la diferencia entre las dos tensiones es de 1V la salida debería ser 100.000 V. Debido a la limitación que supone no poder entregar más tensión de la que hay en la alimentación, el A. O. estará saturado si se da este caso. Esto será aprovechado para su uso en comparadores, como se verá más adelante. Si la tensión más alta es la aplicada a la patilla + la salida será VS+, mientras que si la tensión más alta es la del pin - la salida será la alimentación VS-.

Lazo cerrado o realimentado

Se conoce como lazo cerrado a la realimentación en un circuito. Aquí aparece una realimentación negativa. Para conocer el funcionamiento de esta configuración se parte de las tensiones en las dos entradas exactamente iguales, se supone que la tensión en la pata + sube y, por tanto, la tensión en la salida también se eleva. Como existe la realimentación entre la salida y la pata -, la tensión en esta pata también se eleva, por tanto la diferencia entre las dos entradas se reduce, disminuyéndose también la salida. Este proceso pronto se estabiliza, y se tiene que la salida es la necesaria para mantener las dos entradas, idealmente, con el mismo valor.

Siempre que hay realimentación negativa se aplican estas dos aproximaciones para analizar el circuito:

V+ = V- (lo que se conoce como principio del cortocircuito virtual). I+ = I- = 0

Cuando se realimenta negativamente un amplificador operacional, al igual que con cualquier circuito amplificador, se mejoran algunas características del mismo como una mayor impedancia en la entrada y una menor impedancia en la salida. La mayor impedancia de entrada da lugar a que la corriente de entrada sea muy pequeña y se reducen así los efectos de las perturbaciones en la señal de entrada. La menor impedancia de salida permite que el amplificador se comporte como una fuente eléctrica de mejores características. Además, la señal de salida no depende de las variaciones en la ganancia del amplificador, que suele ser muy variable, sino que depende de la ganancia de la red de realimentación, que puede ser mucho más estable con un menor coste. Asimismo, la frecuencia de corte superior es mayor al realimentar, aumentando el ancho de banda.

Page 53: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 53

2.2 AMPLIFICADOR INVERSOR Y NO INVERSOR, SEGUIDOR DE VOLTAJE

Comportamiento en corriente alterna (AC)

En principio la ganancia calculada para continua puede ser aplicada para alterna, pero a partir de ciertas frecuencias aparecen limitaciones. (Ver sección de limitaciones)

Análisis

Para analizar un circuito en el que haya A.O. puede usarse cualquier método, pero uno habitual es:

1. Comprobar si tiene realimentación negativa 2. Si tiene realimentación negativa se pueden aplicar las reglas del apartado anterior 3. Definir las corrientes en cada una de las ramas del circuito 4. Aplicar el método de los nodos en todos los nodos del circuito excepto en los de salida de los

amplificadores (porque en principio no se puede saber la corriente que sale de ellos) 5. Aplicando las reglas del apartado 2 resolver las ecuaciones para despejar la tensión en los

nodos donde no se conozca.

Configuraciones

Comparador

Esta es una aplicación sin la retroalimentación. Compara entre las dos entradas y saca una salida en función de qué entrada sea mayor. Se puede usar para adaptar niveles lógicos.

Seguidor

Es aquel circuito que proporciona a la salida la misma tensión que a la entrada.

Se usa como un buffer, para eliminar efectos de carga o para adaptar impedancias (conectar un dispositivo con gran impedancia a otro con baja impedancia y viceversa)

Como la tensión en las dos patillas de entradas es igual: Vout = Vin

Zin = ∞

Page 54: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 54

Presenta la ventaja de que la impedancia de entrada es elevadísima, la de salida prácticamente nula, y puede ser útil, por ejemplo, para poder leer la tensión de un sensor con una intensidad muy pequeña que no afecte apenas a la medición. De hecho, es un circuito muy recomendado para realizar medidas de tensión lo más exactas posibles, pues al medir la tensión del sensor, la corriente pasa tanto por el sensor como por el voltímetro y la tensión a la entrada del voltímetro dependerá de la relación entre la resistencia del voltímetro y la resistencia del resto del conjunto formado por sensor, cableado y conexiones.

Por ejemplo, si la resistencia interna del voltímetro es Re (entrada del amplificador), la resistencia de la línea de cableado es Rl y la resistencia interna del sensor es Rg, entonces la relación entre la tensión medida por el voltímetro (Ve) y la tensión generada por el sensor (Vg) será la correspondiente a este divisor de tensión:

Por ello, si la resistencia de entrada del amplificador es mucho mayor que la del resto del conjunto, la tensión a la entrada del amplificador será prácticamente la misma que la generada por el sensor y se podrá despreciar la caída de tensión en el sensor y el cableado.

Además, cuanto mayor sea la intensidad que circula por el sensor, mayor será el calentamiento del sensor y del resto del circuito por efecto Joule, lo cual puede afectar a la relación entre la tensión generada por el sensor y la magnitud medida.

No inversor

Como observamos, el voltaje de entrada, ingresa por el pin positivo, pero como conocemos que la ganancia del amplificador operacional es muy grande, el voltaje en el pin positivo es igual al voltaje en el pin negativo y positivo, conociendo el voltaje en el pin negativo podemos calcular la relación que existe entre el voltaje de salida con el voltaje de entrada haciendo uso de un pequeño divisor de tensión.

Zin = ∞, lo cual nos supone una ventaja frente al amplificador inversor.

Page 55: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 55

2.3 SUMA DE SENALES CON AMPLIFICADOR OPERACIONAL

Sumador inversor

La salida está invertida Para resistencias independientes R1, R2,... Rn

o La expresión se simplifica bastante si se usan resistencias del mismo valor Impedancias de entrada: Zn = Rn

Restador Inversor

Para resistencias independientes R1,R2,R3,R4:

o Igual que antes esta expresión puede simplificarse con resistencias iguales La impedancia diferencial entre dos entradas es Zin = R1 + R2 Cabe destacar que este tipo de configuración tiene una resistencia de entrada baja en

comparación con otro tipo de restadores como por ejemplo el amplificador de instrumentación.

Page 56: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 56

2.4 FUNCION DIFERENCIAL E INTEGRAL CON AMPLIFICADOR OPERACIONAL

Integrador ideal

Integra e invierte la señal (Vin y Vout son funciones dependientes del tiempo)

o Vinicial es la tensión de salida en el origen de tiempos

Nota: El integrador no se usa en la práctica de forma discreta ya que cualquier señal pequeña de DC en la entrada puede ser acumulada en el condensador hasta saturarlo por completo; sin mencionar la característica de offset del mismo operacional, que también es acumulada. Este circuito se usa de forma combinada en sistemas retroalimentados que son modelos basados en variables de estado (valores que definen el estado actual del sistema) donde el integrador conserva una variable de estado en el voltaje de su condensador.

Derivador ideal

Deriva e invierte la señal respecto al tiempo

Este circuito también se usa como filtro

NOTA: Es un circuito que no se utiliza en la práctica porque no es estable. Esto se debe a que al amplificar más las señales de alta frecuencia se termina amplificando mucho el ruido.

Page 57: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 57

Conversor de corriente a voltaje

El conversor de corriente a voltaje, se conoce también como Amplificador de transimpedancia, llegada a este una corriente (Iin), la transforma en un voltaje proporcional a esta, con una impedancia de entrada muy baja, ya que esta diseñado para trabajar con una fuente de corriente.

Con el resistor R como factor de proporcionalidad, la relación resultante entre la corriente de entrada

y el voltaje de salida es:

Su aplicación es en sensores, los cuales no pueden ser activados, con la poca corriente que sale de algún sensor , por lo que se acopla un A.O. que usa es poca corriente entregada, para dar salida a un voltaje (Vout)

Función exponencial y logarítmica

El logaritmo y su función inversa, la función exponencial, son ejemplos también de configuraciones no lineales, las cuales aprovechan el funcionamiento exponencial del diodo, logrando una señal de salida proporcional al logaritmo o a la función exponencial a la señal de entrada.

La señal de entrada, desarrollará una corriente proporcional al logaritmo de su valor en el diodo en aproximación. Ello, en conjunto con la resistencia de salida R, la dependencia de la tensión de salida(Vout) como producto de la tensión de entrada(Vin) es:

Los factores n y m, son factores de corrección, que se determinan por la temperatura y de los parámetros de la ecuación del diodo.

Page 58: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 58

Para lograr la potenciación, simplemente se necesita cambiar la posición del diodo y de la resistencia, para dar lugar a una nueva ecuación,esta ecuación también acompañada por los factores de corrección n y m, muestra la siguiente dependencia de la tensión de salida con relación a la de entrada:

En la práctica, la realización de estas funciones en un circuito son más complicadas de construir, y en vez de usarse un diodo se usan transistores bipolares, para minimizar cualquier efecto no deseado, como es, sobre todo, la temperatura donde se trabaja. No obstante queda claro que el principio de funcionamiento de la configuración queda inalterado.

En la realización de estos circuitos también podrían hacerse conexiones múltiples, por ejemplo, en el amplificador antilogarítmico las multiplicaciones son adiciones , mientras que en el logarítmico, las adiciones son multiplicaciones. A partir de ello, por ejemplo, se podrían realizar la combinación de dos amplificadores logarítmicos, seguidos de un sumador, y a la salida, un antilogarítmico, con lo cual se habría logrado un multiplicador analógico, en el cual la salida es el producto de las dos tensiones de entrada.

Page 59: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 59

Convertidor Digital-Analogico (R-2R)

Cualquiera de las entradas ve una

Si entonces

Si entonces

Otros

Osciladores, como el puente de Wien Convertidores carga-tensión Filtros activos Girador permite construir convertidores de inmitancias (simular un inductor empleando un

condensador, por ejemplo).

Aplicaciones

Calculadoras analógicas Filtros Preamplificadores y buffers de audio y video Reguladores Conversores Evitar el efecto de carga

Page 60: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 60

Adaptadores de niveles (por ejemplo CMOS y TTL)

2.5 CIRCUITOS TEMPORIZADORES

EL CIRCUITO TEMPORIZADOR

El circuito electrónico que más se utiliza tanto en la industria como en circuitería comercial, es el

circuito temporizador o de retardo, dentro de la categoría de temporizadores, cabe destacar el

más económico y también menos preciso consistente en una resistencia y un condensador, a

partir de aquí se puede contar con un sinfín de opciones y posibilidades. En este tutorial se

tratarán unos tipos sencillos para adquirir conocimiento de cómo conseguir un retardo en un

sistema que no requiera gran precisión y terminaremos por analizar un temporizador de mayores

prestaciones y precisión.

Cuando necesitamos un temporizador, lo primero que debemos considerar es la necesidad de

precisión en el tiempo, base muy importante para determinar los elementos que vamos a utilizar

en su concepción y diseño.

Como se ha mencionado anteriormente un temporizador básicamente consiste en un elemento

que se activa o desactiva después de un tiempo más o menos preestablecido. De esta manera

podemos determinar el parámetro relacionado con el tiempo que ha de transcurrir para que el

circuito susceptible de temporizarse, se detenga o empiece a funcionar o simplemente cierre un

contacto o lo abra.

EL MÁS SENCILLO

El más simple de los retardos, requiere de una resistencia de cierto valor y un condensador de

considerable capacidad.

Veamos, se necesita un retardo en una máquina cizalla de corte, la cual conlleva cierto riesgo

de accidentar al operario que la maneja.

1. Necesitamos un sistema de seguridad para que sólo cuando el operario esté fuera de peligro, la cuchilla pueda bajar.

2. Otro sistema de seguridad, consiste en producir un retardo y al mismo tiempo un sonido o luz intermitente de aviso.

El primer caso, se puede lograr con la combinación de unos fines de carrera y un par de

pulsadores, localizados fuera del recorrido de la cuchilla y sus alrededores.

Page 61: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 61

Para el segundo punto, podemos optar por un diodo rectificador D1, una resistencia R1 y un

condensador C1. El montaje sumamente sencillo se muestra en la figura 1.

Fig. 1

El diodo D1 se encarga de rectificar la corriente proporcionada por un secundario de un

transformador o simplemente de la red a la que se conectará el equipo al que se ha de controlar,

para lo cual deberá observarse las precauciones básicas y elementales a la hora de seleccionar

los diferentes elementos mencionados, respetando un margen de seguridad en la tensión a la

que se someterán en el montaje.

A continuación se intercala la resistencia R1 que será la responsable directa del tiempo de

carga del condensador, es decir, a mayor valor ohmico le corresponde un mayor tiempo de carga

del condensador.

El siguiente elemento, el condensador, debe escogerse de una considerable capacidad cosa

muy determinante, pero sin perder de vista la tensión a la que se verá sometido, para evitar que

se perfore y quede definitivamente inservible. A la hora de elegir el condensador, es conveniente

considerar su tamaño y siempre que sea posible debería optarse por un modelo electrolítico (de

ahí el uso del diodo), como digo electrolítico debido esencialmente a la mayor capacidad y menor

tamaño, cosa que en algunos casos no es posible, utilizando en tal caso uno de los no

polarizados industriales de unos 8 a 12 µf y por seguridad 400V, los que suelen utilizar en los

motores de las lavadoras o frigoríficos.

Bien, veamos que ocurre cuando se aplica una tensión a la figura 1 a, la corriente al atravesar el

diodo D1, se rectifica a media onda, esto la reduce aproximadamente a la mitad, esta tensión se

enfrenta al paso de la resistencia R1, que le restringe su paso a un valor previsto por el

diseñador.

A la salida de R1, la tensión se precipita para cargar el condensador C1, que es el camino que

menor resistencia le ofrece y, ese tiempo de carga, justamente es el tiempo que se pretende

controlar, ya que durante ese tiempo de carga, la corriente no fluirá más allá del condensador.

Page 62: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 62

Hay que tener en cuenta que el tiempo de carga, no representa más que dos tercios (2/3) de la

capacidad total de C, rebasada la cual, la corriente empezará a fluir hacia el siguiente elemento

conductor que encuentre, terminando así el retardo.

De lo expuesto, se puede asegurar que la corriente que atraviesa el circuito, recorre dos

caminos; uno el representado por la línea de trazos (Ic) durante los primeros 2/3 de carga, y otro,

el de la salida (Id). La salida puede conectarse a un relé que se encargará de producir el efecto

deseado conectar/desconectar, según lo previsto. Este sistema se estuvo utilizando hasta los

años 70 en cierto control de los ferrocarriles de España, en el sistema de seguridad llamado

'hombre muerto'

Este caso digamos que es el directo, también se puede utilizar una forma más, digamos

sofisticada, a esta se conecta el relé RL, en serie con la resistencia R1, a la cual se le calculará

su valor, de manera que la corriente que la atraviese, active el relé sólo cuando el condensador

C, se haya cargado. la tensión de trabajo del relé deberá ser la que corresponda a la tensión

nominal de alimentación del circuito, para evitar que se queme cuando se active mediante la

corriente de paso en carga.

En ambos circuitos, se percibe que el control no es tal, ya que la carga del condensador se ve

influenciada por muchos imponderables, además de poco fiable. Se necesita un mayor control y

rango de tiempos.

La solución puede estar en los transistores que permiten un mayor control de los diferentes

parámetros. Debido al control de ganancia y paso de corriente que nos permite el transistor y

mediante un montaje adecuado, podemos lograr una mejora en los tiempos y por lo tanto más

fiabilidad, al utilizar condensadores más pequeños. Véase en la figura 2, la báscula formada por

T1 y T2 a los que se ha añadido un tercer transistor para mejorar la carga del relé a su salida. El

funcionamiento de la báscula determina mediante el ajuste de los potenciómetros P1 y P2 los

tiempos de basculamiento obteniendo un mejor control de amplitud del tiempo de retardo.

No obstante y a pesar de lograr una considerable reducción en la capacidad de los

condensadores, lo que conlleva una mayor seguridad y control, no es bastante fiable en algunos

casos y la industria necesitaba algo más compacto que le dotara de tiempos mas largos y fiables.

Esto se lograría mediante el circuito integrado temporizador µA555.

Page 63: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 63

Fig. 2

EL TEMPORIZADOR µA 555

Creo que es hora de que utilicemos un circuito integrado, en la industria se viene utilizando

desde los años 70 uno muy popular que además de sencillo es muy eficaz y versátil a la hora de

producir temporizaciones, estoy hablando del socorrido µA555PC, que nos permite construir un

temporizador mediante unos pocos componentes de bajo coste. Su estabilidad con la

temperatura es de 0'005 % por grado centígrado.

Veamos el esquema teórico en la figura 3 en la versión como monoestable y en la figura 4, con

el modo astable .

Page 64: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 64

Fig. 3

Fig. 4

Aplicando una señal de disparo, el ciclo de temporización se inicia y una báscula interna le

inmuniza frente a futuras señales de disparo. Al aplicar una señal de reposición (rest), el ciclo de

retardo se interrumpe dándose por finalizada la temporización. Entre sus características más

importantes, hay que destacar el amplio margen de control de tiempo desde microsegundos a

horas.

Funcionando como astable o monoestable, el ciclo de trabajo es capaz de proporcionar 200 mA

de corriente en su salida.

Funcionamiento monoestable

En el apartado anterior vimos cómo producir un retardo o temporización, la referida figura 3 esta

aquí, el esquema que se presenta es bastante sencillo y corresponde a un montaje monoestable,

el cual se caracteriza por el modo de conexión de la patilla 2, Disparo, la cual debe permanecer

en nivel alto, hasta el momento de empezar la temporización, hemos de hacer notar que esta

patilla, debe ser repuesta a su nivel alto, antes de terminar la temporización, si se quiere ampliar

el retardo, para evitar disparos fortuitos que variarían el tiempo previsto.

La salida es capaz de entregar una corriente de 200 mA máximo, en caso de necesitar mas

corriente, utilizar un relé con contactos que soporten una mayor corriente. Mientras la patilla de

disparo esté a nivel alto, la salida patilla 3, permanecerá a nivel bajo, esto debe tenerse en

cuenta, para un mejor aprovechamiento del dispositivo.

Mediante este principio de esquema, podemos trazar un temporizador que encienda o apague

una luz con un retraso de tiempo que vendrá calculado mediante la siguiente formula:

T = 1.1*Ra*C

Page 65: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 65

Fig. 5

En la figura 5, se presenta el esquema que cumple con las exigencias descritas, con un retraso

en el enciendo o apagado, de un diodo led. El circuito como se menciona, puede utilizarse tanto

para el encendido como para el apagado de un diodo led o una lámpara, así mismo mediante un

relé, se puede poner en marcha o parar un motor. En las figuras, se pueden cambiar el diodo led,

por un relé para dotar si es necesaria de mayor potencia a la salida.

En el caso de necesitar encender el led durante un tiempo previsto, dicho led se conectará entre

la salida, patilla 3 y la masa o negativo, permaneciendo encendido hasta transcurrido el tiempo

establecido desde el impulso de disparo, figura 6, un pulso de puesta a cero (PAC) en el reset

reiniciará el retardo. Una posible aplicación de seguridad, emitir una señal de alarma durante un

período de tiempo desde que se da la señal corte, hasta que baja la cuchilla de la cizalla,

evitando así accidentes laborales.

Fig. 6

En el segundo caso, o sea, necesitamos que el led, permanezca apagado durante un tiempo

desde que se aprieta un pulsador y permanezca apagado hasta que vuelva a pulsarse. En este

caso se conectará el led entre el Vcc de la alimentación y la patilla 3 de salida, ver figura 7. Una

aplicación sería que no se abra la puerta del garaje hasta que se le de la señal y pasado ese

tiempo se cierre de nuevo hasta la siguiente señal de apertura.

Page 66: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 66

Fig. 7

Estos son dos ejemplos bastante corrientes y que pueden ponerse en práctica en cualquier

momento por parte del alumno o del profesional en las labores habituales con total seguridad.

Como se verá, la resistencia Ra, es conveniente ponerla del tipo ajustable para que sea más

práctico el montaje. En la figura 8, se muestran las señales de disparo flanco de subida, t el

tiempo de retardo y de salida del esquema monoestable.

Fig. 8

Funcionamiento astable

En este caso es la figura 9, la que nos presenta el esquema básico de este modo de

funcionamiento. Puede ser interesante conocer su funcionamiento como astable (también

llamado redisparable ya que eso es lo que hace, produciendo así cierta frecuencia), ya que

uniendo sus terminales 2 y 6, el circuito se auto dispara y trabaja como multivibrador.

Es de destacar que, el comportamiento de este esquema, a grandes rasgos, genera una señal

cuadrada en el tiempo, es decir, en la salida, el usuario dispone de una señal cuadrada con un

ciclo de completo que viene determinado por la formula:

F = 1/T = 1.44 / [C*(Ra+2*Rb)]

Page 67: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 67

Fig. 9

El condensador C1 se carga a través de Ra+Rb y se descarga a través de Rb. De esta forma,

dimensionando adecuadamente los valores de Ra y Rb, se pueden modificar a voluntad el ciclo

de trabajo (duración estado alto - duración estado bajo), ver figura 9.

La señal cuadrada tendrá como valor alto = Vcc y como valor bajo = 0V (aproximadamente). Si

se desea ajustar el tiempo que está a nivel alto y bajo al 50%, se deben aplicar las fórmulas:

Salida a nivel alto: T1 = 0.693*(Ra+Rb)*C

Salida a nivel bajo: T2 = 0.693*Rb*C

En la figura 10, se presenta las señales del circuito astable con un ciclo del 50%. La duración

del estado alto depende de Ra y Rb, mientras que la duración del estado bajo, depende de Rb.

Fig. 10

En alguna aplicación muy concreta, puede aprovecharse esta particularidad que ofrece el

montaje astable, al producir un ciclo alto-bajo del 50%, lo que nos permitirá (dimensionando

adecuadamente los valores de las resistencias y el condensador), disponer de un período activo

seguido de otro período inactivo, ambos lo suficientemente largos según nuestras necesidades.

Este último circuito integrado, con sus posibilidades, nos puede servir en muchos casos, pero

ya que somos perseverantes y son muchos los caso en los que los tiempos a controlar deben

ajustarse al tiempo real, debemos pensar en un circuito con mayores garantías de lo que hemos

visto hasta ahora

Page 68: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 68

UNIDAD 3 ALGEBRA BOOLEANA

3.1 Sistemas Numericos y Teoremas y postulados

TEOREMAS Y POSTULADOS DEL ALGEBRA DE BOOLE. POSTULADOS DE MORGAN

1. Propiedad de cierre.

Para un conjunto s se dice que es cerrado para un operador binario si para cada elemento de S el operador binario especifica una regla para obtener un elemento único de S.

Para el conjunto N = {1,2,3,4,…} es cerrado con respecto al operador binario (+) por las reglas de la adición aritmética, ya que para que cualquier elemento a,b pertenecientes a N por la operación a + b = c el conjunto de los números naturales no esta cerrado con respecto al operador binario (-) por la regla de la resta aritmética, debido a que 2-3 = -1 y 2,3 pertenecen a N pero -1 no pertenece a N.

2. Ley asociativa.

El operador binario (*) es un conjunto S es asociativo siempre que x*y*z = x*(y*z) para toda x, y pertenecientes a S.

3. Ley conmutativa.

Un operador binario (*) para un conjunto S es conmutativo siempre que: x*y = y*x para toda x,y pertenecientes a S.

4. Elemento identidad.

El conjunto S tendrá un elemento identidad multiplicativo “identidad (*)” en S si existe un e perteneciente a S con la propiedad e*x = x*e =e para cada x pertenecientes a S.

5. Inversa.

El conjunto S tiene un elemento identidad (e) con respecto al operador (*) siempre que para cada x perteneciente a S exista un elemento y perteneciente a S tal que x*y=e.

Page 69: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 69

6. Ley distributiva.

Si el operador (*) y el operador (.), son operadores binarios de S, (*) se dice que es distributivo sobre (.).

Siempre que:

x*(y . z) = (x*y) . (x*z)

- El operador binario (+) define la adición.

- Identidad aditiva es el cero.

- La inversa aditiva define la sustracción.

- El operador binario (.) define la multiplicación.

- Identidad multiplicativa es 1.

- Inversa multiplicativa de A es igual a 1/A define la división esto es A * 1/A = 1

- La única ley distributiva aplicable es la de operador (.) sobre el operador +

(.) sobre (+) a(b+c)=(a.b) +(a.c)

Para definir formalmente el álgebra de Boole se emplean postulados de Huntington.

1. a) Cierre con respecto al operador (+) b) Cierre con respecto al operador (.)

2. a) Un elemento identidad con respecto al operador (+), designado por el cero x+0 =0+x=x b) Un elemento identidad con respecto al operador (.) designado por el uno x*1=1*x=x

3. a) Conmutativo con respecto al operador (+) : x+y = y+x b) Conmutativo con respecto al operador (.) : x*y =y*x

4. a) El operador (.) es distributivo sobre el operador (+) : x.(y+z) = (x.y) + (y.z) b) El operador (+) es distributivo sobre el operador (.) : x+(x.z) = (x+y) . (x+z)

5. Para cada elemento de x pertenencia a B existe un elemento x’ complemento perteneciente a B denominado complemento de x tal que:

a) x+x’ = 1

b) x’ = 0

Page 70: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 70

6. Existen cuando menos dos elementos x,y pertenecientes a B tal que x diferente de y. Por lo tanto

tenemos que el álgebra de Boole difiere de la aritmética y del álgebra ordinaria en la sig:

a) Los postulados Huntington: no incluyen al ley asociativa, no obstante esta ley es

valida para el álgebra booleana (para ambos operadores)

b) La ley distributiva del operador (+) sobre el operador (.) esto es: x+(y.z) = (x+y).(x+z), la cual es valida para el álgebra de boole pero no para el álgebra ordinaria.

c) El álgebra booleana no tiene inversa aditiva a multiplicativa, por lo tanto no hay operaciones de sustracciones o división.

d) El postulado 5 define un operador llamado completo que no se encuentra en el álgebra ordinaria.

e) En el algebra de Boole se define un conjunto B de dos elementos (0 y 1) y el álgebra ordinaria trata con el conjunto de los números reales.

Postulado 2 a) x + 0 = x b) x . 1 = x

Postulado 5 a) x + x’ = 1 b) x . x’ = 0

Teorema 1 a) x + x = x b) x . x = x

Teorema 2 a) x + 1 = 1 b) x . 0 = 0

Teorema 3 involución (x’)’ = x

Teorema 3 conmutativo a) x + y = y + x b) xy = yx

Teorema 4 asociativo a) x + (y + z) = (x + y) +z b) x (yz) = (xy) z

Postulado 4 distributivo a) x (y + z) = xy +xz b) x + yz = (x + y)(x+z)

Teorema 5 morgan a) ( x + y)’ = x’ y’ b) (xy) = x’ + y’

Teorema 6 absorción a) x + xy = x b) x (x + y) = x

Ejemplos: x + x = x x + xy = x x + x = (x + x) . 1 x . 1 + xy = x x + x = (x + x) (x + x’) x (1 + y) = x x + x = x + xx’ x (y + 1) = x x + x = x + 0 x (1) = x x + x = x x = x

Las variables booleanas pueden tomar varios valores de 1 ó 0. Una función booleana es una expresión formada por variables binarias.

Page 71: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 71

Ejemplo:

F1 = xyz’

Para F1 considerar que es igual a 1 si:

x = 1; y = 1 ; z’ = 1; de otra manera F1 = 0.

Por lo tanto tendremos que una función booleana también puede representarse en una tabla de verdad. Para representar una función booleana en una tabla de verdad se necesita una lsit de 2ncombinaciones de 1 y 0 de las n variables binarias, y una columna que muestra combinaciones para las cuales f es igual a 1 ó 0.

x y z F1 F2 F3 F4 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1

F1 = x’yz’ + x’yz + xy’z + xyz’ = x’y (z+z’) + xz’ (y+y’) = x’y + xz’

F2 = x’y’z + x’yz + xyz’ + xyz = x’z (y+y’) + xy (z+z’) = x’z + xy

F3 = x’y’z’ + x’yz + xy’z + xyz’

F4 = x’y’z + xy’z’ + xy’z + xyz’ + xyz = xy’ (z+z’) + xy (z+z’) + x’yz = xy’ + xy + x’yz = x (y+y’) + x’yz = x + x’yz

Page 72: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 72

Funciones logicas

Manipulación algebraica

Cuando una función se incrementa con compuertas lógicas, cada literal en la función denota una entrada a una compuerta.

1. Cada literal denota la entrada a una compuerta.

2. Cada termino se implanta con una compuerta.

Por el momento nos limitaremos a la minimización por literales. Por lo cual debe quedar muy claro que en la manipulación algebraica no hay reglas especificas a seguir a que garanticen la respuesta final.

Ejemplo: Reducir las siguientes funciones booleanas.

1. x (x’+y) = xx’ + xy = xy

2. x’y’z + x’yz + xy = x’z (y+y’) + xy = x’z + xy

3. x + x’y = (x+x’)(x+y) = x+y

Complemento de una función.

El complemento de una función F es F’ obteniendose por el intercambio de 1’s y 0’s y de 0’s y 1’s.

Ejemplo:

(A+B+C)’ = (A+X)’ para X = B+C

A’ . X’ ? A’ . (B+C)’ ? A’ . B’ .C’

(A+B+C+D+E+F+……..I)

(A’.B’.C’.D’.E’.F’…….I’)

Page 73: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 73

La forma generalizada de D’Morgan enuncia que el complemento de una función se obtiene del intercambio de los operadores AND y OR y complementando cada literal.

F1 = (x’yz’ + x’y’z)’ = (x+y’+z . x+y+z’)

F2 = ? x (y’z’+yz)? = x’ + ? x (y+z).(y’+z’)?

Otra forma más simple para derivar el complemento de una función es tomar el dual de la

función y complementar cada literal.

Hay que recordar que el cual de una función se obtiene por el intercambio de los operadores AND y OR y los 1’s y los 0’s.

Ejemplo:

F1 = x’yz’ + x’y’z el dual: F1 = (x+y’+z) . (x+y+z’)

Las variables pueden ser normales (x) ó complemento (x’). Cuando tenemos un conjunto de n variables nosotros podemos formar 2n miniterminos de acuerdo a la siguiente tabla:

Para n=3 2n-1 combinaciones iniciando a partir de cero.

Cada minitérmino lo obtenemos de un término AND de las n variables y complementado cada variable si el número binario que representa es un 0 y no complementando si es un 1.

Cada minitermino se representa por mj donde j representa el equivalente decimal del número binario del minitermino de la misma forma podemos tener los maxiterminos con las n variables formando un término OR para cada maxitermino.

Page 74: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 74

En estas se hace la consideración de que cada variable no complementada corresponde al bit 0 y complementada al bit 1.

F1= x’y’z + xy’z’ + xyz = m1+m4+m7

F2= x’yz + xy’z + xyz’ + xyz = m3+m5+m6+m7

F1’= x’y’z’ + x’yz’ + x’yz + xy’z + xyz’

(F1’)’ = (x+y+z) . (x+y’+z) . (x+y’+z’) . (x’+y+z’) . (x’+y’+z)

= M0 . M2 . M3 . M5 . M6

El complemento de una función booleana lo podemos obtener al formar miniterminos para cada combinación que produce un cero en la función y aplicando el operador OR a esos términos.

Las funciones booleanas expresadas como una suma de miniterminos o productos de maxiterminos se dice que esta en forma canónica.

Simplificacion de funciones

Suma de miniterminos.

Como sabemos cualquier función booleana puede expresarse como una suma de miniterminos. La suma de estos elementos que son los que definen una función booleana son aquellos que dan los 1’s de la función en una tabla de verdad.

Algunas veces es conveniente expresar la función booleana en la forma de suma de miniterminos. Si no puede hacerse en esta forma entonces puede realizarse primero por la expansión de la expresión en una suma de los términos AND.

Después cada término se inspecciona para ver si contiene todas las variables, si se han perdido una o más variables, se aplica el operador AND con una expresión x+x’ en donde x es una de las variables perdidas.

Page 75: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 75

Ejemplo: Expresar la función F = A+B’C en una suma de miniterminos.

F= A+B’C

F(A,B,C)

A= A(B+B’) = AB+AB’

= AB(C+C’) + AB’(C+C’)

= ABC + ABC’ + AB’C +AB’C’

B’C = B’C (A+A’) = AB’C + A’B’C

F = ABC+ABC’+AB’C+AB’C’+AB’C+A’B’C F = A’B’C+AB’C’ +AB’C+ABC’+ABC F = m1+ m4+m5+ m6+ m7 F(A,B,C)=SUM(1,4,5,6,7)

La sumatoria representa al operador OR que opera en los términos y números siguientes son los minitérminos de la función.

Las letras entre paréntesis que siguen a F forman una lista de las variables en el orden tomado cuando el minitérmino se convierte en un término AND.

Producto de los maxitérminos.

Para expresar una función booleana como un producto de maxitérminos, primero debe llevarse a una forma de términos OR. Esto es posible al uso de la ley distributiva; esto es si x+yz = (x+y) (x+z); para cualquier variable perdida x en cada término se opera a OR con xx’.

Ejemplo:

F = (x’+y) (x+z) (y+z)

(x’+y) = x’+y+zz’

= (x’+y+z) (x’+y+z)

(x+z) = x+z+yy’

= (x+y+z) (x+y’+z)

(y+z) = y+z+xx’

= (x+y+z) (x’+y+z)

F = (x’+y+z) (x’+y+z’) (x+y+z) (x+y’+z) (x+y+z) (x’+y+z)

F = (x’+y+z) (x’+y+z’) (x+y+z) (x+y’+z)

F = (x+y+z) (x+y’+z) (x’+y+z) (x’+y+z’)

M0 M2 M4 M5

F(x,y,z) = PI(0,2,4,5)

Page 76: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 76

El operador PI denota la operación AND de maxitérminos; y los números son los maxitérminos de la

función.

Conversión entre formas canónicas.

El complemento de una función expresada como suma de minitérminos es igual a la suma de los minitérminos perdidos de la función original.

Ejemplo:

F(A,B,C) = SUM(1,4,5,6,7)

F’(A,B,C) = SUM(0,2,3) = m0+m2+m3

Si obtenemos el complemento de F’ porque el teorema de D’Morgan se obtiene F en una forma diferente.

(F’)’ = (m0+m2+m3)’ = m0’.m2’.m3’ = M0 . M2 . M3 = PI(0,2,3)

= (x+y+z) . (x+y’+z) . (x+y’+z’)

F = A’D+BD+B’D A’D = A’D(B+B’) = A’BD+A’B’D = A’BD(C+C’) = A’BCD+A’BC’D = A’B’D(C+C’) = A’B’CD+A’B’C’D BD = BD(A+A’) = ABD+A’BD = ABD(C+C’) = ABCD+ABC’D = A’BD(C+C’) = A’BCD+A’BC’D

B’D = B’D(A+A’) = AB’D+A’B’D = AB’D(C+C’) = AB’CD+AB’C’D = A’B’D(C+C’) = A’B’CD+A’B’C’D F = A’BCD+A’BC’D+A’B’CD+A’B’C’D+ABCD+ABC’D+AB’CD+AB’C’D

Page 77: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 77

Page 78: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 78

Page 79: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 79

3.2 Funciones e implementaciones de compuertas logicas

Implementación de funciones lógicas con puertas lógicas

Una de las carácteristicas de la electrónica digital que más gustan al aficionado es que en ella es fácil iniciarse en el diseño de circuitos. En este artículo vamos a ver que sencillo es diseñar un circuito digital con tal de que conozcamos la función lógica que debe de verificar. La función lógica estará compuesta por diversas variables lógicas relacionadas entre sí mediante las operaciones del álgebra de Boole. Dichas operaciones son la suma lógica (+), el producto lógico (*) y la negación (así, a negada la representaremos por a'). Sin más preambulos, veamos cómo se "saca" el circuito digital para que "resuelva" una función lógica, y qué mejor forma de verlo que con un ejemplo concreto:

Idéese un circuito digital tal que implemente la función lógica G=(a*b)'+(c*(a+b'))

Empecemos por ver cuántas variables forman a la función G. En este caso se ve que son tres, a, b y c. Pues ya podemos empezar a dibujar el circuito. Hay que dibujar tantas líneas verticales como variables tenga la función, poniéndole a cada una de ellas como título el nombre de una variable:

¿Hay alguna variable aislada que esté negada? Si la respuesta es sí (y en este caso lo es, fíjese en la función, en ella aparece b') habrá que colocar una puerta inversora de tal forma que su entrada esté conectada a la línea de la variable que debe negarse. A la salida de esta puerta tendremos la variable negada:

Como puede apreciarse, la salida de la puerta se ha "extendido" con una línea vertical. El siguiente y último paso es ir realizando con puertas lógicas las operaciones de la función lógica. Así, podríamos hacer ahora el producto negado de la variable a con la variable b. Para ello emplearemos la puerta NAND:

Page 80: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 80

Podríamos seguir con la suma lógica de a con b' (puerta OR):

La puerta OR recien colocada entrega a su salida a+b'. Si multiplicamos esto por c tendríamos c*(a+b') (ver la expresión de la función G):

Por último sólo queda sumar (a*b)' (que está en la salida de la puerta NAND) con c*(a+b') (presente en la salida de la puerta AND) para obtener la función G de salida:

Y ya tenemos nuestro circuito terminado. Este circuito calcula automáticamente el valor de la función G para cualquier combinación de valores de las variables que forman la función. Como se habrá dado cuenta a lo largo de este artículo, para poder llevar a cabo la implementación de la función con puertas lógicas es imprecindible conocer con detalle cada una de las puertas lógicas que existen. Por este motivo, y en el caso de que usted no las conozca, le invitamos a que eche un vistazo al artículo que trata de las puertas lógicas.

Page 81: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 81

3.3 Minimizacion y circuitos secuenciales

DISEÑO DE CONTADORES SINCRONOS

El análisis de este tipo de circuitos secuenciales consiste básicamente en determinar la forma de contar, lo cual se obtiene por medio de un diagrama de tiempo.

Como circuito integrado existen muchos tipos de contadores que en general siguen una secuencia binaria normal.

Muchas veces se desea tener contadores que sigan secuencias de conteo que no sea la binaria, en ese caso ya no se dispondrá de circuitos integrados que contengan el contador, sino que debemos diseñarlo. Al ser el contador un circuito secuencial para diseñarlo se utilizarán las técnicas de diseño de circuitos secuenciales. Solo se analizará el procedimiento para el caso de los contadores, lo que implica una gran simplificación del procedimiento.

Antes de proceder al método de síntesis para el diseño de contadores se darán algunas definiciones.

En este modelo general de circuito secuencial el efecto en las salidas de todas las entradas previas se representa por el estado del circuito. Esto también determina el próximo estado del circuito. La relación existente entre entradas, salidas, estados presentes y estados futuros puede especificarse por medio de tablas de estado y diagramas de estado.

Diagrama de estados

Describe gráficamente el circuito secuencial, el contador en este caso,

indicando cual es el estado siguiente en función del estado actual y de las

entradas, que para el caso de contadores no existen.

En este diagrama, un estado se representa por un círculo, y la transición se

indica con líneas o arcos que conectan los círculos.

Dentro de cada círculo se escribe un número binario que representa el estado.

La figura muestra el diagrama de estados de un contador de 3 bits.

Tabla de Transiciones

Page 82: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 82

La tabla de estados consta de tres columnas llamadas estado presente, estado futuro y entradas de los flip flops.

.-El estado presente denota el estado de los flip flops antes de la ocurrencia de un pulso de reloj.

.-El estado futuro muestra el estado de los flip flops después del pulso de reloj.

.-Las entradas de los flip flops muestran que valores deben recibir las entradas de los flip flops para pasar del estado presente al estado futuro después del pulso de reloj.

Es importante recordar las tablas de excitación de los flip flop ya que la función de entrada se obtiene a partir de estas. De hecho el procedimiento consiste en determinar que entrada necesitan los flip flops para pasar del estado presente al estrado futuro. Las tablas de excitación son las siguientes.

Flip Flop tipo J K

Qn Qn+1 J K

0 0 0 X

0 1 1 X

1 0 X 1

1 1 X 0

Flip Flop tipo T

Qn Qn+1 T

0 0 0

0 1 1

1 0 1

1 1 0

Flip Flop tipo D

Qn Qn+1 D

0 0 0

0 1 1

1 0 0

1 1 1

Procedimiento de Diseño.

1. Realizar el diagrama de estado. Del número de estados diferentes se obtiene el número de flip flops.

2. Realizar la tabla de transiciones. De la tabla se obtienen las funciones de entradas de los flip flops. Se selecciona el tipo de flip flop para el diseño (JK, T, D)

3. Minimización de las funciones de entradas utilizando mapas de Karnaugh.

4. Dibujar el diagrama circuítal

Ejemplo de diseño: Contador binario ascendente de 3 bits con biestables JK.

Para entender el procedimiento de diseño, sigamos los pasos para diseñar un contador síncrono binario ascendente de 3 bits. La cuenta será 000, 001, 010, 011, 100, 101, 110, 111... y así de nuevo. (En decimal corresponde a la cuenta 0, 1, 2, 3, 4, 5, 6, 7 y de nuevo a 0)

Page 83: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 83

Paso 1: Diagrama de estado

Describimos el contador mediante un diagrama de estado, que nos muestra la manera como avanza la secuencia cada vez que se aplica un pulso de reloj. El numero de estados por lo que pasa el contador es de 7 por lo que se necesitan 3 FF. En el diseño de circuitos secuenciales en general, el diagrama de estado es el primer paso hacia la obtención del circuito. Para el caso de contadores por ser una secuencia directa no es necesario el diagrama de estado ya que en la especificación de diseño está suficientemente clara la secuencia de conteo, y de esta se puede obtener directamente el numero de flip flops necesarios y la tabla de transiciones.

Paso 2: Tabla de Transiciones

El próximo paso es el de desarrollar la tabla de transiciones a partir del diagrama de estado. En ella listaremos para cada uno de los estados

presentes de la secuencia , cual debe ser el valor de entrada de los flip flops para que al aplicarse un pulso de reloj se pase al siguiente estado de la secuencia (estado futuro). Para ello nos ayudamos con la tabla de excitación de los flip flop. Podemos diseñar el contador utilizando FF tipo JK, T o D. En este ejemplo utilizaremos FF JK.

Si notan la primera fila estamos en el estado 000 y el próximo estado de la cuenta debe ser el 001. En las entradas de los flip flops deberemos poner los valores necesarios para pasar del estado presente al estado futuro cuando baje el pulso de reloj.

Así, para el FF2 que genera Q2, el estado presente es 0 y el estado futuro es 0. Esto sucede cuando J2=K2=0 o cuando J2 = 0 y K2 = 1. De este modo, J2 tiene que ser cero, y K2 puede tener cualquier valor que indicaremos en la columna correspondiente a J2 con un 0 y en la correspondiente a K2 con una X indicando la condición de "no importa". Así vamos obteniendo las entradas para todos los FF y para todas las transiciones de estado. Esta representación es una tabla de verdad de las entradas de los flip flop en función del estado presente.

Paso 3: Minimización de funciones de entrada de los flip flops

TRANSICIONES DE

ESTADO

ENTRADAS DE LOS

FLIP FLOPS

Estado

Presente

Estado

Futuro FF2 FF1 FF0

Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0

0 0 0 0 0 1 0 X 0 X 1 X

0 0 1 0 1 0 0 X 1 X X 1

0 1 0 0 1 1 0 X X 0 1 X

0 1 1 1 0 0 1 X X 1 X 1

1 0 0 1 0 1 X 0 0 X 1 X

1 0 1 1 1 0 X 0 1 X X 1

1 1 0 1 1 1 X 0 X 0 1 X

1 1 1 0 0 0 X 1 X 1 X 1

Page 84: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 84

De la tabla de transiciones para cada una de las entradas de los FF obtenemos los Mapas de Karnaugh en función del estado presente, y simplificando obtenemos las funciones de las entradas de cada flip flop. Note que se colocó en cada casilla el valor decimal. Este corresponde al valor decimal de la cuenta del estado presente

J2 = Q1·Q0

J1 = Q0

J0 = 1

K2 = Q1·Q0

K1 = Q0

K0 = 1

Paso 4: Diagrama circuítal

El paso final es obtener el diagrama circuí tal. Para ello utilizamos las funciones de entrada de los flip flops para dibujar la lógica cambinacional correspondiente a las entradas de cada flip flop y formar así el contador. Las funciones de entrada obtenidas de los Mapas de Karnaugh son: J2 = K2 =Q1·Q0

J1 = K1 = Q0

J0 = K0 = 1

Ejemplo de diseño: Contador binario ascendente de 3 bits con biestables T

Page 85: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 85

Tabla de transiciones

TRANSICIONES DE ESTADO ENTRADAS DE LOS FLIP FLOPS

Estado Presente Estado Futuro FF2 FF1 FF0

Q2 Q1 Q0 Q2 Q1 Q0 J2=K2=T2 J1=K1=T1 J0=K0=T0

0 0 0 0 0 1 0 0 1

0 0 1 0 1 0 0 1 1

0 1 0 0 1 1 0 0 1

0 1 1 1 0 0 1 1 1

1 0 0 1 0 1 0 0 1

1 0 1 1 1 0 0 1 1

1 1 0 1 1 1 0 0 1

1 1 1 0 0 0 1 1 1

Minimización de funciones de entrada de los flip flops

T2 = Q1·Q0 T1 = Q0 T0 = 1

Diagrama circuítal

Page 86: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 86

Ejemplo de diseño: Contador binario ascendente de 3 bits con biestables D

Para diseñar con FF tipo D el procedimiento de obtener la tabla de transiciones es muy sencillo ya que por ser FF tipo D las columnas de entradas de los flip flops coinciden con las columnas correspondientes al estado futuro. Recuerde que para un FF tipo D la salida después de que baje el reloj es igual al valor de la entrada antes de la bajada del pulso.

Tabla de transiciones

TRANSICIONES DE ESTADO ENTRADAS DE LOS FLIP FLOPS

Estado Presente Estado Futuro FF2 FF1 FF0

Q2 Q1 Q0 Q2 Q1 Q0 D2 D1 D0

0 0 0 0 0 1 0 0 1

0 0 1 0 1 0 0 1 0

0 1 0 0 1 1 0 1 1

0 1 1 1 0 0 1 0 0

1 0 0 1 0 1 1 0 1

1 0 1 1 1 0 1 1 0

1 1 0 1 1 1 1 1 1

1 1 1 0 0 0 0 0 0

Minimización de funciones de entrada de los flip flops

D2 = Q2 · Q0 + Q2 · Q1 +Q0 · Q1 · Q2

D1 = Q1 · Q0 + Q0 · Q1 D1 = Q1 Q0

Page 87: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 87

D0 = Q0

Diagrama circuítal

Page 88: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 88

3.4 Mapas de Karnaugh

Ejemplo de mapa de Karnaugh.

Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de Veitch, abreviado como Mapa-K o Mapa-KV) es un diagrama utilizado para la simplificación de funciones algebraicas Booleanas. El mapa de Karnaugh fue inventado en 1950 por Maurice Karnaugh, un físico y matemático de los laboratorios Bell.

Los mapas de Karnaugh reducen la necesidad de hacer cálculos extensos para la simplificación de expresiones booleanas, aprovechando la capacidad del cerebro humano para el reconocimiento de patrones y otras formas de expresión analítica, permitiendo así identificar y eliminar condiciones redundantes.

El mapa de Karnaugh consiste en una representación bidimensional de la tabla de verdad de la función a simplificar. Puesto que la tabla de verdad de una función de N variables posee 2N filas, el mapa K correspondiente debe poseer también 2N cuadrados. Las variables de la expresión son ordenadas en función de su peso y siguiendo el código Gray, de manera que sólo una de las variables varía entre celdas adyacentes. La transferencia de los términos de la tabla de verdad al mapa de Karnaugh se realiza de forma directa, albergando un 0 ó un 1, dependiendo del valor que toma la función en cada fila. Las tablas de Karnaugh se pueden utilizar para funciones de hasta 6 variables.

Ejemplo

Dada la siguiente función algebraica Booleana representada como el sumatorio de sus minitérminos, y con las variables Booleanas , , , , la función se puede representar con dos notaciones distintas:

Page 89: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 89

Tabla de verdad

Utilizando los minitérminos definidos, se elabora la tabla de verdad:

#

0 0 0 0 0 0

1 0 0 0 1 0

2 0 0 1 0 0

3 0 0 1 1 0

4 0 1 0 0 0

5 0 1 0 1 0

6 0 1 1 0 1

7 0 1 1 1 0

8 1 0 0 0 1

9 1 0 0 1 1

10 1 0 1 0 1

11 1 0 1 1 1

12 1 1 0 0 1

13 1 1 0 1 1

14 1 1 1 0 1

15 1 1 1 1 0

Page 90: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 90

Mapa de Karnaugh

Construcción del mapa-K.

Las variables de entrada pueden combinarse de 16 formas diferentes, por lo que el mapa de Karnaugh tendrá 16 celdas, distribuidas en una cuadricula de 4 × 4.

La combinación de dígitos binarios en el mapa representa el resultado de la función por cada combinación de entradas. Por ejemplo, la celda en la esquina superior izquierda del mapa es 0, porque el resultado de la función es ƒ = 0 cuando A = 0, B = 0, C = 0, D = 0. De igual manera, la esquina inferior derecha es 1 porque el resultado de la función es ƒ = 1 cuando A = 1, B = 0, C = 1, D = 0.

Una vez construido el mapa de Karnaugh, la siguiente tarea es la de seleccionar conjuntos de términos de manera que se obtenga el menor número de términos posible. Estos términos se seleccionan formando grupos de rectángulos cuyas areas sean potencia de 2 (ej. 1, 2, 4, 8, ...) tratando de agrupar el mayor número de términos posible.

Que términos seleccionar van dependiendo de como se quiera realizar la simplificación, puesto que esta puede realizarse por minitérminos o por maxitérminos.

Page 91: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 91

UNIDAD 4 CIRCUITOS COMBINACIONALES Y SECUENCIALES

4.1 CODIFICADORES Y DECODIFICADORES

CODIFICADORES :

Es un circuito combinacional formado por 2 a la n entradas y n salidas cuya funciòn es tal que cuando una sola entrada adopta un determinado valor lògico( 0 o 1 , segùn las propiedades del circuito) las salidas representan en binario el número de orden de la entrada que adopte el valor activo.

Los codificadores comerciales construidos con tecnología MSI son prioritarios, esto quiere decir que la combinaciòn presente a la salida serà la correspondiente a la entrada activa de mayor valor decimal.

El diseño de un codificador se realiza como el de cualquier circuito combinacional.

CODIFICADOR 74LS148:

Este circuito està construido con tecnologìa TTL es un codificador que tiene 8 lineas de entrada y tres de salida. La principal aplicaciòn es la obtenciòn de un còdigo binario a partir de las lineas procedentes de un teclado.

Ademàs de las lineas de entrada y salida de datos, dispone de una entrada de inhiviciòn.Tiene tambièn dos salidas:EO y GS. La primera indica que todas las entradas estan a nivel alto; y la segunda nos indica que alguna de las entradas han sido activada.

DECODIFICADORES:

Son circuitos combinacionales de N entradas y un nùmero de salidas menor o igual a 2n .Basicamente funciona de manera que al aparecer una combinaciòn binaria en sus entradas, se activa una sola de sus salidas(no siempre).

Los codificadores realizan la funciòn inversa a los codificadores. Un decodificador selecciona una de las salidas dependiendo de la combinaciòn binaria presente a la entrada.

DECODIFICADOR 74 LS 48:

Es un circuito construido con tecnologìa TTL.Tiene 4 lineas de entrada y 10 de salida.Aplicando una combinaciòn BCD a su entrada, activa la correspondiente linea de salida.

Page 92: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 92

4.2 MULTIPLEXORES Y DEMULTIPLEXORES

MULTIPLEXORES

En las comunicaciones, y sistemas de computadora se ejecutan muchas operaciones mediante

circuitos lógicos combinatorios. Cuando un circuito se ha diseñado para efectuar alguna tarea en una

aplicación, a menudo también encuentra empleo en otras diferentes aplicaciones. En este tema se

tratarán los multiplexores y demultiplexores tanto a nivel SSI como MSI y como podemos aprovechar

sus funciones en el desarrollo de circuitos combinacionales.

Un Multiplexor o “Selector de datos” es un circuito lógico que acepta varias entradas de datos y

permite que sólo una de ellas pase a un tiempo a la salida. El enrutamiento de la entrada de datos

hacia la salida está controlado por las entradas de selección (a las que se hace referencia a veces

como las entradas de dirección).

El multiplexor, también conocido como MUX, actúa como un conmutador multiposicional controlado

digitalmente, donde el código digital aplicado a las entradas de selección controla cuáles entradas de

datos serán conmutadas hacia la salida. Por ejemplo, la salida será igual a la entrada de datos,

llamémosle D0, para el código de entrada de selección que sea cero (ABC=000 en el diagrama de

abajo); la salida será igual D1 para cuando el código de selección sea uno y así sucesivamente.

Establecido de otra manera, un multiplexor selecciona 1 de N fuentes de datos y transmite los datos

seleccionados a un solo canal de salida. Esto se llama multiplexión o multiplexaje.

Los multiplexores son representados en diagramas de bloques como trapezoides isósceles. A

continuación muestro el esquemático de un multiplexor de dos entradas y una salida con su

respectivo bit de selección:

ó

Page 93: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 93

Un ejemplo de multiplexores (aunque no digitales como los que vemos aquí) se ve en las líneas

telefónicas. Éstas usan exactamente este principio. Transmiten varias llamadas telefónicas (señales

de audio) a través de un único par cableado usando la técnica de “multiplexado” y cada señal de

audio va únicamente al receptor al que está destinado.

Una aplicación común para los MUX es encontrado en las computadoras, en las cuales la memoria

dinámica usa las mismas líneas de dirección para el direccionamiento tanto de las filas como de las

columnas. Un grupo de multiplexores es usado para primero seleccionar las direcciones de la

columna y luego cambiar para seleccionar la de la fila. Este esquema permite que grandes

cantidades de memoria sean incorporadas dentro de una computadora mientras se limita a la vez la

cantidad de conexiones de cobre requeridas para conectar la memoria al resto del circuito. Por eso

es que también se les conoce a veces como “selectores de datos”.

Ya se vio el símbolo esquemático del multiplexor de 2 entradas y una salida pero los multiplexores

no están limitados a 2 entradas. Si las líneas de selección son dos podemos alternar entre 4 datos

de entrada, si son 3 entre 8 y así sucesivamente. A continuación se muestran los símbolos

esquemáticos de los multiplexores de “4 a 1” (cuatro entradas y una salida), “8 a 1” (ocho entradas y

una salida) y “16 a 1” (dieciséis entradas y una salida) con sus respectivas líneas de selección,

respectivamente.

Page 94: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 94

En todos los casos la salida es Z, las entradas de selección S y el resto es la entrada que será

multiplexada.

A veces pueden verse en forma rectangular asemejando el circuito integrado que representan pero

en este caso siempre deben ir bien identificados para poder saber que

es. Por ejemplo:

representa (como se ve indicado) un multiplexor a nivel MSI de 8 entradas (que implica las 3 líneas

de selección) y una salida (F). Las entradas de selección, o sea, quienes indicarán cual de las

entradas será reflejada en la salida, vienen dadas por el código binario representado por ABC. ABC

son las “entradas de direccionamiento” o de dirección o de selección, como usted lo quiera llamar, ya

que estas serán quienes indican el dato a acceder. Este mismo concepto es el usado en las

memorias.

Veamos ahora la implementación de multiplexores a nivel SSI. Para el caso de un multiplexor de 2

entradas y una salida (quien por supuesto requiere sólo una línea de selección) el circuito sería:

Page 95: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 95

El uso del inversor dos veces NO es absolutamente

necesario. Se observa que cuando la entrada de

selección “A” tiene un valor cualquiera, una de las

compuertas AND tendrá un UNO en una de sus

entradas y la otra un CERO. La que tiene el CERO

dejará pasar sólo el CERO pero el que tenga el

valor de UNO dejará pasar la otra entrada de la

AND intacta y será este valor quien se refleje a la salida. Pueden verificar este circuito a través de su

tabla de la verdad. Veámosla a continuación:

A X0 X1 X

0

1 1 1

1 0 1

0 1 0

0 0 0

1

1 1 1

1 0 0

0 1 1

0 0 0

Se ve aquí que cuando que cuando A=0, X=X0 y cuando A=1, X=X1. Esto representa la función booleana: X = AX1+A'X0 que es exactamente la implementación mostrada.

Veamos como se ven las implementaciones de

4 a 1 y de 16 a 1:

Page 96: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 96

Analícenlos y si lo desean hagan sus tablas de la verdad.

Se ve que en el diseño de multiplexores de n entradas se requerirá siempre líneas de

selección (que daría un número entero si n es potencia de 2). Claro que, aunque es lo normal, el

multiplexor no necesariamente debe tener 2m líneas de entrada con m entero pero en todo caso se

requerirán tantas líneas de selección que hagan suficientes combinaciones para direccionar todas

las entradas. Por ejemplo, para multiplexar 3 ó 4 entradas se requieren 2 líneas de selección. Si se

requiere multiplexar 5, 6, 7 ú 8, entonces se necesitan 3 líneas de selección y así sucesivamente.

El Multiplexor es típicamente usado para combinar dos o más señales digitales en una sola línea

pero no es la única forma. También puede conseguirse de otras características pero aquí

mencionaré sólo un par de ejemplos de multiplexores:

De dos entradas de 4 bits y una salida de 4 bits. Éste selecciona uno de los nibbles de

entrada (internamente son 4 multiplexores de 2 a 1 en un solo encapsulado) y lo refleja en la

salida.

Page 97: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 97

De dos entradas de 4 bits a una salida de dos bits que representan un bit direccionado en

cada nibble reflejado a la salida (internamente son 2 multiplexores de 4 a 1).

Algunas designaciones para multiplexores de la familia TTL son: 74153 que son dos multiplexores 4

a 2, 74157 que son cuatro MUX 2 a 1 y el 74151 que es un MUX 8 a 1.

Los circuitos multiplexores pueden incluir también una línea de habilitación indicado con una E por

Enable, pero de eso hablaremos en el próximo tema.

Como último comentario de lo multiplexores quiero agregar que estos pueden ser organizados en

cascada (tal como los sumadores que vimos en el tema anterior) para implementar multiplexores

más grandes. Por ejemplo podemos usar multiplexores de 2 a 1 para implementar un multiplexor de

4 a 1 (o de 4 a 2 que si lo piensan se darán cuenta de que es elemental) o incluso para implementar

multiplexores de más entradas. Veamos específicamente el ejemplo de implementación de un

multiplexor de 16 a 1 usando sólo multiplexores de 4 a 1. El dato de entrada es X formado por los 16

bits x0, x1,...,x14 y x15. Las líneas de selección vienen dadas por S. OJO con este ejemplo. Analícelo y

entiéndalo.

En los multiplexores vemos también la

entrada de enable E (que además son de

lógica negativa que quiere decir que los IC's

se activaran con un cero). Ese es el bit de

habilitación que les dije veremos en el

próximo tema.

Page 98: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 98

DEMULTIPLEXORES

Es lo inverso a un multiplexor. Los demultiplexores o DEMUX tienen una entrada que es transferida a

una de las m posibles líneas de salida. La línea m vendrá direccionada por los n bits de selección

donde lo normal es que 2n=m. Se podría decir que, como profundizaremos en el próximo tema, cada

salida del demultiplexor corresponde con el término mínimo del número binario que se

encuentra en las líneas de selección.

Un uso popular del DEMUX es como decodificador y por eso suele usarse el término

Demultiplexor/Decodificador indistintamente. Ya hablaremos de él en próximo tema, pero el propósito

principal de un decodificador no es tanto transferir una entrada a una de las salidas sino llevar un

valor binario (el de la entrada de selección) a una representación de una única línea a la salida. Esta

función es de gran utilidad en la decodificación de la dirección en los microporcesadores por ejemplo

cuando involucra la selección de uno de multiples dispositivos (como por ejemplo la memoria). De

hecho, la mayoría de los decodificadores son de lógica invertida (o negativa) debido a que la mayoría

de los dispositivos periféricos de los microprocesadores son activados por una señal baja (como el

pin E' que vimos en los multiplexores en cascada hace un par de párrafos).

Los DEMUX también suelen incluir un bit de entrada de habilitación. Algunos DEMUX de la familia

TTL son: el 74139 que son dos DEMUX de 1 a 4 con salidas invertidas (lógica negada), el 74156 que

son dos DEMUX de 1 a 4 con salida de colector abierto (Open Collector), el 74138 que es un

DEMUX de 1 a 8 con salida invertida, el 74156 que es un DEMUX de 1 a 16 y el 74159 que es de 1 a

16 con salida a colector abierto.

Veamos a continuación la implementación de demultiplexores a nivel SSI. Para el caso de un

demultiplexor de 1 a 2 sería:

Se observa que el circuito tiene sólo una entrada

(representada por IN), dos salidas (OUT1 y OUT0) y el bit de

dirección (A). El proceso es justo el contrario del multiplexor.

Para los casos de DEMUX de 1 a 4 y de 1 a 8 tenemos las

Page 99: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 99

siguientes implementaciones.

Si lo desean hagan sus tablas de la verdad para que les facilite entender el comportamiento de estos

circuitos .

APLICACIONES

Resulta que algunas veces un circuito diseñado para cierto fin suele ser de gran utilidad en la

resolución de problemas que no fueron exactamente para el que fueron diseñados. El multiplexor es

una de esos ejemplos. Una poderosísima utilidad de los multiplexores está en la implementación de

funciones lógicas.

Vamos a estudiar algunas posibilidades de implementación de funciones lógicas mediante

multiplexores. Veamos el siguiente ejemplo:

F(x2, x1, x0 ) = ∑(2,5,6)

Page 100: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 100

Sabemos que esta función es uno para los términos mínimos 2, 5 y 6. Esta función tiene 3 variables

que pueden formar 8 combinaciones. La forma más sencilla de implementación, que es la que

veremos a continuación, es a través de un multiplexor de 8 a 1. Veamos la tabla de la verdad de la

función y la implementación con el multiplexor:

Dado que se trata de una función de tres variables, el método

acabado de sugerir implica en principio utilizar un multiplexor de

8 canales (es decir,con 3 entradas de control). Hay que conectar

las variables x2, x1 y x0 a las entradas de selección e introducir

en cada uno de los canales el valor ("0" o "1") que toma la

función para cada combinación de dichas variables. Observe la figura y note que el paso de una a

otra es inmediato ya que el multiplexor tiene cableada las entradas 2, 5 y 6 a uno y el resto a cero.

De esta forma se

garantiza que para las

combinaciones de las

variables X (quien se

colocó en las líneas de

selección) para los que

se requiere que la

función sea uno harán

f=1.

Veamos otro ejemplo.

F(A,B,C)=∑(3,5,6,7).

Con un multiplexor de

8 entradas se vería:

Es fácil de observar el porque de ésto, así que no lo analizaremos más.

Page 101: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 101

Llegados a este punto, una pregunta que podemos hacernos es si es

posible implementar funciones de n variables mediante multiplexores

con menos de n entradas de control. La respuesta es afirmativa,

aunque para ello será necesario en general añadir algún módulo o

conjunto de puertas. Siempre podremos implementar funciones

lógicas de 2n combinaciones con multiplexores de 2n-1 entradas. O

lo que es lo mismo, siempre podremos implementar funciones lógicas

de n variables con un multiplexor de n-1 líneas de selección. Veamos

el siguiente ejemplo:

F(A,B,C) = ∑(1,3,5,6)

Esta función tiene 8 (23) posibles combinaciones de variables (3 variables) pero debemos

implementarlo con un multiplexor de sólo dos (3-1) entradas de selección, o sea, un multiplexor de 4

(22) a 1. Llamemos a la entrada del multiplexor I (I3 I2 I1 I0). La tabla de la verdad de la función F es:

A B C F

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 0

Lo primero que debemos hacer es decidir como vamos a trabajar con las variables. En estos casos

sólo n-1 de las variables de la función se usarán en las líneas de selección y la otra restante se usará

a la entrada del multiplexor. Es este caso particular sólo dos de las variables pueden ser usadas en

las líneas de selección. He decidido que éstas serán B y C. Por lo tanto A será usada a la entrada

del multiplexor. Ok, lo primero que haremos será formar una tabla. Ésta deberá tener todas las

posibles entradas del multiplexor como títulos de las columnas y las dos posibles combinaciones de

Page 102: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 102

la variable que decidimos usar en la entrada (en nuestro caso A en sus formas A' [0] y A [1]) como

títulos de las filas.

I0 I1 I2 I3

A'

A

A cada celda de la tabla le corresponderá un término mínimo. Vemos que cuando A=0 (A'), los

términos de la función van del 0 al 3 y cuando A=1 (A) van de 4 a 7. O sea que la tabla deberá ser

llenada con:

I0 I1 I2 I3

A' m0 m1 m2 m3

A m4 m5 m6 m7

Aquí usted podría sólo encerrar en círculos los términos mínimos que sean uno en la función (en

nuestro caso m1, m3, m5 y m7 ) para procesar la tabla. Yo sencillamente voy a encerrarla con

paréntesis (únicamente por comodidad y no tener que estar haciendo más gráficos). También suele

colocarse sólo el número del término en vez del mn. Entonces, colocando los “círculos” donde

corresponde tenemos:

I0 I1 I2 I3

A' 0 (1) 2 (3)

A 4 (5) (6) 7

Aquí empezamos el análisis. Cuando en una columna de la tabla no hay ningún termino en círculo

como es el caso de la primera columna, concluimos que en esa entrada del multiplexor debe ir 0

(cero). Cuando en una columna AMBOS términos aparecen en círculo decimos que en esa entrada

del multiplexor debemos colocar un uno. Cuando en una columna sólo UNO de los términos aparece

en círculo, decimos que en la entrada correspondiente del multiplexor se colocará la variable

escogida (en nuestro caso la A) en la forma que aparezca con círculo que aquí sería A para la

Page 103: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 103

tercera columna y A' para la cuarta columna. Regularmente nuestra tabla, luego del análisis,

quedaría:

I0 I1 I2 I3

A' 0 (1) 2 (3)

A 0 (5) (6) 7

0 1 A A'

Por lo tanto, nuestra implementación de la

función F de tres variables con un

multiplexor de 4 a 1 (con sólo dos líneas de

selección) nos quedaría:

La entrada I1 puede ir directamente

conectada a UNO (1 ó Vcc) y ahorrarnos

ese inversor.

Yo decidí poner B y C en las entradas de

selección pero podría ir cualquier

combinación de dos variables. Lo único

que hay que tener en cuenta es que la tabla no lleva los términos mínimos organizados de la

misma forma. Supongamos que queremos poner A y B en las líneas de direccionamiento, entonces

nuestra tabla sería:

I0 I1 I2 I3

C' 0 2 4 (6)

C (1) (3) (5) 7

C C C C'

Page 104: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 104

Ya que C es el bit menos significativo y para las casos donde A y B son cero con C' tenemos el cero

y con C el uno, Si A=0 y B=1 entonces en C' tenemos 2 y en C tres, y así sucesivamente. Aquí ya

sólo nos quedaría implementar el circuito que sería colocando A en S1, B en S0, C en I0 e I1 e I2 y por

último C' en I3. Haga el esquemático.

Por último con respecto a este mismo ejemplo, demuestre que si quisiéramos colocar B en la

entrada, la tabla quedaría:

I0 I1 I2 I3

B' 0 (1) 4 (5)

B 2 (3) (6) 7

0 1 B B'

y dibuje el esquemático.

Veamos como último ejemplo de ésto la función F(A,B,C,D)=∑(0,1,3,4,8,9,15). Suponiendo que

queremos cablear A en la entrada, nuestra tabla aquí sería:

I0 I1 I2 I3 I4 I5 I6 I7

A' (0) (1) 2 (3) (4) 5 6 7

A (8) (9) 10 11 12 13 14 (15)

1 1 0 A' A' 0 0 A

Y el circuito sería:

Page 105: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 105

Aquí también podemos eliminar el uso de uno de los inversores y cablear directo a 0 ó 1

dependiendo del caso. Haga este ejercicio para los casos con B, C ó D a la entrada del multiplexor.

Page 106: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 106

Diseño combinacional con demultiplexores.

Este tema será visto mejor más adelante con el uso de decodificadores pero igual será comentado

brevemente aquí. Al presentar los demultiplexores se comentaba el hecho de que cada una de las

salidas coincide algebraicamente con un término mínimo diferente de las variables de entrada. Por

tanto es inmediato sintetizar directamente cualquier función de n variables mediante un

demultiplexor con n líneas de selección y una puerta OR que agrupe las salidas

correspondientes a los términos mínimos que aparecen en la expresión canónica como suma de

productos de la función. Veamos por ejemplo la implementación de un generador de un bit de

paridad impar para un código de 3 bits. Su tabla de verdad sería:

A B C f

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

No hacemos mapa de Karnaugh ya que simplificar la función no es requerido en este tipo de

ejercicios debido a que la implementación será hecha a nivel MSI y lo único que nos interesa

realmente es que términos mínimos conforman la función.

De la tabla de la verdad anterior podemos concluir que la implementación de esa función lógica a

través de un demultiplexor sería:

La entrada E' es el bit de habilitación del IC.

Page 107: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 107

4.3 FLIP-FLOPS Y CONTADORES BINARIOS

El flip-flop J-K. Contadores

En este capítulo estudiaremos uno de los elementos más importantes, si no el más importante, en el

arsenal de los bloques fundamentales de los circuitos lógicos conocidos como secuenciales. Este

elemento es el flip-flop J-K y se representa de la manera siguiente:

Como puede verse en el símbolo del flip-flop J-K, este posee dos salidas complementarias Q y Q al

igual que el flip-flop R-S.

Las características del flip-flop J-K son las siguientes:

(1) Cuando J=1 y K=1, al ir la entrada de la terminal de reloj C (clock) de 1 a 0 nada ocurre y el flip-

flop J-K retiene el estado que poseía anteriormente.

(2) Cuando J=1 y K=0, al ir la entrada C de 1 a0 el flip-flop J-K tomará el estado Q=1

independientemente del estado en el que se encontraba anteriormente.

Page 108: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 108

(3) Cuando J=0 y K=1, al ir la entrada C de 1 a 0 el flip-flop J-K tomará el estado Q=0

independientemente del estado en el que se encontraba anteriormente.

(4) Cuando J=0 y K=0, al ir la entrada C de 1 a 0 el flip-flop J-K tomará un estado opuesto a aquél

en el cual se encontraba anteriormente. Esto quiere decir que si antes de la transición en la terminal

C de 1 a 0 el flip-flop J-K se encontraba en el estado Q=1, entonces tomará el estado Q=0 después

de la transición. Asimismo, si se encontraba en el estado Q=0 antes de la transición, entonces

tomará el estado Q=1 después de la transición.

Obsérvese que la transición de 0 a 1 en la terminal C no produce efecto alguno en la salida Q.

Unicamente la transición de 1 a 0 es la que puede producir efecto alguno. Puesto que es una caída

de 1 a 0 o una transición negativa la que produce esta acción, este flip-flop J-K es reconocido como

uno accionado por una señal de reloj negativa en la terminal de "reloj" (clock).

Existen también en el mercado flip-flops J-K en los cuales la transición que produce la acción en la

terminal de salida Q es una transición positiva de 0 a 1 y no la transición negativa de 1 a 0

(precaución: aquí no hay voltajes negativos involucrados). Estos flip-flops J-K son conocidos en el

mercado como flip-flops accionados por una señal de reloj positiva.

Obsérvese cuidadosamente que es únicamente una transición en la terminal C la que puede producir

acción alguna a la salida del flip-flop J-K. Si la entrada en la terminal C permanece constante,

cualesquier variación en las terminales J yK no podrá producir efecto alguno en la salida Q del flip-

flop J-K.

En forma similar al flip-flop R-S, el flip-flop J-K también posee dos salidas complementarias, Q y Q,

con la diferencia de que el flip-flop J-K no posee estados no-definidos.

El flip-flop J-K, al igual que todos los bloques fundamentales dentro de los circuitos lógicos, se

construye utilizando funciones lógicas básicas.

Consideramos a continuación una configuración hecha exclusivamente a base de flip-flops J-K:

Page 109: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 109

Para analizar cualesquier circuito lógico que contenga flip-flops J-K, la regla es extremadamente

sencilla: Suponemos que todos los flip-flops J-K de la configuración están en el estado Q=0.

Aplicamos varias transiciones negativas en la terminal de entrada (o terminal "reloj") C y hacemos

una lista de los estados que adquieren los flip-flops J-K de la configuración después de haber

ocurrido cada transición. Continuamos el procedimiento hasta que todos los flip-flops J-K de la

configuración original hayan regresado al estado original Q=0.

Teniendo lo anterior en cuenta, empezamos suponiendo que la salida del primer flip-flop J-K es Q1=0

y que la salida del segundo flip-flop J-K es también Q2=0. En otras palabras, el estado original de la

configuración es Q1Q2=00.

Vemos entonces en el diagrama de la configuración cuáles son las entradas a cada flip-flop J-K:

Al llevarse a cabo la primera transición negativa en la terminal de entrada, el primer flip-flop J-K

tomará el estado Q1=1, ya que antes de la transición estaba condicionado por las entradas J=1 y

K=0. Simultáneamente, el segundo flip-flop J-K tomará el estado opuesto al que tenía anteriormente,

esto es, tomará el estado Q2=1, ya que antes de la transición estaba condicionado por las entradas

J=0 y K=0.

Por lo tanto, después de la primera transición la configuración habrá tomado el estado Q1Q2=11. La

situación de la configuración es ahora la siguiente:

Page 110: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 110

Al llevarse a cabo la segunda transición en la terminal de entrada, el primer flip-flop J-K tomará el

estado Q1=0, ya que antes de la segunda transición estaba condicionado por las entradas J=0 y

K=1. Simultáneamente, el segundo flip-flip J-K tomará el estado Q2=0, ya que antes de la segunda

transición estaba condicionado por las entradas J=0 y K=1.

Por lo tanto, después de la segunda transición la configuración toma el estado Q1Q2=00. El circuito

ha regresado a su estado original.

Podemos resumir la secuencia de estados en una "tabla" que a primera vista podría asemejar una

"Tabla de Verdad", pero que sin embargo no es tal, ya que es conceptualmente diferente. Se trata de

una tabla conocida como tabla de estados y también como tabla de secuencias, la cual no nos

dice cuál es la salida del circuito para una cierta combinación de entradas, sino que nos muestra cuál

es la secuencia de un estado del circuito al siguiente estado, en forma ordenada, de arriba hacia

abajo:

Con el fin de evitar confusiones, se han dibujado las tablas de secuencias que serán mostradas en

este libro de un modo algo diferente a como se han dibujado las Tablas de Verdad. En una tabla de

secuencias, cada "bit" de información, ya sea un "0" ó un "1", está encerrado en su propia "cajita", la

cual podemos visualizar como representando un flip-flop J-K o cualquier otro tipo de flip-flop. De este

modo, cada renglón en una tabla de secuencias representa en un momento dado el estado de todos

los flip-flops de los que está hecho el circuito, representa lo que llamamos comúnmente el estado de

la máquina, simbolizado simplemente como Q. Cualquier circuito lógico con elementos de memoria

Page 111: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 111

en un momento dado está completamente determinado por el estado en el que están cada uno de

sus elementos de memoria, lo cual incluye sus flip-flops R-S, sus flip-flops J-K, los valores que hay

en cada una de las "celdas" de su memoria RAM, en fin, todos los registros y elementos de memoria

de los que está hecha la máquina. Y como el número de estos elementos es siempre una cantidad

finita, estas máquinas son conocidas comúnmente como máquinas de estado finito (finite state

machines).

A diferencia de la Tabla de Verdad en la cual el orden en el que están puestos los renglones es un

asunto sin trascendencia, en la tabla de secuencias el orden de los renglones tiene que ser

mantenido intacto para poder leer de la misma cuál será el siguiente estado Qn+1 al cual avanzará un

contador en una transición de estados cuando se encuentra dentro de cierto estado Qn. El avance

del tiempo en una tabla de secuencias siempre debe ser leído de arriba hacia abajo, y el paso de un

renglón al siguiente debe ser leído como la transición de un estado a otro tras cada "pulso" en la

señal de entrada para la terminal de "reloj". Si continuamos aplicando transiciones negativas a la

terminal de entrada reloj C, la secuencia arriba mostrada se repetirá indefinidamente.

Circuitos hechos a base de flip-flops J-K como el que acabamos de estudiar son conocidos

comunmente como contadores.

Puesto que el contador estudiado requiere dos transiciones para regresar a la condición inicial,

decimos que es un contador módulo-2. En general, si un contador requiere n transiciones para

regresar a la condición inicial, decimos que es un contador módulo-n. El término técnico se ha

tomado "prestado" directamente del campo de las matemáticas, en donde tenemos aritméticas finitas

módulo-n en las cuales al ir contando hacia arriba la suma no se va acumulando indefinidamente

sino que, al llegar al número n, el conteo comienza nuevamente otra vez de cero. (Es una lástima

que aquellos estudiantes que tienen problemas para entender las aritméticas modulares no tengan

acceso a simuladores lógicos en los cuales con circuitos como los flip-flops J-K se pueden apreciar

aritméticas modulares en acción. En otras palabras, el asunto de las aritméticas modulares no es un

asunto meramente teórico que inventaron unos matemáticos ociosos que no tenían mejor cosa que

hacer. Es algo que tiene aplicación directa en la práctica, y aquí lo estamos viendo en acción.)

Obsérvese cómo en el contador estudiado todos los flip-flops J-K son activados simultáneamente.

Todo contador en el cual sus flip-flops J-K son accionados a un mismo tiempo con una señal de

"reloj" común a sus terminales de entrada de reloj C es conocido como un contador síncrono.

Existen también contadores en los cuales cada flip-flop J-K a través de su terminal de salida Q

acciona la terminal C del flip-flop J-K que le sigue. Este tipo de contadores recibe el nombre de

contador asíncrono. Esta definición se extiende hacia cualquier otro tipo de contadores y circuitos

secuenciales de todo género basado no sólo en el flip-flop J-K sino en otros flip-flops derivados del

flip-flop J-K. Por ejemplo, el siguiente circuito secuencial construído con flip-flops del tipo D (derivable

del flip-flop J-K según se verá en la sección de problemas resueltos) es un contador asíncrono:

Page 112: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 112

mientras que el siguiente contador es un contador síncrono (obsérvese cómo la terminal de reloj

resaltada de color azul alimenta todas las entradas C de los flip-flops del contador):

Otro concepto clave es el de los contadores con peso. Existe cierto tipo de contadores en los cuales

si asignamos un cierto "peso" numérico a cada flip-flop J-K que los compone , el contador parece

llevar a cabo un conteo ascendente en el sistema decimal. Consideremos un contador cuya tabla de

secuencias mostrando su secuencia natural de estados es la siguiente:

Page 113: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 113

Supongamos ahora que asignamos una unidad de peso al primer flip-flop J-K con salida Q1, una

unidad de peso al segundo flip-flop J-K de salida Q2, dos unidades de peso al tercer flip-flop J-K de

salida Q3 y cuatro unidades de peso al cuarto flip-flop J-K de salida Q4.

Al empezar el conteo, el estado de la configuración es Q1Q2Q3Q4=0000, cuyo equivalente decimal es

0. Después de la primera transición, el contador toma el estado Q1Q2Q3Q4=1000. Puesto que la

salida del primer flip-flop J-K es Q1=1 y a su vez contribuye con un peso de una unidad, el

equivalente decimal del estado del contador será 1. Después de la segunda transición, el contador

toma el estado Q1Q2Q3Q4=1100. Puesto que la salida de los dos primeros flip-flops es 1 y cada uno

contribuye con un peso de una unidad, el equivalente decimal del estado del contador será 1+1=2.

Después de la tercera transición, el contador toma el estado Q1Q2Q3Q4=1010. Puesto el primer flip-

flop contribuye con un peso de una unidad y el tercer flip-flop contribuye con un peso de dos

unidades, el equivalente decimal del estado del contador será 1+2=3. Continuando el análisis, vemos

que el contador produce una cuenta decimal ascendente ordenada que llega hasta el estado con un

equivalente del número decimal 8. Puesto que el peso del contador es una unidad - una unidad -

dos unidades - cuatro unidades, representamos dicho peso como 1-1'-2-4. Obsérvese el uso de la

comillla puesta en el peso correspondiente al segundo flip-flop que repite el mismo peso del primero.

Ahora bien, para diseñar un contador hecho a base de flip-flops J-K existen varias alternativas,

algunas de las cuales se discuten en los problemas resueltos correspondientes a este capítulo. El

diseñista deberá estar alerta para determinar cuál de todos producirá el diseño óptimo para lograr la

secuencia deseada.

Page 114: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 114

Debemos mencionar también que todo contador que produzca una salida simétrica de pulsos en su

último flip-flop J-K es conocido como un contador simétrico. De no ser así, el contador es conocido

como un contador asimétrico. (Definimos un tren simétrico de pulsos como aquél en el cual los

"unos" y los "ceros" siempre ocurren de manera alternada, y cada "1" tiene la misma duración de

tiempo que un "0".)

Aunque el flip-flop J-K es un elemento central para la construcción de contadores electrónicos, su

uso no está limitado a este tipo de circuitos. Las aplicaciones de un bloque tan versátil como lo es el

flip-flop J-K son tan amplias que están limitadas únicamente por la imaginación del diseñista. Del flip-

flop J-K se pueden obtener otros componentes más sencillos y más especializados como el flip-flop

D y el flip-flop T. Aquí es en donde tenemos el punto de partida para la construcción de

componentes funcionales más especializados tales como el registro de transferencia (shift

register), conocido también como registro de desplazamiento y como registro de corrimiento. En

este componente podemos ir metiendo varios bits de uno en uno hasta llenarlo a su máxima

capacidad, tras lo cual podemos enviarlos juntos hacia afuera en forma paralela o inclusive en forma

serial a la vez que vamos reintroduciendo la información de nuevo al registro de desplazamiento para

otro uso posterior. Esta acción la podemos esquematizar de la siguiente manera en un circuito lógico

que podemos suponer que se ha construído con cuatro flip-flops J-K:

Page 115: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 115

En este ejemplo, tras el primer "pulso de reloj", el último bit correspondiente a la palabra binaria 1011

ha entrado ya en el primer flip-flip del registro de transferencia. Al siguiente "pulso de reloj", le toca

su turno al penúltimo bit de la palabra binaria entrar al primer flip-flop del registro de transferencia, a

la vez que el bit que estaba en el primer flip-flop es desplazado hacia el segundo flip-flop hacia su

derecha. De este modo, la palabra binaria va entrando al registro de desplazamiento hasta que está

completamente dentro del registro, y eventualmente empieza a salir del registro bajo la acción de los

siguientes pulsos de reloj. Puesto que este es un registro de transferencia en el cual la información

binaria entra en forma serial (por la izquierda) y sale en forma serial (por la derecha), este tipo de

registro es conocido como de entrada-serial salida-serial o siso (serial-input serial-output). Se

pueden concebir otros tres tipos de registros de transferencia, el que es conocido como de entrada-

serial salida-paralela o sipo (serial-input parallel-output):

y el que es conocido como de entrada-paralela salida-serial o piso (parallel-input serial-output):

y el que es conocido como de entrada-paralela salida-paralela o pipo (parallel-input parallel-output):

Page 116: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 116

Diseñar un registro de transferencia con flip-flops J-K o cualquier otro tipo de flip-flop es un asunto

relativamente fácil. Pero el problema general en el diseño de circuitos secuenciales consiste en,

dada una tabla de secuencias, diseñar un circuito lógico que pueda producir en forma ordenada

dicha tabla de secuencias, todo bajo el control de un "pulso de reloj" maestro.

En otros tiempos, dados los costos altísimos de un componente tan básico como el inversor lógico

NOT construído a base de lentos relevadores electromecánicos o de componentes más rápidos pero

aún más costosos como los tubos electrónicos al vacío, diseñar un circuito secuencial con la menor

cantidad teórica posible de componentes era un asunto de la más alta prioridad, y para ello se

invertían muchas horas de estudio refinando al máximo técnicas como el mapa de Karnaugh para

poder obtener los diseños más económicos posibles. Pero el dramático abaratamiento de los

circuitos integrados en donde se implementan las funciones lógicas básicas ha hecho posibles otros

recursos más prácticos de diseño que no enfatizan tanto aquellas herramientas teóricas de tan

laborioso acceso que inclusive estaban fuera del alcance de la mayoría de los técnicos por ser

impartidas en cursos a nivel universitario en las carreras de ingeniería eléctrica, ingeniería

electrónica y ciencias computacionales.

Supóngase que se desea construír una máquina secuencial que sea capaz de generar una

secuencia de ocho palabras de 4 bits cada palabra. Si tenemos la tabla de secuencias a la mano,

entonces todo lo que tenemos que hacer es proporcionar un contador binario de conteo ascendente

que empezando con el estado Q1Q2Q3=000 suba al estado Q1Q2Q3=001 en el siguiente "pulso de

reloj", tras esto al estado Q1Q2Q3=010 en el siguiente "pulso de reloj", y así sucesivamente, llevando

a cabo un conteo binario ascendente. Podemos construír fácilmente un contador de este tipo con flip-

flops J-K. O mejor aún, lo podemos comprar ya hecho dentro de un circuito integrado como el

CD4520 (el cual incluye dos contadores binarios ascendentes por el precio de uno):

Page 117: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 117

Todo lo que tenemos que hacer ahora es agregarle una memoria ROM, conectando directamente las

salidas Q del contador binario a las entradas A de domicilios de la memoria ROM. El ROM tiene que

tener grabada en su memoria la tabla de secuencias en forma ordenada, con la primera secuencia

puesta como el dato localizable en el primer domicilio, la segunda secuencia puesta como el dato

localizable en el segundo domicilio, y así sucesivamente. El circuito presenta así el siguiente

aspecto:

Page 118: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 118

Todo lo que tenemos que hacer ahora es aplicarle "pulsos" de la señal de reloj de la duración

deseada en la terminal de entrada "Reloj" para ver trabajar a nuestro secuenciador.

Existe otra alternativa de diseño, explorada en la sección de problemas resueltos de este capítulo, la

cual consiste en utilizar una memoria ROM en la cual se recurre al "truco" de retroalimentar las

entradas del ROM con sus salidas, de modo tal que cada domicilio apunte hacia una localidad que

es otro domicilio del mismo ROM y a la vez la secuencia que sigue. De esta manera, el

abaratamiento de la microelectrónica no solo ha hecho posible que un técnico pueda lograr lo mismo

que lo que antes requería a un ingeniero para lograr, ha hecho obsoletos muchos de los

conocimientos tan arduamente adquiridos por este ingeniero que hoy en día nos sirven únicamente

como ejercicio intelectual, un ejercicio intelectual muy interesante pero de dudosa utilidad en la

práctica.

Page 119: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 119

4.4 REGISTROS DE CORRIMIENTO

Registros de Corrimiento

Un registro de corrimiento es un circuito secuencial síncrono capaz de contractar varios bits de

información. El formato de esta información puede ser de dos tipos:

• Serie: los bits se transfieren uno a continuación del otro por una misma línea.

• Paralelo: se intercambian todos los bits al mismo tiempo, utilizando un número de líneas de

transferencia igual al número de bits.

REGISTROS CON ENTRADA SERIE Y SALIDA SERIE

A continuación se muestra un registro de desplazamiento con entrada y salida en serie de 5 bits

formado con biestables maestro esclavo RS:

Observamos que la entrada S del primer biestable está conectado a la entrada y está negada a la

entrada R. Con esto se consigue que, cuando en la entrada haya un 1, el primer biestable contendrá

un 1 (Q=1, Q’=0) y los demás un 0. Con la siguiente señal de reloj el bit almacenado en el primer

biestable se desplazará al siguiente y así un tras otro hasta la salida en serie. Esto sucede así

porque la salida Q está conectada a la S del siguiente biestable. También podemos observar que los

biestables nunca pueden estar en estado de mantenimiento o en estado prohibido, ya que la entrada

enserie pasa afirmada a la S y negada a la R.

Los registros de desplazamiento se implementan con biestables maestro – esclavo, pues son

capaces de almacenar la información un flanco, y transmitirla durante el siguiente.

Cuando el registro se efectúa de izquierda a derecha se denomina desplazamiento hacia la derecha.

Si el registro combina ambos tipos se llama bidireccional.

REGISTROS CON ENTRADA SERIE Y SALIDA PARALELO

La estructura de un registro serie paralelo es muy similar a la de un registro con entrada y salidas en

serie:

Page 120: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 120

Observamos que la única diferencia es que se le añade una salida a cada una de las salidas Q del

biestable: de esta manera se pueden obtener todos los datos a la vez. Por otro lado, también se

puede obtener una salida en serie de cualquier salida Q o Q’.

Habitualmente se suele añadir una entrada de puesta a cero asíncrona (CLEAR) cuya función es

inicializar el registro.

En último lugar destacar que estos registros se suelen utilizar para el cambio de una palabra de serie

a paralelo.

REGISTROS CON ENTRADA PARALELO Y SALIDA SERIE

A continuación se muestra un esquema de un registro con entrada paralelo y salida serie y carga

asíncrona.

El funcionamiento es el siguiente: cuando en la entrada de selección desplazamiento /carga’ hay un

0 se realiza la carga. Con el inversor este cero se convierte en un 1 y por lo tanto las puertas NAND

que hay arriba y debajo de los biestables se convierten en inversores.

A continuación se introducen los datos: en el bit que haya un 1, se activa el Preset, y en el que haya

un cero, se activa el Clear.

Para el desplazamiento se coloca un 1 en D/C’ de esta manera se consigue que nunca se activan las

entradas ni PR ni CL, ya que de las puertas NAND siempre saldrá un 1. El desplazamiento se realiza

como en un registro serie-serie.

A continuación se muestra un registro con carga paralelo y salida serie pero en este caso la carga es

Page 121: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 121

síncrono, ya que se carga por las entradas síncronas

Observamos que esto se consigue con un multiplexor de dos canales gobernado por

DESPLAZAMIENTO/ CARGA’. Con esto se consigue que si se quiere cargar los datos, se activan las

entradas en paralelo que van cada una a las entradas S R. Para obtener los datos se tiene que

realizar la entrada serie.

En conclusión, podemos observar que la función del multiplexor es elegir entre la carga en serie o en

paralelo.

REGISTRO DE ENTRADA Y SALIDA EN PARALELO

Como se puede ver, se ha creado un registro de entrada y salida paralelo a partir de biestables D

con entrada de habilitación. La entrada de datos es cada una de las entradas D del biestable; la

entrada de habilitación se une a una entrada de habilitación global, de manera que cuando se activa,

permite que se lean los datos. Hay otra entrada (control de salida) que al activarse permite que se

lean las salidas. Aquí hemos utilizado puertas AND, aunque también podríamos haber utilizados

puertas OR y un inversor, o también buffers con entradas de alta impedancia.

Page 122: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 122

4.5 MEMORIAS ROM, RAM Y EPROM

Las memorias han evolucionado mucho desde los comienzos del mundo de la computación. Conviene recordar los tipos de memorias de semiconductores empleadas como memoria principal y unas ligeras pinceladas sobre cada una de ellas para enmarcar las memorias flash dentro de su contexto.

Organizando estos tipos de memoria conviene destacar tres categorías si las clasificamos en función de las operaciones que podemos realizar sobre ellas, es decir, memorias de sólo lectura, memorias de sobre todo lectura y memorias de lectura escritura.

Memorias de sólo lectura

• ROM : Se usan principalmente en microprogramación de sistemas. Los fabricantes las suelen emplear cuando producen componentes de forma masiva.

Es una memoria solamente de lectura es totalmente inalterable sin esta memoria la maquina no arrancaría. La memoria principal es la convencional que va de 0 a 640 kb. Cuando la máquina arranca comienza a trabajar el disco y realiza un testeo, para lo cual necesita memoria, esta memoria es la convencional (ROM) y está dentro del mother (en el bios). Apenas arranca utiliza 300 kb, sigue testeando y llega a mas o menos 540 kb donde se planta. A medida de que comenzaron a haber soft con más necesidad de memoria apareció la llamada memoria expandida que iba de 640 kb a 1024 kb. Una vez que se utilizaba toda la memoria convencional se utilizaba la expandida que utiliza la memoria RAM. A medida que pasa el tiempo los 1024 kb eran escasos y se creo la memoria extendida que va de 1024 kb a infinito que es la memoria RAM pura.

• PROM: (Programmable Read Only Memory): El proceso de escritura es eléctrico. Se puede grabar posteriormente a la fabricación del chip, a diferencia de las anteriores que se graba durante la fabricación. Permite una única grabación y es más cara que la ROM.

Es una memoria digital donde el valor de cada bit depende del estado de un fusible (o antifusible), que puede ser quemado una sola vez. Por esto la memoria puede ser programada (pueden ser escritos los datos) una sola vez a través de un dispositivo especial, un programador PROM. Estas memorias son utilizadas para grabar datos permanentes en cantidades menores a las ROMs, o cuando los datos deben cambiar en muchos o todos los casos.

Pequeñas PROM han venido utilizándose como generadores de funciones, normalmente en conjunción con un multiplexor. A veces se preferían a las ROM porque son bipolares, habitulamente Schottky, consiguiendo mayores velocidades. Una PROM común se encuentra con todos los bits en valor 1 como valor por defecto de fábrica; el quemado de cada fusible, cambia el valor del correspondiente bit a 0. La programación se realiza aplicando pulsos de altos voltajes que no se encuentran durante operaciones normales (12 a 21 voltios). El término Read-only (sólo lectura) se refiere a que, a diferencia de otras memorias, los datos no pueden ser cambiados (al menos por el usuario final).

Memorias de sobre todo lectura

Page 123: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 123

• EPROM (EPROM son las siglas de Erasable Programmable Read-Only Memory (ROM borrable programable). Es un tipo de chip de memoria ROM inventado por el ingeniero Dov Frohman que retiene los datos cuando la fuente de energía se apaga. En otras palabras, es no volátil.

Está formada por celdas de FAMOS (Floating Gate Avalanche-Injection Metal-Oxide Semiconductor) o transistores de puerta flotante. Cada uno de ellos viene de fábrica sin carga, por lo que es leído como un 1 (por eso una EPROM sin grabar se lee como FF en todas sus celdas). Se programan mediante un dispositivo electrónico que proporciona voltajes superiores a los normalmente utilizados en los circuitos electrónicos. Las celdas que reciben carga se leen entonces como un 0. Una vez programada, una EPROM se puede borrar solamente mediante exposición a una fuerte luz ultravioleta. Esto es debido a que los fotones de la luz excitan a los electrones de las celdas provocando que se descarguen. Las EPROMs se reconocen fácilmente por una ventana transparente en la parte alta del encapsulado, a través de la cual se puede ver el chip de silicio y que admite la luz ultravioleta durante el borrado.

• EEPRO Mson las siglas de electrically-erasable programmable read-only memory (ROM programable y borrable eléctricamente), en español o castellano se suele referir al hablar como E PROM y en inglés “E-Squared-PROM”. Es un tipo de memoria ROM que puede ser programado, borrado y reprogramado eléctricamente, a diferencia de la EPROM que ha de borrarse mediante rayos ultravioletas.

Aunque una EEPROM puede ser leída un número ilimitado de veces, sólo puede ser borrada y reprogramada entre 100.000 y 1.000.000 de veces. Estos dispositivos suelen comunicarse mediante protocolos como I C, SPI y Microwire. En otras ocasiones se integra dentro de chips como microcontroladores y DSPs para lograr una mayor rapidez. La memoria flash es una forma avanzada de EEPROM creadas por Dr. Fujio Masuoka mientras trabajaba para Toshiba in 1984 y fueron presentadas en la Reunion de Aparatos Electrónicos de la IEEE de 1984. Intel vio el potencial de la invención y en 1988 lanzo el primer chip comercial del tipo NOR.

• MEMORIA FLASH: Está basada en las memorias EEPROM pero permite el borrado bloque a bloque y es más barata y densa.

La memoria flash es una forma evolucionada de la memoria EEPROM que permite que múltiples posiciones de memoria sean escritas o borradas en una misma operación de programación mediante impulsos eléctricos, frente a las anteriores que sólo permite escribir o borrar una única celda cada vez. Por ello, flash permite funcionar a velocidades muy superiores cuando los sistemas emplean lectura y escritura en diferentes puntos de esta memoria al mismo tiempo. Flash, como tipo de EEPROM que es, contiene un array de celdas con un transistor evolucionado con dos puertas en cada intersección. Tradicionalmente sólo almacenan un bit de información. Las nuevas memorias flash, llamadas también dispositivos de celdas multi-nivel, pueden almacenar más de un bit por celda variando el número de electrones que almacenan.

Estas memorias están basada en el transistor FAMOS (Floating Gate Avalanche-Injection Metal Oxide Semiconductor) que es, esencialmente un transistor NMOS con un conductor (basado en un óxido metálico) adicional entre la puerta de control (CG – Control Gate) y los terminales fuente/drenador contenidos en otra puerta (FG – Floating Gate) o bien que rodea a FG y es quien contiene los electrones que almacenan la información.

Page 124: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 124

o Memoria flash de tipo NOR: Cuando los electrones se encuentran en FG, modifican (prácticamente anulan) el campo eléctrico que generaría CG en caso de estar activo.

De esta forma, dependiendo de si la celda está a 1 ó a 0, el campo eléctrico de la celda existe o no. Entonces, cuando se lee la celda poniendo un determinado voltaje en CG, la corriente eléctrica fluye o no en función del voltaje almacenado en la celda. La presencia/ausencia de corriente se detecta e interpreta como un 1 ó un 0, reproduciendo así el dato almacenado. En los dispositivos de celda multi-nivel, se detecta la intensidad de la corriente para controlar el número de electrones almacenados en FG e interpretarlos adecuadamente.

Para programar una celda de tipo NOR (asignar un valor determinado) se permite el paso de la corriente desde el terminal fuente al terminal sumidero, entonces se coloca en CG un voltaje alto para absorber los electrones y retenerlos en el campo eléctrico que genera. Este proceso se llama hot-electron injection. Para borrar (poner a “1”, el estado natural del transistor) el contenido de una celda, expulsar estos electrones, se emplea la técnica de Fowler-Nordheim tunnelling, un proceso de tunelado mecánico – cuántico. Esto es, aplicar un voltaje inverso bastante alto al empleado para atraer a los electrones, convirtiendo al transistor en una pistola de electrones que permite, abriendo el terminal sumidero, que los electrones abandonen el mismo. Este proceso es el que provoca el deterioro de las celdas, al aplicar sobre un conductor tan delgado un voltaje tan alto.

Cabe destacar que las memorias flash están subdividas en bloques (en ocasiones llamados sectores) y por lo tanto, para el borrado, se limpian bloques enteros para agilizar el proceso, ya que es la parte más lenta del proceso. Por esta razón, las memorias flash son mucho más rápidas que las EEPROM convencionales, ya que borran byte a byte. No obstante, para reescribir un dato es necesario limpiar el bloque primero para reescribir su contenido después.

o Memorias flash de tipo NAND: Basadas en puertas lógicas NAND funcionan de forma ligeramente diferente: usan un túnel de inyección para la escritura y para el borrado un túnel de ‘soltado’.

Las memorias basadas en NAND tienen, además de la evidente base en otro tipo de puertas, un coste bastante inferior, unas diez veces de más resistencia a las operaciones pero sólo permiten acceso secuencial (más orientado a dispositivos de almacenamiento masivo), frente a las memorias flash basadas en NOR que permiten lectura de acceso aleatorio. Sin embargo, han sido las NAND las que han permitido la expansión de este tipo de memoria, ya que el mecanismo de borrado es más sencillo (aunque también se borre por bloques) lo que ha proporcionado una base más rentable para la creación de dispositivos de tipo tarjeta de memoria.

Comparación de memorias flash basadas en NOR y NAND Para comparar estos tipos de memoria se consideran los diferentes aspectos de las memorias tradicionalmente valorados. La densidad de almacenamiento de los chips es actualmente bastante mayor en las memorias NAND. El coste de NOR es mucho mayor. El acceso NOR es aleatorio para lectura y orientado a bloques para su modificación. Sin embargo, NAND ofrece tan solo acceso directo para los bloques y lectura secuencial dentro de los mismos. En la escritura de NOR podemos llegar a modificar un solo bit. Esto destaca con la limitada reprogramación de las NAND que deben modificar bloques o palabras completas. La velocidad de lectura es muy superior en NOR (50–100 ns) frente a NAND (10 µs de la búsqueda de la página + 50 ns por byte). La velocidad de escritura para NOR es de 5 µs por byte frente a 200 µs por página en NAND. La velocidad de borrado para NOR es de 1 s por bloque de 64 KB frente a los 2 ms por bloque de 16 KB en NAND. La fiabilidad de los dispositivos basados en

Page 125: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 125

NOR es realmente muy alta, es relativamente inmune a la corrupción de datos y tampoco tiene bloques erróneos frente a la escasa fiabilidad de los sistemas NAND que requieren corrección de datos y existe la posibilidad de que queden bloques marcados como erróneos e inservibles. En resumen, los sistemas basados en NAND son más baratos y rápidos pero carecen de una fiabilidad que los haga eficiente, lo que demuestra la necesidad imperiosa de un buen sistema de archivos. Dependiendo de qué sea lo que se busque, merecerá la pena decantarse por uno u otro tipo.

Memorias de Lectura/Escritura (RAM)

• MEMORIA RAM o Memoria e acceso Aleatorio ( Random Acces Memory ).Esta memoria es como un escritorio al igual que los escritorios tienen cajones donde ordenan la información, cuanto mas grande sea el escritorio (plano de apoyo) mas cajones voy a tener de tal suerte que el micro va a perder menos tiempo en buscar y ordenar la información

La importancia de esta memoria es tan grande que si esta ausente la PC NO ARRANCA, Actúa como si estuviera muerta no hay sonido ni cursor en la pantalla ni luces que se enciendan o apaguen. Para que sirve: Almacena las instrucciones que debe ejecutar el micro en cada momento Este es el lugar físico donde debe trabajar el procesador cuando abrimos un programa sus instrucciones se copian automáticamente en la memoria, y cuando cerremos el programa todo se borrara ( volatizara ) También copia los trabajos que estamos haciendo en ese programa En la Ram se copian programas que coordinan el funcionamiento de la Pc: La primera parte de la Ram esta reservada para guardar las instrucciones de los dispositivos electrónicos. En este lugar no se puede guardar nada ya que lo utiliza el sistema para saber como manejar los dispositivos.

• DRAM (Dynamic Random Access Memory): Los datos se almacenan como en la carga de un condensador. Tiende a descargarse y, por lo tanto, es necesario un proceso de refresco periódico. Son más simples y baratas que las SRAM.

Este tipo de memoria se utilizan des los años 80 hasta ahora en toda las computadoras Esta memoria tiene una desventaja hay que estimularla (Refresco) permanentemente porque se olvida de todo. Como se estimula: requiere un procesador que ordene el envió de cargas eléctricas, a este tipo de memorias se lo conoce como memoria estáticas Otras de las desventajas de esta memoria es que es lenta y la ventaja es que es barata. Obviamente al tener estas desventajas se le incorporaron distintas tecnologías para mejorarlas.

• FPM DRAM. La ventaja de este memoria consiste en pedir permiso una sola vez u llevarse varios datos consecutivos esto comenzó a usarse principios de os años noventa y dio buenos resultados a estos módulos se los denominaron SIMM FPM DRAM y pueden tener 30 o 72 pines y se la utiliza en las Pentium I lo que logro con esta tecnología es agilizar el proceso de lectura, estas memorias ya no se utilizan mas.

• EDO DRAM Estas memorias aparecieron en el 95, y se hicieron muy populares ya que estaban presentes en todas las Pentium I MMX y tenia la posibilidad de localizar un dato mientras transfería otro de diferencia de las anteriores que mientras transfería un dato se bloqueaba. Estas EDO SIMM eran de 72 pines

Page 126: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 126

• RDRAM. Es una memoria muy costosa y de compleja fabricación y la utilizan procesador Pentim IV para arriba corre a velocidades de 800 Mhz sus módulos se denominan Rimm de 141 pines y con un anho de 16 bits, para llenar un banco de memoria de 64 bits hay que instalar 4 memorias, es posible que estas memoria sean retiradas del mercado por ser tan costosas

• SDRAM: Esta Memoria entro en el mercado en los años 97, y mejoro la velocidad siendo su ritmo de trabajo igual a la velocidad de Bus (FSB) es decir que tienen la capacidad de trabajar a la misma velocidad de mother al que se conectan.

Es tos módulos de 168 Pines son conocidos como DIMM SDRAM PC 66 y 100, 133, obviamente si instalo una de 133, en un mother de 100 va a funcionar a 100Mhz.

• DDR SDRAM: En este caso se consiguió que pudiera realizar dos transferencia en una pulsación o tic-tac de reloj, esta memoria pude alcanzar velocidades de 200 a 266Mhz, Tiene una ventaja mas trabaja en sincronía con el bus del mother si este acelera la memoria también pero tiene una desventaja son muy caras. Se conoce como DIMM DDR SDRAM PC 1600 Y PC 2100.

• SRAM (Static Random Access Memory): Los datos se almacenan formando biestables, por lo que no require refresco. Igual que DRAM es volátil. Son más rápidas que las DRAM y más caras.

• MEMORIA CACHÉ o SRAM: La memoria caché trabaja igual que la memoria virtual, tenemos caché en el procesador, en los discos y en el mother y nos guarda direcciones de memoria.

Si ejecutamos un programa en principio, lo cerramos y luego los volvemos a ejecutar, la memoria caché nos guarda la ubicación (dirección) en el disco, cuando lo ejecuté, y lo que hicimos con el programa. Es mucho más rápida cuando ya usamos un programa

Existen 3 tipos de memoria caché:

o Cache L1: Esta dividido en dos bloques uno contiene las instrucciones y otro los datos y cuando se habla de su capacidad de almacenamiento se dice que es de 2×16 Kb .

El cache L1 se encuentra dentro del interior del procesador y funciona a la misma velocidad que el micro con capacidades que van desde 2×8 hasta 2×64Kb

o Cache L2 interno y externo: La primeras memoria caché estaban ubicadas en el mother luego se construyeron en el procesador, pero no dentro del dado del procesador por lo que es mas lento que el caché L1, mientras que el externo lo encontramos el mother. La computadoras que tienen las tres tecnologías de caché van a ser mas rápidas.

o Cache L3: Algunos micro soportan un nivel de caché mas el L3 que esta localizado en el mother. EL AMD 6k-3 soporta este caché.

Page 127: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 127

4.6 CONVERTIDOR A D Y D A

CONVERTIDORES A/D (ADC) El convertidor A/D es el único elemento totalmente indispensable en un sistema de adquisición de datos. Además él por si sólo puede constituir un SAD. Generalmente suele ser el más caro de todos los elementos que constituyen el SAD aunque, por supuesto, su precio depende de la calidad de las prestaciones que se le pidan. Estas serán: la exactitud, que depende de los errores que se produzcan y de la resolución (número de bits), y la velocidad. A nivel de elemento de circuito, el A/D se caracteriza por una entrada analógica, una salida digital y varias señales de control y alimentación.

Las señales de control más importantes y características son: SC (Start Conversion) y EOC (End Of Conversion). La primera es una entrada que requiere el circuito para que comience la conversión que durará un tiempo que a veces es conocido de antemano y otras veces no. La señal EOC es la que indica al circuito o microprocesador donde están entrando las señales digitales, cuándo ha terminado la conversión. Es por tanto una señal de salida. El elemento de salida del A/D es un latch o registro donde se almacena el dato. Este permanecerá almacenado o cambiará controlado por unas entradas de Enable y Chip Select del latch. El funcionamiento de un A/D es muy simple: se inicia la conversión cuando la señal SC pasa a 1. El A/D comienza la conversión y avisa cuándo termina mediante una bajada a 0 del EOC.

Generalmente esta señal EOC está directamente conectada a una señal de interrupción del microprocesador lo que permite "desatenderla". Si no es así, habrá que utilizar una técnica para la lectura continua de la línea EOC que permita detectar el momento de la bajada. La forma más sencilla de conectar el A/D al circuito que va a recoger los datos es cuando éste es un microcomputador que consta de puertos de entrada/salida.

Page 128: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 128

Una de las líneas de un puerto es configurado como salida y sirve para la señal SC. Otra es configurada como entrada y recibe la señal EOC. Las líneas de salida de los datos son conectadas a otro puerto. Pero dependiendo del número de salidas que tenga el A/D, así tendrá que ser el puerto de entrada. Puede ocurrir que tenga 8 salidas y entonces entrarán en un puerto de 8 líneas del microcomputador. Pero si por ejemplo tiene 12 líneas habrá varias formas en que se podrá hacer la conexión que no está normalizada y depende por tanto del fabricante. Generalmente el fabricante dividirá la palabra de salida del A/D en dos partes: una de mayor peso (HB) y otra de menor (LB). Pero el número de bits que entre en cada parte no es fijo. Así puede ser que el HB contenga los bits 8 a 11 y el LB los 0 a 7. Pero también es posible que la división sea de 4 a 11 en HB y de 0 a 3 en LB. Además dentro del byte que no esté completo, los datos pueden estar colocados en la parte alta o en la baja etc. Además puede ocurrir que un mismo A/D acceda a más de un microcomputador con buses de diferente tamaño. En ese caso, se debe poder elegir la forma en que van a salir los datos dependiendo de a dónde vayan. Toda esta información la da el fabricante y la manera controlar los diferentes comportamientos y ubicaciones de los datos es utilizando líneas de otro puerto como líneas de control. Si no se cuenta con un microcomputador la conexión y el control habrá que hacerlo utilizando decodificadores de dirección, buffers etc. conjuntamente con un microprocesador. Tipos de convertidores A/D. Los convertidores A/D se pueden clasificar básicamente en los siguientes tipos:

Page 129: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 129

Aunque no son los únicos, sí son los más típicos. Los que más interés tienen por su aplicación son los marcados con asterisco (*). Dentro de cada grupo, la arquitectura interna es muy similar. Escalera. Consta de un D/A en el que la entrada es un contador. La entrada RST al contador es la de inicio de cuenta. El amplificador es un circuito comparador. Su funcionamiento no es el de un amplificador lineal, sino que está fabricado para comparar V+ con V- como lo hace un amplificador operacional, llevando al amplificador a saturación positiva o negativa. Tiene con él dos diferencias: en primer lugar es más rápido y además trabaja en niveles compatibles con TTL. Es decir su forma de trabajo es Si V+>V- sat. positiva y Vo=5V Si V+<V- sat. negativa y Vo=0V

Page 130: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 130

Vamos a identificar en el A/D en escalera dado los elementos dados como básicos en un A/D. En primer lugar tiene una entrada analógica. La salida, digital, se toma a la salida del contador. La señal de control SC es RST que pone a cero el contador y la señal EOC es la EC que da un flanco descendente cuando termina la conversión. El funcionamiento del A/D es el siguiente: Con la señal RST el contador se pone a 0 con lo que la entrada del D/A tendrá ese valor y así mismo la salida. Por tanto V-=0. Pero V+=VIN debe ser mayor que cero, por lo que VIN>V- y el amplificador se satura positivamente por lo que la salida Vo=5V=EOC. En esta situación se habilita la puerta AND permitiendo el paso de un pulso de reloj que obliga al contador a contar. En su salida tendrá un LSB que saldrá en analógico a la salida del D/A. Si su valor es menor que VIN la salida del amplificador seguirá siendo 5V, por lo que el contador contará otra vez. Y así sucesivamente hasta que V->VIN. En ese momento la salida del amplificador pasará a valer 0V inhabilitando la puerta. Por tanto, el contador recorrerá, en cada caso, todos los estados hasta que la salida del D/A supere la tensión de entrada. Dada la gran precisión del amplificador nunca se dará la situación de que sus dos entradas sean iguales. Siempre estará saturado. Este A/D tiene una pega y es el tiempo que tarda el circuito en hacer la conversión. Este tiempo depende del valor de VIN ya que en cada caso habrá que recorrer todos los estados desde 0. Si VIN es alto, habrá que recorrer muchos estados. El tiempo máximo cuando el contador recorre todos los estados es

donde n es el número de bits del contador y fCLK la frecuencia del reloj. Por tanto tarda más cuanto más resolución tenga el contador y menor sea la frecuencia del reloj. Seguimiento. En este circuito, la puerta se sustituye por el efecto de un contador ascendente descendente.

Page 131: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 131

Es especialmente útil cuando la señal a medir no evoluciona muy rápido y queremos saber de forma continuada el valor de VIN. es decir lee continuamente. En el circuito anterior, cada vez que se quería hacer una lectura había que empezar por el principio. Aquí, una vez que se ha alcanzado el valor aproximado a la señal VIN el contador solo aumenta o disminuye sobre este valor. Hace un seguimiento del señal. La señal SC, por tanto, es sólo una RST que se conecta a la señal de alimentación para comenzar. Una vez que está contando no se necesita esta señal ya que la cuenta es ininterrumpida. La forma de obtener la señal SC será entonces

Cuando se empieza a contar la cuenta se hace en sentido creciente y la salida del amplificador estará en saturación positiva hasta que la señal de entrada VIN sea menor que la salida del D/A. En ese momento, la cuenta se hace decreciente para ajustar el valor. Este desajuste puede ocurrir por dos causas: o bien la VIN está entre dos valores de salida del D/A que tiene valores discretos (Valor de la entrada digital x VREF = Salida analógica), o bien se debe a modificaciones de VIN. Este tipo de circuito es el que se utilizaría para medir temperatura permanentemente unida a un panel digital. La salida va variando arriba o abajo según como sea la lectura.

Aproximaciones sucesivas. En este circuito, se sustituye el contador por un registro de aproximaciones sucesivas (RAS). La idea de este circuito es lograr llegar al valor final, sin tener que recorrer todos los anteriores. Para ello, se pretende conocer en cada ciclo de reloj el valor de un bit. En primer lugar el valor del bit mas significativo Dn-1, después el Dn-2 y así sucesivamente. El método consiste en colocar en primer lugar en el registro el valor LHH...H. Si la VIN es superior a la salida del D/A en ese caso, el amplificador lo detectará dando saturación positiva y un 1 en salida. Por tanto para alcanzar el valor deseado tendré que incrementar el bit de mayor peso, es decir darle el valor H. Si por el contrario, el amplificador hubiese dado a la salida un 0, el bit estaría en su valor correcto.

Page 132: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 132

Una vez conocido el valor de Dn-1 introducimos como dato digital el siguiente: Dn-1 LHH...H y comparamos la salida del D/A con VIN como se hizo en el caso anterior. De esta manera conseguimos saber también el valor de Dn-2. Repitiendo este proceso en el tiempo conseguimos obtener el valor buscado. La principal ventaja que presenta este dispositivo frente a otros es que se necesita un ciclo de reloj por cada bit. Por ello, para 12 bits sólo son necesarios 12 ciclos de reloj. La base de este A/D es un R.A.S. que esté diseñado a partir de un registro de desplazamiento cuyo funcionamiento sea el siguiente:

tn representa el ciclo de reloj. Como se observa el dato está disponible en el ciclo de reloj n+1, uno más que el número de bits del dato de salida. Si VIN > V0DAC entonces la saturación del comparador será positiva y a la salida de éste tendremos V0 = 5V (un 1 lógico para TTL). Si VIN < V0DAC entonces la saturación será negativa y v0 = 0V (un 0 lógico en TTL). Con esto vemos que la salida del comparador, cuando evaluamos un bit, coincide con el valor correcto de éste. Por tanto, la salida del comparador debe utilizarse como entrada del registro de desplazamiento antes indicado. Los tiempos de conversión son del orden de los μs o de los centenares de ns ya que sólo necesitamos, para 12 bits, 13 ciclos de reloj y podemos utilizar frecuencias altas (de hasta MHz). Los problemas que pueden presentar este tipo de convertidores son del tipo de problemas de deriva, de OFFSET, de Vref, etc., que hacen que este tipo de convertidores no sean adecuados para un número de bits superiores a los 14. Esto se debe a que el propio convertidor, y debido a los problemas ya comentados, posee errores superiores a la resolución que buscamos al aumentar el número de bits. Este tipo de convertidores es el utilizado más comúnmente, salvo que deseemos realizar pocas conversiones por segundo (5, 10, 30, etc.). Para conversiones de 1000, 2000 por segundo es casi de uso obligatorio.

Page 133: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 133

CONVERTIDORES DE INTEGRACIÓN De simple rampa

Se hace la conversión en un sólo paso. Disponemos de un integrador y la tensión VIN debe ser positiva (unipolar). Cuando SC=1, entonces: 1. Se cierra el interruptor cortocircuitando el condensador C, de manera que se descarga a través de la RON del interruptor. 2. Se resetea el contador colocándolo a cero. 3. La unidad de control permite que la señal de reloj llegue al contador. Para ello coloca a 1 la tercera entrada de la puerta AND. Tras estos pasos el integrador comienza en cero y como VIN es positivo, la salida del amplificador estará en saturación positiva. Con ello, a la salida del comparador tendremos un 1 lógico, lo cual permitirá que la señal de reloj CLK alcance al contador. A medida que se carga el condensador aumenta el valor de salida del integrador VI. Esto continua igual hasta que en un momento determinado VIN es mayor o igual que VI lo que hace que el comparador se sature negativamente, y por tanto, VC = 0. En ese momento el resultado de la puerta NAND es un uno lógico, con lo cual impedimos que la señal CLK llegue al contador, terminando así el proceso de conversión.

Page 134: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 134

Lo que se ha hecho ha sido convertir VIN en una magnitud de tiempo t y ese tiempo lo evaluamos con un contador...

En el integrador tenemos:

En el instante de tiempo t=t1 ==> VI = VIN, sustituyendo...

despejando el número de pulsos n...

en donde se observa que el número de pulsos que tiene el contador al final de proceso es directamente proporcional a VIN ya que todo lo demás es una constante. Con esto vemos que la salida del contador es la salida del convertidor A/D. El factor de proporcionalidad dependerá de la estructura del circuito. El principal problema que presenta este tipo de convertidores es que la salida depende de muchos factores, como: Vref, R, C y T. Por ello Vref y T deben ser muy estables en el tiempo para que la conversión sea correcta. Los valores de RC no afectan mucho ya que su contribución pueden dar errores de ganancia fácilmente subsanables. La dependencia con el reloj, a través de T, es más importante ya que la estabilidad del mismo debe ser siempre la misma "de por vida". Por ello, esta estructura es muy simple y barata si prescindimos de las características extremas que necesitamos para el reloj, esto hace que no se utilice esta estructura. Veamos ahora otra estructura que evita este problema: doble rampa. Doble rampa El circuito es el de la figura

Page 135: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 135

El sistema funciona en dos partes en el tiempo proporcionando dos rampas distintas. 1. La entrada es la señal analógica VA que se desea digitalizar. Dura un tiempo fijo tF. 2. Tiene como entrada -VREF y el tiempo es variable. Se supone VA>0. Durante el primer período de tiempo la salida será:

ya que el condensador está descargado al comenzar la conversión mediante el interruptor que tiene en paralelo. En el segundo tramo, al conmutar la entrada ésta se hace negativa lo que implica una pendiente positiva. Sin considerar las condiciones iniciales la salida sería:

y teniendo en cuenta las condiciones iniciales:

La condición de final de segunda rampa se tendrá cuando la salida sea nula.

Se puede encontrar una expresión de esta ecuación en la que, eliminando el tiempo, se introduzcan los pulsos de reloj. Si f es la frecuencia de reloj, su período será la inversa de la frecuencia y se puede escribir

Page 136: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 136

siendo nx, nF el número de pulsos en el contador transcurridos en un tiempo tx, Tf respectivamente. Por tanto, en valores del contador la expresión será

nx depende de VREF externa y de nF que es el número fijo de pulsos de reloj que se puede fijar sin problema. La única condición a pedir al sistema es que el reloj debe tener una frecuencia constante durante el tiempo de conversión. Los convertidores de este tipo son lentos: unas 30-40 conversiones por segundo, es decir de 30-40 mseg lo cual permite que el oscilador se muy sencillo del tipo RC. Este convertidor es útil ya que además de tener una dependencia baja de la salida con la entrada, permite conseguir alta resolución (24 bits o algo más). Sin embargo esta alta resolución puede presentar problemas de deriva o offset que se resuelva mediante una tercera rampa (7109). Su idea básica es medir la deriva en la primera fase poniendo la entrada a cero y añadiendo esta deriva mediante un sumador en el resto del circuito. Se añade, por tanto, un tiempo previo al primero que es un ajuste de cero del A/D. Por otra parte, si VA<0 se necesitará que VREF sea positiva. El 7109 permite ambos signos en la entrada mediante un selector del signo de la tensión de referencia dependiendo del de la entrada. Otra ventaja de este circuito es el bajo consumo por estar fabricado en tecnología CMOS. Son también bastante inmunes al ruido sobre todo al de alta frecuencia. Si, por ejemplo, se quiere convertir una señal continua, si se observa ésta detenidamente se verá que no tiene un único valor sino que oscila dentro de una banda de valores (tiene ruido). Con un convertidor de integración la conversión no es instantánea (del orden de 30 c/s), por ello al integrar en el tiempo está promediando el valor de la señal. Si el período de conversión es un múltiplo de la señal de ruido, conseguiremos que el valor obtenido coincida con el valor de la señal constante y por tanto sin ruido, ya que la contribución de los semiperiodos positivos del ruido es la misma que la de los semiperiodos negativos. Tensión-Frecuencia En este tipo de convertidor se realiza una conversión de la señal analógica de entrada a frecuencia, midiéndose después el valor de la misma (antes la convertíamos en tiempo). Este circuito, por tanto, tendrá dos partes bien distintas: la primera convierte la señal a frecuencia y la segunda mide esa frecuencia. La primera parte del circuito será:

Page 137: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 137

está formada por un integrador y un comparador. El control detecta cuando VI es igual a VREF y en ese momento cortocircuita, momentáneamente, el condensador, comenzando así otro período de integración. El valor de VI será

para t = T (tiempo de integración) VI = -VREF , sustituyendo en la expresión anterior:

El comportamiento, por tanto, de VREF y de V0 se aprecia en la siguiente figura.

Page 138: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 138

Se observa la salida de pulsos rectangulares en el comparador, se trata de una señal periódica. Este período dependerá de dos cosas: T, tiempo de integración y TD, tiempo de descarga del condensador. Ver figura anterior. El período de la señal obtenida será T + TD aunque como TD <<< T consideraremos que el período es igual a T. Despejando de la expresión obtenida anteriormente tenemos:

y la frecuencia

IN en donde observamos que efectivamente la frecuencia es proporcional a VIN. Una de las principales ventajas que presenta este convertidor es que posee una alta capacidad de aislamiento, debido a que la salida ya es digital y con un optoacoplador, se consigue un aislamiento completo y total. Por ello, si colocamos a la salida de nuestro conversor tensiónfrecuencia un optoacoplador obtendremos un convertidor A/D con aislamiento...

La segunda parte de este convertidor será un frecuencímetro. Básicamente consiste en contar el número de pulsos que llegan a partir de un patrón de tiempo. Por tanto el convertidor completo será:

La salida del contador será la salida del convertidor. En el tiempo tendremos:

Page 139: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 139

Durante el tiempo TA el SAMPLE/HOLD estará en muestreo y durante TH estará en mantenimiento y Vc vale 1, permitiendo que los pulsos lleguen al contador. Durante TH se habrán contado n pulsos, siendo n = TH/T y como sabemos el valor de F=1/T

como se aprecia el número de pulsos es proporcional a VIN. Se trata de un circuito de bajo coste muy interesante para el caso de aislamiento. También es interesante para el caso de transmisión de información a larga distancia dado que la salida ya se encuentra digitalizada y, por ejemplo, se puede multiplexar varias de ellas a través un multiplexor digital. Convertidor paralelo Se trata de un convertidor excepcionalmente rápido pero muy complejo desde el punto de vista del circuito. Su estructura tiene dos partes. En el primer nivel aparecen un conjunto de comparadores

en donde, si el codificador tiene a la salida n niveles, necesitamos 2n comparadores a la entrada (para 8 bits se necesitan 256 comparadores). Las tensiones de referencia son todas múltiplos de la tensión del LSB. Por ejemplo, si tenemos 8 bits, con una tensión de 10 V, el LSB será:

El funcionamiento de este comparador es simple: todos aquellos comparadores en los que VIN sea mayor que su tensión de referencia estará en saturación positiva mientras que los demás no. El segundo nivel es un codificador que convierte las 2n entradas en n salidas. Ahora conseguimos que la conversión sea instantánea. Sus principales aplicaciones son en vídeo.

Page 140: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 140

Hasta aquí hemos estudiado los métodos de conversión más habituales, aunque no los únicos. Comercialmente existen tres convertidores que cubren el 99% de los que se utilizan: RAMPA (particularmente triple rampa), APROXIMACIONES SUCESIVAS, y TENSIÓN/FRECUENCIA. ¿Cuándo utilizar cada uno? Debemos fijarnos en la resolución y en las características temporales. RESOLUCIÓN: Es el número de bits que posee la salida digital, se mide en bits o en LSB. Los de aproximaciones sucesivas son, como mucho, de 14 ó 16 siendo lo normal de 12 bits, aunque también los hay de 8 ó 10. Con 8 bits resulta ser muy pobre el convertidor, sin embargo si se busca bajo coste puede ser adecuado. Para A/D discretos, no integrados, n= 10, 12 es lo más corriente. En general podemos decir que aquellos convertidores con n≥ 12 bits se consideran de alta resolución. VELOCIDAD: En un A/D se pasa de dos magnitudes continuas V y t a dos discretas. Al digitalizar, las tensiones se convierten en A valores discretos, ya que la resolución no es infinita sino. La diferencia entre un valor y el siguiente es el LSB, que se obtiene como RANGO/2n. Por otra parte al digitalizar la señal en el tiempo también se discretiza. Se da la orden de comienzo (SC, Start Conversion) y cuando se termina la conversión el A/D da la señal de haber terminado (EOC, End Of Conversion) y entre estas dos señales transcurre un tiempo durante el cual se ha realizado una conversión. La medida que se digitaliza en cada instante no será, probablemente, el valor real de la señal, sino el valor más próximo dentro de la discretización de V. Se produce, por tanto, un error de cuantización que depende de n. Este error sería de 1 LSB o de medio LSB como máximo dependiendo del método empleado. A medida que n sea mayor, menor será el error. Igualmente se produce un error debido a la discretización temporal. Cada instante de medida será ti = iT, siendo T la diferencia temporal entre dos medidas. La separación temporal entre intervalos de conversión T dependerá de la tecnología del convertidor, así podemos encontrar valores que van desde 50 ns a 50 ms, como se aprecia tenemos un factor de 106 entre ellos. También influye la separación entre la toma de una medida y la toma de la siguiente. De esta manera T lo podemos hacer más grande si nos interesa, pero no disminuirlo por debajo de lo que el convertidor pueda dar. En cualquier caso podemos decir que leemos los datos con una separación temporal T ó con una frecuencia F = 1/T, a la que se le da el nombre de FRECUENCIA DE MUESTREO. OTROS PARÁMETROS: Todos los parámetros que vimos para la calificación de los convertidores D/A se pueden utilizar de igual forma para los convertidores A/D. Así, por ejemplo, también podemos hablar de error de OFFSET y error de fondo de escala y de linealidad.

Page 141: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 141

UNIDAD 5 DISPOSITIVOS DE CONTROL

5.1 MICROPROCESADORES.

Microprocesador

Procesador AMD Athlon 64 X2 conectado en el zócalo de una placa base.

El microprocesador (o simplemente procesador) es el circuito integrado central y más complejo de un sistema informático; a modo de ilustración, se le suele asociar por analogía como el «cerebro» de un computador. Es un circuito integrado constituido por millones de componentes electrónicos. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador.

Es el encargado de ejecutar los programas; desde el sistema operativo hasta las aplicaciones de usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.

Esta unidad central de procesamiento está constituida, esencialmente, por registros, una unidad de control, una unidad aritmético lógica (ALU) y una unidad de cálculo en coma flotante(conocida antiguamente como «co-procesador matemático»).

El microprocesador está conectado, generalmente, mediante un zócalo específico a la placa base de la computadora. Normalmente, para su correcto y estable funcionamiento, se le adosa un sistema de refrigeración, que consta de un disipador de calor fabricado en algún material de alta conductividad térmica, como cobre o aluminio, y de uno o más ventiladores que fuerzan la expulsión del calor absorbido por el disipador; entre éste último y la cápsula del microprocesador suele colocarse pasta térmica para mejorar la conductividad térmica. Existen otros métodos más eficaces, como la refrigeración líquida o el uso de células peltier para refrigeración extrema, aunque estas técnicas se utilizan casi exclusivamente para aplicaciones especiales, tales como en las prácticas de overclocking.

Page 142: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 142

La medición del rendimiento de un microprocesador es una tarea compleja, dado que existen diferentes tipos de "cargas" que pueden ser procesadas con diferente efectividad por procesadores de la misma gama. Una métrica del rendimiento es la frecuencia de reloj que permite comparar procesadores con núcleos de la misma familia, siendo este un indicador muy limitado dada la gran variedad de diseños con los cuales se comercializan los procesadores de una misma marca y referencia. Un sistema informático de alto rendimiento puede estar equipado con varios microprocesadores trabajando en paralelo, y un microprocesador puede, a su vez, estar constituido por varios núcleos físicos o lógicos. Un núcleo físico se refiere a una porción interna del microprocesador cuasi-independiente que realiza todas las actividades de una CPU solitaria, un núcleo lógico es la simulación de un núcleo físico a fin de repartir de manera más eficiente el procesamiento. Existe una tendencia de integrar el mayor número de elementos dentro del propio procesador, aumentando así su eficiencia energética y la miniaturización. Entre los elementos integrados están las unidades de punto flotante, controladores de la memoria RAM, controladores de buses y procesadores dedicados de video.

Historia de los microprocesadores

La evolución del microprocesador

El microprocesador es producto surgido de la evolución de distintas tecnologías predecesoras, básicamente, de la computación y de la tecnología de semiconductores. El inicio de esta última data de mitad de la década de 1950; estas tecnologías se fusionaron a principios de los años 70, produciendo el primer microprocesador. Dichas tecnologías iniciaron su desarrollo a partir de la segunda guerra mundial; en este tiempo los científicos desarrollaron computadoras específicas para aplicaciones militares. En la posguerra, a mediados de la década de 1940, la computación digital emprendió un fuerte crecimiento también para propósitos científicos y civiles. La tecnología electrónica avanzó y los científicos hicieron grandes progresos en el diseño de componentes de estado sólido (semiconductores). En 1948 en los laboratorios Bell crearon el transistor.

En los años 1950, aparecieron las primeras computadoras digitales de propósito general. Se fabricaron utilizando tubos al vacío o bulbos como componentes electrónicos activos. Módulos de tubos al vacío componían circuitos lógicos básicos, tales como compuertas y flip-flops. Ensamblandolos en módulos se construyó la computadora electrónica (la lógica de control, circuitos de memoria, etc.). Los tubos de vacío también formaron parte de la construcción de máquinas para la comunicación con las computadoras.

Para la construcción de un circuito sumador simple se requiere de algunas compuertas lógicas. La construcción de una computadora digital precisa numerosos circuitos o dispositivos electrónicos. Un paso trascendental en el diseño de la computadora fue hacer que el dato fuera almacenado en memoria. Y la idea de almacenar programas en memoria para luego ejecutarlo fue también de fundamental importancia (Arquitectura de von Neumann).

La tecnología de los circuitos de estado sólido evolucionó en la década de 1950. El empleo del silicio, de bajo costo y con métodos de producción masiva, hicieron del transistor el componente más usado para el diseño de circuitos electrónicos. Por lo tanto el diseño de la computadora digital tuvo un gran avance con el reemplazo del tubo al vacío por el transistor, a finales de la década de 1950.

Page 143: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 143

A principios de la década de 1960, el estado de arte en la construcción de computadoras de estado sólido sufrió un notable avance; surgieron las tecnologías en circuitos digitales como: RTL (Lógica Transistor Resistor), DTL (Lógica Transistor Diodo), TTL (Lógica Transistor Transistor), ECL (Lógica Complementada Emisor).

A mediados de los años 1960 se producen las familias de circuitos de lógica digital, dispositivos integrados en escala SSI y MSI que corresponden a baja y mediana escala de integración de componentes. A finales de los años 1960 y principios de los 70 surgieron los sistemas a alta escala de integración o LSI. La tecnología LSI fue haciendo posible incrementar la cantidad de componentes en los circuitos integrados. Sin embargo, pocos circuitos LSI fueron producidos, los dispositivos de memoria eran un buen ejemplo.

Las primeras calculadoras electrónicas requerían entre 75 y 100 circuitos integrados. Después se dio un paso importante en la reducción de la arquitectura de la computadora a un circuito integrado simple, resultando uno que fue llamado microprocesador, unión de las palabras «Micro» del griego μικρο-, «pequeño», y procesador. Sin embargo, es totalmente válido usar el término genérico procesador, dado que con el paso de los años, la escala de integración se ha visto reducida de micrométrica a nanométrica; y además, es, sin duda, un procesador.

El primer microprocesador fue el Intel 4004,1 producido en 1971. Se desarrolló originalmente para una calculadora, y resultó revolucionario para su época. Contenía 2.300 transistores, era un microprocesador de arquitectura de 4 bits que podía realizar hasta 60.000 operaciones por segundo, trabajando a una frecuencia de reloj de alrededor de 700KHz.

El primer microprocesador de 8 bits fue el Intel 8008, desarrollado a mediados de 1972 para su uso en terminales informáticos. El Intel 8008 integraba 3300 transistores y podía procesar a frecuencias máximas de 800Khz.

El primer microprocesador realmente diseñado para uso general, desarrollado en 1974, fue el Intel 8080 de 8 bits, que contenía 4500 transistores y podía ejecutar 200.000 instrucciones por segundo trabajando a alrededor de 2MHz.

Los primeros microprocesadores de 16 bits fueron el 8086 y el 8088, ambos de Intel. Fueron el inicio y los primeros miembros de la popular arquitectura x86, actualmente usada en la mayoría de los computadores. El chip 8086 fue introducido al mercado en el verano de 1978, en tanto que el 8088 fue lanzado en 1979. Llegaron a operar a frecuencias mayores de 4Mhz.

El microprocesador elegido para equipar al IBM Personal Computer/AT, que causó que fuera el más empleado en los PC-AT compatibles entre mediados y finales de los años 80 fue el Intel 80286 (también conocido simplemente como 286); es un microprocesador de 16 bits, de la familia x86, que fue lanzado al mercado en 1982. Contaba con 134.000 transistores. Las versiones finales alcanzaron velocidades de hasta 25 MHz.

Uno de los primeros procesadores de arquitectura de 32 bits fue el 80386 de Intel, fabricado a mediados y fines de la década de 1980; en sus diferentes versiones llegó a trabajar a frecuencias del orden de los 40Mhz.

El microprocesador DEC Alpha se lanzó al mercado en 1992, corriendo a 200 MHz en su primera versión, en tanto que el Intel Pentium surgió en 1993 con una frecuencia de trabajo de 66Mhz. El procesador Alpha, de tecnología RISC y arquitectura de 64 bits, marcó un hito, declarándose como el más rápido del mundo, en su época. Llegó a 1Ghz de frecuencia hacia el año 2001. Irónicamente, a mediados del 2003, cuando se pensaba quitarlo de circulación, el Alpha aun encabezaba la lista de los microprocesadores más rápidos de Estados Unidos.2

Page 144: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 144

Los microprocesadores modernos tienen una capacidad y velocidad mucho mayores, trabajan en arquitecturas de 64 bits, integran más de 700 millones de transistores, como es en el caso de las serie Core i7, y pueden operar a frecuencias normales algo superiores a los 3GHz (3000MHz).

Funcionamiento

Desde el punto de vista lógico, singular y funcional, el microprocesador está compuesto básicamente por: varios registros, una unidad de control, una unidad aritmético lógica, y dependiendo del procesador, puede contener una unidad de coma flotante.

El microprocesador ejecuta instrucciones almacenadas como números binarios organizados secuencialmente en la memoria principal. La ejecución de las instrucciones se puede realizar en varias fases:

Prefetch, prelectura de la instrucción desde la memoria principal. Fetch, envío de la instrucción al decodificador Decodificación de la instrucción, es decir, determinar qué instrucción es y por tanto qué se

debe hacer. Lectura de operandos (si los hay). Ejecución, lanzamiento de las máquinas de estado que llevan a cabo el procesamiento. Escritura de los resultados en la memoria principal o en los registros.

Cada una de estas fases se realiza en uno o varios ciclos de CPU, dependiendo de la estructura del procesador, y concretamente de su grado de segmentación. La duración de estos ciclos viene determinada por la frecuencia de reloj, y nunca podrá ser inferior al tiempo requerido para realizar la tarea individual (realizada en un solo ciclo) de mayor coste temporal. El microprocesador se conecta a un circuito PLL, normalmente basado en un cristal de cuarzo capaz de generar pulsos a un ritmo constante, de modo que genera varios ciclos (o pulsos) en un segundo. Este reloj, en la actualidad, genera miles de megahercios.

Rendimiento

El rendimiento del procesador puede ser medido de distintas maneras, hasta hace pocos años se creía que la frecuencia de reloj era una medida precisa, pero ese mito, conocido como «mito de los megahertzios» se ha visto desvirtuado por el hecho de que los procesadores no han requerido frecuencias más altas para aumentar su potencia de cómputo.

Durante los últimos años esa frecuencia se ha mantenido en el rango de los 1,5 GHz a 4 GHz, dando como resultado procesadores con capacidades de proceso mayores comparados con los primeros que alcanzaron esos valores. Además la tendencia es a incorporar más núcleos dentro de un mismo encapsulado para aumentar el rendimiento por medio de una computación paralela, de manera que la velocidad de reloj es un indicador menos fiable aún. De todas maneras, una forma fiable de medir la potencia de un procesador es mediante la obtención de las Instrucciones por ciclo

Medir el rendimiento con la frecuencia es válido únicamente entre procesadores con arquitecturas muy similares o iguales, de manera que su funcionamiento interno sea el mismo: en ese caso la frecuencia es un índice de comparación válido. Dentro de una familia de procesadores es común

Page 145: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 145

encontrar distintas opciones en cuanto a frecuencias de reloj, debido a que no todos los chip de silicio tienen los mismos límites de funcionamiento: son probados a distintas frecuencias, hasta que muestran signos de inestabilidad, entonces se clasifican de acuerdo al resultado de las pruebas.

Esto se podría reducir en que los procesadores son fabricados por lotes con diferentes estructuras internas atendidendo a gamas y extras como podría ser una memoria caché de diferente tamaño, aunque no siempre es así y las gamas altas difieren muchísimo más de las bajas que simplemente de su memoria caché. Después de obtener los lotes según su gama, se someten a procesos en un banco de pruebas, y según su soporte a las temperaturas o que vaya mostrando signos de inestabilidad, se le adjudica una frecuencia, con la que vendrá programado de serie, pero con prácticas de overclock se le puede incrementar

La capacidad de un procesador depende fuertemente de los componentes restantes del sistema, sobre todo del chipset, de la memoria RAM y del software. Pero obviando esas características puede tenerse una medida aproximada del rendimiento de un procesador por medio de indicadores como la cantidad de operaciones de coma flotante por unidad de tiempo FLOPS, o la cantidad de instrucciones por unidad de tiempo MIPS. Una medida exacta del rendimiento de un procesador o de un sistema, es muy complicada debido a los múltiples factores involucrados en la computación de un problema, por lo general las pruebas no son concluyentes entre sistemas de la misma generación.

Arquitectura

El microprocesador tiene una arquitectura parecida a la computadora digital. En otras palabras, el microprocesador es como la computadora digital porque ambos realizan cálculos bajo un programa de control. Consiguientemente, la historia de la computadora digital ayuda a entender el microprocesador. El hizo posible la fabricación de potentes calculadoras y de muchos otros productos. El microprocesador utiliza el mismo tipo de lógica que es usado en la unidad procesadora central (CPU) de una computadora digital. El microprocesador es algunas veces llamado unidad microprocesadora (MPU). En otras palabras, el microprocesador es una unidad procesadora de datos. En un microprocesador se puede diferenciar diversas partes:

Encapsulado: es lo que rodea a la oblea de silicio en si, para darle consistencia, impedir su deterioro (por ejemplo, por oxidación por el aire) y permitir el enlace con los conectores externos que lo acoplaran a su zócalo a su placa base.

Memoria cache: es una memoria ultrarrápida que emplea el micro para tener a alcance directo ciertos datos que «predeciblemente» serán utilizados en las siguientes operaciones, sin tener que acudir a la memoria RAM, reduciendo así el tiempo de espera para adquisición de datos. Todos los micros compatibles con PC poseen la llamada cache interna de primer nivel o L1; es decir, la que está dentro del micro, encapsulada junto a él. Los micros más modernos (Pentium III Coppermine, Athlon Thunderbird, etc.) incluyen también en su interior otro nivel de caché, más grande, aunque algo menos rápida, es la caché de segundo nivel o L2 e incluso los hay con memoria caché de nivel 3, o L3.

Coprocesador matemático: unidad de coma flotante. Es la parte del micro especializada en esa clase de cálculos matemáticos, antiguamente estaba en el exterior del procesador en otro chip. Esta parte esta considerada como una parte «lógica» junto con los registros, la unidad de control, memoria y bus de datos.

Registros: son básicamente un tipo de memoria pequeña con fines especiales que el micro tiene disponible para algunos usos particulares. Hay varios grupos de registros en cada

Page 146: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 146

procesador. Un grupo de registros esta diseñado para control del programador y hay otros que no son diseñados para ser controlados por el procesador pero que la CPU los utiliza en algunas operaciones, en total son treinta y dos registros.

Memoria: es el lugar donde el procesador encuentra las instrucciones de los programas y sus datos. Tanto los datos como las instrucciones están almacenados en memoria, y el procesador las accede desde allí. La memoria es una parte interna de la computadora y su función esencial es proporcionar un espacio de almacenamiento para el trabajo en curso.

Puertos: es la manera en que el procesador se comunica con el mundo externo. Un puerto es análogo a una línea de teléfono. Cualquier parte de la circuitería de la computadora con la cual el procesador necesita comunicarse, tiene asignado un «número de puerto» que el procesador utiliza como si fuera un número de teléfono para llamar circuitos o a partes especiales.

Fabricación

Procesadores de silicio

El proceso de fabricación de un microprocesador es muy complejo. Todo comienza con un buen puñado de arena (compuesta básicamente de silicio), con la que se fabrica un monocristal de unos 20 x 150 centímetros. Para ello, se funde el material en cuestión a alta temperatura (1.370 °C) y muy lentamente (10 a 40 mm por hora) se va formando el cristal.

De este cristal, de cientos de kilos de peso, se cortan los extremos y la superficie exterior, de forma de obtener un cilindro perfecto. Luego, el cilindro se corta en obleas de 10 micras de espesor, la décima parte del espesor de un cabello humano, utilizando una sierra de diamante. De cada cilindro se obtienen miles de obleas, y de cada oblea se fabricarán varios cientos de microprocesadores.

Silicio.

Estas obleas son pulidas hasta obtener una superficie perfectamente plana, pasan por un proceso llamado “annealing”, que consiste en someterlas a un calentamiento extremo para remover cualquier defecto o impureza que pueda haber llegado a esta instancia. Después de una supervisión mediante láseres capaz de detectar imperfecciones menores a una milésima de micra, se recubren con una capa aislante formada por óxido de silicio transferido mediante deposición de vapor.

De aquí en adelante, comienza el proceso del «dibujado» de los transistores que conformarán a cada microprocesador. A pesar de ser muy complejo y preciso, básicamente consiste en la “impresión” de sucesivas máscaras sobre la oblea, sucediéndose la deposición y eliminación de capas finísimas de materiales conductores, aislantes y semiconductores, endurecidas mediante luz ultravioleta y atacada por ácidos encargados de remover las zonas no cubiertas por la impresión. Salvando las escalas, se trata de un proceso comparable al visto para la fabricación de circuitos

Page 147: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 147

impresos. Después de cientos de pasos, entre los que se hallan la creación de sustrato, la oxidación, la litografía, el grabado, la implantación iónica y la deposición de capas; se llega a un complejo «bocadillo» que contiene todos los circuitos interconectados del microprocesador.

Un transistor construido en tecnología de 45 nanómetros tiene un ancho equivalente a unos 200 electrones. Eso da una idea de la precisión absoluta que se necesita al momento de aplicar cada una de las máscaras utilizadas durante la fabricación.

Una oblea de silicio grabada.

Los detalles de un microprocesador son tan pequeños y precisos que una única mota de polvo puede destruir todo un grupo de circuitos. Las salas empleadas para la fabricación de microprocesadores se denominan salas limpias, porque el aire de las mismas se somete a un filtrado exhaustivo y está prácticamente libre de polvo. Las salas limpias más puras de la actualidad se denominan de clase 1. La cifra indica el número máximo de partículas mayores de 0,12 micras que puede haber en un pie cúbico (0,028 m3) de aire. Como comparación, un hogar normal sería de clase 1 millón. Los trabajadores de estas plantas emplean trajes estériles para evitar que restos de piel, polvo o pelo se desprendan de sus cuerpos.

Una vez que la oblea ha pasado por todo el proceso litográfico, tiene “grabados” en su superficie varios cientos de microprocesadores, cuya integridad es comprobada antes de cortarlos. Se trata de un proceso obviamente automatizado, y que termina con una oblea que tiene grabados algunas marcas en el lugar que se encuentra algún microprocesador defectuoso.

La mayoría de los errores se dan en los bordes de la oblea, dando como resultados chips capaces de funcionar a velocidades menores que los del centro de la oblea o simplemente con características desactivadas, tales como núcleos. Luego la oblea es cortada y cada chip individualizado. En esta etapa del proceso el microprocesador es una pequeña placa de unos pocos milímetros cuadrados, sin pines ni cápsula protectora.

Cada una de estas plaquitas será dotada de una cápsula protectora plástica (en algunos casos pueden ser cerámicas) y conectada a los cientos de pines metálicos que le permitirán interactuar con el mundo exterior. Estas conexiones se realizan utilizando delgadísimos alambres, generalmente de

Page 148: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 148

oro. De ser necesario, la cápsula es provista de un pequeño disipador térmico de metal, que servirá para mejorar la transferencia de calor desde el interior del chip hacia el disipador principal. El resultado final es un microprocesador como los que equipan a los computadores.

También se están desarrollando alternativas al silicio puro, tales como el carburo de silicio que mejora la conductividad del material, permitiendo mayores frecuencias de reloj; aunque aún se encuentra en investigación.

Otros materiales

Aunque la gran mayoría de la producción de circuitos integrados se basa en el silicio, no se puede omitir la utilización de otros materiales tales como el germanio; tampoco las investigaciones actuales para conseguir hacer operativo un procesador desarrollado con materiales de características especiales como el grafeno o la molibdenita.

Empaquetado

Empaquetado de un procesador Intel 80486 en un empaque de cerámica.

Los microprocesadores son circuitos integrados y como tal están formados por un chip de silicio y un empaque con conexiones eléctricas. En los primeros procesadores el empaque se fabricaba con plásticos epoxicos o con cerámicas en formatos como el DIP entre otros. El chip se pegaba con un material térmicamente conductor a una base y se conectaba por medio de pequeños alambres a unas pistas terminadas en pines. Posteriormente se sellaba todo con una placa metálica u otra pieza del mismo material de la base de manera que los alambres y el silicio quedaran encapsulados.

Empaquetado de un procesador PowerPC con Flip-Chip, se ve el chip de silicio.

Page 149: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 149

En la actualidad los microprocesadores de diversos tipos (incluyendo procesadores gráficos) se ensamblan por medio de la tecnología Flip chip. El chip semiconductor es soldado directamente a un arreglo de pistas conductoras (en el sustrato laminado) con la ayuda de unas microesferas que se depositan sobre las obleas de semiconductor en las etapas finales de su fabricación. El sustrato laminado es una especie de circuito impreso que posee pistas conductoras hacia pines o contactos, que a su vez servirán de conexión entre el chip semiconductor y un zócalo de CPU o una placa base.<4>

Antiguamente las conexión del chip con los pines se realizaba por medio de microalambres de manera que quedaba boca arriba, con el método Flip Chip queda boca abajo, de ahí se deriva su nombre. Entre las ventajas de este método esta la simplicidad del ensamble y en una mejor disipación de calor. Cuando la pastilla queda bocabajo presenta el sustrato base de silicio de manera que puede ser enfriado directamente por medio de elementos conductores de calor. Esta superficie se aprovecha también para etiquetar el integrado. En los procesadores para computadores de escritorio, dada la vulnerabilidad de la pastilla de silicio, se opta por colocar una placa de metal, por ejemplo en los procesadores Athlon como el de la primera imagen. En los procesadores de Intel también se incluye desde el Pentium III de más de 1 Ghz.

Disipación de calor

Con el aumento de la cantidad de transistores integrados en un procesador, el consumo de energía se ha elevado a niveles en los cuales la disipación calórica natural del mismo no es suficiente para mantener temperaturas aceptables y que no se dañe el material semiconductor, de manera que se hizo necesario el uso de mecanismos de enfriamiento forzado, esto es, la utilización de disipadores de calor.

Entre ellos se encuentran los sistemas sencillos, tales como disipadores metálicos, que aumentan el área de radiación, permitiendo que la energía salga rápidamente del sistema. También los hay con refrigeración líquida, por medio de circuitos cerrados.

En los procesadores más modernos se aplica en la parte superior del procesador, una lámina metálica denominada IHS que va a ser la superficie de contacto del disipador para mejorar la refrigeración uniforme del die y proteger las resistencias internas de posibles tomas de contacto al aplicar pasta térmica. Varios modelos de procesadores, en especial, los Athlon XP, han sufrido cortocircuitos debido a una incorrecta aplicación de la pasta térmica.

Para las prácticas de overclock extremo, se llegan a utilizar elementos químicos tales como hielo seco, y en casos más extremos, nitrógeno líquido, capaces de rondar temperaturas por debajo de los -190 grados Celsius y el helio líquido capaz de rondar temperaturas muy próximas al cero absoluto. De esta manera se puede prácticamente hasta triplicar la frecuencia de reloj de referencia de un procesador de silicio. El límite físico del silicio es de 10 GHz, mientras que el de otros materiales como el grafeno puede llegar a 1 THz

Conexión con el exterior

El microprocesador posee un arreglo de elementos metálicos que permiten la conexión eléctrica entre el circuito integrado que conforma el microprocesador y los circuitos de la placa base.

Page 150: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 150

Dependiendo de la complejidad y de la potencia, un procesador puede tener desde 8 hasta más de 2000 elementos metálicos en la superficie de su empaque. El montaje del procesador se realiza con la ayuda de un zócalo de CPU soldado sobre la placa base. Generalmente distinguimos tres tipos de conexión:

PGA: Pin Grid Array: La conexión se realiza mediante pequeños alambres metálicos repartidos a lo largo de la base del procesador introduciéndose en la placa base mediante unos pequeños agujeros, al introducir el procesador, una palanca anclará los pines para que haga buen contacto y no se suelten.

BGA: Ball Grid Array: La conexión se realiza mediante bolas soldadas al procesador que hacen contacto con el zócalo

LGA: Land Grid Array: La conexión se realiza mediante superficies de contacto lisas con pequeños pines que incluye la placa base.

Entre las conexiones eléctricas están las de alimentación eléctrica de los circuitos dentro del empaque, las señales de reloj, señales relacionadas con datos, direcciones y control; estas funciones están distribuidas en un esquema asociado al zócalo, de manera que varias referencias de procesador y placas base son compatibles entre ellos, permitiendo distintas configuraciones.

Buses del procesador

Todos los procesadores poseen un bus principal o de sistema por el cual se envían y reciben todos los datos, instrucciones y direcciones desde los integrados del chipset o desde el resto de dispositivos. Como puente de conexión entre el procesador y el resto del sistema, define mucho del rendimiento del sistema, su velocidad se mide en bits por segundo.

Ese bus puede ser implementado de distintas maneras, con el uso de buses seriales o paralelos y con distintos tipos de señales eléctricas. La forma más antigua es el bus paralelo en el cual se definen líneas especializadas en datos, direcciones y para control.

En la arquitectura tradicional de Intel (usada hasta modelos recientes), ese bus se llama front-side bus y es de tipo paralelo con 64 líneas de datos, 32 de direcciones además de múltiples líneas de control que permiten la transmisión de datos entre el procesador y el resto del sistema. Este esquema se ha utilizado desde el primer procesador de la historia, con mejoras en la señalización que le permite funcionar con relojes de 333 Mhz haciendo 4 transferencias por ciclo.5

En algunos procesadores de AMD y en el Intel Core i7 se han usado otros tipos para el bus principal de tipo serial. Entre estos se encuentra el bus HyperTransport de AMD, que maneja los datos en forma de paquetes usando una cantidad menor de líneas de comunicación, permitiendo frecuencias de funcionamiento más altas y en el caso de Intel, Quickpath

Los microprocesadores de Intel y de AMD (desde antes) poseen además un controlador de memoria de acceso aleatorio en el interior del encapsulado lo que hace necesario la implementación de buses de memoria del procesador hacia los módulos. Ese bus esta de acuerdo a los estándares DDR de JEDEC y consisten en líneas de bus paralelo, para datos, direcciones y control. Dependiendo de la cantidad de canales pueden existir de 1 a 4 buses de memoria.

Page 151: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 151

5.2 MICROCONTROLADORES.

Microcontrolador

Microcontrolador Motorola 68HC11 y chips de soporte.

Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.

Algunos microcontroladores pueden utilizar palabras de cuatro bits y ,funcionan a velocidad de reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja potencia (mW o microvatios). Por lo general, tendrá la capacidad para mantener la funcionalidad a la espera de un evento como pulsar un botón o de otra interrupción, el consumo de energía durante el sueño (reloj de la CPU y los periférico de la mayoría) puede ser sólo nanovatios, lo que hace que muchos de ellos muy adecuados para aplicaciones con batería de larga duración. Otros microcontroladores pueden servir para roles de rendimiento crítico, donde sea necesario actuar más como un procesador digital de señal (DSP), con velocidades de reloj y consumo de energía más altos.

Al ser fabricados, la memoria ROM del microcontrolador no posee datos. Para que pueda controlar algún proceso es necesario generar o crear y luego grabar en la EEPROM o equivalente del microcontrolador algún programa, el cual puede ser escrito en lenguaje ensamblador u otro lenguaje para microcontroladores; sin embargo, para que el programa pueda ser grabado en la memoria del microcontrolador, debe ser codificado en sistema numérico hexadecimal que es finalmente el sistema que hace trabajar al microcontrolador cuando éste es alimentado con el voltaje adecuado y asociado a dispositivos analógicos y discretos para su funcionamiento.1

Page 152: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 152

Características

Esquema de un microcontrolador. En esta figura,

vemos al microcontrolador metido dentro de un

encapsulado de circuito integrado, con su

procesador (CPU), buses, memoria, periféricos y

puertos de entrada/salida. Fuera del encapsulado

se ubican otros circuitos para completar periféricos

internos y dispositivos que pueden conectarse a los

pines de entrada/salida. También se conectarán a

los pines del encapsulado la alimentación, masa,

circuito de completamiento del oscilador y otros

circuitos necesarios para que el microcontrolador

pueda trabajar.

Los microcontroladores son diseñados para reducir el costo económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la unidad central de procesamiento, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora utilizará un procesador muy pequeño (4 u 8 bits) porque sustituirá a un autómata finito. En cambio, un reproductor de música y/o vídeo digital (MP3 o MP4) requerirá de un procesador de 32 bits o de 64 bits y de uno o más códecs de señal digital (audio y/o vídeo). El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bits, al igual que el sistema de control electrónico del motor en un automóvil.

Los microcontroladores representan la inmensa mayoría de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSPs más especializados. Mientras se pueden tener uno o dos microprocesadores de propósito general en casa (Ud. está usando uno para esto), usted tiene distribuidos seguramente entre los electrodomésticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrónico como automóviles, lavadoras, hornos microondas, teléfonos, etc.

Un microcontrolador difiere de una unidad central de procesamiento normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de circuitos integrados externos de apoyo. La idea es que el circuito integrado se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los módulos de entrada y salida (puertos) y la memoria para almacenamiento de información.

Un microcontrolador típico tendrá un generador de reloj integrado y una pequeña cantidad de memoria de acceso aleatorio y/o ROM/EPROM/EEPROM/flash, con lo que para hacerlo funcionar todo lo que se necesita son unos pocos programas de control y un cristal de sincronización. Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de entrada/salida, como convertidor analógico digital, temporizadores, UARTs y buses de interfaz serie

Page 153: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 153

especializados, como I2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un lenguaje de programación integrado, como el lenguaje de programación BASIC que se utiliza bastante con este propósito.

Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuitería.

Arquitecturas de computadora

Básicamente existen dos arquitecturas de computadoras, y por supuesto, están presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexión de la memoria al procesador y en los buses que cada una necesita.

Arquitectura Von Neumann

La arquitectura Von Neumann utiliza el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos, siendo la que se utiliza en un ordenador personal porque permite ahorrar una buena cantidad de líneas de E/S, que son bastante costosas, sobre todo para aquellos sistemas donde el procesador se monta en algún tipo de zócalo alojado en una placa madre. También esta organización les ahorra a los diseñadores de placas madre una buena cantidad de problemas y reduce el costo de este tipo de sistemas.

En un ordenador personal, cuando se carga un programa en memoria, a éste se le asigna un espacio de direcciones de la memoria que se divide en segmentos, de los cuales típicamente tenderemos los siguientes: código (programa), datos y pila. Es por ello que podemos hablar de la memoria como un todo, aunque existan distintos dispositivos físicos en el sistema (disco duro, memoria RAM, memoria flash, unidad de disco óptico...).

En el caso de los microcontroladores, existen dos tipos de memoria bien definidas: memoria de datos (típicamente algún tipo de SRAM) y memoria de programas (ROM, PROM, EEPROM, flash u de otro tipo no volátil). En este caso la organización es distinta a las del ordenador personal, porque hay circuitos distintos para cada memoria y normalmente no se utilizan los registros de segmentos, sino que la memoria está segregada y el acceso a cada tipo de memoria depende de las instrucciones del procesador.

A pesar de que en los sistemas integrados con arquitectura Von Neumann la memoria esté segregada, y existan diferencias con respecto a la definición tradicional de esta arquitectura; los buses para acceder a ambos tipos de memoria son los mismos, del procesador solamente salen el bus de datos, el de direcciones, y el de control. Como conclusión, la arquitectura no ha sido alterada, porque la forma en que se conecta la memoria al procesador sigue el mismo principio definido en la arquitectura básica.

Algunas familias de microcontroladores como la Intel 8051 y la Z80 implementan este tipo de arquitectura, fundamentalmente porque era la utilizada cuando aparecieron los primeros microcontroladores.

Page 154: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 154

Arquitectura Harvard

La otra variante es la arquitectura Harvard, y por excelencia la utilizada en supercomputadoras, en los microcontroladores, y sistemas integrados en general. En este caso, además de la memoria, el procesador tiene los buses segregados, de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control.

La ventaja fundamental de esta arquitectura es que permite adecuar el tamaño de los buses a las características de cada tipo de memoria; además, el procesador puede acceder a cada una de ellas de forma simultánea, lo que se traduce en un aumento significativo de la velocidad de procesamiento. Típicamente los sistemas con esta arquitectura pueden ser dos veces más rápidos que sistemas similares con arquitectura Von Neumann.

La desventaja está en que consume muchas líneas de E/S del procesador; por lo que en sistemas donde el procesador está ubicado en su propio encapsulado, solo se utiliza en supercomputadoras. Sin embargo, en los microcontroladores y otros sistemas integrados, donde usualmente la memoria de datos y programas comparten el mismo encapsulado que el procesador, este inconveniente deja de ser un problema serio y es por ello que encontramos la arquitectura Harvard en la mayoría de los microcontroladores.

Por eso es importante recordar que un microcontrolador se puede configurar de diferentes maneras, siempre y cuando se respete el tamaño de memoria que este requiera para su correcto funcionamiento.

Procesador en detalle

En los años 1970, la electrónica digital no estaba suficientemente desarrollada, pero dentro de la electrónica ya era una especialidad consagrada. En aquel entonces las computadoras se diseñaban para que realizaran algunas operaciones muy simples, y si se quería que estas máquinas pudiesen hacer cosas diferentes, era necesario realizar cambios bastante significativos al hardware.

A principios de la década de 1970, una empresa japonesa le encargó a una joven compañía norteamericana que desarrollara un conjunto de circuitos para producir una calculadora de bajo costo. Intel se dedicó de lleno a la tarea y entre los circuitos encargados desarrolló uno muy especial, algo no creado hasta la fecha: el primer microprocesador integrado.

El Intel 4004 salió al mercado en 1971, es una máquina digital sincrónica compleja, como cualquier otro circuito lógico secuencial sincrónico. Sin embargo, la ventaja de este componente está en que aloja internamente un conjunto de circuitos digitales que pueden hacer operaciones corrientes para el cálculo y procesamiento de datos, pero desde una óptica diferente: sus entradas son una serie de códigos bien definidos, que permiten hacer operaciones de carácter específico cuyo resultado está determinado por el tipo de operación y los operandos involucrados.

Visto así, no hay nada de especial en un microprocesador; la maravilla está en que la combinación adecuada de los códigos de entrada, su ejecución secuencial, el poder saltar hacia atrás o adelante en la secuencia de códigos en base a decisiones lógicas u órdenes específicas, permite que la

Page 155: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 155

máquina realice un montón de operaciones complejas, no contempladas en los simples códigos básicos.

Hoy estamos acostumbrados a los sistemas con microprocesadores, pero en el lejano 1971 esta era una forma de pensar un poco diferente y hasta escandalosa, a tal punto que Busicom, la empresa que encargó los chips a Intel, no se mostró interesada en el invento, por lo que Intel lo comercializó para otros que mostraron interés; el resto es historia: una revolución sin precedentes en el avance tecnológico de la humanidad.

Es lógico pensar que el invento del microprocesador integrado no fue una revelación divina para sus creadores, sino que se sustentó en los avances, existentes hasta el momento, en el campo de la electrónica digital y las teorías sobre computación. Pero sin lugar a dudas fue la gota que colmó la copa de la revolución científico-técnica, porque permitió desarrollar aplicaciones impensadas o acelerar algunas ya encaminadas.

Ahora comenzaremos a ver cómo es que está hecho un procesador, no será una explicación demasiado detallada porque desde su invención éste ha tenido importantes revoluciones propias, pero hay aspectos básicos que no han cambiado y que constituyen la base de cualquier microprocesador. En la Figura 'Esquema de un microcontrolador' podemos ver la estructura típica de un microprocesador, con sus componentes fundamentales, claro está que ningún procesador real se ajusta exactamente a esta estructura, pero aun así nos permite conocer cada uno de sus elementos básicos y sus interrelaciones.

Registros

Son un espacio de memoria muy reducido pero necesario para cualquier microprocesador, de aquí se toman los datos para varias operaciones que debe realizar el resto de los circuitos del procesador. Los registros sirven para almacenar los resultados de la ejecución de instrucciones, cargar datos desde la memoria externa o almacenarlos en ella.

Aunque la importancia de los registros parezca trivial, no lo es en absoluto. De hecho una parte de los registros, la destinada a los datos, es la que determina uno de los parámetros más importantes de cualquier microprocesador. Cuando escuchamos que un procesador es de 4, 8, 16, 32 o 64 bits, nos estamos refiriendo a procesadores que realizan sus operaciones con registros de datos de ese tamaño, y por supuesto, esto determina muchas de las potencialidades de estas máquinas.

Mientras mayor sea el número de bits de los registros de datos del procesador, mayores serán sus prestaciones, en cuanto a poder de cómputo y velocidad de ejecución, ya que este parámetro determina la potencia que se puede incorporar al resto de los componentes del sistema, por ejemplo, no tiene sentido tener una ALU de 16 bits en un procesador de 8 bits.

Por otro lado un procesador de 16 bits, puede que haga una suma de 16 bits en un solo ciclo de máquina, mientras que uno de 8 bits deberá ejecutar varias instrucciones antes de tener el resultado, aun cuando ambos procesadores tengan la misma velocidad de ejecución para sus instrucciones. El procesador de 16 bits será más rápido porque puede hacer el mismo tipo de tareas que uno de 8 bits, en menos tiempo.

Page 156: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 156

Unidad de control

Esta unidad es de las más importantes en el procesador, en ella recae la lógica necesaria para la decodificación y ejecución de las instrucciones, el control de los registros, la ALU, los buses y cuanta cosa más se quiera meter en el procesador.

La unidad de control es uno de los elementos fundamentales que determinan las prestaciones del procesador, ya que su tipo y estructura, determina parámetros tales como el tipo de conjunto de instrucciones, velocidad de ejecución, tiempo del ciclo de máquina, tipo de buses que puede tener el sistema, manejo de interrupciones y un buen número de cosas más que en cualquier procesador van a parar a este bloque.

Por supuesto, las unidades de control, son el elemento más complejo de un procesador y normalmente están divididas en unidades más pequeñas trabajando de conjunto. La unidad de control agrupa componentes tales como la unidad de decodificación, unidad de ejecución, controladores de memoria cache, controladores de buses, controlador de interrupciones, pipelines, entre otros elementos, dependiendo siempre del tipo de procesador.

Unidad aritmético-lógica

Como los procesadores son circuitos que hacen básicamente operaciones lógicas y matemáticas, se le dedica a este proceso una unidad completa, con cierta independencia. Aquí es donde se realizan las sumas, restas, y operaciones lógicas típicas del álgebra de Boole.

Actualmente este tipo de unidades ha evolucionado mucho y los procesadores más modernos tienen varias ALU, especializadas en la realización de operaciones complejas como las operaciones en coma flotante. De hecho en muchos casos le han cambiado su nombre por el de “coprocesador matemático”, aunque este es un término que surgió para dar nombre a un tipo especial de procesador que se conecta directamente al procesador más tradicional.

Su impacto en las prestaciones del procesador es también importante porque, dependiendo de su potencia, tareas más o menos complejas, pueden hacerse en tiempos muy cortos, como por ejemplo, los cálculos en coma flotante.

Esto no siempre funciona, puesto que se necesita de un termoresistor para compensar su registro de memoria, por lo que este termoresistor se puede sustituir por un transductor se presencia, para que su memoria de registro no sea complaciente para su velocidad de registro.

Buses

Son el medio de comunicación que utilizan los diferentes componentes del procesador para intercambiar información entre sí, eventualmente los buses o una parte de ellos estarán reflejados en los pines del encapsulado del procesador.

En el caso de los microcontroladores, no es común que los buses estén reflejados en el encapsulado del circuito, ya que estos se destinan básicamente a las E/S de propósito general y periféricos del sistema.

Page 157: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 157

Existen tres tipos de buses:

Dirección: Se utiliza para seleccionar al dispositivo con el cual se quiere trabajar o en el caso de las memorias, seleccionar el dato que se desea leer o escribir.

Datos. Control: Se utiliza para gestionar los distintos procesos de escritura lectura y controlar la

operación de los dispositivos del sistema.

Conjunto de instrucciones

Aunque no aparezca en el esquema, no podíamos dejar al conjunto o repertorio de instrucciones fuera de esta fiesta, porque este elemento determina lo que puede hacer el procesador.

Define las operaciones básicas que puede realizar el procesador, que conjugadas y organizadas forman lo que conocemos como software. El conjunto de instrucciones vienen siendo como las letras del alfabeto, el elemento básico del lenguaje, que organizadas adecuadamente permiten escribir palabras, oraciones y cuanto programa se le ocurra.

Existen dos tipos básicos de repertorios de instrucciones, que determinan la arquitectura del procesador: CISC y RISC.

CISC, del inglés Complex instruction set computing, Computadora de Conjunto de Instrucciones Complejo. Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y que permiten realizar operaciones complejas entre operandos situados en la memoria o en los registros internos. Este tipo de repertorio dificulta el paralelismo entre instrucciones, por lo que en la actualidad, la mayoría de los sistemas CISC de alto rendimiento, convierten las instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones.

Dentro de los microcontroladores CISC podemos encontrar a la popular familia Intel 8051 y la Z80, aunque actualmente existen versiones CISC-RISC de estos microcontroladores, que pretenden aprovechar las ventajas de los procesadores RISC a la vez que se mantiene la compatibilidad hacia atrás con las instrucciones de tipo CISC.

RISC, del inglés Reduced Instruction Set Computer, Computadora con Conjunto de Instrucciones Reducido. Se centra en la obtención de procesadores con las siguientes características fundamentales:

Instrucciones de tamaño fijo. Pocas instrucciones. Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos. Número relativamente elevado de registros de propósito general.

Una de las características más destacables de este tipo de procesadores es que posibilitan el paralelismo en la ejecución, y reducen los accesos a memoria. Es por eso que los procesadores más modernos, tradicionalmente basados en arquitecturas CISC implementan mecanismos de traducción de instrucciones CISC a RISC, para aprovechar las ventajas de este tipo de procesadores.

Page 158: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 158

Los procesadores de los microcontroladores PIC son de tipo RISC.

Memoria

Anteriormente habíamos visto que la memoria en los microcontroladores debe estar ubicada dentro del mismo encapsulado, esto es así la mayoría de las veces, porque la idea fundamental es mantener el grueso de los circuitos del sistema dentro de un solo integrado.

En los microcontroladores la memoria no es abundante, aquí no encontrará Gigabytes de memoria como en las computadoras personales. Típicamente la memoria de programas no excederá de 16 K-localizaciones de memoria no volátil (flash o eprom) para contener los programas.

La memoria RAM está destinada al almacenamiento de información temporal que será utilizada por el procesador para realizar cálculos u otro tipo de operaciones lógicas. En el espacio de direcciones de memoria RAM se ubican además los registros de trabajo del procesador y los de configuración y trabajo de los distintos periféricos del microcontrolador. Es por ello que en la mayoría de los casos, aunque se tenga un espacio de direcciones de un tamaño determinado, la cantidad de memoria RAM de que dispone el programador para almacenar sus datos es menor que la que puede direccionar el procesador.

El tipo de memoria utilizada en las memorias RAM de los microcontroladores es SRAM, lo que evita tener que implementar sistemas de refrescamiento como en el caso de las computadoras personales, que utilizan gran cantidad de memoria, típicamente alguna tecnología DRAM. A pesar de que la memoria SRAM es más costosa que la DRAM, es el tipo adecuado para los microcontroladores porque éstos poseen pequeñas cantidades de memoria RAM.

Lo más habitual es encontrar que la memoria de programas y datos está ubicada toda dentro del microcontrolador, de hecho, actualmente son pocos los microcontroladores que permiten conectar memoria de programas en el exterior del encapsulado. Las razones para estas “limitaciones” están dadas porque el objetivo fundamental es obtener la mayor integración posible y conectar memorias externas consume líneas de E/S que son uno de los recursos más preciados de los microcontroladores.

A pesar de lo anterior existen familias como la Intel 8051 cuyos microcontroladores tienen la capacidad de ser expandidos en una variada gama de configuraciones para el uso de memoria de programas externa. En el caso de los PIC, estas posibilidades están limitadas sólo a algunos microcontroladores de la gama alta, la Figura 5 muestra algunas de las configuraciones para memoria de programa que podemos encontrar en los microcontroladores. La configuración (a) es la típica y podemos encontrarla casi en el 100% de los microcontroladores. La configuración (b) es poco frecuente y generalmente se logra configurando al microcontrolador para sacrificar la memoria de programas interna, sin embargo el Intel 8031 es un microcontrolador sin memoria de programas interna. La configuración (c) es la que se encuentra habitualmente en los microcontroladores que tienen posibilidades de expandir su memoria de programas como algunos PIC de gama alta.

Cuando se requiere aumentar la cantidad de memoria de datos, lo más frecuente es colocar dispositivos de memoria externa en forma de periféricos, de esta forma se pueden utilizar memorias RAM, FLASH o incluso discos duros como los de los ordenadores personales, mientras que para los cálculos y demás operaciones que requieran almacenamiento temporal de datos se utiliza la

Page 159: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 159

memoria RAM interna del microcontrolador. Esta forma de expandir la memoria de datos está determinada, en la mayoría de lo casos, por el tipo de repertorio de instrucciones del procesador y porque permite un elevado número de configuraciones distintas, además del consiguiente ahorro de líneas de E/S que se logra con el uso de memorias con buses de comunicación serie.

Interrupciones

Las interrupciones son esencialmente llamadas a subrutina generadas por los dispositivos físicos, al contrario de las subrutinas normales de un programa en ejecución. Como el salto de subrutina no es parte del hilo o secuencia de ejecución programada, el controlador guarda el estado del procesador en la pila de memoria y entra a ejecutar un código especial llamado "manejador de interrupciones" que atiende al periférico específico que generó la interrupción. Al terminar la rutina, una instrucción especial le indica al procesador el fin de la atención de la interrupción. En ese momento el controlador restablece el estado anterior, y el programa que se estaba ejecutando antes de la interrupción sigue como si nada hubiese pasado. Las rutinas de atención de interrupciones deben ser lo mas breves posibles para que el rendimiento del sistema sea satisfactorio, por que normalmente cuando una interrupción es atendida, todas las demás interrupciones están en espera.

Imagine que está esperando la visita de un amigo, al que llamaremos Juan. Usted y Juan han acordado que cuando él llegue a su casa esperará pacientemente a que le abra la puerta. Juan no debe tocar a la puerta porque alguien en la casa duerme y no quiere que le despierten.

Ahora usted ha decidido leer un libro mientras espera a que Juan llegue a la casa, y para comprobar si ha llegado, cada cierto tiempo detiene la lectura, marca la página donde se quedó, se levanta y va hasta la puerta, abre y comprueba si Juan ha llegado, si éste todavía no está en la puerta, esperará unos minutos, cerrará la puerta y regresará a su lectura durante algún tiempo.

Como verá este es un método poco eficiente para esperar a Juan porque requiere que deje la lectura cada cierto tiempo y vaya hasta la puerta a comprobar si él ha llegado, además debe esperar un rato si todavía no llega. Y por si fuera poco, imagine que Juan no llega nunca porque se le presentó un problema, tuvo que cancelar la cita y no pudo avisarle a tiempo, o peor, que Juan ha llegado a la puerta un instante después que usted la cerraba. Juan, respetando lo acordado, espera un tiempo, pero se cansa de esperar a que le abran y decide marcharse porque cree que ya usted no está en la casa o no puede atenderlo. A este método de atender la llegada de Juan lo llamaremos encuesta.

Veamos ahora otro método. En esta ocasión simplemente se recuesta en el sofá de la sala y comienza a leer su libro, cuando Juan llegue debe tocar el timbre de la puerta y esperar unos momentos a que le atiendan. Cuando usted oye sonar el timbre, interrumpe la lectura, marca la página donde se quedó y va hasta la puerta para atender a la persona que toca el timbre. Una vez que Juan o la persona que ha tocado el timbre, se marcha, usted regresa a su asiento y retoma la lectura justo donde la dejó. Este último es un método más eficiente que el anterior porque le deja más tiempo para leer y elimina algunos inconvenientes como el de que Juan nunca llegue o se marche antes de que usted abra la puerta. Es, en principio, un método simple pero muy eficaz y eficiente, lo llamaremos atención por interrupción.

El primero de ellos, la encuesta, es un método eficaz, pero poco eficiente porque requiere realizar lecturas constantes y muchas veces innecesarias del estado del proceso que queremos atender. Sin embargo, es muy utilizado en la programación de microcontroladores porque resulta fácil de

Page 160: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 160

aprender, la implementación de código con este método es menos compleja y no requiere de hardware especial para llevarla adelante. Por otra parte, la encuesta, tiene muchas deficiencias que con frecuencia obligan al diseñador a moverse hacia otros horizontes

El mundo está lleno de situaciones; de las cuales no podemos determinar ni cuando, ni como ni por qué se producen, en la mayoría de los casos lo único que podemos hacer es enterarnos de que determinada situación, asociada a un proceso, ha ocurrido. Para ello seleccionamos alguna condición o grupo de condiciones que nos indican que el proceso que nos interesa debe ser atendido, a este fenómeno, en el cual se dan las condiciones que nos interesa conocer, lo llamaremos evento. En el segundo ejemplo vemos que para atender a Juan, éste debe tocar el timbre, por tanto, la llegada de Juan es el proceso que debemos atender y el sonido del timbre es el evento que nos indica que Juan ha llegado.

El método de atención a procesos por interrupción, visto desde la óptica del ejemplo que utilicé para mostrarlo, es más simple que el de la encuesta, pero no es cierto, el método se complica porque requiere que el microprocesador incorpore circuitos adicionales para registrar los eventos que le indican que debe atender al proceso asociado y comprender estos circuitos y su dinámica no es una tarea sencilla.

Los circuitos para la atención a las interrupciones y todas las tareas que debe realizar el procesador para atender al proceso que lo interrumpe son bastante complejos y requieren una visión diferente de la que estamos acostumbrados a tener de nuestro mundo.

Los seres humanos no estamos conscientes de las interrupciones, en nuestro organismo existen mecanismos que nos interrumpen constantemente, para ello tenemos a nuestro sistema sensorial, pero no somos conscientes del proceso de interrupción, aunque sí de la atención a las interrupciones. Eso es porque incorporamos mecanismos que nos sacan rápidamente de la tarea que estemos haciendo para atender una situación que no puede o no debe esperar mucho tiempo. Bien, esa misma es la idea que se incorpora en los microprocesadores para atender procesos que no pueden esperar o que no sabemos cuando deben ser atendidos porque ello depende de determinadas condiciones.

La cosa se complica en la secuencia de acciones a realizar desde el momento en que se desencadena el proceso de interrupción, hasta que se ejecuta el programa que lo atiende, y en la secuencia de acciones posteriores a la atención. Piense en cuantas cosas debe hacer su organismo ante una interrupción, utilicemos el segundo ejemplo para atender la llegada de Juan. Piense en cuantas cosas su cerebro hace a espaldas de su conciencia, desde el momento en que suena el timbre hasta que usted se encuentra listo (consciente de que es probable que Juan ha llegado) para abrir la puerta, y todo lo que su cerebro debe trabajar para retomar la lectura después que Juan se ha marchado. Todo eso, excepto abrir la puerta y atender a Juan, lo hacemos de forma “inconsciente” porque para ello tenemos sistemas dedicados en nuestro organismo, pero en el mundo de los microcontroladores debemos conocer todos esos detalles para poder utilizar los mecanismos de interrupción.

Los procesos de atención a interrupciones tienen la ventaja de que se implementan por hardware ubicado en el procesador, así que es un método rápido de hacer que el procesador se dedique a ejecutar un programa especial para atender eventos que no pueden esperar por mecanismos lentos como el de encuesta.

Page 161: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 161

En términos generales, un proceso de interrupción y su atención por parte del procesador, tiene la siguiente secuencia de acciones:

1. En el mundo real se produce el evento para el cual queremos que el procesador ejecute un programa especial, este proceso tiene la característica de que no puede esperar mucho tiempo antes de ser atendido o no sabemos en que momento debe ser atendido.

2. El circuito encargado de detectar la ocurrencia del evento se activa, y como consecuencia, activa la entrada de interrupción del procesador.

3. La unidad de control detecta que se ha producido una interrupción y “levanta” una bandera para registrar esta situación; de esta forma si las condiciones que provocaron el evento desaparecen y el circuito encargado de detectarlo desactiva la entrada de interrupción del procesador, ésta se producirá de cualquier modo, porque ha sido registrada.

4. La unidad de ejecución termina con la instrucción en curso y justo antes de comenzar a ejecutar la siguiente comprueba que se ha registrado una interrupción

5. Se desencadena un proceso que permite guardar el estado actual del programa en ejecución y saltar a una dirección especial de memoria de programas, donde está la primera instrucción de la subrutina de atención a interrupción.

6. Se ejecuta el código de atención a interrupción, esta es la parte “consciente” de todo el proceso porque es donde se realizan las acciones propias de la atención a la interrupción y el programador juega su papel.

7. Cuando en la subrutina de atención a interrupción se ejecuta la instrucción de retorno, se desencadena el proceso de restauración del procesador al estado en que estaba antes de la atención a la interrupción.

Como podemos observar, el mecanismo de interrupción es bastante complicado, sin embargo tiene dos ventajas que obligan a su implementación: la velocidad y su capacidad de ser asíncrono. Ambas de conjunto permiten que aprovechemos al máximo las capacidades de trabajo de nuestro procesador.

Los mecanismos de interrupción no solo se utilizan para atender eventos ligados a procesos que requieren atención inmediata sino que se utilizan además para atender eventos de procesos asíncronos.

Las interrupciones son tan eficaces que permiten que el procesador actúe como si estuviese haciendo varias cosas a la vez cuando en realidad se dedica a la misma rutina de siempre, ejecutar instrucciones una detrás de la otra.

Periféricos

Cuando observamos la organización básica de un microcontrolador, señalamos que dentro de este se ubican un conjunto de periféricos, cuyas salidas están reflejadas en los ojos de juan p. A continuación describiremos algunos de los periféricos que con mayor frecuencia encontraremos en los microcontroladores.

Page 162: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 162

Entradas y salidas de propósito general

También conocidos como puertos de E/S, generalmente agrupadas en puertos de 8 bits de longitud, permiten leer datos del exterior o escribir en ellos desde el interior del microcontrolador, el destino habitual es el trabajo con dispositivos simples como relés, LED, o cualquier otra cosa que se le ocurra al programador.

Algunos puertos de E/S tienen características especiales que le permiten manejar salidas con determinados requerimientos de corriente, o incorporan mecanismos especiales de interrupción para el procesador.

Típicamente cualquier pin de E/S puede ser considerada E/S de propósito general, pero como los microcontroladores no pueden tener infinitos pines, ni siquiera todos los pines que queramos, las E/S de propósito general comparten los pines con otros periféricos. Para usar un pin con cualquiera de las características a él asignadas debemos configurarlo mediante los registros destinados a ellos.

Temporizadores y contadores

Son circuitos sincrónicos para el conteo de los pulsos que llegan a su poder para conseguir la entrada de reloj. Si la fuente de un gran conteo es el oscilador interno del microcontrolador es común que no tengan un pin asociado, y en este caso trabajan como temporizadores. Por otra parte, cuando la fuente de conteo es externa, entonces tienen asociado un pin configurado como entrada, este es el modo contador.

Los temporizadores son uno de los periféricos más habituales en los microcontroladores y se utilizan para muchas tareas, como por ejemplo, la medición de frecuencia, implementación de relojes, para el trabajo de conjunto con otros periféricos que requieren una base estable de tiempo entre otras funcionalidades. Es frecuente que un microcontrolador típico incorpore más de un temporizador/contador e incluso algunos tienen arreglos de contadores. Como veremos más adelante este periférico es un elemento casi imprescindible y es habitual que tengan asociada alguna interrupción. Los tamaños típicos de los registros de conteo son 8 y 16 bits, pudiendo encontrar dispositivos que solo tienen temporizadores de un tamaño o con más frecuencia con ambos tipos de registro de conteo.

Conversor analógico/digital

Como es muy frecuente el trabajo con señales analógicas, éstas deben ser convertidas a digital y por ello muchos microcontroladores incorporan un conversor analógico-digital, el cual se utiliza para tomar datos de varias entradas diferentes que se seleccionan mediante un multiplexor.

Las resoluciones más frecuentes son 8 y 10 bits, que son suficientes para aplicaciones sencillas. Para aplicaciones en control e instrumentación están disponibles resoluciones de 12bit, 16bit y 24bit6 . También es posible conectar un convertidor externo, en caso de necesidad.

Page 163: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 163

Puertos de comunicación

Puerto serie

Este periférico está presente en casi cualquier microcontrolador, normalmente en forma de UART (Universal Asynchronous Receiver Transmitter) o USART (Universal Synchronous Asynchronous Receiver Transmitter) dependiendo de si permiten o no el modo sincrónico de comunicación.

El destino común de este periférico es la comunicación con otro microcontrolador o con una PC y en la mayoría de los casos hay que agregar circuitos externos para completar la interfaz de comunicación. La forma más común de completar el puerto serie es para comunicarlo con una PC mediante la interfaz EIA-232 (más conocida como RS-232), es por ello que muchas personas se refieren a la UART o USART como puerto serie RS-232, pero esto constituye un error, puesto que este periférico se puede utilizar para interconectar dispositivos mediante otros estándares de comunicación. En aplicaciones industriales se utiliza preferiblemente RS-485 por sus superior alcance en distancia, velocidad y resistencia al ruido.

SPI

Este tipo de periférico se utiliza para comunicar al microcontrolador con otros microcontroladores o con periféricos externos conectados a él, por medio de una interfaz muy sencilla . Hay solo un nodo controlador que permite iniciar cualquier transacción, lo cual es una desventaja en sistemas complejos, pero su sencillez permite el aislamiento galvánico de forma directa por medio de optoacopladores.

I2C

Cumple las mismas funciones que el SPI, pero requiere menos señales de comunicación y cualquier nodo puede iniciar una transacción. Es muy utilizado para conectar las tarjetas gráficas de las computadoras personales con los monitores, para que estos últimos informen de sus prestaciones y permitir la autoconfiguración del sistema de vídeo.

USB

Los microcontroladores son los que han permitido la existencia de este sistema de comunicación. Es un sistema que trabaja por polling (monitorización) de un conjunto de periféricos inteligentes por parte de un amo, que es normalmente un computador personal. Cada modo inteligente está gobernado inevitablemente por un microcontrolador.

Ethernet

Artículo principal: Ethernet.

Es el sistema más extendido en el mundo para redes de área local cableadas. Los microcontroladores más poderosos de 32 bits se usan para implementar periféricos lo suficientemente poderosos como para que puedan ser accesados directamente por la red. Muchos de los enrutadores caseros de pequeñas empresas están construidos en base a un microcontrolador que hace del cerebro del sistema.

Page 164: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 164

Can

Este protocolo es del tipo CSMA/CD con tolerancia a elevados voltajes de modo común y orientado al tiempo real. Este protocolo es el estándar mas importante en la industria automotriz (OBD). También se usa como capa física del "field bus" para el control industrial.

Otros puertos de comunicación

Hay una enorme cantidad de otros buses disponibles para la industria automotriz (linbus) o de medios audiovisuales como el i2s, IEEE 1394. Es usuario se los encontrará cuando trabaje en algún area especializada.

Comparadores

Son circuitos analógicos basados en amplificadores operacionales que tienen la característica de comparar dos señales analógicas y dar como salida los niveles lógicos ‘0’ o ‘1’ en dependencia del resultado de la comparación. Es un periférico muy útil para detectar cambios en señales de entrada de las que solamente nos interesa conocer cuando está en un rango determinado de webetas

Modulador de ancho de pulsos

Los PWM (Pulse Width Modulator) son periféricos muy útiles sobre todo para el control de motores, sin embargo hay un grupo de aplicaciones que pueden realizarse con este periférico, dentro de las cuales podemos citar: inversión DC/AC para UPS ,conversión digital analógica D/A, control regulado de luz (dimming) entre otras.

Memoria de datos no volátil

Muchos microcontroladores han incorporado este tipo de memoria como un periférico más, para el almacenamiento de datos de configuración o de los procesos que se controlan. Esta memoria es independiente de la memoria de datos tipo RAM o la memoria de programas, en la que se almacena el código del programa a ejecutar por el procesador del microcontrolador.

Muchos de los microcontroladores PIC, incluyen este tipo de memoria, típicamente en forma de memoria EEPROM, incluso algunos de ellos permiten utilizar parte de la memoria de programas como memoria de datos no volátil, por lo que el procesador tiene la capacidad de escribir en la memoria de programas como si ésta fuese un periférico más.

Page 165: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 165

5.3 IMPLEMENTACION DE PROGRAMAS BASICOS

Estos se realizan mediante el lenguaje ensamblador o lenguaje de programacion de bajo nivel para

computadoras , microprocesadores , microcontroladores y otros dispositivos programables. Pone en

marcha una representación simbólica de los códigos de máquina y otras constantes necesarios para

un determinado programa de la CPU de arquitectura. Esta representación es generalmente definida

por el fabricante del hardware, y se basa en la mnemotecnia , que simbolizan los pasos de

procesamiento ( instrucciones ), los registros del procesador , las ubicaciones de memoria y otras

funciones del lenguaje. Un lenguaje ensamblador es lo específico de una determinada arquitectura

física del ordenador (o virtual). Esto está en contraste con la mayoría de los lenguajes de

programación de alto nivel , que, idealmente, son portátiles .

Un programa utilitario llamado ensamblador se utiliza para convertir los estados en lenguaje ensamblador en código máquina del equipo de destino. El ensamblador lleva a cabo una más o menos isomorfo traducción (una asignación uno a uno) de mnemónica declaraciones en instrucciones de máquina y los datos. Esto está en contraste con los lenguajes de alto nivel, en el que una sola declaración general, los resultados en muchas instrucciones de la máquina.

Muchos ensambladores sofisticados ofrecen mecanismos adicionales para facilitar el desarrollo de programas, control del proceso de montaje, y la ayuda de depuración . En particular, los montadores más modernos incluyen una macro instalación (descrito abajo), y se llaman ensambladores de macro.

Los conceptos clave

¿Por qué utilizar un lenguaje ensamblador?

Un ensamblador sencillo se convierte cada frase en lenguaje ensamblador en la correspondiente declaración en lenguaje de máquina, por lo que a primera vista parece más que una conveniencia de menor importancia, la sustitución de las instrucciones de la máquina oscura por nombres fáciles de recordar. Sin embargo, considerar un programa en lenguaje de máquina cargados en la memoria de la posición 0, que tiene una instrucción que es el equivalente en código máquina de jump to instruction 25 o jump forward skipping 5 instructions , seguidas por otras. Si está escrito en lenguaje ensamblador, se reunieron, y se carga va a producir exactamente el mismo código, aunque tendrá conveniente mnemónicos y el uso de las etiquetas más simbólico que lugares absolutos, como en jumpto label4 , en lugar de algo así como el número hexadecimal A13528CD , el código de máquina para la instrucción. Sin embargo, si el programa se ha modificado de tal manera que cambia el número de instrucciones, el destino del salto ya no puede ser en el lugar 25 o cinco instrucciones por delante, es decir, toda la máquina, el lenguaje de programación debe ser modificada cada vez que un cambio es hecho, para corregir todos los destinos de salto. Si los símbolos han sido utilizados en un lenguaje ensamblador para identificar el destino del salto, el programador sólo necesita trabajar en las partes modificadas sin tener en cuenta cualquier otra cosa, el ensamblador se reunirán el programa modificado con todos los saltos y así ajustarse a seguir siendo correcta . Del mismo modo, si la disponibilidad de la memoria requiere el programa para cargar partir de la posición 123 en lugar de 0, el ensamblador se ajustarán todas las referencias al mismo. El lenguaje ensamblador tiene muchas más ventajas como sobre el lenguaje de la máquina.

Page 166: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 166

Assembler

Comparar con: Microassembler .

Normalmente, un ensamblador moderna crea código objeto traduciendo mnemónicas Instrucciones de montaje en los códigos de operación , y mediante la resolución de nombres simbólicos para direcciones de memoria y otras entidades. [1] El uso de referencias simbólicas es una característica clave de las ensambladoras, el ahorro de cálculos tediosos y manuales de dirección después de modificaciones en el programa. La mayoría de los ensambladores también incluyen macro instalaciones para llevar a cabo la sustitución de texto-por ejemplo, para generar comunes cortas secuencias de instrucciones en línea , en lugar de llamadas subrutinas .

Los ensambladores son por lo general más fácil de escribir que los compiladores para lenguajes de alto nivel , y han estado disponibles desde la década de 1950. Ensambladores modernos, especialmente para RISC arquitecturas , tales como SPARC o potencia , así como x86 y x86-64 , optimizar la programación de instrucciones para explotar la tubería de la CPU de manera eficiente.

Número de pases

Hay dos tipos de ensambladores en función de cómo muchos pases a través de la fuente son necesarios para producir el programa ejecutable.

Una pasada montadores pasar por el código fuente de una vez y se supone que todos los símbolos serán definidos antes de cualquier instrucción que les referencias.

Dos pasos montadores crear una tabla con todos los símbolos y sus valores en el primer paso, a continuación, utilizar la tabla en un segundo paso para generar el código. El ensamblador debe al menos ser capaz de determinar la longitud de cada instrucción en el primer paso para que las direcciones de los símbolos puede ser calculado.

La razón original para el uso de los montadores de una sola pasada fue la velocidad, sin embargo, las computadoras modernas realizar dos pasos de montaje sin demora inaceptable. La ventaja del ensamblador de dos pasadas es que los símbolos se pueden definir en cualquier parte del código fuente del programa, permitiendo que los programas que se definan de manera más lógica y significativa, haciendo dos pasadas programas de ensamblador más fácil de leer y mantener. [2]

Alto Nivel montadores

Más sofisticados de alto nivel montadores proporcionan abstracciones del lenguaje, tales como:

Estructuras avanzadas de control Alto nivel de procedimiento / funcion declaraciones e invocaciones Alto nivel de tipos abstractos de datos, incluyendo las estructuras / los registros, los

sindicatos, las clases y grupos Procesamiento de macro sofisticados (aunque disponible en montadores ordinaria, ya finales

de 1950 para IBM de la serie 700 y desde 1960 para IBM/360 , entre otras máquinas) Programación orientada a objetos características tales como clases , objetos , abstracción ,

polimorfismo y herencia [3]

Page 167: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 167

Ver el diseño del lenguaje para obtener más detalles.

El uso del término

Tenga en cuenta que, en el uso profesional normal, el ensamblador se utiliza el término para referirse tanto a un lenguaje ensamblador, y de software que reúne un programa en lenguaje ensamblador. Por lo tanto: "CP / CMS fue escrito en S/360 ensamblador ", así como" ASM-H era un ampliamente utilizado S/370 ensamblador. "[ cita requerida ]

El lenguaje ensamblador

Un programa escrito en lenguaje ensamblador consiste en una serie de declaraciones mnemónico y meta-estados (conocido también como directivas, pseudo-instrucciones y pseudo-ops), comentarios y datos. Estos son traducidos por un ensamblador a una corriente de instrucciones ejecutables que se pueden cargar en la memoria y ejecutado. Montadores también se puede utilizar para producir los bloques de datos de formato y código fuente comentado, para ser utilizado por otros códigos.

Tomemos, por ejemplo, la instrucción que le dice a un x86 / IA-32 procesador para mover un valor inmediato de 8 bits en un registro . El código binario de esta instrucción es 10110 seguido de un identificador de 3 bits que registrarse para usar. El identificador del registro AL es 000, por lo que el siguiente código de máquina se carga el registro AL con los datos 01100001. [4]

10110000 01100001

Este código binario de computadora se puede hacer más legible al expresar en hexadecimal de la siguiente manera

B0 61

Aquí, B0 significa "Mueve una copia de los siguientes valores en AL", y 61 es una representación hexadecimal del valor 01100001, que es 97 en decimal . Intel ofrece el lenguaje ensamblador mnemónico MOV (una abreviatura de movimiento) para las instrucciones de este tipo, por lo que el código de la máquina se puede escribir de la siguiente manera en el lenguaje ensamblador, con un comentario explicativo si es necesario, después de la coma. Esto es mucho más fácil de leer y recordar.

MOV AL, 61h; carga AL con 97 decimales (61 hex)

Al mismo tiempo muchos mnemónicos lenguaje ensamblador se abreviaturas de tres letras, como JMP para saltar, INC para el incremento, elaboradores, etc modernos tienen una conjunto de instrucciones mucho más grande y mnemónicos ahora muchos más, para FPATAN ejemplo de " punto flotante parcial arcotangente "y OBLIGADO para "comprobar amplia índice en contra de los límites ". Muchas de las declaraciones en lenguaje ensamblador consiste en un código de operación mnemotécnicos seguido por una lista separada por comas de los datos, argumentos o parámetros. [5]

Lo mismo MOV mnemónico refiere a una familia de códigos de operación relacionados con la carga que hacer, copiar y mover datos, si estos son los valores de inmediata, los valores en los registros o

Page 168: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 168

lugares de memoria apuntada por los valores en los registros. El código de operación 10110000 ( B0 ) copia un valor de 8 bits en el registro AL, mientras que 10.110.001 ( B1 ) que se mueve en CL y 10110010 ( B2 ) lo hace en el DL. Ejemplos de lenguaje ensamblador para estos siguen. [4]

MOV AL, 1h; AL carga con un valor inmediato

MOV CL, 2 h; CL carga con un valor inmediato 2

MOV DL, 3h; DL de carga con un valor inmediato 3

La sintaxis de MOV también pueden ser más complejos, como demuestran los siguientes ejemplos. [6]

MOV EAX, [EBX], Mover los 4 bytes de memoria en la dirección contenida en EBX en EAX

MOV [ESI + EAX], CL; Mover el contenido de CL en el byte de la dirección ESI + EAX

En cada caso, el mnemónico MOV se traduce directamente en un código de operación en los rangos de 88-8E, A0-A3, B0-B8, C6 o C7 por un ensamblador, y el programador no tiene que saber o recordar que. [4]

Transformar el lenguaje ensamblador en código máquina es el trabajo de un ensamblador, y lo contrario puede ser al menos parcialmente logrado por un desensamblador . A diferencia de lenguajes de alto nivel , por lo general hay una correspondencia uno-a-uno entre las declaraciones de un montaje sencillo y las instrucciones en lenguaje de máquina. Sin embargo, en algunos casos, un ensamblador puede proporcionar seudoinstrucciones (esencialmente macros) que se expanden en varias instrucciones en lenguaje de máquina para proporcionar funcionalidad común necesaria. Por ejemplo, para una máquina que carece de una "rama si es mayor o igual que" la instrucción, un ensamblador puede proporcionar una seudoinstrucción que se expande a la máquina "establecer si es menor que" y "rama si es cero (en el resultado del conjunto de instrucciones)" . La mayoría de todas las funciones de los ensambladores también proporcionan una rica macro lenguaje (véase más adelante) que es utilizado por los vendedores y los programadores generar código más complejo y secuencias de datos.

Cada arquitectura de la computadora y la arquitectura del procesador por lo general tiene su propio lenguaje de máquina. En este nivel, cada instrucción es lo suficientemente simple para ser ejecutado con un número relativamente pequeño de circuitos electrónicos. Computadoras se diferencian por el número y tipo de operaciones que soportan. Por ejemplo, una máquina con una longitud de palabra de 64 bits que tienen circuitos diferentes de una máquina de 32 bits. También pueden tener diferentes tamaños y el número de registros, y las diferentes representaciones de los tipos de datos en el almacenamiento. Aunque la mayoría de ordenadores de uso general son capaces de llevar a cabo esencialmente la misma funcionalidad, las formas en que lo hacen diferente; los idiomas asamblea correspondiente puede reflejar estas diferencias.

Múltiples conjuntos de mnemónicos o la sintaxis del lenguaje ensamblador puede existir para un conjunto de instrucciones individuales, por lo general una instancia en los programas de

Page 169: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 169

ensamblador diferente. En estos casos, el más popular suele ser el suministrado por el fabricante y utilizada en su documentación.

Lenguaje de diseño

Elementos básicos

Hay un alto grado de diversidad en la forma en que los autores de los ensambladores categorizar las declaraciones y en la nomenclatura que utilizan. En particular, algunos describen otra cosa que una máquina mnemotécnica o mnemónico extendido como una operación de pseudo-(pseudo-op). Un lenguaje ensamblador típica se compone de tres tipos de declaraciones de instrucciones que se utilizan para definir las operaciones del programa:

Código de operación mnemotécnicos Secciones de datos Asamblea directivas

mnemónicos Opcode y mnemónicos extendida

Instrucciones (instrucciones) en lenguaje ensamblador son generalmente muy simple, a diferencia de los lenguajes de alto nivel . Por lo general, una sentencia es un nombre simbólico para una enseñanza de idiomas ejecutable de la máquina (un código de operación ), y hay al menos un código de operación mnemotécnicos definido para cada instrucción en lenguaje de máquina. Cada instrucción consiste típicamente en una operación o un código de operación más cero o más operandos . La mayoría de las instrucciones se refieren a un solo valor, o un par de valores. Operandos pueden ser inmediatos (por lo general un valor de bytes, codificado en la instrucción en sí), los registros especificados en la instrucción, implícita o de las direcciones de los datos situados en otro lugar de almacenamiento. Esto está determinado por la arquitectura del procesador de fondo: el ensamblador no hace sino reflejar cómo la arquitectura funciona mnemónicos extendido a menudo se utilizan para especificar una combinación de un código de operación con un operador específico, por ejemplo, el System/360 montadores utilizar B como una tecla de acceso ampliado para BC. con una máscara de 15 y NOP para el BC con una máscara de 0.

Mnemónicos extendido a menudo se utilizan para apoyar los usos especializados de las instrucciones, a menudo con fines no es obvio por el nombre de instrucciones. Por ejemplo, muchos de CPU no tiene una explícita instrucción NOP, pero tienen instrucciones de que se puede utilizar para este fin. En 8086 CPUs de la instrucción xchg hacha, el hacha se utiliza para nop, nop, con ser un pseudo-código de operación para codificar el hacha instrucción xchg, un hacha. Algunos desensambladores reconocer esto y descifrar el hacha xchg, la instrucción nop hacha. Del mismo modo, montadores de IBM System/360 y System/370 uso extendido de la mnemotecnia y NOP NOPR para BC y BCR con cero máscaras.

Algunos ensambladores también apoyan simple integrado en el macro-instrucciones que generan dos o más instrucciones de la máquina. Por ejemplo, con algunos ensambladores Z80 la instrucción ld hl, bc es reconocida para generar ld l, c seguida de ld h, b. [7] A veces se conoce como pseudo-códigos de operación.

Page 170: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 170

secciones de datos

Hay instrucciones que se utilizan para definir los elementos de datos para almacenar datos y variables. Ellos definen el tipo de datos, la longitud y la alineación de los datos. Estas instrucciones también se puede definir si los datos están disponibles para los programas externos (programas montados por separado), o sólo al programa en el que se define la sección de datos. Algunos ensambladores clasificamos como pseudo-ops.

Asamblea directivas

Directrices de la Asamblea, también llamados códigos de operación pseudo-pseudo-operaciones-o pseudo-ops, son las instrucciones que son ejecutadas por un ensamblador en el tiempo de montaje, no por una CPU en tiempo de ejecución. Ellos pueden hacer el montaje del programa depende de los parámetros de entrada por un programador, por lo que un programa se puede montar de diferentes maneras, tal vez para diferentes aplicaciones. También puede ser usado para manipular la presentación de un programa para que sea más fácil de leer y mantener.

(Por ejemplo, las directivas se utiliza para reservar las áreas de almacenamiento y, opcionalmente, su contenido inicial.) Los nombres de las directivas a menudo comienzan con un punto para distinguirlas de las instrucciones de la máquina.

Ensambladores simbólicos permiten a los programadores asociar nombres arbitrarios ( etiquetas o símbolos), con posiciones de memoria. Por lo general, todas las constantes y variables se le da un nombre para que las instrucciones pueden hacer referencia a esos lugares por su nombre, por lo tanto la promoción de la auto-documentación de código . En el código ejecutable, el nombre de cada subprograma se relaciona con su punto de entrada, por lo que cualquier llamada a una subrutina puede usar su nombre. Dentro de las subrutinas, GOTO destinos se dan las etiquetas. Algunos ensambladores de apoyo símbolos locales, que son léxicamente diferente de símbolos normales (por ejemplo, el uso de "10 dólares" como un destino GOTO).

Algunos [ que? ] montadores proporcionar una gestión flexible de símbolo, dejando que los programadores manejar diferentes espacios de nombres , calcular automáticamente los desplazamientos dentro de las estructuras de datos , y asignar etiquetas que hacen referencia a valores literales o el resultado de cálculos simples realizados por el ensamblador. Las etiquetas también se pueden utilizar para inicializar las constantes y las variables con las direcciones reubicables.

Idiomas de la Asamblea, al igual que la mayoría de los lenguajes de programación, permiten que se añadan comentarios a la reunión de código fuente que son ignorados por el ensamblador. El buen uso de los comentarios es aún más importante con el código ensamblador que con lenguajes de alto nivel, como el significado y el propósito de una secuencia de instrucciones es más difícil de descifrar desde el propio código.

Uso racional de estas instalaciones puede simplificar el problema de la codificación y el mantenimiento de código de bajo nivel. Raw código fuente de la Asamblea como los generados por los compiladores o desensamblador de código sin ningún tipo de comentarios, símbolos

Page 171: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 171

significativos, o los datos de las definiciones, es muy difícil de leer cuando los cambios deben hacerse.

Macros

Muchos ensambladores apoyo macros predefinidas, y otras de apoyo definido por el programador (y en repetidas ocasiones re-definible) macros con secuencias de líneas de texto en el que las variables y constantes están inmersos. Esta secuencia de líneas de texto puede incluir códigos de operación o directivas. Una vez que la macro se ha definido su nombre puede ser usado en lugar de una tecla de acceso. Cuando el ensamblador procesa dicha declaración, que reemplaza la declaración con las líneas de texto asociado con la macro, y luego los procesa como si existieran en el archivo de código fuente (incluso, en algunos ensambladores, la expansión de las macros existentes en el texto de reemplazo) .

Dado que las macros pueden tener "corto", pero los nombres de ampliar las líneas de varios o muchos de hecho, de código, que puede ser usado para hacer programas en lenguaje ensamblador parecen ser mucho más corto, lo que requiere menos líneas de código fuente, con lenguajes de alto nivel. También se puede utilizar para agregar niveles más altos de la estructura de los programas de montaje, opcionalmente introducir código embebido de depuración a través de los parámetros y otras características similares.

Muchos ensambladores han incorporado (o predefinidos) macros para las llamadas al sistema y otras secuencias de códigos especiales, tales como la generación y almacenamiento de datos realizado a través de avanzados a nivel de bits y booleanas operaciones utilizadas en los juegos, software de seguridad, gestión de datos y criptografía.

Montadores macro permiten a menudo que las macros de tomar parámetros . Algunos ensambladores incluyen lenguajes de macros muy sofisticados, incorporando de tan alto nivel los elementos del lenguaje como los parámetros opcionales, variables simbólicas, condicionales, manipulación de cadenas y operaciones aritméticas, todos los útiles durante la ejecución de una macro determinada, y permitir que las macros para salvar el contexto o el intercambio de información . Así, un macro podría generar un gran número de instrucciones en lenguaje ensamblador o definiciones de datos, basándose en los argumentos macro. Esto podría ser utilizada para generar registro de tipo de estructuras de datos o bucles "desenrollado", por ejemplo, o podría generar algoritmos de todo en base a parámetros complejos. Una organización que utiliza el lenguaje ensamblador que ha sido muy extendido el uso como un conjunto de macro pueden ser considerados como de trabajo en un lenguaje de alto nivel, ya que los programadores no son de trabajo con el menor nivel de los elementos conceptuales de una computadora.

Las macros se utilizan para personalizar los grandes sistemas de software de la balanza para clientes específicos en la era mainframe y también fueron utilizados por el personal de los clientes para satisfacer las necesidades de sus empleadores, haciendo versiones específicas de los sistemas operativos del fabricante. Así se hizo, por ejemplo, programadores de sistemas que trabajan con IBM System 's monitor conversacional / Virtual Machine (CMS / VM) y con "el procesamiento transaccional en tiempo real" de IBM, add-ons, CICS , la información del cliente del sistema de control, y los países ACP / TPF , la línea aérea / sistema financiero que se inició en la década de

Page 172: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 172

1970 y todavía funciona muchas de las grandes reservas de sistemas informáticos (CRS) y los sistemas de tarjetas de crédito hoy en día.

También era posible que el uso exclusivo de las capacidades de procesamiento de macro de un ensamblador para generar el código escrito en lenguajes completamente diferentes, por ejemplo, para generar una versión de un programa en COBOL con un programa macro ensamblador puro que contiene las líneas de COBOL código dentro de los operadores el tiempo de montaje instruyendo al ensamblador para generar código arbitrario.

Esto se debió, como se realizó en la década de 1960, el concepto de "proceso macro" es independiente del concepto de "asamblea", siendo el primero en términos modernos de procesamiento de más palabras, el procesamiento de textos, de generar el código objeto. El concepto de macro procesamiento apareció, y aparece, en el lenguaje de programación C, que apoya "las instrucciones de preprocesador" para definir las variables, y realizar pruebas condicionales en sus valores. Tenga en cuenta que a diferencia de algunos procesadores de macro anterior dentro de los ensambladores, el preprocesador de C no se Turing-completo , ya que carecía de la capacidad de bucle o "ir a", los programas de esta última que permite el bucle.

A pesar del poder de procesamiento de macro, que cayó en desuso en muchos lenguajes de alto nivel (una importante excepción de C / C + +) sin dejar de ser una planta perenne para los ensambladores. Esto se debió a muchos programadores estaban confundidos y no por sustitución de parámetros macro y no eliminar la ambigüedad de procesamiento de macro desde el montaje y ejecución [ dudoso - discutir ].

Sustitución de macro parámetro es estrictamente por su nombre: en el tiempo de procesamiento de macro, el valor de un parámetro es textualmente sustituido por su nombre. La clase más famosa de errores resultante fue el uso de un parámetro que en sí era una expresión y no un simple nombre, cuando el escritor se espera un nombre de macro. En la macro: foo: macro de una carga a * b la intención era que la persona que llama se indique el nombre de una variable, y lo "global" variable o constante b se usa para multiplicar "a". Si foo se llama con el parámetro de corriente alterna, la expansión de la macro de la carga de corriente alterna * b se produce. Para evitar cualquier ambigüedad posible, los usuarios de los procesadores de macro puede poner entre paréntesis los parámetros formales dentro de las definiciones de macro, o personas que llaman pueden paréntesis los parámetros de entrada. [8]

PL / I y C / C + + macros característica, pero las instalaciones, esto sólo puede manipular el texto. Por otro lado, las lenguas homoiconic, como Lisp , Prolog , y Forth , retener el poder de las macros en lenguaje ensamblador, ya que son capaces de manipular su propio código de datos.

apoyo a la programación estructurada

Algunos ensambladores han incorporado de programación estructurada elementos para codificar el flujo de ejecución. El primer ejemplo de este enfoque estaba en el Concept-14 conjunto de macros , propuesto originalmente por el Dr. HD Mills (marzo, 1970), y ejecutado por Marvin Kessler en Federal IBM la división de sistemas, que se extendió el ensamblador macro S/360 con IF / ELSE / ENDIF y similares bloquea el flujo de control. [9] Esta fue una manera de reducir o eliminar el uso de GOTO operaciones en código ensamblador, uno de los principales factores de código espagueti en lenguaje

Page 173: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 173

ensamblador. Este enfoque fue ampliamente aceptado en los años 80 (los últimos días de uso a gran escala en lenguaje ensamblador).

Un diseño curioso es A-naturales , una "corriente orientada a" ensamblador para 8080 / Z80 procesadores [ cita requerida ] de Whitesmiths Ltd. (desarrolladores de los Unix -como Idris sistema operativo, y lo que se informó de que el primer comercial de C compilador ). El lenguaje fue clasificado como un ensamblador, ya que trabajó con elementos de la máquina primas tales como códigos de operación, registros y referencias de memoria, pero que incorpora una sintaxis de la expresión para indicar el orden de ejecución. Paréntesis y otros símbolos especiales, junto con la orientación de bloques construcciones de programación estructurada y controlada de la secuencia de las instrucciones generadas. Un natural fue construido como el lenguaje objeto de un compilador de C, en lugar de para la codificación manual, pero su sintaxis lógica ganado algunos seguidores.

Ha habido poca demanda aparente de más ensambladores sofisticada, ya que el descenso de desarrollo a gran escala en lenguaje ensamblador. [10] A pesar de ello, todavía se están desarrollando y aplicando en los casos en que las limitaciones de recursos o de las peculiaridades de la arquitectura del sistema de destino impedir la uso eficaz de los lenguajes de alto nivel. [11]

El uso del lenguaje ensamblador

Perspectiva histórica

Lenguajes ensambladores se desarrollaron por primera vez en la década de 1950, cuando se les conoce como segunda generación de lenguajes de programación . Por ejemplo, SOAP (Programa simbólico Asamblea óptima) fue un lenguaje ensamblador 1957 para la IBM 650 ordenador. Idiomas de la Asamblea eliminó gran parte de la propensos a errores y requiere mucho tiempo de la primera generación de programación necesarios con las primeras computadoras, la liberación de los programadores de tedio como recordar los códigos numéricos y el cálculo de direcciones. Que alguna vez fueron utilizados para todo tipo de programación. Sin embargo, por la década de 1980 (1990 en los microordenadores ), su uso ha sido ampliamente suplantado por lenguajes de alto nivel [ cita requerida ], en la búsqueda de la mejora de la productividad de programación . Hoy en día, aunque en lenguaje ensamblador es casi siempre manejado y generado por los compiladores , que todavía se utiliza para la manipulación directa del hardware, el acceso a las instrucciones de un procesador especializado, o para abordar los problemas críticos de rendimiento. Los usos típicos son los controladores de dispositivo , de bajo nivel de sistemas embebidos y en tiempo real de los sistemas.

Históricamente, un gran número de programas ha sido escrito enteramente en lenguaje ensamblador. Los sistemas operativos eran casi exclusivamente escrito en lenguaje ensamblador hasta la aceptación generalizada de C en la década de 1970 y principios de 1980. Muchas aplicaciones comerciales fueron escritos en lenguaje ensamblador, así, como una gran cantidad de software de mainframe de IBM por escrito por las grandes corporaciones. COBOL y FORTRAN finalmente desplazado a gran parte de este trabajo, a pesar de una serie de organizaciones de gran tamaño retenido en lenguaje ensamblador infraestructuras de aplicaciones y en el 90.

Mayoría de los primeros microordenadores se basó en el lenguaje ensamblador de codificación manual, incluyendo la mayoría de sistemas operativos y aplicaciones de gran tamaño. Esto fue debido a que estos sistemas tienen graves limitaciones de recursos, la memoria impuesta

Page 174: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 174

idiosincrasia y las arquitecturas de la pantalla, y proporcionó servicios limitados, el sistema de buggy. Tal vez lo más importante fue la falta de primera clase compiladores de lenguajes de alto nivel adecuado para el uso de microcomputadoras. Uno de los factores psicológicos también pueden haber desempeñado un papel: la primera generación de programadores de microcomputadora mantenido un aficionado ", cables y pinzas" actitud.

En un contexto más comercial, las principales razones para el uso de lenguaje ensamblador se hinchan mínima (tamaño), un mínimo de gastos, mayor velocidad y fiabilidad.

Ejemplos típicos de los grandes programas en lenguaje ensamblador de esta época son IBM PC DOS sistemas operativos y aplicaciones de principios tales como la hoja de cálculo del programa Lotus 1-2-3 , y casi todos los juegos populares para el Atari 800 familiares de los ordenadores personales. Incluso en la década de 1990, la mayoría de los videojuegos de la consola fueron escritos en el montaje, incluyendo la mayoría de los juegos de la Mega Drive / Genesis y Super Nintendo Entertainment System [ cita requerida ]. De acuerdo con algunos expertos de la industria, el lenguaje ensamblador fue el mejor lenguaje de equipo a utilizar para obtener el mejor rendimiento de la Sega Saturn , una consola que era sumamente difícil de desarrollar y el programa de juegos para. [12] El popular juego de arcade NBA Jam ( 1993) es otro ejemplo. En el Commodore 64, Amiga, Atari ST, así como los ordenadores ZX Spectrum casa, ensamblador ha sido el desarrollo del lenguaje principal. Esto fue en gran parte debido a dialectos de BASIC en estos sistemas que ofrece la velocidad de ejecución suficiente, así como instalaciones insuficientes para aprovechar al máximo el hardware disponible en estos sistemas. Algunos sistemas, sobre todo Amiga, incluso han IDEs con la depuración muy avanzada y las instalaciones de macro, como el freeware ASM-Un ensamblador , comparable a la de Microsoft Visual Studio instalaciones (ASM-Uno anterior a Microsoft Visual Studio).

El ensamblador para el VIC-20 fue escrito por Don francés y publicado por la seda francesa. En 1639 bytes de longitud, su autor cree que es el más pequeño ensamblador simbólico se ha escrito. El ensamblador apoyó la frente siempre simbólico y la definición de las cadenas de caracteres o cadenas hexadecimales. También permitió que las expresiones de direcciones que puede ser combinada con otra , resta , multiplicación , división , lógico , OR lógico , y la potenciación operadores. [13]

El uso actual

Siempre ha habido debates sobre la utilidad y el rendimiento de lenguaje ensamblador en relación con lenguajes de alto nivel. El lenguaje ensamblador tiene lugar específico donde se utiliza es importante, ver a continuación. Pero, en general, moderno compiladores de optimización se afirma [ cita requerida ] para representar lenguajes de alto nivel en código que puede correr tan rápido como escrita a mano de la Asamblea, a pesar de los contra-ejemplos que se pueden encontrar. [14] [15] [16 ] La complejidad de los procesadores modernos y subsistema de memoria hace que la optimización efectiva cada vez más difícil para los compiladores, así como los programadores de montaje. [17] [18] Por otra parte, y ante la consternación de los amantes de la eficiencia, aumentar el rendimiento del procesador ha significado que la mayoría de CPUs sentarse inactivo la mayor parte del tiempo, [ cita

requerida ] con los retrasos causados por cuellos de botella predecibles, como E / S y las operaciones de paginación . Esto ha hecho que la velocidad básica la ejecución de código no sea un problema para muchos programadores.

Page 175: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 175

Hay algunas situaciones en las que los profesionales puedan optar por utilizar el lenguaje ensamblador, por ejemplo, cuando:

un binario ejecutable independiente de su tamaño compacto es necesario, es decir, que debe ejecutar sin necesidad de recurrir a los tiempo de ejecución de los componentes o bibliotecas asociadas con un lenguaje de alto nivel, lo que es quizás la situación más común. Estos están integrados monotarea programas, y utilizar sólo una cantidad relativamente pequeña de la memoria. Los ejemplos incluyen el firmware de los teléfonos, combustible para automóviles y sistemas de encendido, sistemas de aire acondicionado de control, sistemas de seguridad y sensores.

o sobre todo, un sistema con graves limitaciones de recursos (por ejemplo, un sistema embebido ) deben ser codificadas a mano para maximizar el uso de recursos limitados, pero esto es cada vez menos frecuente a medida que disminuye el precio del procesador y el rendimiento mejora.

interactuar directamente con el hardware, por ejemplo, en los controladores de dispositivo y el manejador de interrupciones .

Con el procesador las instrucciones específicas no se han aplicado en un compilador. Un ejemplo común es la rotación a nivel de bits de instrucciones en el centro de muchos algoritmos de cifrado.

la creación de funciones para los programas de vectorizado en lenguajes de alto nivel como C. En el lenguaje de alto nivel a veces esto es con la ayuda de compilador de funciones intrínsecas que se asignan directamente a SIMD mnemotecnia, pero sin embargo un conjunto de conversión de uno a uno específico para la dado procesador vectorial.

optimización extrema es necesaria, por ejemplo, en un interior de bucle en un algoritmo de uso intensivo del procesador. programadores de juegos tomar ventaja de las capacidades de las características del hardware de los sistemas, permitiendo que los juegos funcionen más rápido. Simulaciones científicas también grandes requieren algoritmos altamente optimizados, por ejemplo, álgebra lineal con BLAS [14] [19] o la transformada discreta del coseno (por ejemplo, SIMD versión de ensamblado de x264 [20] )

ningún lenguaje de alto nivel que existe, en un nuevo procesador o especializados, por ejemplo.

los programas deben momento preciso, como o en tiempo real los programas que necesitan una sincronización precisa y respuestas,

como las simulaciones, los sistemas de vuelo de navegación, y el equipo médico. Por ejemplo, en un fly-by-wire sistema de telemetría debe ser interpretado y actuar en consecuencia dentro de los límites estrictos de tiempo. Estos sistemas deben eliminar las fuentes de retrasos impredecibles, que pueden ser creados por (algunos) los lenguajes interpretados, automático de recolección de basura , las operaciones de paginación, o multitarea preventiva . Sin embargo, algunos lenguajes de alto nivel incorporan tiempo de ejecución de los componentes y las interfaces del sistema operativo que puede introducir retrasos. La elección de lenguajes ensambladores o menor nivel de estos sistemas ofrece a los programadores una mayor visibilidad y control sobre los detalles del proceso.

o algoritmos de cifrado que debe tener siempre estrictamente al mismo tiempo a ejecutar, la prevención de ataques puntuales .

un control completo sobre el medio ambiente es necesario, en situaciones de seguridad extremadamente alta, donde nada puede darse por sentado .

Page 176: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 176

escribir virus informáticos , gestores de arranque , algunos controladores de dispositivos , u otros artículos muy cerca del hardware o de bajo nivel del sistema operativo.

escrito simuladores conjunto de instrucciones para el monitoreo, seguimiento y depuración en una sobrecarga adicional se mantiene al mínimo

ingeniería inversa y la modificación de archivos de programa, tales como o existentes binarios que pueden o no pueden haber sido originalmente escritos en un

lenguaje de alto nivel, por ejemplo cuando se trata de crear programas para los cuales el código fuente no está disponible o se ha perdido, o formación de grietas de protección de copia de software propietario.

o juegos de video (también conocida como hacking ROM ), la cual es posible a través de varios métodos. La más utilizada es la alteración del código del programa a nivel de lenguaje ensamblador.

escribir código de auto modificación , al lenguaje ensamblador que se presta. escribir juegos y otro software para calculadoras gráficas . [21] escribir software compilador que genera código ensamblador, los programadores deben ser

expertos programadores en lenguaje ensamblador para generar el código correcto montaje.

Lenguaje ensamblador todavía se enseña en la mayoría de la informática y la ingeniería electrónica de programas. Aunque hoy en día muy pocos programadores trabajan regularmente con lenguaje ensamblador como herramienta, los conceptos fundamentales siguen siendo muy importantes. Temas tan fundamentales como la aritmética binaria , la asignación de memoria , procesamiento de pila , el conjunto de caracteres de codificación, interrumpir el procesamiento y compilador de diseño sería muy difícil de estudiar en detalle, sin una comprensión de cómo una computadora funciona a nivel de hardware. Dado que el comportamiento de un ordenador es fundamentalmente definida por su conjunto de instrucciones, la manera lógica de aprender conceptos como es el estudio de un lenguaje ensamblador. Mayoría de las computadoras modernas tienen sistemas similares de instrucciones. Por lo tanto, el estudio de un lenguaje ensamblador solo es suficiente para aprender: I) los conceptos básicos; II) a reconocer situaciones donde el uso del lenguaje ensamblador podría ser apropiado, y III) para ver lo eficiente que el código ejecutable puede ser creado a partir de lenguajes de alto nivel . [22] Esto es análogo a los niños que necesitan para aprender las operaciones aritméticas básicas (por ejemplo, la división de tiempo), a pesar de las calculadoras son ampliamente utilizados para todos, excepto los cálculos más triviales.

Las aplicaciones típicas

En el código en lenguaje ensamblador se utiliza típicamente en un sistema de ROM de arranque ( BIOS de IBM-compatible PC sistemas). Este código de bajo nivel se utiliza, entre otras cosas, para inicializar y probar el hardware del sistema antes de arrancar el sistema operativo, y se almacena en ROM . Una vez que un cierto nivel de inicialización de hardware ha tenido lugar, transfiere la ejecución a otro código, por lo general escritos en lenguajes de alto nivel, pero el código que se ejecuta inmediatamente después de que se aplica por lo general escritos en lenguaje ensamblador. Lo mismo puede decirse de la mayoría de los gestores de arranque .

Muchos compiladores hacen lenguajes de alto nivel en la primera asamblea antes de compilar completamente, permitiendo que el código ensamblador para ser visto por la depuración y optimización de los propósitos. Relativamente bajo nivel de idiomas, como el C , a menudo ofrecen especiales de sintaxis para incrustar directamente en lenguaje ensamblador en el código fuente. Los

Page 177: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 177

programas que usan estas instalaciones, como el kernel de Linux , puede construir abstracciones utilizando el lenguaje ensamblador diferente en cada plataforma de hardware. El sistema portátil de código puede entonces utilizar estos componentes específicos del procesador a través de una interfaz uniforme.

El lenguaje ensamblador es también valiosa en la ingeniería inversa , ya que muchos programas se distribuyen sólo en forma de código de máquina, y el código de la máquina suele ser fácil de traducir en lenguaje ensamblador y examinar cuidadosamente en esta forma, pero muy difícil de traducir a un lenguaje de alto nivel. Herramientas como el desensamblador interactivo hacen un uso extensivo de desmontaje para tal fin.

Un lugar que hace uso de lenguaje ensamblador es la demoscene . Ciertas competiciones requieren concursantes para restringir sus creaciones a un tamaño muy pequeño (por ejemplo, 256 B , 1 KB , 4 KB o 64 KB), y el lenguaje ensamblador es el idioma de su elección para lograr este objetivo. [23] Cuando los recursos, en especial de procesamiento de CPU- sistemas limitados, al igual que el anterior Amiga modelos, y el Commodore 64 , son una preocupación, la codificación en ensamblador es una necesidad. Código ensamblador optimizado está escrito "a mano" y las instrucciones están secuenciados de forma manual por los programadores en un intento de minimizar el número de ciclos de CPU utilizada. Las limitaciones de la CPU son tan grandes que las cuentas de cada ciclo de la CPU. Sin embargo los sistemas, utilizando métodos como ha permitido, como el Commodore 64 para producir en tiempo real de gráficos en 3D con efectos avanzados, un hecho que podría considerarse poco probable o imposible para un sistema con un 1,02 MHz del procesador. [ cita requerida

]

Relacionados terminología

Lenguaje ensamblador o lenguaje ensamblador que comúnmente se llama montaje, montador, ASM, o código de máquina simbólica. Una generación de programadores de mainframe de IBM lo llamó para ALC del lenguaje ensamblador o código BAL [24] de lenguaje ensamblador básico.

Nota: Llamando al ensamblador lenguaje es, por supuesto, potencialmente confuso y

ambiguo, ya que este es también el nombre de la utilidad que traduce las declaraciones en

lenguaje ensamblador en código máquina. Algunos pueden considerar esto como la

imprecisión o error. Sin embargo, este uso ha sido común entre los profesionales y en la

literatura desde hace décadas. [25] Del mismo modo, algunos de los primeros ordenadores

llamaron a su ensamblador de su programa de montaje. [26] )

El paso de cómputo donde se ejecuta un ensamblador, incluyendo todos los procesos macro, que se denomina tiempo de montaje.

El uso de la asamblea palabra se remonta a los primeros años de los ordenadores (cf. Código de corto , speedcode ).

Un ensamblador cruzado (ver compilador cruzado ) es funcionalmente sólo un ensamblador. Este término se usa para enfatizar que el ensamblador se ejecuta en un ordenador o sistema operativo de tipo diferente e incompatible con el sistema en el que el código resultante es correr. Cruz-montaje puede ser necesario si el sistema de destino no se puede ejecutar un mismo ensamblador, como es el caso típico de pequeños sistemas embebidos. Un

Page 178: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 178

ensamblador cruz debe prever o interfaz a las instalaciones para el transporte el código para el procesador de destino, por ejemplo, a residir en la memoria flash o EPROM. Se genera una imagen binaria, o Intel hexadecimal archivo en lugar de un archivo objeto .

Una directiva de ensamblador o pseudo-código de operación es una orden dada a un montador. Estas directivas pueden hacer cualquier cosa de decirle al ensamblador para incluir otros archivos de origen, a contar de reservar memoria para los datos constantes.

Lista de los montadores de las arquitecturas de equipo diferente

La siguiente página tiene una lista de ensambladores diferentes para las arquitecturas de ordenador, a lo largo de toda la información asociada para que el ensamblador específicos:

Lista de los montadores

Más detalles

Para cualquier computadora personal, mainframe, sistemas integrados y consola de juegos, tanto en el pasado y el presente, por lo menos una - posiblemente docenas - de las ensambladoras se han escrito. Para algunos ejemplos, vea la lista de los montadores .

En Unix los sistemas, el ensamblador se denomina tradicionalmente como , a pesar de que no es un cuerpo de código, que normalmente se escribe de nuevo para cada puerto. Una serie de variantes de Unix uso GAS .

Dentro de los grupos de procesadores, cada ensamblador tiene su propio dialecto. A veces, algunos ensambladores pueden leer dialecto otro ensamblador, por ejemplo, TASM puede leer viejo MASM código, pero no a la inversa. FASM y NASM tiene una sintaxis similar, pero cada uno macros de apoyo diferentes que podrían hacer que sea difícil de traducir el uno al otro. Los fundamentos son los mismos, pero las características avanzadas sea distinto. [27]

Además, el montaje a veces puede ser portable a través de diferentes sistemas operativos en el mismo tipo de CPU . convenciones de llamada entre los sistemas operativos a menudo difieren poco o nada en absoluto, y con cuidado, es posible ganar algo de portabilidad en lenguaje ensamblador, por lo general mediante la vinculación con un C biblioteca que no cambia entre sistemas operativos. Un simulador de juego de instrucciones (que lo ideal sería estar escritos en un lenguaje ensamblador) puede, en teoría, el proceso de código de objeto / binarios de cualquier ensamblador para conseguir la portabilidad incluso a través de plataformas (con una sobrecarga no mayor de un intérprete de bytecode típico). Esto es esencialmente lo microcódigo logra cuando se cambia de plataforma de hardware interno.

Por ejemplo, muchas cosas en la libc dependen del preprocesador para hacer específicas del sistema operativo, las cosas C-específicos para el programa antes de compilar. De hecho, algunas de las funciones y los símbolos no son ni siquiera garantiza que existen fuera del preprocesador. Peor aún, el orden y el tamaño de campo de las estructuras, así como el tamaño de ciertas definiciones de tipo , como off_t, son totalmente disponible en lenguaje ensamblador, sin la ayuda de un script de configuración , y se diferencian incluso entre las versiones de Linux , por lo que es imposible llamar a funciones portable en libc distintos de los que sólo tienen números enteros

Page 179: Descripcion General Sistemas Electronicos -

SISTEMAS ELECTRONICOS

ROMERO LUGO HUMBERTO Página 179

sencillos y punteros como parámetros. Para solucionar este problema, FASMLIB proyecto ofrece una biblioteca de montaje portátil para Win32 y Linux, pero es todavía muy incompleta. [28]

Algunos lenguajes de alto nivel del equipo, como C y Pascal de Borland , el apoyo de ensamblado en línea donde las secciones de código en ensamblador, en la práctica suele ser breve, puede ser embebido en el código de lenguaje de alto nivel. El Forth lenguaje común contiene un ensamblador utiliza en palabras de código.

Un emulador se puede utilizar para depurar los programas en lenguaje ensamblador.

Ejemplo de lista del código fuente del lenguaje de ensamblaje

Dirección Etiqueta Instrucción (AT & T sintaxis) Código objeto [29]

. Comenzar

. Org 2048

a_start . Equ 3000

2048

longitud ld,%

2064

hacer 00000010 10000000 00000000 00000110

2068

AddCC% r1, -4,% r1 10000010 10000000 01111111 11111100

2072

AddCC r1%,% r2, r4% 10001000 10000000 01000000 00000010

2076

ld% r4, r5% 11001010 00000001 00000000 00000000

2080

ba lazo 00010000 10111111 11111111 11111011

2084

r3 AddCC%,% r5, r3% 10000110 10000000 11000000 00000101

2088 hacer: jmpl% r15 4,% r0 10000001 11000011 11100000 00000100

2092 longitud: 20 00000000 00000000 00000000 00010100

2096 dirección: a_start 00000000 00000000 00001011 10111000

. Org a_start

3000 a:

Ejemplo de una selección de instrucciones (para un equipo virtual [30] ) con la correspondiente dirección de memoria donde será colocado cada instrucción. Estas direcciones no son estáticas, consulte la gestión de memoria . Accompanying each instruction is the generated (by the assembler) object code that coincides with the virtual computer's architecture (or ISA ).