UART (recepción-transmisión asíncrona universal) es uno de los protocolos serie más utilizados. La mayoría de los controladores disponen de hardware UART. Usa una línea de datos simple para transmitir y otra para recibir datos. Comúnmente, 8 bits de datos son transmitidos de la siguiente forma: un bit de inicio, a nivel bajo, 8 bits de datos y un bit de parada a nivel alto. El bit de inicio a nivel bajo y el de parada a nivel alto indican que siempre hay una transmisión de alto a bajo para iniciar la transmisión. Eso es lo que describe a UART. Puedes utilizarlo a 3.3V ó 5V, dependiendo de lo que tu microcontrolador use. Note que los microcontroladores que quieren comunicarse via UART tienen que fijar la velocidad de transmisión, la tasa de bits, ya que sólo disponen del bit de flanco de bajada para sincronizar. Esto es llamado comunicación asíncrona. UART son las siglas de "Universal Asynchronous Receiver-Transmitter". Éste 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 UARTs en un solo chip. Existe un dispositivo electrónico encargado de generar la UART en cada puerto serie. Las funciones principales de chip UART son de manejar las interrupciones de los dispositivos conectados al puerto serie y de 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. El USART (universal synchronous asynchronous receiver transmitter) es uno de los dos puertos series de los que dispone los PIC16F87X. Puede funcionar de forma síncrona (half duplex) o asíncrona (full duplex). Modo asíncrono: 1. Modo full-duplex (bidireccional). 2. Utiliza los pines: • RC6/TX/CK : transmisión (salida). • RC7/RX/CK: recepción (entrada). 3. Los datos enviados tienen tamaño de byte. 4. En el formato de la trama se añade un bit de Start=0 y un bit de Stop=1, y puede añadirse un noveno bit de datos (ejemplo bit de paridad) a los 8 bits del dato: 5. Esta forma de comunicar serie usa la norma RS-232 / RS-485. 6. Los bits se transmiten a una frecuencia fija y normalizada. 7. Los bloques que configuran la USART en modo asíncrono son: • Circuito de muestreo. • Generador de baudios. • Transmisor asíncrono. • Receptor asíncrono. 8. La USART no soporta la generación de paridad por hardware. 9. En modo asíncrono la USART se para al entrar el micro en modo SLEEP
EN CONCLUSION UART y USART En general las dos diferencias que hay entre ellos es que el USART puede trabajar en modo síncrono y asíncrono y puede ir más rápido (más baudios) mientras que el UART sólo funciona de manera síncrona. BAUDIO: Es el número de símbolos por segundo, importante no confundir con tasa de bits por segundo, ya que cada símbolo puede suponer el envío de más de 1 bit. Estos buses están compuestos por 3 pistas fundamentales: TX, RX y GND. De tal manera que el pin TX de un dispositivo esté conectado RX del otro dispositivo y viceversa y que las masas de ambos estén conectadas. Si sólo conectamos un TX a un RX, la comunicación puede existir de manera unidireccional, es decir, que sólo 1 envía y sólo 1 recibe. No es el mejor bus para comunicar más de 2 elementos, de hecho no lo recomiendo para esto. Es mejor abrir 1 puerto UART distinto para cada dispositivo al que quieras conectarte. Lo que hace muy útil a este puerto es que trabaja con niveles lógicos TTL (transistor-transistor logic) lo cual hace que dos micros se puedan comunicar sin necesidad de convertir los voltajes con transreceptores/drivers.
El Bus Universal en Serie (BUS) (en inglés: Universal Serial Bus), más conocido por la sigla USB, es un bus estándar industrial que define los cables, conectores y protocolos usados en un bus para conectar, comunicar y proveer de alimentación eléctrica entre computadoras, periféricos y dispositivos electrónicos.2 El campo de aplicación del USB se extiende en la actualidad a cualquier dispositivo electrónico o con componentes, desde los automóviles (las radios de automóvil modernas van convirtiéndose en reproductores multimedia con conector USB o iPod) a los reproductores de Blu-ray Disc o los modernos juguetes como Pleo. Se han implementado variaciones para su uso industrial e incluso militar. Pero donde más se nota su influencia es en los teléfonos inteligentes (Europa ha creado una norma por la que todos los móviles deberán venir con un cargador microUSB), tabletas, PDA y videoconsolas, donde ha reemplazado a conectores propietarios casi por completo. Algunos dispositivos requieren una potencia mínima, así que se pueden conectar varios sin necesitar fuentes de alimentación extra. Para ello existen concentradores (llamados USB hubs) que incluyen fuentes de alimentación para aportar energía a los dispositivos conectados a ellos, pero algunos dispositivos consumen tanta energía que necesitan su propia fuente de alimentación. Los concentradores con fuente de alimentación pueden proporcionarle corriente eléctrica a otros dispositivos sin quitarle corriente al resto de la conexión (dentro de ciertos límites). CARACTERISTICAS • Banda de paso, disponibilidad desde algunos kilobits a varios megabits; • Transferencia isócrona y asíncrona en el mismo bus; • Varios tipos de periféricos en el mismo bus; • Posibilidad de conectar hasta 127 perifericos; • Tiempo de respuesta garantizado (para audio y vídeo) • Flexibilidad a nivel de banda de paso;• Fiabilidad, control de errores; • Perfectamente integrado en el PC, plug and play (conectar yusar) • Coste reducido en la versión de baja velocidad (1,5 Mbits/s); • Posible expansión del bus
I2C Es un bus que está formado por 2 cables conocidos como SDA y SCL más 1 para conectar las masas (GND) de los dispositivos, seguramente os suene verlos en Arduino. Con este tipo de bus podéis conectar bastantes dispositivos entre sí. Contructivamente lo único que hace falta es que conectéis una resistencia de 2.2KOhm de algún punto de SDA a Vcc y otra resistencia de 2,2KOhm desde un punto de SCL hasta Vcc, es decir, que las líneas SDA y SCL deben tener una resistencia de pull-up. También es importante decir que en cada momento uno de los dispositivos toma el papel de maestro y el resto de esclavos. El maestro genera una señal de reloj por SCL que se usará para sincronizar todos los dispositivos. Y por SDA viaja la información propiamente dicha. Cada esclavo debe tener configurada una dirección de esclavo. Esta dirección es una variable de 8 bits donde los 7 primeros son un número en binario y el último bit indica si es una lectura o escritura lo que quiere hacer el maestro.
Existen dos escenarios distintos, o bien el maestro es un escritor en los esclavos, o bien el maestro es el que pide a los esclavos que le envíen información. En cualquier caso la comunicación se realiza con la siguiente secuencia:
Se configuran todas las direcciones de esclavos
El maestro envía una dirección de esclavo más el bit de lectura/escritura e indica además cuantos bytes será de larga de comunicación.
El esclavo se prepara enviar la información solicitada o para recibir la siguiente información.
O bien el esclavo envía información o bien el maestro envía información.
Todos los esclavos vuelven a estar disponibles de nuevo.