apuntes previos unidad 1

37
RAMO: TECNOLOGÍA DIGITAL Y MICROPROCESADORES CARRERA: TECNÓLOGO EN AUTOMATIZACIÓN APUNTES: UNIDAD 1 PROFESOR: ROBERTO BAHAMONDES A.

Upload: nicolas-alejandro-f

Post on 09-Feb-2016

212 views

Category:

Documents


0 download

DESCRIPTION

asdas

TRANSCRIPT

Page 1: Apuntes Previos Unidad 1

RAMO: TECNOLOGÍA DIGITAL Y MICROPROCESADORES

CARRERA: TECNÓLOGO EN AUTOMATIZACIÓN

APUNTES: UNIDAD 1

PROFESOR: ROBERTO BAHAMONDES A.

Page 2: Apuntes Previos Unidad 1

Apuntes Previos a las clases relacionadas con la Unidad 1

Estos apuntes deben ser leídos y estudiados para enfrentar la clase de tal manera que el estudiante no sólo enfrente las materias adecuadamente sino que estar preparado para un test ya sea al comienzo o final de la clase ( Estos Test serán parte de la nota que forma la prueba parcial 1 ).

Tecnología Digital y Microprocesadores

Unidad 1

Esta unidad contiene los siguientes temas:

1.1.- Diferenciación entre señales Análogas y Digitales ( Múltiples niveles).1.2.- Sistemas numéricos y códigos.1.3.- Transformaciones de un sistema numérico a otro.1.4.- Calculo de estados, líneas y componentes en sistemas binarios

Objetivos y fundamentos del “porque” de los puntos anteriores

El propósito de esta unidad repasar, profundizar y aclarar conceptos que son fundamentales para abordar las materias especificas que se verán en las siguientes unidades, es fundamental entender claramente las diferencias entre los distintos tipos de señales desde el punto de vista conceptual, simbólico y operacional, por ejemplo se debe comprender que una señal como un tren de pulsos puede ser análoga o digital dependiendo del contexto, estos y muchos otros aspectos deben conocerse muy bien para abordar más adelante las unidades de entrada y salida de los sistemas de microprocesador.

Por otra parte tanto en el diseño, programación y operación de un sistema digital es necesario manejar las distintas formas de representar los números, ya que la representación de los números puede encontrarse de tres formas posible, ya sea la natural, conocida y manejada por nosotros a diario como son los números decimales o las otras dos, la representación “Binaria” y la “Hexadecimal”, si bien existen muchas otras como la “Octal” por ejemplo, en este curso no las veremos porque en los sistema de desarrollo y edición empleados en el desarrollo de los sistemas digitales sólo se utilizan las tres primeras, es importante sin embargo que el estudiante en esta parte comprenda claramente las regla de formación en cada sistema numérico y los mecanismos de conversión entre un sistema y otro, reglas que pueden extrapolarse a cualquier sistema numérico. Es importante destacar aquí que se desea lograr la habilidad de representar y hacer conversiones de números a pesar de que existan calculadoras de bolsillo que hacen esas operaciones, ya que además el futuro profesional debe conocer no sólo el concepto sino también estar preparado para todo evento. Una vez estaba un profesional del área configurando un equipo digital en un contenedor en pleno desierto de Atacama donde la ciudad más cercana se encontraba a 250 Kilómetros, olvido llevar consigo la vieja calculadora que usaba en sus años de universidad, para empeorar la situación había olvidado como convertir un numero decimal a hexadecimal, como en el lugar estaba incomunicado, no había cobertura celular para preguntar a otro colega, no pudo por más esfuerzo que hizo cambiar unos direccionamientos en el sistema ya que el

Page 3: Apuntes Previos Unidad 1

los tenia en decimal y el editor del sistema se los pedía en hexadecimal. El profesional volvió a su oficina preocupado y su jefe obviamente estaba muy contrariado, esto ocurrió una vez, pero afortunadamente el profesional no era egresado de esta casa de estudios.

Los sistemas que se estudiaran en este curso están basados en sistemas digitales que operan en base a dos estados, es decir pueden ser descritos en base a los números binarios y por tanto cada digito tiene una representación física uno a uno con una línea eléctrica que a su vez presentaras dos posibles estados voltaje con respecto a una línea común o tierra, por otra parte también se verá que un sistema por lo general presenta más de un estado, por ejemplo un ascensor puede estar detenido en un piso, puede estar subiendo o puede estar bajando, ahora si consideramos sus puertas, puede estar detenido con las puertas cerradas o abiertas y con esto agregamos un estado más al ascensor, por lo tanto si al sistema ascensor le agregamos más variables a controlar más estados va a presentar el sistema, aquí caben algunas preguntas:

1.- ¿ Que pasa si agregamos las luces que iluminan el interior del ascensor?, ¿Cuantos estados más aparecen?.

2.- ¿Qué estamos controlando?, ¿Qué estamos sensando?, piense que tiene un dispositivo inteligente ( Programable ) que es capaz de sensar las variables del sistema y de activar otras.

3.- ¿ Qué pasa si al sistema ascensor le agregamos el panel de comando o el sensor de sobrepeso o el sensor de velocidad?, ¿ Cuantos estados aparecen en el sistema?

Es conveniente que medite sobre este ejemplo antes de enfrentar la clase, incluso más piense en otros sistemas como por ejemplo un sistema de semáforo de una esquina cualquiera, que puede ir desde uno sencillo hasta uno que incorpore flechas especiales de viraje, botones para paso de peatones, etc. Analice en este caso cuantas variables y cuantos estados tiene el sistema y por último como representaría cada estado del sistema en forma binaria.

Los ejercicios anteriores son fundamentales para comenzar a entender un sistema digital, porque como se vera más adelante un sistema de este tipo no sólo debe ser capaz de representar un estado sino también debe ser capaz de almacenar esos estados en una memoria. Volviendo al ejemplo del ascensor, si un usuario en el piso dos presiono en la botonera el botón del piso el número diez, cómo sabe el sistema durante toda la operación de cerrar puertas y subir ( Mover los distintos motores ) y en transcurso de la subida que no debe detenerse en ningún piso intermedio. Usted pensará porque el usuario marcó el piso, pero no olvide que no dejó el dedo puesto en el botón, ¿Cómo recuerda esto el sistema?, ¿Cómo memoriza?...Aquí aparece asociado un tema que será ampliamente tocado en la unidad tres de este curso.

