DMX-Signal empfangen

Gast #54955
Lesenswert?

Hallo ihr.

Ich bin dabei mit nem Mega8 ein DMX-Signal auszuwerten.
Das klappt soweit auch alles ganz gut.
Doch ein Problem gibts noch: Laut Norm können die Marks bis zu eine
Sekunde lang sein. Wenn ich mal davon ausgehe, dass alle 512 Kanäle
übertragen werden, muss ich evtl. bis zu 513 Sekunden auf ein Reset
warten um dann evtl. einen Fehler auszugeben.
Eine Überlegung war, die Zeit zwischen zwei Frames zu messen und dann
die Zeit hoch zurechen. Doch es kann ja vorkommen, dass die Marks
immer
unterschiedloch sind => schlechte Lösung.
Hat evtl. einer schon mal so ein Problem gelöst?

MfG
Heiko
Gast #54956
Lesenswert?

Falsch gerechnet schau dir nochmal die DMX512 Norm an. Max. Framelänge
ist 1 Sekunde, d.h. min. 1 x pro Sekunde muß mindestens 1 Rahmen
bestehende aus BREAK, MAB und Startcode übertragen werden. Die Zeiten
zwischen den einzelnen Datenbytes dürfen MARK unterschiedlicher Länge
sein oben so am Ende des Rahmens, jedoch darf die Rahmenlänge 1 s nicht
übersteigen.
Gast #54957
Lesenswert?

Hallo.

Ich habe mir die infos von der VPLT Homepage besorgt (siehe:
http://www.vplt.org/aklicht/dmx512/dmx512.htm ).
Dort steht für (8) uns (9) jeweils bis zu einer Sekunde. Dann habe ich
das so verstanden, dass zwischen jedem Frame bis zu einer Sekunde Pause
sein darf.
Wenn ich dich richtig verstanden habe, schreibst du, dass ein Packet
(bestehend aus bis zu 512 Frames) maximal eine Sekunden dauern darf.
Was ist jetzt korrekt? Hast du evtl. eine Internetseite oder ein PDF in
dem das genau drinsteht?

MfG
Heiko
Gast #54958
Lesenswert?

Da hast du ein wenig missverstanden die BREAK to BREAK time ist mit max.
1 Sekunde definiert, unabhängig davon wieviel Kanäle das Datenpaket
enthält. Im neuen DMX512/2000 Normenentwurf ist auch die min. BREAK to
BREAK Time mit 1,x ms definiert. Vielleicht schafft ja der Anhang
Aufklärung.
Angehängte Dateien:
Gast #54959
Lesenswert?

@Heiko Thole
Hallo!

Ich versuche auch zur Zeit, ein DMX-Signal zu empfangen, bin aber noch
nicht wirklich weitergekommen. Würdest Du eventuell deinen Sourcecode
zum Analysieren zur Verfügung stellen?

Viele Grüße
Kai M. Tegtmeier
Gast #54961
Lesenswert?

Hallo, Heiko!

Bei mir hapert es daran, daß der Controller sich anscheinend nicht mit
dem DMX-Signal synchronisieren kann. Mal erkennt er den Break nicht,
dann wiederum den MAB nicht. Mich würde vor allem interessieren, ob Du
den eingebauten UART zum Empfang benutzt hast oder anderweitig
vorgehst? Ich habe die Variante gewählt, den Microcontroller permanent
einen Eingang überwachen zu lassen und das Signal mit Timern
interruptgesteuert zu überprüfen. Geschrieben habe ich den Sourcecode
in Codevision C.

MfG
Kai
Gast #54966
Lesenswert?

... Vielen Dank schon mal für die Hinweise. Werd mich jetzt mal
intensivst mit dem Datenblatt beschäftigen und etwas experimentieren.
Mein Sourcecode ist doch wesentlich länger und ineffektiver... Wenns
denn hängt (oder geht?!?) melde ich mich wieder..

Gruß
KMT

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren