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

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