This is an old revision of the document!
S88
Allgemein
Der S88 ist ein Rückmeldebus für Modellbahnsysteme.
Bis zu 32 verteilte Teilnehmer hintereinander geschaltet bilden ein zusammenhängendes Register, in das zyklisch Werte geladen werden. Diese (binären) Werte kommen von Schaltern, Gleis-Rückmeldern u.ä. Dingen, die rund um die Anlage verteilt sind.
Nachdem alle diese Werte einmal in das Register geladen wurden, wird nun der Inhalt sukzessive mit einem Takt in Richtung Zentrale geschoben (Bit für Bit) und dort zwischengespeichert und weiterverarbeitet.
Der S88-Bus besteht ingesamt aus 3 Steuerleitungen, CLOCK, LOAD und RESET und einer Datenleitung, DATA.
Mehr Details zum S88-Bus findet sich bei Sven Brandt und bei Der MoBa.
Netzer als Zentrale
Aufgrund der Flexibilität des Netzers ist es sehr einfach möglich einen S88-Strang mit dem Netzer auszulesen. Zur Anwendung kommt der serielle Server im SPI Master Modus.
Hardware
Einstellungen
Der Netzer mit installierter Pro-Version (min. Release 1.5) muss zuvor über das Webinterface konfiguriert werden:
- SPI-Master-Mode auf der Allgemein-Seite aktivieren
- SPI-Master-Einstellungen: Frequenz auf 5 kHz, SPI-Modus 2 (Ruhepegel des SPI-Taktes ist 1, Übernahme der Daten erfolgt bei fallender Flanke) Abtasten in der Mitte (siehe Bild)
Herstellen der Verbindung
Für einen Verbindungstest sollte ein Terminalprogramm verwendet werden, mit dem Bytes in Hexadezimal- oder Binärdarstellung versendet oder empfangen werden können wie z.B. das Hammer-Terminal). Die eigentliche Netzwerkverbindung wird mit com2tcp aufgebaut.
Startkommando:
# | ASCII-Notation | Hexadezimal-Notation | Erläuterung |
---|---|---|---|
1 | 1 | 0x5C 0x31 | Umstellen des SPI-Modes auf 1. CLOCK wechselt von 1 auf 0. |
2 | J | 0x5C 0x4A | LOAD (am INT-Pin) wird gesetzt. |
3 | t | 0x5C 0x74 | Warte mindestens 100 µs (Ruhe). |
4 | 2 | 0x5C 0x74 | Schalte SPI-Mode auf 2 zurück. CLOCK wechselt von 0 auf 1. Damit werden durch das anliegende LOAD-Signal die Rückmeldesignale entlang des Busses in die Register übernommen. |
5 | j | 0x5C 0x74 | Schalte LOAD von 1 auf 0 zurück. |
6 | I | 0x5C 0x49 | Aktiviere RESET (am CS-Pin) von 0 auf 1. Damit werden eventuell vorhandene Latches zurückgesetzt. |
7 | i | 0x5C 0x69 | Schalte RESET von 1 auf 0 zurück. Nun ist der S88 vorbereitet, um die Daten bitweise zum Netzer zu schieben. |
8… | a | 0x61 | Nun können beliebige viele Daten übertragen werden (sinnvollerweise nur soviel wie S88-Module am Strang hängen - Module mit 16 Eingängen zählen natürlich doppelt). Jedes Byte (ohne Fluchtsequenz) bewirkt ein Schieben des Busses um 8 Bit (normaler SPI-Modus). Gleichzeitig werden die Daten von der Leitung MI übernommen und über das Socket versendet. |