FCC und MC2004 mit TC7 - Interface-Probleme und Lösung

Das Herz eines Selectrix-Digitalsystems: Die Zentrale. Egal ob reine SX-Zentrale oder SX-Multiprotokoll - hier sind Diskussionen rund um diese Geräte richtig.
Antworten
Benutzeravatar
schnorpser
Administrator
Beiträge: 219
Registriert: 12. Dezember 2011, 11:43
Wohnort: Radeberg
Kontaktdaten:

FCC und MC2004 mit TC7 - Interface-Probleme und Lösung

Beitrag von schnorpser »

Hallo zusammen,

im Verein möchten wir in Zukunft auf Multiprotokoll (FCC) setzen. Im Einsatz befinden sich u.a. Müt-Module, die mit der SX-Buserweiterung für SX2 und DCC nicht klar kommen (z.B. spielen die Müt 8i-GBMs am Bus mit aktivierter Buserweiterung verrückt - blinken wild umher). Also muss der Schalt- und Meldebus bei uns ein reiner SX-Bus ohne Buserweiterung sein.
Also haben wir die FCC (230400 Baud) zum fahren eingerichtet (SX0-Bus mit Buserweiterung, PX-Bus geht an die Stärz-3A-Booster), die MC2004 (38400 Baud) als Schalt- und Meldezentrale (SX1 ohne Buserweiterung). Im Zusammenspiel mit TC7 kam es dabei immerwieder zu Interface-Fehlern mit der MC2004 und abgestürztem TC7 (TC7 lies sich nur via TaskManager "abschießen"). Nach einigem Probieren und Suchen möglicher Ursache(n) hat sich herausgestellt, dass in dieser Konstellation die MC2004 mit 38400 Baud und FCC mit 230400 Baud nicht sauber funktioniert. Eine Reduzierung auf 19200 Baud bei der MC2004 brachte dann stabile Ergebnisse für den Rest des Tages. Ich werde das weiter beobachten und berichten, falls es hierzu was Neues gibt.

Umgebung:
FCC mit Firmware 1.10, USB-Schnittstelle (virtueller COM-Port)
MC2004 mit Firmware 3.16, RS232-Schnittstelle @COM1
Windows XP, Intel DualCore @ 2,3GHz, 2GB RAM


Informierende Grüße
SX1-Norbert
Admin Forum MEC Arnsdorf
Selbstbauelektronik für SX: http://www.norbert-martsch.de
Hardware: CC2000 (mit/ohne Update-Chip), FCC, RMX, MC2004, versch. Interfaces & Decoder sowie Encoder, Selbstbauelektronik, vorrangig D&H Lokdecoder, Software: TC, RocRail, MoBa in H0 und N
markus birner
Beiträge: 137
Registriert: 13. Dezember 2011, 12:51
Kontaktdaten:

Re: FCC und MC2004 mit TC7 - Interface-Probleme und Lösung

Beitrag von markus birner »

Hallo Norbert,

meine MC2004 läuft (allerdings ist es die einzige Zentrale am PC) schon seit dem ich sie habe (2002) mit der Übertragungsrate von 19.200 Baud.

Damit habe ich noch nie Probleme gehabt.

Hast du das MC2004-Interface im MÜT-Format oder evtl im SX-Format eingestellt?

Was passiert denn, wenn du auch die FCC in der Baud-Rate reduziertst?

Da ich bei mir am Moba-Schreibtisch zum Testen eine FCC habe (um nicht jedes mal die MC2004 an-/abzustöpseln) wäre auch ich daran interessiert, wie es bei euch weitergeht.
Vielleicht kommt irgendwann auch bei mir das SX und SX2 zum Einsatz ;)
Schöne Grüße

Markus

TC Gold
Spur N
SX und SX2
D&H FCC
Benutzeravatar
schnorpser
Administrator
Beiträge: 219
Registriert: 12. Dezember 2011, 11:43
Wohnort: Radeberg
Kontaktdaten:

Re: FCC und MC2004 mit TC7 - Interface-Probleme und Lösung

Beitrag von schnorpser »

Hallo Markus, hallo Gian,

