Forum: Mikrocontroller und Digitale Elektronik LPC1758: Problem mit hoher UART Baudrate


von Thomas Haslinger (Gast)


Lesenswert?

Hallo,

ich möchte den UART mit 5 MBaud laufen lassen und hab dabei ein Problem.

Die max. mögl. GEschwindigkeit sin 6,25MBaud, damit hab ichs schon 
probiert und es klappt.

Möchte ich nun mit 5 MBaud kommunizieren, setzt ich nun DIVADVALL=1 und 
MULVAL=4.
Da ich einen PCLK von 100MHz habe komme ich mit der Formel auf 5MHz.

Wenn ich nun Daten senden, werden sie korrekt mit 5MBaud ausgegeben, 
wenn ich Daten jedoch mit 5MBaud empfangen möchte, bekomme ich völlig 
andere Messwerte.

Probeweise habe ich mal Daten mit 6,25MBaud empfangen, obwohl mein 
Controller auf 5MBaud eingestellt war, diese Daten hat er komischerweise 
korrekt empfangen und dann aber mit einer Baudrate von 5MBaud 
geantwortet.

Wie kann das sein?

von Jim M. (turboj)


Lesenswert?

Siehe UM10360.PDF, 14.4.12: "If the fractional divider is active 
(DIVADDVAL > 0) and DLM = 0, the value of the DLL register must be 
greater than 2."

Damit sind 5 MBaud nicht zu erreichen. Die einzige Möglichkeit für 5 
MBaud besteht im Herabsetzen von (P)CCLK auf 80 MHz, damit man ohne den 
fractional divider auskommt.

von Thomas Haslinger (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort.
Das muss ich wohl überlesen haben. Hab mich den ganzen Tag damit 
rumgeärgert...
Dann werd ich wohl den Clock auf 80MHz heruntersetzen.

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
Noch kein Account? Hier anmelden.