Forum: Mikrocontroller und Digitale Elektronik DMX512 über Ethernet


von DJ Boulder (Gast)


Lesenswert?

Hallo,

ich habe den Beitrag über den "Webserver 1k" von Jens verfolgt. Da
man per Ethernet/UDP sehr gut DMX-Pakete transportieren könnte (z. B.
kabellos per Wireless LAN) und Ethernet auch galvanisch getrennt
arbeitet (da freut sich jeder Musiker), kam mir die Idee, daß
vielleicht Internet/UDP/Ethernet die Lösung aller Lichtprobleme
darstellen könnte. Die PC-Steuerung des DMX beötigt dann lediglich neue
Treiber, auf die teueren Direkt-Adapter könnte man dann verzichten.

Meine Idee: Man nimmt z.B. einen ATMEL RD2 (der hat ja glaube ich 1k
RAM) oder ähnlich, 'n RS485-Treiber, CS8900A und fertig ist der
"lokale" DMX-Knoten, der dann seine Pakete per UDP erhält.
Konfiguration natürlich per Webserver. Hardwarekosten: Schätze mal ca.
15 EUR, Software z.B. von www.wickenhaeuser.de (für umme, wenn ich das
richtig sehe?).

1.) Hätte jemand Lust da mitzumachen?

2.) Sowas könnte man sicher auch verkaufen, hätte da jemand Interesse?

DJ B.

von Moritz (Gast)


Lesenswert?

Hi,
ist ne sehr interessante idee und würde auch gern meien senf dazu
beitragen ....

Moritz

von mmerten (Gast)


Lesenswert?

Also der AT89 RD2 dürfte auf Empfängerseite um einiges "zu klein" sein
um 250 kBit kontiuierlichen Datenstrom via LAN to DMX zu verarbeiten.
Ebenso kommen natürlich die Timingprobleme (Delay) einer LAN to DMX
Anbindung hinzu. Ist also nicht unbedingt der ideale Lösungsansatz bzw.
doch mit erheblich Hardwareaufwand verbunden.

von DJ Boulder (Gast)


Lesenswert?

Mmerten,

also ich denke, das bekommt man zum Laufen! 250 kBit sind 25kB/sec. Wo
liegt da das Problem? Und Hardwareaufwand: siehe oben. ich bin sicher
das geht. Delay? Na ja, wenn's per Internet um die Welt geht
vielleicht 200 msec, aber sonst: in-Hoses < 5 msec, so schnell kann
Dein Dimmer nichmal durchbrennen .. DJ B.

PS.: Außerdem kann man sowas bereits kaufen, ist nur Schweine-Teuer!

von mmerten (Gast)


Lesenswert?

Wenn du nur ein paar Dimmerdaten übermitteln willst, mag dein
Lösungsansatz wohl funktionieren, aber wenn deine Scanner und
MovingLights nicht wie erwartet arbeiten, wirst du feststellen, daß
DMX512 via LAN nicht ganz unproblematisch ist. Daher gibt es nur recht
wenige Lösungen die wirklich funktionieren und teilweise auch recht
hohe  Anforderungen stellen (z.B. didizierte LAN Verkabelung) und die
sind in der Tat "schweineteuer".

von Hans (Gast)


Lesenswert?

token ring wär besser...da weist du nämlich wann welche daten wo
sind...bei ethernet müsstest du min 100mbit machen können damit du
delays unter 1ms hinbeskommst...sonnst vergiss es... also nix avr
sonder arm oder H8 auf µC-Linux...oder sonnst einen RT-Kernel... dann
gehts sicher... Wlan kannst auch vergessn da viel zu langsam und
unsicher...sprich wenn deine strobos oä abgehen geht kein wlan
mehr...wär doch auch ned so toll...

73 de oe6jwf / hans

von Ulrich (Gast)


Lesenswert?

Als ich hätte da schon einen Anfang auf meiner seite
ulrichradig.de aber halt mit 2 KB speicher because ein ethernet frame
hat halt nun 1500 Byte

Mfg Ulrich Radig

von DJ Boulder (Gast)


Lesenswert?

