[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DDL-ML] ddl-mailing-list@der-moba.de



Am Sam, 11 Nov 2000 schrieben Sie:

> > externen RAMs den Refresh nicht durchführen. Der PC muss also einen
> > permanenten Datenstrom liefern. IMO keine so tolle Lösung.

> Ich fände die Lösung so ganz gut. Auch der von Kurt angesprochene 
> Repeater-Ansatz wäre aus meiner Sicht interessant. 
> Stellst Du dir das als (ISA/PCI) PC-Karte vor oder als Peripherie an 
> COMx/LPx? Würde die Hardware gleichzeitig auch das DDC-Protokoll 
> unterstützen? 

Es wird an den COM-Port angeschlossen. Das DCC-Protokoll ist im Prinzip
kein Problem. Die Signalform ist mir eigentlich egal. Nur die Dauer eines
Pulses ist kritisch; aber da ist DCC ja eh langsamer als Motorola.

Ich sollte mal kurz erklären, wie ich zu dem Preisansatz komme:
(Achja: Die Sache mit dem Repeater habe ich nicht so ganz verstanden; bin halt
mehr Modellbahntheoretiker als Praktiker, weil ich immer noch nicht den
geigneten Platz in unserem Haus gefunden habe.)

Für diese einfache Lösung reicht ein Atmel 90S2313 aus, welcher bei
Conrad für irgendwas um die 13,-DM zu haben ist. Dazu noch MAX232 für
die serielle Schnittstelle, Quarz und ein paar diskrete Bauteile. (obwohl ich
noch ein paar Buffer an die TTL-Ausgänge hängen würde. Damit nicht gleich
der Controller dran glauben muss, wenn was falsch läuft...).
Bei der anderen Lösung braucht man einen ATMEL 90S8515, der etwas über 20.- DM
kostet und eine 32kByte grosses externes S-RAM und ein Adress-Latch (etwa 1-2
DM). Der Preis für das RAM ist mir nicht geläufig. Ansonsten bleibt erst mal
alles gleich. Achja: Bei den Atmels ist der Conrad gar nicht so teuer. Für
unsere Firma habe ich über 500 Atmel 90S2313 gekauft (direkt beim Atmel
Distri.) und ein Stück hat uns 8,05 DM + Mwst. gekostet. Also der Unterschied
war hier nicht so gravierend. Allerdings ist der Unterschied bei MAX232 usw.
durchaus gravierend (v.a. bei 500 Stück). Aber das wissen wir alle sowieso :)


Hmmm. Je mehr ich drüber nachdenke: So dumm ist die Idee doch nicht ;-)
Vielleicht sollte ich mir das doch mal nochmal genauer überlegen.

Torsten: Was denkst Du ?

Wir speichern im PC die Signalform (also beim Refresh nicht ständig die
Signalform neu erzeugen). In einem eigenen Refresh-Thread wird ständig
diese Refreshinformation zur Hardware gesendet. Ändert sich etwas, wird der
entsprechende Eintrag geändert und diese Änderung als nächstes rausgeschickt
und danach normal mit dem Refresh weitergemacht.
Ich implementiere dann ein Hardware-Handshake (CTS) um rechtzeitig Stopp sagen
zu können.  Liegt nicht rechtzeitig ein neues Datenpaket an, wird das letzte
Datenpaket einfach wiederholt. Zur Sicherheit lege ich einen oder zwei
Zwischenpuffer an. 
Auf dem Rückkanal gebe ich dann S88-Meldungen aus.

So könnte ich mir das zumindest vorstellen.

Gruss,

	Markus