Widerspenstige Serielle (Mega168)

Gast #1660373
Lesenswert?

Hi,

hat vielleicht jemand ein Oszillogramm eines Datenbytes,
ganz normal transferiert mit 8N1 über eine AVR-UART?
Bislang hatte ich mit seriellen Übertragungen kein Problem
und selbst diesmal funktioniert immerhin ein Bootloader via
UART- aber dann -> siehe Bild. Ist es normal dass so ein
schmaler Impuls (erreicht 5V Level) die Übertragung einleitet?
Und dann dieses komische Impuls-Doppel kurz vor Ende.
Jedenfalls funktioniert prompt der PC-Empfang nicht-
und ich bin mit meinem Latein am Ende.

Tom
Angehängte Dateien:
Persönliche Seite #1663257
Lesenswert?

Es ist nicht normal.

Der Ruhepegel auf einer TXD-TTL Leitung ist 5V.
Das Startbit zieht den Pegel von HIGH nach LOW.

Das sehe ich in deinem Bild überhaupt nicht. Hast du vielleicht einen 
Pulldown oder einen anderen Verbaucher an der TXD-Leitung? Also die 
klassische Frage nach dem Schaltplan...

Tipp: Bei solchen Fragen ist es nützlich, wenn man als Datenbyte 
bekannte Bitmuster sendet und versucht diese Bitmuster im Oszillogramm 
wieder zu finden.

RS232
Gast #1663399
Lesenswert?

Ja, ich werde mal nur ein einziges Byte senden
und das noch mal mit meinem Oszi unter die Lupe
nehmen.

Das Übertragen von Daten vom PC zum Controller
funktioniert übrigens problemlos, nur wenns ums
Senden von Daten geht stehe ich nach wie vor
vor einem Mysterium. Am PC kommt nur Müll an.
Langsam glaube ich schon fast an einen Serienfehler
des Mega168 :) Eine ähnliche Schaltung mit Mega48
(gleiche Soft) funktioniert nämlich, zwischengeschaltet
ist jetzt nur noch das RS232-Interface. Da habe ich aber auch
schon mehrere und mit unterschiedlichen Maxxen probiert.

Tom
#1663416
Lesenswert?

TomB schrieb:

> Langsam glaube ich schon fast an einen Serienfehler
> des Mega168 :) Eine ähnliche Schaltung mit Mega48
> (gleiche Soft) funktioniert nämlich,

Hmm.
Ein gern gemachter Fehler ist die Annahme, dass alle Bits in den 
Steuerregistern an den gleichen Stellen sitzen. Solange man immer nur 
auf einem bestimmten Typ arbeitet, wirkt sich das nicht aus. Sobald man 
aber den Typ wechselt, kommt es zu seltsamen Phänomänen. Besonders die 
vermeintlich clevere Zusammenfassung der Konfigurationsbits in eine 
Hex-Zahl präsentiert sich dann alles andere als clever.


Schon mal in die Richtung geforscht?
Gast #1663438
Lesenswert?

Zumindest dran gedacht. Lt. Datenblatt ist der Unterschied zwischen 
Mega48-168 außer den Speichergrößen doch nur der rjmp- bzw. jmp-Befehl 
in der Interrupttabelle, soweit mir bekannt !?

Hier übrigens noch ein Bild davon. Ist eine kleine Live-Anzeige + 
Datenlogger für serielle Daten. Wenn es mir irgendwann gelingen sollte, 
Daten unbeschädigt raus zu senden kommt das Projektl in die 
Codesammlung, versprochen :)

Tom
Angehängte Dateien:
Gast #1663439
Lesenswert?

> Zum Schaltplan gibts nicht viel zu sagen- RX/TX sowie der PC hängen
> an der Standardbeschaltung des MAX232, nichts weiter.

Wie ist der Controller getaktet? Für UART-Kommunikation ist ein Quarz 
(am besten Baudratenquarz) eigentlich Pflicht ...
#1663483
Lesenswert?

Wenn ich das Oszillogramm richtig interpretiere, schickst du da 8 Byte. 
Das erste und das letzte sind 0x01, die anderen 0x00. Vor und nach der 
Übertragung ist der Transmitter abgeschaltet und es wird Low-Pegel 
ausgegeben, eben das, was im PORT-Register steht und nicht der 
Stop-Pegel.
Oder die Tx-Leitung wird zum Input und hat einen Pull-Down.
Die kurzen Peaks sind die Stop-Bits! Am Anfang wird der Transmitter 
angeschaltet, kurz Stop-Pegel ausgegeben und dann das erste Byte 
ausgegeben. Also ein Low-Startbit, Bit0=1 und dann Nullen.
Falls es das ist, was du schicken möchtest, ist alles in Ordnung, bis 
auf das Abschalten des Transmitters.
Gast #1663774
Lesenswert?

"Abschalten des Transmitters" - Danke, das war das Stichwort!
Den hatte ich im UDR-Empty Interrupt mit Beendigung dessselben
gleich mit ausgeknippst! Interessant daß das bisher die UART-
Kommunikation auf TTL-Ebene (in erwähnter Mega48 Schaltung)
nicht beeinträchtigt hat- die Übertragung über ein RS232-Interface
dafür um so mehr.

Tom

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