Introdução

 

 

Neste trabalho vamos abordar dois tipos de barramentos externos: o USB e seus descendentes (principalmente o USB 2.0) e o FireWire e também os seus descendentes.

O nosso trabalho irá consistir primordialmente num estudo debruçado sobre as arquitecturas protocolares em cima referidas, sendo também um dos nossos objectivos esclarecer os utilizadores menos experientes, visto que actualmente muitas pessoas, independentemente do grau de conhecimentos informáticos, são confrontados com ambas e possivelmente não sabem tirar o melhor rendimento que elas lhes poderão oferecer.

 

 

 

Vamos começar por abordar o USB referindo algumas das suas características mais conhecidas e relevantes.

 

 

 

USB

 

O Universal Serial Bus (USB) é uma nova filosofia de barramento serial para o fluxo de dados entre um computador e dispositivos periféricos e foi projectado para preencher certas lacunas deixadas, até então, pelos outros barramentos seriais.

 

O USB permite uma maior comodidade para o utilizador, que não necessita de configurar o dispositivo, pois o próprio sistema encarrega-se desta tarefa. Incorpora a filosofia Plug and Play e é possível a expansão no número de portas, visto que pode endereçar até 127 dispositivos.

Caso seja um dispositivo novo, o sistema operativo detecta-o e solicita os drivers (se o sistema operativo for o Windows XP ou uma das ultimas versões do Mandrake, a detecção é feita automaticamente). No caso de já estar instalado, ele é activado e é estabelecida automaticamente a ligação. É possível desligar um dispositivo USB em qualquer altura sem que o computador ‘crashe’ ou tenha que ser reiniciado, ou seja, os dispositivos USB são “Hot Swappable”. Convém ainda dizer que o USB usa uma codificação NRZI.

 

A figura seguinte ilustra uma os principais passos duma conexão de um dispositivo USB.

 

 

 

 

 

O sistema USB é composto pelo Controlador Host USB, por dispositivos USB e por inter-conexões. A figura que segue mostra a topologia de um sistema USB.  O host é responsável por detectar a inserção e a remoção de um dispositivo, pela gerência do fluxo de dados e de controlo, monitorizando o estado das transferências e por controlar a interface eléctrica entre ele e os dispositivos.

 

Um dispositivo USB pode ser de dois tipos: função ou hub. A função é capaz de transmitir, receber dados ou informações de controlo pelo barramento e serve para aumentar a capacidade do sistema. Exemplos de funções são: rato, teclado, impressora e adaptador telefónico como um ISDN. Cada função contém informações descrevendo suas capacidades e os recursos dos quais necessita.

O hub é o elemento chave na topologia USB, pois é ele que permite a expansão do número de conexões do sistema. Cada hub converte um ponto de conexão noutros múltiplos pontos, permitindo o uso de múltiplos hubs.

O USB permite dois modos de comunicação: um de alta velocidade, operando a 12 Mbps, e outro de baixa velocidade, a 1,5 Mbps. O modo de baixa velocidade visa a atender a um pequeno número de dispositivos com largura de banda estreita, como ratos.

Nesta operação o computador decide para cada dispositivo o tipo de transferência de dados que vai utilizar, tendo para isso três hipóteses de escolha:

 

·         Interrupt: utilizado para dispositivos com pouco fluxo de dados como por exemplo um rato ou um teclado;

·         Bulk: utilizado para dispositivos que recebem dados num grande pacote de uma só vez, com por exemplo impressoras e scanners;

·         Isochronous: utilizado nos casos em que os dados flúem em tempo real e sem correcção de erros, entre o computador e o dispositivo como por exemplo as colunas de som;

 

Os dispositivos são enumerados, como já vimos, e o computador controla a largura de banda total que todos os dispositivos “interrupt” e “isochronous” solicitam. Eles podem consumir até 50% e dos 12 Mbps de largura de banda disponíveis. Após a utilização dos 90% o computador nega o acesso a qualquer dispositivo que seja do tipo “interrupt” ou “isochronous”. Os pacotes de dados para os dispositivos do tipo “bulk”, como era de esperar, usam os restantes 10% da largura de banda disponível.

 

 

