Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Ive got a question. How USB 1.0 negotiate the duration of a bit on output ? I mean speed of connection ? Is it const all the time ?

share|improve this question

1 Answer 1

USB 1 supports the following signal rates:

  • A low speed rate of 1.5 Mbit/s (~183 KB/s) is defined by USB 1.0. It is very similar to "full speed" operation except each bit takes 8 times as long to transmit.
  • The full speed rate of 12 Mbit/s (~1.43 MB/s) is the basic USB data rate defined by USB 1.1. All USB hubs support full speed.

The choice of low speed or full speed is indicated by the device when it is connected (same source, emphasis mine):

The host includes 15 kΩ pull-down resistors on each data line. When no device is connected, this pulls both data lines low into the so-called "single-ended zero" state (SE0 in the USB documentation), and indicates a reset or disconnected connection.

A USB device pulls one of the data lines high with a 1.5 kΩ resistor. This overpowers one of the pull-down resistors in the host and leaves the data lines in an idle state called "J". For USB 1.x, the choice of data line indicates a device's speed support; full-speed devices pull D+ high, while low-speed devices pull D− high.

The "duration of a bit" signal should be constant, but USB uses bit stuffing -- an extra 0 bit is inserted into the data stream after any appearance of six consecutive 1 bits; thus seven consecutive 1 bits is always an error. This means that while the duration of a bit is constant, a given byte sequence may take longer to transmit.

See also NRZI and bit stuffing.

share|improve this answer
    
Less than a minute faster than me and more precise! Anyway, +1. Did you worked with USB bus in hardware? –  whitequark Jan 29 '10 at 19:10
    
whitequark provided an excellent article: obdev.at/developers/articles/00003.html –  quack quixote Jan 29 '10 at 19:11
    
@whitequark: yeah, i've done a bit of hardware stuff. not USB specifically, i'm more familiar with USB from answering questions here. wikipedia's USB article seems pretty thorough. –  quack quixote Jan 29 '10 at 19:13

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.