En esta unidad como puede apreciar aparecen más preguntas que respuestas y un mar de dudas, estamos en el principio y familiarizándonos primero con los conceptos básicos que nos permitirán abordar todos los temas que veremos durante el curso, en términos simple estamos preparando nuestra bicicleta para dar el paseo que es lo que realmente nos importa.

Page 4: Apuntes Previos Unidad 1

1.1.- Diferenciación entre señales Análogas y Digitales ( Múltiples niveles).

Tipos de señales

Antes debemos aclarar que los sistemas con los que vamos a trabajar están basado en el uso de la energía eléctrica y por tanto, la alimentación, funcionamiento y señales asociadas son variables eléctricas que de una manera u otra se representan mediante voltajes y corrientes cuyo valores debemos conocer muy bien en magnitud en todo instante de tiempo. En rigor en los sistemas físicos que vamos a tratar, las señales van a ser siempre análogas, lo que va a cambiar es su tratamiento, su manejo y eso es lo que vamos a diferenciar, según el contexto, el sistema donde están inserta las señales si estamos hablando de señales análogas o digitales. ¿ Lo anterior le merece dudas?, tratemos de disiparlas, recuerde dos cosas, cuando Usted gráfica en el papel una onda cuadrada, esta tiene dos trazos bien definidos y una discontinuidad entre ambos, es decir si estuviera representando un voltaje en el tiempo, este jamás tomaría los valores intermedios que hay entre los dos trazos, pues bien, alguna vez en laboratorio de electrónica o de tiristores le toco observar en el oscilospio un voltaje que el tiempo presentaba la forma de una onda cuadrada como la que Usted tan prolijamente dibujo en el papel o mejor aún imaginó en su cabeza, seguramente experimento un cierto agrado al ver aquello hasta que decidió ver más detalles y amplio la base de tiempo, con lo cual ente ambos trazos apareció una curva que iba tomando todos los valores entre los dos trazos. Lo anterior es inherente a todos los sistemas electrónicos, significa entonces que las señales digitales no existen en la práctica y por ende tampoco los sistemas digitales. Esto parece un balde de agua fría cuando hemos escuchado por todas partes hablar de su existencia, no se preocupe conforme vayamos avanzando logrará entender las sutilezas que se debatirán ampliamente en clases.

Por de pronto y en todo los textos de estudio encontrará que las señales se clasifican en:

Señales Análogas Señales Digitales

Señales Análogas:

Es una señal cuya curva es continua en el tiempo y que esta acotada entre un valor mínimo y un máximo, es decir esta definida para todo instante de tiempo, matemáticamente podemos expresar el concepto anterior como:

Sea V(t) € R y Vmin ≤ V(t) ≤ Vmax donde t € R

Nota: Aquí se ha tomado un voltaje, pero puede ser también una corriente o una potencia, un desfase, un campo eléctrico o magnético, etc. En todo caso salvo que se diga otra cosa normalmente usaremos voltajes.

En la siguiente figura se puede ver una representación gráfica de una señal análoga donde en cada instante de tiempo esta definido una magnitud de voltaje que además se encuentra acota entre dos valores que se destacan con líneas punteadas.

Page 5: Apuntes Previos Unidad 1

Las señales análogas también pueden estar definidas sólo para algunos instantes de tiempo, tal como ocurre con una señal de muestreo, conocida también como PAM ( Modulación por amplitud de pulso ) en ese caso matemáticamente las podemos expresar como sigue:

Sea V(ti) € R y Vmin ≤ V(ti) ≤ Vmax donde ti € R e “i” € Z , es decir los

tiempos ti € { t0, t1, t2, t3, ..... }

Gráficamente el misma variable anterior puede ser representada como una señal análoga discreta en el tiempo si esta es producto de un muestreo tal como se ve en la siguiente figura:

Según lo anterior podemos tener señales análogas continuas o discretas en el tiempo.

Señales Digitales

La Señal Digital en teoría al menos, es la que puede tomar sólo algunos valores en magnitud a través del tiempo, ahora bien significa que la señal podrá tomar una cantidad finita y predeterminada de valores, tantos como sean necesarios. Por ejemplo alguien podría definir un sistema digital que trabaje o sea capaz de diferenciar señales que puedan tomar ocho, diez, veinte o los valores que el diseñador estime conveniente. Según esto las señales digitales las podemos definir matemáticamente como sigue:

Sea V(t) € { V1, V2, V3, V4,..., Vi,...Vn}, Vi € R donde t € R

Page 6: Apuntes Previos Unidad 1

En la figura siguiente puede ver gráficamente el concepto donde se representa una señal Digital, Discreta en magnitud pero continua en el tiempo.

También puede ocurrir que la señal digital no este definida para todo instante de tiempo y en ese caso matemáticamente la podemos expresar como sigue:

Sea V(ti) € { V1, V2, V3, V4,..., Vi,...Vn}, Vi € R donde ti € R e “i” € Z , es

decir los tiempos ti € { t0, t1, t2, t3, .....tn } “n” no tiene limite, puede ser infinito.

En ese caso gráficamente la señal tiene la forma que muestra la figura siguiente, note sin embargo que la apariencia de la señal es parecida a la de una señal análoga discreta en el tiempo, pero no debe olvidar que en ese caso la señal podía tomar cualquier valor entre un valor mínimo y un máximo, en este caso es discreta en ambos ajes.

Según lo anterior las señales digitales igual que las análogas pueden ser continuas o discretas en el tiempo, más la diferencia principal entre ambas es que las señales digitales sólo toman algunos valores de magnitud, no así las análogas que pueden tomar cualquier valor dentro de un rango.

Page 7: Apuntes Previos Unidad 1

Señal Digital Binaria