Estrutura Física

 

 

O cabo USB é composto por quatro fios: VBus, D+, D- e GND. O fio VBus é o meio de fornecimento de alimentação para os dispositivos que necessitarem de um consumo mais baixo (tensão de alimentação de 5 Volts). O condutor VBus é de cor vermelha, enquanto que o GND (“massa”) é de cor castanha. Temos ainda, um par de condutores entrançados, D+ e D-, para o transporte de dados de cores amarela e azul. A envolver os quatro condutores existe uma blindagem para prevenir interferências externas.

 

 

 

 

A ligação dos equipamentos USB faz-se através de um cabo, que pode estar ou não embutido nele. Normalmente encontra-mos na ponta do cabo um conector tipo A, caso contrário o periférico terá um socket que aceita um conector tipo B. Aqui estão representados, respectivamente, um conector do tipo A e um do tipo B.

 

 

                                   

 

 

 

 

Uma Visão Geral do Funcionamento

 

Quanto à organização das camadas de software necessárias para se operar um dispositivo, o sistema USB HOST é composto por vários níveis de hardware e software, conforme é mostrado na figura que se segue.

 

 

Conforme a figura mostra, um aplicativo requer o acesso a um periférico USB da forma padrão, como é feita para os periféricos comuns: chama funções da API.

Num segundo estágio, a API chama rotinas do driver Cliente do periférico USB instalado. Este driver traduz os comandos da API para comandos USB. O driver Cliente é geralmente parte do sistema operacional ou vem disponível para instalação com o dispositivo USB.

A terceira camada de software indicada é o driver USB (USBD), que é aquela que dá ao sistema operativo o suporte ao USB.

A quarta camada de interesse é o driver do controlador HOST (HCD), que funciona a nível do Kernel do sistema operativo. O HCD provê o nível de software entre o hardware do controlador HOST e o USBD. É esta camada que realiza os acessos de I/O necessários para a operação do dispositivo USB. O HCD interpreta as chamadas do USBD e constrói uma lista de estruturas, um descritor de transferências, uma fila principal e um buffer de dados para o controlador HOST.

A figura apresenta também duas camadas de hardware.

A primeira delas é o Controlador HOST (HC), que é o circuito onde serão feitas as conexões de todos os dispositivos USB. Tal circuito executa electronicamente os comandos programado pelo HCD, além de registrar o estado das transacções do USB. Esta operação é controlada pelo HCD.

A segunda delas é constituída pelo conjunto de Dispositivos USB conectados, que são os periféricos que usam esse tipo de barramento.

 

 

 

USB 2

 

Esta nova versão do USB (USB 2.0) possui uma taxa máxima de transferência de 480 Mbps (aproximadamente 60 Mbps), ou seja, uma taxa maior que a do FireWire e muito maior do que a versão anterior do USB, que é a versão que ainda temos hoje em muitos periféricos usando taxas de transferência de 12 Mbps (aproximadamente 1,5 Mbps) ou 1,5 Mbps (aproximadamente 192 Kbps), dependendo do periférico.

O grande problema do USB era sem dúvida a sua taxa de transferência. Basta nos lembrarmos que a maioria dos discos rígidos existente hoje no mercado funcionam com uma taxa de 66 Mbps. Com o anterior barramento USB só transferia 1,5 Mbps, um disco rígido externo conectado ao micro, o que é extremamente lento. Para aplicações mais comuns - como impressoras, scanners e cameras de vídeo - a taxa de transferência do USB 1.1 é satisfatória. O problema mesmo é na conexão de periféricos que exijam altas taxas de transferência, basicamente sistemas de armazenamento de dados, como discos rígidos, gravadores de CD e Zip-drives.

A porta USB 2.0 continua compatível com periféricos USB 1.1. Ao iniciar a comunicação com um periférico, a porta tenta comunicar-se a 480 Mbps. Caso não tenha êxito, ela abaixa a sua velocidade para 12 Mbps. Caso a comunicação também não consiga ser efectuada, a velocidade baixa para 1,5 Mbps.

