DFC-77 Empfangsmodul an RS-232 Schnittstelle

Am 12.02.2024 um 14:42 schrieb Hans-Peter Diettrich:

Meinen digitalen 5€-DCF77-Wecker hatte ich mit in Moskau und Yoshkar Ola

900 km östl. Moskau - er hat immer zuverlässig synchronisiert - haha.

Wenn die Dinger nicht synchronisieren liegt es oft an lokalen Störungen.

Reply to
Leo Baumann
Loading thread data ...

Das hat auch niemand behauptet, daß das so definiert wäre, der Standard ist da klar (wenn auch anders als in Deiner Erinnerung).

Trotzdem funktioniert es in der Praxis (und der Standard erlaubt das - undefiniert heisst nicht, daß ein Empfänger das nicht so machen darf), und für ein privates Einzelstück reicht das.

cu Michael

Reply to
Michael Schwingen

Ich schrieb auch nicht, daß derjenige, auf dessen Posting ich antwortete, mit seiner 'Definition' die offizielle Definition überschreiben will. Sondern ich erklärte, daß die Verschaltung Desjenigen funktionieren kann, jedoch nach beliebiger Änderung die Funktion einstellen kann - man weiß es nicht. Ist halt hier gelöscht.

Beruflich hatte ich es nie gewagt, gegen eine offizielle Definition oder ein Datenblatt zu verstoßen. Privat nur selten, und dann auch nur bei C-Programmierung, weil ich den Kontext meines Programms bis zu meinem Lebensende im voraus kannte. Ich hatte zuletzt etwa 2005 etwas mit RS232 gemacht. Aus der Zeit habe ich noch etwa 15 Stück ADM202EARN und -JRN liegen.

In C gibt es das berühmt-berüchtigte UB = Undefined behavior. Dazu heißt es, wenn UB vorliegt, kann ALLES erdenkliche passieren.

Reply to
Helmut Schellong

Hallo Stefan,

Du schriebst am Mon, 12 Feb 2024 06:34:47 +0100:

Man "kann". Intwischen, nachdem wohl einige zigtausend ignorante Bastler und Anti-Standard-Entwickler die Hersteller ausreichend mit entsprechenden Anfragen genervt haben und die deswegen die Bauteile "passend" fehl- implemeenteiert haben.

Ja, das ist nicht nur nicht so spezifiziert, sondern entgegen dem Standard, nach dem ein Signal, das sich nicht über die jeweils gegensinnige Schwelle ändert, den erkannten Pegel _eigentlich_ nicht umschalten dürfte.

Reply to
Sieghard Schicktanz

Am 12.02.24 um 20:23 schrieb Sieghard Schicktanz:

Du schwurbelst.

Schon der gute alte MC1489/SN75189 hatte gemäß Datenblatt ein wohldefiniertes Verhalten für TTL-Eingangspegel (mit typischen Schaltschwellen bei ca. 1V und 1.9V).

Noch ältere, weniger tolerante Implementierungen existieren sicherlich, haben aber ziemlich exakt Null Praxisrelevanz.

Besorg' dir eine Zeitmaschine, reise zurück in die frühen 70er Jahre und erkläre das den Ingenieuren bei TI, Motorola, und wer noch das Ding damals hergestellt hat.

Ich sehe da aber eigentlich keinen Widerspruch. Der Standard fordert mindestens +/-3V auf der Empfängerseite, sagt aber nichts über die konkreten Schaltschwellen.

Reply to
Hergen Lehmann

Am 12.02.2024 um 23:07 schrieb Hergen Lehmann:

Ich hätte jetzt auch mal vermutet, dass das so dokumentiert ist, es aber jetzt nicht extra überprüft. Das entspricht aber dem Verhalten, das ich seit mehr als 30 Jahren regelmäßig beobachtet habe.

<ack>

Sieghard zeigt hier die typische Reaktion eines Nichtskönners der Recht behalten will, wo er sich bereits als Nichtskönner entlarvt hat.

Reply to
Stefan

formatting link
Das Bild zeigt die konkreten Schaltschwellen. Der hellgraue Hintergrund definiert die gültigen Bereiche für die Schaltschwellen (±3V..±15V). Das beispielhafte Signal hat ±7V. Die gängigen ICs mit den Kondensator-Pumpen haben konkret ±7V..±9V typisch laut Datenblatt. Soweit die offiziellen Definitionen.

