www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB->RS232 langsam beim Flashen


Autor: Felix Linsenmeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe folgendes Problem: Ich möchte den AT89S8252
(Elektor-Flashboard) programmieren, unter Windows 95 geht es recht
zügig, unter Win-XP dauert es ewig bis der Code übertragen ist.

Unter Win95 bin ich direkt an com2, unter WinXP habe ich einen
USB->RS232 Adapter. Einstellungen habe ich beide identisch.

zur Übertragung habe ich TASM und ATMELISP verwendet.

Wenn jemand das gleiche Problem hatte (und gelöst bekam) oder einen Tip
zur Beschleunigung der Übertragung hat wäre ich dankbar.

mfg Felix

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da gibt es nur ein Lösung.

Protokoll anpassen ansonsten hilft nur echte COM-Schnittstelle
installieren oder Teil in die Tonne.

Das Problem liegt daran, das über USB maximal jede ms (wenn nur ein
Gerät angeschlossen ist) 64 Byte übertragen werden können. Ist das
Protokoll an diese Länge angepasst, dann bemerkt man kaum einen
Unterschied. Werden vom PC aber z.B. immer nur 5 Byte übertragen und
dann auf eine Rückmeldung gewartet, dann geht die Geschwindigkeit
natürlich enorm zurück. Die Schnittstelleneinstellungen sagen dem
PC/Wandler nur, wie er die Daten auf der RS232-Seite ausgeben soll,
nicht wie schnell der Datentransfer insgesammt ist.

Steffen

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steffen

Nur mal eine Frage zum Verständnis: max. 64 Byte jede ms bedeutet also
64*8*1000=512000 Bit/s, oder ? Wie kommen dann z. B. die 14 MBit/s
zustande, die USB kann ?

Gruß
Thorsten

Autor: Thomas Zepf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steffen:
64 Byte / ms stimmt nicht. Das würde nur für Interupt Übertragung
stimmen. Das Problem ist der Timeout im FTDI von 16 ms.

@Thorsten
USB 1.1: 12MBit/s  ~1 MByte/s sind je nach HW zu erreichen
   oder 1.5MBits/s
USB 2.0: 480MBit/s zusätzlich

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es sind genau 12 MBit pro Sekunde (USB 1.1). Es werden aber nicht nur
reine Datenbyte übertragen sondern es wird ein Protokoll verwendet, was
ja auch Platz benötigt. Die Daten werden in Paketen, sogenannten Frames
versendet. Bei der normalerweise bei solchen Wandlern verwendeten
Übertragungsart (alle zu erklären würde zu weit führen) enthält ein
Datenpaket 64 Byte. Diese 64 Byte + Protokoll werden jede ms vom
USB-Host (Rechner) gesendet bzw. vom USB-Endgerät geholt.

Wie oft jedes Endgerät angesprochen wird hängt unter anderem davon ab,
wieviele Geräte angeschlossen sind.

Noch zu sagen ist, dass der Datenverkehr nur Halbduplex abläuft.

Die Erklärung ist natürlich ganz stark vereinfacht.

MfG
Steffen

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas

Du hast Recht. Innerhalb eines Frames können mehrere Datenübertragungen
(max. 13 bei Control- und max. 19 bei Bulk Transfer) stattfinden. Ist
schon eine Weile her, wo ich mich mit den theorethischen Grundlagen
beschäftigt habe.

Steffen

Autor: Felix Linsenmeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steffen

Danke für die Info, jetzt ist mir klar warum... aber:

>> Protokoll anpassen

wie und wo?

bzw. gibt es Programme mit denen ich das einstellen kann?

Gruß Felix

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.