Existe un tipo de señal digital en particular que toma sólo dos valores y se basa en los números binarios y por tanto toda la construcción teórica y practica que se haga basada en ella podrá fundamentarse en la lógica y matemática de Boole. Es decir los sistema digitales que manejan señales de dos estados se fundamentan en los principios antes señalados. Ahora bien, ¿Cuáles fueron las razones para adoptar dicho tipo de señales digitales binarias en los constructos tecnológicos?, pueden ser muchas pero vamos a destacar las siguientes:

1.- Demasiados niveles de voltajes torna muy complicado tanto receptores como transmisores de información.

2.- Dado los rangos de tensión que manejan los componentes electrónico como los transistores, base de los sistemas discretos he integrados, al usar muchos niveles, la diferencia entre ellos se torna vulnerable al ruido conforme aumentan los niveles definidos.

3.- La simplicidad de los sistemas binarios que se pueden relacionar directamente además con estados como “encendido” y “apagado”; “Negro” y “Blanco”, “Bueno” y “Defectuoso”; “Verdadero” y “Falso”; “1” y “0”; etc facilita enormemente los análisis y diseños electrónicos permitiendo que los transistores trabajen exclusivamente en las zonas de corte y saturación, obviando todas las clásicas dificultades del diseño análogo que se encuentran al trabajar en la zona activa.

4.- Adoptar una señal digital binaria para los sistemas digitales implica el uso de la lógica de Bool que redunda en circuitos básicos muy simples y que como veremos a lo largo de este curso son la base de todas las estructuras desde una simple compuerta hasta el más complejo de los circuitos integrados, todos absolutamente todos están basados en tres compuertas básicas ( Para mayor detalle ver el apunte de la siguiente unidad )

1.2.- Sistemas numéricos y códigos.

Existen tantos sistemas numéricos como culturas hay sobre el planeta cuyo objeto principal es contabilizar personas, animales y objetos, desde tiempos remotos al hombre le intereso contabilizar no sólo cosas tangibles sino también el tiempo, para ello se fijo en los ciclos estaciónales del clima y el aspecto o relación que ello tenía con el cielo, en ese contexto el hombre no sólo invento el lenguaje, también invento los símbolos que representan entre otras cosas la cantidades, así aparecen en nuestra cultura los números o símbolos de origen árabe y romanos, sin embargo no son esos los únicos existentes, existen los de origen Egipcio, Maya por nombrar algunos cuyos símbolos en forma y cantidad difieren bastante de nuestro conocido sistema decimal con su diez símbolos entre el “cero” y el “Diez”. No debe caber duda alguna sin embargo que no importa la cultura todos los sistemas numéricos deben presentar equivalencias para representar un caballo o tres árboles por ejemplo. Nuestro sistema numérico decimal es capaz de representar hasta 9 objetos mediante un único símbolo, sin embargo a partir del décimo objeto debe utilizar una combinación de dos, tres y más de los símbolos originales, cada uno de esos símbolos acomodados adecuadamente es lo que todos

Page 8: Apuntes Previos Unidad 1

conocemos como dígitos y como también es conocido cada posición tiene asociado un peso. Es sabido que los Mayas disponen de muchos más símbolos para contar que nuestro diez bien conocidos por nosotros.

Aquí una invitación a que en su tiempo libre investigue otros sistemas numéricos, como el Maya etc, a modo de cultura general y sobre todo para entender que nuestro sistema decimal sólo a nosotros nos parece tan natural, se habrán escogido diez símbolos por los dedos de nuestra manos, por qué no sólo cinco o veinte considerando nuestros pies. Estos no decidirá sobre la suerte en este ramo, pero lo hará más culto y entrenará su capacidad crítica y razonamiento muy útil al momento de innovar y asimilar los rápidos cambios tecnológicos de este milenio.

Para trabajar con los sistemas digitales y todas las herramientas relacionadas con

su diseño y desarrollo como editores, ensambladores y simuladores que veremos con detalle en los laboratorios de este ramo ( Ver guía del laboratorio 1 y los apuntes asociados) es necesario dominar tres sistemas numéricos y las respectivas conversiones de uno a otro.

Sistemas Numéricos

Sistema Numérico Decimal Sistema Numérico Hexadecimal Sistema Numérico Binario

En la figura las flechas representan las seis posibles conversiones que debe dominar ampliamente, para lo cual se recomienda bastante ejercitación.

Sistema Decimal

Este sistema no requiere mayor estudio ya que esta muy asimilado en todos nosotros a tal punto que ya opera desde la automática y desde nuestros reflejos condicionados, sin embargo basándonos en ellos definiremos algunos conceptos que serán el punto de arranque para posteriormente analizar los otros dos que no nos son muy cotidianos y mucho menos las conversiones.

Page 9: Apuntes Previos Unidad 1

De partida el sistema decimal consta de una cantidad de “10” símbolos, cuyos figuras o formas no son ampliamente conocidas: Conjunto de Símbolos del Sistema decimal = { 0,1,2,3,4,5,6,7,8,9 }

El sistema se denomina decimal precisamente por el hecho de contar con “10” símbolos, luego tenemos aquí un parámetro:

NS = 10 ( NS = Número de Símbolos)

Con este conjunto, valga la redundancia es posible contar valiéndose de un símbolo hasta “9” cosas, sin embargo cuando queremos contar más de 9 objetos debemos recurrir a un ordenamiento basados en dígitos y pesos, entonces como también es conocido se pondrán tantos dígitos llenados con los símbolos correspondientes como cantidades se necesite contar y se ordenaran de derecha a izquierda, de menor a mayor peso el cual se calculará en potencias cuya base corresponde al “NS” que contiene el sistema y el exponente a la posición del digito contando desde cero partiendo por la derecha.

Sea entonces “Di” el digito decimal / (tal que) Di € { 0,1,2,3,4,5,6,7,8,9 }

Entonces el número decimal de “n + 1” dígitos “Dn....D3 D2 D1 D0” tiene los siguientes pesos por digito:

Peso de D0 = NS 0 es decir 10 0 = 1 UnidadesPeso de D1 = NS 1 es decir 10 1 = 10 DecenasPeso de D2 = NS 2 es decir 10 2 = 100CentenasPeso de D3 = NS 3 es decir 10 3 = 1000 Miles....Peso de Dn = NS n es decir 10 n = 10000...00