Also ich habe mir mal Gedanken über das Timing gemacht. Da es Converter
für USB1.1 gibt, die ganz gut funktionieren, sollte das eigentlich auch
mit 10 MBit funktionieren:

1.) Verwendet würde - na klar - ein switching Hub, d. h. kein unnötiger
Traffic.

2.) Wenn ich mich nicht verrechnet habe, schaft ein RD2 im regulären
Transfer-Modus ca. 2 Bytes pro 6 uSec bei 30 MHz Taktung, d.h. er kann
die Daten mit ca. 333 kB/Sec aus'm Netzwerk-Chip saugen, die 25kB/Sec
würden ihn also max. 10% CPU-Zeit kosten...
DMX-Out ginge per IRQ, wären ca. 2-3% zusätzlich.
Was also um alle Welt soll das Teil sonst noch machen in seinen 85%
Freizeit?

3.) Artisticlicense ist übrigens ein Anbieter, die verkaufen außer
ihren Knoten ganz reguläres Equipmnet:

http://www.artisticlicence.com/cat3_1.htm


DJ B.

von Matthias Friedrich (Gast)


Lesenswert?

So einfach ist das leider nicht, denn nur mit "Daten aus dem
Netzwerk-Chip saugen" ist es leider nicht getan.

von DJ B. (Gast)


Lesenswert?

Na ja, wo liegt das problem?

1.) PC sendet DMX-Blöcke per UDP (Multi-, Single- oder Broadcast).

2.) uC wartet auf UDP-Blöcke (die 16 Bytes Header kosten ja nix).

3.) Gelesen werden NUR UDP-Blöcke, Rest wird implizit aus CS8900
gedropped, wenn neue RX-Status abgefragt wird.

4.) Zwei alterantive OUT-Buffer für DMX werden abwechselnd mit den
eingegangenen UDP-Daten geladen (kostet max. 1.5 msec/512 Bytes)

5.) IRQ haut mit 250 kBd die Blöcke abwechselnd raus.

Habe ich was vergessen?
Ach ja: Konfiguration:

6.) Wenn natürlich mal ein TCP (HTTP) Request kommt, hat der Priorität
(Einstellungen per WebBrowser etc..). Ansonsten liegt TCP einfach
"so" rum und kostet keinerlei CPU-Zeit.

von Rahul (Gast)


Lesenswert?

@DJ B:
Schon mal was vom IP-Stack gehört?
Ein Ethernet-Chip stellt dir die unterste Ebene der verschiedenen
Ethernet-Layer zur Verfügung. Da UDP schon etwas höher angesiedelt ist,
muss erst aus dem ankommenden Datenrahmen die für dich interessante
Information herausgefiltert werden.
Es gibt nette kleine Ad-Ons, die auch schon UDP etc ausspucken.
Siehe www.siteplayer.com.
Es gibt auch nette Sachen, die eine Reihe von Ports und Schnittstellen
zur Verfügung stellen wie die www.Ethernut.de

Soweit ich den CS8900 kenne, liefert der dir auch nur sämtliche Daten,
die an seine IP-Adresse geschickt werden. Natürlich kann man da relativ
einfach herausfinden, was UDP und was TCP ist. Aber das in der von dir
geforderten Geschwindigkeit herauszufinden stelle ich mir schon recht
kompliziert vor.

Solltest Du zu einem Ergebnis kommen, wären hier bestimmt eine Menge
Leute stolz auf dich und am Ergebnis sehr interessiert.

von DJ B. (Gast)


Lesenswert?

Na klar weiss ich was'n IP-Stack ist (hab schliesslich ein komplettes
Informatik-Studium hinter mir ;-), über den ISO/OSI-Quatsch etc. könnte
ich Dir 'n 12-stündigen Vortrag halten... Das is was für Billies, die
mit ihrem PC die Hütte heizen. Ich habe früher mal Least-Level-Treiber
für Computerspiele programmiert (C64, Amiga, Atari XL, ST, ...), denke
ich kann 'n Timing schon einschätzen.

von Christian Ulrich (Gast)


Lesenswert?

was ist aus den einschätzungen geworden ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.