|
![]() USB
![]() CP210x VCP speed at single-byte ping-pong (difference between VCP versions)
|
| next newest topic | next oldest topic |
| Author | Topic: CP210x VCP speed at single-byte ping-pong (difference between VCP versions) |
|
ptu New Member |
As we know, it is not possible to achieve good transfer rate with an USB-serial converter if you are sending short data blocks, e.g. 1 byte at a time and waiting for a reply. I wrote a small VB6 program (with MSCOMM32) to check the speed of the VCP driver in case of one-byte ping-pong (at 19200 b/s): - Driver 5.4.24: ~27 ping-pongs/sec Why the current driver is so much slower than the older one? This prevents using it with our legacy software using (too tight) timing. Are there any workaround to tune the speed for the 5.4.24 driver, or is this again only an MSCOMM32 problem without any workaround? (However, the legacy software is a VC++ 6 program, which does not work, so there is probably a ping-pong speed difference also without MSCOMM32). There is a similar topic http://www.cygnal.org/ubb/Forum9/HTML/001910.html; however is there any workaround for legacy software other than stay with obsolete version 5.4? [This message has been edited by ptu (edited December 01, 2009).] IP: Logged |
|
UserMarcus New Member |
This extactly the same we have observed today. Our Instrument work with the old 4.4 faster than with the 5.4.24. The low level trace confirmed this by comparing the time stamps of transfer action between 4.4 and 5.4.24. Is there any chance to speed up the 5.4.24 ? We didn't use the MSComm32.ocx. [This message has been edited by UserMarcus (edited December 01, 2009).] IP: Logged |
|
ptu New Member |
Portmon shows that IOCTL_SERIAL_GET_COMMSTATUS for Silabser0 (5.4.24) lasts always about 5 ms, which is a very long time compared to older versions and to real serial ports. Some software seem to poll IOCTL_SERIAL_GET_COMMSTATUS all the time, causing the communication to slow down. However, my competence is not enough to say if the slowness of that call is the reason or a result of something else. IP: Logged |
|
UserMarcus New Member |
Exactly the same what we have observed and reported to SiLabs. Example 4.4 Example 5.40.00 Example 5.40.24 Regards [This message has been edited by UserMarcus (edited January 28, 2010).] IP: Logged |
|
ptu New Member |
- Driver 5.4.29: ~98 ping-pongs/sec Newest driver is lot faster with many programs (more than you can expect from the figure above) but still not as fast as the old 4.40. IP: Logged |
|
UserMarcus New Member |
Thanks to SiLabs for that improvement. Speed of GET_COMMSTATUS : 0.00002926 IOCTL_SERIAL_GET_COMMSTATUS Regards. [This message has been edited by UserMarcus (edited April 09, 2010).] IP: Logged |
|
ptu New Member |
- Regular Windows XP serial port: ~381 ping-pongs/sec - Driver 6.1: ~503 ping-pongs/sec Now it is really fast compared to true serial ports, too! If it really does this, then the speed is not anymore an issue at all! (Honestly I think that there must be a problem in my measurement setup.) IP: Logged |
|
rmitchkzoo New Member |
UserMarcus: Your last post indicates an "improvement" in the getcommstatus response however our testing shows that all drivers since 5.24 have serious response problems. We had been "getting by" with older drivers (although the blue-screens & other issues were always lurking in the background) however there will come a day when we can no longer just "get by". We already have customers who have installed the newer drivers causing our products to fail, (stuck in a loop waiting for data from the port). We are preparing the documentation needed to run the support gauntlet at SiLabs but I was curious to know if your problems have been resolved in some way? IP: Logged |
|
Brent W Administrator |
Rmitchkzoo, The support gauntlet is standing by... -Brent IP: Logged |
|
UserMarcus New Member |
No Problems with speed since 5.4.29, but we had some problems with blue screen (often by special rise up conditions = communication to the Chip while this get powering up, not sure that this is fixed, because we change our Firmware to slower communication helps also) and memory leaks (pc memory rising up while com port is permanently opened, fixed with 6.1) No Problems with Version 6.1 yet. Regards IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() |
|
Have you seen our MCU Knowledge Base?