www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik BSL über USB mit MSP430F449 und FT232R


Autor: Fabio S. (codehamster)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fabio S. (codehamster)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Puffergröße kann man einstellen, im gerätemanager beim 
virtuellen COM Port. Minimum ist aber 64 Byte. Latency so klein wie 
möglich. Aber viel schneller wirds nicht werden, da die Bytes 
kleckerweise übertragen werden. Dafür ist USB nicht ausgelegt.

Autor: Fabio S. (codehamster)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fabio S. (codehamster)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, herzlichen Dank für die Infos, hab ich wieder was gelernt dabei =)

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

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