Entonces el numero decimal:

ND = 3482 “Tres mil cuatrocientos ochenta y dos”, esta compuesto de cuatro dígitos cuyos pesos de derecha a izquierda son “1”, “10”, “100”, “1000”

Luego el valor decimal “VD” de este número puede ser calculado de la siguiente forma:

VD = 2 (10 0) + 8 (10 1) + 4(10 2) + 3(10 3) VD = 2(1) + 8(10) + 4(100) + 3(1000)VD = 2 + 80 + 400 + 3000VD = 3482

Esto puede parecer un ejercicio estéril y tautológico, es más un juego de niño, sin embargo en los siguientes sistemas numéricos y sus conversiones se entenderá la utilidad de los conceptos y la mecánica que en definitiva es lo que interesa adquirir.

Lo anterior puede generalizar y resumir como se detalla a continuación para números decimales de “n + 1” dígitos:

Page 10: Apuntes Previos Unidad 1

ND = Dn Dn+1 …..Di…..D4 D3 D2 D1 D0

VD = D0 (10 0) + D1 (10 1) + D1 (10 1) +….. Di (10 i) +…… Dn (10 n)

Entonces el valor decimal “VD” puede resumirse como sigue:

Siendo “n” la posición del digito“10” es el número de símbolos ( NS ) del sistema numérico empleado

Sistema Hexadecimal

Este sistema numérico consta de “16” símbolos para contar tal como se detalla a continuación:

Conjunto de Símbolos del Sistema decimal = {0,1,2,3,4,5,6,7,8,9,A, B, C ,D, E, F}

El sistema se denomina Hexadecimal precisamente por el hecho de contar con “16” símbolos, luego tenemos aquí un parámetro:

NS = 16 ( NS = Número de Símbolos)

Con este conjunto es posible contar valiéndose de un símbolo hasta “15” cosas, sin embargo cuando queremos contar más de 15 , debemos recurrir a un ordenamiento basados en dígitos y pesos tal como hicimos en el sistema decimal, entonces de manera similar se pondrán tantos dígitos llenados con los símbolos correspondientes como cantidades se necesite contar y se ordenaran de derecha a izquierda, de menor a mayor peso el cual se calculará en potencias cuya base corresponde al “NS”, en este caso igual a “16” y el exponente será igual a la posición del digito contando desde cero partiendo por la derecha.

Sea entonces “Hi”el digito Hexadecimal/Hi €{0,1,2,3,4,5,6,7,8,9,A.B,C,D,E,F }

Entonces el número Hexadecimal de “n + 1” dígitos “Hn....H3 H2 H1 H0” tiene los siguientes pesos por digito:

Peso de H0 = NS 0 es decir 16 0 = 1 UnidadesPeso de H1 = NS 1 es decir 16 1 = 16Peso de H2 = NS 2 es decir 16 2 = 256Peso de H3 = NS 3 es decir 16 3 = 4096....Peso de Hn = NS n es decir 16 n = XXXXX

Page 11: Apuntes Previos Unidad 1

Como puede ver si bien estamos usando la misma mecánica anterior, ya los resultados no nos son tan familiares y ni siquiera podemos hablar de decenas, centenas o miles.

Por ejemplo el numero Hexadecimal:

NH = 3482

Tiene un valor decimal “VD” que puede ser calculado de la siguiente forma:

VD = 2 (16 0) + 8 (16 1) + 4(16 2) + 3(16 3) VD = 2(1) + 8(16) + 4(256) + 3(4096)VD = 2 + 128 + 1024 + 12288VD = 13442

Es decir el valor decimal “VD” del número hexadecimal “3482” ya no es “3482” sino que es “13442”, con lo cual hemos adelantado trabajo para el punto siguiente ya que hemos obtenido una forma de convertir un número Hexadecimal en Decimal.

Lo anterior se puede generalizar y resumir como se detalla a continuación para números hexadecimales de “n + 1” dígitos:

NH = Hn Hn+1 …..Hi…..H4 H3 H2 H1 H0

VD = H0 (16 0) + H1 (16 1) + H2 (16 2) +….. Hi (16 i) +…… Hn (16 n)

Entonces el valor decimal “VD” puede resumirse como sigue:

Siendo “n” la posición del digito“16” es el número de símbolos ( NS ) del sistema numérico empleado

Nota: No olvide que esta expresión constituye ahora el método para convertir un número hexadecimal a decimal.

Sistema Binario

Este sistema numérico consta de “2” símbolos para contar tal como se detalla a continuación:

Conjunto de Símbolos del Sistema Binario = {0,1}

El sistema se denomina Binario precisamente por el hecho de contar con “2” símbolos, luego tenemos aquí un parámetro:

Page 12: Apuntes Previos Unidad 1

NS = 2 ( NS = Número de Símbolos)

Con este conjunto es posible contar valiéndose de un símbolo hasta “una” cosa, sin embargo cuando queremos contar más de una , debemos recurrir a un ordenamiento basados en dígitos y pesos tal como hicimos en los sistema anteriores, entonces de manera similar se pondrán tantos dígitos llenados con los símbolos correspondientes como cantidades se necesite contar y se ordenaran de derecha a izquierda, de menor a mayor peso el cual se calculará en potencias cuya base corresponde al “NS”, en este caso igual a “2” y el exponente será igual a la posición del digito contando desde cero partiendo por la derecha.

Sea entonces “Bi” el digito Binario / (tal que) Bi € { 0,1 }

Entonces el número binario de “n + 1” dígitos “Bn....B3 B2 B1 B0” tiene los siguientes pesos por digito:

Peso de B0 = NS 0 es decir 2 0 = 1 UnidadesPeso de B1 = NS 1 es decir 2 1 = 2Peso de B2 = NS 2 es decir 2 2 = 4Peso de B3 = NS 3 es decir 2 3 = 8....Peso de Bn = NS n es decir 2 n = XXXXX

Como puede ver si bien estamos usando la misma mecánica anterior, los resultados no son tan familiares y ni siquiera podemos hablar de decenas, centenas o miles.

