N
Nicolas Nickisch
Guest
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.
1. 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 ?
3. 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
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.
1. 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 ?
3. 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