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.
    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:
  • 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).


  • 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
    DIN-Stecker
    PinFarbe NameBeschreibung
    1 gelb L Power, +12V
    2 - - offen
    3 schwarzM 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.
    Xpressnet, RJ12 Stecker
    PinFarbe NameBeschreibung
    1 weiß C Gleissignal, DCC (optional)
    2 schwarz M Masse, GND
    3 rot B RS485 -
    4 grün A RS485 +
    5 gelb L Power, +12V
    6 blau D Gleissignal, DCC (optional)
    Das Gleissignal C und D ist optional und dient z.B. der Versorgung von rückmeldefähigen Decodern oder Boostern. Es wird ein übliches 4-adriges oder 6-adriges Telefonkabel verwendet. Die Leitungen A und B sind verdrillt auszuführen.

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
    Die im Header angegebene Länge ist die Summe aller Nutzbytes, ohne die Prüfsumme und ohne den Header selbst. Die Länge wird als 4-Bit Wert kodiert, eine Nachricht kann also maximal 15 Bytes Inhalt haben. Die Maximallänge einer kompletten XPressnet-Nachricht ergibt sich somit zu 17 Bytes.

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