IEEE 1394 es un estándar de interfaz para un bus serial para comunicaciones de alta velocidad y transferencia de datos isócrona en tiempo real. Fue desarrollado a fines de la década de 1980 y principios de la de 1990 por Apple en cooperación con varias empresas, principalmente Sony y Panasonic . Es más conocido por el nombre FireWire (Apple), aunque existen otras marcas comerciales como i.LINK (Sony) y Lynx ( Texas Instruments ).
El cable de cobre que se utiliza en su implementación más común puede tener hasta 4,5 metros (15 pies) de largo. La energía y los datos se transmiten a través de este cable, lo que permite que los dispositivos con requisitos de energía moderados funcionen sin una fuente de alimentación independiente. FireWire también está disponible en versiones de fibra óptica y Cat 5 .
La interfaz 1394 es comparable a USB . USB se desarrolló posteriormente y ganó una participación de mercado mucho mayor. USB requiere un controlador host, mientras que IEEE 1394 se administra de manera cooperativa entre los dispositivos conectados. [2]
FireWire es el nombre que Apple le da al bus serie de alta velocidad IEEE 1394. Su desarrollo fue iniciado por Apple [1] en 1986, [3] y desarrollado por el Grupo de trabajo IEEE P1394, impulsado en gran medida por contribuciones de Sony (102 patentes), Apple (58 patentes), Panasonic (46 patentes) y Philips (43 patentes), además de contribuciones realizadas por ingenieros de LG Electronics , Toshiba , Hitachi , Canon , [4] INMOS /SGS Thomson (ahora STMicroelectronics ), [5] y Texas Instruments .
IEEE 1394 es una arquitectura de bus serial para transferencia de datos a alta velocidad, lo que significa que la información se transfiere bit a bit. Los buses paralelos utilizan varias conexiones físicas diferentes y, por lo tanto, suelen ser más costosos y pesados. [6] IEEE 1394 es totalmente compatible con aplicaciones isócronas y asincrónicas .
Apple pretendía que FireWire fuera un sustituto en serie del bus SCSI paralelo , al tiempo que proporcionaba conectividad para equipos de audio y vídeo digitales. El desarrollo de Apple comenzó a finales de los años 1980, se presentó más tarde al IEEE [7] y se completó en enero de 1995. En 2007, IEEE 1394 era un compuesto de cuatro documentos: el IEEE Std. 1394-1995 original, la enmienda IEEE Std. 1394a-2000, la enmienda IEEE Std. 1394b-2002 y la enmienda IEEE Std. 1394c-2006. El 12 de junio de 2008, todas estas enmiendas, así como las erratas y algunas actualizaciones técnicas, se incorporaron a un estándar sustitutivo, IEEE Std. 1394-2008. [8]
Apple incluyó FireWire por primera vez en algunos de sus modelos Macintosh de 1999 (aunque había sido una opción de fabricación a pedido en algunos modelos desde 1997), y la mayoría de las computadoras Apple Macintosh fabricadas entre los años 2000 y 2011 incluyeron puertos FireWire. Sin embargo, en febrero de 2011, Apple presentó la primera computadora disponible comercialmente con Thunderbolt . Apple lanzó sus últimas computadoras con FireWire en 2012. Para 2014, Thunderbolt se había convertido en una característica estándar en toda la línea de computadoras de Apple (más tarde con la excepción de la MacBook de 12 pulgadas presentada en 2015, que solo contaba con un único puerto USB-C), convirtiéndose efectivamente en el sucesor espiritual de FireWire en el ecosistema de Apple. Los últimos productos de Apple con FireWire, el Thunderbolt Display y el MacBook Pro de 13 pulgadas de 2012 , se descontinuaron en 2016. Apple vendió anteriormente un adaptador Thunderbolt a FireWire, que proporcionaba un puerto FireWire 800. [9] Se necesitaba un adaptador separado para usarlo con Thunderbolt 3.
La implementación del sistema por parte de Sony, i.LINK , utilizó un conector más pequeño con solo cuatro conductores de señal, omitiendo los dos conductores que proporcionan energía a los dispositivos a favor de un conector de energía separado. Este estilo se agregó más tarde a la enmienda 1394a. [7] Este puerto a veces se etiqueta como S100 o S400 para indicar la velocidad en Mbit/s.
El sistema se utilizaba habitualmente para conectar dispositivos de almacenamiento de datos y cámaras DV (video digital), pero también era popular en sistemas industriales para visión artificial y sistemas de audio profesionales . Muchos usuarios lo preferían al más común USB 2.0 por su mayor velocidad efectiva y capacidades de distribución de energía. Los puntos de referencia muestran que las tasas de transferencia de datos sostenidas son más altas para FireWire que para USB 2.0, pero más bajas que para USB 3.0 . Los resultados están marcados en Apple Mac OS X , pero más variados en Microsoft Windows . [10] [11]
Se dice que la implementación de IEEE 1394 [12] requiere el uso de 261 patentes internacionales emitidas [4] en poder de diez [5] corporaciones. El uso de estas patentes requiere licencia; el uso sin licencia generalmente constituye una infracción de patente . [13] Las empresas que poseen propiedad intelectual IEEE 1394 formaron un consorcio de patentes con MPEG LA, LLC como administrador de la licencia, a quien le otorgaron licencias de patentes. MPEG LA sublicencia estas patentes a proveedores de equipos que implementan IEEE 1394. Bajo la licencia típica de consorcio de patentes, el fabricante paga una regalía de US$0,25 por unidad al momento de la fabricación de cada producto 1394 terminado; [13] los usuarios no pagan regalías.
La última de las patentes, MY 120654 de Sony, expiró el 30 de noviembre de 2020. A 30 de noviembre de 2020 [actualizar], los siguientes son titulares de patentes del estándar IEEE 1394, según figuran en el grupo de patentes administrado por MPEG LA . [4]
Una persona o empresa puede revisar la licencia de cartera de patentes 1394 actual mediante solicitud a MPEG LA. [14] MPEG LA no ofrece garantías de protección a los licenciatarios más allá de sus propias patentes. Se sabe que al menos una patente que anteriormente tenía licencia ha sido eliminada del conjunto [4] y existen otras patentes de hardware que hacen referencia a IEEE 1394. [15]
La Asociación Comercial de Bus Serie de Alto Rendimiento 1394 ( 1394 TA ) se formó para ayudar a la comercialización de IEEE 1394. Sus estatutos prohíben tratar cuestiones de propiedad intelectual. [16] La Asociación Comercial 1394 opera sobre la base de una membresía individual sin costo para mejorar aún más los estándares 1394. La Asociación Comercial también es la fuente de biblioteca para toda la documentación y los estándares 1394 disponibles.
FireWire puede conectar hasta 63 periféricos en una topología de árbol o de cadena tipo margarita [17] (a diferencia de la topología de bus eléctrico de Parallel SCSI ). Permite que la comunicación entre dispositivos peer-to-peer (como la comunicación entre un escáner y una impresora) se realice sin utilizar la memoria del sistema o la CPU . FireWire también admite varios controladores host por bus. Está diseñado para admitir plug and play e intercambio en caliente . El cable de cobre que utiliza en su implementación más común puede tener hasta 4,5 metros (15 pies) de largo y es más flexible que la mayoría de los cables SCSI paralelos . En sus variaciones de seis o nueve conductores, puede suministrar hasta 45 vatios de energía por puerto a hasta 30 voltios, [18] lo que permite que los dispositivos de consumo moderado funcionen sin una fuente de alimentación separada.
Los dispositivos FireWire implementan el modelo de ROM de configuración ISO/IEC 13213 para la configuración e identificación de dispositivos, a fin de proporcionar capacidad plug-and-play . Todos los dispositivos FireWire se identifican mediante un identificador único IEEE EUI-64 , además de códigos conocidos que indican el tipo de dispositivo y los protocolos que admite.
Los dispositivos FireWire se organizan en el bus en una topología de árbol. Cada dispositivo tiene un identificador propio único. Uno de los nodos se elige como nodo raíz y siempre tiene el identificador más alto. Los identificadores propios se asignan durante el proceso de identificación propia, que se produce después de que se reinicia cada bus. El orden en el que se asignan los identificadores propios es equivalente a recorrer el árbol en profundidad y orden posterior.
FireWire es capaz de operar de forma segura sistemas críticos debido a la forma en que varios dispositivos interactúan con el bus y cómo el bus asigna ancho de banda a los dispositivos. FireWire es capaz de realizar métodos de transferencia tanto asincrónicos como isócronos a la vez. Las transferencias de datos isócronas son transferencias para dispositivos que requieren un ancho de banda continuo y garantizado. [6] En una aeronave, por ejemplo, los dispositivos isócronos incluyen el control del timón , las operaciones del mouse y los datos de los sensores de presión fuera de la aeronave. Todos estos elementos requieren un ancho de banda constante e ininterrumpido. Para soportar ambos elementos, FireWire dedica un cierto porcentaje a los datos isócronos y el resto a los datos asincrónicos. En IEEE 1394, el 80% del bus está reservado para ciclos isócronos, dejando los datos asincrónicos con un mínimo del 20% del bus. [19]
FireWire utiliza codificación Data/Strobe (codificación D/S). [20] En la codificación D/S, se utilizan dos señales sin retorno a cero (NRZ) para transmitir los datos con alta confiabilidad. La señal NRZ enviada se alimenta con la señal de reloj a través de una compuerta XOR , creando una señal estroboscópica. [20] Esta señal estroboscópica se pasa luego a través de otra compuerta XOR junto con la señal de datos para reconstruir el reloj. [20] Esto a su vez actúa como el bucle de enganche de fase del bus para fines de sincronización. [20]
El proceso por el cual el bus decide qué nodo transmite datos en qué momento se conoce como arbitraje . [21] Cada ronda de arbitraje dura aproximadamente 125 microsegundos. [21] Durante la ronda, el nodo raíz (dispositivo más cercano al procesador) envía un paquete de inicio de ciclo. [21] Todos los nodos que requieren transferencia de datos responden, y el nodo más cercano gana. [21] Una vez que el nodo termina, los nodos restantes se turnan en orden. Esto se repite hasta que todos los dispositivos hayan usado su parte de los 125 microsegundos, y las transferencias isócronas tienen prioridad. [21]
Las normas anteriores y sus tres modificaciones publicadas ahora están incorporadas en una norma sustitutiva, IEEE 1394-2008 . [8] Las características agregadas individualmente brindan un buen historial del camino de desarrollo.
La versión original de IEEE 1394-1995 [22] especificó lo que ahora se conoce como FireWire 400. Puede transferir datos entre dispositivos a velocidades de datos half-duplex de 100, 200 o 400 Mbit/s [23] (las velocidades de transferencia reales son 98,304, 196,608 y 393,216 Mbit/s, es decir, 12,288, 24,576 y 49,152 MB/s respectivamente). [7] Estos diferentes modos de transferencia se conocen comúnmente como S100, S200 y S400.
La longitud del cable está limitada a 4,5 metros (14,8 pies), aunque se pueden conectar en cadena hasta 16 cables mediante repetidores activos, por ejemplo, concentradores externos o los concentradores internos que suelen estar presentes en los equipos FireWire. El estándar S400 limita la longitud máxima del cable de cualquier configuración a 72 metros (236 pies). El conector de 6 conductores se encuentra comúnmente en computadoras de escritorio y puede suministrar energía al dispositivo conectado.
El conector de alimentación de 6 conductores, ahora denominado conector alfa, añade potencia de salida para admitir dispositivos externos. Normalmente, un dispositivo puede extraer entre 7 y 8 vatios del puerto; sin embargo, el voltaje varía significativamente de un dispositivo a otro. [24] El voltaje se especifica como no regulado y nominalmente debe ser de unos 25 voltios (rango de 24 a 30). La implementación de Apple en las computadoras portátiles suele estar relacionada con la energía de la batería y puede ser tan baja como 9 V. [24]
En 2000 se publicó una enmienda, IEEE 1394a, [25] que aclaró y mejoró la especificación original. Añadió compatibilidad con transmisión asincrónica , reconfiguración de bus más rápida, concatenación de paquetes y un modo de suspensión para ahorro de energía .
La norma IEEE 1394a ofrece un par de ventajas con respecto a la norma IEEE 1394–1995 original. La norma 1394a es capaz de realizar aceleraciones de arbitraje, lo que permite que el bus acelere los ciclos de arbitraje para mejorar la eficiencia. También permite el reinicio breve arbitrado del bus, en el que se puede agregar o eliminar un nodo sin provocar una gran caída en la transmisión isócrona. [19]
La norma 1394a también estandarizó el conector alfa de 4 conductores desarrollado por Sony y registrado como i.LINK , que ya se utiliza ampliamente en dispositivos de consumo como videocámaras, la mayoría de las computadoras portátiles, varias computadoras de escritorio y otros dispositivos FireWire pequeños. El conector de 4 conductores es totalmente compatible con los datos de las interfaces alfa de 6 conductores, pero carece de conectores de alimentación.
IEEE 1394b-2002 [26] introdujo FireWire 800 (el nombre de Apple para la versión bilingüe S800 de 9 conductores del estándar IEEE 1394b). Esta especificación agregó un nuevo esquema de codificación denominado modo beta que permitía que los dispositivos compatibles funcionaran a 786,432 Mbit/s en modo dúplex completo . Es compatible con las velocidades más lentas y los conectores alfa de 6 conductores de FireWire 400. Sin embargo, aunque los estándares IEEE 1394a e IEEE 1394b son compatibles, el conector de FireWire 800, conocido como conector beta, es diferente de los conectores alfa de FireWire 400, lo que hace que los cables antiguos sean incompatibles. Un cable bilingüe permite la conexión de dispositivos más antiguos al puerto más nuevo. En 2003, Apple fue la primera en presentar productos comerciales con el nuevo conector, incluido un nuevo modelo de Power Mac G4 y un PowerBook G4 de 17" .
La especificación IEEE 1394b completa admite velocidades de datos de hasta 3200 Mbit/s (es decir, 400 MB/s) a través de conexiones ópticas o en modo beta de hasta 100 metros (330 pies) de longitud. El cable de categoría 5e estándar admite 100 metros (330 pies) a S100. Los estándares 1394 y 1394a originales usaban codificación de datos/estroboscópicos (D/S) , ahora conocida como modo alfa , con los cables, mientras que 1394b agregó un esquema de codificación de datos llamado 8b/10b conocido como modo beta .
El modo Beta se basa en 8b/10b (de Gigabit Ethernet , también utilizado para muchos otros protocolos). La codificación 8b/10b implica expandir una palabra de datos de 8 bits a 10 bits, con los bits adicionales después de los bits de datos 5 y 8. [27] Los datos particionados se envían a través de una función de calculadora de disparidad en ejecución . [27] La calculadora de disparidad en ejecución intenta mantener la cantidad de 1 transmitidos igual a 0, [28] asegurando así una señal balanceada en CC. Luego, las diferentes particiones se envían a través de un codificador 5b/6b para la partición de 5 bits y un codificador 3b/4b para la partición de 3 bits. Esto le da al paquete la capacidad de tener al menos dos 1, lo que garantiza la sincronización del PLL en el extremo receptor con los límites de bits correctos para una transferencia confiable. [28] Una función adicional del esquema de codificación es admitir el arbitraje para el acceso al bus y el control general del bus. Esto es posible gracias a los símbolos excedentes que ofrece la expansión 8b/10b. (Mientras que los símbolos de 8 bits pueden codificar un máximo de 256 valores, los símbolos de 10 bits permiten la codificación de hasta 1024). Los símbolos no válidos para el estado actual del PHY receptor indican errores de datos.
El IEEE 1394c-2006 se publicó el 8 de junio de 2007. [29] Proporcionó una mejora técnica importante, a saber, una nueva especificación de puerto que proporciona 800 Mbit/s sobre los mismos conectores 8P8C (Ethernet) con cable de categoría 5e , que se especifica en la cláusula 40 del IEEE 802.3 ( Ethernet gigabit sobre par trenzado de cobre ) junto con una negociación automática correspondiente que permite que el mismo puerto se conecte a dispositivos IEEE Std 1394 o IEEE 802.3 ( Ethernet ).
En diciembre de 2007, la Asociación de Comercio 1394 anunció que los productos estarían disponibles antes de finales de 2008 utilizando los modos S1600 y S3200 que, en su mayor parte, ya se habían definido en 1394b y se aclararon más en IEEE Std. 1394-2008. [8] Los dispositivos de 1,572864 Gbit/s y 3,145728 Gbit/s utilizan los mismos conectores beta de 9 conductores que el FireWire 800 existente y son totalmente compatibles con los dispositivos S400 y S800 existentes. Compite con USB 3.0 . [30]
Se han fabricado unidades de desarrollo S1600 (Symwave [31] ) y S3200 (Dap Technology [32] ), sin embargo, debido a la tecnología FPGA, DapTechnology se centró primero en las implementaciones S1600 y no fue hasta 2012 cuando el S3200 se comercializó.
Steve Jobs declaró que FireWire estaba muerto en 2008. [33] En 2012 [actualizar], se lanzaron pocos dispositivos S1600, y una cámara Sony fue el único usuario notable. [34]
El 9 de marzo de 2009, el IEEE creó un proyecto denominado IEEE P1394d para añadir fibra monomodo como medio de transporte adicional a FireWire. [35] El proyecto se retiró en 2013. [36]
Se esperaba que otras iteraciones futuras de FireWire aumentaran la velocidad a 6,4 Gbit/s y conectores adicionales como la pequeña interfaz multimedia. [37] [ cita requerida ]
El soporte completo para IEEE 1394a y 1394b está disponible para Microsoft Windows , FreeBSD , [38] Linux , [39] [40] Apple Mac OS 8.6 a través de macOS 14 Sonoma [ cita requerida ] y NetBSD .
En Windows XP, puede haberse producido una degradación del rendimiento de los dispositivos 1394 con la instalación del Service Pack 2. Esto se resolvió en el Hotfix 885222 [41] y en el SP3 . Algunos fabricantes de hardware FireWire también proporcionan controladores de dispositivos personalizados que reemplazan la pila de controladores del adaptador de host OHCI de Microsoft, lo que permite que los dispositivos compatibles con S800 funcionen a velocidades de transferencia completas de 800 Mbit/s en versiones anteriores de Windows (XP SP2 sin Hotfix 885222) y Windows Vista. En el momento de su lanzamiento, Microsoft Windows Vista solo admitía 1394a, con garantías de que el soporte para 1394b vendría en el próximo Service Pack. [42] Desde entonces se ha lanzado el Service Pack 1 para Microsoft Windows Vista, sin embargo, la adición de soporte para 1394b no se menciona en ninguna parte de la documentación de lanzamiento. [43] [44] [45] El controlador de bus 1394 se reescribió para Windows 7 para proporcionar soporte para velocidades más altas y medios alternativos. [46]
En Linux, el soporte fue proporcionado originalmente por libraw1394, que realizaba una comunicación directa entre el espacio de usuario y los buses IEEE 1394. [47] Posteriormente, se implementó una nueva pila de controladores del núcleo, apodada JuJu. [48]
Según el Código de la FCC 47 CFR 76.640, sección 4, subsecciones 1 y 2, los proveedores de televisión por cable (en los EE. UU., con sistemas digitales) deben, a pedido de un cliente, haber proporcionado un decodificador con capacidad de alta definición con una interfaz FireWire funcional. Esto se aplicó únicamente a los clientes que alquilaron decodificadores con capacidad de alta definición a su proveedor de cable después del 1 de abril de 2004. [49] La interfaz se puede utilizar para mostrar o grabar televisión por cable, incluida la programación de HDTV. [50] En junio de 2010, la FCC emitió una orden que permitía que los decodificadores incluyeran interfaces basadas en IP en lugar de FireWire. [51] [52]
Si bien ambas tecnologías ofrecen resultados finales similares, existen diferencias fundamentales entre USB y FireWire. USB requiere la presencia de un controlador host, normalmente un PC, que se conecta punto a punto con el dispositivo USB. Esto permite utilizar periféricos más simples (y de menor costo), a costa de una menor funcionalidad del bus. Se requieren concentradores inteligentes para conectar múltiples dispositivos USB a un único controlador host USB. Por el contrario, FireWire es esencialmente una red peer to peer (donde cualquier dispositivo puede actuar como host o cliente), lo que permite conectar múltiples dispositivos en un bus. [53]
La interfaz de host FireWire admite dispositivos mapeados en memoria y DMA, lo que permite que las transferencias de datos se realicen sin cargar la CPU del host con interrupciones y operaciones de copia de búfer. [10] [54] Además, FireWire cuenta con dos buses de datos para cada segmento de la red de bus, mientras que, hasta USB 3.0, USB solo tenía uno. Esto significa que FireWire puede tener comunicación en ambas direcciones al mismo tiempo (dúplex completo), mientras que la comunicación USB anterior a 3.0 solo puede ocurrir en una dirección en cualquier momento (semidúplex). [ cita requerida ]
Mientras que USB 2.0 se expandió a USB 3.0 y 3.1, totalmente compatibles con versiones anteriores (utilizando el mismo tipo de conector principal), FireWire utilizó un conector diferente entre las implementaciones 400 y 800.
El puerto de conveniencia para el cliente (CCP) IDB-1394 fue la versión automotriz del estándar 1394. [55]
IEEE 1394 fue la interfaz de conexión estándar de la High-Definition Audio-Video Network Alliance (HANA) para la comunicación y el control de componentes A/V (audio/visuales). [56] HANA se disolvió en septiembre de 2009 y la Asociación Comercial 1394 asumió el control de toda la propiedad intelectual generada por HANA.
La norma aeroespacial SAE AS5643, publicada originalmente en 2004 y reafirmada en 2013, establece las normas IEEE-1394 como una red de bus de datos militar y aeroespacial en esos vehículos. La AS5643 es utilizada por varios programas de gran envergadura, incluidos el F-35 Lightning II , el avión UCAV X-47B , el arma AGM-154 y el satélite polar JPSS-1 para la NOAA. La AS5643 combina las características existentes de la 1394-2008, como la topología en bucle, con características adicionales como el aislamiento del transformador y la sincronización de tiempo, para crear redes de bus de datos deterministas con doble y triple tolerancia a fallos. [57] [58] [59]
FireWire se puede utilizar para redes informáticas ad hoc (solo terminales, no enrutadores, excepto cuando se utiliza un concentrador FireWire) . En concreto, el RFC 2734 especifica cómo ejecutar IPv4 sobre la interfaz FireWire, y el RFC 3146 especifica cómo ejecutar IPv6 .
Mac OS X, Linux y FreeBSD incluyen soporte para redes a través de FireWire. [60] Windows 95 , Windows 98 , Windows Me , [61] Windows XP y Windows Server 2003 incluyen soporte nativo para redes IEEE 1394. [62] Windows 2000 no tiene soporte nativo pero puede funcionar con controladores de terceros. Se puede configurar una red entre dos computadoras usando un solo cable FireWire estándar, o entre varias computadoras mediante el uso de un concentrador. Esto es similar a las redes Ethernet con las principales diferencias siendo la velocidad de transferencia, la longitud del conductor y el hecho de que los cables FireWire estándar se pueden usar para la comunicación punto a punto .
El 4 de diciembre de 2004, Microsoft anunció que dejaría de ofrecer soporte para redes IP a través de la interfaz FireWire en todas las versiones futuras de Microsoft Windows . [63] En consecuencia, no existe soporte para esta característica en Windows Vista ni en versiones posteriores de Windows. [64] [65] Microsoft reescribió su controlador 1394 en Windows 7 [66] pero no existe soporte para redes FireWire. Unibrain ofrece controladores de redes FireWire gratuitos para Windows llamados ubCore, [67] que admiten Windows Vista y versiones posteriores.
Los modelos anteriores de la consola PlayStation 2 (de la serie SCPH 1000x a la 3900x) tenían un conector 1394 de marca i.LINK. Este se utilizó para la conexión en red hasta el lanzamiento de un adaptador Ethernet más adelante en la vida útil de la consola, pero muy pocos títulos de software admitían esta función. El conector se eliminó a partir de la serie SCPH 5000x [68] .
IIDC (Instrumentation & Industrial Digital Camera) es el formato de datos estándar de FireWire para video en vivo, y lo utiliza la cámara A/V iSight de Apple. El sistema fue diseñado para sistemas de visión artificial [69] pero también se utiliza para otras aplicaciones de visión artificial y para algunas cámaras web. Aunque se confunden fácilmente ya que ambos funcionan con FireWire, IIDC es diferente e incompatible con el omnipresente AV/C (Audio Video Control) que se utiliza para controlar videocámaras y otros dispositivos de video de consumo. [70]
El vídeo digital ( DV ) es un protocolo estándar utilizado por algunas videocámaras digitales . Todas las cámaras DV que grababan en cintas tenían una interfaz FireWire (normalmente de 4 conductores). Todos los puertos DV de las videocámaras sólo funcionan a la velocidad más lenta de 100 Mbit/s de FireWire. Esto presenta problemas operativos si la videocámara está conectada en cadena desde un dispositivo S400 más rápido o a través de un concentrador común, ya que ningún segmento de una red FireWire puede admitir comunicaciones a múltiples velocidades. [71]
La denominación del puerto variaba según el fabricante, y Sony utilizaba su marca registrada i.LINK o las letras DV . Muchas grabadoras de vídeo digitales tienen un conector FireWire de entrada DV (normalmente un conector alfa) que se puede utilizar para grabar vídeo directamente desde una videocámara DV (sin ordenador). El protocolo también permite el control remoto (reproducción, rebobinado, etc.) de los dispositivos conectados y puede transmitir código de tiempo desde una cámara.
El USB no es adecuado para la transferencia de datos de vídeo desde una cinta porque, por su propia naturaleza, la cinta no admite velocidades de datos variables. El USB depende en gran medida de la compatibilidad del procesador y no se garantizaba que este fuera capaz de dar servicio al puerto USB a tiempo. El abandono posterior de la cinta hacia la memoria de estado sólido o los medios de disco (por ejemplo, tarjetas SD, discos ópticos o discos duros) ha facilitado el paso a la transferencia USB porque los datos basados en archivos se pueden mover en segmentos según sea necesario.
La interfaz IEEE 1394 se encuentra comúnmente en capturadores de cuadros , dispositivos que capturan y digitalizan una señal de video analógica; sin embargo, IEEE 1394 enfrenta la competencia de la interfaz Gigabit Ethernet (citando problemas de velocidad y disponibilidad). [72]
Los iPod lanzados antes del iPod con conector Dock usaban puertos IEEE 1394a para transferir archivos de música y cargarse, pero en 2003, el puerto FireWire en los iPod fue reemplazado por el conector Dock de Apple y se fabricaron cables con conector IEEE 1394 de 30 pines. Apple comenzó a eliminar la compatibilidad con los cables FireWire a partir del iPod nano de primera generación y el iPod de quinta generación , los cuales solo podían sincronizarse mediante USB pero conservaban la capacidad de cargarse a través de FireWire. Esto también se trasladó a los nanos de segunda y tercera generación , así como al iPod Classic . La compatibilidad con versiones anteriores se eliminó por completo a partir del iPhone 3G , el iPod touch de segunda generación y el iPod nano de cuarta generación , [73] todos los cuales solo podían cargarse y sincronizarse mediante USB.
Los dispositivos en un bus FireWire pueden comunicarse mediante acceso directo a memoria (DMA), donde un dispositivo puede usar hardware para mapear la memoria interna al espacio de memoria física de FireWire . El SBP-2 ( Serial Bus Protocol 2 ) usado por las unidades de disco FireWire usa esta capacidad para minimizar las interrupciones y las copias de buffer. En SBP-2, el iniciador (dispositivo controlador) envía una solicitud escribiendo remotamente un comando en un área específica del espacio de direcciones FireWire del objetivo. Este comando usualmente incluye direcciones de buffer en el espacio de direcciones físicas FireWire del iniciador , que el objetivo debe usar para mover datos de E/S hacia y desde el iniciador. [74]
En muchas implementaciones, particularmente aquellas como las PC y Mac que usan el popular OHCI , la asignación entre el espacio de memoria física de FireWire y la memoria física del dispositivo se realiza en hardware, sin la intervención del sistema operativo. Si bien esto permite una comunicación de alta velocidad y baja latencia entre las fuentes de datos y los receptores sin copias innecesarias (como entre una cámara de video y una aplicación de grabación de video de software, o entre una unidad de disco y los búferes de la aplicación), esto también puede ser un riesgo de seguridad o de restricción de derechos de medios si se conectan dispositivos no confiables al bus e inician un ataque DMA . Una de las aplicaciones conocidas por explotar esto para obtener acceso no autorizado a computadoras con Windows, Mac OS y Linux en ejecución es el software espía FinFireWire . Por este motivo, las instalaciones de alta seguridad normalmente utilizan máquinas más nuevas que asignan un espacio de memoria virtual al espacio de memoria física de FireWire (como un Power Mac G5 o cualquier estación de trabajo Sun ), deshabilitan los controladores relevantes a nivel del sistema operativo, [75] deshabilitan el mapeo de hardware OHCI entre FireWire y la memoria del dispositivo, deshabilitan físicamente toda la interfaz FireWire u optan por no usar FireWire u otro hardware como PCMCIA , PC Card , ExpressCard o Thunderbolt , que exponen DMA a componentes externos.
Una interfaz FireWire no segura se puede utilizar para depurar una máquina cuyo sistema operativo se ha bloqueado y, en algunos sistemas, para operaciones de consola remota. Windows admite de forma nativa este escenario de depuración del núcleo, [76] aunque las compilaciones más recientes de Windows Insider Preview ya no incluyen esta capacidad de forma predeterminada. [77] En FreeBSD, el controlador dcons proporciona ambas funciones, utilizando gdb como depurador. En Linux, existen firescope [78] y fireproxy [79] .
El estándar de enlace digital 1394 fue concebido en 1986 por tecnólogos de Apple Computer
{{cite book}}
: CS1 maint: nombres numéricos: lista de autores ( enlace ){{cite book}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )P1394a Borrador 5.0 [ enlace muerto permanente ] disponible.{{cite book}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )[ enlace muerto ]{{cite web}}
: CS1 maint: archived copy as title (link){{cite web}}
: CS1 maint: unfit URL (link){{cite web}}
: CS1 maint: multiple names: authors list (link){{cite book}}
: CS1 maint: numeric names: authors list (link)