vielen Dank für Eure Nachrichten.
[quote="
markus birner hat geschrieben:Hast du das MC2004-Interface im MÜT-Format oder evtl im SX-Format eingestellt?
MÜT-Format war und ist eingestellt. Vor dem Betrieb von FCC und MC2004 zusammen am PC hat die MC2004 alleine am PC mit 38400 Baud problemlos funktioniert. Persönlich und ohne Anspruch auf Richtigkeit tippe ich auf ein intolerantes Timing der MC2004 - kommen im definierten Zeitfenster nicht die erwarteten Daten, kommt das Interface durcheinander. MC2004 alleine am PC alles gut, mit FCC und MC2004 zusammen scheint ggf. der PC die Interfaces nicht mehr im erwarteten Zeitfenster bedienen zu können...?! Wie gesagt, meine Theorie... ;)
markus birner hat geschrieben:Was passiert denn, wenn du auch die FCC in der Baud-Rate reduziertst?
Hab ich nicht getestet. In der Doku zur FCC wird eine Reduzierung der Baud-Rate an der FCC nirgends erwähnt. Ich habe eine Reduzierung noch nie probiert, auch weil es mit der 230400er Einstellung bisher keine Probleme gab.
markus birner hat geschrieben:Da ich bei mir am Moba-Schreibtisch zum Testen eine FCC habe (um nicht jedes mal die MC2004 an-/abzustöpseln) wäre auch ich daran interessiert, wie es bei euch weitergeht.
Was interessiert Dich da konkret?


Viele Grüße
SX1-Norbert
Admin Forum MEC Arnsdorf
Selbstbauelektronik für SX: http://www.norbert-martsch.de
Hardware: CC2000 (mit/ohne Update-Chip), FCC, RMX, MC2004, versch. Interfaces & Decoder sowie Encoder, Selbstbauelektronik, vorrangig D&H Lokdecoder, Software: TC, RocRail, MoBa in H0 und N
markus birner
Beiträge: 137
Registriert: 13. Dezember 2011, 12:51
Kontaktdaten:

Re: FCC und MC2004 mit TC7 - Interface-Probleme und Lösung

Beitrag von markus birner »

Hallo Norbert,
schnorpser hat geschrieben: MÜT-Format war und ist eingestellt. Vor dem Betrieb von FCC und MC2004 zusammen am PC hat die MC2004 alleine am PC mit 38400 Baud problemlos funktioniert. Persönlich und ohne Anspruch auf Richtigkeit tippe ich auf ein intolerantes Timing der MC2004 - kommen im definierten Zeitfenster nicht die erwarteten Daten, kommt das Interface durcheinander. MC2004 alleine am PC alles gut, mit FCC und MC2004 zusammen scheint ggf. der PC die Interfaces nicht mehr im erwarteten Zeitfenster bedienen zu können...?! Wie gesagt, meine Theorie... ;)
War auch nur erst einmal eine Vermutung.
Ich hatte einmal den Fehler gemacht, dass ich die Zentrale auf "normeles" SX eingestellt hatte, und TC war auf MÜT eingestellt. Da hatte ich auch mal Probleme.

Das könnte natürlich sein, dass demnach der PC mit den unterschiedlichen Baud-Raten nicht mehr zurecht kommt.
schnorpser hat geschrieben:Was interessiert Dich da konkret?
Interessant wäre es dann zu wissen, bei welchen Einstellungen es funktioniert, dass beide Zentralen problemlos mit dem PC angesprochen werden können.
Schöne Grüße

Markus

TC Gold
Spur N
SX und SX2
D&H FCC
Benutzeravatar
schnorpser
Administrator
Beiträge: 219
Registriert: 12. Dezember 2011, 11:43
Wohnort: Radeberg
Kontaktdaten:

Re: FCC und MC2004 mit TC7 - Interface-Probleme und Lösung

Beitrag von schnorpser »

Hallo,

kurzes Update:
Auch am 2ten Vereinstag lief die MC2004 mit 19.200 Baud zusammen mit der FCC und TC7 nun problemlos ohne einen einzigen Absturz...


Informierende Grüße
SX1-Norbert
Admin Forum MEC Arnsdorf
Selbstbauelektronik für SX: http://www.norbert-martsch.de
Hardware: CC2000 (mit/ohne Update-Chip), FCC, RMX, MC2004, versch. Interfaces & Decoder sowie Encoder, Selbstbauelektronik, vorrangig D&H Lokdecoder, Software: TC, RocRail, MoBa in H0 und N
markus birner
Beiträge: 137
Registriert: 13. Dezember 2011, 12:51
Kontaktdaten:

Re: FCC und MC2004 mit TC7 - Interface-Probleme und Lösung