A grande vantagem do USB 2.0 sobre o FireWire é, portanto, a compatibilidade com os periféricos USB já existentes. Lembramos também que o FireWire foi destinado basicamente ao mercado de áudio e vídeo, permitindo que cameras de vídeo e novos equipamentos de áudio e vídeo profissionais pudessem ser ligados ao micro com um custo muito abaixo do que o hardware normalmente necessário para esse tipo de conexão. Podemos dizer, portanto, que o mercado alvo do USB e do FireWire são, de certa forma, diferentes.

 

 

 

 

 

FireWire

 

 

A FireWire, ou IEEE 1394, é uma forma de barramento em série inventado pela Apple Computer. Foi em 1995 que a especificação IEEE-1934 High Performance Serial Bus foi tornada standard.

Em geral, a FireWire é bastante semelhante ao USB, principalmente à versão mais recente do último, o USB 2.0. As principais características que esta tecnologia possui são, entre muitas outras:

 

·         Facilidade de utilização, no que respeita à montagem dos equipamentos;

·         Hot Swappable;

·         Plug And Play;

·         Possibilidade de alimentação do dispositivo (ver mais abaixo);

·         Permite transferências até 400Mbps.

 

A FireWire tem agora uma nova versão, a FireWire 800 ou IEEE 1934b, que permite uma taxa de transferências de dados na ordem dos 800Mbps.

 

 

Funcionamento:

 

Quando o computador arranca, ele atribui a cada um dos dispositivos ligados ao barramento um endereço, tal como acontece com o USB. Visto que é uma tecnologia Plug And Play, não são necessários grandes conhecimentos a nível informático para facilmente instalar um dispositivo FireWire. A operação será tão simples como ligar o cabo do periférico a uma porta FireWire e o sistema operativo tratará de estabelecer a comunicação com ele. Caso o periférico ainda não esteja instalado, são solicitados os drivers ao utilizador.

A FireWire é também Hot Swappable, o que quer dizer que o dispositivo poderá ser ligado e desligado quando o utilizador assim o entender, sem causar nenhum dano ao computador.

 

A nível de endereçamento, a FireWire usa um esquema de endereçamento fixo de 64 bits, ao contrário do USB que usa 24 bits. Um pacote de informação FireWire é dividido em três partes distintas: ID de barramento, ID Físico e Área de Armazenamento.

O ID de barramento é usado somente para saber de que barramento FireWire vieram os dados, enquanto que o ID físico (64 bits) permite saber qual o periférico no barramento enviou os dados. A Área de Armazenamento, tem 48 bits e é capaz de endereçar 256 Terabytes de informação por cada nó.

Juntos, o ID de Barramento e o ID Físico compõem o ID de Nó de 16 bits, que permite que um sistema possua 64.000 nós!

 

 

Estrutura:

 

Um cabo FireWire poderá ter no máximo 4,5 metros. No entanto, essa limitação pode ser ultrapassada se for usada uma topologia “daisy-chain”, ou seja, ligar o equipamento a outro, que por sua vez está ligado a outro, etc. Assim, usando este método, poderá ser transmitida informação num máximo de alcance de 72 metros, podendo ser interligados no máximo 63 dispositivos.

 

Uma das características do FireWire é a alimentação dos equipamentos, que podem ou não ser alimentados via porta FireWire, consoante a exigência dos dispositivos ou as características da porta FireWire. É obvio que, por exemplo, um disco externo não pode ser alimentado por uma corrente que no máximo é de 1,5 A. No entanto, periféricos como câmaras digitais podem ser facilmente alimentadas, visto que não têm grandes exigências.

Outro aspecto interessante é são portas FireWire. Um cabo FireWire normal tem 6 pinos, onde 2 deles são para a alimentação do dispositivo. No entanto, com o intuito de poupar energia (principalmente nos computadores portáteis), há portas que vêm só com 4 pinos. Obviamente que os 2 pinos que “faltam” não são de transferência de dados, são os que permitiam a alimentação dos periféricos. Nestes casos não há escolha possível, a alimentação tem que ser externa, o que se torna uma desvantagem face aos USBs.

 

