mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik "Spannungsfeld" - Fonera - Levelshifter - Butterfly


Autor: Norbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe hier das folgende Setup liegen:

La Fonera (FON2100) mit serieller Schnittstelle
Levelshifter 3.3Volt
Butterfly mit serieller Schnittstelle

(Das konkrete Projekt sieht vor: Butterfly liesst diverse Sensoren, gibt 
die Werte via Butterfly/USART aus und der Fonera verarbytet diese 
weiter.)


(1) Wenn ich mein Notebook mit USB/Serial-Wandler via Levelshifter an 
den Fonera anschliesse: Kann ich kommunizieren.

(2) Wenn ich das Butterfly mit USB/Serial-Wandler an das Notebook 
anschliesse: Kann ich kommunizieren.

Was nicht funktioniert:

(3) Fonera<->Levelshifter<->Butterfly.

Auf dem Fonera ist OpenWRT installiert; theoretisch wuerde ich gerne 
mittels
screen /dev/ttyS0 9600 8N1
Ausgaben vom Butterfly lesen. Das funktioniert nur leider nicht.

Ich vermute, dass der "on board levelshifter" vom Butterfly da irgendwie 
zwischenfunkt; mir fehlen aber die Kentnisse, da genau zu analysieren. 
Hat jemand eine Idee, woran es (genau) liegen koennte?

Als Levelshifter habe ich diesen: 
http://www.dd-wrt.com/wiki/index.php/LaFonera_Hard... 
aufgebaut; ein alternativer mit Max3232 funktioniert leider ebenfalls 
nur in Setup (1) und (2).

Vielen Dank fuer Tipps schonmal,

--
Norbert

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gestern abend über genau das gleiche Problem gestolpert:

Mein Setup:

PC -> max3232 -> LaFonera    OK (Senden und Empfangen)
PC -> max3232 -> atmega8L    OK (Senden und Empfangen)
LaFonera -> atmega8L         FAIL(Und ja, TX und RX richtig 
angeschlossen)

Da sowohl die LaFonera als auch der atmega8L auf 3,3V laufen (der atmega 
wird durch die pins der Fonera gespeist) sollte das eigentlich 
funktionieren.

@ Norbert:
Hast du schon eine Lösung gefunden?

...meine Welt steht Kopf :) werde da sonst wohl mal mit den Oszilloskop 
dran müssen...

Autor: Jan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also "To whom it may concern",

ich habe heute abend mal das Ganze analysiert... Habe das Oszi mal an TX 
der Fonera gehängt und mitgeloggt, was da so über die Leitung geht... 
Soviel ist sicher..

1.) das TX Signal von der Fonera kommend ist sauber.
Hier nochmal zu Erinnerung: 0.0V == false, 3,3V == true

2.) wenn man NUR TX von der Fon an RX des Atmega8L anschließt 
funktioniert die Kommunikation von der Fonera zum Atmega8L reibungslos. 
(Der Atmega8L wird dabei von der Bordspannung der Fonera gespeißt ~3,3V)

JETZT KOMMTS:

Hab danach auch mal TX vom Atmega8L an RX von der Fonera angeschlossen 
und sobald ich nun etwas vom Atmega via Fonera schickte, schmierte der 
Atmega8L ab und am Oszi kam nur noch Müll an.

KOMISCH dachte ich mir und habe nachgemessen mit dem verblüffenden 
Ergebnis: an RX der Fonera liegen 3,0V an!?! Meines Wissens nach sollte 
das nicht der Fall sein, da das doch ein Eingangspin ist. Der soll 
schließlich horchen, was da vom TX des Atmega8L kommt.
Zum Vergleich: am RX des Atmega8L liegt 0V an. Am TX des Atmega8L 3,3 
Volt (ist ja auch ok so, da die Ruhespannung 3,3 Volt sein soll)

WAS PASSIERT ALSO, WENN DER ATEMGA8L ANFÄNGT ZU SENDEN?
Der Atmega8L zieht TX auf 0,0V (fürs Startbit) und auf dem RX der Fonera 
liegt noch 3,0V an. Genau, BÄM, Kurzschluss.

Wenn die Fonera mit dem PC über den MAX3232 kommuniziert scheint dies 
offensichtlich nicht zu passieren (Warum wieso - kein Plan- da muss ich 
als Hobbyelektriker nochmal nachdenken, nachmessen und Datenblätter 
lesen :)

Was meint Ihr? (Antwort immer gewünscht)

mfg Jan

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klingt für mich eher nach einem Pullup auf der RX-Leitung von der 
Fonera, hab meine Fonera leider grad nicht zur Hand, sonst würde ich das 
nachmessen.
Gruß Marc

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bytheway,
Ich sende von der Fonera mittels:
echo -e -n "foo\r" > /dev/ttyS0 
 das kann man auch prima in scripte einbauen.

Sonst halt
opkg install minicom
und dann mit
minicom -s
 Baudrate etc einstellen.

-e = Escapezeichen beachten
-n = nicht selber \n\r am Ende senden (kann gut nerven :)


PS: (bevor man irgendwas mit ttyS0 macht muss man natürlich in 
/etc/inittab alles mit "#" auskommentieren, was mit sttyS0 zu tun hat, 
sonst wird die serielle Schnittstelle an ne Console gebunden)

Autor: Martin P....... (billx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lustig is ja auch das die fonera nicht bootet wenn noch was an der 
schnitstelle hängt..... steht irgendwo im openwrt oder ddwrt wiki

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

@ Marc: ich habe selber mal nachgemessen: Zwischen V++ und RX der Fonera 
sind 100kOhm pull up Widerstand eingebaut.. Der Pull up soll den RX der 
Fonera auf logisch 1 halten, damit Störsignale keine Chance haben.
Ok.
Bleibt die Frage offen, warum der Atmega beim Sendevorgang hängen bleibt 
und nur durch kurzes Abziehen der Versorgungsspannung wieder zum Leben 
zu erwecken ist.

mfg Jan

Autor: Jan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

habe soeben das Ganze mal mit nem 100 Ohm "Schutzwiderstand 
ausprobiert". Funktioniert!
Aber: ohne funktioniert es nun auch.... HUST

Kein Plan, aber jetzt kann ich ohne Probleme senden und empfangen. Weis 
nicht, was ich die letzten Tage falsch gemacht hab...

Tja, manchmal ist es nen Layer8-Problem und sitzt zwischen Tastatur und 
Stuhl.... ;)


mfg Jan

Autor: Ingo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Jan:
Ich versuche auch verzweifelt die Console von der seriellen 
Schnittstelle der Fonera zu trennen.
Leider ist inittab bei mir (DD-WRT) read-only und ich kann nichts 
auskommentieren.
Hast Du da eine Idee?

Gruß, Ingo

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.