Beitrag von markus birner »

Hallo Norbert,

dann ist es anscheinend wirklich so, dass die MC2004 am besten mit der 19.200er-Baud am besten funktioniert.

Da ich an der Baud noch nie etwas geändert habe/hatte, fiel mir das so auch nicht auf.

Hast du an der Baud der FCC auch was geändert?
Schöne Grüße

Markus

TC Gold
Spur N
SX und SX2
D&H FCC
Benutzeravatar
schnorpser
Administrator
Beiträge: 219
Registriert: 12. Dezember 2011, 11:43
Wohnort: Radeberg
Kontaktdaten:

Re: FCC und MC2004 mit TC7 - Interface-Probleme und Lösung

Beitrag von schnorpser »

Hallo zusammen,

meines Wissens kann die Baud-Rate der FCC nicht geändert werden. Dies ist aber bisher auch nicht negativ aufgefallen. Mit 230.400 Baud benötigt die FCC nur ein Bruchteil von dem, was USB2.0 durchsetzen kann (Spec: 480MBit brutto, Netto-Verluste durch Aufteilung auf alle Teilnehmer zzgl. Protokoll-Overhead).
Mehr dazu auch hier:
http://www.1zu160.net/scripte/forum/for ... 52619#aw21
Bzw. hier das Zitat aus dem Posting:
Hallo zusammen,

ich habe mich nochmal etwas aufgeschlaut, hier die Zusammenfassung zu Thesen im Umlauf:

#1
Die FCC hat einen USB-Anschluss. Richtig, das ist keine "echte" USB-Schnittstelle. Der Anschluss erfolgt über eine galvanisch getrennte serielle Schnittstelle über einen FTDI-USB-Chip. D.h. FCC-Mikrocontroller <-> Optokoppler <-> FTDI-Wandler <-> USB
Viele andere Digitalzentralen nutzen ebenfalls solche "unechte" USB-Controller. Beispielsweise auch die RMX-Zentrale (ebenfalls FTDI) oder die Intellibox 2 (Silabs). Vorteil ist, dass die Treiber hierfür quasi standardisiert sind, für alle Betriebssysteme verfügbar und unter Win WHQL-zertifiziert sind. Somit brauchen die Softwares PC-Seitig "nur" eine COM-Schnittstelle unterstützen und es kann ihnen egal sein, ob real oder gewandelt.

#2
Dass es (fast) keine richtigen USB-Schnittstellen an den Modellbahngeräten gibt, stimmt so nicht.
Die Roco MultiZentrale pro beispielsweise besitzt ebenso wie der D&H Programmer einen echten USB-Anschluss -> vom Microcontroller direkt auf die USB-Schnittstelle. Die PC-Software muss dann aber natürlich dafür entwickelt worden sein über die von Windows bereitgestellten Treiber mit dem USB-Gerät kommunizieren zu können. Dies stellt aber ebenfalls kein Nachteil dar. TrainController unterstützt das Roco-System und TrainProgrammer unterstützt das D&H-Gerät.

