You are on page 1of 0

C ROGER OM Curso USB www.rogercom.

com

Aula 02 Mdulo-USB / Pgina 11

Introduo ao Universal Serial Bus (USB)
CONTROLADOR HOST
O host USB se comunica com os dispositivos atravs do seu controlador
(chipset e outros componentes).
O controlador host pode ser encontrado na prpria estrutura base da placa-me
do computador, ou pode ser adicionada num dos slots do barramento PCI. Na
maioria das placas controladoras USB PCI, alm das portas externas, h uma
interna, que permite instalar perifricos USB dentro do gabinete do computador, se
isso for preciso.
responsabilidade do Host:
Detectar a incluso e remoo de dispositivos;
Gerenciar o fluxo de controle de dados entre os dispositivos conectados;
Fornecer alimentao (tenso e corrente) aos dispositivos conectados;
Monitorar os sinais do bus USB.

Figura 1 - Placa controladora USB 2.0 - 5 portas


Como j foi mencionado na aula anterior, o padro USB foi desenvolvido por um
consrcio de empresas de tecnologia de ponta, destacando-se entre elas: Compaq,
Hewlett-Packard, Intel, Lucent, Microsoft, NEC e Philips.
C ROGER OM Curso USB www.rogercom.com

Aula 02 Mdulo-USB / Pgina 12
No foi fcil essas empresas chegarem a um acordo plausvel sobre a
abordagem do controlador. Opinies foram divididas e terminou formando-se dois
grupos diferentes:
UHCI - (Universal Host Controller Interface). Defendido e apoiado pela Intel, onde
uma parte do funcionamento do protocolo deveria ser processado no software
(driver), tornando o hardware do Controlador mais simples.
OHCI - (Open Host Controller Interface). Algumas empresas como a Compaq e a
Microsoft, concordavam e defendiam que a maior parte do processamento deveria
ser executado pelo hardware do Controlador, simplificando o driver (controlador
lgico).
Esse desacordo entre as empresas gerou incompatibilidade no padro
USB.
EHCI - (Enhanced Host Controller Interface). Surgiu para unir o que de melhor tem
os dois modelos anteriores; como aumento significativo na velocidade de
comunicao (largura de banda) chegando ao extremo de 480Mbps, onde o driver
(software) e o hardware, trabalham dividindo o servio para que dispositivos de
udio e vdeo possam funcionar simultaneamente em alta velocidade.

Portanto, UHCI, OHCI, EHCI so modelos de controladores USB compostos de
software bsico (driver) e hardware.
Um circuito Controlador consiste de duas partes: o Driver de Controle do Host
(HCD) que um software bsico (driver fornecido pelo fabricante), e um Controlador
Host (circuito que processa eletronicamente os sinais do barramento USB).
Controladores Host UHCI e OHCI esto associados verso USB 1.1. J o
controlador EHCI est associado verso USB 2.0. O bus USB 2.0 tambm
compatvel com UHCI e OHCI. Sendo assim, o EHCI agora um padro USB
universal.







C ROGER OM Curso USB www.rogercom.com

Aula 02 Mdulo-USB / Pgina 13
Figura 2 - Detalhes da placa controladora

no Host onde o driver (software) do controlador executado, dividindo o
processamento.
Na figura abaixo d para se ter uma idia geral do sistema USB, desde a
aplicao ou programa do cliente, ao driver do cliente; driver do sistema operacional;
driver do controlador; a placa do controlador (hardware) e, por fim, o dispositivo USB
do cliente, conectado a uma das portas USB do Root Hub.
Tanto a camada de software como a de hardware, est acomodada num nico
Host (hospedeiro). Este hospedeiro tem que ser um computador (PC), mas j
existem dispositivos portteis com caractersticas e poder de Host. Ou seja, podendo
acomodar camada de software e hardware como se fosse um PC. Essa tecnologia
atualmente nova e se chama OTG (On-The-Go) e trataremos do assunto em aulas
futuras.
C ROGER OM Curso USB www.rogercom.com

Aula 02 Mdulo-USB / Pgina 14
Figura 3 - Viso geral do sistema USB, camadas de software e hardware

