Hi NG, meine Schaltung wird mit einem FT232BM betrieben, am anderen Ende hängt ein µC und am USB ein PC.
Da nicht alles ganz so funktioniert wie ich es mir vorstelle hier ein paar Fragen, insbesondere nachdem ich einen Artikel in einer elektor diesen Sommer las. Danach wird die Leistungsfähogkeit der USART durch die Eigenheiten des USB stark eingeschränkt.
Mein Konzept sieht vor mit 38400 (warum eigentlich nicht 57600 oder schneller ?) Daten zu übertragen und zwar immer als Paket mit 16 Bytes. Von diesen Paketen sende ich wiederum mehrere (z.Zt. 6 ) hintereinander. Eine deutliche Besserung brachte die umstellung auf Hardware-Handshake CTS/RTS, aber perfekt ist es nicht.
Das PC-Programm sendet die Datenpakete und zwar 5x/sek 6 (unterschiedliche) Pakete à 16 Byte. Programmtechnisch wird das Aussenden in Form von 6 Aufrufen erledigt, praktisch kommen aber die 6 Pakete direkt hintereinander.
Das Programm ist in VB geschrieben.
- Frage: Kann ich durch gemeinsames Aussenden der gesamten Datenmenge den Durchsatz verbessern ? Ich würde dann alle 76 Bytes zunächst in einer string-Variablen zusammenfassen und dann den String senden. So sende ich 6 Strings à 16 Bytes.
2.Lässt sich das Verhalten des USB-CVhips mit Treibereinstellungen oder mit Einstellungen im EEPROM verbesern ?
- Macht es Sinn jeweils nach einem Zeichen Empfang durch den µC die CTS-Leitung zu ändern oder sollte man den kompletten Empfang eines Paketes abwarten ?
Gruss Nico