Mikroprozessor statt C-Mos?
Auch wenn von der Industrie bis heute die altbewährten CMOS Bausteine CD4044 (4-Fach Latch) und CD4014 (8-stufiges Schieberegister) für S88 Rückmeldebausteine eingesetzt 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 Bausteine verzichtet und den Arduino als 16-Bit S88 Modul verwendet. Warum sollte S88 dann nicht auch mit meinem bevorzugten Mikroprozessor, dem ATTiny2313A, funktionieren?
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 betreibe, hatte ich schon seit Jahren den Wunsch, die dort eingesetzten, selbstgebauten S88 Module absolut zu adressieren. So kam mir die Idee, die absoluten Adressen erstmals bei diesem Projekt zu realisieren. Der erste Entwurf erlaubte tatsächlich eine funktionierende Adressierung. In Verbindung mit klassischen S88 Modulen war die Adressierung aber nur bedingt absolut. Es gab bei vorgelagerten Standard-Modulen nach wie vor eine Verschiebung um die Anzahl der vorgelagerten Rückmeldebits. Nur bei Adresse 0 hatte das Modul dieselbe Funktionalität wie ein Standard S88 Modul, d. h. die Position in der S88 Kette bestimmt die Adresse. Wurden mehrere absolut adressierte S88 Module in Reihe geschaltet, summierten sich aber die Laufzeiten der Daten. Ich habe diesen RM8S88N Rückmelder gebaut und getestet. Es war aber nicht das, was ich eigentlich wollte. Das Hauptproblem 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.
Aus dem Grund wurde das Projekt in dieser Form verworfen. Ich beschloss die ursprünglich erwünschte Kompatibilität mit den Standard S88 Modulen aufzugeben und nur noch mit dem Scanner, bzw. der S88 Zentrale kompatibel zu sein. Im alten Konzept waren die adressierbaren Module so lange „durchreichen“ für S88 Daten, bis ein Taktimpuls-Zähler die Adresse des ersten Rückmelde-Bits erreicht hatte. In diesem Moment wurde das S88 Schieberegister (die „Eimerkette“) um die eigenen 8 Datenbits „verlängert“ und diese Daten mit in das Schieberegister eingeschleift und durchgetaktet.
Im neuen Konzept sollte die Datenleitung durchgehend sein, wie eine Busleitung. Alle beteiligten S88 Module können sich vorübergehend auf diesen Bus aufschalten. Dazu wird der betreffende Port des Controllers mit dem Bus verbunden. Die Verbindung ist jedoch hochohmig, also quasi elektrisch unterbrochen. Erreicht die Anzahl der S88 Taktsignale die Adresse des ersten Rückmelders auf unserem S88 Modul, schaltet der Mikroprozessor den Port von hochohmigen Eingang auf niederohmigen Ausgang um und kann nun seine Daten auf dem Bus ausgeben. Bei jedem Takt wird ein Bit der bereits intern gespeicherten 8 Bit Eingangsinformation ausgegeben. Nach 8 Taktimpulsen wird der Port wieder auf Eingang umgeschaltet und damit hochohmig. Jetzt dürfen und können die anderen S88 Teilnehmer ihre Information auf den Bus schalten. Um die Busleitung auf einem 0-Pegel zu halten, wenn alle S88 Knoten hochohmig sind (z. B. bei einer Lücke in der Adressierung), wird er mit einem 330 Ohm Widerstand nach Masse abgeschlossen. Das hat zugleich den Vorteil, dass diese niedrige Impedanz die Störfestigkeit des Systems verbessert. Durch den Einsatz der S88-N Verbindungstechnik wird die Störfestigkeit noch mal besser. Außer der höheren Störfestigkeit hat das RM8S88NB Modul natürlich den Vorteil, dass es in beliebigen Kabel-Topologien verwendet werden kann. Mit RJ45 T-Stücken aus dem Elektronikhandel kann man Baumstrukturen und Lineare Busse mit Stichleitungen aufbauen und kombinieren.
- 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, funktioniert das nur eingeschränkt:
- Die Standard-Module müssen zwischen Zentrale und dem ersten RM8S88NB eingereiht werden.
- Der Jumper für den 330 Ohm Abschlusswiderstand 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 problemlos weiterverwenden und sogar die bisherigen S88 Adressen beibehalten. Wie das funktioniert, sehen Sie hier in meinem Blog.
Nachbau des 8-Bit Rückmeldebausteins
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:
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
1. August 2021 um 20:47 Uhr
Hallo,
gibt es dazu wie beim AKS88NB Schaltungsunterlagen etc.
Mit freundlichen Grüßen
Andreas Nabinger
2. August 2021 um 8:48 Uhr
Ja, es gibt auch Platinen. Ich werde das heute noch online stellen.
Grüße
Gerard Clemens