Ich will überhaupt nicht bestreiten, daß die gängigen 232-ICs zusätzliche undokumentierte Eigenschaften haben. Das ist dann aber Zufall, aufgrund einer Innenschaltung, die sich als geeignet erwiesen hat, die offiziell definierten Eigenschaften sicherzustellen.

Überraschendes Vorkommnis

------------------------- |AT45DB041A |Recommend using AT45DB041B for new designs.

|AT45DB041B |For New Designs Use AT45DB041D

|5.1.4 Status Register Read |Ready/Busy status is indicated using bit 7 of the status register. |If bit 7 is a 1, then the device is not busy and is ready to accept the next command. |If bit 7 is a 0, then the device is in a busy state. |The user can continuously *poll* bit 7 of the status register by stopping SCK at a low level |once bit 7 has been output. |The status of bit 7 will continue to be output on the SO pin, and once the device is no longer busy, |the state of SO will change from 0 to 1

Es wurden AT45DB041x eingekauft, ohne auf den Suffix-Buchstaben x zu achten. So wurden auch AT45DB041D eingekauft, die die oben gekennzeichnete Poll-Funktion (A,B) nicht haben. Deshalb gab es eine Fehlermeldung, daß der Flash-Speicher fehlt oder fehlerhaft ist. Anlagen (300000 EUR) konnten damit nicht arbeiten! Immerhin befindet sich im Flash die gesamte Konfiguration der Anlage.

Ich habe da die gesamte Anlagen-Steuerung programmiert. Als ich die Meldung aus der Tochterfirma in Ost-Deutschland erhielt, besorgte ich mir ein Datenblatt für D-Suffix und sah schlußendlich, daß der Satz, der das Pollen beschreibt, im neuen Datenblatt nicht mehr vorhanden ist.

|11.4 Status Register Read |Since the data in the status register is constantly updated, the user must |toggle SCK pin to check the ready/busy status.

Reply to
Helmut Schellong

Am 13.02.24 um 12:32 schrieb Helmut Schellong:

Das Bild zeigt KEINE konkreten Schaltschwellen, sondern einen typischen Signalverlauf am Empfänger.

Du schwurbelst.

Wikipedia ist keine "offizielle Definition", sondern eine Sammlung von Texten und Bildchen, die irgendwelche Bastler in ihrer Freizeit gemalt haben.

Ein Link zur offiziellen Definition findet sich in den "Nachweisen" am Ende des Artikels.

Die Eigenschaften *sind* dokumentiert.

formatting link
Seite4, ganz oben in der Tabelle.

Und das ist jetzt nicht irgendein IC, sondern der Urvater aller integrierten RS232-Receiver aus dem Jahr 1973, welcher während der gesamten RS232-Blütezeit in ungefähr 99.9999% aller verkauften Geräte verbaut war.

MAX232 und Konsorten tauchten erst in den 90er Jahren auf, als RS232 bereits auf dem absteigenden Ast war. Aber auch für diese ICs sind die Schaltschwellen selbstverständlich vom Hersteller dokumentiert und müssen nicht deiner Glaskugel entnommen werden:

formatting link
Seite5, Tabelle 7.7

Nein, das war sicher kein Zufall, sondern das haben hochqualifizierte Ingenieure zur RS232-Blütezeit bewusst so entschieden.

Reply to
Hergen Lehmann

...

Da geht es nicht um undokumentierte Eigenschaften. Die Schaltschwellen sind in den Datenblättern dokumentiert.

Durchaus nicht. In den Datenblättern steht genau drin, wie sich die Bausteine verhalten.

Reply to
Stefan

Nein - da ist nichts fehlimplementiert. Der Standard fordert, wie Pegel ab

+3V und -3V zu interpretieren sind. Das Verhalten daziwschen ist laut Standard undefiniert - das kann ein Empfänger machen, wie er will.

Wo steht das im Standard?

In meiner Kopie der ITU V.28 ist das für die Sendeseite so gefordert - über die reden wir aber nicht, alleine der Pegel von 0V anstatt -3V verletzt den Standard, das ist unstrittig.

