miércoles, 17 de febrero de 2010

La electrónica digital "habla" en binario

El sistema binario es por naturaleza el lenguaje que entienden las máquinas digitales (si es que éstas pueden entender algún lenguaje). Mencioné en entradas anteriores que en un circuito digital existen señales que pueden tener sólo dos estados: BAJO y ALTO. Una señal con esta característica puede verse como un bit de información en el sistema binario, dado que un bit puede tener solo uno de dos valores: 0 y 1; donde el 0 se puede asociar al estado BAJO de una señal y el 1 se puede asociar al estado ALTO. Una agrupación de varias señales digitales, cada una con sus propios estados Alto y Bajo, puede verse como un conjunto de bits, cada uno con sus propios estados 0 y 1. Es posible analizar el comportamiento de un circuito digital en términos de los cambios de estas señales y por ello se hace imprescindible el entendimiento del sistema binario.

El sistema binario es un sistema numérico en el que solo se usan los dígitos 0 y 1. Al igual que en el sistema decimal (al cual estamos habituados), es posible realizar las operaciones básicas de suma, resta, multiplicación y división. Ahora bien, los circuitos digitales entienden el sistema binario y nosotros estamos familiarizados con el sistema decimal, por lo tanto necesitamos métodos para pasar de un sistema al otro. Existen en la web una innumerable cantidad de sitios que explican los métodos de conversión y no pretendo hacer de este blog uno más, así que solo pondré un ejemplo y les dejo un enlace donde pueden encontrar una explicación detallada.

De decimal a binario

Hay dos formas de hacerlo, una es por restas sucesivas y la otra es por divisiones sucesivas. Veamos primero por restas sucesivas.

Lo primero que debe tenerse en mente son las potencias de dos: 1, 2, 4, 8, 16, 32, 64, 128, 256, etc. Si quiero pasar el número 138 (en base 10 o decimal) a binario entonces:

1. Tomo la primera potencia de dos menor que 138 y empiezo a restar.

138 – 128 = 10

El resultado de la resta es un número entero positivo, entonces anoto un 1

2. El resultado de la resta anterior fue 10, a este la resto la siguiente potencia de dos en orden descendente, en este caso 64

10 – 64 = -54

El resultado de la resta es un número entero negativo, entonces anoto un 0

3. Como el resultado anterior es negativo, la resta no es válida, entonces tomo el último resultado válido (10) y resto la siguiente potencia de dos en orden descendente, en este caso 32

10 – 32 = - 22

Otro resultado negativo, entonces anoto un 0

4. De nuevo el último resultado válido fue 10, entonces

10 – 16 = -6

Otro resultado negativo, anoto un 0

5. 10 – 8 = 2

Por fin una resta válida, anoto un 1.

6. 2 – 4 = -2

Anoto un 0.

7. 2 – 2 = 0

Anoto un 1.

8. 0 – 1 = -1

Anoto un 0.

En resumen, la secuencia de pasos sería:

Resta

Resultado

Bit

138 – 128 =

10

1

10 – 64 =

-54

0

10 – 32 =

-22

0

10 - 16 =

-6

0

10 - 8 =

2

1

2 – 4 =

-2

0

2 – 2 =

0

1

0 – 1 =

-1

0

Finalmente, el número binario se compone de los 1’s y 0’s anotados, siendo el primero el de la extrema izquierda (o Bit Más Significativo) y el último el de la extrema derecha (Bit Menos Significativo). Entonces 138 decimal equivale a 10001010 binario.

El otro método es por divisiones sucesivas, lo que se hace es dividir sucesivamente por dos de la siguiente manera

1. 138 / 2 = 69. Como la división da exacta, el residuo es 0

2. 69 / 2 = 34, la división no es exacta, el residuo es 1

3. 34 / 2 = 17, la división es exacta, el residuo es 0

4. 17 / 2 = 8, la división no es exacta, el residuo es 1

5. 8 / 2 = 4, la división es exacta, el residuo es 0

6. 4 / 2 = 2, la división es exacta, el residuo es 0

7. 2 / 2 = 1, la división es exacta, el residuo es 0

8. El cociente de la última división fue 1 y ya no se puede seguir dividiendo más. Para formar el número binario, se toma el último cociente y los residuos en orden inverso, con lo que el equivalente binario de 138 sería 10001010.

De binario a decimal

