USB Full speed has a speed of 12 MBit/second = 1,5 MByte/s.
But within these 12 MBit also a lot of extra data is transmitted which is not payload, like token, endpoint address, CRC5, CRC16, Acknowledge, SOF + EOF packets, etc.. Additionally the bus manager reserves 10% of a frame for Control Transfers.
See Interrupt Transfer in USB Made Simple Part 3
When I have an USB endpoint in Interrupt mode with a polling interval of 1 ms then I can transmit 64 bytes per frame = 64kByte / second.
But what if I have 2 endpoints with 1 ms polling? Then the host will poll both endpoints within 1 ms so I have a total throughput of 128 kByte/s?
And when the host is polling 15 IN endpoints simulataneously that would result in 15 * 64 kByte = 960 kByte/s?
(Let's suppose for simplicity that there are no OUT transfers)
First question: Although searching a lot I could not find a website talking about the maximum effective payload throughput at Full Speed.
Second question: Full speed allows a maximum of 64 byte / packet and a minimum poll interval of 1 ms. If I want to transfer the maximum possible payload via IN transfer, should I use multiple endpoints and spread the data transmission over these endpoints? With how many endpoints do I get to the limit?
Third question: I see that in a Bulk transfer the host requests IN data more often than once per millisecond. Does this mean that Bulk is faster than Interrupt transfer?