NGW100 mit Linux -RS485 über USART-

OP #1594713
Lesenswert?

Hallo alle zusammen,

ich bin derzeit dabei dem NGW100 über Usart3 das RS485 Protokol 
beizubiegen.
Genauer gesagt ich versuche das DMX Protokol darüber abzuwickeln.

Ich kann dem Gerät zwar die Geschwindikeit sagen, mit der es laufen 
soll, aber habe keinen Befehl gefunden,der den Port in den RS485 Modus 
schaltet.Laut Atmel ist das möglich.

Beim Durchstöbern dieverser Foren, bin ich häufig auf die Problematik 
Userspace und Registerzugriff gestoßen. Man kann also aus dem Userspace 
keinen direkt Registerzugriff durchführen. Würde auch mit dem Embedded 
System vollkommen konträr laufen.

Doch alle Beiträge sind von 2008 und älter.Sie beschreiben das es keine 
Implementation von dieser Moduswahl im Treiber für Usart gibt.
Sie sprechen daher immer von einem Kernelhack um den Treiber dazu zu 
veranlassen den RS485 Modus zu benutzen.

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=60750&start=20

Ich habe aber keine FAQ zu diesem Thema, geschweige denn genaue Angaben 
über die durchzuführeneden Änderungen in den Kerneldatein gefunden.

Weis einer von euch eventuel was ?
OP #1595115
Lesenswert?

Wie gesagt es wird ein reiner DMX - Tranmitter. Ich brauch keine 
Umschaltung. Halt nur den Zustand "ON" und "OFF". Der USART soll im 
asyncronmodus bloß die Daten rausgeben. Die Perepherieschaltung steht 
mit optokoppler und RS485 Baustein im Dauersendebetrieb. Was das NGW 
leisten soll ist lediglich, 250kbis an Baudrate 2 Stopbits 1 Startbit. 
Das Mark after Breaksignal wird simuliert durch usart "OFF". Die Zeit 
von 0,7 Sekunden in denen ein DMX Empfänger wartet bis "Blackout" wird 
genutzt um Daten anzuliefern. Es sind 6 Fader die über D/A Wandler an 
I^2C die Werte geben.

Oder habe ich da noch was falsch verstanden ?

Der RS485 Baustein ein "SN65176B" brauch doch die Stopbits und Startbits 
um umzuschalten. Ich habe daher nur den sende POrt des Usart 3 auf den 
OPtokoppler geführt.
#1595231
Lesenswert?

Philipp H. schrieb:
> Der RS485 Baustein ein "SN65176B" brauch doch die Stopbits und Startbits
> um umzuschalten.

der SN65176B braucht selbst garkeine Bits, der winkt nur alles was 
ankommt durch, die Richtung des Datenflusses ob Sender oder Empfänger 
wird einfach über DI - RE festgelegt.
Da der am DMX Master aber eh nur sendet kannst Du die auch gleich fest
an GND legen.

Ach so, eins noch, Abschlusswiderstände nicht vergessen und GND mit 
durchschleifen von Master zu Slave.
OP #1595262
Lesenswert?

Das ist alles schon gereglt, die Hardware steht.Mein Problem ist 
eigentlich nur, dass ich den Port dazu bringen muss vor jedem Byte, 1 
Startbit und nach jedem Byte, zwei Stoppbits zu senden. Das Ganze dann 
noch mit der passenden geschwindigleit von 250000 bits/s.
Deswegen bringt mich die Aussage mit der Softwarelösung ein wenig 
durcheinander.

Oder brauch ich gar nicht in den RS485 Modus ?

Wenn das so wäre, müsste ich den Port ja nur sagen "2 Stoppbits" , denn 
das Startbit müsste ja automatisch gesetzt werden.
OP #1596185
Lesenswert?

Also als Grundlage sind da 7 Fader. Also 6 Fader für die von mir 
benötigten Kanäle und einer als Master. Wie von einem Mischpult bekannt.

Diese Fader sind Linearpotentiometer und hängen auf 2 A/D Wandler mit 
i2c Anbindung.
Sprich, an den Eingängen der Wandler liegt eine Analogspannung an. Der 
A/d Wandler hat aber noch eine Referenzspannung. Erreicht ein Eingang 
den Referenzwert gibt der Wandler eine 8 Bit Binärzahl mit dem WErt 
11111111 ab also den Dezimalwert 255. Je kleiner die Spannung an den 
Fadereingängen desto kleiner dieser Wert. Die einzelnen Kanäle des A/D - 
Wandlers werden vom I^2 C Bus abgefragt. Sprich wir digitalisieren einen 
analgogen Spannungswert und verarbeiten ihn.

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