The DCC-Signaler hardware is the link to the Booster.
It's job is simple:
The signal-forms generated by the DCC-Signaler host are brougth
on their way to the booster; with exactly timed signals.
Therefore the host transmits the bit-pattern and the type of the
signal (e.g. NMRA or Motorola) to the hardware.
So it's possible to easily implement new commands or correct wrong implemented
commands within the host without the need to program a new firmware.
The hardware actually only takes over the job of generating the time-critical
conversion of the bit-pattern to electrical signals.
|
Die DCC-Signaler Hardware stellt die Verbindung zum Booster dar.
Hierbei übernimmt sie die Aufgabe, die durch den DCC-Signaler Host
generierten Signalformen mit exaktem Timing elektrisch auf ihren
Weg zum Booster zu bringen.
Hierzu werden vom Host lediglich das Bitmuster des Signals und die
Art des Signals (z.B. NMRA oder Motorola) übertragen.
Dadurch können neuen Befehle und auch Korrekturen von falsch
generierten Befehlen im Host realisiert werden ohne eine neue Firmware
einspielen zu müssen. Die Hardware übernimmt also nur die
zeitkritische Umsetzung der Signalgenerierung aus Bitmuster in elektrische
Signale.
|
The hardware is not yet in it's final state. Therefore I suggest that you use
a kind of a prototype-technique :)
Following a description of what is needed:
- Atmel AT90S2313 with a 9,216MHz clock
- TXD/PD1 and RXD/PD0 via MAX232 converted to RS232 -> Host-Interface
- PB1 is used to generate the digital-signal, which is meant for the booster.
For most boosters it's best to convert that signal to RS232, as well. There is
still room within the MAX232 to perform that task.
- PB.0 is used as an output to signal whether POWER is on or off
- PD.5 is used as an input for SHORTCUT-detection (internally pulled-up)
- PD.6 is used as an input for ACK-detection (internally pulled-up)
- The missing parts as usual. E.g. power-on reset like you prefer it
Testing the modul
Start a terminal-application (e.g. minicom on Linux).
The parameters for the serial port are 115200BPS,8N1
After entering "DSv" (without " of course) the modul will answer
with it's version-numer (e.g. "V3").
Now start the currenct version of the server (the host-application of the
Dcc-signaler project) and you can start with tests on your modell-railroad.
|
Die Hardware ist noch nicht endgültig fertig. Deshalb empfehle ich noch
einen Nachbau in Prototypentechnik :)
Folgend die Eckpunkte, welche die Hardware
benötigt. D.h., wer etwas Erfahrung mit Microcontrollern hat, dem sollte
es recht leicht fallen, die Hardware bis zum aktuellen Stand nachzubauen !
- Atmel AT90S2313 mit 9,216MHz getaktet
- TXD/PD1 und RXD/PD0 mittels MAX232 auf RS232 gebracht -> Host-Interface
- Auf PB1 wird das Digitalsignal erzeugt, weches zum Booster geht. Für die
meisten Booster macht es Sinn, dieses Signal nach RS232 zu konvertieren. Im MAX232
ist ja noch Platz dafür.
- PB.0 wird als Ausgang genutzt, um POWER an/aus zu signalisieren
- PD.5 wird als Eingang genutzt zur Kurzschlusserkennung (intern mit Pull-Up)
- PD.6 wird als Eingang genutzt zur ACK-Detektion (intern mit Pull-Up)
- Die restliche Beschaltung wie üblich, d.h. Power-On Reset nach belieben
Test des Moduls
Zum Testen ein Terminalprogramm starten (z.B. Minicom unter Linux).
Die Parameter der Schnittstelle sind 115200BPS,8N1
Nach der Eingabe von "DSv" (ohne die " natürlich) antwortet das Modul
mit seiner Versionsnummer (z.B. "V3").
Jetzt muss nur noch die aktuelle Version des Servers gestartet werden und schon
kann es mit Tests auf der Modellbahn los gehen.
|