¿Cómo calibro el oscilador RC de un AVR usando el UART?

Me gustaría configurar el OSCCAL de mi AVR para una comunicación RS-232 adecuada utilizando la transmisión del otro extremo como reloj de calibración, sin tener que soldar el pin RX a un pin del temporizador. ¿Hay firmware para hacer esto?


editar
Terminé escribiendo mi propia rutina de sincronización y soldando el pin RX a la unidad ICP (captura de entrada). Cuando el pin ICP cambia, el valor de TIMER1 se copia en un registro y se dispara una interrupción.

El código utiliza una técnica de búsqueda inspirada en ADCPM. OSCCAL se incrementa o decrementa en 1 inicialmente. Cada vez que OSCCAL necesita moverse en la misma dirección nuevamente, se mueve el doble de lejos, cuando cambia de dirección, comienza de nuevo en 1. http://code.google.com/p/pwmsign/source/browse/synch.c

Todo ese problema, y ​​descubrí que el OSCCAL perfecto estaba solo 1 fuera de la configuración de fábrica.

Si me das un enlace a los documentos asociados, debería poder echar un vistazo mañana y ayudarte.
¿Qué quiere decir con 'comunicación UART adecuada'? no necesita sincronización de reloj entre el AVR y el otro extremo del UART para que funcione. Supongo que tal vez si golpeas un poco el UART en el extremo AVR, lo cual me parece poco probable.
@Mark Me refiero a que el reloj TX del AVR tiene que coincidir con el reloj RX de la PC dentro de un pequeño % y viceversa, no garantizado sin un XTAL.

Respuestas (1)

Claramente, estoy buscando la hoja de datos proporcionada por Atmel, AVR054: Calibración en tiempo de ejecución del oscilador RC interno. Creo que podría adaptarse a la comunicación de PC a AVR sin demasiados problemas...

¿Por qué es esta una respuesta?
Estoy usando un ATtiny2313 que no tiene, por ejemplo, un PCINTn en el pin RX. Así que creo que la respuesta es usar AVR054 y seguir adelante y soldar RX a INT0.
No, creo que estás malinterpretando.
@Kortuk Me encantaría obtener otra respuesta, pero mi respuesta a mi propia pregunta es 'adelante, suelde dos pines y use AVR054'.
Estaba pidiendo enlaces a su hoja de datos. Escribiré y responderé cuando confirme que no estoy malinterpretando. No creo que necesites la función de calibración en absoluto.
@Kortuk, la calibración de fábrica estuvo muy cerca, ¡pero no lo supe hasta que escribí mi propia rutina de calibración! Probablemente habría funcionado bien sin todos los problemas.