Skip to content

Commit 076654b

Browse files
committed
2 parents fb394cd + 1e051c7 commit 076654b

File tree

1 file changed

+31
-13
lines changed

1 file changed

+31
-13
lines changed

README.md

+31-13
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,37 @@ On WinUSB api for windows receiving end:
3535
https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/getting-set-up-to-use-windows-devices-usb
3636

3737
Further detail around some tests I did comparing the BULK, ie. standard data transfer using Serial.print and Isochronous datatransfer.
38-
Test description:
39-
Run iterative ADC reads for 5 seconds (using RTC clock).
40-
Keep number of iterations made = Test result
41-
Write ADC read to Serial.print in
42-
package of 2 bytes (serial.print)
43-
package of 52 bytes (serial.print)
44-
package of 1023 bytes (isochronous)
45-
no writing
46-
Test results:
47-
2 bytes: 33 000 iterations
48-
52 bytes: 30 000 iterations
49-
1023 bytes: 1 293 000 iterations
50-
no writing: 1 318 000 iterations
38+
1. Test description:
39+
-Run iterative ADC reads for 5 seconds (using RTC clock).
40+
41+
Keep number of iterations made = Test result
42+
Write ADC read to Serial.print in:
43+
44+
package of 2 bytes (serial.print)
45+
46+
package of 52 bytes (serial.print)
47+
48+
package of 1023 bytes (isochronous)
49+
50+
no writing
51+
52+
Test results:
53+
54+
2 bytes: 33 000 iterations
55+
56+
52 bytes: 30 000 iterations
57+
58+
1023 bytes: 1 293 000 iterations
59+
60+
no writing: 1 318 000 iterations
61+
62+
This test would therefore indicate it is certainly worthwhile to consider Isochronous datatransfers, in time critical applications.
63+
64+
What I did notice during my testing was that Windows will initialize an Isochronous datatransfer on an 8ms interval not faster.
65+
Doing the math, one could conclude it is not faster than a normal Bulk transfer (which transmits 52bytes on 0.2ms). However the overhead that the Bulk transfer imposes on the processor seems to completely offset this as shown by the tests above.
66+
67+
Using Isochronous datatransfer, on the other hand, implies transmitting 1023bytes every 8ms, eg. 1x1023bytes/8ms or 2x1023/12ms or 3x1023/14ms, ....
68+
5169

5270

5371
Hope it can inspire you,

0 commit comments

Comments
 (0)