Ich habe eine ganz einfache Frage. Ich habe hier ein Serial Interface dass mit einem female-female 9-pin-9-pin straight cable an den Host PC angeschlossen werden soll. Nun hab ich ein Nullmodem, ob dies dasselbe Kabel wie das female-female ist oder ob es da irgendwelche Unterschiede in der Pinbelegung gibt?
Laut Murphy ist es immer die falsche Pinbelegung :-) Bei Nullmodem-Kabel ist normalerweise RX/TX gekreuzt angeschlossen. Wenn man ein DTE mit einem DCE verbindet, dann sollte es normalerweise nicht gekreuzt sein (also z.B. PC mit Modem). Wenn man zwei PCs miteinander verbindet, dann muß es gekreuzt sein. Am besten von beiden Kabelsorten eins kaufen, nebst Gender-Changer. Oder du kannst auch einfach RX und TX ändern, falls du an den Stecker kommst. Die Pinbelegung findest du hier:
formatting link
Ggf. auch RTS/CTS ändern, sofern du Hardware Handshaking brauchst.
--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Nö, bewährte Schaltung, funzt bei mir seit 30 Jahren perfekt für praktisch alle Fälle des Lebens. Dass das im Widerspruch zu vielen (Honiggut-schlechten) Veröffentlichungen steht, ist mir klar.
Aber 'mein' Null-Modem benutzt die Signale, die für einen korrekten Informationsfluss sorgen. s.u.
DTR -> CTS (CTS Eingang gibt in Spezialfällen erst den TX-Teil frei) RTS -> DSR (DSR Eingang gibt in Spezialfällen den RX-Teil frei) -> CD (CD Eingang signalisiert, dass dieEmpfangs-Strecke steht) -> RI (RI Eingangt signalisiert, dass da jemand was will)
Kuck Dir mal die Innenleben von 8530 bzw 8250 UARTs an.
Der RTS kann (programmierbar) nach den letzten verschickten bit des TX- bytes von der HW auf passiv gesetzt werden.
Nö, kuck Dir die UART Innenleben an. Beachte dabei die Funktion von CTS und DSR, dann kommt der Rest ganz von selber :-)
Dadurch dass das gemacht wird und in vielen Fällen auch funzt, heisst das noch lange nicht, dass das immer geht.
Was Du und +95% aller RS232 Nichtkenner machen, ist so eine Art Selbstbefriedigung, da jede Seite sich nur mit sich selber beschäftigt. In einer guten Partnerschafft sollte es ein Geben und Nehmen sein...
Wie soll damit RTS/CTS-Handshake funktionieren, ohne die beteiligte Treibersoftware anzupassen?
Hä? Wo mache ist das? Mit dem gekreuzten RTS/CTS kann jeder die Gegenseite bremsen, wenn sein Empfangspuffer voll ist - genau so, wie das bei einer Verbindung über echte Modems auch funktionieren würde.
cu Michael
--
Some people have no respect of age unless it is bottled.
Heisst DEE nicht DTE? Die meisten Geräte haben aber sowieso nur RXD und TXD. Richtige Modems gehören sowieso zur aussterbenden Sorte von Geräten und Flusskontrolle braucht man bei den heutigen Systemen und vernünftigen Microcontrollern normalerweise auch nicht mehr.
--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Es fand eine Verlagerung von Hard- nach Software statt. Auch durch die vermehrte Verwendung von paketorientierter Übertragung (vs. früher zeichenorientiert).
Zu Zeiten der Mondlandung gab es wohl furchtbar komplizierte Bussysteme. Hatte mal einen von IBM bei Großdruckern verwendet in der Mangel. Muß ein Vorläufer von SCSI gewesen sein. Einzelne stark an SCSI-Kommandos erinnernde Funktionen waren in Hardware durch bestimmte Leitungen definiert. Insbesondere die acht SCSI-Zustände.
Bei mir war es nur der 'Raketenbus'. Eine Qual dafür eine kompatible Steckkarte zu entwickeln!
Nö, geht nie nicht zuverlässig. Wie gesagt, M$, MIESENS und Honiggut sind auch schon an den simplen Dingen gescheitert.
Versuchs mal mit 'nem ordentlichen uC vs PC. Der uC legt jeden PC aufs Kreuz, wenn das bei höheren Baudraten nicht mit ordentlichem HW handshake gemacht wird.
Kuck endlich mal in die Specs für UARTs, dann wirste es hoffentlich raffen.
DEE DatenEndEinrichtung ist Postjargon für DTE DataTerminalEquipment, also das klassische Terminal.
DÜE DatenÜbertragungsEinrichtung für DCE DataCommunicationEquipment, das klassische Modem.
Nur der Billig Schrott von sog. Fachleuten.
Bei Heimanwendern stimmt das, aber sobald man zB. 2 Rechner direkt verbinden will, kommt die Problematik eines Nullmodems auf. Und das begreift man dann nicht, wenn man nicht weiss, wie ModemsPCs funzen (sollten).
Also Null-Modem brauchste immer, wenn beide Geräte DTE oder DCE sind.
Oha: Du darfst einen beliebigen PC wählen, ich wähle uC, Baudrate, 8bit, ODD Parity, 1stop. Und wenn ich ganz gemein bin, ziehe ich meinen BRgen normgerecht dauernd um +-3,25%. Ich sende zwischen durch auch mal Daten mit nem flaschen PY bit bzw. framing errors und wehe Du merkst das nicht.
Ich wette, ab 57kB, spätestens ab 115kB lege ich jeden Windoof PC ohne HW handshake aufs Kreuz. BTDT. Hinter mir im Regal grinst schon ein alter Rabbit 3000 und ein 64180. Auch silabs scharren schon mit den Hufen in meiner Waffenkammer, die ziehen mit 100MHz clock Loopings um Deinen PC :-P
Für eine solche Behauptung mußten andere schon aufs Schafott. Wie willst du das beweisen? Allein der ganze Speicher den ein silabs sein Eigen nennt, paßt ins L1-Cache eines heutigen PC-Prozessors. Und der ist dort dann verdammt schnell in der Ausführung!!
Ist es einfach nur wegen dem spanischen Sieg in PY????
Es sei denn, es ist ein FIFO im UART... Wobei das beim PC nicht nur an der Hardware sondern an den komplexen IRQ-Routinen liegt, ein Multitasking-OS ist da leider etwas langsamer.
Jupp. Sowie Flusskontrolle, wie auch immer. Warum nicht per Zeichen, also in die Datenbits eingewoben? Bei Computern hatte man das schon vor Jahrzehnten erfunden, bei PCs.... ;-]
Das Problem mit langen Leitungen hatten wir neulich schon diskutiert. Was dazukommt ist Übersprechen. Besonders bei Treibern mit unerlaubt vielen Ohms und dafür umso weniger Volts. Da hilft dann nur z.B. Stereokabel, mit einzeln abgeschirmten Leitungen. Das wird einfacher, wenn man wirklich nur TX und RX hat. Da kann man dann solches Stereokabel nehmen, dass wie Trennahtlitze für Netz aussieht ;-). Der Gesichtsausdruck, unbezahlbar.
Das Problem mit Nullmodem bleibt aber.
Verschiedene Geräte wie Messinterfaces wissen ja nicht, ob sie nun DCE oder DTE sind, da sie nicht ahnen können, ob man ein Terminal oder einen Computer dranhängt. Die haben manchmal extern oder (noch gemeiner) intern einen Gender-Changer. Und manchmal auch sub-D-Anschlüsse falschen Geschlechts. Noch konfuser ist die Situation bei manchen HP-Plottern.
Da hilft nur noch Notwehr.
formatting link
SCNR Funktioniert aber. Resultat von Ärger mit SRS-Geräten.
Sorry, ich hab kB getippert, meinte aber kBd (Baud)... Vielleicht sollte ich mal lesen, was ich so tippere :-o
Ich hab vor 20 Jahren einige der damaligen HighEnd PCs mit nem simplen Z80 4MHz bei 9600 Bd überfahren können, wenn die das HW-Handshake nicht richtig beherrschten. Altes M$ Problem.
Du kannst im PC im Cache haben, was Du willst. Nutzt absolut nix. Die Interruptbehandlung ist derart grottenschlecht, dass ich mir ganz sicher bin, dass ich die bei 57..115kBd in die Knie kriege.
Ein richtiges Multitasking OS hat keine Probleme mit hohen Baudraten.
Microschrott hat Echt-Zeit-Verarbeitung, keine Echtzeit-Verarbeitung. Auch das Fifo nutzt Dir nix, das hab ich schneller voll, als der PC die Reissleine zieht bzw. ziehen kann. Denn dazu muss er einen IR auswerten und das kriegt er nicht schnell genug hin unter M$.
Und wenn Du mich noch an den PC lässt, dann fasse ich nur die Maus an und halte die linke Taste gedrückt und furwerke etwas durch die Gegend, dann ist garantiert Essig mit dem ordentlichen Datenempfang per UART.
Glück gehabt, dass ich nicht am anderen Ende mit einem meiner uC hing :-) Aber ich sehe, Du willst nicht in die UART Specs gucken, dann wünsche ich weiter Glück. Und programmiere bitte nichts, wo Personen zu Schaden kommen können. Besser iss dat!
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.