Os restantes 4 fios estão separados em 2 pares entrançados e são usados para o transporte de dados. A figura que se segue mostra ao pormenor as estruturas de um cabo FireWire.

 

 

FireWire 800:

 

Também conhecida por IEEE 1394b, é uma tecnologia que permite um débito na ordem dos 800Mbps, como o próprio nome indica. Como era de esperar, é compatível com os produtos FireWire (400), tal como acontece entre o USB e o USB 2.0. Num futuro próximo, as taxas de transferências apontadas para a FireWire rondaram os 3200Mbps, ou seja, 3.2 Gbps. Se isso se verificar, este meio vai ser indispensável para a transferência massiva de informação.

Uma das vantagens que apresenta é a de suportar diversos tipos de cabo, o que permite atingir distancias ate 100 metros, como se pode ver na figura seguinte.

 

 

 

A nível de arquitectura, a FireWire 800 apresenta dois grandes passos em relação à versão 400. O primeiro melhoramento está na codificação da informação, que é baseada em códigos usados na tecnologia Gigabit Ethernet e canais de fibra. Ao usar esta codificação, de nome técnico 8B10B, o sinal apanha menos distorção que na codificação usada na FireWire 400.

O segundo melhoramento é o facto de nesta versão ser usado um novo esquema de arbitragem para todos os dispositivos que compartilham o bus FireWire altamente eficiente. Para que os dados sejam emitidos e recebidos com sucesso (como de uma camera digital para um computador, ou de um computador par um disco), os vários dispositivos do FireWire devem determinar que dispositivo começa transmitir e quando começa a transmitir. Se isto não se verificasse, os pacotes dos dados colidiriam e reduziriam a taxa de transferência dos dados.

 

Mesmo com todos estes melhoramentos, com o aumento da taxa de transferência, codificações alternativas, etc., o problema de um dispositivo poder não ter a opção de ser alimentado via FireWire mantém-se. Apesar de o FireWire 800 ter 9 pinos, ainda há portas que só aceitam 4 ou 6, mantendo-se assim o problema.

 

 

 

Mas, contra factos não há argumentos, realmente a FireWire é bem mais rápida que o USB e quando se pretende rapidez e eficácia, como por exemplo em transferências de dados em tempo real, esta tecnologia está muito mais desenvolvida e pronta a fornecer melhor soluções que a tecnologia USB. A figura seguinte mostra os valores “teóricos” das várias tecnologias.

 

 

 

 

 

 

 

 

DIFERENÇAS ENTRE USB E FIREWIRE

 

Com o aparecimento da nova versão do USB, o USB 2.0, cada vez se nota menos a diferencia entre os dois tipos de barramento. Como sabemos, a tecnologia tem tendência a evoluir a um ritmo muito elevado e as taxas de transferência destes já se encontram muitíssimo próximas. Por isso mesmo, talvez a grande diferença entre estas duas tecnologias não esteja relacionada com débitos. O USB é baseado em host, quer isto dizer que os dispositivos USB necessitam obrigatoriamente de um computador para poderem comunicar entre si. O mesmo não se passa com os periféricos que usam a tecnologia FireWire, que são suportados pela tecnologia par-a-par, ou seja, não necessita de um computador para estabelecer ligação.

 

O USB tem a possibilidade de integrar hubs de UBSs. Esta característica torna-se bastante prática, visto que normalmente um computador não vem com muitas portas USB e desta forma é possivel endereçar um total de 127 dispositivos, encadeando vários hubs. O mesmo já não acontece com o FireWire que, quando se pretende ligar mais que um dispositivo, só dispõe da opção “daisy-chain”, permitindo apenas a ligação de 63 equipamentos. O funcionamento do “daisy-chain” já foi anteriormente explicado.

 

E importante ficar com a ideia com ideia que, sendo estes dois tipos de barramento diferentes a nível arquitectural, eles têm que existir os dois por isso mesmo. É bom que haja estas diferenças, pois elas são importantíssimas no momento de escolher qual a tecnologia que vamos usar para um certo periférico.

 

 

 

 

 

 

CONCLUSAO:

 