Por ejemplo el numero Binario:

NH = 1001

Tiene un valor decimal “VD” que puede ser calculado de la siguiente forma:

VD = 1 (2 0) + 0 (2 1) + 0(2 2) + 1(2 3) VD = 1(1) + 0(2) + 0(4) + 1(8)VD = 1 + 0 + 0 + 8VD = 9

Es decir el valor decimal “VD” del número binario “1001” que por ningún motivo debe leerse como “Mil uno” resulta tener un valor equivalente en decimal al símbolo “9”, es decir al que nosotros llamamos “nueve. Nótese que para expresar el concepto de “nueve objetos” para el sistema decimal sólo necesita un digito en cambio el sistema binario requiere cuatro. Esta aparente dificultad de los sistemas binarios tiene otras ventajas no tan evidentes que al utilizarlos en las maquinas resultan mucho más convenientes que los sistema decimales y hexadecimales.

Lo anterior se puede generalizar y resumir como se detalla a continuación para números binarios de “n + 1” dígitos:

Page 13: Apuntes Previos Unidad 1

NB = Bn Bn+1 …..Bi…..B4 B3 B2 B1 B0

VD = B0 (2 0) + B1 (2 1) + B2 (2 2) +….. Bi (2 i) +…… Bn (2 n)

Entonces el valor decimal “VD” puede resumirse como sigue:

Siendo “n” la posición del digito“2” es el número de símbolos ( NS ) del sistema numérico empleado

Notas: 1.- No olvide que esta expresión constituye ahora el método para convertir un número Binario a decimal. 2.- Esta expresión constituye el fundamento para construir los conversores Digitales a Análogo (ADC) cuando se vean las unidades de Entrada y Salida

3.- A propósito de la nota anterior se recomienda repasar amplificadores operacional y en particular la configuración sumador

1.3.- Transformaciones de un sistema numérico a otro.

Las conversiones que se necesitan son:

1. Conversión Binario a Decimal2. Conversión Decimal a Binario 3. Conversión Hexadecimal a Decimal4. Conversión Decimal a Hexadecimal5. Conversión Hexadecimal a Binario6. Conversión Binario a Hexadecimal

Las conversiones 1 y 3 ya están resueltas en punto anterior pero a modo de orden se incluirán en esta unidad también:

Conversión Binario a Decimal

Sea NB el número binario de “n + 1” dígitos tal como se describe:

NB = Bn Bn+1 …..Bi…..B4 B3 B2 B1 B0

Entonces su valor decimal se calcula como sigue:

VD = B0 (2 0) + B1 (2 1) + B2 (2 2) +….. Bi (2 i) +…… Bn (2 n)

Page 14: Apuntes Previos Unidad 1

Lo anterior se resume como sigue:

Siendo “n” la posición del digito“2” es el número de símbolos ( NS ) del sistema numérico empleado

Conversión Hexadecimal a Decimal

Sea “NH” el número hexadecimal de “n + 1” dígitos:

NH = Hn Hn+1 …..Hi…..H4 H3 H2 H1 H0

Entonces su valor decimal se calcula como sigue:

VD = H0 (16 0) + H1 (16 1) + H2 (16 2) +….. Hi (16 i) +…… Hn (16 n)

Lo anterior se resume como sigue:

Siendo “n” la posición del digito“16” es el número de símbolos ( NS ) del sistema numérico empleado

Tabla de Conversión Directa

Antes de ver como se hacen las siguientes conversiones es necesario construir una tabla que permita hacer las conversiones entre símbolos de los tres sistemas numéricos involucrados. En clase se explicará con más en detalle como se construye esta tabla y algunos aspectos geométricos y visuales que debemos tener presente que serán de mucha utilidad cuando se analizan los mapas de memoria y de entradas y salida ( Unidad Tres ).

En todo caso sucintamente se puede decir que la tabla con los números consecutivos se obtiene en todos los sistemas numéricos basándose en el rebase del digito de menor peso, cuando ya se han agotado todas las representaciones con el digito de menor peso se crea el siguiente digito de más pesos y se empieza por el primer símbolo de sistema y así hasta que se agotan los símbolos donde se crea un digito de mayor peso otra vez. Se entiende que todos los dígitos a las izquierda ya existen pero

Page 15: Apuntes Previos Unidad 1

con valor “Cero”, por lo tanto no considerarlos, no afecta cuando se hacen conversiones directas a través de la tabla, sin embargo cuando se usa la tabla para hacer conversiones de números binarios a hexadecimal y viceversa cuando el valor decimal equivalente de esos números supera el “15”, es decir cuando el numero significativo de dígitos binarios son cinco o más o, cuando el numero de dígitos hexadecimales significativos son dos o más.

La tabla construida según lo explicado anteriormente queda como sigue:

Esta tabla sólo sirve para hacer conversiones directas entre los números “0” y “15” decimales, para números mayores deben emplearse los métodos empleados hasta ahora y los que se explicaran a continuación.

Conversión Binario a Hexadecimal

La conversión Binario a Hexadecimal es muy simple y consiste en agrupar de cuatro dígitos binarios empezando de izquierda a derecha, si al completar las agrupaciones la última de más a la derecha le faltan dígitos para completar los cuatro, se pueden agregar tantos ceros a la izquierda del número binario a convertir como dígitos se necesiten para completar el último grupo de cuatro ( Posteriormente se dará cuenta que no es necesario agregar los ceros a la izquierda, se hace sólo por un efecto estético para facilitar la entrada en la tabla de conversión). Una vez hecha la agrupación cada grupo de cuatro dígitos binarios se lleva a la tabla para encontrar el equivalente a hexadecimal que es reemplazo en dicha posición, es decir un digito hexa reemplaza a cuatro binarios.

Page 16: Apuntes Previos Unidad 1

Por ejemplo el numero binario: 101001111011110101010110111

Se agrupará primero en grupos de cuatro quedando como sigue:

101 0011 1101 1110 1010 1011 0111

En forma opcional y si facilita la conversión puede agregar un cero al último grupo de la derecha:

0101 0011 1101 1110 1010 1011 0111

