2 votos

Implementación USART síncrona completa

He estado estudiando sobre USARTs y no he visto un consenso sobre la implementación USART síncrona entre los productores de MCU.

En primer lugar, hay líneas de reloj de transmisión y recepción en algunos conectores serie (por ejemplo, el conector RS-232 de 25 pines). Sin embargo, no he podido encontrar ningún dispositivo USART (dentro de una MCU) que proporcione ambas líneas.

En segundo lugar, por lo que sé, el modo síncrono no define bits de inicio y parada, pero algunos dispositivos USART síncronos utilizan estos bits.

En tercer lugar, algunos dispositivos USART síncronos, como en PIC16F882 (página 171) utilizan una línea de datos bidireccional para transmitir y recibir datos. Por lo tanto, con estos dispositivos sólo es posible la transmisión síncrona semidúplex.

Quiero experiencia práctica en un dispositivo USART síncrono completo utilizando un conector serie común como RS-232 de 25 pines. Aquí están algunas ideas vienen a mi mente.

El golpeo de bits puede ser una forma adecuada de estudiar el protocolo (pero no el dispositivo en sí).

El diseño de hardware a medida sería una buena experiencia, pero es bastante más difícil que tratar con dispositivos ya preparados.

Combinar dos PIC16F882, uno sólo para recepción y otro sólo para transmisión puede ser una solución.

Mi problema es que no puedo encontrar un dispositivo completo(!) para estudiar USART, escribir algo de código, inspeccionar registros, etc. Necesito sugerencias y estoy abierto a nuevas sugerencias y referencias.

2voto

Ale Puntos 407

A diferencia del RS-232, que es un estándar, un "USART" no lo es en modo alguno. Un MCU que contenga un periférico USART, como su nombre indica, contiene un "Receptor/Transmisor Universal Síncrono-Asíncrono". Esto es lo que hace el periférico: puede enviar y recibir datos con una línea de reloj o sin ella. Eso es todo. La especificación de la implementación real depende del fabricante del chip. Los registros de configuración, las posibles configuraciones, el hecho de que el puerto tenga half o full duplex, etc., dependen de la implementación concreta. Generalmente esos periféricos son lo suficientemente flexibles como para ser usados para comunicarse con RS-232 (a través de un convertidor de voltaje, por supuesto), puertos infrarrojos IrDA, smartcards, buses serie como LIN, etc.

Compara, por ejemplo, las descripciones de USART en las hojas de datos de diferentes MCUs (he elegido esos MCUs porque estoy familiarizado con sus hojas de datos, pero puede ser cualquier otro que contenga una USART...):

  • ATMega328P (véase "USART0" en la página 143)
  • PIC18F66K80 (véase "EUSART0" en la página 339, nótese también que aquí se denomina "EUSART", donde la E se queda para mejorado ya que tiene más funciones que otras USART de la misma gama de MCU)
  • STM32F4xx (véase "USART" en la página 965)

Verás que estos periféricos tienen muchas funciones en común, pero se implementan de formas diferentes (aunque relativamente similares).

Para estudiar USARTs, por lo tanto, echa un vistazo a diferentes MCUs para que tengas una idea más general.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X