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

[DDL-ML] Ein paar aktuellen Ideen



Liebe Modellbahner-Kollegen,

dies wird eine lange Mail -- bitte um Verzeihung ... ich benutze ab 
sofort auch meine Heimatadresse, weil ich mich mehr außerhalb meiner 
"Dienstzeit" mit der Sache beschäftigen will ... 

Ich würde gern mal ein paar Anmerkungen zu ausgewählten aktuellen 
Themen machen. Da hat sich einiges bei mir angestaut :-)) Ich möchte 
auch nach Rüdesheim kommen (wenn ich auch kein Hotelzimmer brauche und 
mich deswegen bisher nicht angemeldet habe) und freue mich sehr darauf, 
Euch dort besser kennenzulernen. 

Reden wir zuerst über Bussysteme und den Anschluss der Anlage an den 
PC. Ich habe mal für mich als Forderungen gestellt: 
- nur handelsübliche Teile, die ich bei mehreren Distributoren oder im
  Elektronikshop an der Ecke kriegen kann
- leicht nachzubauen, auch von Nicht-Experten
- funktions- und betriebssicher, leicht zu prüfen
- frei verfügbar, so dass ich es ohne rechtliche Probleme diskutieren
  und weitergeben kann
- kostenmäßig im Rahmen eines Hobbyisten, für den Modellbahn wichtiger
  ist als die Computersteuerung derselben

Kleine Anmerkung zu den folgenden Hinweisen: eine exzellente Quelle für 
Informationen über elektronische Bausteine ist http://www.chipdir.org/  
   

Ich denke, die vier aktuellen Favoriten sind
- Serielle Verbindungen (RS232 oder RS485)
- USB
- Loconet
- Ethernet

Im Moment ist seriell wohl sehr verbreitet. Ein Problem ist die Anzahl 
der Ports an einem Rechner. RS232 ist halt Punkt-zu-Punkt. Ich mag es 
nicht so sehr, weil ich es nicht mehr überall habe (z.B. an meinem 
Laptop oder am Apple), zudem ist die Anzahl der Geräte doch begrenzt. 
Ich lasse es jetzt für eine eher auf die Zukunft gerichtete Diskussion 
mal weg. 

Ich habe mich seit einiger Zeit sehr intensiv mit USB beschäftigt. 
Glaubte mal, das sei *die* Lösung. Aber ich kann nur zur Vorsicht 
raten! In meinem Keller z.B. darf ich jedesmal, wenn ich das (Neon-) 
Licht einschalte oder den Heizlüfter anwerfe, die Hälfte der 
vorhandenen USB-Geräte ab- und dann wieder anstecken! Zudem ist die 
Versorgung mit Bauteilen sehr dürftig. Ich gebe mal einen Überblick, 
was ich so kenne: 
-- http://www.usb.org/
-- http://www.linux-usb.org/
-- http://www.beyondlogic.org/
-- http://www.cypress.com/
-- http://www-us.semiconductors.philips.com/usb/
-- http://www.national.com/pf/US/USBN9603.html
-- http://www.netchip.com/USB_products.htm
-- 
http://www.microchip.com/1010/pline/picmicro/families/16c7xx/index.htm 
-- http://www.ubicom.com/products/processors/IP2022_home.html
http://www.infineon.com/cgi/ecrm.dll/ecrm/scripts/prod_ov.jsp?oid=1361
-- 8&cat_oid=-9221 
-- http://eu.st.com/stonline/books/pdf/docs/7212.pdf
-- http://www.smsc.com/main/catalog/usbprods.html

Also, ich kenn' natürlich noch viiiieeel mehr, aber das hier sind 
sicher die wichtigsten. Als Quintessenz kann ich sagen, dass der 
Philips USBD11, die Cypress Sachen und die PIC's am einfachsten und 
sichersten sind. Aber bei USB sind ein Sack voll Caveats zu beachten, 
die mir den Spaß mächtig verdorben haben. Es ist höchst kompliziert, 
das Protokoll sauber auf die Reihe zu kriegen. Egal, es verlangt 
jedenfalls einen ganzen Kerl :-) Und wenn man die Sachen an andere 
weitergeben will, muss man sich auch noch registrieren lassen beim 
USB-Forum (kostet 1500 USD Minimum ...) Ein PIC kostet 11-15 DM als OTP 
(ohne Fenster) und 40-50 DM als EPROM mit Fenster und muss beim 
Distributor extra bestellt werden. 

Loconet scheint etwas sehr gut Durchdachtes und einfach zu 
Beherrschendes zu sein. Mein Problem damit ist in erster Linie die 
Lizenz: "Is LocoNet Proprietary? Yes, in the strictest sense of the 
word LocoNet is a proprietary system. [...] The non-disclosure 
agreements & licensing agreements & fees for the use of LocoNet are not 
intended to prevent or discourage anyone from using LocoNet but merely 
to insure that system resources are used prudently & to cover Digitrax 
cost to maintain and expand the LocoNet as needed. [...] Is LocoNet 
Patented? Portions of LocoNet are covered by US Patent Number 
6,275,739." Nun bin ich *kein* fanatischer Anti-Patent-Aktivist (ich 
bin wirklich neutral eingestellt und respektiere den Schutz geistigen 
Eigentums!) Aber hier ist m.E. doch ein gewisses Maß an Vorsicht 
geboten. Also lass ich lieber die Finger davon, zumal auch eine 
Schnittstelle zum Computer hin gebraucht wird. 

Bleibt Ethernet (d.h. für mich :-) Also habe ich mir etwas ausgedacht, 
was ich gerne mit Euch teilen möchte. Hier ist also, woran ich gerade 
arbeite, und was ich gerne mit zu dem Treffen bringen kann, wenn jemand 
daran ein Interesse hat. 

