[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [DDL-ML] Decoder 6080



Hi,
das folgende ist zwar theoretisch, basiert aber auf langjährigen
Erfahrungen mit industriellen Systemen:

Ich halte die Booster für nicht verantwortlich an den Problemen mit der
"Verständigung" zwischen DDL und versch. Decodern. Alle Booster, deren
Schaltbilder ich bislang gesehen habe, haben recht simple Schalt-Endstufen
mit Si-Transistoren oder MOS-FETs. Deren Schaltgeschwindigkeit ist auf alle
Fälle mehr als ausreichend hoch um keine Probleme zu verursachen (bzw. nach
meiner Überzeugung eher zu hoch für diesen Einsatz, da dadurch die
EMV-Problematik erhöht wird, das ist aber ein anderes Thema!). Die
Verzögerungen der Schaltflanken sind auch vernachlässigbar bei unseren
Betriebsbedingungen.

Betrachtet man sich aber die Funktionsweise der Dekoder, bekommt man erste
Hinweise: ich kann solche asynchronen, seriellen Signale entweder (nach der
Startflanke) einmal in der vermuteten Mitte eines Bits abtasten oder auch
mehrfach während der vermuteten Dauer eines Bits (zur Erhöhung der
Störsicherheit).

Wenn ich z.B. zweimal abtaste (bei 1/3 und 2/3 der Bit-Dauer) muss das
Signal erheblich stabiler sein um korrekt erkannt zu werden. Wir haben das
früher benutzt, da es auf Sender-Seite normalerweise sehr einfach ist,
genaue Zeiten einzuhalten und die Störungen (Einstreuungen, Verschleifungen
durch extrem lange Kabel, Optokoppler usw.) erst auf der Strecke dazu
kamen. Im Beispiel wird ein Bit also erst akzeptiert, wenn sein Zustand bei
1/3 und 2/3 der Bitdauer gleich ist. Man kann das auch noch weiter treiben
und z.B. zehnmal abtasten und akzeptieren, wenn z.B. 75% gleich sind....

Erzeuge ich die Signale mit einem handelsüblichen PC unter DOS habe ich mit
der genauen Zeit-Einhaltung zwar schon ein paar Probleme, ich habe jedoch
direkte Kontrolle über die CPU und die Hardware. (Jedenfalls solange ich
"einfache" CPUs wie den 8088 einsetze, bei einem Pentium kommen hier noch
andere Dinge dazu). Mache ich das jedoch unter Windows oder Linux, glaube
ich nur noch die Kontrolle zu haben. Beide Systeme sind in ihrer "üblichen"
Version nicht echtzeit-fähig! Für den Einsatz in Steuerungssystemen gibt es
Zusätze und Sonderversionen von Windows, die für uns hier jedoch nicht in
Betracht kommen (Verfügbarkeit, Preis, teilweise Bedarf an Sonderhardware).

Da DDL jedes Bit sozusagen einzeln erzeugen muss, ergibt sich automatisch
unter den o.a. Umständen ein sog. Jitter: d.h. die Bits haben
unregelmässige Abstände und Dauer. Das wurde ja auch schon berichtet.

Und je nach Arbeitsweise des Decoders (siehe oben) wird der eine Decoder
eine Signalfolge noch als einwandfrei akzeptieren, der andere nicht. Wobei
noch das Phänomen auftritt, dass der eigentlich bessere Decoder (mit
Mehrfach-Abtastung) mit Sicherheit früher aussteigt, wie einfacher
aufgebaute!

Lösung: eigentlich nur über Hardware möglich. Man bräuchte eigentlich nur
einen kleinen Mikrocontroller mit serieller Schnittstelle...

Ich hoffe, ich konnte mit dieser doch recht langen Ausführung etwas
Klarheit schaffen
mfg
Achim Schäfer