Publicaciones

Comunicación Serial RS232 RS422 RS458 UART con microcontroladores

Comunicación Serial RS232 UART con microcontroladores



SERIAL(comunicación) La comunicación serie o comunicación secuencial, en telecomunicaciones e informática, es el proceso de envío de datos de un bit a la vez, de forma secuencial, sobre un canal de comunicación o un bus. 


RS-232 (Recommended Standard 232, en español: "Estándar Recomendado 232"), también conocido como EIA/TIA RS-232C, es una interfaz que designa una norma para el intercambio de datos binarios serie entre un DTE (Data Terminal Equipment, "Equipo Terminal de Datos"), como por ejemplo una computadora, y un DCE (Data Communication Equipment, "Equipo de Comunicación de Datos"), por ejemplo un módem. Existen otros casos en los que también se utiliza la interfaz RS-232. Una definición equivalente publicada por la UIT se denomina V.24.


RS-485 o también conocido como EIA-485, que lleva el nombre del comité que lo convirtió en estándar en 1983. Es un estándar de comunicaciones en bus de la capa física del Modelo OSI. 
Está definido como un sistema de bus diferencial multipunto, es ideal para transmitir a altas velocidades sobre largas distancias (10 Mbit/s hasta 12 metros y 100 kbit/s en 1200 metros) y a través de canales ruidosos, ya que el par trenzado reduce los ruidos que se inducen en la línea de transmisión. El medio físico de transmisión es un par trenzado (aunque existe una topología muy poco común de dos pares trenzados) que admite 32, 128 o 256 estaciones en 1 solo par, con una longitud máxima de 1200 metros operando entre 300 y 19 200 bit/s y la comunicación half-duplex (semiduplex) dependiendo del consumo de cada driver. La transmisión diferencial permite alcanzar mayor distancia con una notable inmunidad al ruido, siempre que el bus de comunicación conserve las características de bus balanceado dando la posibilidad de una configuración multipunto.
Desde 2003 está siendo administrado por la Telecommunications Industry Association (TIA) y titulado como TIA-485-A.222.


RS-422 es una norma técnica para especificar las características eléctricas de un circuito de señal digital para la transmisión de datos serie. Especifica una señal diferencial que puede transmitir datos a velocidades de hasta 10Mb/s o puede enviar datos por cable, siempre y cuando no supere los 12 metros. Algunos sistemas se interconectan directamente usando señales RS-422, o pueden utilizarse convertidores RS-422 para ampliar el rango de conexiones RS-232. La norma sólo define los niveles de señal. El resto de las propiedades de la interfaz de serie están establecidas en otras normas. 




UART, son las siglas en inglés de Universal Asynchronous Receiver-Transmitter, en español: Transmisor-Receptor Asíncrono Universal, es el dispositivo que controla los puertos y dispositivos serie. Se encuentra integrado en la placa base o en la tarjeta adaptadora del dispositivo.
Un UART dual, o DUART, combina dos UART en un solo chip. Existe un dispositivo electrónico encargado de generar la UART en cada puerto serie. La mayoría de las computadoras modernas utilizan el chip UART 16550, que soporta velocidades de transmisión de hasta 921,6 Kbps (Kilobits por segundo). Las funciones principales de chip UART son: manejar las interrupciones de los dispositivos conectados al puerto serie y convertir los datos en formato paralelo, transmitidos al bus de sistema, a datos en formato serie, para que puedan ser transmitidos a través de los puertos y viceversa.

TTL es la sigla en inglés de transistor-transistor logic, es decir, «lógica transistor a transistor». Es una tecnología de construcción de circuitos electrónicos digitales. En los componentes fabricados con tecnología TTLRS los elementos de entrada y salida del dispositivo son transistores bipolares


Uno de los protocolos de comunicación que podemos emplear con nuestros dispositivos electrónicos embebidos, es la utilización de la comunicación SERIAL, RS232 o UART que solo los diferencia los medios que lo componen.

Es por eso que voy despejar de las dudas enseñando como programar e implementar una comunicación serial con MICONTROLADOR utilizando el compilador CCS C Compiler.


La comunicación serial sólo utiliza tres líneas.
1.-  Recibir los datos Rx
2.- Trasmitir los datos Tx
3.- La línea común GND.


En nuestro caso especifico para el PIC16F88 las lineas TX y RX corresponden a los pines 8 y 11 (Puerto RB2 y RB5 respectivamente) como puede ser observado en la siguiente figura. Para cualquier otro MICROCONTROLADOR, solo basta con buscar donde están ubicados estos pines con ayuda del hoja de datos (datasheet).

Cabe mencionar que existen dos formas de comunicación serial:

Comunicación Serial Sincrónica

En esta comunicación además de una línea sobre la que se transfieren los datos, se necesita otra que contenga pulsos de reloj que indiquen que el dato es válido; la duración del bit está determinada por la duración del pulso de  sincronismo.

Comunicación Serie Asincrónica

En esta comunicación los pulsos de reloj no son necesarios y se utilizan otros mecanismos para realizar la transferencia de datos. La duración de cada bit esta determinada por la velocidad con la cual se realiza la trasferencia de datos, por ejemplo si se transmite a 1200 bits por segundo (baudios), la duración de cada bit es de 833 microsegundos. Las velocidades de transmisión más comunes son 300, 600,1200, 2400, 9600, 14400 y 28800 baudios.

 Pasos para trabajar con comunicación serial con uC:

En el encabezado del programa incluir la directiva:

#use rs232(baud=9600,parity=N,xmit=PIN_B5,rcv=PIN_B2,bits=8)

Baud: Velocidad en baudios (bits por segundo).
Xmit: Bit que transmite (Tx)
RCV: Bit que recibe (Rx)

En el programa principal para enviar o recibir un carácter.
Para recibir un carácter se usa la instrucción.

pic=getc(); ; // Esta instrucción espera un carácter por el pin RCV del

Hacen lo mismo las instrucciones GETCH() y GETCHAR()

Para enviar un carácter se usa la instrucción

PUTC() //Esta instrucción envía un carácter a la patica XMIT del
//dispositivoRS232.
  
PUTC() //Esta instrucción envía un carácter a la patica XMIT del
//dispositivoRS232.

Hace lo mismo la instrucción PUTCHAR()
NOTA: Entre los paréntesis va el caracter a enviar.

En el programa para imprimir un mnesaje.

printf ("VERDE \r\n"); // para enviar un mensaje por terminal virtual


Si deseamos comunicar nuestro microcontrolador con el computador, tenemos que conectar nuestro MICROCONTROLADOR  al puerto serial que traen principalmente los ordenadores de escritorio:

Y para lograr dicha comunicación con nuestros computadores modernos los cuales ya no traen, es necesario utilizar un circuito integrado adicional llamado MAX232. El MAX232 es un circuito integrado de Maxim que convierte las señales de un puerto serie RS-232 a señales compatibles con los niveles TTL de circuitos lógicos. El MAX232 sirve como interfaz de transmisión y recepción para las señales RX, TX, CTS y RTS.






Pero todo esto se puede simplificar con una simple comunicación de USB-TTL y por Tx y Rx con el microcontrolador

Comunicaciones entre varios (multiplexación)

 

VIDEO parte1:



VIDEO parte2:



 VIDEO Aclaraciones:


APK usado en el celular para la demostración
Ir al APK
Share this Article on :
 
d Copyright Electrónica Net Andino 2006 | Design by Net Andino | Published by Editor de Templates | Powered by Net Andino .