LPC1758: Problem mit hoher UART Baudrate

Gast #2457035
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?
#2457108
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren