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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren