Guten Tag. Ich habe eine kleine Frage zu 'Baud Rate Generatoren'. Wie wird die 'fractional baud rate' auf Hardwareebene erzeugt (Register etc.)? Über eine Erklärung oder einen Link würde ich mich freuen. Anton
Anton schrieb: > Ich habe eine kleine Frage zu 'Baud Rate Generatoren'. Wie wird die > 'fractional baud rate' auf Hardwareebene erzeugt (Register etc.)? Über > eine Erklärung oder einen Link würde ich mich freuen. So ähnlich wie bei DDS, der Zähler läßt Takte aus oder fügt zusätzliche ein.
Anton schrieb: > Ich habe eine kleine Frage... Ein normaler Teiler teilt so, daß er bis zu einer gewünschten Anzahl Perioden des Eingangssignales zählt und sich dann zurücksetzt, so daß das Spielchen erneut stattfindet. Der Teilungswert kann also nur ganzzahlig sein. Hat so ein Zähler jedoch einen "fraktionalen Teil", dann geht das so, daß er beim Zählen in jeder zweiten Runde (oder dritten Runde oder so weiter) eine Periode des Eingangssignales beim Zählen ausläßt. Beispiel: Man will die Frequenz eines Eingangssignales durch 100.5 teilen. Da zählt der Zähler in der 1. Runde bis 100 Impulse und läßt in der 2. Runde einen Impuls aus, womit der Endstand dort auch 100 ist, aber es waren 101 Eingangsimpulse. Das macht, daß aus 201 Eingangsimpulsen 2 Ausgangsimpulse werden. Effektiv also durch 100.5 geteilt. Natürlich jittert das Ausgangssignal, aber wenn es der Zähler einer PLL ist, dann sorgt die Bandbreite (sprich Filterung) im Rückkopplungszweig dafür, daß der Oszillator, der die Eingangsimpulse liefert, deutlich weniger jittert. Dieses Beispiel war nur für 1 fraktionales Bit, aber zumeit gibt es mehrere solche. Da muß dann der Hersteller zusehen, wie er das Auslassen von Eingangsimpulsen so über die Zeit verteilt, daß das Jittern möglichst klein und gut wegfilterbar ist. Da kommen auch Sigma-Delta-Modulatoren ins Spiel, aber das ist ein anderes Thema. Falk B. schrieb: > So ähnlich wie bei DDS, der Zähler läßt Takte aus oder fügt > zusätzliche ein. Nö, eben NICHT wie ein DDS. Das ist etwas ganz anderes. W.S.
Dieses System wurde in den 80er bei PLL Regelung in HF Messgeräten gemacht. Wie W.S. schreibt, war es die Kunst der Schaltungsdesigner ungerade Teilungsverhältnisse jitterarm auszuregeln.
W.S. schrieb: >> So ähnlich wie bei DDS, der Zähler läßt Takte aus oder fügt >> zusätzliche ein. > > Nö, eben NICHT wie ein DDS. Das ist etwas ganz anderes. Klar, DU musst es ja wissen!
Guten Morgen. Vielen Dank für eure Antworten. :) Gestern gefunden (Datasheet RP2040): "The clock dividers are 16-bit integer, 8-bit fractional, with first-order delta-sigma for the fractional divider. The clock divisor can vary between 1 and 65536, in increments of 1/256." Anton
> The clock divisor can vary between 1 and 65536, in increments of 1/256."
Wie ich schon in dem anderen Thread anmerkte, man muss die
Nebenbedingungen bezueglich minimaler und maximaler Frequenz, am
Eingang, in der PLL und am Ausgang einhalten! Wer da glaubt einen auf
doof machen zu koennen wird staunen.
Und wer ernsthafte Dinge im Bereich Audio oder Messtechnik macht der
sollte auch dringend ueber den Jitter nachdenken.
Olaf
Olaf schrieb: > Wie ich schon in dem anderen Thread anmerkte, man muss die > Nebenbedingungen bezueglich minimaler und maximaler Frequenz, am > Eingang, in der PLL und am Ausgang einhalten! Wer da glaubt einen auf > doof machen zu koennen wird staunen. Wo bitte kommt bei einem UART eine PLL zum EInsatz? > Und wer ernsthafte Dinge im Bereich Audio oder Messtechnik macht der > sollte auch dringend ueber den Jitter nachdenken. Dito. Was hat das mit einem UART zu tun? Der UART verkraftet den Jitter!
Falk B. schrieb: > Klar, DU musst es ja wissen! ICH weiß das. Aber du nicht. Dennoch sehe ich das Ganze als einen kleinen Fortschritt, weil du deinen Beitrag nicht mit "Blödsinn" oder einer ähnlichartigen Bemerkung verziert hast. W.S.
> Wo bitte kommt bei einem UART eine PLL zum EInsatz?
Kannst du nicht lesen? Ich schrieb oder Audio oder Messtechnik.
Aber natuerlich gibt es auch UART mit fraktionalem Teiler. Silabs/Gecko
hat das bei ihren LowpowerUart. Das fuehrt dann dazu das
aufeinanderfolgende Bits im Byte verschieden breit sind. Das
verschlechtert dir dann die Systemreserve bei der Datenuebertragung.
Olaf
Olaf schrieb: > Aber natuerlich gibt es auch UART mit fraktionalem Teiler. > Das fuehrt dann dazu das aufeinanderfolgende Bits im Byte > verschieden breit sind. Das verschlechtert dir dann die > Systemreserve bei der Datenuebertragung. Ganz im Gegenteil. Gerade bei Quarzfrequenzen die nicht auf UART-Übertragungen ausgelegt sind, verbessert es sogar signifikant die Fehlerrate. Der µs Jitter stört da nicht im Geringsten, sondern »rückt« die Bits wieder ins Raster.
Olaf schrieb: >> Wo bitte kommt bei einem UART eine PLL zum EInsatz? > > Kannst du nicht lesen? Ich schrieb oder Audio oder Messtechnik. Sagt der Richtige! Die Diskussion hier dreht sich um UART, nicht um Audio oder Meßtechnik! > Aber natuerlich gibt es auch UART mit fraktionalem Teiler. Silabs/Gecko > hat das bei ihren LowpowerUart. MSP430 und viele andere auch. > Das fuehrt dann dazu das > aufeinanderfolgende Bits im Byte verschieden breit sind. Das > verschlechtert dir dann die Systemreserve bei der Datenuebertragung. Quark. Man erreicht, daß man selbst mit SEHR kleinen Systemtakten relativ hohe Baudraten solide fahren kann, z.B. 9k6 Baud bei 32.768 kHz Uhrenquarz.
Als ich 1990 mit MCs angefangen habe, da hab ich dem 8051 immer ein 11,059MHz Quarz verpaßt. Das geht ohne jeden Rundungsfehler bis 115200Baud. Und ein Atmega2560 läuft mit 14,7456MHz gleicht gut, wie mit 16MHz. Heutzutage kann aber niemand mehr rechnen und nimmt glatte MHz-Quarze und versteht nicht, warum die UART Übertragungsfehler macht.
Nun ja, bis 2% Abweichung duerfen's sein. Mit Quarzen meist locker machbar bis an eine obere Grenze.
Peter D. schrieb: > Als ich 1990 mit MCs angefangen habe … > Heutzutage … nimmt glatte MHz-Quarze > und versteht nicht, warum die UART Übertragungsfehler macht. Tja, da sind wir nun. Gerade mal ein drittel Jahrhundert später. Die Erde dreht sich zwar etwas langsamer, aber geniale Denker der Moderne haben sich etwas ausgedacht: /The fractional baud rate divider enables the use of any clock with a frequency >3.6864MHz to act as UARTCLK, while it is still possible to generate all the standard baud rates./ (Aus einem weniger als 30 Jahre alten Datenblatt)
Peter D. schrieb: > Als ich 1990 mit MCs angefangen habe, da hab ich dem 8051 immer ein > 11,059MHz Quarz verpaßt. Das geht ohne jeden Rundungsfehler bis > 115200Baud. > Und ein Atmega2560 läuft mit 14,7456MHz gleicht gut, wie mit 16MHz. Eine merkwürdige Vorgehensweise, sich auf das unwichtigtse Timing zu konzentrieren. Da nehme ich lieber 20 MHz und habe ein exaktes, jitterfreies Timing beginnend bei < 1 µs. Den USB-Takt heutiger µCs aus 14,75 MHz zu erzeugen, dürfte maximal ungeschickt sein.
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.