PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : UART funktioniert nur einseitig



Minni
31.07.2008, 16:05
Mittlerweile funktioniert bei uns die Kommunikation zwischen dem RN-control und dem PC.
Man kann die Sachen, die der Controller sendet, problemlos auf dem PC empfangen, wenn man es allerdings anders herum probiert (also vom PC an den Controller) geht es nicht.

Wir haben den Eingang und den Ausgang des AVRs verbunden, dabei werden die Sachen, die der Controller sendet, auch wieder empfangen.
Wenn man den Eingang und den Ausgang des PC's miteinander verbindet, kommen die Sachen auch an.
Es scheint also so, dass sowohl am PC als auch am Controller UART funktioniert...



ISR (USART_RXC_vect) {}
Mit dieser Funktion kontrollieren wir, ob etwas ankommt, indem wir die LEDs anschalten lassen.

Danke schon mal für eure Hilfe!
Lg, Jasmin

sternst
31.07.2008, 16:38
Wow, das ist ja mal ein ausführlicher Sourcecode. ;-)
Sorry, aber wenn du nicht mehr postest (am besten alles), kann dir auch niemand sagen, ob du einen Fehler im Programm hast.

Wenn allerdings das hier

Wir haben den Eingang und den Ausgang des AVRs verbunden, dabei werden die Sachen, die der Controller sendet, auch wieder empfangen.
bei gleicher Software funktioniert, kann es auch nicht an der Software liegen. Dann ist es sehr wahrscheinlich ein Verdrahtungsfehler.

Minni
31.07.2008, 16:42
ja so ist es, dass einzige Problem ist, die direkte Verbindung von PC und AVR.

Kurze Zwischenfrage: Von dem UART-Anschluss braucht man nur RX und TX? Oder auch den dritten Anschluss?

sternst
31.07.2008, 16:49
Und Masse nicht vergessen.

radbruch
31.07.2008, 16:51
Hallo

Welcher Kontrollertakt (16MHz?) und welche Baudrate? Laut atmel haben manche Kombinationen sehr hohe Fehlerquoten. (Datenblatt (http://atmel.com/dyn/resources/prod_documents/doc2503.pdf) Seite 165ff) Wenn man Ausgang auf Eingang klemmt macht sich der Fehler natürlich nicht bemerkbar.


Oder auch den dritten Anschluss?
Wenn du damit GND meinst, ja, das braucht man auch.

Gruß

mic

Minni
31.07.2008, 17:15
Also.. das mit der Masse hab ich völlig vergessen bisher.

Der serielle UART benötigt 2 Daten-Leitungen:

* "TxD" (Tranceive Data = Daten Senden)
* "RxD" (Receive Data = Daten Empfangen)

Bei synchroner Übertragung (USART) kommt eben erwähnte Taktleitung dazu.
deshalb bin ich davon ausgegangen, dass ich die dritte (ist wohl GND) nicht benötige. Ich habe die Masse jetzt mal mit der Masse des Empfängers verbunden - danach funktioniert die Kommunikation gar nicht mehr.
Ich habe auch irgendwann mal was davon gelesen, dass man die Masse nicht benötigt, wenn sowohl Sender als auch Empfänger die gleiche Spannung haben....

Achja: ich benutze als Empfänger übrigens den mySmartUsb ein.
http://myavr.de/shop/article.php?artDataID=36
den kann man eben auch als USB-UART-Bridge verwenden, ich habe nämlich keinen RS232 an meinem Laptop.

lg Jasmin

P.S.: ich habe einen 16MHz-Quarz und habe 9600bd eingestellt - da man die Einstellung für beide Richtungen gelten, müssen die eigentlich richtig sein oder?
DIe Kombination hat nach dem Datenblatt von Amtel übrigens ne Fehlerrate von 0,2% - das ist nicht zu viel, oder?

Besserwessi
31.07.2008, 17:56
Wenn das myavr board aus der selben spannung gespeißt wird wie der Controller ist da schon eine Masseverbindung varhanden. Die Masse noch mal zu verbinden ist dann tatsächlich nicht nötig, aber es sollte eigentlich auch keinen Unterschied machen. Wenn sich dann was verschlechtert, läßt das auf eine falscher Verkabelung oder starke elektrische Störungen (z.B. fehlenden Entkopplung) schließen.

Die 0,2 % fehler sind unproblematisch. Normal gehen bis 2 % Fehler noch, zumindest wenn die Gegenseite gut ist und nicht genausoviel Fehler macht.

Minni
31.07.2008, 19:02
Wenn das myavr board aus der selben spannung gespeißt wird wie der Controller ist da schon eine Masseverbindung varhanden. Die Masse noch mal zu verbinden ist dann tatsächlich nicht nötig, aber es sollte eigentlich auch keinen Unterschied machen.
Ok, die sind wirklich nur seeehr indirekt über die gleiche Spannung versorgt. Ich hatte es so verstanden, dass es egal ist, wenn die z.B. beide mit 5V laufen...



Wenn sich dann was verschlechtert, läßt das auf eine falscher Verkabelung oder starke elektrische Störungen (z.B. fehlenden Entkopplung) schließen.

Ja, ich denke dann mal, dass es an der falschen Verkablung liegt. Was meinst du mit starken elektrischen Störungen? Könnten die durch irgendwas normales verursacht werden? (also ich hab hier wirklich nix ungewöhnliches...)



Die 0,2 % fehler sind unproblematisch. Normal gehen bis 2 % Fehler noch, zumindest wenn die Gegenseite gut ist und nicht genausoviel Fehler macht.
Die gegenseite ist, nehme ich mal an ähnlich aber 0,4% gehen ja dann auch noch.

Also.. ich habe mal überlegt was bei der Verkablung falsch sein könnte. Da ich hier noch ein Strommessgerät rumliegen hatte, habe ich mal die Lötverbindungen getestet und die sind alle ok und berühren sich eindeutig nicht.
Außerdem habe ich mal versucht die Spannung zwischen den beiden Massen der Controller zu messen (natürlich wenn sie nicht verbunden sind - sonst wäre die ja 0). Im idealfall müsste diese doch 0V sein oder?
Das Ergeniss der Messung war allerdings so um die 10V (mein Messgerät ist leider etwas sehr ungenau - schon ein paar Jährchen alt), dadurch bin ich auf die Vermutung gekommen das irgendwo was falsch gepolt ist oder so?

Ich habe nicht so super viel Ahnung von Elektronik und habe keine Ahnung ob meine Denkansätze irgendwie richtig sind. Ansonsten sag mir mal kurz welche Infos ihr braucht damit ihr helfen könnt!

Danke
Jasmin

Besserwessi
31.07.2008, 21:29
Wenn da 10 V zwischen den "massen liegen" kann da keine richtige Verbindung sein.

Nochmal zum klarstellen: Auf die Masseverbindung kann man nur verzichten, wenn die Masse schon über die gemeinsam genutzte Spannungsversorgung verbunden sind. Die Gemeinsame Versorgungs heißt hier in der Regel der selbe Trafo bzw. Akku. Nur weil beide mal 5 V benutzt werden, muß da noch keine Verbindung sein.
Bei fehlender Masseverbindung können über das Signal durchaus Spannungen von etwas 10 V zustandekommen. Das Messgerät wird hochohmiger als die Signaleingänge sein.
Was wird denn gemessen wenn auch die Signale (TX,RX) nicht verbunden sind ? Sonst müßte mal kurz die Schaltung beschreiben werden.

Mit elekrischen Störungen waren besonders fehlende Entkopplekondensatoren am Controller oder Regler gemeint. Auch ein aktives Handy in der Nähe kann Störungen verursachen.