Probleme beim Senden SC16c550

OP #343236
Lesenswert?
• ▲
▼
Hallo,

ich habe folgendes Problem beim Senden mit dem SC16C550 von Philips:

Ich schreibe das erste Zeichen in den Puffer und es wird gesendet. Das
Zeichen kommt korrekt auf meinem Terminalprogramm an. Wenn ich aber
dann das zweite Zeichen in den Puffer schreibe, empfängt mein
Terminalprogramm das vorherige (!!) Zeichen und das aktuelle, also 2
Zeichen. Und so weiter und so weiter.

Ich steuere den Modembaustein mit einem M32C84 Controller von Renesas
an  über einen "künstlichen" Datenbus mit Portpins. Vom Timing her
liege ich weit im sicheren Bereich. Und über den Bus wird auch immer
nur das nächste zu sendende Zeichen an den Modembaustein verschickt.

Lese ich den jeweiligen Status des THR und TSR Registers (im LSR
Register) nach dem Senden aus bekomme ich die Rückmeldung, dass beide
Register leer sind. Und trotzdem sendet er mir dann wieder das
vorherige Zeichen mit!

Muss ich da nach jedem Zeichen, dass ich in den Puffer schreibe noch
irgendein Register bedienen? Ich habe keine wirkliche Idee warum das so
passiert. Und die Antwort von Philips auf meine Anfrage steht noch aus.
Gast #343238
Lesenswert?
• ▲
▼
Hallo Bernhard,

hier ist erstmal das Datenblatt des Bausteins. Die anderen Unterlagen
reiche ich nach.
Der Unterschied zu den üblichen 16550 liegt wohl in erweiterten
Registern: "Enhanced Register Set". Ich habe leider mit den
"ursprünglichen" 16550 noch nicht gearbeitet.

Gruß
Holger
Angehängte Dateien:
Gast #343240
Lesenswert?
• ▲
▼
Hallo Bernhard,

ich glaube ich habe das Problem gefunden!! Und zwar habe ich bei der
Ansteuerung des 16C550 mit meinem künstlichen Daten- und Adressbus
Verzögerungen eingebaut.
Das WriteEnable-Signal (High-Aktiv) hatte ich dadurch für 12,5us
anstehen. Damit ist der Baustein bei zunehmender Geschwindigkeit
(ab19200Bd) nicht klargekommen (und ich hatte es immer  mit 115200Bd
laufen!!!). Aufgefallen ist es mir als bei 2400Bd kein
Übertragungsfehler vorkam.
Ohne die Verzögerung des Enable-Signals klappt alles wunderbar.

Danke nochmal für Deine Bemühungen.

Gruß
Holger

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.