Foi-se o tempo em que apenas um ou dois periféricos eram conectados a um PC. Com a criação de uma grande quantidade de periféricos, o problema de conectá-los às portas disponíveis agravou-se exigindo novas soluções que incluam maior número desses dispositivos, e maior velocidade na comunicação entre eles e o PC. A palavra-chave para esse problema é conectividade, que cada vez mais se torna um elemento chave dos novos dispositivos eletrônicos de uso geral e, para o caso específico do PC, a solução atual é o Universal Serial Bus ou USB. Veja neste artigo o que é e como funciona o USB.

Uma das grandes limitações dos PCs tradicionais é o limite dado pelas portas, que permitem a comunicação com apenas um periférico de cada vez. Hoje em dia, com novos dispositivos tais como impressoras, scanners, câmeras de vídeo e muitos outros periféricos, o número de portas começa a se tornar um limite para a utilização do PC de forma racional.

 

A solução para este problema está na possibilidade de usar uma única porta de alta velocidade, serial, que empregue fios comuns (aumentando a distância entre os periféricos e o PC) e que permita a ligação simultânea de até 127 periféricos numa configuração em "margarida".

 

Esta possibilidade é hoje real e chama-se Universal Serial Bus ou USB.

 

Com o USB é possível ir acrescentando periféricos a um PC sem a necessidade de abri-lo, simplesmente agregando-os à linha serial de comunicações e sem haver o problema de conflitos de interrupções (IRQ), DMA ou ainda de endereços I/O. Observe a figura 1.

 


| Clique na imagem para ampliar |

 

 

Os cabos usados são comuns, de 4 condutores (duas linhas de dados e duas linhas de alimentação), facilitando assim ao máximo as interligações.

 

 

O Padrão USB usa cabos comuns de 4 fios e conectores simples, como o mostrado na foto.
O Padrão USB usa cabos comuns de 4 fios e conectores simples, como o mostrado na foto.

 

 

Mas a grande vantagem no uso do USB para a ligação do periférico é a sua capacidade de "conversar" com outros tipos de máquinas, abrindo assim a possibilidade de novas aplicações incluindo periféricos digitais, principalmente se você fabrica ou integra computadores.

 

Isso quer dizer que é possível fazer com que seu PC se comunique sem problemas com equipamentos de telefonia, máquinas de escritório, games multi-usuários, ou qualquer outra coisa que seja inventada para ser ligada a um PC.

 

Outra vantagem para os integradores é que não há mais necessidade de elementos adicionais na placa-mãe para conectar periféricos separadamente, tais como o teclado, o mouse e o monitor de vídeo, que também poderão compartilhar o uso das linhas do USB.

 

Tudo isso implica em que na parte posterior de um PC há apenas um tipo de conector para qualquer periférico, do mouse ao monitor de vídeo, do teclado ao scanner, tudo isso para ser usado pelo simples método "plug-and play" sem a necessidade de se mexer com hardware (jumpers ou coisa parecida), softwares de set-up ou reconhecimento, e sem o perigo de haver qualquer conflito de hardware, como já dissemos anteriormente.

O USB já faz parte da maioria dos PCs modernos e deve ser o único canal de comunicação deles em pouco tempo.

 

Para os leitores que estão ligados ao mundo dos computadores, quer seja como usuários ou como integradores, ou ainda reparadores, será muito interessante saber o que ele é e como funciona.

 

 

 

A HISTÓRIA

 

 

A ideia da USB surgiu justamente da necessidade de se resolver o problema das limitações das portas do PC e foi abordada inicialmente pelas empresas Compacq, Digital Equipment, IBM, Microsoft, Intel, NEC e Northern Telecom.

 

O USB seria um novo padrão industrial que possibilitaria a operação com um cabo de 2 ou 4 fios (dependendo da velocidade) a uma velocidade de até 12 Mbps (padrão USB 1.0/1,1). No final de 1999 entrou em vigor uma nova especificação USB 2.0, que ampliou a velocidade máxima de transferência para 120 e 240 Mbit/s.

 

Este padrão possibilita a conexão de até 127 (*) periféricos sem a necessidade de alterar o hardware ou software, mas com uma velocidade ainda maior, incluindo dispositivos que operam com imagens em tempo real, tais como os DVDs e outros que utilizam padrões de compressão como o MPEG2.

 

O padrão USB deve trazer os seguintes benefícios ao usuário:

 

• Um padrão único para a industria facilitaria a expansão ilimitada do PC sem o perigo de qualquer tipo de conflito de hardware.

 

• O custo no teste de periféricos seria reduzido.

• A universalidade do padrão permite que qualquer tipo de periférico possa passar de uma máquina para outra sem o perigo de não funcionar.

 

