www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik NGW100 mit Linux -RS485 über USART-


Autor: Philipp H. (ennox)
Datum:

Bewertung
0 lesenswert
nicht 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&f...

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 ?

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
frag mal hier nach:
http://www.mediamatech.com/

Autor: Gast1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
viellecht hilft das weiter

http://www.terminal-systems.de/software-tools.htm
 Rubrik RS485 KERNEL TREIBER
   mal den FTP Server duchsuchen
    ftp://www.ssv-embedded.de/ssv/products/trm916-rev-b/sample/1520/linux/se 
rial/

Autor: Philipp H. (ennox)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke

ich habe mir gerade mal ein wenig mit linux26-menuconfig die möglichen 
Kernel Einstellungen angeschaut. Die haben da irgentwas mit userspace 
i/o devices im Angebot, nur ob der rs485 dabei ist stand da natürlich 
nicht. Einfach mal testen würde ich da sagen.

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn, solltest du auf jeden Fall das mainstream buildroot nehmen. Die 
builds auf der Atmel Seite sind veraltet.
http://buildroot.uclibc.org/download.html

Autor: Weingut Pfalz (weinbauer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja, ne Softwarelösung ist zwar möglich, für DMX aber nicht unbedingt
nötig, da das eh nur eine Simlexverbindung ist kann der Master
einfach der 485-Baustein auf Dauersenden gelötet werden.
Wenns Halbduplex sein soll kannste auch einfach nen CAN Baustein
verwenden z.B. PCA82C250, dann brauchts die aktive Umschaltung nicht.

Autor: Philipp H. (ennox)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Weingut Pfalz (weinbauer)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Philipp H. (ennox)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Philipp H. (ennox)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK den Wald vor lauter Bäumen nicht gesehen. RS485 brauch ich nicht !

Bleibt nur die Frage wie bekomme ich die 2 STopbits in den Treiber denn 
der müsste Standartmäßig1 SToppbit haben.

Autor: Philipp H. (ennox)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So OK das habe ich auch gefunden.

das kleine Linuxproc "setserial" kann dies tun.


Danke allen die sich hiermit beschäftigt haben.

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie Funktioniert das einlesen der Fader mit dem D/A Wandler?

Autor: Philipp H. (ennox)
Datum:

Bewertung
0 lesenswert
nicht 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

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.