La conversión de un número binario a un número decimal es bastante simple, sólo se multiplica cada digito binario por una potencia de dos cuyo exponente está determinado por la posición del digito, siendo la de la extrema derecha la número 0 e incrementando en una unidad hacia la izquierda, y se suman todos los resultados obtenidos.

Potencia

2^7 = 128

2^6=64

2^5=32

2^4=16

2^3=8

2^2=4

2^1=2

2^0=1

Posición

7

6

5

4

3

2

1

0

Digito

1

0

0

0

1

0

1

0

1*128 + 0*64 + 0*32 + 0*16 + 1*8 + 0*4 + 1*2 + 0*1 = 128 + 8 + 2 = 138

Eso es todo por ahora, gracias por su tiempo y recuerden consultar los enlaces que les he dejado, cualquier inquietud, duda, comentarios quejas o reclamos, estaré atento a responderlas.

Les dejo algunos enlaces donde pueden consultar la aritmética binarial (suma, resta, multiplicación y división de los números binarios)

lunes, 15 de febrero de 2010

Empecemos por el principio: Analoga o Digital


El título del curso dice: “Electrónica Digital”… la pregunta es: ¿y es que hay de otra?... ps la respuesta es sí: “Electrónica Análoga”. Esta división surge cuando se observa la naturaleza de las señales electrónicas presentes en cualquier circuito. Revisemos entonces la diferencia entre una y otra para ver con cual nos quedamos.

Existe una cantidad innumerable de sitios con extensas explicaciones de la diferencia entre análogo y digital, aquí les doy el cuento corto,y les dejo un vínculo donde pueden encontrar una explicación un poco más detallada.

Usualmente el término “Análogo” se relaciona con la palabra “Continuo”, en el ámbito de la electrónica, esto significa que una señal varía de manera continua en un rango específico. Por simplicidad diremos que una señal es un voltaje, y que la variación se produce en un rango entre 0 Volts y 5 Volts. Para los que no saben lo que es voltaje aqui hay una definición sencilla, pero para que se hagan una idea de la magnitud, las pilas que usa el control remoto entregan 1,5 Volts,las de litio recargables unos 3,75 Volts, una pila cuadrada 9 Volts y la batería del carro unos 12 Volts. Un ejemplo típico de una señal que varía de forma análoga es un sensor de temperatura, el cuál es un dispositivo que cambia sus propiedades físicas o químicas de acuerdo a cambios de temperatura que se produzcan en su entorno, éstas variaciones físicas o químicas producen a su vez variaciones en el voltaje del dispositivo cuando éste se encuentra inmerso en un circuito electrónico, así una variación de 1°C en la temperatura podría producir una variación de 0,2 V en el voltaje del dispositivo, entonces, si a temperatura ambiente (unos 25°C en Cali) el dispositivo arroja 1 V, a los 30°C arrojará 2V, a los calurosos 32°C arrojará 2,4 V y a los horribles 40°C arrojará 4 V. En la figura 1 se muestra una gráfica de la Temperatura VS Voltaje, se puede observar que hay una relación lineal entre ambas magnitudes y que para cada valor de temperatura en el rango de los 25°C a los 40°C hay un valor correspondiente de voltaje entre 1V y 4V, además, la variación continua de la temperatura produce una variación continua del voltaje. En conclusión (y siendo un poco redundante), se puede decir que el circuito es análogo porque la señal de voltaje tiene una variación continúa entre 1V y 4V.






Por otro lado, el término “Digital” suele relacionarse con la palabra “Discreto” (aqui pueden encontrar una definición muy simple de éste término), en el ámbito de la electrónica, esto significa que una señal solo puede tomar uno de dos posibles estados (a diferencia de la análoga que puede ser una variación continua), y cada uno de estos estados está ligado a un nivel de voltaje específico. A estos estados suele llamárseles LOW y HIGH, o BAJO y ALTO, y diremos que el estado LOW está asociado a 0 Volts mientras que el estado HIGH está asociado a 5 Volts (esta asociación de voltajes varía entre diferentes tecnologías). Pero, ¿para qué nos sirve una señal que solo puede tener dos estados y que desperdicia el resto del rango de variación? …. Ps para codificar información. El ejemplo más sencillo es el LED (bombillo) indicador de ON/OFF en un aparato electrónico. Este LED tiene dos estados: ENCENDIDO (HIGH) y APAGADO (LOW). La información que este LED codifica es el estado del aparato electrónico, así, cuando el LED esté encendido sabremos que el aparato está encendido, y cuando el LED esté apagado, sabremos que el aparato está APAGADO. En la figura 2 se puede observar una señal digital graficada contra el tiempo.