Für die Empfangsseite finde ich keine Forderung über das Verhalten, wenn das Signal die "transition region" betritt. Ein Empfänger mit einer Schaltschwelle von 0.65V-1.6V (MC1489) ist demnach voll standardkonform.

cu Michael

Reply to
Michael Schwingen

Nein.

Pegel ab +-3V müssen sicher als 0/1 erkannt werden. Im Standard steht nirgendwo, daß die Schaltschwellen bei +-3V liegen müssen - die dürfen auch irgendwo dazwischen liegen, eine Schwelle von +1.0V (sinnvollerweise mit etwas Hysterese, siehe MC1489 - aber auch das fordert der Standard nicht) ist erlaubt, da sie Signale mit +-3V korrekt erkennt - mehr ist nicht gefordert.

Das hat nichts mit offizieller Definition zu tun. Der Standard fordert +-5V am Ausgang, nicht 7..9V.

Schau' einfach mal in den offiziellen Standard anstatt in die Wikipedia, ITU-T V.28 ist vom Wikipedia-Artikel verlinkt.

Das ist nicht undokumentiert - das steht genau spezifiziert im Datenblatt, incl. min/max-Werten der Schaltschwelle über Temperatur etc..

Die einzige Unsicherheit ist, *welches* Empfänger-IC Du jetzt an Deinem RS232-Port vorfindest. Bei einem Wechsel des RS232-Ports kann sich das Verhalten ändern - es könnte auch ein Port mit einer Schwelle <0V auftauchen, an dem die simple TTL-Schaltung dann halt nicht läuft (wobei ich kein einziges IC kenne, das das so macht).

An einem konkreten RS232-Port ist das Verhalten aber klar definiert und ändert sich nicht von jetzt auf gleich.

cu Michael

Reply to
Michael Schwingen

Ja, Du hast recht. Diese Spannungs-SCHWELLEN sind wie z.B. bei dem IC 7400, ausdrücklich bezogen auf Vcc=5V. Dies gilt nur für die _Eingänge_ (EIA/TIA-232E RECEIVER INPUTS). Als MIN und MAX sind -30V .. +30V angegeben, wegen EIA ±15V. Die _Ausgänge_ (EIA/TIA-232E TRANSMITTER OUTPUTS) haben MIN ±5V und TYP ±9V.

Wegen des Störabstands soll allerdings ±3V..±15V eingehalten werden. Das bedeutet, daß die kleinen TTL-Schwellen praktisch überpowert werden. Den Herstellern ist es jedoch erlaubt, jederzeit die Eingangsschwellen auf ±2V zu setzen.

Reply to
Helmut Schellong

Doch, das Bild zeigt, daß die Schwellen vor ±3V liegen müssen. Also < +3V und > -3V. Beispielsweise ±2V.

Nein.

formatting link
in der ersten Zeile des Artikels steht EIA. Dann folgt der Absatz /ANSI-Norm/ mit EIA/TIA. Dann folgt der Absatz /Definition/, mit dem Bild.

Der Artikeltext zuvor wird nicht gegen die Belege verstoßen.

Das alles und noch viel mehr kenne ich seit 1970..75. Ich habe u.a. alle TI-PocketGuides.

Das stimmt. Ich habe ja bereits geschrieben, daß ich etwa 15 Stück ADM202EARN und -JRN liegen habe.

Jedoch für mich waren diese TTL-Schwellen von Beginn an irrelevant. Ich habe stets mindestens ±5V verwendet, gemäß EIA/TIA.

Es ist nicht sicher, daß die Schaltung so ist, wie sie ist, damit die offiziellen Definitionen umgangen werden können. Die werden damals erkannt haben, daß 5V-TTL (wie 7400) schlicht voll geeignet ist.

Reply to
Helmut Schellong

Das weiß ich seit 1975 und habe es auch selbst geschrieben. Allerdings habe ich oben problematisch formuliert. Mit Schwellen meine ich die äußeren maximalen Werte im Kurvenzug des Bildes. Und die liegen in hellgrauen Bereichen des Diagramms. Die internen Schwellen sind folglich überschritten.

Nein, der Standard fordert ±3V..±15V. Daß die ICs ±5V garantieren, ist ja standardkonform.

Ich meine dort, daß ±7V..±9V dem Standard entsprechen. Außerdem stehen davor im Original einige weitere Zeilen. Deshalb: "Soweit die offiziellen Definitionen.".

