Detecção de velocidade USB

0

Estou aprendendo algumas noções básicas sobre USB usando USB em uma NutShell para um curso.

Uma das perguntas feitas em anos anteriores é Como você sabe - quando o dispositivo está conectado - que a alta velocidade é suportada e como você vai efetivamente configurá-la para alta velocidade? .

Agora, as informações sobre a alta velocidade são encontradas na parte Identificação de velocidade do curso. Cito o texto:

Once it has been attached, it will do a high speed chirp during reset and establish a high speed connection if the hub supports it. If the device operates in high speed mode, then the pull up resistor is removed to balance the line.

Mas como um dispositivo pode fazer um chirp de alta velocidade? E o estabelecimento de uma conexão de alta velocidade também é muito vago. Alguém pode esclarecer?

    
por jdepypere 31.12.2013 / 15:53

1 resposta

2

Do link , seção Negociação em alta velocidade.

The device leaves its D+ 1.5K pullup resistor connected, and does not terminate the lines with 45 Ohm resistors as it would for high speed. But it drives high speed current (17.78mA) into the D- line for at least a millisecond. Now, remember that the hub is applying a reset condition to the lines, so effectively is already terminated as for high speed data. As only one end of the link is terminated, the hub will see about 800 mV on D-. This condition is called a K-chirp.

A full / low speed hub will pay no attention to this condition, but a high speed hub will detect it using its differential receiver and the absence of a squelch signal.

If the hub is high speed capable then it will monitor the K-chirp from the device until it sees it completing. It must, within 100us, send a series of K-J chirp pairs to the device. This means that it will inject 17.78 mA alternately into the D- and the D+ lines. Each of these chirps lasts around 50us, and there are no gaps between them. The device has to see at least 3 chirp pairs before assuming that the hub is high speed capable.

At this point the device disconnects its 1.5K pullup resistor, applies the 45 Ohm high speed terminations (using its full speed data driver in SE0 mode), and is thus in a state to perform high speed data transmission and reception.

Então, quando você conecta um dispositivo, ele coloca 17,78mA de corrente na linha D (chamada de K-chirp). Um host de velocidade total ignorará este sinal e a transmissão continuará usando a velocidade máxima.

Mas se o host for capaz de transmitir em alta velocidade, ele esperará até que o K-chirp inicial esteja completo. Então, dentro de 100us, o hospedeiro colocará 17.78mA alternativamente na linha D + e D- (chamada par de chilro K-J), cada um com 50us. Se o dispositivo vir pelo menos 3 pares de chilrear, ele inicializará a transmissão em alta velocidade.

    
por 17.06.2018 / 14:34

Tags