# FireWire

O Firewire, i.LINK (Sony), IEEE-1394, Lynx (Texas Instruments), ou High Performance Serial Bus (abreviado HPSB) é uma interface serial de ligação eletrônica criada pela empresa americana Apple na década de 1990, em cooperação com outras empresas (principalmente Sony e Panasonic), para ligação de computadores pessoais e aparelhos digitais de áudio e vídeo, que oferece transferência de dados (interface de entrada/saída) de alta velocidade e serviços de dados em tempo real. Pode ser considerado a tecnologia sucessora da interface paralela SCSI.

## História

Segundo Michael Johas Teener, diretor e editor original do documento padrão IEEE 1394 e Director Técnico da Equipa Apple de FireWire entre 1990 e 1996:
"O nome original do projecto FireWire era Chefcat, o nome da minha chávena de café preferida. As conexões padrão usadas no FireWire são familiarizadas com as conexões do venerável Nintendo GameBoy. Apesar de não serem especialmente glamurosas, as conexões do GameBoy provaram ser de confiança, sólidas, fáceis de usar e imunes aos assaltos de crianças.
"O FireWire é uma marca da Apple Computer, Inc. tendo sido registada em 1993. O nome FireWire foi escolhido por um grupo de engenheiros durante uma conversa antes da Comdex 1993, momentos antes do projeto se tornar público. IBM, Apple, Texas Instruments, Maxtor, Western Digital e, Seagate estavam todas presentes a apresentar drives, sistemas e toda uma série de tecnologia com suporte para FireWire. As forças de marketing por trás do projecto FireWire originalmente tinham considerado um nome diferente: Performa.
"O FireWire ganhou o prémio para a 'nova tecnologia mais importante' atribuído pela revista Byte no show Comdex de 1993.
"Durante o período em que participou no grupo de trabalho IEEE p1394, a Apple propôs o licenciamento de todas as suas patentes por US$ 3,000.00, uma taxa única para a 'autorização de uso' (point of first use) ou, em alternativa, para os circuitos integrados que implementavam os protocolos. Além disso, propunha-se um desconto se fosse feita uma contribuição para o fundo de bolsas de estudo universitárias do IEEE. Ao abrigo desse acordo, o IEEE concordou em incluir as patentes apropriadas no padrão.
"A Apple nunca pretendeu cobrar para o uso do nome FireWire. Podia ser usado por qualquer parte, desde que assinasse um acordo de que usaria o nome para um produto que era compatível com a versão original do padrão IEEE 1394-1995. Steve Jobs estava convencido de que a Apple devia pedir US$ 1.00 por porta para as patentes que se tornassem partes do padrão. O argumento era de que tal era consistente com as taxas de patente do MPEG.
"Os lucros resultantes da cobrança de US$ 1.00 por porta de FireWire era significativo, particularmente os valores cobrados à Intel. A Intel tinha apostado imenso na tecnologia do padrão IEEE 1394 com o novo padrão melhorado 1394a-2000, baseado, parcialmente, em trabalho realizado pela Intel. Em virtude disto, um grupo dentro da Intel usou este argumento para abandonar o apoio à tecnologia FireWire e trazer à luz do dia o novo e melhorado USB 2.0.
"Simultaneamente, a Sony e os outros partidários da tecnologia fizeram ver à Apple que todos eles tinham igualmente patentes e, conseqüentemente, também tinham direito a parte dos royalties cobrados por porta FireWire. Nestas circunstâncias, a Apple teria que pagar aproximadamente US$ 15.00 por porta aos outros criadores de tecnologia FireWire. O resultado final foi a criação da 'Autoridade de Licenciamento 1394', um organismo que cobra um valor de US$ 0.25 por sistema de usuário final (como um carro ou computador) a qualquer empresa que utilize a tecnologia 1394."

## Uso comum

O FireWire é uma tecnologia de entrada/saída de dados em alta velocidade para conexão de dispositivos digitais, desde camcorders e câmaras digitais, até computadores portáteis e desktops. Amplamente adotada por fabricantes de periféricos digitais como Sony, Canon, JVC e, Kodak, a interface tornou-se um padrão estabelecido na indústria tanto por consumidores como por profissionais. Desde 1995, um grande número de camcorders digitais modernas incluem esta ligação, assim como os computadores Macintosh e PCs da Sony (para uso profissional ou pessoal de áudio/vídeo). O FireWire também foi usado no iPod da Apple durante algum tempo, o que permitia que as músicas pudessem ser carregadas em apenas alguns segundos e, também recarregando simultaneamente a bateria usando um único cabo. Os modelos mais recentes, porém, como o iPod nano e o novo iPod de 5ª geração, substituíram a conexão FireWire padrão por USB 2.0.