• Capacidade plug-and-play.

 

• Eliminação de elementos da placa-mãe tornando a montagem do PC mais compacta.

 

(*) Alguns documentos limitam a quantidade de periféricos em 126, já que a terminação 1 é dedicada ao próprio hospedeiro e por isso não é contada.

 

 

 

COMO FUNCIONA

 

Na figura 2 temos um diagrama em blocos que mostra como funciona o USB.

 


 

 

 

Existem três elementos básicos de hardware na arquitetura do USB: hosts (hospedeiros), hubs (núcleos) e periféricos.

 

A conexão entre os elementos é feita por um sistema "margarida" que pode ser analisado em 5 níveis.

 

Na configuração normal, na própria placa-mãe o barramento do PC é ligado a um controlador hospedeiro (host) que permite a conexão externa de um "hub" no qual os dispositivos periféricos podem ser plugados.

 

O controlador hospedeiro controla as transações pelo sistema USB. Existem dois tipos: o open-host controller interface ou OHCI e o universal-host controller interface ou UHCI.

O OHCI pode controlar transações múltiplas entre um periférico em "frames" de 1 ms. O UHCI, por outro lado, pode controlar uma transação apenas para um determinado ponto em cada frame.

 

Podem ser utilizados hubs roteadores à saída USB do hospedeiro de modo a funcionarem como gerenciadores para conexões múltiplas, conforme ilustra a figura 3.

 


 

 

 

Cada dispositivo ligado ao USB tem associado um número de end point ou EP.

 

O número EP0 é reservado à configuração do próprio hospedeiro. É através deste número que o hospedeiro identifica e consegue-se comunicar com cada periférico ligado ao barramento.

 

O tipo de sinal que vai ser transferido pelos periféricos também é importante e é considerado no USB. Assim, temos 4 tipos de dados, que são tratados de modos diferentes:

 

• Sinais de controle - são os sinais de requisição de transferência do hospedeiro para o periférico.

 

• Transferência de interrupções - são dados de um periférico para o hospedeiro requisitando uma interrupção.

 

• Pacote de dados - são conjuntos de grandes quantidades de dados transferidos.

 

• Transferência isossíncrona - é utilizada quando se necessita uma transferência constante de dados. Diferentemente da transferência assíncrona, usada em outros tipos de comunicação serial, esta é importante para se permitir que tanto os dados como o tempo sejam sincronizados o que é exigido na transferência principalmente de dados em tempo real.

 

 

O USB NA PRÁTICA

 

Para implementar o USB num PC são usados microcontroladores embutidos.

 

Existem além desse tipo outros que podem ser utilizados externamente,, dependendo da aplicação.

 