Finalmente por cada grupo de 4 dígitos binarios se va a la tabla y se reemplaza por el equivalente hexadecimal:

Conversión Hexadecimal a Binario

La conversión Hexadecimal a Binario es más fácil que la anterior sólo se toma el digito hexadecimal, se lleva a la tabla y se reemplaza por su equivalente, es decir se va de un digito a cuatro, el único cuidado que se debe tener es considerar todos los ceros a la izquierda de los números intermedios de lo contrario se obtiene otro número muy diferente.

Por ejemplo el número “281” que bajo ningún punto de vista debe leerse como “doscientos ochenta y uno” ya que su equivalente decimal es “641” en realidad, va ha ser convertido como sigue:

Es decir el numero convertido es “1010000001”. Es posible comprobar si esto es

correcto mediante dos conversiones:

1.- Conversión Hexadecimal a Decimal:

2.- Conversión Binario a Decimal:

0010 1000 0001

VD = 1(2 0) + 0(2 1) + 0(2 2) + 0(2 3) + 0(2 4) + 0(2 5) + 0(2 6) +

Page 17: Apuntes Previos Unidad 1

1(2 7) + 0(2 8) + 1(2 09)

VD = 1(1) + 0(2) + 0(4) + 0(8) + 0(16) + 0(32) + 0(64) + 1(128) + 0(256) + 1(512)

VD = 1 + 128 + 512

VD = 641

Como puede ver ambas conversiones llegan al mismo resultado, por lo que el método de conversión es correcto.

Conversión Decimal a Binario

La conversión Decimal a binario tiene que ver con la formación de los números binarios, es decir estamos trabajando con potencias de dos al momento de definir los pesos por un lado, por otra parte si se observa la tabla de conversión directa podrá notar que todos los decimales terminados en numero par tienen su equivalente binario terminado en “cero”, por ejemplo 2 implica el binario “0010”, el “diez” implica el binario “1010” a así con todos los números de la tabla.

Los números “0” y “1” decimal tienen conversión directa, es decir son el mismo numero, pero si deseamos convertir “2” decimal a binario se podría sugerir además del método directo el siguiente:

1.- Tomamos el “2” y lo dividimos por “2” que es la base del sistema binario:

2/2 2:2 = 1 y sobra un resto igual a “cero” 0

2.- De acuerdo a la tabla de conversión directa y lo comentado previamente en relación a los números pares o impares, podemos intuir que este método de dividir por dos nos entrega en el resto el número menos significativo y en resultado el más significativo. Luego el resultado sería “10”. Si agregamos los ceros a la izquierda obtenemos “0010” que sería el valor equivalente binario a “2” decimal en la tabla de conversión directa.

Tomemos ahora el “3” decimal y hagamos el mismo ejercicio:

1.- Dividimos el tres en dos y obtenemos:

3/2 3:2 = 1 1

Siguiendo el método tomamos el resto como numero menos significativo y seguimos con el resultado como el siguiente más significativo y tenemos como conversión “11” que si le agregamos los ceros a la izquierda luce “0011” como en la tabla lo que equivale al tres en decimal.

Tomemos ahora el “4” decimal y hagamos el mismo ejercicio:

Page 18: Apuntes Previos Unidad 1

Dividimos el cuatro en dos y obtenemos:

4/2 4:2 = 2 0

En este caso no opera el método porque el resto es un “2” y los números binarios operan entre “0” y “1”, entonces sólo queda probar con una iteración más:

4/2 4:2 = 2 0 2/2 2:2 = 1 0

El resto de la segunda división esta entre “cero” y “uno” por lo tanto podemos presumir que la conversión esta lista, si consideramos que el resultado de la última división es el digito más significativo y después le sigue el resto de la segunda división y luego el resto de la primera división entonces el resultado es “100” lo que convertido a “0100” equivale en la tabla al “4” decimal en binario.

Por último tomemos ahora el “9” decimal y hagamos el mismo ejercicio:

Dividimos el cinco en dos y obtenemos:

9/2 9:2 = 4 1

En este caso no opera el método porque el resto es un “4” y los números binarios operan entre “0” y “1”, entonces sólo queda probar con una iteración más:

4/2 4:2 = 2 0

En este caso no opera el método porque el resto es un “2” y los números binarios operan entre “0” y “1”, entonces sólo queda probar con una iteración más:

2/2 2:2 = 1 0

El resto de la tercera división esta entre “cero” y “uno” por lo tanto podemos presumir que la conversión esta lista, si consideramos que el resultado de la última división es el digito más significativo y después le sigue el resto de la tercera división y luego el resto de la segunda división hasta llegar al resto de la primera, entonces el resultado es “1001” lo que equivale en la tabla al “9” decimal en binario.

Los desarrollos anteriores le agregamos una división más por ejemplo a la conversión del decimal “9” le agregamos una quinta división solo obtendremos un “1” en el resto y un “0” en el resultado, siguiendo la lógica usada hasta aquí el resultado sería “01001” ahora si se agrega una sexta división al mismo ejemplo sólo se obtendrían ceros tanto en resto como en el resultado con lo cual la conversión quedaría como “001001”, para mayor claridad veamos el desarrollo de esto último:

Page 19: Apuntes Previos Unidad 1

9/2 9:2 = 4 1 4/2 4:2 = 2 02/2 2:2 = 1 0 1/2 1:2 = 0 10/2 0:2 = 0 0 0/2 0:2 = 0 0

De esto último se puede desprender un método más general que consiste en

dividir por “2” el número decimal a convertir tantas veces como sea necesario hasta obtener un “cero” en el resultado de la última división ( ver la cuarta iteración) . El numero binario se obtendrá a partir de los restos, siendo el resto de la última división el más significativo y el de la primera el menos significativo, por otra parte si alguien olvidase cuando debe parar de iterar y sigue, va a llegar un momento que entrará en una reiteración de divisiones donde el resultado y el resto son “ceros”, pues lo único que pasará es que se perderá tiempo y se agregarán más ceros a la izquierda que no tienen ningún valor.

Lo anterior se puede resumir en el siguiente algoritmo:

