www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FT232RL mit 1Mbaud, PC zu langsam??!?!


Autor: domi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich muss eine große Datenmenge (bis zu mehrere hundert MB) seriell 
übertragen. Dazu verwende ich einen FT232RL angeschlossen am ATmega324P 
(16Mhz). Baudrate ist 1MBaud. Wenn ich größere Datenblöcke, z.B. 50kB 
direkt übertrage (vom ATmega324P zum PC) kommt es vor, dass ab und zu 
genau 1024 Bytes Frame-Error aufweisen (zeigt zumindest Hterm an).
Ich verwende kein Handshaking und keine Paritybits. Kann es sein, dass 
der PC zu langsam ist und es zum Buffer overflow kommt? (Wie findet man 
sowas raus? Ansteuerung der seriellen Schnittstelle erfolgt unter 
Windows mit den API-Funktionen.)

Hat sonst jemand Erfahrungen bei großen Datenmengen und hohen Baudraten 
mit dem FT232RL?

Gruß,
Domi

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Systemsteuerung steht max. 115200 Baud und das ist ja wohl << 
1MBaud.
Mag sein das die FIFO mehr kann, aber ob z.B. Windows da Bock drauf hat, 
steht in den Sternen

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das tut es nicht. Windows unterstützt sehr wohl auch serielle 
Schnittstellen mit höheren Baudraten als 115200, nur die 
Standard-Schnittstellen, wie sie in PCs vorhanden sind, tun das nicht.

Probleme bei der Verwendung hoher Baudraten sind auf zu kleine 
übertragene Datenblöcke zurückzuführen, das ist insbesondere bei 
USB-Übertragung ein Thema, da dort nur im Millisekundentakt überhaupt 
Datenpakete übertragen werden. Hinzu kommt die Granularität des 
Windows-Schedulers, die normalerweise bei 10 msec liegt und auch nur auf 
1 msec reduziert werden kann.
Also müssen die Pakete ausreichend dimensioniert sein, um die Datenmenge 
einer (oder gar 10) Millisekunde(n) aufnehmen zu können und auch die auf 
der Clientseite des PCs verwendete Applikation muss entsprechend große 
Datenblöcke von der seriellen Schnittstelle abnehmen. Lesen und 
Verarbeiten einzelner Bytest ist da definitiv nicht angesagt.

Autor: domi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich lese immer Blöcke von 514 Byte (512 Byte Daten + 2 Byte Checksumme). 
Allerdings kann es sein, dass die Checksumme, also die zwei letzten 
Bytes, etwas verzögert gesendet werden.

Das merkwürdige ist ja, dass ich auf einem alten Notebook (IBM, T20 mit 
Win2000) gar keine Probleme habe. Auf meinem neuen Notebook (Samsum X20 
mit WinXP) treten die oben beschriebenen Fehler auf.

Autor: arc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Handshake sollte immer gemacht werden (RTS/CTS oder DTR/DSR), da so gut 
wie immer die Möglichkeit besteht, dass die Sende/Empfangspuffer 
überlaufen können.

> Ich lese immer Blöcke von 514 Byte (512 Byte Daten + 2 Byte Checksumme).
> Allerdings kann es sein, dass die Checksumme, also die zwei letzten
> Bytes, etwas verzögert gesendet werden.

http://www.ftdichip.com/Documents/AppNotes/AN232B-...

Autor: Cute Knut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der PC ist definitiv nicht zu langsam. Ursache dürfte hier HTerm, ein 
schlechtes Übertragungsprotokoll und der FTDI-Treiber sein.

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.