Wikipedia stellt das durchaus korrekt dar. Ich habe RS232 auch stets korrekt implementiert. Ich habe das mit ±3V..±15V von Beginn an richtig verstanden. Tricks wollte ich nie anwenden. Ich wollte nie ein ausgewiesener Experte für RS232 werden.

Ja, ich schrieb zuvor von ±2V statt TTL.

Reply to
Helmut Schellong

Am 13.02.24 um 21:38 schrieb Helmut Schellong:

Doch. Wikipedia ist keine zitierfähige Quelle nach wissenschaftlichen Standards. Jeder kann dort schreiben, es gibt keine zuverlässig funktionierende Filterung von Fehlinformationen. Gerade in technischen Artikeln der deutschen Wikipedia steht eine Menge Mist.

In diesem Newsposting stehen jetzt auch Begiffe wie "EIA", "Norm" und "Definition". Eine normative Kraft hat das Posting dennoch nicht.

Sofern du dich auf "offizielle Definitionen" berufen willst, zitiere bitte auch auch offiziellen Dokumente, nicht irgendwelche Hobby-Textsammlungen.

Warum behauptest du dann, das wäre nirgendwo spezifiziert? Im Pocket Guide standen die Schaltschwellen allerdings tatsächlich nicht, dazu braucht es das vollständige Datenblatt.

Die Innenschaltung ist im Datenblatt angegeben. Sie enthält am Eingang eine spezifische Kombination aus drei (krummen) Widerständen, welche ganz gezielt eben diese Schaltschwellen einstellt.

Beim 1489/75189 ist der Sternpunkt dieser Widerstände sogar herausgeführt, so das man mit externen Widerständen die Schaltschwellen modifizieren kann.

Die Entwickler haben sich also ganz definitiv Gedanken zu den Schaltschwellen gemacht und diese nicht dem Zufall überlassen.

Möglicherweise waren diese Schwellen Anfang der 70er Jahre bereits eine bewährte Praxis für RS232/V28. Möglicherweise wollte man neben RS232/V28 auch noch ein paar andere damals gängige Standards abdecken. Möglicherweise wollte man den Receiver auch bewusst so gestalten, das unbenutzte Receiver als TTL-ähnliche Inverter missbraucht werden können. Die 70er waren schließlich das Zeitalter extensiver Glue-Logik...

Der 75189 ist kein Teil der 74xx-Familie. Sowohl der Eingang als auch der Ausgang haben einen komplett anderen Aufbau.

Reply to
Hergen Lehmann

So wird es oft kolportiert, für mich seit etwa 8 Jahren, stets ohne Beleg. Ich habe in diesen 8 Jahren 2-mal kleine Fehler in Wikipedia gesehen - kaum der Rede wert. Du hast auch keinen Beleg gegeben. Wikipedia allerdings schon, mehrere, zum Ende des Artikels.

Natürlich nicht, allerdings die vielfältigen Belege in dem WP-Artikel durchaus.

Das letzte Wort ist eine massive Übertreibung - übrigens ohne Beleg - natürlich. "irgendwelche Hobby-Textsammlungen." kann als Falschdarstellung eingestuft werden.

Ich habe die Datenblätter zu flüchtig gelesen. Erst gestern habe ich zu dem Punkt genau nachgeschaut. Warum habe ich zu flüchtig gelesen? Weil diese Schwellen bisher für mich irrelevant sind.

Nein.

formatting link
: stoerabstaende.jpg

Das betreffende PocketGuide#1 (ich habe 4) enthält erstaunlich viele nützliche Informationen: Zwei Tabellen mit Grafiken zu Störabständen. Inhaltsverzeichnis Gehäuse-Zeichnungen Funktionssymbole Symbole der Eingänge und Ausgänge. Grundlagen zum Aufbau digitaler Schaltungen. Eingangsschaltungen Allgemeine Daten Etc.

Ich widerspreche hier nicht. Das Thema 'TTL-Schwellen hier' ist allerdings bisher für mich irrelevant, wie ich gestern bereits schrieb.

Ich meine die _Werte_ dieser 232-Schwellen! Das sind ungefähr typische 7400-Schwellenwerte. Man könnte mal die Haarspalterei etwas zurückfahren...

Allein da die Eingänge ±30V vertragen, kann doch die Eingangsschaltung nicht wie beim 7400 sein! Außerdem muß ein Schmitt-Trigger vorhanden sein.

Reply to
Helmut Schellong

Als Einstieg vergleiche einfach mal den englischen Text mit dem deutschen Text des selben Artikels. Wenn diese Texte irgendwie eine Referenz wären, müsste dort ja +/- Übersetzungsfeinheiten das Gleiche stehen. Tut es aber nur selten.

Und: schau auch mal in die Historie eines Artikels, und überlege, ob du wirklich JEDER durchgeführten Änderung zustimmen willst. Bedenke: JEDER dieser historischen Zwischenstände war mal öffentlich!

Wenn man Schnittstellen implementiert, kann es nicht schaden, sich neben dem offiziellen Standard auch mal ein, zwei weit verbreitete Implementierungen genauer anzuschauen. Das vermeidet viele Fehlerquellen. Das gilt umso mehr, wenn man den Originaltext des Standard gar nicht vorliegen hat, sondern nur Sekundärquellen. ^_-

Muss nicht zwingend.

Einer der Gründe, warum man bei RS232 eine übertrieben breite "undefinierte Zone" spezifiziert hat, dürfte gerade gewesen sein, auch für primitive, diskret aufgebaute Receiver ein sicheres Schalten sicher zu stellen. Der Standard stammt schließlich aus den 60ern, als jeder Transistor noch kostbar war.

Aber bei Line Receivern aller Art ist Schmitt-Trigger im Sinne der Störsicherheit natürlich immer empfehlenswert.

Reply to
Hergen Lehmann

Ich sagte nirgendwo, daß die Texte von WP-Artikeln die Qualität einer Referenz haben. Wer Wert darauf legt, kann ja die angegebenen Referenzen zusätzlich lesen.

Bisher habe ich etwa 40-mal nach einem de-Artikel auch den en-Artikel gelesen. Die Unterschiede sind groß - na und? - dürfen sie ja auch sein. Sie müssen lediglich sinngemäß zur Überschrift passen. Fehler sind ein _anderes_ Kapitel. Ich habe bisher nicht durch Vergleiche de-en versucht, Fehler festzustellen.

Das mache ich nicht. Ich bin doch kein WP-Analyst. Ein paar Mal habe ich mir teilweise eine Historie aus Neugier angeschaut. Werde ich wohl nicht wieder tun.

Es gab dabei bei mir noch nie Fehlerquellen. Ich habe die MAX232 einfach mit dem uC (5V) verbunden - und gut war das. Das 232-Datenblatt brauchte ich immer nur, um die Pins zu identifizieren. Ein Bild /operating circuit/ reichte.

Ein Konverter hat einen TTL-Eingang und einen EIA-Ausgang und einen EIA-Eingang und einen TTL-Ausgang.

Man muß doch auch ein angenähert sinusförmiges 300baud-Signal übertragen können. Wie soll das intern ohne Schmitt-Trigger gehen? Nackte TTL/CMOS benötigt doch Mindest-V/us-Werte.

CAN-Bus-Treiber (CAN-Transceiver) haben eine Hysterese von 150mV. Die haben auch eine Slope-Control.

Reply to
Helmut Schellong

Ihr wisst aber schon, dass das RS für "Recommended Standard" steht?

formatting link
(Und zur Pegel-Frage: Einfach einmal per MAX232A nach TTL und zurück wandeln. Dann ist das Thema erledigt und die Schaltung funktioniert auch mit den schwindeligsten Prolific-USB-RS232-Wandlern.)

Falk D.

Reply to
Falk Dµebbert

Erster Satz des Wikipedia-Artikels, den ich oben nannte:

-------------------------------------------------------- RS-232 (Recommended Standard 232) ist ein Standard für eine serielle Schnittstelle, der in den frühen frühen 1960er Jahren vom US-amerikanischen Standardisierungsgremium Electronic Industries Association (EIA) erarbeitet wurde und bis in die 2010er Jahre häufig bei Computern vorhanden war.

Ja, so wie es bei mir stets war. Ich habe schon vor Jahrzehnten ADM202E implementiert. Habe noch mehr als 10 liegen.

Reply to
Helmut Schellong

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.