RTS und CTS beim FT232R

Gast #1570827
Lesenswert?

Hallo @ all

Ich habe einen FPGA an einem FT232R angeschlossen. Der FPGA sendet mit 
3MBit Daten an den FTDI Chip. Die Daten werden von dem USB-Chip an den 
PC übertragen. Dort habe ich eine Empfangssoftware geschrieben, die mir 
die übertragenen Daten darstellt.

Nun sehe ich das in meinen Daten ab und zu Sprünge vorhanden sind. Dies 
erkläre ich mir wie folgt:

Ich sende kontinuierlich Daten an den FT232R. Irgendwann ist der 
RX-Buffer voll und die Daten werden per USB an den PC übertragen. 
Während dieser Zeit schreibe ich natürlich immer weiter in den RX-Buffer 
vom FTDI-Chip. Das dabei Daten verloren gehen ist ja dann logisch. Nun 
gibt es ja die RTS und CTS Leitung beim FTDI FT232R. Diese sind ja für 
das Hardwarehandshake vorhanden.

Jedoch weiß ich nicht wie ich diese ansteuern soll. Im Datenblatt steht 
dazu nicht besonders viel. Die Beiden Leitungen sind mit dem FPGA 
verbunden.

Laut Datenblatt ist das RTS-Port ein Ausgang und der CTS-Port ein 
Eingang.

Wie muß ich dies jetzt programmieren?
Gast #1570881
Lesenswert?

Na. du liest den ja kontinuierlich vom Controller her. Dann wird er nie 
zu voll. Oder was steht denn im Datenblatt zu diesen Pins ?
Ich wuerd mich hueten Hardwarehandshake zu verwenden, dann lieber die 
Baudrate eins tiefer legen.
Gast #1570905
Lesenswert?

Warum wollen gleich immer alle einen anderen Baustein andrehen. Ich habe 
2000€ für FPGA-Board gezahlt das Daten mit 800MHz digitalisiert. Das 
dort dieser FTDI-Chip für die Datenübertragung eingesetzt wird ist nur 
von kurzer Dauer, dann muß diese durch eine schnelle Verbindung 
ausgetauscht werden. Aber ich werde jetzt nicht an einer 8 lagigen 
Platine löten.
Persönliche Seite #1570916
Lesenswert?

Für die Übetragung von Daten vom FPGA über den FT232 zum PC ist genau 
eine der beiden Handshakeleitungen erforderlich, nämlich RTS.

Damit signalisiert der FT232, daß er jetzt keine Daten mehr aufnehmen 
kann, das aber tut er nur, wenn über den Devicetreiber das 
Hardwarehandshake mit RTS/CTS aktiviert wurde.

Wenn Daten in der Gegenrichtung übertragen werden, also vom PC über den 
FT232 ins FPGA hinein, kann das FPGA den Datenstrom mit der 
korrespondierenden Handshakeleitung bremsen, und das ist hier CTS.
Gast #1570929
Lesenswert?

Da gibts nur das Problem der Zeitverzögerung bei der RTS Leitung, da 
diese ja, wie bekannt, softwaremäsig durch den PC gesetzt wird. Und je 
nach dem wie schnell du deine Daten vom FPGA in den FTDI schreibst, kann 
es sein dass der Puffer voll ist, aber RTS noch nicht gesetzt ist.

Aber mich würde wirklich mal interessieren auf welchem 2000€ Board ein 
FT232 drauf ist. In dieser Preisklasse hätte ich was anderes erwartet.
Gast #1571058
Lesenswert?

Es ist ein Evaluationsboard von TI. Hier sind zwei 400MHz 14Bit 
AD-Wandler verbaut, die um 180° Phasenversetzt wandeln. Zudem ist auf 
diesem Board ein Virtex 5 mit 288DSP-Einheiten verbaut. Die 
Datenübertragung ist momentan leider nur über den FT232 möglich. Warum 
dieser Chip verwendet wurde bleibt ein Rätzel. Jedoch reicht es um alles 
zu testen. Anschließend muß man halt eine schnellere Datenübertragung 
erzeugen.

Rufus t. Firefly schrieb:
> Für die Übetragung von Daten vom FPGA über den FT232 zum PC ist genau
>
> eine der beiden Handshakeleitungen erforderlich, nämlich RTS.
>
>
>
> Damit signalisiert der FT232, daß er jetzt keine Daten mehr aufnehmen
>
> kann, das aber tut er nur, wenn über den Devicetreiber das
>
> Hardwarehandshake mit RTS/CTS aktiviert wurde.
>
>
>
> Wenn Daten in der Gegenrichtung übertragen werden, also vom PC über den
>
> FT232 ins FPGA hinein, kann das FPGA den Datenstrom mit der
>
> korrespondierenden Handshakeleitung bremsen, und das ist hier CTS.


Genau so habe ich es gemacht und was soll ich sagen es funktioniert ^^

Ich übertrage Testdaten die mir bekannt sind und vergleiche diese auf 
dem PC. Nach einer halben Stunde war bis jetzt noch kein 
Datenübertragungsfehler aufgetreten.

Vielen Dank

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren