Wie kalibriere ich den RC-Oszillator eines AVR mit dem UART?

Ich möchte den OSCCAL meines AVRs für eine ordnungsgemäße RS-232-Kommunikation einstellen, indem ich die Übertragung des anderen Endes als Kalibrierungsuhr verwende, ohne den RX-Pin an einen Timer-Pin löten zu müssen. Gibt es dafür eine Firmware?


Bearbeiten
Ich endete damit, meine eigene Synchronisationsroutine zu schreiben und den RX-Pin an die ICP-Einheit (Input Capture) zu löten. Wenn sich der ICP-Pin ändert, wird der Wert von TIMER1 in ein Register kopiert und ein Interrupt ausgelöst.

Der Code verwendet eine ADCPM-inspirierte Suchtechnik. OSCCAL wird anfänglich um 1 inkrementiert oder dekrementiert. Jedes Mal, wenn sich OSCCAL wieder in die gleiche Richtung bewegen muss, bewegt es sich doppelt so weit, wenn es die Richtung ändert, beginnt es wieder bei 1. http://code.google.com/p/pwmsign/source/browse/synch.c

All diese Probleme, und ich entdeckte, dass der perfekte OSCCAL nur 1 von der Werkseinstellung abweicht.

Wenn Sie mir einen Link zu den zugehörigen Dokumenten geben, sollte ich in der Lage sein, morgen einen Blick darauf zu werfen und zu helfen.
Was meinst du mit "richtiger UART-Kommunikation"? Sie benötigen keine Taktsynchronisierung zwischen dem AVR und dem anderen Ende des UART, damit es funktioniert. Ich denke, vielleicht, wenn Sie den UART am AVR-Ende schlagen, was ich für unwahrscheinlich halte.
@Mark Ich meine, die TX-Uhr des AVR muss innerhalb weniger % mit der RX-Uhr des PCs übereinstimmen und umgekehrt, ohne XTAL nicht garantiert.

Antworten (1)

Offensichtlich suche ich nach dem von Atmel bereitgestellten Datenblatt AVR054: Laufzeitkalibrierung des internen RC-Oszillators. Ich denke, es könnte ohne allzu große Probleme an die PC-zu-AVR-Kommunikation angepasst werden ...

Warum ist das eine Antwort?
Ich verwende einen ATtiny2313, der zB keinen PCINTn auf dem RX-Pin hat. Ich denke also, die Antwort ist, AVR054 zu verwenden und RX an INT0 zu löten.
Nein, ich glaube, Sie missverstehen.
@Kortuk Ich würde mich sehr über eine andere Antwort freuen, aber meine Antwort auf meine eigene Frage lautet: "Löten Sie zwei Stifte zusammen und verwenden Sie AVR054".
Ich habe nach Links zu Ihrem Datenblatt gefragt. Ich werde schreiben und antworten, wenn ich bestätige, dass ich mich nicht missverstehe. Ich glaube nicht, dass Sie die Cal-Funktion überhaupt brauchen.
@Kortuk die Werkskalibrierung war wirklich nah dran, aber ich wusste es nicht, bis ich meine eigene Kalibrierungsroutine geschrieben habe! Wahrscheinlich hätte es auch ohne den ganzen Aufwand funktioniert.