### Sistema de redes

O FireWire com o apoio de software é útil para criar sistemas de rede ad-hoc (onde só existem terminais e nenhum router). O Linux, Windows XP e, MacOS X são alguns dos sistemas operativos que suportam este tipo de rede.
Uma rede entre dois computadores pode ser criada sem hub, muito à semelhança do exemplo entre o scanner e a impressora acima referido. A transferência de dados entre dois computadores através de um cabo FireWire é rápida e praticamente sem configuração de ligação em rede.
No aparelho de videogame PlayStation 2, alguns jogos, como Gran Turismo 3, possuem a opção de jogo via rede FireWire.

## Versões

O FireWire foi desenvolvido pela Apple Computer na década de 1990, a partir de uma versão mais lenta da interface que havia sido desenvolvida nos anos 80, para substituição do bus SCSI, por um grupo de trabalho do IEEE do qual a Apple fazia parte. O desenvolvimento da Apple completou-se em 1995, tendo ficado definido no IEEE como padrão 1394 e que se compõe atualmente por três documentos: o padrão original 1394-1995, o padrão 1394a-2000 (adenda de 2000) e o padrão 1394b-2002 (adenda de 2002).
A ligação original (IEEE 1394-1995) é constituída por 6 condutores, 4 dos quais agrupados em 2 pares cruzados, 1 para transmissão de dados em modo half-duplex e outro para o sinal de relógio. Os dois restantes são usados para a alimentação dos dispositivos a que se encontram ligados. Cada par cruzado é blindado internamente, assim como o invólucro exterior do cabo. É a boa protecção desta blindagem que permite as altas taxas de transferência do FireWire.
A implementação do sistema na Sony, conhecida como i.Link, usa apenas os quatro pinos de sinal, já que o fornecimento de energia aos dispositivos é efectuado separadamente.
O sistema é normalmente utilizado para ligação de dispositivos de armazenamento de dados e câmaras digitais de vídeo, mas é também comum em sistemas industriais de «machine vision» e sistemas profissionais de áudio. É usado em vez do USB 2.0, mais comum, devido à sua velocidade mais alta, capacidades mais elevadas de alimentação e porque não necessita de um computador anfitrião. Talvez o mais importante seja o facto de o FireWire fazer pleno uso de todas capacidades de SCSI e, comparado com USB 2.0, possuir taxas de transferência de dados mais elevados – uma característica especialmente importante para editores de áudio e vídeo.
Com mais de 30 vezes a largura de banda do USB 1.1, o FireWire 400 transformou-se num padrão da indústria para transferência de dados a alta velocidade. Contudo, os royalties que a Apple Computer e outros possuidores da patente exigiram inicialmente aos operadores (US$0.25 por sistema final) bem como o custo superior do hardware para a sua implementação (US$1.00 a US$2.00) impediu o FireWire de suplantar o USB nos periféricos para computadores de massas, onde o custo de produção é um importante factor de constrangimento.
Através de FireWire, podem ligar-se em rede até 63 periféricos em uma estrutura acíclica (hubs, ao contrário da estrutura linear do SCSI). Igualmente, permite a ligação P2P entre dispositivos, tal como a comunicação entre um scanner e uma impressora, sem usar memória de sistema ou um computador. O FireWire também suporta múltiplos hosts por bus. Para o mesmo efeito, o USB exige um chipset especial que resulta na necessidade de se utilizar um cabo de custo elevado, ao passo que o FireWire exige apenas o cabo normal de 6 pinos. É desenhado para suportar tecnologia "ligar e usar" e hot swapping e o seu cabo de seis pinos não só é mais eficaz que o cabo SCSI, como pode fornecer até 45 watts de potência por porta, permitindo a ligação de dispositivos de consumo moderado sem alimentação separada de corrente. O I.link da Sony (como já foi referido) omite a ligação de corrente do sistema e utiliza um cabo de apenas 4 pinos.
O FireWire 400 pode transferir dados entre dispositivos em índices de 100, 200, ou 400 Mbit/s (na realidade: 98,304, 196,608 ou 393,216 Mbit/s, mas comummente referidos como S100, S200, e S400). Embora o USB 2.0 reivindique ser capaz de velocidades mais elevadas (480 Mbit/s), o FireWire, devido à sua baixa latência, é na prática mais rápido. O comprimento do cabo é limitado a 4,5 metros mas podem ser ligados até 16 cabos o que perfaz um comprimento total de 72 metros, em concordância com as especificações.
O FireWire 800 (nome da Apple para a conexão de 9 pinos S800 bilíngue - versão do padrão IEEE 1394b) foi introduzido comercialmente pela Apple em 2003. Esta nova especificação 1394 possui mais um par de condutores para blindagem com ligação à terra e um terceiro pino reservado para futura utilização, permitindo uma taxa de transferência de 786,432 Mbit/s face aos periféricos mais lentos com FireWire 400 e conexões de 6 pinos.
A especificação do padrão IEEE 1394b suporta conexões ópticas até 100 metros de comprimento e taxas de transferência de dados até 3,2 Gbit/s. Na Categoria Padrão de 5 pares torcidos s/ blindagem, suporta comprimentos de 100 metros em S100 e na nova tecnologia em desenvolvimento padrão IEEE 1394c vai até S800.
Os padrões 1394 e 1394a usavam codificação Data/Strobe (D/S), também chamada legacy mode (modo herdado), para a transferência de dados, ao passo que o padrão 1394b passou a utilizar um novo esquema de codificação chamado 8B10B (também conhecido por beta mode). Com esta nova tecnologia, o FireWire, que era já ligeiramente mais rápido, apresenta-se agora substancialmente mais rápido que o USB de alta velocidade.
As conexões IEEE 1394b não suportam dispositivos nas especificações mais antigas. Porém, a Apple e a sua porta bilíngüe permitem que o FireWire 800 suporte todos os tipos de dispositivos IEEE (1394, 1394a e 1394b). No entanto, uma vez que estas especificações utilizam codificações de sinal diferentes, os condutores têm diferentes funções consoante a especificação utilizada. Assim, enquanto que no modo legacy os pares cruzados se comportam como foi atrás descrito, no modo beta o par para transmissão do sinal de relógio passa a ser usado igualmente para transmissão de dados no sentido inverso ao do outro par, tornando a ligação dual-simplex.
Os dispositivos de FireWire utilizam o modelo ISO/IEC 13213 Configuration ROM para configuração e identificação dos dispositivos, bem como para a capacidade plug-and-play. Todos os dispositivos FireWire são identificados por um identificador único IEEE EUI-64 (extensão do Ethernet MAC address de 48 bits) a juntar aos códigos que indicam o tipo de dispositivo utilizado e protocolos suportados.
Em resumo, e no que toca em particular à edição de áudio/vídeo (principal aplicação comercial do Padrão IEEE 1394), pode afirmar-se que o FireWire 400 proporcionou uma revolução na produção de vídeo em desktop. A combinação de câmaras digitais de baixo custo e alta qualidade, com porta FireWire, e software de processamento de imagem apropriado, permitiram a criação de vídeos com qualidade profissional em PCs.
* Opções de conectividade flexíveis. Suporta até 63 computadores ou dispositivos num único bus.
* Entrega de dados em tempo real. Fundamental para aplicativos de áudio e vídeo, nos quais, pacotes atrasados ou fora de ordem são inaceitáveis. O FireWire pode garantir entrega isócrona de dados.
* Alimentação on-bus. Enquanto o USB 2.0 oferece no máximo 2,5 W de potência — suficiente para um único dispositivo lento como um mouse — os dispositivos FireWire podem oferecer ou consumir até 45 W de potência, suficiente para discos rígidos de alto desempenho e rápido carregamento de baterias.
* Conectividade "ligar e usar". Simplesmente liga-se um dispositivo, estando ele ligado ou não, e ele funciona.
No caso do FireWire 800, a somar às características já enunciadas, acrescenta-se a alta velocidade: a 800 Mbps, o FireWire tem mais de 2 vezes a largura de banda do USB 2.0, o que o torna a escolha perfeita para armazenamento de alta velocidade e captura de vídeo de alta qualidade ou utilização de discos rígidos montados em RAID. A velocidade adicional do FireWire 800 em relação ao USB 2.0 torna o FireWire muito mais adequado a aplicações de grande largura de banda, como vídeos e gráficos, que normalmente consomem centenas ou mesmo milhares de Mbytes de dados por arquivo. Além disto, o FireWire 800 proporciona ainda:
* Arquitetura altamente eficiente. O Padrão IEEE 1394b reduz os atrasos na intermediação, enquanto a codificação 8B10B reduz a distorção de sinal e aumenta o rendimento.
* Menor experiência do utilizador. Não importa como se ligam os dispositivos. Na verdade, pode mesmo fazer-se um looping com o FireWire 800 de volta para um Apple Macintosh.
* Retrocompatibilidade. Os fabricantes adoptaram o FireWire para uma ampla gama de dispositivos, como câmaras DV, drives de discos rígidos, câmaras fotográficas digitais, áudio profissional, impressoras, scanners e entretenimento doméstico. Cabos adaptadores para o conector de 9 pinos FireWire 800 permitem que se utilizem dispositivos FireWire 400 na porta FireWire 800.