Na figura 4 temos um exemplo de chip de módulo USB com as funções que são necessárias para este tipo de tarefa. Este chip é o C541U fabricado pela Infineon (o leitor poderá obter mais informações sobre ele no próprio site da Infineon em http://www.infineon.com).

 


| Clique na imagem para ampliar |

 

 

Existem atualmente muitas outras empresas de semicondutores além da Infineon, fabricando seus chips específicos de interface USB para implementação nos PCs pelos fabricantes das placas-mãe e mesmo para outros tipos de equipamentos que devem comunicar-se com esse padrão.

 

O chip dado como exemplo serve apenas para mostrar os blocos de funções que são encontrados neste tipo de componente.

 

Conforme podemos ver, ele consiste de um módulo USB no qual se acopla um SIE ou serial interface engine, que processa todos os dados que entram e saem no circuito com funções tais como as conversões NRZ1 e NRZ (que é o tipo de sinal usado), decodificação, bit stipping e bit stuffing, além de redundância cíclica e checagem.

 

 

 

OS SINAIS

 

A comunicação de dados pelo USB é feita na forma de uma série de frames. Dentro de cada frame de 1 ms podem existir diversos blocos de transações que podem ser de três tipos diferentes, conforme mostrado na figura 5.

 


| Clique na imagem para ampliar |

 

 

Nos token packets temos comandos enviados do hospedeiro para o periférico com quatro tipos de sinais identificadores conhecidos como PIDs. São eles: SOF, IN, OUT e SETUP.

 

Os dados são transferidos pelos pacotes de dados (data packets). Dois tipos de PID são disponíveis para isso, denominados DATA0 e DATA1. Isso permite que o USB opere com duas velocidades: low speed e full speed.

 

O reconhecimento da transferência do pacote de dados é obtido na fase de handshake carregando um dos seguintes códigos: ACK, NACK ou STALL.

 

No protocolo de comunicações USB, duas formas de transferência de sinais de controle podem ocorrer, a quais são indicadas na figura 6.

 


| Clique na imagem para ampliar |

 

 

Nesta figura mostramos que a transferência é formada por três etapas de sinais que são uma etapa de set-up, uma etapa de dados e uma etapa de status.

 

Para a transferência dos blocos de dados existem dois procedimentos possíveis, que são exemplificados na figura 7.

 


 

 

 

No primeiro, temos a transferência no modo interrupt, e no segundo caso a transferência no modo ISO. No modo interrupt o hospedeiro fica varrendo o barramento enviando os blocos de dados para um determinado periférico.

 

O tempo de varredura para envio dos blocos pode ser definido pelo usuário entre 1 e 255 ms. Se nessa varredura não for encontrada nenhuma requisição para envio de dados, um sinal NACK é gerado representando um reconhecimento negativo.

 

No segundo modo, que envolve dados para ser enviados em tempo real, cada bloco é enviado em intervalos de 1 ms.

 

 

 

O FORMATO DOS SINAIS

 

 

O protocolo USB utiliza sinais invertidos com não retorno a zero ou NRZI de modo a codificar os dados a serem transferidos pelo barramento.

 

Este tipo de codificação tem a vantagem de não necessitar de sinais separados de clock.

Na figura 8 temos um exemplo de bloco de sinais enviados pelo barramento USB codificado na forma NRZI .

 


| Clique na imagem para ampliar |

 

 

Os sinais ilustrados nesta figura são os obtidos na linha de dados de transmissão do lado do hospedeiro da forma como seriam visualizados num instrumento apropriado.

 

É importante observar que os sinais obtidos na linha de dados do lado do hospedeiro não são exatamente os mesmos obtidos do lado dos periféricos. A deformação deve ser prevista, mas ao menos a qualidade do sistema não deve ser afetada, mantendo-se a integridade dos dados.

 

As especificações que existem para o USB de modo a se manter a qualidade da transmissão exigem que os tempos de subida e descida (rise/fall times) devam ser inferiores a 20 ns e 30 ns, respectivamente.

 

 

 

PULL-UP/PULL DOWN

 

No modo de alta velocidade de operação de qualquer dispositivo conectado ao USB é utilizado um resistor pull-up de 1,5 kohms conforme indica a figura 9.

 


 

 

 

Na mesma figura mostramos que no hospedeiro há um resistor de 15 kohms de pull-down de modo a fechar o circuito. Este circuito drena uma corrente constante de 200 µA fluindo do resistor pull-up pelo cabo USB e o resistor pull-down.

 

Um ponto importante para os projetistas que trabalharão com dispositivos conectados ao USB é a corrente consumida, em especial pelo fato de que a energia vem do próprio barramento a partir do Vbus power line.

Para não sobrecarregar o circuito, cada dispositivo conectado à linha USB não deve exigir corrente maior do que 100 mA na operação normal e menos de 500 µA no modo de espera.

 

É importante notar que o modo de espera ou suspend mode tem um significado diferente de power down. No modo de espera o dispositivo deve ser capaz de receber um sinal de ativação (wake up) do hospedeiro capaz de levá-lo à operação normal.

 

Esta condição de baixo consumo é muito importante, já que podem ser ligados até 127 dispositivos a um barramento, e a soma dos consumos mesmo em espera de todos eles levaria a uma corrente significativa.

 

 

 

CONCLUSÃO

 

A possibilidade de ligar-se facilmente uma grande quantidade de dispositivos a um PC, abrindo assim novos caminhos para a conectividade que deve prevalecer nos projetos de todos os equipamentos do futuro, é uma realidade que deve ser considerada hoje com o USB.

 

O conhecimento mais profundo do modo como os sinais são transferidos, os tipos de sinais usados e como eles são gerados é fundamental para os profissionais de Comunicações, Informática e mesmo Eletrônica do futuro.

 

Já se fala numa grande quantidade de eletro-eletrônicos que em breve devem estar conectados a PCs e à Internet, e o padrão sem dúvida será o determinado pelo USB.

 

Os leitores que desejarem se aprofundar no assunto têm na Internet uma enorme fonte de informações. Sugerimos que visitem inicialmente o próprio site da organização que "inventou" o USB em http://www.usb.org. Nele pode ser encontrada a especificação completa do protocolo USB 2.0, que já está sendo utilizado por muitos PCs para se comunicar com o mundo exterior, indicando o fim próximo da RS-232 e das portas COM dos computadores.

 

 

 

Veja também:

Carga Li-Íon Via USB (ART690)

• Usando o computador - A porta serial (ART228)

• Usando a porta paralela para comunicações com dois fios (ART119)

• Acessando a porta paralela (MEC005)

 

 

NO YOUTUBE


NOSSO PODCAST