Depois de termos efectuado enumeras pesquisas, analisarmos varias tabelas de comparação, confrontarmos os “prós” de uns com os “contras” dos outros, concluímos que não há um tipo de barramento que seja absolutamente melhor que o outro. A nível de velocidades, provavelmente a FireWire tenha uma performance melhor, mesmo em relação à USB 2.0 que apresenta um débito teórico de 480Mbps. No entanto, mesmo se a USB 2.0 alcançasse a mesma velocidade da FireWire 800, ela ainda conta com duas grandes desvantagens:

 

1. Não é possivel fazer boot a partir dos drivers da USB 2.0;

2. Os USBs compartilham a largura de banda e nivelam a performance de velocidade por baixo.

 

São sistemas diferentes e terão de existir sempre os dois. Mesmo que a FireWire vença a guerra devido exclusivamente à performance de velocidade, a USB 2.0 tem o seu lugar, pois há uma grande gama de aparelhos se conecta a ela. FireWire para impressoras é um exagero, não se justifica. Isto já para não falar um ratos ou teclados, que seria ridículo. No entanto, a saída FireWire é perfeita para cameras fotográficas digitais, embora o seu uso ainda não tenha se popularizado da mesma forma como aconteceu com as cameras de vídeo. Sendo assim, a escolha entre FireWire e USB é feita consoante as características do periférico em causa, pois tem que se ter em atenção a exigência dele a nível de largura de banda e a nível das suas portas de saída (via USB ou FireWire) para assim se poder avaliar qual a melhor solução.

 

Tendo em conta alguns resultados que encontramos na WWW, podemos constatar que a USB 2.0 é muito mais rápida do que a USB 1.1, como era de esperar, mas é muito mais lenta do que a FireWire. Teoricamente, a USB 2.0 deveria ser mais rápida do que a FireWire. Porém, na vida real o caso é outro.

 

 

 

 

Perguntas e Respostas

 

Tal como exigido no enunciado, aqui ficam duas perguntas pertinentes acerca destas tecnologias assim como as respectivas respostas.

 

 

Perguntas

 

1.       Será o USB um bom Bus de dados para periféricos como CD-R’s ou discos duros externos?

 

2.      Um aluno do DEI que possui um Compaq Armada 100S e um PC com uma motherboard MSI K7T266Pro, ligou os dois computadores em rede através de portas USB, usando o adaptador GeneLink. Na transferência de um ficheiro de um PC para o outro viu-se confrontado com uma taxa de transferência 7,3KB/s. É esta a taxa de transferência ideal através de portas UBS? Se não, que explicação dá a este facto e qual a taxa de transferência que considera ideal?

 

 

Respostas

 

1.        

A viabilidade ou não depende do que o utilizador entender por um resultado aceitável. Se o dispositivo for para o uso frequente então será preferivel uma instalação permanente para o desempenho e a integração mecânica. Não é suposto o USB estabelecer uma conexão permanente de alta velocidade com um periférico. Se o uso for ocasional ou for para um periférico que esteja a ser compartilhado entre muitos computadores, o desempenho do USB seria mais do que suficiente. A conveniência do USB e da conexão que ele trará compensaria taxas de transferência altíssimas. 

 

  1.  

Não, a taxa de transferência que obteve está longe do que seria de esperar. Na verdade, a taxa de transferência com produtos de rede USB está entre 400KB/s e um pouco mais de 800KB/s – a largura de banda máxima anunciada pela MSI é de cerca de 1MB/s. Sem informação adicional torna-se difícil descobrir a causa desta lentidão, que poderá dever-se a vários factores: utilização de outros periféricos USB em simultâneo, não atribuição de um IRQ ao controlador USB (ver BIOS), conflito entre o controlador USB e outro dispositivo do sistema (verificar Gestor de dispositivos). Seria bom que ligasse o PC a outro computador (sem o portátil) para descobrir se o problema está na configuração do portátil ou do PC. 

 

 

 

 

GLOSSARIO

 

 

Aqui ficam os significados de alguns termos que podem não ser do conhecimento geral.

 

·        API                               Significa Application Porgramming Interface e é um conjunto de funções e sub-rotinas usadas pelos programadores que dizem respeito ao sistema operativo como executar determinada tarefa;

