Unidad 01: Comunicaciones UART CONTENIDO PROTOCOLOS SERIE....................................................................................................................... 2 RS232......................................................................................................................................... 2 CARACTERÍSTICAS ELÉCTRICAS .............................................................................................. 2 RS485......................................................................................................................................... 3 CARACTERÍSTCAS ELÉCTRICAS ............................................................................................... 3 CABLES RS485 ........................................................................................................................ 3 COMPARACIÓN RS232 – RS485................................................................................................. 5 CAN ............................................................................................................................................ 5 CARACTERISTICAS PRINCIPALES ............................................................................................ 6 CONTROL DE ACCESO AL MEDIO........................................................................................... 7 CSMA/CD ............................................................................................................................... 8 UART EN SAM3X/A ........................................................................................................................ 9 UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER (UART) .............................................. 9 UART y RS-232 ......................................................................................................................... 10 SEÑALES DE UN PERIFÉRICO UART.......................................................................................... 12 FORMATO DE TRAMA Y BAUDIOS ........................................................................................... 14 UART EN SAM3X ...................................................................................................................... 15 REFERENCIAS ............................................................................................................................... 17 Contacto: consultas@edutech.email Web: www.edutech.education 1 Unidad 01: Comunicaciones UART PROTOCOLOS SERIE RS232 La comunicación serial mediante el estándar RS232 puede ser directa cuando se realiza sobre banda base digital y/o mediante un modem cuando la transmisión se realiza en banda base análoga modulando la portadora. Cuando se transmite a través de un modem la norma define un conjunto de 22 señales divididas en señal de datos y señal de control distribuidas en un conector de tipo D de 25 terminales, sin embargo, no todas las señales de control son imprescindibles para establecer la comunicación entre dos equipos, es por eso que en muchas ocasiones se utiliza un conector macho tipo D de 9 terminales. La versión europea se regula bajo la norma CCITT V.24 y se especifica para una distancia máxima del enlace de 15 m y una velocidad de transmisión de máximo 20 Kbps. Algunos de los tipos de señales de la especificación RS-232 son los siguientes: Masa: GND para aislamiento del conector con enlace al chasis de la terminal; SG Señal sobre la que se establece la tensión de las demás señales del conector. Canal Principal: Conjunto de señales de datos y control, TxD y RxD líneas de transmisión y recepción respectivamente; RTS, CTS, DSR y DCD señales básicas, DTR y RI señales conmutadas y SQ, CH y CI señales de calidad y canales. CARACTERÍSTICAS ELÉCTRICAS La norma define un margen de tensión de +3 V a +15 V para el “0” lógico y -3 V a -15 V para el “1” lógico; por lo que, se hace necesario que tanto en la transmisión como en la recepción se utilice un circuito de adaptación que transforme los niveles de tensión utilizados en los circuitos digitales en los que se acaban de indicar y viceversa, ésta característica está descrita en mayor detalle en la norma CCITT V.28 definida para las características eléctricas del estándar RS-232C. Contacto: consultas@edutech.email Web: www.edutech.education 2 Unidad 01: Comunicaciones UART RS485 Es una de las especificaciones de la norma RS449 publicada como estándar en 1983 en donde se especifican las características eléctricas de un circuito de comunicación digital de salida ya sea el estado “0” o “1” lógicos mediante una señal diferencial más una señal de alta impedancia o “tercer estado” con lo cual es posible conectar más de un emisor en la red, motivo por el cual, es muy útil en redes locales industriales a dos (2) hilos. Actualmente conocido como la norma TIA-485-A.222 confirmada por la TIA (Telecommunications Industry Association) en 2003. El estándar define conexiones con cable de par de cobre trenzado y terminales RJ11/RJ45 por lo cual existe mayor resistencia a la interferencia electromagnética y mayor velocidad de transmisión que con la norma RS232. CARACTERÍSTCAS ELÉCTRICAS Permite la conexión de hasta 32 emisores con 32 receptores en transmisión doble simultánea full dúplex capaz de enlazar procesadores de comunicación principal (master) con procesadores subordinados (slaves) cuyo funcionamiento (acceso priorizado), está definido por los mismos arreglos topológicos de las redes de datos. Los dispositivos de la norma RS-485 mantienen compatibilidad con el estándar RS-232, donde, se tiene un adaptador PCI Express de 16 puertos y alto rendimiento con enlaces para terminal serial RS-232. El alcance de la transmisión está dado por la relación existente entre el volumen de los datos a transferir y el tiempo de la señal en la portadora determinado por la velocidad de transferencia de donde se obtiene que la longitud máxima del cable es de 1.200 m y la velocidad máxima de 10 Mbps que se obtiene en una distancia de 12 m. Los niveles de tensión que corresponden al 1 y 0 lógico son los que surgen de la diferencia de potencial entre los dos cables apareados CABLES RS485 Esta es la imagen de alguno de los cables RS485 de tipo comercial Contacto: consultas@edutech.email Web: www.edutech.education 3 Unidad 01: Comunicaciones UART Contacto: consultas@edutech.email Web: www.edutech.education 4 Unidad 01: Comunicaciones UART COMPARACIÓN RS232 – RS485 CAN CAN (Controller Area Network) es un protocolo abierto para uso automotriz y de alta confiabilidad, apropiado para aplicaciones de tiempo real distribuidas, como una red de dispositivos de vuelo. El bus CAN (Controller Area Network), surge de la necesidad en los ochenta de encontrar una forma de interconectar los distintos dispositivos de un automóvil de una manera sencilla y reduciendo significativamente las conexiones. De esta forma, la empresa Robert Bosch GmbH logra desarrollar el bus CAN, que posteriormente se estandariza en la norma ISO 11898-1. Dentro de la pila OSI, CAN bus cubre la capa de Enlace de datos y la Física. En concreto la estandarización divide las diferentes capas. Por ejemplo, ISO 11898-1 cubre la capa de enlace de datos, mientras que la física se divide en dos dependiendo de la velocidad: ISO 11898-2 para alta velocidad e ISO 11898-3 para baja velocidad. Contacto: consultas@edutech.email Web: www.edutech.education 5 Unidad 01: Comunicaciones UART CARACTERISTICAS PRINCIPALES Uno de los puntos fuertes de esta tecnología, y lo que la ha hecho perdurar en el tiempo a pesar de la aparición de otros protocolos de comunicación con mayor velocidad o capaces de transmitir a mayor distancia, son las garantías de comunicación que ofrece, las cuales son muy importantes a la hora de desarrollar sistemas con características de tiempo real o de alta integridad. Posee herramientas para la detección de errores en la transmisión, así como la capacidad de retransmisión automática de las tramas erróneas. Capacidad de discernir entre errores puntuales en la transmisión, o errores producidos por el fallo de un nodo, en cuyo caso, tiene la capacidad de desconectarlo para evitar que el error sature la red. Priorización de mensajes y garantía en los tiempos de latencia en la entrega de los mismos. Ésta es una de las características por las que este protocolo de comunicaciones es ampliamente utilizado en el ámbito de los sistemas de tiempo real. Garantías en la consistencia de los datos. Flexibilidad en la configuración de la red, tanto en número de nodos, como en la disposición de los mismos, pudiendo añadirse o quitarse nodos de forma dinámica sin afectar al protocolo. Pueden conectarse hasta 110 nodos a una red CAN. El protocolo CAN está especificado en el estándar ISO 11898[3], el cual contiene diversas normas específicas para distintos aspectos del protocolo y diversos tipos de funcionamiento. Contacto: consultas@edutech.email Web: www.edutech.education 6 Unidad 01: Comunicaciones UART Por ejemplo, la norma ISO 11898-2 estandariza el protocolo CAN de la alta velocidad, pudiendo alcanzar velocidades de hasta 1 MB/s, o la norma ISO 11898-3, que estandariza el protocolo CAN de baja velocidad tolerante a fallos. CARACTERÍSTICAS ELÉCTRICAS Posee una topología en forma de bus, en la que únicamente son necesarios dos cables trenzados y con una impedancia de 120 ohms, para interconectar todos los dispositivos en una misma red. Las señales de estos cables se denominan CAN_H (CAN high) y CAN_L (CAN low) y dependiendo de la tensión de las mismas, el bus puede encontrarse en modo recesivo, con ambos cables con el mismo nivel de tensión, o en modo dominante, con una diferencia de tensión entre los cables de al menos 1,5V. Este modo de comunicación tiene como objetivo proporcionar una mayor protección frente a interferencias electromagnéticas. Esta protección viene dada, debido a que la lectura de los bits se basa en la diferencia de voltaje entre los dos cables trenzados, por lo que en caso de verse sometidas a la misma influencia electromagnética, a pesar de la variación señal en los cables, la diferencia de voltaje entre ellos se mantiene constante. CONTROL DE ACCESO AL MEDIO Contacto: consultas@edutech.email Web: www.edutech.education 7 Unidad 01: Comunicaciones UART CSMA/CD El protocolo CAN tiene otra característica denominada arbitraje, mediante la cual se controla el acceso al medio por parte de los nodos y se evitan posibles colisiones en las comunicaciones. Esta característica forma parte del control de acceso al medio implementado por el protocolo CAN, CSMA/CD+CR (Carrier Sense, Multiple Access/Collision Detection + Collision Resolution o Acceso Múltiple con detección de portadora, detección de colisión más Resolución de colisión) En el bus, los bits dominantes equivalen al nivel lógico "0", y los bits recesivos al valor lógico "1". Al inicio de las tramas enviadas por los nodos, se encuentra un campo dedicado específicamente al arbitraje, que coincide con el identificador propio del nodo. Antes de transmitir, los nodos deben vigilar el bus durante un período en el que no puede haber actividad en él, tras esto, y cuando dos nodos tratan de transmitir de forma simultánea, los bits dominantes prevalecen sobre los bits recesivos, por lo que el nodo que trata de transmitir la trama con bits dominantes (número de identificación menor) es capaz de detectar la colisión con los bits recesivos (número de identificación mayor). Para que la detección de colisiones sea eficaz, los nodos deben tener una correcta sincronización, manteniendo las frecuencias de reloj de los controladores CAN dentro de los valores tolerados. El nodo que detecta la colisión, deja de transmitir inmediatamente y espera hasta finalizar la comunicación del otro nodo para intentarlo de nuevo. Contacto: consultas@edutech.email Web: www.edutech.education 8 Unidad 01: Comunicaciones UART UART EN SAM3X/A UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER (UART) Un periférico UART permite una comunicación serie asíncrona con otro dispositivo o un ordenador a través de su puerto serie. El procedimiento por el que un periférico UART transmite información digital es con mucho el más longevo de los que veremos en esta unidad. El primer puerto UART apareció con el PDP-1, el primer ordenador de Digital Equipment Corporation (DEC, más adelante Compaq, ahora HewlettPackard). Se lanzó al mercado en 1959 y estaba enfocado en la interacción con humanos a través de consola de texto. La razón del éxito de la comunicación UART está en permitir la transmisión asíncrona de bytes entre dos dispositivos digitales con simplicidad y se ha utilizado extensamente como medio para la interacción humana a través de terminales y consolas de texto en los ordenadores, por lo que, aunque puede transmitir datos binarios arbitrarios, se utiliza normalmente para transmitir texto codificado en ASCII. Otro de los usos más importantes que tiene la comunicación UART es la de conectar el microcontrolador con un módem para el envío de comandos AT. En muchas aplicaciones es común encontrarse con periféricos de comunicación celular (GSM, GPRS, UMTS o LTE) y otros dispositivos de comunicación como los procesadores de red XBee de Digi. Todos ellos son ejemplos de periféricos que emplean comunicación UART para transmitir comandos AT entre el microcontrolador y el módem. Más allá de estas aplicaciones, existen numerosos equipos en la industria que manejan este tipo de protocolo. Contacto: consultas@edutech.email Web: www.edutech.education 9 Unidad 01: Comunicaciones UART UART y RS-232 El uso normal de un periférico UART consiste en comunicar un microcontrolador con un periférico serie situado en la misma tarjeta. Si lo que se pretende es comunicar al microcontrolador con un periférico externo a través de un cable, se emplean estándares como RS-232, RS-485 y RS-422 que modifican las señales eléctricas para que puedan propagarse correctamente por el cable, ya sea punto a punto (RS-232) o en bus con más de un extremo (RS-422/RS-485). Es importante diferenciar UART de RS-232. Cuando hablamos de UART estamos empleando señales digitales compatibles con el microcontrolador o microprocesador en que se encuentra, normalmente 3.3V para un 1 lógico y 0V para un 0 lógico. RS-232 define un interfaz físico distinto, es decir, utiliza señales eléctricas con tensiones muy diferentes. En RS-232 los dos estados lógicos se denominan marca y espacio. Una marca está asociada a un 1 lógico en UART y un espacio está asociado a un 0 en UART. Los estados lógicos que define RS-232 son una tensión de -3 V a -15V para una marca y una tensión de +3V a +15V para un espacio. Luego RS-232 emplea señales bipolares (positivas y negativas). Por esta razón, existen adaptadores de UART a RS-232, como los conocidos Maxim MAX232 que hace la conversión de niveles entre un periférico UART y un puerto RS-232 en ambos sentidos, Maxim MAX485, es el simil pero con protocolo RS485. En la imagen se observa una placa en la cual ingresan/salen señales TTL y salen/ingresan señales con niveles RS232 Contacto: consultas@edutech.email Web: www.edutech.education 10 Unidad 01: Comunicaciones UART En la imagen se observa una placa en la cual ingresan/salen señales TTL y salen/ingresan señales con niveles USB, el cual es tomado como COM Virtual. Conversor UART TTL-RS485 Conversor UART TTL-RS485 (ficha RJ45) Contacto: consultas@edutech.email Web: www.edutech.education 11 Unidad 01: Comunicaciones UART Adaptadores niveles CAN SEÑALES DE UN PERIFÉRICO UART Un periférico UART consta habitualmente de dos señales, TXD para transmisión y RXD para recepción. No obstante, existen un conjunto de señales adicionales relacionadas con un puerto serie que pueden estar presentes y que son utilizadas para extender la funcionalidad y facilitar la comunicación con el otro extremo. Las señales que pueden forman parte de un periférico UART son las siguientes: TXD y RXD: Las señales de transmisión de datos (salida del microcontrolador hacia el extremo) y de recepción de datos (entrada en el microcontrolador desde el extremo). RTS (Request To Send) y CTS (Clear To Send): Son opcionales, cuando están presentes y en uso por ambos extremos sirven para realizar control de flujo. Son las señales empleadas cuando se indica una conexión serie con control de flujo por hardware. Contacto: consultas@edutech.email Web: www.edutech.education 12 Unidad 01: Comunicaciones UART El receptor indica al emisor que está preparado para recibir más datos activando RTS, el emisor no envía información si no tiene activa la señal CTS. El control de flujo se ejerce cuando el receptor retrasa la activación de su señal RTS (CTS en el emisor) si no puede aceptar más datos (por saturación, por ejemplo). Existe otro método de control de flujo muy usual, que se denomina XON/XOFF, que envía caracteres ASCII especiales (XON: Transmission On y XOFF: Transmission ON) para realizar el control de flujo a través de las señales TXD y RXD. Además de las cuatro señales anteriores, existen otras señales relacionadas con los periféricos UART que pueden estar presentes en algunas implementaciones o cuya funcionalidad se puede implementar a través de entradas y salidas de propósito general. Estas señales son: DTR (Data Terminal Ready) y DSR (Data Set Ready): Son opcionales y sirven para un establecimiento del enlace entre el periférico UART y el extremo, previo a la transmisión de datos. El periférico UART indica al extremo mediante DTR que está activo y el extremo responde activando DSR cuando su UART se ha activado (y por tanto puede responder a otras señales). En la actualidad se emplea muy a menudo la señal DTR para gestionar el consumo, ya que cuando el microcontrolador desactiva DTR muchos periféricos entran en modo de bajo consumo. DCD (Data Carrier Detect): Es una señal opcional empleada por un módem para indicar al microcontrolador que la comunicación exterior (GSM, GPRS o de otro tipo) se ha establecido. RI (Ring Indicator): Es una señal opcional que en sus orígenes se empleaba para notificar al microcontrolador de la existencia de una llamada entrante. Contacto: consultas@edutech.email Web: www.edutech.education 13 Unidad 01: Comunicaciones UART FORMATO DE TRAMA Y BAUDIOS Los datos de un periférico UART se transmiten en tramas (figura Figura), cada trama consta de un bit de comienzo (0), 8 ó 9 bits de datos (normalmente 8), un bit opcional de paridad (opcional, no suele emplearse) y un bit de parada (1). La configuración más habitual para una UART es utilizar el formato de trama 8N1 (8 bits de datos, sin paridad, 1 bit de parada). La especificación de un puerto UART se completa indicando la tasa de transferencia, en baudios. Las tasas de transferencia más habituales son 9600 baudios y 115200 baudios. Debemos comprobar los requisitos del periférico con el que nos queremos comunicar, determinar la tasa de transferencia y el formato de trama que requiere y utilizar esos parámetros para configurar el periférico UART correctamente. Para poder establecer una comunicación entre dos dispositivos físicos, es necesario cruzar los terminales, es decir: Contacto: consultas@edutech.email Web: www.edutech.education 14 Unidad 01: Comunicaciones UART UART EN SAM3X Contacto: consultas@edutech.email Web: www.edutech.education 15 Unidad 01: Comunicaciones UART Mg. Ing. Marcos Politi Contacto: consultas@edutech.email Web: www.edutech.education 16 Unidad 01: Comunicaciones UART REFERENCIAS Ariel Lutenberg, Apuntes de Sistemas Embebidos, Conversores Analógicos Digitales, 2012. Carlos Canto Quintal, Convertidor Análogo Digital. Huircán, Juan Ignacio, Conversores Análogo-Digital y Digital-Análogo, Conceptos Básicos. Universidad Libre España, Protocolos de Comunicaciones. TFM Adrian Martinez Requena, Universidad Politécnica de Madrid. TFG Alejandro Garcia Osés, Universidad Pública de Navarra. Contacto: consultas@edutech.email Web: www.edutech.education 17