mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DMX Verpolung erkennen


Autor: Jakob Gebel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

da mein Display ja jetzt läuft, mach ich mich ans nächste Problem, und
zwar: Wie kann ich erkennen ob ein DMX Signal verpolt ist. Im moment
hole ich die DMX Daten über folgenden Quelltext (Bascom) rein:

Rec_isr:
$asm
.def Uart_status = R16
.def Uart_byte = R17
.def Uart_temp1 = R18
.def Uart_temp2 = R19

      IN Uart_status,USR
      IN Uart_byte,UDR

      SBRC Uart_status,FE
      RJMP  Asm_reset
      RJMP  Asm_Loop1

Asm_reset:
      LDI Uart_temp1,$00
      STS {Dmx_count_temp} , Uart_temp1
      STS {Dmx_byte} , Uart_byte
      RJMP Asm_exit
Asm_loop1:
      STS {Dmx_byte} , Uart_byte
Asm_exit:
$end Asm
   If Dmx_count_temp <> 0 Then
        Incr Dmx_count
           Dmx_rxd = 1
           If Dmx_adr = Dmx_count Then
                 Dmx_buf = Dmx_byte
           End If
   Else
      Dmx_count = 0 : Dmx_count_temp = 1
   End If
Return

Der Quelltext stammt aus irgendeinem Dimmer-Projekt hier aus dem Forum.
Das funktioniert auch alles schon prima, jetzt aber die Frage, wie ich
erkennen kann, ob das DMX Signal verpolt ist. Anbieten würde sich ja da
sowohl die Erkennung der Polarität der Start & Stop Bits als auch die
Erkennung von Mark und Break. Nur wie mache ich das am besten, bzw. ist
das so, mit dem Quelltext möglich?

Danke für eine Antwort schon mal!

Autor: Markus Cords (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erkennen kannst Du das daran, daß aus der UART nur Mist rauskommt, bzw.
warscheinlich wirst Du auch gehäuft Stop-Bit Fehler (FE-Bit) bekommen.


Peter

Autor: Jakob Gebel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

das scheint zu klappen. Wenn das Signal verpolt ist, dann bekomme ich
so an die 550 FE-Error pro Sekunde, sonst sind es max. 44 (eben immer
wenn ein Reset gesendet wird).

Danke für deine Hilfe nochmal!

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.