Forum: Mikrocontroller und Digitale Elektronik XMega A3: Glitch am UART?


von Chris R. (hownottobeseen)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche mich gerade bei den Xmega-CPUs von Atmel einzuarbeiten und 
habe mir nun ein kleines Board gemacht, bei dem die vielen UARTs zum 
Einsatz kommen sollen. Grundsätzlich werden die Zeichen empfangen, 
allerdings kommt es in Sendeabschnitten sehr schnell zu Glitches bzw. 
Synchronisationsverlusten.

Verwendet wird ein AtXmega64A3 mit dem angehängten Quellcode. Die CPU 
läuft mit dem internen 32MHz-Oszillator. Da ich am Anfang die Baudrate 
im Verdacht hatte, habe ich mir auf einem der UARTs 0xAA senden lassen, 
die Bitzeiten gemessen und die Registerwerte für BSEL (sowohl für 115200 
als auch 9600 Baud) angepasst.

Der Quellcode ansich lauscht auf USARTC1 mit 9600 Baud und gibt jedes 
empfangene Zeichen auf USARTD1 (115200 Baud) wieder aus.

die PNG ist ein Auszug vom Logic Analyzer. Unten ist das Eingangssignal, 
oben das Ausgangssignal. Nach dem dritten noch korrekt empfangenen Byte 
"rastet" der UART reproduzierbar aus und empfängt Mist.

Die Quelle des Eingangssignals ist eine Solaranlage, die ich in der 
konkreten Anwendung auslesen möchte. Deshalb kann ich am Timing 
(speziell den Pausen zwischen den Bytes) leider nichts ändern.

Mit dem Oszi habe ich bereits nachgemessen. Sowohl Pegel als auch 
Flanken sind sind sehr sauber - an der Signalintegrität sollte es also 
nicht liegen...

Hat jemand von euch eine Idee oder einen Tipp, woher der Glitch kommen 
kann und/oder wie man ihn beseitigen kann?

Viele Grüße & vielen Dank

Chris

von Chris R. (hownottobeseen)


Lesenswert?

Hallo nochmal,

habe nun die Schaltung nochmal durchgemessen und herausgefunden, dass 
meine Analogschaltung zum "Auffrischen" des Datensignals die Flanken 
verschiebt. Daran wird sich höchstwahrscheinlich das UART-Modul 
verschlucken.

Viele Grüße

Chris

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.