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.
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.
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 |
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 müssen von jedem µCon-Gerät verstanden und beantwortet werden. Die Antwort kann je nach Gerät jedoch unterschiedlich ausfallen.
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:
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.