No siendo más por ahora, nos leemos en la próxima entrada….. ah y por si no lo notaron, nos quedamos con la digital.

jueves, 4 de febrero de 2010

Justificando el sueldo

Cuando inicié en el cuento de la enseñanza, empecé con un curso de Física en un colegio, específicamente en los grados décimo y once, y después de un par de clases, notando la apatía de ciertos estudiantes hacía el aprendizaje de las consagradas leyes de la Física, se me ocurrió preguntarles si entendían la importancia, o mejor el “para que” conocer acerca de algo que seguramente muchos no usarán en sus vidas cotidianas. Como podrán imaginarse, las respuestas fueron tan profundas como frustrantes, empezando desde un “porque sí”, pasando por un “porque es necesario” (obviamente sin decir porque es necesario) hasta llegar a un “porque toca”, en ese momento me sentí como si alguien dijera “Bienvenido al mundo de la enseñanza”. Afortunadamente, solo unos segundos después, surgió un “porque es interesante” y un “porque es entretenida”. Decidí entonces tratar de explicarle a jóvenes, caldos de cultivos hormonales y algunos obligados a ir al cole, porque aprender acerca de algo que no van a usar el sábado en la noche cuando estén de visita… mmm espero que el reto con aquellos que leen este blog no sea tan grande, pues parto del hecho de que quiénes leen esto escogieron como parte de su plan de vida seguir los caminos del aprendizaje (aunque no faltará uno que otro que todavía es obligado a ir a estudiar).

No hace falta saber de electrónica para ser un “buen programador”, pero creo que todo buen programador sabe algo de electrónica, y es que como dicen por ahí “si quieres saber para dónde vas, debes saber primero de dónde vienes” (o algo así). Soy muy joven para conocer de primera mano la historia y realmente nunca he sido un buen historiador, pero según los rumores que he escuchado, lo programación surgió como respuesta al avance de los dispositivos electrónicos y la necesidad de asignarles cada vez más tareas (a ver si algún programador puede mencionar algo que sea programable y que no sea electrónico). Cuentan los profesores de la vieja escuela, muy sabios la mayoría, que al principio habían máquinas, y que éstas máquinas hacían cálculos siguiendo algoritmos impresos en algo a lo que le decían “tarjetas perforadas”, seres míticos para mí porque realmente nunca llegué a ver una. Con el avance de los dispositivos electrónicos fue posible hacer máquinas que realizaban tareas cada vez más complejas y con esto surgió la necesidad de encontrar formas más eficientes de decirles que hacer…. Y entonces surgió la programación. No voy a entrar en los detalles de la evolución, solo voy a decir que al principio, si querías programar una de estas máquinas, debías conocer su arquitectura, pero hoy en día y gracias a la capacidad de abstracción del ser humano, puedes programar casi cualquier máquina aún sin tener idea de cómo funciona, sin embargo, si realmente quieres sacarle el jugo y aprovechar todas sus capacidades, entonces sí que necesitas conocer sus entrañas y por eso toca tener idea de esto: ELECTRÓNICA

Mensaje de Bienvenida

Bienvenido. Mi nombre es Ricardo Morales, Electrónico de profesión y programador por vocación. Graduado de la Escuela de Ingeniería Eléctrica y Electrónica de la Universidad del Valle (Cali – Colombia) y, quizás como muchos profesionales de esta querida patria, metido en el cuento de la enseñanza como un medio para subsistir mientras los sueños empresariales se cristalizan; y debo confesar que este cuento me ha gustado, porque no solo se enseña sino que también se aprende, y espero que como muchos de aquellos cuentos infantiles que alguna vez escuché o leí, éste tenga también un final feliz, ya saben, algo así como: “y el profe fue feliz para siempre”.

He creado este blog con el fin de tener con los estudiantes un espacio para compartir conocimiento y experiencias, dadas las limitaciones de tiempo que existen para compartir con éstos cuando se trabaja en hora cátedra.

El blog está dirigido especialmente a estudiantes de Sistemas que son torturados con un poco de Electrónica, pero cualquiera que tenga algo que aportar está completamente bienvenido. El objetivo principal es resolver inquietudes, así que trataré de mantener el contenido teórico lo más liviano posible y les dejaré vínculos donde podrán profundizar en la información.

No siendo más por ahora, nos leemos en la próxima entrada, y nuevamente, BIENVENIDOS A ESTE TOUR POR LA ELECTRÓNICA