Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
de:netzer:s88 [2012/01/13 15:13] – angelegt svesch | de:netzer:s88 [2025/06/11 20:42] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== S88 ====== | + | ====== |
===== Allgemein ===== | ===== Allgemein ===== | ||
+ | |||
+ | <note important> | ||
Der S88 ist ein Rückmeldebus für Modellbahnsysteme. | Der S88 ist ein Rückmeldebus für Modellbahnsysteme. | ||
Line 16: | Line 18: | ||
===== Netzer als Zentrale ===== | ===== 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 [[serialserver|serielle Server]] im SPI Master Modus. | + | Aufgrund der Flexibilität des Netzers ist es sehr einfach möglich einen S88-Strang mit dem Netzer auszulesen. Zur Anwendung kommt der [[serialserver|serielle Server]] im SPI Master Modus. Neben dem Bus wird die Möglichkeit genutzt, dass IO-Pins direkt mit Escape-Sequenzen angesprochen werden können. |
==== Hardware ==== | ==== Hardware ==== | ||
+ | {{ : | ||
+ | Das Bild zeigt eine Schaltung für die Netzer [[playground|Spielfeld]] S88-Erweiterungsplatine. Die Komponenten sind Standardkomponenten, | ||
- | ==== Einstellungen ==== | + | Die Schaltung ist schnell erklärt. Da die Betriebsspannung des Netzers +3,3V beträgt, der S88-Bus jedoch im Normalfall mit +5V arbeitet, werden Bustreiber (**IC1**) zwischen die drei Steuerleitungen S88_RESET, S88_LOAD und S88_CLOCK geschaltet. Da die Tristate-Funktion der Bustreiber nicht benötigt wird, werden sie einfach immer eingeschaltet (EN=GND). C1 dient der Abblockung. +5V wird vom [[playground|Netzer Spielfeld]] zur Verfügung gestellt. |
- | Der Netzer mit installierter **Pro**-Version (min. Release 1.5) muss zuvor über das Webinterface konfiguriert werden: | + | J1 bietet eine Anschlusstelle nach dem herkömmlichen Verdrahtungsmuster für S88. JP1 ist eine RJ45-Buchse nach dem neuen Verdrahtungsstandard [[http://www.s88-n.eu|S88N]] |
- | | + | |
- | - 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) | + | |
- | {{s88_spisettings.gif? | + | Nach dem S88-Verdrahtungsstandard S88N ist für die Versorgungsspannung alternativ zu +5V auch eine +12V zulässig, falls das die Module am Bus unterstützen. Für das Umschalten der Versorgungsspannung per Jumper dient **JP2**. VCC_AUX ist die primäre Versorgungsspannung vom Netzer Spielfeld und sollte entsprechend auf +12V geregelt werden. |
- | <note important> | + | Pin 8 des S88N-Standards ist für das Gleissignal gedacht. Testweise wird hier der SPI-Datenausgang noch über den Bustreiber an diesen Pin gelegt, um ggf. auch Steueraufgaben übernehmen zu können (falls JP3 gejumpert ist). |
+ | Die Datenleitung des Busses S88_DATA wird direkt an den Netzer angeschlossen, | ||
+ | <WRAP center round info 60%> | ||
+ | Für die weitere Dokumentation wird angenommen, dass LOAD an SPI_INT und RESET an SPI_CS angeschlossen ist. | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Einstellungen Netzer Webinterface ==== | ||
+ | |||
+ | 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 (Danach Neustart nicht vergessen!) | ||
+ | - SPI-Master-Einstellungen: | ||
+ | - GPIO-Einstellungen: | ||
==== Herstellen der Verbindung ==== | ==== 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 [[http:// | + | Für einen Verbindungstest |
+ | Unter Linux kann auch ganz einfach **netcat** verwendet werden. | ||
- | Startkommando: | + | ==== Beispielprotokoll ==== |
+ | Für das Generieren der Steuersignale wird die folgende Sequenz benutzt: | ||
^ # ^ ASCII-Notation ^ Hexadezimal-Notation ^ Erläuterung ^ | ^ # ^ ASCII-Notation ^ Hexadezimal-Notation ^ Erläuterung ^ | ||
| 1 | \1 | 0x5C 0x31 | Umstellen des SPI-Modes auf 1. CLOCK wechselt von 1 auf 0. | | | 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. | | | 2 | \J | 0x5C 0x4A | LOAD (am INT-Pin) wird gesetzt. | | ||
| 3 | \t | 0x5C 0x74 | Warte mindestens 100 µs (Ruhe). | | | 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. | | + | | 4 | \2 | 0x5C 0x32 | 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. | | + | | 5 | \I | 0x5C 0x49 | Aktiviere RESET (am CS-Pin) |
- | | 6 | \I | 0x5C 0x74 | Aktiviere | + | | 6 | \i | 0x5C 0x69 | Schalte |
- | | 7 | \i | 0x5C 0x74 | Schalte | + | | 7 | \j | 0x5C 0x74 | Schalte |
| 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.| | | 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.| | ||
+ | Und so sieht es dann aus (Oben ist der Takt, unten LOAD - das Timing des ersten Bytes): | ||
+ | {{ : | ||
+ | |||
+ | ===== PC-Software ===== | ||
+ | Kommt bald... |