S88 Projekte

Auf diesen Seiten werden Grundlagen und Selbstbau-Lösungen für den S88-Rückmeldebus beschrieben.

Motivation

Zur Rückmeldung von Ereignissen auf meiner Modellbahnanlage setze ich ein HSI-88 von LDT-Datentechnik ein. Das erfüllt seine Aufgabe sehr gut, ist aber sehr spartanisch ausgestattet. Insbesondere fehlt mir die Möglichkeit, auch die Zustände der Rückmelder ohne PC anzeigen zu lassen. In meiner Version von 2002 fehlt auch noch die LED, so das keine Kontrolle der Funktionsfähigkeit gegeben ist.
Auf der Suche im Internet nach entsprechenden Produkten gefiel mir der S88-Sniffer Schnüffel von Sven Brandt am besten. Der "Nachteil" dieser Lösung war, dass dieser Baustein bestimmungsgemäß nur zusammen mit den anderen dort angebotenen Komponenten einsetzbar ist, weil ein erweitertes Kabellayout verwendet wird.

Nun könnte man sicherlich dafür auch Workarounds finden. Das war aber nicht in meiner Absicht. Am sinnvollsten setzt man solche Bausteine ohnehin am Ende der S88-Kette ein, also dort wo sich das Interface befindet. Am naheliegensten ist es nun, das Interface mit einer Anzeigefunktion auszustatten. Auf Grund der z.Z. sehr günstigen Preise für Mikrocontroler ist es auch zu einem Bruchteil des Preises eines Original HSI-88 im Selbstbau zu erstellen.

Analyse

Auf den Webseiten von Sven Brandt befindet sich ebenfalls eine sehr gute Darstellung der Grundlagen des S88-Busses (Technische Details S88 Bus). Ich habe daraufhin einige Versuche an einem HSI88 und einer Intellibox mit einem einfachen Logik-Analysator(ELV MLA1000) durchgeführt und das Protokoll damit noch einmal für mich dokumentiert.


Hier sieht man eine Intellibox mit 2 konfigurierten Modulen, wobei nur ein Modul angeschlossen ist. Das HSI88 macht eine Pause im Taktsignal zwischen den Modulen, die Intellibox nicht. Das Data-Signal steht mit der steigenden Flanke des Clock-Signals zur Verfügung. Vor dem erstem Takt wird das Load-Signal aktiviert, welches für fast die gesamte (verlängerte) 1. Taktperiode bleibt (bildlich viel besser bei Sven Brandt). Anschliessend kommen der Reihe nach die Daten der Module. Hier ist nur Pin 2 und Pin4 am ersten Modul aktiv.

Simulation

Mit diesem Wissen habe ich zunächst versucht, die Anzeige-Funktionalität in einem Simalator mit einfachen TTL-Bausteinen nachzustellen. Das ist ohne weiteres möglich, wie meine Versuche mit ProfiLab Expert beweisen. Als Input konnte ich direkt meine im Logik-Analysator gesammelten Daten nehmen, nachdem ich den Text-Teil am Ende der Analysator-Datei mit einem Hex-Editor entfernt habe.

Das Load-Signal wird durch das Taktsignal in der Länge reduziert und setzt damit (anstatt mit Reset) die Schieberegister und Zähler zurück, weil das Reset-Signal ja erst NACH dem erstem Datensignal kommt. Gleichzeitig wird der 8Bit-Zähler in den oberen 4-Bit mit der anzuzeigenden Modul-Nummer "M", die unteren 4bit mit "1" (für die 16Eingänge eines Moduls) vorgeladen, wodurch der Überlauf zurückgesetzt wird. Die Daten werden nun mit dem Clock-Signal mit der fallenden! Flanke der Reihe nach, mit dem am nächsten in der Kette befindlichen Modul zuerst, durch die Schieberegister geschoben. Parallel dazu wird der Zähler herunter gezählt. Nach "M"x16 Takten sind die Daten des Moduls M in den Schieberegister geladen. Der Überlauf des Zählers deaktiviert alle weiteren Clock-Impulse bis zum nächsten Load(Reset)-Impuls. Der RD-Baustein dient nur zum Einspeisen der Simulationsdaten, der Logik-Analyser ist auch nur zur Kontrolle da.
Wenn man mehr als 16 Module in einer Kette anzeigen möchte, reicht der 8Bit-Zähler nicht mehr aus. Aber wer so viele Module hat, braucht u.U. meine TTL-Lösung nicht oder kann sie selber anpassen.
Wer also nicht auf die Interface-Funktionalität angewiesen ist, kann sich auch mit einfachen TTL-Bausteinen eine S88-Anzeige bauen.


Teil 1S88 Grundlagen
Teil 2S88 Monitor/Sniffer mit AVR
Teil 3S88 Sniffer mit AVR
Teil 4Weichenlagedetector mit S88 Rückmelder

Index
Disclaimer
© 2009-2010 Thomas Dreßler
Alle Rechte vorbehalten
letzte Änderung 25.04.2010