## Segurança

Os dispositivos num bus FireWire podem comunicar por «acesso directo da memória», no qual o dispositivo utiliza o hardware para mapear a memória interna para a memória física do FireWire. O SBP (Serial Bus Protocol ou protocolo de bus série) usado por unidades de disco FireWire usa esta capacidade a fim de reduzir o número de interrupts e buffer copies. Em SBP, o iniciador (dispositivo de controlo) realiza um pedido enviando um comando para uma determinada área do address space do FireWire do alvo. Este comando normalmente inclui buffer addresses no «espaço físico de endereços» do FireWire do iniciador, que o alvo utiliza para mover dados de I/O do e para o iniciador.
Em muitas implementações, particularmente em PCs e Macintoshes com a interface OHCI, o mapeamento entre a memória física do FireWire e a memória física do dispositivo é realizado recorrendo ao hardware, sem intervenção do sistema operacional. Se, por um lado, isto permite uma velocidade de comunicação extremamente elevada e baixa latência entre fontes de dados, sem necessidade de cópias desnecessárias (tal como entre uma câmara de vídeo e uma aplicação de gravação de vídeo, ou entre uma unidade de disco e os buffers da aplicação), por outro também pode ser um risco em termos de segurança se dispositivos não-seguros estiverem ligados ao bus. Em virtude disto, praticamente todas as instalações de alta-segurança adquirem, por sistema, máquinas mais recentes que mapeiam um «espaço de memória virtual» para a memória física do FireWire (tal como um Macintosh G5, ou qualquer estação de trabalho Sun). Desactivando o mapeamento entre o FireWire e o dispositivo de memória realizado pelo hardware OHCI, desactiva fisicamente todo o interface FireWire, ou seja, deixa de existir FireWire de todo.
Esta característica também pode ser usada para depurar uma máquina cujo sistema operativo tenha falhado e, em alguns sistemas, para operações de gestão remota.

## Hierarquia dos nós

Os dispositivos de FireWire são organizados no bus numa topologia de árvore. Cada dispositivo possui um id próprio. Um dos nós é considerado «root node» (nó de raiz) e, conseqüentemente, tem sempre o id mais elevado. Os ids são atribuídos durante o processo de atribuição realizado após cada «bus reset», atribuindo-se, por ordem, o id mais baixo à máquina mais distante da root na topologia da rede.

## Perigos do hot-swap

Embora os dispositivos de FireWire possam ser hot-swapped sem desligar qualquer equipamento, há casos relatados de avarias em camcorders em virtude dos pinos terem acidentalmente provocado um curto-circuito ao desligar. Além disso, a diferença de potencial entre o computador e a câmara pode resultar em faíscas ao ligar a câmara à entrada de FireWire. O resultado prático disto é o chipset de FireWire da câmara ser avariado, deixando a porta de FireWire, ou a própria câmara, inutilizável.
Para assegurar uma proteção do material, tanto a câmara como o computador devem estar desligados antes de ligar um cabo FireWire. A maior parte dos equipamentos restantes de uso comercial é menos sensível dos que as câmaras de vídeo digital, mas, ainda assim, deve-se ter algum cuidado no que toca ao hot-swapping.
* Commons