Bit-Unterschied zwischen 16550A/16C950

Jul 13, 2003 2 Replies

Hi, ich hab hier ein kleines Problem mit seriellen Ports, und da an dieser Stelle schon ein wenig was in der Richtung erörtert wurde, hoffe ich mal dass ich nicht zu sehr OT bin. Ich habe zwei verschiedene Seriell-Porttypen im Rechner, diese verarbeiten das gleiche Eingangssignal unterschiedlich, explizit heisst das, der mit dem 16550A liegt richtig, der mit dem 16C950 lässt bei jedem zweiten Byte das zweitoberste (2^6) weg. Theoretisch sollte es also irgendwo/wie einen logischen Grund geben, der in der Portkonfiguration liegen dürfte (normal 19200 Baud, 8n1).



Hier die Ausgabe per dmesg: ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS04 at port 0xd000 (irq = 11) is a 16C950/954 ttyS05 at port 0xd400 (irq = 11) is a 16C950/954



setserial -G sagt das dazu: /dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 \ spd_normal skip_test /dev/ttyS4 uart 16950/954 port 0xd000 irq 11 baud_base 921600 \ spd_normal skip_test



Mein kleiner Dumper bringt mir das (ttyS0 ist richtig) matiz@cardserver zugang $ ./dump-port.pl /dev/ttyS0 ab05d30012430030 matiz@cardserver zugang $ ./dump-port.pl /dev/ttyS4



6b05930011fd000a

Hat vielleicht irgend jemand eine Idee? Grüsse, Mathis


Kann das ein "naaloges" Problem mit Pegeln / Pegelwandlern sein?

Ich habe die 16C950 im Einsatz, die liefen von Anfang an absolut problemlos mit meinem vorhandenen 16C550-Treiber - inzwischen fahre ich die aber im erweiterten Modus, um einen Teil der neuen Features nutzen zu können.

cu Michael

Hallo Mathis,

ist es möglich das die erweiterten Register des 16C950 auf nicht gewünschten Default-Werten stehen? Diese haben zusätzliche Tack-teiler/multiplikatoren. Ist die Quarzfrequenz OKay? wie siehts mit anderen baudraten aus. Prüfe mal auf Framing-Error's

RS232 arbeited mit LSB-First so das der zunehmende Fehler bei den höheren Bits wirklich auf eine fehlerhafte Baudrate hindeuted. Sende mal mit dem 16C950 und analysiere mit nem Oszi, falls eins zu Hand.

Hat Linux nicht mal probleme mit dem 16C950 gehabt?? Probiers mal mit nem anderen Betriebssystem (DOS) mit anderen Treibern.

Grüße Erik

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required