Quiero hacer una comunicación entre mi PIC18F4550 y mi PC pero estoy pegado si debo utilizar UART o USART para larga distancia. Cuando es más ventajoso utilizar el uno en lugar de otro?
Respuestas
¿Demasiados anuncios?Para sus propósitos, el UART y USART son la misma cosa. UART significa universal asynchronous receiver/transmisor. El S adicionales en USART significa sincrónico. Es sólo un poco mayor capacidad de Microchip dio el módulo para que sea más útil en algunos casos. Que capacidad adicional no se aplica en su caso.
El puerto COM de la PC, sólo se tarda un UART para hablar. El hecho de que la USART, podría haber sido utilizado de una manera diferente es irrelevante para usted, excepto que tal vez usted tiene algunas adicionales de configuración de bits que deben configurarse de la manera correcta.
Respuesta corta: el Uso de lo que usted tiene chip
Para que examine a fondo la cuestión, es necesario decodificar el acrónimos:
De una Universal Unsincrónica Receiver Transmitter es su tradicional "puerto serie". Es asíncrona , en el sentido de que sólo una sola señal que está involucrado ningún reloj se transmite, y en su lugar el receptor debe recuperar un reloj, normalmente por parte de sobremuestreo.
En contraste una Universal Synchronous Unsincrónica Receiver Transmitter es una opción más versátil dispositivo con UART-estilo asincrónica modos, pero que también pueden ser configurados para operar en síncrona modos de un reloj se envía junto con los datos. Dependiendo de la capacidad, esto podría incluir la interoperación con la bien conocida serie síncrona formatos, por ejemplo SPI o I2S.
Un par de Mcu puede ofrecer ambos tipos de periféricos. Para una serie asíncrona necesita usted podría elegir. Sin embargo, su elección puede ser influenciado por los pines en que un determinado periférico puede funcionar, otras necesidades en el sistema, etc. Una fábrica de ROM gestor de arranque sólo puede funcionar en algunos dispositivos periféricos y otros no. También puede haber diferencias en el apoyo de búfer, palabra de longitud, la paridad de apoyo, asociada a las señales de control, etc. Y la interfaz de software puede ser completamente diferente entre los dos.
Su microcontrolador (MCU) tiene un Universal Synchronous/Asynchronous Receiver/Transmitter (USART). Esta unidad funcional soporta una comunicación sincrónica y modo asíncrono, de modo de comunicación.
En el modo síncrono, el transmisor Tx se conecta a un receptor Rx por un RELOJ de alambre y cable de DATOS. Una vez por RELOJ período, Tx envía a otro bit de DATOS y Rx toma otro pedacito de DATOS. La sincronización de transferencia se rige por el RELOJ y por lo tanto sabe que tanto en Tx y Rx. Por lo tanto el Tx y Rx se pueden utilizar las tasas de bits que en modo asincrónico.
Sin embargo, dos cables o el conector de pines son necesarios en lugar de uno y excesivo sesgo o jitter de RELOJ y de DATOS conduce a la corrupción de datos que se ha recibido. El tiempo dentro de la línea de conductores de línea y de los receptores de la realización de RELOJ y de DATOS debe ser estrechamente para reducir este sesgo. La interfaz y el cable de dos factores se vuelven más prominentes en largas distancias, con cables largos y/o la conexión múltiple de lúpulo.
En el modo asíncrono, el transmisor Tx se conecta a un receptor Rx por un cable de DATOS. Una vez por temporizado período de bit, Tx envía a otro bit de DATOS y Rx toma otro pedacito de DATOS. La sincronización de transferencia se rige por la frecuencia de los osciladores independientes en Tx y Rx, cada uno de los cuales es desconocida para los demás y será un poco diferente. Por lo tanto, el máximo fiable de la tasa de bits es menor que para el modo de sincronización.
Al inicio de cada byte nuevo, Rx utiliza la partida STOP-bit de INICIO de la transición a la volverá a sincronizar a los bits de entrada de la secuencia de temporización. Esto hace que los retrasos de la línea de conductores/receptores, los cables y los conectores irrelevante para el período de bit de temporización, si no a la calidad de los bits. Sólo un cable es necesario por la comunicación de la señal en lugar de dos, reduciendo los costos en los cables, conectores y línea conductores/receptores.
Por lo que depende de su aceptable de los costos, las distancias de viaje y las capacidades de Tx y Rx. Su PC es probable que sólo admiten el modo asíncrono en un puerto COM, que requiere un puerto especial (o PCIe USB, probablemente USB) para el modo de sincronización.