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.
> 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
>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.
>0x"CC" ist übrigens "11001100"
Korrektur: Sorry, war eben ein kleiner Denkfehler von mir!
> 0x"CC" ist übrigens "11001100"
Ich habe die Start- und Stopbits mit angehängt... 0 00110011 1
Und: LSB first (aber das hast du schon bemerkt)
Kannst du mal 0x55 senden und davon einen (aussagekräftigen) Screenshot machen? Der Besucher
In der Simulation klappt alles einwandfrei, auf dem Oszilloskop dagegen flackert über dem x"55" Signal noch irgendwas anderes drüber
Es sieht so aus, als ob, das Signal zwei mal versetzt zu sehen ist. Liegt es vielleicht daran, dass der taster nicht entprellung ist?
> In der Simulation klappt alles einwandfrei
Ich sehe gerade, dass mein Code offenbar fehlerhaft ist :-o
Das MSB kommt zuerst... (AA statt 55)
Ich werde das gelegentlich überarbeiten :-/
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
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ß!
Der Marvin hat Recht! Man ist schon zu sehr an die eingefrorenen Signale der Digitalsoszis gewöhnt, dass man das offensichtliche einfach übersieht. Der Besucher
> 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
@Hans Hirsch: Meistens bringt auch eine Vergrößerung der HOLD-Zeit am Oszilloskop ein besseres Bild. Aber generell gilt: Für aperiodische Signale bzw. Signalformen eignet sich eher ein Speicheroszilloskop. Duke
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.