Para entendermos melhor a ilustrao grfica acima, vamos partir da Aplicao
do Cliente (programa EXE). Imagine que o usurio a partir da sua Aplicao Cliente,
deseje enviar um comando para ligar um rel, no dispositivo USB (placa de controle
desenvolvida pelo usurio), mostrada na ltima camada de hardware (retngulo
azul). Observe os passos abaixo para entender melhor:
1 - A aplicao do cliente chama uma rotina da API passando-lhe parmetros
de controle;
2 - A API por suas vez chama o Driver do Cliente. Ou seja, o software bsico
do fabricante do Dispositivo USB. Este driver na maioria das vezes acompanha o
protudo adquirido pelo usurio; instalado no sistema operacional tornando-se parte
do mesmo. Por exemplo, quando compramos uma mquina digital, vem com ela um
CD-ROM, contendo os drivers e a aplicao para visualizar fotos;

3 - O Driver USB (USBD) um software bsico que j vem agregado ao
sistema operacional, ele quem garante ao Sistema Operacional suporte USB.
Verses mais antigas do Windows 95 e do Linux no do suporte ao USB, porque
no agregam esses drivers em seus Kernel. Esse driver interpreta e traduz
comandos do Driver do Cliente e envia-os para o Driver do Controlador Host;

C ROGER OM Curso USB www.rogercom.com

Aula 02 Mdulo-USB / Pgina 15

4 - O Driver do Controlador Host (HCD) fornecido pelo fabricante da placa
do Controlador Host (HC). O HDC trabalha de forma direta com o HC, processando
a parte lgica do sistema USB;
5 - O Controlador Host (HC) ou placa controladora, onde contm o chipset,
Root Hub e demas componentes auxiliares, a parte fsica do sistema USB onde
so conectados os dispositivos. O HC controla e detecta a incluso e remoo de
dispositivos. Todos os sinais eletrnicos interpretados pelo HC so enviados para o
HCD, que por sua vez envia comandos para o USBD.
6 - Por ltimo, temos o Dispositivo do Cliente, conectado ao Root Hob do HC.

Um dos nossos objetivos com esse curso, criar a Aplicao (programa EXE) e
desenvolver o dispositivo (produto final), utilizando como base o chipset FT232BM
da FTDI. A API e os Drivers do Cliente so fornecidos pela prpria FTDI sem
nenhum pagamento de royalties. Ou seja, podemos desenvolver um novo produto
USB, vender a um cliente e os drivers seguirem junto.

Estrutura eltricas do USB
Tipos de conectores
H duas sries de conectores USB:
Srie "A":
-Conector Tipo "A" Fmea, encontrado no Host (PC), ou em portas Downstream de
Hub;
-Conector Tipo "A" Macho, encontrado em um dos extremos do cabo USB, onde
deve ser conectado ao Host/Root raiz, ou em portas Downstream de Hub.
Srie "B":
-Conector Tipo "B" Fmea, encontrado no dispositivo/funo do cliente. Exemplos:
impressoras, mquinas digitais, modem ADSL, etc;
-Conector Tipo "B" Macho, encontrado em um dos extremos do cabo USB, onde
deve ser conectado a um dispositivo/funo.
Veja abaixo na ilustrao da Figura 4, os tipos de conectores da srie "A" e "B".

ROGERC

OM Curso USB www.rogercom.com

Aula 02 Mdulo-USB / Pgina 16
Figura 4 - Cabos e conectores

Mecanicamente os conectores USB foram projetados de forma a no permitir
encaixes errados por parte do usurio. S h uma possibilidade de conect-los: a
correta! Tipo "A" macho com Tipo "A" fmea e, Tipo "B" macho com Tipo "B" fmea.
Qualquer outra combinao impossvel de unir-los

Figura 5 - Conector Tipo "A" (Fmea
Host)
Figura 6 - Conector Tipo "B" (Fmea Disp.)


Na Figura 5 acima temos o conector receptculo Tipo "A", encontrado no Host e
nas portas Downstream de Hub. Observem que a identificao dos pinos comea a
partir da esquerda para a direita.
J na Figura 6 exibida uma figura do conector receptculo Tipo "B",
encontrado em dispositivos/funes do cliente. A numerao dos pinos comea da
direita para a esquerda na parte superior, e continua na parte inferior da esquerda
para a direita. Vero mais adiante, que os conectores do cabo tem a numerao
invertida.



C ROGER OM Curso USB www.rogercom.com

