mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega88 und framing error


Autor: Gamma.Ray (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe ein Problem mit der atmega88 UART.

Ich verwende den Receiver des UART zum empfangen von daten von einem 
vorhergehenden prozessor und sende diese daten mit dem Transmitter des 
selben UARTs zu einem anderen prozessor. Jetzt tritt ab und zu - alle 
paar Stunden mal - ein Framing error auf. Kann es daran liegen, dass ich 
den UART teile? Konnte nicht herausfinden ob er für bits lesen und 
schreiben den selben takt verwendet oder nicht...

Oder könnte das an etwas anderem liegen?

Ich verwende einen externen 3,686400 MHz oszillator und die BAUDRATE is 
19200 BAUD 8 daten und 1 stop bit. also eigtl error rate 0,00% laut 
Datenblatt.

Könnte es an Schwankungen des Oszillators liegen?


Habe auch schon die Rx und Tx leitung mit dem oszi angeschaut sehe 
keinerlei übersprechen, oder einstreueungen - flanken sind auch relativ 
steil...

Hat jemand eine Idee?

Hannes

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Deine Beschreibung des Problems ist mir noch unklar.

Du sendest ständig viele Daten und alle paar Stunden gibt es einen 
Frame-Error?

Du sendest in größeren Abständen Pakete und da ist manchmal eins kaputt?

Bei der ersten Version wäre meine Vermutung Störimpulse von außen,
die können es auch bei der 2. version sein, allerdings könnte ich mir da 
auch ein Softwareproblem vorstellen, race condition, die den 
Sender/Empfänger bedient bevor die Daten fertig bearbeitet wurden oder 
sowas.

Gruß aus Berlin
Michael

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Oder könnte das an etwas anderem liegen?
Framing-Error heißt nur, dass zu dem Zeitpunkt, an der das Stop-Bit 
erwartet wird, eine '0' am Pin anliegt. EMV, ESD sind da Stichworte...
Wie ist deine Leitungführung?
Laufen da noch Geräte in der näheren Umgebung?

Autor: Hannes Bauer (Firma: Technikum-Wien) (gammaray)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich sende ständig also alle 400ms um die 50 zeichen...

aber ich habe die tx und rx leitung mit dem oszi überprüft - die sind 
sehr sauber - und ich wüsste net woher da alle paar stunden ein 
störimpuls kommen sollte - obwohl es natürlich möglich ist...

kannst du vllt ein bisschen genauere erklären, was du mit der race 
condition meinst. soweit ich weiß kann eine UART transmission 
software-technisch nicht abgebrochen werden beim atmega, da er auch noch 
das letzte bit sendet bevor er die übertragung abbricht oder ein neues 
byte sendet...

Zitat aus dem datasheet:

"The disabling of the Transmitter (setting the TXEN to zero) will not 
become effective until ongoing
and pending transmissions are completed, i.e., when the Transmit Shift 
Register and
Transmit Buffer Register do not contain data to be transmitted. When 
disabled, the Transmitter
will no longer override the TxDn pin."

Autor: Hannes Bauer (Firma: Technikum-Wien) (gammaray)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Lothar!

Ja es laufen noch andere Geräte - aber wie bereits gesagt ich hab mich 
schon eine ganze weile an die Rx und TX leitung mit dem Oszi gehängt und 
konnte keinerlei einstreuungen oder spannungsschwankungen finden...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.