jmg 发表于 2024-10-7 10:36:11

本帖最后由 jmg 于 2024-10-7 11:33 编辑

Here are my test notes from earlier for STC USB-2UART
Notice the average sustained speed is quite low, as poor as 1/7th of the baud rate asked for.
Baud   0x00       Sustained average         BandwidthResults
10Mbd0.9us      736.975k*2 = 1.473950MBd= 14.739%no failures on 100k blocks(40MHz sysclk /4 ?)
9Mbd   1.0us      658.905k*2 = 1.317810Mbd= 14.642%no failures on 100k blocks(36MHz sysclk /4 ?)
8MBd   1.1/1.2us581.299k*2 = 1.162598Mbd= 14.532%no failures on 100k blocks(32MHz sysclk /4 ?)
7.5Mbd 1.2us      542.266k*2 = 1.084532Mbd= 14.460%no failures on 100k blocks(30MHz sysclk /4 ?)
6MBd   1.5us      425.092k*2 = 850184       = 14.169%no failures on 100k blocks(24MHz sysclk /4 ?)
5MBd   1.8us      605.371k*2 = 1.210742Mbd= 24.214%no failures on 100k blocks(40MHz sysclk /8 bumps % BW ?)
3MBd   3.0us      493.187k*2 = 986374       = 32.879%no failures on 100k blocks(36MHz sysclk /12?)
2.5Mbd 3.6us      515.070k*2 = 1.030140Mbd= 41.205%no failures on 100k blocks(40MHz sysclk /16?)
2Mbd   4.5us      453.835k*2 = 907670       = 45.383%no failures on 100k blocks(40MHz sysclk /20?)
500k            169.974k*2 = 339948       = 67.989%no failures on 100k blocks(40MHz sysclk /80?)


22.1184M/4= 5529600 = 1.627us measure 1.6/1.7us388.223k*2 = 776446 = 14.041%OK
22.1184M/8= 2764800 => reports invalid baudrate                                 
22.1184M/12 = 1843200 = 4.882us measure 4.8/4.9us410.528k*2 = 821056 = 44.545%OK
22.1184M/16 = 1382400 = 6.510us measure 6.5us      392.003k*2 = 784006 = 56.713%OK
22.1184M/20 = 1105920 => reports invalid baudrate                                 
22.1184M/24 = 921600= 9.765us measure 9.6/9.7    235.302k*2 = 470604 = 51.063%OK
22.1184M/28 valid                                                               
22.1184M/32 valid                                                               
22.1184M/36 = 614400= 14.648us measure 14.6us    181.057k*2 = 362114 = 58.937%OK
22.1184M/48 = 460800                               156.778k*2 = 313556 = 68.046%OK
22.1184M/96 = 230400                              96.866k*2 = 193732 = 84.085%OK
22.1184M/144 = 153600                               69.083k*2 = 138166 = 89.951%OK
22.1184M/156 = 141785                               67.703k*2 = 135406 = 95.500%OK
22.1184M/160 = 138240 65.10usmeasure 65us         66.520k*2 = 133040 = 96.238%OK
22.1184M/164 = 134868 66.73usmeasure 66.7us       65.115k*2 = 130230 = 96.560%OK, rare failures.

22.1184M/168 = 131657drops chars !!
22.1184M/192 = 115200drops chars !!
all the way down to the
22.1184M/4/120m below which it starts working ok again.

If I compare with a WCH CH9102, itis much better - it managed close to 1 MByte/second USB BUS traffic,
WCH CH9102 checks - Simple Loopback Echo Block sends
1Mbd   sustains 499,573*2100% with 10 x 100k blocks.< 0.1% BW loss
2Mbd   sustains 999,062*2100% with 10 x 100k blocks.
4Mbd   sustains 1.8941M*2100% with 10 x 100k blocks.-5.15% bandwidth
6Mbd   sustains 2.7736M*2100% with 10 x 100k blocks.-7.546% bandwidth

Note that loopback is traffic two ways over USB so 1.109440 MBytes / second is being moved.
Quite good for 12MHz FS-USB.

He adds:
Tested FT232H => PL2303GC, (768 RX HW buffer) No handshakePL2303GC baud seems to be 48M/N so 12M, 9.6M, 8M etc
12Mbd seems ok at 768, even 10241280 is marginal, 10x1280 is 12760, or dropped 40 bytes
1280 is better at 8MBd
For large packets, one way, 6MBd looks ok and 8Mbd.N.1starts to drop characters, and 8M.n.2 gains a bit more time, so looks better
Tested 12MByte large block FT232H => PL2303GC at 8M.n.2 no dropped bytes


..



victorsnow 发表于 2024-10-9 13:10:24

jmg 发表于 2024-10-7 10:36
Here are my test notes from earlier for STC USB-2UART
Notice the average sustained speed is quite lo ...

Very Detailed
THank you
页: 1 [2]
查看完整版本: 8H8K64U USB的最大速度?| 是 USB-FS, 12Mbit/s