Forum: Mikrocontroller und Digitale Elektronik DMX512 - UART einstellen


von Jochen H. (Gast)


Lesenswert?

Hallo!

Wer kann mir weiterhelfen?
Möchte mit einem AT89S51 einen DMX512 Transmitter verwirklichen.
Wie muss ich hierfür den UART programmieren?
Also Baudrate von 250k ist klar - aber wie erreiche ich das Startbit =
high und die beiden Stopp Bits = low ??
Standartmäßig ist dies ja genau anders herum! z.B. bei RS232

Gruß
Jochen

von Sebastian (Gast)


Lesenswert?

TTL-Inverter?

von Christof Rieger (Gast)


Lesenswert?

Stopp, du brauchst da nicht die Polarität verändern DMX läuft auf RS422
wenn ich mich recht entsinne. Nutze einfach einen SN 75179 den gibts
bei Reichelt für ein paar Cent. Der erzeugt und emfängt das nötige
symetrische Signal.

von tüddel (Gast)


Lesenswert?

hmm was muß man generell machen um dmx zu senden/empfangen?
ist auch schon immer mein traum, sowas zu tun, nur unter einem anderem
uC.

von Christof Rieger (Gast)


Lesenswert?

Naja DMX512 ist eigentlich ein recht Dummes Protokoll. Ein Frame besteht
aus einem BRAKE einem NULL Byte und den 512 Dimmerwerten. Alles mit
250kBit und mit je zwei Stopbits gesendet. Elekrisch als RS422
ausgeben. Wäre alles kein Problem wenn die RS232 eines PC's 250kBit
könnte.

von Markus (Gast)


Lesenswert?

@ Christof

es muss ein SN 75176 sein

und es ist RS485


lg, markus

von Christof Rieger (Gast)


Lesenswert?

Danke Markus,

RS485 irgend so etwas wares doch. Aber das mit dem SN 75179 geht. Der
hat einen Empfänger und einen Sender drinnen. Wie ist das bei dem SN
75176 nochmal ?

von Jochen H. (Gast)


Lesenswert?

Ja RS 485 Schnittstelle ist richtig - also ist es dch die Anbindung mit
einem MAX 485 oder Ähnlichem die Schnittstelle realisierbar ?
Ohne dass ich an dem UART drehen muss ?
Auch ander uC senden nach dem RS 232 Protokoll !

von Christof Rieger (Gast)


Lesenswert?

Die MAX sind im Verhältnis recht teuer. An dem URAT musst du garnicht
drehen. Ob RS 485 oder RS 232 hängt nicht vom URAT ab sondern nur von
deinem Treiber und/oder Empfägerbaustein.

von Jochen H. (Gast)


Lesenswert?

Hallo Christof

Danke für die Info -- der Max kostet bei Reichelt etwa 60 Cent mehr als
der SN Baustein .
Na ich werde die Schaltung mal zusammenbasteln und schauen was sioch
dabei ergibt.

von marco (Gast)


Lesenswert?

Schau mal unter http://www.dzionsko.de/electronic/index.htm
Er hat das gleiche mit nem AT90S2313 realisiert und nennt es miniDMX.

von Jochen H. (Gast)


Lesenswert?

Hallo zusammen - so wie ich es sehe , generieren die Leute, die DMX512
erzeugen wollen einen eigenen Frame und geben ihn über einen
Portpin und nicht über den UART aus .

von Sebastian (Gast)


Lesenswert?

Wieso das? Du kannst jeden USART für RS485/DMX512 benutzen, wieso sollte
man sich da die Arbeit machen und das ganze händisch rausgeben? Ich sehe
da irgendwie keinen Vorteil. Jeder µC hat doch heutzutage 1 bis 2 USARTs
...

von Christof Rieger (Gast)


Lesenswert?

Bei AT90S2313 musst du dich schon entscheiden ob du den PC oder den DMX
"händisch" bedienst, da du für Sender und Empfänger nur eine
gemeinsame Bitrate einstellen kannst.
Ich bastel mir z.Z auch ein DMX Dongel mit DMX in und DMX out. Dazu
kommt noch ein inteligentes Übertragungprotokoll um die geringere
Schrittgeschwindigkeit zum PC mit 115kBit auszugleichen. Dazu verwende
ich einen AT90S2313 als PC-Schnittstelle und einen ATmega8 als
DMX-Schnittstelle. Nutze dann beide URAT's.

von Michael (Gast)


Lesenswert?

Zurück zum Thema,
wenn du (Jochen) die UART auf 250KBaud gesetzt hast und auf 2 Stopbits,
dann frage das FE-Bit ab. Das FE-Bit wird nach dem Brake (>=88µS)
gesetzt, weil der Controller ein Low-aktives Startbit detektiert hat
und kein Stop-Bit. Danach kommt ein Byte mit Nullen, danach das erste
Datum. Jetzt kannst du deinen Zähler setzen und dir die Bytes
rausfischen, die du brauchst. Aber bei jedem UART-Einsprung das
Overrun-Bit abfragen. Sollte das mal gesetzt sein hast du ein Byte
verpasst und dein Zähler ist aus dem Tritt gekommen. Als
Treiberbaustein benutze ich auch den SN75176, billig und eunfach zu
bekommen.
Michael

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.