UART: ¿un protocolo o hardware? [cerrado]

6

Algunos dicen que UART es hardware, otros dicen que UART es uno de los protocolos de comunicación en serie.

UART es un protocolo

UART es un protocolo

UART es Hardware

UART es Hardware

    
pregunta Lelouch Yagami

5 respuestas

17

Los dos primeros enlaces están, simplemente, equivocados. Un UART es una pieza de hardware que puede implementar varios protocolos diferentes que se utilizan para enmarcar flujos de datos asíncronos. La U es un acrónimo de "Universal", y si bien es efectivamente correcta, no hay razón para que no se pueda usar un protocolo que confunda a la población actual de UART, aparte del hecho de que no vale la pena el esfuerzo.

Los diferentes protocolos manejados utilizan diferentes números de bits para detectar condiciones de inicio y parada, presencia o ausencia de un bit de paridad (y su polaridad) y longitudes de datos de trama. Normalmente, puede especificar 5,6,7 u 8 bits de datos por trama. Si alguien insistiera en que sus datos deben formatearse en marcos de 4 bits, ningún chip UART existente podría manejarlo.

En parte, esto es una cuestión de definición. Merriam-Webster, por ejemplo, define el protocolo (para este contexto) como

  

un conjunto de convenciones que rigen el tratamiento y especialmente el   Formateo de datos en un sistema de comunicaciones electrónicas

Tenga en cuenta que la implementación del hardware no forma parte de la definición.

    
respondido por el WhatRoughBeast
6

UART (Receptor / Receptor asíncrono universal) se refiere más apropiadamente a un bloque funcional (normalmente hardware pero ocasionalmente software) para transmitir y recibir datos seriales asíncronos que pueden configurarse para una selección de diferentes velocidades de transmisión, conteos de bits, paridad, etc.

Pero a pesar de lo "universal" en el nombre, la flexibilidad es todavía bastante limitada y el formato básico en gran parte fijo. Hay un "bit de inicio" cuando la línea se aleja del estado inactivo para indicar el inicio de un "byte", un número (generalmente 7 u 8) de bits de datos, opcionalmente un bit de paridad y luego uno o dos "bits de parada" con la línea nuevamente en estado inactivo para garantizar que cada byte comience con una transición fuera del estado inactivo.

Las personas necesitan un nombre para esta familia de codificaciones, solo podrían usar el término "serie asíncrona", pero eso es demasiado ambiguo. Hay muchas codificaciones en serie asíncronas que son muy diferentes de las que puede manejar un UART. Así que, para bien o para mal, este método de codificación se denomina "serie UART" o simplemente "UART". Esencialmente, la codificación recibe el nombre del hardware utilizado para implementarla.

    
respondido por el Peter Green
6

En realidad es un tanto. UA significa Universal Asynchronous que maneja la transmisión serial asíncrona. RT significa Receptor / Transmisor que son claramente términos de hardware.

El UART es el hardware que implementa el protocolo (UART). La parte de hardware se denomina principalmente 'periférico' o dispositivo UART.

Sin embargo, el protocolo UART también se puede implementar solo mediante software (mediante el uso de 2 pines GPIO para recibir y transmitir). En la mayoría de los casos, esto consume severamente la potencia de la CPU (dependiendo de la velocidad de comunicación).

Debido a que la comunicación en serie es muy utilizada, la mayoría de los controladores de micron tienen al menos un periférico UART de hardware para permitir la mayoría del manejo realizado por el hardware (como el almacenamiento en búfer, la división de bytes en bits y el envío / recepción, la adición de bits de inicio / parada, el manejo de bit de paridad etc.).

    
respondido por el Michel Keijzers
1

UART / USART es de hecho hardware. De hecho, antes de comenzar la discusión de terminología, aquí hay un ejemplo popular de los 80: UART 8250 , que es

  

"... un circuito integrado diseñado para implementar la interfaz para comunicaciones en serie".

Si examina la terminología, verá que se hace referencia a los elementos de hardware. Por ejemplo, en presentación de Microchip 'Uso de USART en modo asíncrono ', notarás cosas como reloj, pines, dúplex , e interfaz mencionado:

  

USART significa transmisor de receptor asíncrono síncrono universal. Es   a veces se llama la Interfaz de comunicaciones en serie o SCI.   La operación sincrónica utiliza un reloj y línea de datos mientras no hay un reloj separado   Acompañando los datos para la transmisión asíncrona.   Como no hay una señal de reloj en el funcionamiento asíncrono, se puede usar un pin para   La transmisión y otro pin se pueden utilizar para la recepción. Tanto la transmisión como   la recepción puede ocurrir al mismo tiempo, esto se conoce como operación dúplex completo .   La transmisión y la recepción se pueden habilitar de forma independiente. Sin embargo, cuando la serie   el puerto está habilitado, el USART controlará ambos pines y uno no se puede usar para   E / S de propósito general cuando el otro se usa para transmisión o recepción.

Veamos ahora el documento de TI 'Circuitos de interfaz para TIA / EIA-232-F' :

  

Mirando la interfaz DB9 un paso atrás en el sistema digital, hay, en   la mayoría de los casos, un receptor / transmisor asíncrono universal (UART) o   Elemento de comunicación asíncrono (ACE). El ACE proporciona la   conversión de paralelo a serie y los bits de inicio / parada necesarios, paridad-bit   generación y comprobación de la transmisión de datos sin errores .

Para citar a Creación de prototipos FPGA por Verilog Ejemplos: Xilinx Spartan-3 Version :

  

Un receptor y transmisor asíncrono universal (UART) es un circuito que envía datos paralelos a través de línea serie . Los UART se utilizan con frecuencia junto con el estándar RS-232 de EIA (Electronic Industries Alliance), que especifica las características eléctricas, mecánicas, funcionales y de procedimiento de dos equipos de comunicación de datos.

Y un poco más lejos:

  

Un UART incluye un transmisor y un receptor. El transmisor es esencialmente un registro de desplazamiento

Lo mismo ocurre con la descripción en Wikipedia , esencialmente enumera qué elementos de hardware debe tener la interfaz UART.

¿Dónde entra en juego el aspecto del software? Eso es manejado por el protocolo serial asíncrono. El libro 'Programación de microcontroladores PIC de 16 bits en C: Aprendiendo a volar el PIC 24' ofrece una introducción muy buena en el Capítulo 8: en aviación, tiene un protocolo preciso de cómo y qué se debe decir, quién habla primero y segundo, etc., y esto es lo mismo para la comunicación en serie. El software controlará el hardware suministrado por UART para transmitir (enviar el bit de inicio, los datos, luego el bit de parada) y cuándo escuchar.

Lo importante a tener en cuenta es que UART no tiene que estar conectado al conector DB-9; UART no es DB-9. Hoy en día, tiene Raspberry Pi, Arduino y muchos otros sistemas integrados que utilizan solo 4 líneas de cables. A veces hay convertidores de USB a RS-232. Por ejemplo, he trabajado con placa PICDEM PIC18 que puede usar DB-9 o USB para la comunicación en serie. Los datos serie también pueden enviarse a través de líneas Ethernet .

    
respondido por el Sergiy Kolodyazhnyy
0

Es un hardware que, como su nombre lo indica, incluye un transmisor físico y un receptor físico. No es ni puede ser un protocolo porque un protocolo es un sistema de reglas (que obviamente no es una entidad física).

    
respondido por el Lambtron

Lea otras preguntas en las etiquetas