Aula 02 Mdulo-USB / Pgina 17
Figura 7 - Pinagem do conector Tipo "A"
(Fmea Host)
Figura 8 - Pinagem do conector Tipo "B" (Fmea Disp.)
Observem bem as figuras acima, elas mostram as partes inferiores dos
conectores e a identificao dos pinos. Essas identificaes sero muito importantes
quando forem criar uma placa de circuito impresso, ou mesmo us-los no proto-
board para criar prottipos de circuitos.
Figura 9 - Pinagem dos conectores Tipo "A" e "B" Machos do cabo USB

Veja agora, que nos conectores dos cabos, a identificao dos pinos so
diferentes. Observem tambm que os dois extremos do cabo dispem de Tipos "B"
macho.

C ROGER OM Curso USB www.rogercom.com

Aula 02 Mdulo-USB / Pgina 18
Estrutura eltrica e sinais do cabo USB
O cabo USB composto por 4 fios e uma malha para eliminao de rudos
simples. Desses, 2 so fios que transportam energia para alimentar dispositivos.
Essa energia fornecida pela controladora e gerenciada pelo Driver do Controlador
Host.
O Cabo USB usa cores padro para os fios, sendo assim, o fio de cor vermelha
chamado Vbus (5v), ou seja, o fio positivo de fornecimento de energia. O fio de
cor Preta o GND (0v). Este o pino negativo de energia do Bus.
O bus USB pode fornecer no mximo 5 Volt de tenso e 500mA de corrente
eltrica, isso para cada porta do Root Hub do host. A quantidade de corrente que
seu dispositivo ir precisar para funcionar pode ser configurada via software. Nos
circuitos que iremos criar usando o chipset da FTDI, a configurao de consumo de
corrente ser armazenada numa memria Flash tipo 95C56.
Os outros dois fios D+(dado+) e D-(dado-) so usados pelo sistema USB para
transferncia de dados entre o Host, hub e dispositivos. Todos os sinais de dados
trafegam apenas por esses dois fios usando a codificao NRZI (No Return to Zero
Inverted). Ou seja, o bit 1 codificado atravs de uma transio ocorrendo da maior
voltagem para a menor, ou tambm o inverso, da menor para a maior. J o bit 0
codificado sem haver transio. Durante o intervalo de um bit a voltagem
constante.
Figura 10 - Exemplo de codificao de bits em NRZI

S por curiosidade sobre a codificao NRZI, o grfico acima mostra como um
sinal digital comum codificado em NRZI. Na NRZI a transio s ocorre quando o
bit tem o valor 1. Quando o bit tem o valor 0 no ocorre transio para sua
codificao.

C ROGER OM Curso USB www.rogercom.com

Aula 02 Mdulo-USB / Pgina 19
Figura 11 - Interior do cabo


Figura 12 - Foto de um cabo USB, nomes e numerao dos fios

As duas figuras acima mostram as cores dos fios, associadas aos nmeros dos
pinos dos conectores, tanto do Tipo "A" como do Tipo "B".






ROGER OM Curso USB www.rogercom.com

Aula 02 Mdulo-USB / Pgina 20
C
Figura 13 - Organizao interna dos fios

Figura 14 - Par de fios D+ e D- entrelaados

Observem nas duas figuras acima, que o par de fios D+ e D- esto
entrelaados, o objetivo minimizar interferncias.

Configurao de alta e baixa velocidade de comunicao
Figura 15 - Configurao de alta velocidade entre o dispositivo e o Host

Na figura acima temos uma configurao fsica entre o Host e o dispositivo.
Observem no dispositivo o resistor de Pull-up de 1k5 ohm ligado desde o sinal D+ a
uma tenso de 3,3V. Esta tenso pode ser conseguida atravs de um regulador de
tenso ligado ao Vbus e ao GND do bus USB. Este resistor pull-up muito
importante, e serve para avisar ao controlador Host que um novo dispositivo foi
conectado ao bus USB e tambm informar que o dispositivo ir se comunicar com o
Host em alta velocidade. Para dispositivos que se comunicam em baixa velocidade,
como: mouses e teclados, o resistor de pull-up deve ser conectado ao sinal D-, em
vez do D+.
Para que o controlador host possa detectar a presena de um dispositivo,
necessrio que a tenso que circula entre o resistor de 1k5 at o D+ ou D- (alta ou
baixa velocidade), persista por mais que 2,5 microssegundos. J a desconexo de
um dispositivo detectada pela ausncia da tenso que circula pelo resistor pull-up,
por mais que 2,5 microssegundos.
Esta configurao a base para o funcionamento do sistema plug-and-play do
bus USB.