Forum: PC Hard- und Software FT232RL nach Android Datenmüll


von Richard H. (richardhesse)



Lesenswert?

Guten Abend,

Ziel ist es von einem ATMega8 über UART über einen FT2323RL Daten auf 
mein Galaxy S2 zu schicken. Das Problem ist, dass die Daten auf meinem 
Smartphone nicht korrekt gelesen werden, aber auf meinem PC schon.

Herangehensweise:

1. Ein selbst gebautes USB-On-The-Go Kabel stellt ein Kabel von 
Micro-USB-Stecker auf USB-A-Buchse dar (siehe Bild). Dieses Kabel muss 
in Ordnung sein, weil meine USB-Sticks von meinem Smartphone erkannt 
werden und ich die Daten auf den USB-Sticks auslesen kann.

2. Mein selbst gebautes Break-Out-Board besteht aus dem FT2323RL Chip, 
den Puffer Kondensatoren, 2 Pins für die UART Verbindung und einem 
USB-A-Stecker. (siehe Bild)



3. Mein FT2323RL wird in Windows erkannt und Hyperterterminal liest die 
Daten korrekt aus.

Baudrate 1200
Data Bits 8
Stopbit  1
Flusssteuerung keine
ATMega-Clock 1MHz, interne Clock
Versorgung 5 V über USB
geschickt wird "Laplace" alle 3 Sekunden. Jeden Buchstaben einzeln und 
als Char (ASCII) codiert.

(Aufbau IC nach Smartphone siehe Bild)

Die Daten werden nur in eine Richtung übertragen, vom ATMega8 zum 
FT232RL. ATMega8 Pin 3 (PD1, TXD) ist mit dem FT232 mit Pin 5 (RXD) 
verbunden. So sollte es sein und so funktioniert alles.


4. Folgendes kann ich mir nicht erklären !!

Verbinde ich aber nun mein Board mit dem Smartphone und öffne die 
USB-Terminal-App von FTDI, empfängt das Smartphone keine Daten, obwohl 
das Board in der selben Konfiguration am PC funktioniert hat. Vertausche 
ich aber nun die Stecker RXD und TXD, dann empfängt das Smartphone 
Daten. Aber diese Daten sind nur Müll. (siehe Screenshot). Nach diesem 
Umstecken ist RXD nach RXD und TXD nach TXD verbunden. Das kann 
eigentlich nicht funktionieren und trotzdem werden Daten übertragen. 
Stecke ich das Board in dieser umgesteckten Konfiguration an den PC an, 
empfängt dieser wiederum keine Daten. Schließlich sind die Stecker 
falsch eingesteckt.
Bitte Helft mir !! Ich komme hier überhaupt nicht weiter.


Warum empfängt mein Smartphone keine Daten in der richtigen 
Konfiguration aber in der falschen schon ?
Und warum empfängt der PC die Daten korrekt und mein Smartphone 
überhaupt nicht ?
 Wie entsteht dieser Datenmüll an meinem Smartphone?
Was ist zu tun, dass die Daten korrekt an meinem Smartphone ankommen, 
bzw. korrekt ausgelesen werden?


Meine Versuche das Problem bisher zu lösen:
-mehrere USB-Terminal Apps ausprobiert
-Baudraten, Stopbits, Flusssteuerung, Zeichenkodierung, Datenbits 
angepasst und mit den Werten gespielt
-eigene Android-Terminal geschrieben
-schier unzählige google Recherchen
-2. Breakt-Out-Board gebaut
-Forenbeiträge zum Thema "FT232R" auf Mikrocontroller.net durchgelesen

Ich habe den selben Artikel auf in "Diskussion und Hilfe gepostet", weil 
ich nicht weiß wo meine Problem am ehesten gelesen wird. Ich stelle zum 
ersten Mal hier im Forum eine Frage. Falls dieser Artikel am falschen 
Ort ist, lasst mich bitte auch das wissen.

Ich freue mich über jede Hilfe und jeden Tipp !!

Viele Grüße, Richard

: Verschoben durch Moderator
von DerDerSelberBastelt (Gast)


Lesenswert?

Hi Richard,

was mir sofort ins Auge sticht bei deinem 1ten Foto ist, dass du 
scheinbar keine Masseleitung zwischen ATMega und FT232 hast. Damit hast 
du kein Bezugspotiential für deine Signalübertragung, sowohl RX, als 
auch TX.

von o_O (Gast)


Lesenswert?

Vorsicht!
1200 kann zu langsam sein! Geh mal bitte auf 9k6 hoch!

von o_O (Gast)


Lesenswert?

Den ATMega nicht mit dem internen RC versorgen, sondern einen externen 
16MHz drann! Dann sollte es klappen! Der interne RC ist zu ungenau

von Richard H. (richardhesse)


Lesenswert?

Ich danke euch allen für die guten Tipps.
Die fehlende Masseleitung zwischen dem ATMega und dem FT232RL hat den 
Datenmüll verursacht.
Die Massepotentiale meines Smartphone zu dem meines PCs unterscheiden 
sich um 0.5V. Das reicht anscheinend aus, dass die Bits nicht mehr 
ordentlich gelesen werden können.
Indem ich den ATMega und den FT232RL nur über mein Smartphone betreibe, 
funktioniert die Übertragung einwandfrei.

: Bearbeitet durch User
von Sven (Gast)


Lesenswert?

Es ist ehr so das du über die Spannungsversorgung vom Bord die Masse vom 
PC bekommen hast (USB Versorgung vom mega?).

Mit sowas immer vorsichtig sein da man mit der fehlenden Masse auch 
schon man ein bisschen mehr als die 5V auf den Leitungen haben kann.

Damit kann man sich dann einen Computer oder ein Handy ganz schnell 
zerschießen.

mfg

Sven

von Richard H. (richardhesse)


Lesenswert?

@Sven(Gast)
Danke, das werde ich mir gut merken.
Aber die Masse vom Steckbrett war das Massepotential vom PC.
Die Masse der Platine war das Massepotential des Smartphone.
Das Steckbrett und die Platine waren nur über die TXD- und RXD-Leitungen 
verbunden.
Aber du hast recht, die Spannung eines TXD-High-Signals ausgehend vom 
Steckbrett könnte unter Umständen mehr als die 5V in Referenz zu dem 
Platinen-Massepotential sein.
Damit muss ich besser aufpassen.

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.