Atmega Standalone, Correr sin oscilador de cristal

1

Planeo ejecutar el atmega328p sin oscilador externo como en este tutorial:

enlace

Un tipo aquí que dice:

"El oscilador interno lleva a imprecisiones, pero I2C es uno de esos protocolos que no requiere un reloj sincronizado con el dispositivo con el que está interactuando, por lo que el oscilador interno no afectará negativamente a I2C. El protocolo que sí requiere Un nivel más alto de precisión es UART o 'Serie'. Sin entrar en demasiados detalles, cuanto más rápido sea la velocidad de baudios de su UART, más probabilidades habrá de errores. Por lo tanto, si va a utilizar un UART con el oscilador interno, intente una velocidad en baudios como 115200 y ver si hay salida de basura al Monitor Serial si es así, reducir la velocidad en baudios a 57600. Personalmente he visto que la basura sale en 115200 pero eso no fue consistente. Probablemente es porque el oscilador depende de la temperatura. " / p>

¿Podría el uso del oscilador interno causar un problema con la comunicación inalámbrica con el transmisor de RF 433MHZ usando la biblioteca VirtualWire?

Gracias

    
pregunta munin24

2 respuestas

1

Cuando se usan los simples módulos receptores de transmisores de RF que no incluyen ningún protocolo propio, como que Virtual Wire está diseñado para funcionar con jitter en los datos recibidos, puede ser un problema. RF Monolithics tiene una buena aplicación que no se llama Consideraciones exclusivas para UARTs de radio de datos que incluye algunos detalles sobre esto y muestra cómo utilizar un PLL (bucle de fase bloqueada) para superar el problema. Los datos recibidos se muestrean en exceso y, cuando se detecta el borde de los datos recibidos, se retroalimenta en el bucle para compensar el jitter.

Virtual Wire usa una técnica similar y muestra los datos ocho veces por segundo, por lo que un error de reloj inicial de 12.5% solo causaría que los datos se desplacen en un bit, lo que el bucle compensaría rápidamente mientras recibía el preámbulo . Luego, el oscilador RC se desviará principalmente con los cambios de voltaje y temperatura que serán insignificantes durante el período de transmisión, por lo que no creo que tenga ningún problema.

Para un UART normal que no tiene ese esquema de PLL, normalmente me gusta mantener los errores en ambos extremos por debajo del 2%, de lo contrario, puede tener problemas, de lo que se habla más arriba. Es por eso que un UART normal no funciona tan bien con ese tipo de módulos de RF que pueden tener un poco de inestabilidad y esa es una de las cosas para las que Virtual Wire está diseñado para moverse.

    
respondido por el PeterJ
0

Depende de la aplicación, la comunicación inalámbrica no está diseñada para sincronizar aplicaciones críticas en este caso, la precisión no es importante. Pero, si está buscando aplicaciones en tiempo real, necesita agregar métodos de sincronización como TDMA.

    
respondido por el Pakito

Lea otras preguntas en las etiquetas