µCon-Bus

Allgemeines

Der µCon-Bus ist als Stromschleife ausgeführt. Alle Teilnehmer senden und empfangen auf derselben Leitung. Die Übertragung erfolgt im Halb-Duplex Verfahren. Daher darf immer nur ein Sender aktiv sein.

Es wird im UART-Verfahren mit einer Baudrate von 65200 Baud und 8n1 gesendet.

Die Prüfsumme (CRC) ist dabei die XOR-Verknüpfung aller vorangegangenen Bytes.

Bus-Timing

Das Bus-Timing wird vom LoDi-Rektor vorgegeben. Er schickt auch alle Kommandos. Ein µCon-Gerät darf nur dann Senden, wenn es vorher adressiert wurde. Die Antwort muss innerhalb von 600µs erfolgen.

Kommandos, die nicht beantwortet werden müssen, werden zwei Mal gesendet. Zwischen beiden Paketen liegt ein Abstand von 600µs.

Kennt ein Slave ein Kommando nicht oder wurde er nicht adressiert, muss er alle nachfolgenden Bytes ignorieren, bis im Datenstrom eine Pause von 300 µs erkannt wird.

Nicht zu beantwortendes Paket

Rektor Write    
Rektor Data     Header Addr 0..n x Data CRC   Header Addr 0..n x Data CRC  
Zeit 600µs 26µs 160µs 160µs 0..n x 160µs 160µs 600µs 160µs 160µs 0..n x 160µs 160µs  

Zu beantwortendes Paket

Rektor Write                
Rektor Data     Header Addr n x Data CRC            
Slave Write                
Slave Data                 Header Addr n x Data CRC
Zeit 600µs 26µs 160µs 160µs n x 160µs 160µs <600µs 26µs 160µs 160µs n x 160µs 160µs

Allgemeine Kommandos

Allgemeine Kommandos müssen von jedem µCon-Gerät verstanden und beantwortet werden. Die Antwort kann je nach Gerät jedoch unterschiedlich ausfallen.

µCon Read Version

Dieses Kommando wird vom LoDi-Rektor geschickt, um ein am Bus neu erkanntes Gerät zu identifizieren.

Der LoDi-Rektor sendet:

Header Addr CRC
 0xB0 1..63 0x00 .. 0xFF

Ein angesprochenes Gerät antwortet:

Header Addr Gerätetyp Major Minor CRC
 0xB1 1..63 0x00 .. 0xFF 0 .. 255 0 .. 255 0x00 .. 0xFF

Gerätetyp:

  • 0x01: µCon-Booster
  • 0x02: µCon-Railspeed
  • 0x03: LoDi-Booster
  • 0x04: LoDi-CDE
  • 0x05: LoDi-Trainspeed
  • 0x06: LoDi-Booster 10A
  • 0x07: LoDi-Bootser 20A
  • 0x08: LoDi-DC-Car-Booster

µCon Device-Poll

Dieses Kommando wird vom LoDi-Rektor in zyklischen Abständen für jede Geräte-Adresse auf den Bus geschickt. Ein angesprochenes µCon-Gerät muss darauf antworten. Auf diese Weise werden Änderungen am Bus erkannt.

Der LoDi-Rektor sendet:

Header Addr CRC
 0xE1 1..63 0x00 .. 0xFF

Ein angesprochener Booster antwortet:

Header Addr Status Strom 1 Strom 2 CRC
 0xF2 1..63 0x00 .. 0xFF 0 .. 255 0 .. 255 0x00 .. 0xFF

Der Status ist Bit-kodiert.