mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DMX Empfang analysieren wie?


Autor: Ingo K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich bin gerade an einem DMX Empfänger.
Da ich mein Gerät auch darauf vorbereiten möchte, dass es auch beim 
Ausfall von DMX weiter stabil funktioniert.
Deswegen suche ich nach einer Möglickeit, zu Überprüfen ob wirklich DMX 
Empfangen wird.

Ich realisiere den DMX Empfang im USART RXC Interupt.
Als Vorlage habe ich mal das von Henne genommen.
http://www.hoelscher-hi.de/hendrik/light/ressource...

Reicht es im Hauptprogramm abzufragen ob ein BREAK vorhanden ist?
Oder muss ich irgendwelche FE zählen?

Es soll prinzipell abgefragt werden
for(;;)
{
   if (!dmxOK)
   {
   standalone();
   }
}

Gruß Ingo

Autor: Jürgen Berger (hicom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
ich setz meine DMX-ok Led auf ein, wenn ein korrektes
Startbyte empfangen wurde und auf off wenn dieses für 200ms
ausbleibt.

Jürgen

Autor: Henne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich mache es auch wie Jürgen.

Wäre nett, wenn Du Dein Programm am Ende veröffentlichen könntest, Ingo.
(Ich bekomme dauernd Anfragen zu Steppersteuerungen, Pulten, Analyzern 
und CFL - habe aber sehr wenig Zeit...)


Viel Erfolg,
Hendrik

Autor: Julien M. (ljminti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Möchte mich auch zu diesem Thema melden.

Ich habe auch immer wieder solche Aufgabenstellungen.
Gelöst habe ich es mit einem Art DMX Watchdog.

Jedesmal wenn der Uart ein Byte empfängt setzt der Interupt ein 
Zählregister auf 0xff;

dann lasse ich zusätzlich einen Timer mit einem bestimmten Interupt 
laufen.
Bei jedem Overflow Interrupt wird dann dieser Zähler dekrementiert.
Wenn also das DMX Signal gestört ist läuft das Zählregister ab.

Im Hauptprogramm überprüfe ich einfach ob das Zählregister == 0
Fertig!

Werde bei nächster Gelegenheit auch noch ein kleines AppNote 
veröffentlichen.

@Henne
Werde dir diesbezüglich noch ein paar Infos per Mail zukommen lassen.

Julien

Autor: nzg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laut DMX-Spezifikation kann zwischen zwei Frames bis zu einer Sekunde 
vergehen.
Ergo einfach bei jedem Break / MAB nen Timer auf 1s resetten. Wenn der 
dann ausläuft, dann ist dein DMX-Signal abwesend.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.