You are on page 1of 5

Barramento Firewire (IEEE 1394)

Neste artigo, iremos abordar o que de mais moderno existe sobre barramentos: o Firewire. O Firewire um barramento serial de altssimo desempenho que proporciona a conexo de diversos equipamentos, utilizando uma topologia flexvel e proporcionando uma relao custo-benefcio bastante atraente. Nosso objetivo passar uma idia a respeito das caractersticas inovadoras do Firewire, como os conceitos de portais, pontes, ns, conexo virtual, etc.. Pedimos desculpas se deixarmos alguma lacuna, mas colocamos como justificativa a dificuldade de obtermos dados tcnicos sobre o assunto. Boa parte dos documentos disponveis tinham acesso controlado, o que no nos permitiu um estudo mais aprofundado. O barramento Firewire, criado pela Apple no incio da dcada de 90, foi adaptado, em 1995, e padronizado pela norma IEEE 1394. Sua capacidade de comunicao pode atingir at 30 vezes a velocidade do USB (Universal Serial Bus, leia artigo sobre o assunto). Sua idia parecida com a do USB: possui uma interface simples capaz de receber at 63 dispositivos, como drives de discos, cmeras digitais, televiso digital, computadores, etc., como mostrado na Figura 1.

Figura 1: Exemplo de arranjo de equipamentos com o Firewire. A Sony, Panasonic, Sharp, Canon e JVC foram as primeiras companhias a lanarem produtos com o Firewire (cerca de 7 milhes de codificadores de vdeo digital - MPEG). O mercado de computadores tambm j est abastecido com modelos da Apple, Compaq, Sony e NEC. Aguarda-se tambm a oferta de outros modelos de outras companhias lderes. Atualmente, a Castlewood Systems desenvolve um drive de disco que recebe diretamente a massa de dados de uma cmera digital, que promete eliminar o uso de fitas num estdio de vdeo de alta qualidade. Como pode ser observado, o Firewire no um barramento exclusivo para computadores, visto que as aplicaes de vdeo foram as primeiras a serem beneficiadas. Contudo, as companhias tm gradualmente adicionado, nos modelos mais novos, conectores Firewire em computadores, como feito para o USB. Como no USB, no necessrio inicializar a mquina para detectar os dispositicos Firewire conectados, j que os mesmos so tambm detectados no ato de sua conexo fsica, em tempo de execuo de aplicativos. Para recordar este processo, aconselha-se uma leitura do nosso artigo sobre o barramento USB. Os produtos Firewire atuais podem operar a uma taxa de 400 Mbps (50MB/s), contra 12 Mbps (1,5 MB/s) do USB. Apesar de revises da especificao USB j permitirem taxas maiores (USB 2.0 operando a 480Mbps ou 60MB/s), o Firewire no parar por a: dever atingir brevemente, com o auxlio de fibras especiais ou comunicao sem fio ("wireless"), velocidades de 800 a 3.200 Mbps. Para falar a verdade, pode operar a 800Mbps (100MB/s) sob a nova especificao IEEE1394b.

