UART Störung

#1430742
Lesenswert?

Hallo,
habe eine neues Problem mit der "UART-Endlos-Ausgabe". Die Bitströme 
x"FO" oder x"0F" funktionsieren einwandfrei. Wenn ich aber x"CC" oder 
ähnliche Daten für die UART einstelle, bekomme ich am Oszilloskop ein 
geflakere. Sind es zu viele Flankenwechsel, oder irgendwelche 
Timingprobleme?
Ich möchte jedes beliebgige 8-Bit Frame einstellen können.

Gruß,
H.H.
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #1430773
Lesenswert?

> bekomme ich am Oszilloskop ein geflakere.
Naja, überleg einfach mal, warum...

0xF0 via RS232 =  0000011111
0x0F via RS232 =  0111100001
0xCC via RS232 =  0001100111

> Sind es zu viele Flankenwechsel,
Das kommt darauf an, wie du triggert...
Siehe der Kommentar im Code:
1
  -- dauernd senden, solange tx_start aktiv

> oder irgendwelche Timingprobleme?
Schliess doch mal einen PC mit einem Treminalprogramm an...

> Ich möchte jedes beliebgige 8-Bit Frame einstellen können.
Dann gib an einem anderen FPGA-Pin das tx_busy aus und triggere auf das 
:-o
#1430793
Lesenswert?

>Naja, überleg einfach mal, warum...

>0xF0 via RS232 =  0000011111
>0x0F via RS232 =  0111100001
>0xCC via RS232 =  0001100111


0x"CC" ist übrigens "11001100". Das ist mir klar, dass hier automatisch 
mehr flankenwechsel stattfinden. Nur ist da irgendwie noch ein Signal 
überlagert oder ähnliches. Das meinte ich mit "flackern".
Es ist doch seltsam, dass bei x"FO" und x"OF" alles einwandfrei 
funktioniert und in anderen Fällen nicht.
Gast #1431292
Lesenswert?

Am nicht entprellten Taster liegt das meines erachtens nicht, da ja nur 
ein Sender vorhanden ist. Du hast scheinbar irgendwo eine Reflektion des 
Signals oder es koppelt irgendwo über und wird zurückgesendet.
Man müsste halt wissen, wie das ganze Drumherum aussieht.
Hast du die Messspitze ordentlich geerdet?
Hast du sehr lange Leitungen? Verdrillt/nicht verdrillt?
Kannst du nicht ein Foto der Oszilloskopausgabe machen?
Und schau mal besonders auf die Flanken, ob die sauber rüberkommen, oder 
ob es da Schwingungen gibt (so in den hundert MHz Bereichen).

Der Besucher
Gast #1431305
Lesenswert?

Ich lach mich kaputt!

Was macht ein Oszilloskop?
Es triggert auf eine Flanke.
Und wie viele Flanken enthält dein Signal?
Auf jedenfall mehr als eine, vor allem dann, wenn es in einer 
Endlosschleife läuft.
Das heißt dass du nicht unbedingt auf die erste Flanke triggerst sondern 
auf eine beliebige, daher das Rauschen bzw. die scheinbar überlagerten 
Signale.
Wenn es ein besseres Oszi ist, kannst du evtl. auf Signalformen 
triggern.
Ansonsten in deiner Routine einen Triggerimpuls auf einen Pin ausgeben, 
diesen an Kanal A des Oszi und auf Kanal B dein RS232-Signal.

Viel Spaß!
Moderator (Firma: Titel) Persönliche Seite #1431493
Lesenswert?

> In der Simulation klappt alles einwandfrei
Ich habe den Quelltext auf meiner HP so überarbeitet, dass jetzt 
tatsächlich das LSB zuerst kommt ;-)

Ich würde dir raten, erst mal nicht dauernd zu Senden. Besser wäre, ein 
Byte zu schicken, dann eine kurze Pause einzulegen, dann erst das 
nächste. So kannst du dann auch besser triggern...

Oder mach es so, wie ich es oben vorgeschlagen habe:
>> Ich möchte jedes beliebgige 8-Bit Frame einstellen können.
> Dann gib an einem anderen FPGA-Pin das tx_busy aus und triggere auf das

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