Informationen zum Xpressnet™
Einleitung
-
Mit Xpressnet™ lassen sich Eingabegeräte, PC-Interfaces und stationäre Decoder bzw. Rückmelder
verbinden.
Das XpressNet ist ein von Lenz Elektronik entwickeltes Netzwerk, das sowohl für Industrie und Privatpersonen
frei zugänglich ist. Ein Reihe von kommerziell verfügbaren Geräten sind mit Xpressnet ausgestattet, u.a. die
Roco Multimaus.
Übertragungstechnik
-
Die Übertragung erfolgt mit RS485 im Halbduplex,
das ist eine differentielle Übertragungstechnik auf zwei Leitungen, diese sind an beiden Enden
mit 120 Ohm
abgeschlossen. Typisch sitzt ein Abschluß in der Zentrale.
Bei RS485 sendet die Quelle mit mind. 1,5V Hub, am Empfänger müssen mind. 200mV ankommen.
Es ist linienförmige und sternförmige Topologie möglich, Netz- und Ringstrukturen
sind nicht erlaubt. Die max. Ausdehung ist mit 1000m angegeben, lt. Lenz sollen dabei aber dann
linienförmige Strukturen und ein Abschluß am weitest entfernten Teilnehmer vorgesehen werden. Nicht erwünscht sind
lange Einzeläste (wegen Leitungsreflexionen), also sollte man insgesamt eher eine lineare Anordnung anstreben.
- Jeder Teilnehmer bei offenem Bus den Zustand 1 am Ausgang liefern (fail-safe). Zustand 1 entspricht IDLE bei einer seriellen Übertragung.
- Der Bus selbst entsprechend vorgespannt sein, d.h. es sollte auf Leitung A ein pull-up und auf Leitung B ein pull-down vorgesehen werden. (Biasing).
Die Sender sind kurzzeitig kurzschlußfest, so dass kurzzeitiges Gegensenden zweier Sender nicht zu Defekten führt. Auch können Geräte während des Betriebes ab- und angesteckt werden.
Es wird mit 9 Bit, keinem Paritätsbit und einem Stopbit übertragen, die Übertragungsrate beträgt 62500 Baud. RS485 könnte mehr (bis zu 10MBit auf kurzen Strecken), allerdings wurde die Geschwindigkeit wegen leichterer Verarbeitung in den Endgeräten und Freiheit bei der Netztopologie (Stichleitungen) auf 62,5 kBaud reduziert.
Die Datenabnahme erfolgt i.d.R. mit UARTs, wobei gemäß unten stehender Arbitrierung das Senderecht zugeteilt wird. Der Bus geht beim Wechsel zwischen verschiedenen Teilnehmer kurz in IDLE (d.h. kein Teilnehmer treibt). Um in dieser Phase das fälschliche Triggern von UARTs sicher zu unterbinden sollte:
Aus elektrischen Gründen können bis zu 32 Teilnehmer angeschlossen werden. Jeder Teilnehmer verursachte eine Last am Bus (sog. Unit Loads, eine hypothetische Lastgrösse). Diese Teilnehmerzahl spiegelt sich auch in der Protokollebene (s.u.) wieder. Allerdings sind mittlerweile viele Bustransceiver auch mit geringeren Buslasten verfügbar, so dass inzwischen elektrisch auch mehr Teilnehmer möglich sind.
Physikalische Ausführung, Stecker
-
Es gibt zwei verschiedene Steckerausführungen:
- DIN-Rundstecker
Xpressnet, DIN Stecker Pin Farbe Name Beschreibung 1 gelb L Power, +12V 2 - - offen 3 schwarz M Masse, GND 4 grün A RS485 + 5 rot B RS485 - - Modularstecker
Dieser Stecker ist der heute gebräuchliche Anschluß. Es wird RJ12 (korrekte Bezeichnung wäre RJ-25, dies entspricht RJ-11 bzw. RJ-12, aber alle 6 Pins belegt) verwendet, die Pinbelegung ist gemäß folgender Tabelle.
Buszuteilung, Arbitrierung
- Das Bustiming wird von der Zentrale vorgegeben. Die Zentrale sendet entweder Buszuteilungen (sog. Token)
oder Nachrichten und schaltet dann fallweise für eine bestimmte Zeit die Busrichtung um.
Jede Übertragung von der Zentrale wird mit einem besonderen Byte, dem sog. Callbyte begonnen.
Dieses Callbyte
enthält den Adressat der Nachricht (=client, Wert 1..31) sowie 2 Bits, welche den Typ der Nachricht bezeichnen.
Beim Callbyte ist immer das Bit 8 (also das MSB) gesetzt, daran können die Clients
den Beginn einer Nachricht erkennen (framing). Nachrichten an den Client 0 sind an alle adressiert (=Broadcast).
Zur Vergabe des Busses sendet die Zentrale in beliebiger Reihenfolge Tokens an die Busteilnehmer (Clients). Ein Token besteht nur aus dem Callbyte. Dieses enthält die Adresse des Clients (1..31), 0x40, und das Bit 8 (also das MSB, 9.te Bit) ist gesetzt. Nach dem Empfang eines Tokens darf der angesprochene Client innerhalb eines Zeitfensters von 80µs eine (und nur eine) Anforderungsnachricht abschicken, die fallweise von der Zentrale beantwortet wird.
Die übertragenen Nachrichten werden in Paketen zusammengefaßt, diese bestehen aus:
Xpressnet Nachrichten | ||
---|---|---|
1 Byte | 1 - 15 Bytes | 1 Byte |
Header Kennung und Länge des Paketes |
Nutzinhalt z.B. Lokadresse und Fahrstufe |
Prüfsumme XOR über Header und Nutzinhalt |
Probleme und Mängel
- Zahl der Busteilnehmer beschränkt.
Xpressnet kann 31 Busteilnehmer ansprechen - auch wenn inzwischen RS485 da schon mehr zuläßt, so ist es doch auf der Protokollebene auch auf 31 beschränkt. Und das kann dann doch schnell zusammenkommen: ein paar Bediengeräte, PC-Interface, Rückmelder, Railcom-Detektoren ...
Xpressnet hat keinerlei Spezifikation für die Art der Bustransceiver und nur sehr lose Definitionen für die Verdrahtungstopologie festgelegt. Es gibt auch keine verlässlichen Daten, bis zu welcher Ausdehnung das Netz stabil funktioniert. Bei einer Analyse verschiedener Xpressnetgeräte fanden sich auch Bustransceiver (das ist der Ansteuerbaustein für den Bus), die eigentlich nur für schnelle Punkt-zu-Punkt Verbindungen gedacht sind, nicht für mehrfach verzweigte Netze. - Adressraum für Zubehördekoder und Rückmelder
Xpressnet kann nur 1024 verschiedene Zubehördekoder ansprechen, dies ist eine deutliche Einschränkung gegenüber der DCC-Norm, wo 2040 Adressen zur Verfügung stehen. Darüber hinaus ist dieser Adressraum in der unteren Hälfte gleichzeitig von Rückmeldern belegt (es wird im Protokoll nicht unterschieden). Zudem ist die Bitzuordnung der Abfragebefehle etwas _unglücklich_, so dass man eigentlich nur der Empfehlung von Lenz folgen kann und bis 64 die Weichen, danach die Rückmelder einordnet. Folge: es sind nur noch 256 Weichen sinnvoll ansprechbar. - Erweiterte Zubehördekoder
Für Signaldecoder und auch für Mehrwegweichen ist in DCC ein erweiterter Zugriff vorgesehen, in welchem direkt die Signalbegriff oder der Abzweig gestellt wird. Xpressnet (in der Orginalversion) kann diese Art von Befehlen nicht ansprechen. - Programmieren für Zubehördekoder
Xpressnet kann Zubehördekoder nicht per PoM ansprechen - erstaunlich bei einer Firma, welche technologische Führerschaft bei DCC für sich reklamiert. - Abfragen und Reservieren von Loks
Bei Xpressnet kann man die Eigenschaften einer Lok (also Fahrstufe und max. Fahrstufenzahl, Licht und Funktionen) von der Zentrale abfragen, die Antwort bezieht sich immer auf die vorangegangene Anfrage, die Lokadresse wird nicht mitgeliefert. Will man man mehrere Anfragen von einem Busteilnehmer aus stellen, so muß man auf der Anfrageseite den Bezug zwischen Anfrage und Antwort verfolgen, was z.B. bei einer Basisstation für mehrere Funkhandregler unhandlich ist.
Am Xpressnet lassen sich Loks nicht für einen bestimmten Handregler reservieren, Lok-Objekte können von jedem anderen Handregler quasi geklaut werden. Dies ist sicherlich bei einer Heimanlage problemlos, bei einer Vereinsanlage würde man sich hier einen Schutz wünschen.
Links
-
www.lenzusa.com/manuals/xpressnet/xpressnet.pdf
allg. Befehlsübersicht; Erweiterung für Modellbahnuhr, für BiDi und Rückmeldung
Anschlußsteckdosen für die Anlage
Erweiterung OpenDCC für Xpressnet
Sniffer für Xpressnet
Railcom Xpressnet Umsetzer
Xpressnet - Ethernet Bridge (inkl. TCP/IP to serial converter)