Documentos de Académico
Documentos de Profesional
Documentos de Cultura
“Mundo EDUKIT08”
Por:
Este artículo es el primero dentro una serie dedicada a las comunicaciones por
interfaz RS-485. La extensión del tema nos ha obligado a desarrollarlo en varias
partes. En esta entrega exponemos los principios de la comunicación RS-232 sin la
cual no podremos emprender el estudio de las redes RS-485.
Comunicaciones serie.
Vincular 2 o mas dispositivos digitales es indispensable para llevar a cabo las más
elementales aplicaciones. Por vínculo entendemos el intercambio de bytes entre ambos
dispositivos. Este intercambio de bytes o comunicación puede hacerse en forma
paralelo o serie:
Comunicación paralelo: los bits que forman el byte se envían de un dispositivo al otro
en forma simultánea. Así la comunicación resulta muy veloz pues basta un instante para
dirigir la información de un extremo a otro. Requiere varios hilos de comunicación;
como mínimo tantos como bits se empleen, lo que termina siendo un aspecto
desfavorable de esta comunicación.
Comunicación serie: los bits que forman el byte se envían en forma secuencial, es decir
uno tras otro en el tiempo. Al viajar todos los bits por el mismo hilo la comunicación
serie requiere muchos menos hilos que la comunicación paralelo, pero a esta ventaja se
contrapone el hecho que la comunicación serie insume mas tiempo dado que debe
esperarse hasta el envío del último de los bits para completar la comunicación.
Comunicaciones sincrónicas
En una comunicación serie, al enviarse en forma secuencial los bits desde un dispositivo
a otro, surge la necesidad del dispositivo transmisor de hacerle saber al receptor que un
nuevo bit le ha sido enviado. De este modo el receptor puede reconstruir el byte que le
fue enviado. La técnica mas sencilla de lograrlo es enviando junto con el hilo de
comunicación, una señal de reloj que señalice el momento en que un nuevo bit aparece
en la línea de comunicación.
Comunicaciones asincrónicas
Con el fin de suprimir el cable de reloj en el enlace entre transmisor y receptor surgió la
comunicación asincrónica. Toda la comunicación se basa en que trasmisor y receptor
adoptan una misma velocidad de comunicación, medida esta en bits por segundo (bps).
1200bps
2400bps
4800bps
9600bps
19200bps
115200bps
Solo resta establecer en que instante se considera que se inicia la comunicación. Para
ello se emplea el bit de “arranque” o de “start”.
Bit de arranque.
La línea de comunicación serie asincrónica permanece en estado lógico “1” durante los
momentos de inactividad. Podemos considerarlo su estado de reposo. El pasar a un
estado lógico “0” constituye una señal para el receptor de que se ha dado comienzo a
una comunicación. Este “0” debe permanecer un tiempo llamado tiempo de bit.
Podemos determinar este tiempo a partir de la velocidad de comunicación establecida:
tbit = 1 / velocidad
Este es el primer bit que se envía y se denomina bit de start o bit de arranque por las
razones antes mencionadas.
A continuación de este bit, se envían en forma secuencial los 8 bits que constituyen el
byte de información que deseamos transmitir de un dispositivo a otro. Cada uno de
estos bits tiene una duración igual a 1 tiempo de bit, y el primero en aparecer el menos
significativo; el último en enviarse es el mas significativo. Un diagrama de tiempo nos
permitirá apreciar mejor lo dicho:
El bit de parada.
Luego de transmitidos el bit de arranque y los 8 bits de datos, la transmisión de ese byte
debe concluir con un bit en estado lógico “1”. Es el llamado bit de stop o bit de parada.
La transmisión de ese byte se da por concluida tanto por el transmisor como por el
receptor. La línea de comunicación permanece en “1” que es el estado de reposo. Hasta
tanto no aparezca un nuevo bit de arranque no se podra enviar un nuevo byte.
El bit de stop no es trivial. Si tras enviar un byte en forma serie asincrónica deseamos
enviar inmediatamente un segundo byte, deberemos poner la línea de comunicación en
“1” durante un tiempo de bit, el bit de stop, y recién entonces poner un bit de arranque
para enviar un nuevo byte.
Si el receptor encuentra un “0” lógico donde debería estar el bit de stop en la secuencia
de bits, lo interpretará como un error en la transmisión, conocido como Framing Error.
Norma RS-232.
Durante toda la explicación precedente nos hemos referido a niveles lógicos “1” y “0”.
En un microcontrolador de la línea HC908 estos niveles eléctricos son CMOS para una
alimentación de +5V, es decir 0V y +5V. Sin embargo existe una norma de
comunicación serie muy conocida, llamada RS-232 donde estos niveles se definen
como:
Resulta adecuado llevar los niveles TTL que entrega el HC908 a los niveles RS-232,
pues nos permitirá establecer comunicaciones serie con dispositivos como ser una
computadora personal. Una forma sencilla de conseguirlo es emplear el “archiconocido”
circuito integrado conversor de nivel “MAX232” o dispositivos similares pin a pin
compatibles con este:
Este integrado nos permite convertir niveles TTL a RS-232 y viceversa. Gracias a ello
podemos tener una línea donde el microcontrolador HC908 transmita y otra por donde
reciba. Cabe aclarar que no solo los microcontroladores Freescale emplean niveles TTL
en sus líneas de comunicación serie, sino que la mayoría de los microcontroladores lo
hacen, debido a que ocupa mucha superficie de la pastilla de silício integrar este
conversor de nivel, y además deja sin flexibilidad al MCU para que el usuario utilice
otro tipo de conversor de nivel para otra norma eléctrica.
El lector puede encontrar este y otros artículos anteriores del “Mundo EDUKIT08” en
el sitio web dedicado a la educación y al kit didáctico y sus programas de ejemplo:
http://www.electrocomponentes.com/educacion/microcontroladores.html
Hasta la próxima!!.......
Solicite información en:
Electrocomponentes S.A.
www.electrocomponentes.com/educacion
e-mail: educacion@electrocomponentes.com