Firewire , ento, um apelido para um barramento serial especificado pelo IEEE, recebendo o nome oficial de IEEE 1394. A exemplo do PCI, dois ou mais barramentos Firewire isolados eletricamente podem ser conectados via um circuito especial, chamado de ponte. Historicamente, seu nascimento se deu em 1995 e foi apresentado sociedade em fevereiro de 1996, quando Peter Johansson, da Congruent Software, exps o trabalho intitulado "Serial Bus to Serial Bus Bridges" para um grupo de representantes das grandes empresas lderes de mercado, como Philips, Apple, NEC, Seagate, Sony, Sun, Samsung e Texas. Este acontecimento deu origem a uma srie de reunies para a discusso de questes tcnicas para no s a definio do padro IEEE 1394-1 (ponte entre barramentos Firewire), mas tambm para a especificao de pontes responsveis pela interface do barramento em estudo com outros barramentos. Estas reunies passaram a contar posteriormente tambm com representantes da Intel, Microsoft, Canon, Compaq e Panasonic, dentre outras. Embora tais especificaes ainda no estejam finalizadas, o grupo mantm sempre um "draft" da situao no site http://grouper.ieee.org/groups/1394/1. Sendo assim, alguns detalhes expostos neste texto esto sujeitos a posteriores revises. Com as novas revises do Firewire propondo-o a ser um barramento serial com um desempenho cada vez melhor, a taxa de comunicao implementada por uma ponte flexivelmente programvel para estar entre S100 (100 Mb/s) a at S3200 (3200 Mb/s), a um custo acessvel, tanto para conectar perifricos de computadores quanto eletro-domsticos. Segundo o comit 1394, outras aplicaes, como transmisso digital de vdeo, ainda esto limitadas por uma arquitetura e uma definio de protocolo para pontes hoje incompletas. Na verdade, a especificao fsica do barramento foi bem simples. O mais complexo definir os padres de ponte, o que est sendo feito pela proposta IEEE 1394-1. Para comear uma descrio da proposta 1394-1, sero colocadas algumas definies. Ponte: o circuito capaz de permitir a comunicao entre dois ou mais barramentos seriais com operaes independentes. Identificador de barramento (Bus_ID): um nmero de 10 bits que identifica, de forma nica, um dos barramentos seriais em uma topologia de rede composta por vrios barramentos. Portal: o circuito que conecta fisicamente uma ponte Firewire com um barramento. Cada ponte deve implementar pelo menos 2 portais, ou seja, permitir a comunicao entre 2 barramentos. Numa rede genrica, uma ponte pode implementar N portais, N<256, identificados por 0, 1, ..., N-1. Rede: um grupo de barramentos e ns interconectados, capazes de serem mutuamente endereados por transaes envolvendo pacotes de dados. N Local: Dois ns so ditos locais se eles estiverem conectados ao mesmo barramento, ou seja, com um mesmo identificador (Bus_ID). Identificador de N Local: um nmero de 16 bits que representa um endereo para o n (perifrico) conectado ao barramento. Mestre para Ciclo de Rede: o circuito eleito para ser o responsvel por fornecer o sinal de relgio que vai sincronizar a rede. Desta forma, vrios eventos na rede podero ser realizados de forma iscrona, ou seja, sincronizados por um nico relgio. Porm, o padro IEEE 1394-1 prev tambm a comunicao assncrona. Identificador fsico: um nmero de 6 bits associado a cada n, via processo de auto-identificao que sucede inicializao do barramento. N Remoto: Um n dito remoto em relao a outro se esto conectados a barramentos com diferentes identificadores. N Virtual: Um n genrico. Identificador Virtual: um nmero de 6 bits que representa um endereo de um n local conectado. A associao destes identificadores feita pelo portal que gerou o barramento local. Identificador de N Virtual: um nmero de 16 bits que representa um endereo para um n genrico que, para transacionar pacotes com um determinado portal, deve percorrer pelo menos uma ponte.

Ponte Firewire
A Figura 2 ilustra um modelo bem simples de ponte. Como pode ser observado, os 2 portais nela representados podem trocar informaes de forma iscrona (observar relgio de sincronismo e as filas iscronas) ou de forma assncrona (observar as filas de requisio e de resposta). Tambm, pela Figura 2, evidente que as transaes de pacotes podem ocorrer bidirecionalmente, ou seja, do portal 0 para o portal 1 ou vice-versa. A escolha do tipo de comunicao (iscrona ou assncrona), bem como a da taxa de comunicao, feita por estruturas de dados contidas na Tabela de Controle de Roteamento.

Figura 2: Modelo simplificado de Ponte Firewire, com apenas 2 portais.

Identificador de N Virtual
Numa rede de barramentos Firewire, os idenificadores para os ns (dispositivos conectados) possuem alguns atributos interessantes. Um deles a estabilidade a operaes de "reset" nos barramentos e a estabilidade ao caminho (depende da topologia de conexo dos barramentos) percorrido pelo pacote de informao. Um e somente um portal (chamado de portal ) o responsvel por gerenciar a designao de identificadores de ns virtuais. O portal a escolhido, durante uma fase de auto-identificao de barramentos (na inicializao da rede), como sendo, por simplicidade, aquele que tem o maior valor de identificador fsico. O processo de auto-identificao funciona da seguinte forma: cada portal transmite pelo menos 2 pacotes com informaes de si prprio para os outros portais, incluindo o identificador fsico usado para a escolha de .Assim, aps este processo, todos os portais podem facilmente calcular a topologia da rede implementada e manter internamente registros de informao desta topologia. Quando um n removido ou adicionado em algum barramento, automaticamente iniciado um processo de "reset" de barramento, dando incio a um novo procedimento de auto-identificao de barramentos e ns. Dispositivos conectados facilmente detectam a adio ou remoo de ns, bastando para isto comparar a topologia calculada aps este "reset" com a topologia calculada aps o "reset" anterior. Existe tambm uma operao peridica que serve para atualizar os identificadores topolgicos, que chamada de refresco ("refresh").

A Operao Assncrona
Pontes Firewire so consideradas portais "inbound", j que elas examinam o barramento para detectarem pacotes primrios assncronos (que iniciam o protocolo de uma comunicao) enviados por outros barramentos. J o portal que transmite o pacote primrio chamado de portal "outbound". Basicamente, existem 6 tipos de pacotes primrios: Requisio de escrita; Resposta a uma requisio de escrita; Requisio de leitura; Resposta a uma requisio de leitura; Requisio de proteo do barramento; Resposta requisio de proteo do barramento.

