XpressNet

Aus Digital Modellbahn
Eigenbau | P50X-Protokoll | DCC-Protokoll | LocoNet-Protokoll | XpressNet-Protokoll


XpressNet logo.jpg

XpressNet-Protokoll

Nach der Dokumentation von Lenz und OpenDCC wurde eine Library für die Arduino IDE entworfen um über den XNet-Bus zu kommunizieren. Diese Library bietet alle Funktionen des XpressNet.Dabei können beliebige Komponenten wie zum Beispiel ein Handregler oder andere Endgeräte wie die Z21 App mit dem XpressNet kommunizieren.

Call Byte Übersicht

Ein Call Byte (Ruf Byte) eröffnet den Datentransfer und wird vor jedem Datenpaket gesendet. Es wird dadurch gekennzeichnet das, dass 9. Bit als eins gesetzt wird.
Call_Response P11A AAAA
Call_Inquiry P10A AAAA
Call_Request_Ack_From_Device P00A AAAA
Call_Broadcast P110 0000
Call_Transfer_Error P11A AAAA

Dump Lokmaus2 Anmeldung

Hier ein Auszug aus der Anmeldung am XpressNet-Bus durch eine LokMaus2:
RX: 0x141 0x21 0x24 0x05 - Status Zentrale anfordern
TX: 0x1E1 0x62 0x22 0x00 0x40 - Status Zentrale
RX: 0x141 0x21 0x21 0x00 - Softwareversion anfordern
TX: 0x1E1 0x63 0x21 0x30 0x00 0x72 - Softwareversion Zentrale
RX: 0x141 0xE3 0x00 0x00 0x04 0xE7 - Lokdaten anfordern
TX: 0x1E1 0xE4 0x04 0x00 0x00 0x00 XOR - Normale Lokinfo

Hardware

Das Arduino Interface ist ein Standard RS485 Bus. Dieser arbeitet mit 9n1 Daten und läuft deshalb auf dem Hardware UART des Arduino. Zusätzlich wurde für ein Projekt, dass sich unter den Beispielen der Library befindet, ein Ethernet Shield auf den Arduino gesetzt. Dabei simuliert der Arduino eine Z21 von ROCO. Somit lassen sich über die Z21 mobile APP Loks via Smartphone an jeder Zentrale mit XBus Version 3.0 steuern.

Arduino XpressNet Interface mit MAX485

Software

Die Software ist mit der Arduino IDE geschrieben.