Forum: Mikrocontroller und Digitale Elektronik FTDI Handshake Problem


von deepdiver99 (Gast)


Lesenswert?

Hallo!

Habe meine PC per FTDI(FT232R) mit einem Atmega verbunden.

Der Datenaustausch aus/in beiden Richtungen OHNE FlowControl 
funktioniert.

Schalte ich aber RTS/CTS FlowControl an funktioniert der Datenempfang 
µC-->PC ohne Probleme aber PC in Richtung µC tut sich nichts.

Habe RTS aus einmal LOW und mal HIGH gesetzt aber per PC sende nichts 
(mit Oszi geprüft).

Hat jemand ne Idee warum der PC im RTS/CTS FlowControl Modus nichts raus 
sendet?

Habe jetzt schon einige Stunden gesucht und probiert. Bekomme es einfach 
nicht hin. Bin total verzweifelt.


Viele Grüße...

von Jim M. (turboj)


Lesenswert?

> warum der PC im RTS/CTS FlowControl Modus nichts raus sendet?

Meine Kristallkugel sagt: Das CTS Signal hat den falschen Pegel - "bitte 
jetzt nix senden", oder ist nicht richtig mit dem FT232R verbunden.

von deepdiver99 (Gast)


Lesenswert?

Habe das Signal einmal auf GND und einmal auf +5V gelegt. Aber der PC 
sendet einfach nichts. Arbeite mit den D2XX Direkt Treiber und habe zur 
Flusssteuerung nur "FT_SetFlowControl(handle, FT_FLOW_RTS_CTS, 0, 0);" 
eingeschaltet. Der Empang am PC funtioniert auch nur er sendet im 
FT_FLOW_RTS_CTS-Modus einfach nichts raus.
Muss denn noch mehr eingstellt werden außer "FT_SetFlowControl(handle, 
FT_FLOW_RTS_CTS, 0, 0);" ?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Verwende mal das fälschlicherweise als "Terminalprogramm" bezeichnete 
hTerm von Tobi. Das kann Dir den Status der Handshakeleitungen anzeigen, 
und damit kannst Du schon mal eingrenzen, ob Du ein Hardwareproblem 
(Schaltung? Missverständnis?) hast.

Wenn das in Ordnung aussieht, kannst Du mal ein richtiges 
Terminalprogramm wie HyperTerminal oder TeraTerm benutzen -- beide 
wissen mit Hardwarehandshake umzugehen, und damit sollte sich Dein 
Problem weiter aufdröseln lassen.

Noch etwas, was Du unabhängig davon testen kannst, ist Dein Testprogramm 
mit einer "richtigen" seriellen Schnittstelle zu betreiben, und zu 
sehen, was dann passiert (Da hast Du dann allerdings keine 5V-, sondern 
RS232-Pegel).

von deepdiver99 (Gast)


Lesenswert?

Danke schon mal für die Tips. Werde es heute Nachmittag gelich mal 
testen und mich dann wieder melden.

Könnte ich zum testen (RX/TX) und (RTS/CTS) zusammen legen um ein Loop 
zu erhalten?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

deepdiver99 schrieb:
> Könnte ich zum testen (RX/TX) und (RTS/CTS) zusammen legen um ein Loop
> zu erhalten?

Aber ja.

von deepdiver99 (Gast)


Lesenswert?

Habe jetzt RX mit TX und RTS mit CTS verbunden.
Bei Hterm jetzt das gleiche Problem. Ohne Flow Control überträgt er 
Daten wenn ich aber das Häkchen bei "CTS Flow Control" setzte überträgt 
er nichts mehr.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dann ist ein Problem mit Deinem Schaltungsaufbau zu vermuten.

von deepdiver99 (Gast)


Lesenswert?

Habe ein orginales FTDI USB Kabel dran 
http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm

von deepdiver99 (Gast)


Lesenswert?

Habe jetzt an einem anderen PC das FTDI Kabel angeschlossen, FTDI 
Treiber installiert und HTerm gestartet. Auch dort das gleiche Problem 
das kein Flow Control funktioniert.
Kann das Kabel kaputt sein oder gibt es noch irgend eine EEprom 
Einstellung die vielleicht falsch sein könnte?

von deep d. (deepdiver99)


Lesenswert?

Das manuelle Ansteuern von RTS mit "FT_SetRts" und "FT_ClrRts" 
funktioniert. Nur auswerten will er RTS irgendwie nicht.

von deep d. (deepdiver99)


Lesenswert?

Habe heute ein neues FTDI USB Kabel(FT232R) bekommen.

CTS mit RTS und RX mit TX verbunden. Unter HTerm CTS Flow Control 
eingestellt. Leider erfolgt immer noch keine Datenübertragung. Habe alle 
möglichen Veschaltungen probiert, aber leider immer ohne Erfolg.

Hat irgend jemand schon mal ein Handshake per CTS/RTS mit den FTDI 
FT232R hin bekommen? Habe im Netz bis jetzt noch keinen Hinweis gefunden 
das das je einer geschafft.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

deep diver99 schrieb:
> Unter HTerm CTS Flow Control
> eingestellt. Leider erfolgt immer noch keine Datenübertragung. Habe alle
> möglichen Veschaltungen probiert, aber leider immer ohne Erfolg.

Hast Du das denn schon mal mit einer anderen Schnittstelle 
ausprobiert? Damit meine ich jetzt kein anderes USB-Seriell-Kabel, 
sondern eine Onboard-Schnittstelle eines PCs.

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.