Moin moin!! Ich habe mal eine Frage zum UART: Ich verwende ein Modem-Baustein, welcher einen Takt von 460.8kHz braucht. Diesen Quarz gibt es fast nirgends zu kaufen, daher möchte ich den Takt per uC bereitstellen. Also: uC mit 3.6864MHz System-Takt - dann per Timer daraus an einem Pin 460.8kHz (1/8). Aber die Übertragung läuft nicht so super, zumindest nicht in beide Richtungen. Daher meine Frage: Ist es überhaupt sinnvoll, den Takt so bereitzustellen? Der Takt ist ja immer synchron bei beiden Bausteinen. Mal angenommen, der eine ändert Daten bei steigender Flanke, während der andere Daten bei steigender übernimmt - dann wäre ein Versatz ja schon ganz sinnvoll, sonst kann ich mir gut vorstellen, dass da was verloren geht, oder?
meines Erachtens nach: Nein! selbst wenn man alle interrupts sperrt ist das setzen von ports vermutlich (je nach µC) nicht immer syncron zum erforderlichen Takt! Du könntest es mit einem PWM-Ausgang versuchen , oder aber einen Hardwareteiler aus einer Handvoll Flip-Flops - was bei einem vielfachen von 2 sicherlich die eleganteste Lösung ist!
> Also: uC mit 3.6864MHz System-Takt - dann per Timer daraus an einem Pin > 460.8kHz (1/8). Das ist die uebliche Vorgehensweise bei soetwas. > Mal angenommen, der eine ändert Daten bei steigender Flanke, während der > andere Daten bei steigender übernimmt - dann wäre ein Versatz ja schon > ganz sinnvoll, sonst kann ich mir gut vorstellen, dass da was verloren > geht, oder? Nein. Die Uarts sollten die Daten spaeter abtasten, oder gar mehrmals. Das ist der Grund warum sie mit mehrfachen Takt der Baudrate arbeiten. Das Problem was du befuerchtest trift eher auf SPI zu. Olaf
OK, dann funktioniert der Scheiss hier einfach so irgendwie nicht - evtl. schwingt der Quarz auch nicht so stabil, das Oszi schwankt irgendwie ein wenig...
Wenn der Quarz nicht so stabil schwingen sollte (?, eigentlich seltener Fall), Bastlerlösung, versuche es einmal mit Änderung der fuses. Wenns ein AVR-Kontroller ist, CKOPT einstellen, dann schwingt der Oszillator kräftiger. Eventuell in die benachbarte Frequenzgruppe wechseln, (von middle auf high frequency oder so )
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.