·        Barramento                 Condutores eléctricos por onde navegam os dados internos da CPU:

·                                                  barramento de controlo - usado para activar, desactivar e controlar os fluxos de informações;

·                                                  barramento de dados - gerem os dados e instruções a serem executadas;

·                                                  barramento de endereços - indica donde os dados e as instruções devem ser enviados ou retirados.

·         Boot                             Processo de inicialização do computador, onde é lido primeiramente a BIOS (BASIC Input / Output System), o POST (Power On Self Test) e em seguida carregado o sistema operativo e programas;

·         CAT 5                           Cabo de Cobre de pares entrançados de Categoria 5 com largura de banda de 100MHz;

·         Daisy-Chain                 Todos os dispositivos formam uma cadeia (Daisy Chain) de forma que o sinal só é propagado para o dispositivo seguinte se o anterior não estiver solicitando o barramento. Se um dispositivo receber o sinal e não estiver solicitando o barramento ele propaga este sinal para o próximo dispositivo.

·         Driver                           Conjunto de rotinas que permitem ao Sistema Operativo aceder a um periférico. Assemelha-se de certa forma a um tradutor entre o periférico e o sistema operativo ou programas que o estejam a utilizar. Por ser especializado, funciona apenas para o dispositivo para o qual foi escrito. Geralmente, existe uma versão de um driver para cada sistema operativo;

·         Host                             Em português significa Servidor. O termo está ligado ao conceito de rede, onde ele é o computador que armazena ficheiros ou recursos (impressoras, por exemplo) que serão acedidos pelos outros computadores (guests) que estão ligados a essa rede.

·         Hot Swappable            É um recurso que permite desligar e ligar um dispositivo de um computador sem causar nenhum problema a este.

·        Hub                              É também conhecido por Concentrador principalmente em ambiente de redes informáticas. Neste contexto, um hub, permite conectar periféricos como impressora, scanners, discos rígidos externos ou câmeras digitais a um computador, contornando assim o problema de ter poucas portas USB disponiveis.

·        Abreviatura para Interrupt Request Line. É um número usado para descrever uma interrupção. Um IRQ pode ser qualquer número de 0 a 15, inclusive. Problemas de IRQ ocorrem quando duas peças de hardware tentam usar o mesmo.

·        ISDN                            Significa Integrated Services Digital Network e é também conhecida por RDIS (Rede Digital de Integração de Serviços). Permite aceder à rede Internet a 128Kbps usando uma linha telefónica.

·        Marketing e Serviços de Informações cuja missão é prestar serviços de informações para as áreas de Marketing.

·        NRZI                             Mantém constante um pulso de tensão durante um tempo de 1 bit, onde os dados são codificados com a presença ou ausência de um sinal de transição no começo do bit time.

·         Plug and Play              É um recurso que permite que um periférico seja reconhecido mal se ligue a uma certa porta (normalmente USB ou FireWire) e esteja pronto a ser usado. Somente no caso de ser a primeira vez que ele foi ligado é que o computador solicita os drivers de instalação.

 

 

 

 

 

 

BIBLIOGRAFIA

 

Curso Técnico de HARDWARE   FCA

            José Gouveia, Alberto Magalhães

 

Engenharia de Redes Informáticas FCA

            Edmundo Monteiro, Fernando Boavida

 

World Wide Web

http://www.colourcorp.co.za/apple0204/

http://www.apple.com.br/produtos/firewire/FireWire.htm

http://djmeucci.sites.uol.com.br/duvidas/conversoresusb.htm

http://www.umd.es/prensa/noticias/usb2.htm

http://www.dealerinfo.nl/1999/902/firewire.htm

http://www.clubedohardware.com.br/

 

 

Trabalho realizado no âmbito da cadeira de Arquitectura de Computadores 2, leccionada no Departamento de Engenharia Informática da Faculdade de Ciências e Tecnologias da Universidade de Coimbra, pelos alunos:

 

Telmo Rafael Portas Ferreira Simões

Luís Miguel da Silva Arede

 

 

 

optimizado para 1152 por 864 pixels