Mikroprozessor statt C-Mos?

Auch wenn von der Industrie bis heute die alt­be­währ­ten CMOS Bau­stei­ne CD4044 (4-Fach Latch) und CD4014 (8-stufiges Schieberegister) für S88 Rückmeldebausteine ein­gesetzt werden, kann man das S88 Prinzip auch mit einem Mikroprozessor realisieren. Als ich die ersten RFID-Leser auf der Basis Arduino Uno „RFID-S88-Light“ und Nano realisierte, habe ich auch auf die CMOS Bau­steine verzichtet und den Ar­dui­no als 16-Bit S88 Modul verwendet. Warum sollte S88 dann nicht auch mit meinem bevorzugten Mikroprozessor, dem ATTiny2313A, funktionieren?

RM8S88N, erstes Experiment mit adressierbaren S88 auf Lochrasterplatine. Der Mikroprozessor ist der ATMEL ATTiny2313A.

Absolut adressierte S88 Module

Ob man nun 3 CMOS ICs (2 x CD4044 und 1 x CD4014) oder einen ATTiny2313A einsetzt, ist vom Preis her ziemlich gleich. Nur der eine DIP20 Mikroprozessor braucht deutlich weniger Platz als die 3 DIP16 CMOS Bausteine.
Da ich eine modulare H0 Anlage betrei­be, hatte ich schon seit Jahren den Wunsch, die dort einge­setz­ten, selbst­ge­bauten S88 Module absolut zu adres­sie­ren. So kam mir die Idee, die absoluten Adressen erst­mals bei diesem Projekt zu realisieren. Der erste Entwurf erlaubte tat­sächlich eine funk­tio­nierende Adres­sie­rung. In Verbindung mit klassischen S88 Modulen war die Adressierung aber nur be­dingt absolut. Es gab bei vor­ge­la­ger­ten Standard-Mo­dulen nach wie vor eine Verschiebung um die Anzahl der vor­ge­la­ger­ten Rückmeldebits. Nur bei Adresse 0 hatte das Modul dieselbe Funk­tionalität wie ein Standard S88 Mo­dul, d. h. die Position in der S88 Kette bestimmt die Adresse. Wurden mehrere absolut adres­sier­te S88 Module in Reihe geschaltet, summierten sich aber die Laufzeiten der Daten. Ich habe diesen RM8S88N Rück­mel­der ge­baut und getestet. Es war aber nicht das, was ich eigentlich woll­te. Das Haupt­problem war, dass die Module die Daten am S88-IN Port sofort wieder auf dem OUT Port weitergeben mussten. Das ist zwar nicht viel Code, kostet aber Zeit.


Prototyp des RM8S88NB auf einer selbst hergestellten Platine.

Aus dem Grund wur­de das Projekt in dieser Form ver­wor­fen. Ich be­schloss die ur­sprüng­lich er­wünsch­­te Kompati­bilität mit den Stan­dard S88 Modulen aufzugeben und nur noch mit dem Scanner, bzw. der S88 Zen­trale kompatibel zu sein. Im alten Kon­zept waren die adressierbaren Mo­du­le so lange „durchreichen“ für S88 Daten, bis ein Takt­impuls-Zähler die Adres­se des ersten Rückmelde-Bits erreicht hat­te. In diesem Mo­ment wurde das S88 Schiebe­register (die „Eimerkette“) um die eigenen 8 Datenbits „verlängert“ und diese Daten mit in das Schiebe­register eingeschleift und durch­getaktet.


Adressierbares 8-Fach S88 Rückmeldemodul auf einer industriell hergestellten Platine