Numa operao "inbound", as pontes ficam constantemente monitorando o barramento procura de pacotes primrios. No momento que encontra um pacote primrio, a ponte examina o identificador de n virtual, contido no pacote, e verifica, na topologia de rede calculada aps o "reset", se o n de destino na transao est "pendurado" num dos barramentos dos portais da ponte. Caso isto ocorra, o portal destino recebe o pacote e inicia uma operao outbound para retransmitir o pacote primrio detectado para os barramentos hierarquicamente conectados a ele. Como exemplo, toma-se como base a topologia mostrada na Figura 3. Nela, esto representados 5 portais, com as referncias "a", "b", "c", "d" e "e". O portal " " em questo o "a". Supe-se que um n "N1", deseje comunicar-se com o n "N2". Acompanhando a figura, conclui-se que os seguintes passos so realizados: N "N1" transmite um pacote de requisio via Firewire do portal "b" Portal "b", implementado na ponte "a-b", detecta requisio e verifica que preciso retransmitir o pacote via portal "a" para que o mesmo possa atingir a seu destino (operao inbound); Pacote trafega pela ponte "a-b" e chega ao portal "a"; Portal "a" retransmite o pacote via barramento Firewire que une "a" e "c" (operao outbound); Portal "c", implementado na ponte "d-c-e", detecta requisio e verifica que preciso retransmitir o pacote via portal "e", para que o mesmo possa atingir a seu destino (operao inbound); Pacote trafega pela ponte "c-e" e chega ao portal "e"; Portal "e" retransmite o pacote via barramento Firewire, onde o n "N2" est conectado (operao outbound); N "N2" recebe pacote; N "N2" inicia processo inverso, ou seja, envia pacote de resposta requisio.

Figura 3: Exemplo de topologia com barramentos Firewire, portais, pontes e ns.

Barramento 1394 Virtual


Recentemente, em fevereiro de 1999, Subrata Banerjee, da Philips, apresentou um estudo sobre como conectar portais sem utilizar fios. Um Firewire com esta caracterstica recebe a denominao "Wireless Firewire", Firewire Virtual ou IEEE 1394 Vrtual.

Primeiramente, o Firewire Virtual foi motivado pela limitao da especificao 1394-1, onde um barramento pode unir apenas 2 portais. Em sua configurao virtual, pode-se ter uma topologia com um barramento unindo mltiplos portais, como mostra a Figura 4.

Figura 4: Exemplo de topologia com um Firewire Virtual unindo os portais "a", "c" e "e".
Como caractersticas relevantes da operao do Firewire Virtual, citam-se: permitida a transmisso concorrente entre mltiplos pares de ns conectados a um Firewire Virtual, ou seja, bem reduzida a caracterstica de congestionamento de barramento, que muito limita a capacidade de uma rede de comunicao; Ns no conectados ao Firewire virtual (exemplos: "N1" ou portal "d", na Figura 4) podem ou no ser enxergados pelos outro ns conectados; Pacotes iscronos so enviados apenas para os ns que foram listados por dispositivos como possveis fontes/destinos de pacotes; A forma de roteamento de ns e portais num barramento virtual bastante flexvel; sendo assim, nem todos os ns conectados ao barramento virtual podem comunicar-se diretamente uns com os outros; s vezes ser necessrio o uso de um n intermedirio para armazenar temporariamente os pacotes para depois retransmiti-los; Os pacotes comunicados num Firewire Virtual podem ser segmentados, se necessrio; Prev-se a simulao de ns por software.

Alm destas, ainda esto em estudo, dentre vrios outros atributos: A existncia de portal Incluso, numa ROM de configurao, de mapas de topologia e velocidade; Garantia de preciso na distribuio da freqncia de relgio; Transmisso de blocos assncronos de, no mnimo, 512 bytes; Suporte para tamanhos de pacotes que so permitidos em barramentos de 100 Mb/s ou mais; Suporte para todos os tipos de pacotes de barramentos seriais.

Concluses
Muita coisa se especula com relao ao Firewire. A primeira delas a aceitabilidade dele no mercado. Na verdade, isto no um ponto polmico, j que praticamente seu nascimento se deu por "encomenda da indstria", principalmente as de eletro-domsticos e computadores de grande desempenho. Porm, quando se aborda a questo do uso do Firewire em PCs, lembra-se do exemplo do USB (Universal Serial Bus), que levou alguns anos at ser consolidado. Mesmo hoje, no to farta a oferta de perifricos USB, o que se faz concluir que h ainda uma grande resistncia ao descarte de perifricos padres e placas para conexes em slots embutidos. Alm disso, em mais recente reviso, o USB apresenta caractersticas de desempenho bastante atraentes, se comparadas com o Firewire, o que d vantagem ao USB, h mais tempo oferecido. Mas, nem por isto, deve-se fechar os olhos grande inovao que veio junto com a especificao IEEE 1394.

You might also like