Page 20: Apuntes Previos Unidad 1

Ejemplo: Convierta el numero decimal “50” a Binario:

El resultado obtenido es según el método: 110010 , comprueba este resultado haciendo la conversión inversa.

Método por Aproximaciones Sucesivas

Existe otro método para hacer conversiones de numero decimal a binario y que como veremos más adelante, es también un algoritmo que emplea un tipo de conversor Análogo a Digital (DAC).

El método consiste en lo siguiente:

Primero: Se toma el número decimal a convertir como referencia y se iteran potencias de dos hasta rebasar el número decimal a convertir, lo que se está haciendo en ese caso es la generación de los pesos de los dígitos binarios que llevará el numero binario una vez convertido. Supongamos que el numero decimal a convertir es el “331” entonces se prueba primero con “20” que es igual a “1”, “1” es menor que “331”, luego se itera con “21” que es igual a “2”, “4” es menor que “331”, luego se itera otra vez con “ 23” lo que da “8” que sigue siendo menor que “331”. En definitiva se itera hasta que se obtiene “29” que es igual “512” y es mayor que “331”, allí se detiene la iteración. Hasta aquí sólo se sabe cuantos dígitos tiene el numero binario buscado, en este caso 9 , es decir desde el digito “B0” hasta el “B8” , El digito B9 que tiene peso “29”=512 tiene valor “cero” porque es mayor que el número buscado, suponga que B9 fuese uno, la suma de los aportes de los dígitos de menos ya tendría que ser cero y así aún nos pasamos, luego el digito B9 debe ser cero.

Page 21: Apuntes Previos Unidad 1

Segundo: Se coloca ordenadamente de izquierda a derecha cada uno de los pesos de menor a mayor peso con un cero debajo de la siguiente manera:

B8 B7 B6 B5 B4 B3 B2 B1 B0256 128 64 32 16 8 4 2 1 0 0 0 0 0 0 0 0 0

Tercero: Se comienza a iterar colando un “uno” en el digito de más peso y se compara si los aportes que hacen todos los dígitos supera o iguala al número “331”:

B8 B7 B6 B5 B4 B3 B2 B1 B0256 128 64 32 16 8 4 2 1

1 0 0 0 0 0 0 0 0 = 256

256 es menor que 331 luego el digito B8 queda con el valor “1” y se hace B7=1 y se itera de nuevo:

B8 B7 B6 B5 B4 B3 B2 B1 B0256 128 64 32 16 8 4 2 1

1 1 0 0 0 0 0 0 0 = 384

384 es mayor que 331 luego el digito B7 queda con el valor “0” y se hace B6=1 y se itera de nuevo:

B8 B7 B6 B5 B4 B3 B2 B1 B0256 128 64 32 16 8 4 2 1

1 0 1 0 0 0 0 0 0 = 320

320 es menor que 331 luego el digito B7 queda con el valor “1” y se hace B5=1 y se itera de nuevo, así se sigue dejando en uno o cero cada digito hasta alcanzar la igualdad que es cuando para la iteración, ya que se entiende que el resto de dígitos por iterar será cero.

En resumen lo que se hace es:

Luego la conversión es igual a : 101001011

Luego el método consta de tres pasos, definir la cantidad de dígitos que tendrá el número a convertir, ordenar todos los dígitos con sus pesos correspondientes e

Page 22: Apuntes Previos Unidad 1

igualarlos a cero y finalmente comenzar con el más significativo igualándolo a “1” y comparando el resultado con el número a convertir, en seguida comparar si es mayor o igual, si es igual parar, si es mayor, poner el digito a “0” y si es menor no hacer nada, dejarlo en “1” y seguir iterando con el siguiente digito.

Conversión Decimal a Hexadecimal

Cuando se estudio el método para hacer la conversión de un número decimal a un número binario, se tomó como divisor el numero “2”, partiendo del supuesto que la base del sistema numérico binario implica potencias de dos. Por otra parte tanto los restos como el resultado de la última división debían estar entre “0” y “1”. Basándose en este algoritmo es intuye que para la conversión Decimal a Hexadecimal habrá que hacer lo propio, en este caso el divisor será “16” dado que el sistema hexadecimal contiene 16 símbolos y sus dígitos tienen pesos que son potencias con base “16”, por otra parte dado que el numero resultante debe contener valores entre “0” y “F” equivalente a “0” y “15” decimal, tanto los restos de las divisiones parciales como el resultado de la última división debe estar entre “0” y “15”, sólo cuando ocurre esto con el resultado de una división las iteraciones se detienen.

Se sugiere que intente hacer el mismo razonamiento que se hizo con el método de conversión decimal a binario para demostrar el metodología antes mencionada.

A modo de ejemplo se muestra una conversión de “50” decimal a hexadecimal:

Como puede ver, hay dos iteraciones extras que sólo agregan ceros a la izquierda, luego el resultado es “12”. Es posible comprobar este resultado haciendo el proceso inverso como sigue:

Con la conversión anterior se pone fin a este punto cuyo principal objetivo es manejar la mecánica de conversión entre un sistema y otro, sin embargo se recomienda

Page 23: Apuntes Previos Unidad 1

a modo de afianzar los conocimiento hacer el mismo ejercicio incorporando los números octales cuyos símbolos son {0,1,2,3,4,5,6,7} y sus respectivas conversiones a los otros sistemas numéricos.

Se sugiere además que intente demostrar porque todos los binarios terminados en “0” son pares.

1.4.- Calculo de estados, líneas y componentes en sistemas binarios

En la figura podemos ver una fuente que tiene uno de sus bornes a tierra y cuya diferencia de tensión posible dentro de sus bornes sólo puede presentar dos posibilidades, 5Volt o 0Volt , es decir estamos ante una fuente que tiene un comportamiento binario, es decir se puede asociar a esos estados dos posibles estados lógicos, “1” lógico para los 5Volt y “0” lógico para los 0Volt si es que hablamos de lógica positiva y viceversa es decir 5Volt al “0” lógico y 0Volt al “1” lógico si es que hablamos de lógica negativa. Normalmente se trabaja con lógica positiva tal como se muestra en la figura anterior.