Im neuen Konzept sollte die Da­ten­lei­tung durch­gehend sein, wie eine Bus­leitung. Alle betei­ligten S88 Mo­du­le kön­nen sich vor­über­­ge­hend auf diesen Bus auf­schalten. Dazu wird der betref­fende Port des Con­trol­lers mit dem Bus ver­bun­den. Die Ver­bin­dung ist jedoch hoch­ohmig, also quasi elek­trisch unter­bro­chen. Er­reicht die Anzahl der S88 Takt­signale die Adres­se des er­sten Rück­melders auf unserem S88 Modul, schal­tet der Mikro­­pro­zes­sor den Port von hoch­­­oh­mi­­gen Ein­gang auf nieder­­ohmi­gen Aus­gang um und kann nun seine Da­ten auf dem Bus ausge­ben. Bei je­dem Takt wird ein Bit der bereits intern ge­spei­cherten 8 Bit Ein­gangs­information aus­ge­ge­ben. Nach 8 Takt­im­pul­sen wird der Port wieder auf Ein­gang umgeschal­tet und damit hochohmig. Jetzt dür­fen und können die anderen S88 Teilnehmer ihre Information auf den Bus schalten. Um die Bus­leitung auf einem 0-Pegel zu hal­ten, wenn alle S88 Kno­ten hoch­ohmig sind (z. B. bei einer Lücke in der Adres­sie­rung), wird er mit einem 330 Ohm Wider­stand nach Masse abgeschlossen. Das hat zugleich den Vorteil, dass diese nie­dri­ge Im­pe­danz die Stör­fes­tig­keit des Systems verbes­sert. Durch den Ein­satz der S88-N Ver­bin­dungs­­technik wird die Stör­festigkeit noch mal bes­ser. Außer der höheren Stör­festigkeit hat das RM8S88NB Modul na­türlich den Vorteil, dass es in beliebigen Kabel-Topologien ver­wen­det werden kann. Mit RJ45 T-Stü­cken aus dem Elektronik­han­del kann man Baum­­strukturen und Lineare Busse mit Stich­leitungen aufbauen und kombi­nieren.

  • Wie bisher, alle Module in einer Kette
  • Baumstruktur mit RJ45 T-Stücken
  • Gemischt, linear und Baum

Was mache ich mit den Standard S88?

Wenn die Standard S88 Module mit den RM8S88NB Modulen kombiniert werden, funk­tio­niert das nur eingeschränkt:

  • Die Standard-Module müssen zwischen Zentrale und dem ersten RM8S88NB eingereiht werden.
  • Der Jumper für den 330 Ohm Ab­schluss­wider­stand muss entfernt werden.
  • Die Rückmeldungen der RM8S88NB sind in der Adresse „verschoben“. Haben Sie ein 16 Bit Standard Modul eingereiht, sind die Adressen der RM8S88NB Rückmelder um 16 höher als die eingestellte Adresse glauben macht.

Nur mit dem AKS88NB können Sie die vorhandenen Standard S88 Module pro­blemlos weiterverwenden und sogar die bisherigen S88 Adressen beibe­hal­ten. Wie das funktioniert, sehen Sie hier in mei­nem Blog.


Nachbau des 8-Bit Rückmeldebausteins

RM8S88NB Unterlagen
RM8S88NB nachbauen
RM8S88NB Schaltplan
RM8S88NB Bestückung Top
RM8S88NB Bestückung Bottom
RM8S88NB Layout (Eagle)
RM8S88NB Stückliste
RM8S88NB Reichelt Warenkorb
RM8S88NB Firmware (rm8s88nb.hex, rm8S88nb.eep und rm8s88nb.elf)
RM8S88NB Eagle und Gerber Dateien
RM8S88NB programmierter Prozessor. Bestellen Sie bei mir formlos per Mail. Geben Sie bitte Ihren Namen und Ihre Anschrift an. Kosten 4,- Euro/Stück + Versand.
RM8S88NB Platine. Bestellen Sie bei mir formlos per Mail. Geben Sie bitte Ihren Namen und Ihre Anschrift an. Kosten 3,- Euro/Stück + Versand.
RM8S88NB Platine mit programmierten Prozessor. Bestellen Sie bei mir formlos per Mail. Geben Sie bitte Ihren Namen und Ihre Anschrift an. Kosten 6,- Euro/Stück + Versand.
RM8S88NB 3D Modell für den Gehäuseboden.

Gehäuse

Es spricht nichts dagegen, die RM8S88NB Module „nackt“ unter der Anlage zu verbauen. Man montiert sie auf Distanzrollen mit einer Höhe von 3 mm, damit sich die Stifte und die Lötstellen der Komponenten nicht in die Anlagenplatte bohren.
Alternativ baut man die Platine in ein Gehäuse ein, wie im nachstehenden Bild:

Kästchen aus dem 3D-Drucker mit Öffnungen für Taster, LED und Brücke
das dazugehörige 3D-Modell (2 Teile, Boden und Deckel)

Programmieren

Durch kurzes Brücken des Jumpers JP1 wird der Programmiervorgang gestartet. Die LED LED1 leuchtet jetzt. Durch kurzes Drücken der Taste springt die Adresse des ersten Eingangs von 1 auf 9, dann von 9 auf 17, usw. Das kann man in einem S88 Monitor, wie es ihn bei iTrain oder WDP gibt, gut beobachten. Es wird die Nummer des 8-Bit Moduls in Binärcode an der Stelle des Moduls im Rückmeldebereich angegeben.
Halten Sie die Taste länger als 6 Sekunden gedrückt, erlischt die LED und die neue Adresse wird in den EEPROM geschrieben.


© 2017 – 2024 Gerard Clemens – letzter Update 6.07.2024