BSL über USB mit MSP430F449 und FT232R

OP #1175013
Lesenswert?

Hallo zusammen,

ich überarbeite gerade eine ältere Platine und habe die konventionelle 
RS232-Schnittstelle durch eine USB-Schnittstelle ersetzt.

Was mir negativ auffällt, ist das wenn ich SW über den BSL einspielen 
will die Übertragung über USB ca. 3x so lange dauert, wie wenn ich die 
selbe Platine über RS232 programmiere.

Konfiguration des FT232RL:
Buspowered, #DTR inverted, 3.3V auf Prozessorseite

Beispiel:
152KB Hexfile

BSL über RS232: 23 sek
BSL über USB:   81 sek.

Was ich nicht verstehe, die Baudrate ist ja Fix, also was verursacht die 
Verzögerung?

Hat jemand schon die selben Erfahrungen gemacht und hat jemand den Grund 
dafür gefunden?
Oder gibt es eine Lösung ohne Zeitverlust?

MFG Fabio
Persönliche Seite #1175026
Lesenswert?

Ich hab auch so eine Schaltung mit FT232 im Einsatz, kann aber nicht mit 
der direkten Verbindung vergleichen. Ich könnte mir nur vorstellen, dass 
die Loadersoftware am PC immer nach jedem gesendendeten Byte wartet, ob 
es richtig zurück kommt. Der MSP430 schreibt ja jedes empfangene Byte 
zurück. Der FT232 hat relativ große FIFO Puffer, es könnte da eben sein, 
dass der Durchlauf der Daten durch die Puffer so lang dauert und der PC 
entsprechend bei jedem Byte auf die Antwort warten muss.
Vielleicht kann man die Puffer abschalten? Ich wüsste aber jetzt nicht 
wie. Vielleicht hilft auch eine selbst geschriebene PC-Software, die den 
Zeitverstz akzeptiert, ohne zu warten - oder kann man das BSL-Programm 
vom mspgcc auch so konfigurieren? Weiß ich auch nicht.

Grüße,

Peter
OP #1175159
Lesenswert?

In den Einstellungen für den FT232R kann ich keine Änderungen der Grösse 
für den FIFO Puffer vornehmen.

Der Support von FTDI hat mir bei einem ähnlichen Problem bei einem 
Serial to USB Adapter (ebenfalls mit einem FTDI chip drin) geschrieben 
dass ich die Latency von Standard 16 auf 3ms herunterstellen soll. Dies 
über die erweiterten COM-Port Einstellungen des Betriebssystems. Dies 
hat damals eine Verbesserung gebracht.

Momentan bin ich ratlos...

Ich verwende ProgBox von Synasys, habe es auch schon mit anderen BSL's 
versucht. Mit dem gleichen Ergebnis.

MFG Fabio
OP #1175192
Lesenswert?

Also kann ich nicht davon ausgehen dass ein USB to Serial Baustein auch 
wie eine COM Schnittstelle behandelt wird. Auch wenn er als VirtualPort 
gelistet wird.

Ist es denn möglich den BSL Blockweise zu füttern? anstatt Byte weise?

Wenn ich Christians Antwort richtig verstanden habe liegt da der Hund 
begraben...
#1175218
Lesenswert?

Nee, soweit ich weiß, verkaftet der BSL immer nur 8 Bytes am Stück. 
Außerdem muss man ständig auf die Antwort warten. Das bringt alles nix 
dann. Musst du mit leben, dass es langsam ist. Für große Blöcke geht USB 
Serial richtig fix, aber für so einen kleinen Hin- unf Her-Transfer halt 
nicht.

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