Ausgangspunkt: jeder braucht einen Booster. Dieser Booster wird immer 
auch angesteuert, sei es von einer Intellibox, einer M6051 oder einer 
seriellen Schnittstelle. Was ich nun machen will, ist ein *sehr 
preiswerter* Booster mit Ethernet-Schnittstelle. Dieser Booster sollte 
*selbst* SRCP verstehen können und direkt ins LAN gehängt werden. 

Prinzipiell gibt es eine Reihe brauchbarer Ethernet-Bausteine für 
embedded Devices (hier mal eine Auswahl): 
-- 
http://www.cirrus.com/design/products/overview/index.cfm?ProductID=46 
-- http://www.realtek.com.tw/htm/products/cn/rtl8019as.htm
-- http://www.smsc.com/main/catalog/embeth.html
http://www.amd.com/us-en/Networking/ProductInformation/0,,50_2330_3272
-- ,00.html 
-- http://www.embeddedethernet.com/
-- http://www.embeddedether.net/

Aber alle diese haben mehrere Nachteile: man bastelt und schraubt mit 
SMD  Bauteilen. Man braucht eine Registrierung beim IEEE, wenn man 
weitergeben möchte (eine Vendor-ID kostet wieder 1500 USD ...). Und man 
kriegt diese Teile nicht an jeder Ecke. Daher habe ich ein anderes 
Konzept verfolgt. Es ist hier beschrieben: http://avr.jpk.co.nz/ Ich 
denke mal, das Prinzip ist klar, oder? Wir bauen uns eine kleine 
Trägerplatine, auf der der Atmel und die Steuerelektronik liegen, plus 
eine PC-Steckerleiste. Darauf sitzt eine "normale" NE-2000 kompatible 
Netzwerkkarte (kostet ca 35 DM bei Conrad :-) Damit kann ich sogar Coax 
oder TwistetPair benutzen, je nachdem was ich für eine Karte reinsetze. 
Den Atmel betreibe ich mit einem Betriebssystem, das man hier kostenlos 
bekommen kann: http://www.barello.net/ (Wer mehr zu AVR wissen will, 
schaue hier: http://www.ipass.net/~hammill/newavr.htm). 

Der Atmel treibt dann zwei L298 Leistungsbrücken (einer für die Schiene 
in Parallelschaltung für 4A, der andere für das Programmiergleis). Ich 
muss noch mal gucken, wo ich die Schaltung her habe, aber es war im 
Dunstkreis der NMRA von einem kenr@xis.xerox.com. 

Das ganze ist dann in der Lage, das SRCP Protokoll direkt zu bedienen 
und braucht keine weiteren Komponenten. Und eine Ethernet Schnittstelle 
kann so ziemlich an jeden Computer angeschlossen werden, und man 
braucht keine Spezialteile (wie USB-Hubs oder wer weiß was). 
Infrastruktur für Ethernet ist einfach Standard. 

Ich weiß, hier wird einiges an Know-How wegen der Atmel Programmierung 
zu bringen sein, deshalb kann das nicht jeder einfach zuhause 
nachbauen. Mir schwebt vor, das ganze Design (Hard- und Software) unter 
GPL zu machen (es gibt eine interessante Website dazu: 
http://www.freeio.org/) und die Teile (Platinen, programmierte AVR's 
usw,) wenn gewünscht zum Selbstkostenpreis an jedermann abzugeben (und 
jeder andere kann das natürlich auch machen!) Wenn das als ethisch 
bedenklich gesehen wird, mache ich es nicht -- hier geht es mir nicht 
um Profit ... (Feedback dazu ist mir willkommen). Durch diese Maßnahmen 
würde ich die "Nachbaubarkeit" als erfüllt ansehen. 

Ich veranschlage für den RTOS Kern ca. 1000 Worte Speicher, und für den 
TCP/IP Stack noch einmal 1500. Dzu 500 für die PWM Generation und 
"etwas" für den SRCP Teil und die State Machine. Nehmen wir einen 
AT90S8535, dann haben wir also reichlich Platz. Den gibt es übrigens an 
jeder Ecke (z.B. bei http://www.hed.de/) und er hat 3 PWM's und auch 
die A/D-Wandler für die ACK-Detektor-Auswertung von den 
L298-Sense-Pins. Der TCP/IP-Stack ist übrigens bei 
http://www.embeddedethernet.com/appnotes/crst8515.asm schon in 
Grundzügen zu finden, obwohl ich ihn in C schreiben will. 

Ich habe jetzt einen Prototypen aufgebaut und versuche im Moment, das 
Ding mit Leben zu füllen. Besteht ein Interesse, dass ich das dann in 
Rüdesheim mal vorstelle? 

Was dieser Booster nicht kann, ist Besetztmeldung u.ä. Dazu möchte ich 
ein weiteres Projekt aufsetzen, das analog zum Ethernet-Booster 
funktioniert. Das wird aber noch dauern, weil ich erst einen Booster 
laufen haben möchte und nicht zuviel auf einmal bewältigen kann. 

Noch ein weiteres Thema: Handregler. Dazu schreibe ich besser morgen 
eine neue Mail :-))) Nur soviel: in Elektor gibt es in Okt+Nov 2001 
eine recht interessante Anleitung für 433 MHz-Sender und Empfänger, auf 
die will ich aufbauen und "was" machen. Aber das kann sicher nächstes 
Jahr werden. 

Nochmal, sorry für die lange Mail. Ich mach das auch nicht wieder ...

Herzlichen Gruß
Volker