Forum: PC Hard- und Software USB <---> Serial Wandler zu langsam


von Achim (Gast)


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?

von USB (Gast)


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.

von Achim (Gast)


Lesenswert?

USB schrieb:

> Wie benutzt du den USB->Seriell Wandler?
>
> Bestimmungsgemäß, also zur Seriellen Datenübertragung mittels RX/TX?

Ja, so verwende ich ihn.

> => Das darf nicht so langsam sein.

Was kann ich noch messen oder unternehmen?

von USB (Gast)


Lesenswert?

Achim schrieb:
> Was kann ich noch messen oder unternehmen?

Nimm den Wander, verbinde RX und TX mit einer Drahtbrücke ("Echo"), und 
messe so den Durchsatz.
z.B. im Terminal-Programm 1MB-Datei hochladen lassen, Zeit stoppen.

von Tassilo (Gast)


Lesenswert?

Auf der Windows-Seite keine einzelnen Zeichen an den Treiber schicken, 
sondern immer gleich einen längeren Buffer, so daß nicht aus jedem 
Zeichen ein eigener USB-Transfer wird.

von Achim (Gast)


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).

von Achim (Gast)


Lesenswert?

@  Tassilo

Habe ich leider keinen Einfluss drauf.

von Tassilo (Gast)


Lesenswert?

Gerade was gegooglet:
http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#USB

AVROSPII und USB-Wandler = langsam, bekanntes Problem offenbar. :-(

von Ben (Gast)


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.

von Achim (Gast)


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.

von Stefan1234 (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.