USB <---> Serial Wandler zu langsam

Gast #3875940
Lesenswert?
• ▲
▼
Unter Windows 8.1 setze ich einen USB-Serial Stick ein, der mit 115.200 
Baud betrieben wird. Der Stick ist furchtbar langsam. Verwende ich eine 
richtige serielle Schnittstelle, dann dauert das Flashen eines 
Controllers 3 Sekunden. Verwende ich den Stick, dann dauert es 30 
Sekunden.

Kann ich irgendetwas einstellen oder dauert es solange, weil der Vorgang 
noch über div. Treiber abgewickelt wird?
Gast #3875955
Lesenswert?
• ▲
▼
Wie benutzt du den USB->Seriell Wandler?

Bestimmungsgemäß, also zur Seriellen Datenübertragung mittels RX/TX?
=> Das darf nicht so langsam sein.

Oder in Verbindung mit einem Frickel-Bitbanging-ISP?
=> Schon tausendmal durchdiskutiert, das kann wg. 
USB-Timing-Anforderungen nicht schneller werden. Die konfigurierte 
Baud-Rate ist dabei völlig Schnuppe.



Lösung: Bootloader einmalig auf den µC, und in Zukunft mit 115200 oder 
auch 2 MBaud flashen.
Gast #3876050
Lesenswert?
• ▲
▼
Guter Tipp.

Verbinde ich Pin 2 und 3, dann erfolgt die Übertragung mit max. 
Geschiwndigkeit (115.200 Bd). D. h. es liegt nicht am Adapter.

Da muss ich wohl etwas tiefer einsteigen.

----------------------------

Stand der Dinge:

"Normale" RS232 -> AvrOspII-Flashprogramm -> Bord mit 
AVR910-Flashsoftware.

Schnell (2 - 3 s).

USB-RS232 -> AvrOspII-Flashprogramm -> Bord mit AVR910-Flashsoftware.

Langsam (30 s).
Gast #3876129
Lesenswert?
• ▲
▼
Das liegt daran, wie das PC Programm die Serielle Schnittstelle benutzt, 
ob sie einzelne Zeichen sendet oder ein ganzes Packet an den Treiber 
durchreicht.

Falls du die Möglichkeit hast: schau dir den TX Pin am Logikanazlyzer 
oder Oszi an.
Hatte selbst mal zwischen jedem übertragenen Zeichen 1ms Pause. Da 
stimmt zwar dann die Baudrate, aber nicht der Durchsatz.
Gast #3876131
Lesenswert?
• ▲
▼
Tassilo schrieb:
> Gerade was gegooglet:
> 
http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#USB
>
> AVROSPII und USB-Wandler = langsam, bekanntes Problem offenbar. :-(

Danke für den Link.

Ist natürlich schade, dass ausgerechnet AVROspII den Blockmodus nicht 
unterstützt, da es sehr gut durchdacht und ebenso gut zu bedienen ist. 
Leider wird es nicht mehr weiter entwickelt.
Gast #3878273
Lesenswert?
• ▲
▼
Hi!

Schau mal im Gerätemanager unter den Eigenschaften des 
USB-Serial-Wandlers nach. Findest du dort einen Eintrag in der du eine 
Zeit in Millisekunden einstellen kannst? Damit kannst du einstellen, wie 
lange der Treiber nach einem Zeichen auf weitere Zeichen wartet bevor er 
es über USB losschickt. Diese Zeit auf das Minimum setzen.

Meist gibt es das gleiche nochmals für die Anzahl Zeichen, bevor das 
Paket losgeschickt wird. Da der Programmer allerdings nur einzelne 
Seichen sendet, wird die Einstellung hier kaum was bringen.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.