[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[DDL-ML] Programmiergleis / ACK-Schaltung
Hallo DDL-er
Ich habe wieder etwas Zeit gefunden um an der ACK-Schaltung herumzubasteln.
Ich habe es sogar fertig gebracht, dass mir die Lokadresse mehrmals
hintereinander richtig ausgelesen und das ACK-Signal erkannt worden ist
(Rückgabewert 1). Allerdings ist die Schaltung momentan ziemlich instabil.
Wenn ich CV29 oder CV49 auslese funktioniert das ACK-Signal nicht (zu lange
=> Rückgabewert 2, aber beim richtigen Value). Auch beim beschreiben des
Decoders funktioniert das ACK-Signal noch nicht.
In der NMRA wird nur festgesetzt, dass das ACK-Signal mindestens 5 ms lang
anstehen muss. Nach oben wird keine Zeitbegrenzung angegeben.
Mit dem KO habe ich gemessen, dass bei mir das ACK-Signal ca. 120 ms
anstehen muss, damit es richtig erkannt wird (Rückgabewert 1). Wenn es nur
ca. 110 ms ansteht, erhalte ich Rückgabewert 0. Wenn es ca. 130 ms ansteht,
erhalte ich Rückgabewert 2. Es ist relativ schwierig, wenn nicht sogar
unmöglich mit einer einfachen Kondensatorladung den Schaltzeitpunkt
reproduzierbar so genau einzustellen.
Ich arbeite mit SuSE Linux 7.0.
Meine Fragen an Torsten (und andere, die sich da auskennen):
a) Warum wird das ACK von der Software nicht erkannt, wenn es 110 ms ansteht
(nach NMRA wäre das ok)?
b) Ist es möglich, dass bei der ACK-Erkennung die verschiedenen
Distributionen verschieden reagieren?
c) Gemäss meinen Erfahrungen wäre es sinnvoll, bei der ACK-Erkennung den
Zeitbereich zwischen Rückgabewert 0 und Rückgabewert 2 zu vergrössern.
d) In welchem File und darin in welchem Bereich wird das RI-Signal von der
RS-232 eingelesen rsp. wo kann ich die unter c) erwähnten Zeitbereiche
versuchsweise manipulieren?
Gruss
Hanspeter