An lpt port in ECP mode will supposedly transfer "in excess of" 1 MByte per second (IEEE 1284). The port uses single ended TTL drivers and receivers, and relatively low quality parallel cables with few ground pins. As a result, signal integrity issues limit the data rate. In addition, the protocol used is a slow two-way handshake protocol, which requires a response from the other end before proceeding, with ample time allowed for signal settling.
For example:
1- data is placed on the data lines by the computer
2- computer then indicates a data cycle or command cycle via HostAck
3- computer indicates valid data by asserting HostClk low
4- External device sends it’s acknowlegementof valid data via PeriphAck
5- computer set HostClk High, positive edge is used to fetch data
6- External device sends it’s acknowlegement of byte via PeriphAck
8 data lines, 1MByte/second requires a 1us transfer rate.
USB, on the other hand, uses a controlled slew rate high speed differential transceiver and controlled impedance twisted pair cable and is therefore able to reach much higher data rates. (USB style drivers transmit 480 Mbs over a single twisted pair) Also, the protocol is more sophisticated, so the data transfer doesn't require a byte by byte two way handshake. USB is a host controlled packet level protocol.
Low Cost High Speed serial technology is also used in the 1.5Gb/s SATA interface (two "wires" transfer 1.5 Gb/s each), and more sophisticated drivers/receivers and cables are constantly being developed.
It is also used in the 2.125Gbs FibreChannel links as well as 2.5Gbs InfiniBand applications. To give you an idea of how fast this is, light travels at about 1ft/ns. A 2.5Gb/s data pulse is 400ps long. Ignoring the actual propagation rate of the cable, this means there are always 8 data bits stacked up in a 3.2ft cable.
So, by modern data transfer standards, 480Mbs USB is already showing its age.
<P ID="edit"><FONT SIZE=-1><EM>Edited by meBigGuy on 04/19/04 08:12 AM.</EM></FONT></P>