Analicemos que representa esta fuente encerrada en este cuadrado rojo. En rigor representa un sistema, puede ser la salida de sensor cuyos bornes se conectan a un sistema digital o puede ser también una salida de un sistema digital, por ejemplo un controlador que actúa sobre un actuador, pueda activar un driver que excita la bobina de un rele, o puede ser el activador del circuito del lado del gate de un tiristor, etc. En definitiva puede ser una entrada o una salida con dos posibles estados.

El sistema anterior puede ser tan sencillo como un sistema activador de una luminaria pública que cuando cae el sol activa la lámpara que esta en la impostación, es decir existen dos cajas, una que desempeña la función de sensor y que presenta 0Volt entre sus bornes, es decir “0” lógico mientras el nivel de luminosidad no baja de un cierto nivel y presenta 5Volt es decir “1” lógico cuando el nivel de luminosidad ha bajado de un cierto nivel preestablecido ( Para no complicar el modelo no se ha considerado el periodo de inestabilidad que se produce durante el cambio).

El sensor anterior se conectará a un sistema que activará la lámpara al momento que el sensor le envía un “1” lógico, entre la lámpara y el sistema de control existe un driver que se supone fue objeto de estudio en los cursos anteriores de electrónica.

Page 24: Apuntes Previos Unidad 1

El sistema descrito anteriormente se puede ver en la figura que tenemos arriba y el controlador tiene una entrada que en este caso se representa por una impedancia. Si se mira el controlador desde el lado del driver, se observa una fuente que presenta dos estados y por tanto el sistema funciona en esta aplicación. Es decir para un sistema cuya variedad debe ser de dos estados una salida o una línea referida a tierra basta y sobra. Ahora bien si la salida o la aplicación requiere que el sistema exhiba más variedad, por ejemplo, 4 posibles estados. ¿Qué debemos hacer?, Aquí existe un rebase de las posibilidades que puede exhibir una sola línea, por lo tanto tal como sucede con los números binarios debe agregarse una segunda línea y ver si el nuevo sistema cumple con la variedad exigida, en la figura siguiente se muestra la salida que tendría el sistema:

Con independencia de cuantas entradas tenga el sistema controlador, este sólo tiene dos salidas “D0” y “D1” y por lo tanto es capaz de tener en su salida los siguientes estados posibles:

1.- Con D1=1 lógico puede tener D0 = 0 o D0 = 1 Es decir dos estados2.- Con D1=0 Lógico puede tener D0 = 0 o D0 = 1 Es decir otros dos estados

Finalmente los estados posibles para el conjunto de líneas “D1-D0” son “00”, “01”, “10” y “11”

Si al controlador anterior se le agregase una tercera fuente o línea de salida se tendría las líneas “D0 y D1” además de la línea “D2”. Como líneas D0 y D1 presentan cuatro estados como conjunto y D2 puede presentar dos estados, podemos concluir que en total el sistema de tres líneas puede presentar 8 estados, siendo D2=0 todos los estados descritos antes para D0 y D1 : “00”, “01”, “10” y “11” y los mismo estados para estas líneas si D2 es igual a “1”, entonces el trío “D2-D1-D0” presentará los estados “000”, “001”, “010”, “011”, “100”, “101”, “110”, “111”.

Page 25: Apuntes Previos Unidad 1

No es difícil estimar que si se incorpora una línea más al sistema se tendrán 8 estados con la línea agregada en “0” y los mismos ocho estados pero con la línea agregada en “1”, por lo tanto como sistema se tendrán 16 estados posibles.

Si ordenamos los resultados anteriores de la siguiente forma:

1 Línea D0 2 Estados 0,1 2 Líneas D0-D1 4 Estados = 2 x 2 00, 10, 01, 113 Líneas D0-D1-D2 8 Estados = 4 x 2 = 2 x 2 x 2 000, 100, 010, 110 001, 101, 011, 1114Líneas D0-D1-D2-D3 16 Estados = 8 x 2 = 4 x 2 = 2 x 2 x 2 x 2 0000,1000

0100,1100 0010,1010 0110,1110 0001,1001 0101,1101 0011,1011 0111,1111

Como se puede ver, por cada línea que se agrega es equivalente a doblar los estados, es decir el numero de estado que presenta un sistema en su salida va a ser una potencia de dos, donde el exponente es el número de líneas de salida del sistema, la expresión que nos permitirá calcular el número de estados posibles conocida la cantidad líneas será:

NE : Numero de Estados.“nl” : Numero de líneas.

Supongamos que el problema es conocer cuantas líneas son necesarias, dado un número de estados que queramos que exhiba el sistema. En ese caso basta con sólo despejar la expresión anterior y se tiene:

Ahora bien, “nl” puede ser un numero decimal, por ejemplo “6,3”. La pregunta que surge es, ¿Es posible tener fracciones de línea?, la respuesta a todas luces es ¡No!, por ningún motivo. Después de esto surge entonces otra pregunta valida, ¿ Que valor se escoge, el entero mayor o el menor?, Si se escoge el menor quedamos por debajo de los requerimientos y si se escoge el mayor quedamos por encima de los requerimientos, lo ideal sería quedar justo, pero siempre se escoge el mayor porque permite cumplir, en ese caso la respuesta correcta sería:

Page 26: Apuntes Previos Unidad 1

Ejemplo: Se quiere un sistema que sea capaz de manejar 28 estados, ¿Cuántas líneas debe manejar?

La respuesta es 5 líneas. Estas van a poder presentar una variedad de 32 estados, es decir estamos pasados en cuatro estados. Si escogemos la menor opción, es decir 4 líneas, la cantidad de estados que exhibiría el sistema sería igual a 16, es decir no se alcanza a cubrir los requerimientos de variedad, por lo tanto siempre se debe escoger el entero superior, en este caso “5”.

Estos cálculos son sencillos, sin embargo su aplicación es muy diversa y requiere una gran solidez conceptual, pues en las unidades siguientes se utilizara para calcular mapas de memorias, capacidades de memoria, precisión de unidades CAD y DAC en las unidades de entradas y salida como también las capacidades de codificadores y decodificadores.