#3
Die FCC nutzt ein Interface-Protokoll mit Polling. Aus diesem Grund muss der PC zyklisch alle Daten anfragen und sobald er die empfangen hat, selbst entscheiden, welche Daten für ihn relevant sind und diese dann auf Veränderung vergleichen. Da hier prinzipbedingt immer alle Daten übertragen werden, also auch die, die sich nicht verändert haben, ist eine höhere Baudrate sinnvoll, damit dadurch keine zeitlichen Nachteile entstehen. PCs haben damit keine Probleme und bieten diese Geschwindigkeiten auch. Es entsteht damit überhaupt kein zeitlicher "Engpass" bei diesem Verfahren. Die 230400 Baud mit Polling sind mit Sicherheit genau so schnell wie denkbare 57600 Baud ohne Polling mit "intelligenter" Rückmeldung der Änderungen.
Maximale Interface-Belastung im Sinne von Datenverkehr: Beide Busse inkl. aller Erweiterungskanäle abfragen: PC sendet 2 Bytes, FCC antwortet 418 Bytes (vgl. http://doehler-haass.de/cms/media/pdf/F ... e_Doku.pdf Seite 18). Wie lange nun die 2 Bytes hin und 418 Bytes zurück brauchen, können sich interessierte gern selbst ausrechnen

#4 FCC, ZS2, Interface und Kanalverwaltung:
Der PC möchte eine Lok mit der FCC fahren und sagt dem

PC: "Ich will die DCC-Lok 3 mit 28 Fahrstufen fahren!"

Die FCC antwortet: "In Ordnung, nutze dafür bitte den Kanal 1!"

Der PC kann dann die Lok fahren wie er möchte. Beispielsweise: "Stelle die Fahrstufe in Kanal 1 auf 22!" Die FCC verwaltet die Kanäle dabei komplett selbst. Also bis zu 32 SX2/DCC/MM-Loks.
Die ZS2 kann das nicht. Erstens werden hier "nur" 16 Kanäle unterstützt und zweitens muss der PC selbst erst alle verfügbaren Kanäle durchforsten, feststellen, ob diese frei sind oder ob bereits die gewünschte Lok aufgerufen ist, und anschließend sich selbst um die Verwaltung kümmern.
Dieses Verfahren führt zu einem größeren Aufwand auf dem PC. Das, was man mit dem "intelligenten" Interface-Protokoll spart, geht spätestens hier an die aufwändige Verwaltung der Lokkanäle wieder verloren (PC-seitig).

Ein anderes Beispiel zur FCC:
Ruft man an beiden SX2-Bussen dieselbe Lok auf, ist die FCC so intelligent die jeweils neueste Änderung zu erkennen und beide Lokkanäle zu synchronisieren. Somit ist es möglich dieselbe Lok abwechselnd mit unterschiedlichen Handreglern von unterschiedlichen Bussen zu steuern, ohne dass unsinnige Daten am Gleis ausgegeben werden.

#5 Die FCC gibt immer DCC am Gleis aus.
Das ist falsch. Wenn man die FCC auf ein Systemformat einstellt, das kein DCC beinhaltet, dann wird auch kein DCC am Gleis ausgegeben. Für MM gilt das genau so: Will man kein MM am Gleis haben, wählt man einfach kein Systemformat mit MM aus. Stellt man die FCC also auf SX1+SX2 wird man am Gleis nie auch nur ein DCC- oder MM-Bit sehen können.

#6 Die FCC nutzt einen intelligenten Refresh am Gleis.
Änderungen werden bevorzugt ausgeben, Fahrstufen vor niedrigen Funktionen, niedrige Funktionen vor höheren Fahrstufen usw. Da das PC-Interface der FCC direkt am "Haupt-Mikrocontroller" (es gibt ja nur den einen) ansetzt führt dies dazu, dass es sein kann, dass das Gleis bereits die neuesten Daten vor dem Handregler kennt. Der starre Rahmen des SX-Bus schränkt daher die Bandbreite des Gleissignals im PC-Betrieb keinesfalls ein. Aus der FCC kommen die Daten der automatischen Steuerung daher so schnell wie möglich heraus. Auf diesen Aspekt bezogen muss die FCC vor keinem reinen DCC-System ohne SX-Bus zurückschrecken.


Informierende Grüße
SX1-Norbert
Einen Engpass durch Polling bzw. durch das zyklische Abfragen der FCC haben ich bisher weder Interface- noch PC-seitig feststellen können.

Man muss sich auch mal vor Augen führen: Wir diskutieren hier über (EVD-technisch gesehen) primitive Bit-Schubserei - der SX-Bus hat 112x 8 Bit, also 112 Byte. Jetzt kommen, egal welches SX-Interface-Protokoll, noch ein paar Bytes hinzu, die dem Datenfluss, der Anfrage und Abfrage von Daten dienen. Die Schnittstelle kann Megabits handeln, die CPUs haben Gigaherz, dies mit mehreren Cores u.s.w. Die Rechenknechte behandeln sonst Mediadaten (Fotos, Video, HD, etc.). Sofern die PC-Software selbst nicht schlecht programmiert wurde, wird nie im Leben "der kleine 8-Bit Prozessor mit ~16MHz" eine moderne PC-Schnittstelle aus dem Tritt bringen.


Viele Grüße
SX1-Norbert
Admin Forum MEC Arnsdorf
Selbstbauelektronik für SX: http://www.norbert-martsch.de
Hardware: CC2000 (mit/ohne Update-Chip), FCC, RMX, MC2004, versch. Interfaces & Decoder sowie Encoder, Selbstbauelektronik, vorrangig D&H Lokdecoder, Software: TC, RocRail, MoBa in H0 und N
Antworten