mikrocontroller.net

Forum: PC Hard- und Software Langsamer Serial auf USB-Adaper


Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programm zum Flashen: AvrOspII
Hardware nach AVR910

Szenario 1

Flashen eines ATTinys direkt über die COM-Schnittstelle 2 - 3  Sekunden.

Szenario 2

Flashen eines ATTinys über einen USB-Adapter 15 - 20  Sekunden.

Kann das durch eine geeignete Wahl eines besseren USB-Adpater/Treibers 
auf die 2 - 3 Sekunden der Direktverbindung gebracht werden?

Autor: Jim Meba (turboj)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das normales ISP ist: Man nehme ein FT2232H Adapter und Avrdude. 
Die FT2232 Chips können ISP über MPSSE relativ zügig fahren.

Autor: stromverdichter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Pascal,
da die von dir verwendete Schaltung auf einer klassischen seriellen 
Schnittstelle basiert, kommst du um deren Nachteile bei Verwendung eines 
USB-Adapters nicht herum.
Die USB-Kommunikation geschieht paket-basierend. Für die Kommunikation 
mit deinem Programmieradapter muss jedes Byte einzeln in ein USB-Frame 
verpackt werden und dadurch mit viel Overhead zum Adapter verschickt 
werden. Die Signallaufzeiten sind dadurch sehr lange. Es gibt Adapter 
die das besser lösen, jedoch sind die sehr teuer und dein Programmer 
wird die nicht erkennen. Da du mit heutiger Hardware auf die Verwendung 
von USB angewiesen bist, solltest du einen USB-Programmer verwenden.
Wenn du selbst bauen oder günstig kaufen willst, schau dir mal die 
USBasp-Programmer an. Ansonsten macht das programmieren mir erst so 
richtig Spaß, wenn ich auch mal debuggen kann, um zu prüfen, wie die 
Register so stehen. Die Tinys haben je nach typ verschiedene 
Debug-Schnittstellen. Ich würde mir also den passenden Programmer für 
die jeweilige Schnittstelle besorgen. HV-Programming sollte da auch drin 
sein. Vielleicht findest du irgendwo bei ebay einen alten Dragon oder 
so.

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

Bewertung
0 lesenswert
nicht lesenswert
stromverdichter schrieb:
> Die USB-Kommunikation geschieht paket-basierend. Für die Kommunikation
> mit deinem Programmieradapter muss jedes Byte einzeln in ein USB-Frame
> verpackt werden und dadurch mit viel Overhead zum Adapter verschickt
> werden.

Und der entscheidende Punkt ist hierbei der, daß maximal ein Paket pro 
Millisekunde übertragen werden kann, was die auf diese Art und Weise 
erzielbare Übertragungsrate auf bestenfalls 1000 Bytes/sec beschränkt.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei den ftdi Adaptern kann man noch ein timeout einstellen das verwendet 
wird um Bytes in USB packete zu verpacken. Wenn man das auf 1ms stellt 
bringt das evtl. auch noch was.

Matthias

Autor: Jim Meba (turboj)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> Und der entscheidende Punkt ist hierbei der, daß maximal ein Paket pro
> Millisekunde übertragen werden kann,

Witzigerweise sind es 4 Pakete pro 1ms, wenn ein USB2.0 Hub dazwischen 
hängt. Und ja, das hab ich selbst ausgemessen. Hat was mit damit zu tun, 
das der Hub das auf USB High Speed übersetzt.

Heutzutage hat man sowas eigentlich fast immer rumfliegen, wäre also 
einen Versuch wert...

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jim M. schrieb:
> Rufus Τ. F. schrieb:
>> Und der entscheidende Punkt ist hierbei der, daß maximal ein Paket pro
>> Millisekunde übertragen werden kann,
>
> Witzigerweise sind es 4 Pakete pro 1ms, wenn ein USB2.0 Hub dazwischen
> hängt. Und ja, das hab ich selbst ausgemessen. Hat was mit damit zu tun,
> das der Hub das auf USB High Speed übersetzt.

Das hängt mit den Microframes zusammen, die dauern nur 125 Mikrosekunden 
statt 1 Millisekunde.

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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.