PROTOCOLO FIREWIRE APLICACIONES A LOS...

30
Escuela Superior Politécnica de Alcoy U.P.V. PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORES Laboratorio de Sistemas Electrónicos Digitales Prof: Ignacio Miró Orozco Realización del trabajo: Espí González, Óscar J. Llorens Agulló, Lluc Masiá Pérez, Juan Vicente Tena García, Raúl Valls Pla, Alberto C.

Transcript of PROTOCOLO FIREWIRE APLICACIONES A LOS...

Page 1: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

1

Escuela Superior Politécnica de Alcoy U.P.V.

PROTOCOLO FIREWIRE

APLICACIONES A LOS MICROCONTROLADORES

Laboratorio de Sistemas Electrónicos Digitales Prof: Ignacio Miró Orozco

Realización del trabajo: Espí González, Óscar J.

Llorens Agulló, Lluc Masiá Pérez, Juan Vicente

Tena García, Raúl Valls Pla, Alberto C.

Page 2: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

1

ÍNDICE

Breve Historia 2

Definición 2

USB vs FireWire 4

Conectores 6

Protocolo 16

Dispositivos 25

Bibliografía 29

Page 3: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

2

Breve Historia

Apple inventó el FireWire a mediados de los 90 y lo convirtió en el estándar multiplataforma IEEE 1394, siendo el primer fabricante de ordenadores que incluyó FireWire en toda su gama de productos. FireWire es una tecnología para la entrada/salida de datos en serie a alta velocidad y la conexión de dispositivos digitales como videocámaras o cámaras fotográficas digitales y ordenadores portátiles o de sobremesa. Ampliamente adoptado por fabricantes de periféricos digitales como Sony, Canon, JVC y Kodak, el FireWire se ha convertido en el estándar establecido tanto para consumidores como para profesionales.

Definición

FireWire es uno de los estándares de periféricos más rápidos que se han desarrollado, característica que lo hace ideal para su uso con periféricos del sector multimedia (como cámaras de vídeo) y otros dispositivos de alta velocidad como, por ejemplo, lo último en unidades de disco duro e impresoras. Por estos motivos, no podemos dejar de hacer referencia durante todo el documento al otro tipo de bus por excelencia utilizado para estos fines, el USB.

Con un ancho de banda 30 veces superior al conocido estándar de periféricos USB 1.1, el FireWiere 400 se ha convertido en el estándar más respetado para la transferencia de datos a alta velocidad.

Se ha convertido en la interfaz preferida de los sectores de audio y vídeo digital, reúne numerosas ventajas, entre las que se encuentran la elevada velocidad, la flexibilidad de la conexión y la capacidad de conectar un máximo de 63 dispositivos.

Además de cámaras y equipos de vídeo digital, la amplia gama de productos FireWire comprende reproductores de vídeo digital, sistemas domésticos para el ocio, sintetizadores de música, escáneres y unidades de disco duro.

Una vez más, Apple ha duplicado la velocidad de transferencia con su implementación del estándar IEEE 1394b FireWire 800. Por esto nos parece interesante ahblar un poco más de él.

La velocidad sobresaliente del FireWire 800 frente al USB 2.0 convierten al primero en un medio mucho más adecuado para aplicaciones que necesitan mucho ancho de banda, como las de gráfico y vídeo, que a menudo consumen cientos e incluso miles de megabytes de datos por archivo. Por ejemplo, una hora de formato de vídeo DV ocupa unos 13.000 megabytes (13 GB).

Otras de sus ventajas son las siguientes:

Su arquitectura altamente eficiente, IEEE 1394 reduce los retrasos en la negociación.

Mejor vivencia como usuario. Da igual como conectemos nuestros dispositivos entre ellos, FireWire 800 funciona a la perfección. Por ejemplo podemos, incluso, enlazar a Mac la cadena de dispositivos FireWire 800 por los dos extremos para mayor seguridad durante acontecimientos en directo.

Page 4: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

3

Compatibilidad retroactiva. Los fabricantes han adoptado el FireWire para una amplia gama de dispositivos, como videocámaras digitales, discos duros, cámaras fotográficas digitales, audio profesional, impresoras, escáneres y electrodomésticos para el ocio. Los cables adaptadores para el conector de 9 contactos del FireWire 800, permiten utilizar productos FiereWire 400 en el puerto FireWire 800.

Además, FireWire 800 comparte las revolucionarias prestaciones de FireWire 400:

Flexibles opciones de conexión. Conecta hasta 63 ordenadores y dispositivos a un único bus: podemos compartir una cámara entre dos Mac's o PC''s.

Distribución en el momento. Fundamental para aplicaciones de audio y vídeo, donde un fotograma que se retrasa o pierde la sincronización o arruina un trabajo. En estos casos FireWire puede garantizar una distribución de los datos en perfecta sincronía.

Alimentación por el bus. Mientras el USB 2.0 permite la alimentación de dispositivos sencillos y lentos que consumen un máximo de 2,5W, como un ratón, los dispositivos FireWire pueden proporcionar o consumir hasta 45W, más que suficiente para discos duros de alto rendimiento y baterías de carga rápida.

Conexiones de enchufar y listo, conocidas como plug & play. No tenemos más que enchufar un dispositivo para que eche a andar.

Page 5: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

4

USB vs. Fireware

En este apartado vamos a hablar de las semejanzas y diferencias, bastantes en ambos aspectos, que podemos encontrar entre estos dos tipos de buses. Tanto el 1394 (FireWire) y el Universal Serial Bus (USB) son tecnologías que persiguen un nuevo método de conectar múltiples periféricos a un ordenador. Ambos permiten que los periféricos sean añadidos o desconectados sin la necesidad de reiniciar, también utilizan por igual cables ligeros y flexibles con un empleo sencillo, y conectores duraderos. Pero aquí terminan los parecidos. Aunque los cables de 1394 y USB pueden parecer a la vista los mismos, la cantidad de datos que por ellos transcurre es bastante diferente. Como muestra la siguiente tabla, la velocidad y la capacidad de transferencia marca la principal distinción entre estas dos tecnologías.

Tabla Comparativa

IEEE 1394 Firewire USB Número máximo de dispositivos 62 127 Cambio en caliente (agregar o quitar dispositivos sin tener que reiniciar el ordenador)

Si Si

Longitud máxima del cable entre dispositivos 4,5 metros 5 metros

Velocidad de transferencia de datos 200 Mbps (25 Mb/s) 12 Mbps (1,5 Mb/s)

Tipos de ancho de banda

400 Mbps (50MB/s)

800Mbps(100MB/s)

1Gbps+ (125MB/s+)

Ninguno

Implementación en Macintosh Si No Conexión de periféricos interna Si No

Tipos de dispositivos conectables

- Videocámaras DV

- Cámaras digitales de alta resolución

- HDTV (TV de alta definición)

- Cajas de conexiones

- Discos duros

- Unidades DVD-ROM

- Impresoras

- Escáneres

- Teclados

- Ratones

- Monitores

- Joysticks

- Cámaras digitales de baja resolución

- Unidades CD

-ROM de baja velocidad

- Módems

Page 6: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

5

Hoy en día, FireWire ofrece una transferencia de datos 16 veces superior a la ofrecida por el USB, y se ampliará en los próximos tiempos. Esto es porque el USB fue diseñado para no prevenir futuros aumentos de velocidad en su capacidad de transferencia de datos. Por otro lado, el 1394 tiene bien definidos otros tipos de ancho de banda, con velocidad incrementada a 400 Mbps (50 MB/s), 800 Mbps (100 MB/s) y 1 Gbps+ (125 MB/s). Tantos incrementos en la capacidad de transferencia de datos son requeridos para los dispositivos tales como HDTV, cajas de mezclas digitales y sistemas de automatización caseros que planean incorporar interfaces 1394.

Todo esto no significa que el 1394 sea mejor que el USB. La mayoría de los analistas industriales esperan que los conectores 1394 y USB coexistan pacíficamente en los ordenadores del futuro. Reemplazarán a los conectores que podemos encontrar hoy en las partes de atrás de los PC's. USB se reservará para los periféricos con un pequeño ancho de banda (ratones, teclados, módems), mientras que el 1394 será usado para conectar la nueva generación de productos electrónicos de gran ancho de banda. Sin embargo, cada día se hace más aparente que se están colocando de forma competitiva, y coinciden parcialmente en algunos mercados.

FireWire y USB se han abierto camino en la industria informática y electrónica de consumo. El USB es la tecnología preferida para la mayoría de ratones, teclados y otros dispositivos de entrada de información de banda estrecha. Por ejemplo, el USB también está muy extendido en cámaras fotográficas digitales de consumo, impresoras, escáneres, joysticks y similares. FireWire, gracias a su mayor ancho de banda, longitud de cable y alimentación por el bus, es más adecuado para aplicaciones de vídeo digital (DV), audio profesional, discos duros, cámaras fotográficas digitales de alto nivel y aparatos de ocio domésticos.

Para concluir, si lo que buscamos es únicamente velocidad, el Firewire soportará hasta los 480 Mbps que es la misma velocidad que anuncia el USB 2.0, pero hay más diferencias entre las dos tecnologías. El USB necesita un ordenador (host) que maneje a los dispositivos y si queremos transferir información entre 2 dispositivos tiene que pasar por el host y evidentemente estar en marcha, en cambio el Firewire permite que los periféricos "dialoguen" entre ellos directamente, por ejemplo, podemos conectar la cámara firewire a un video o equipo de música o TV que soporten firewire y volcar información entre ellos directamente sin que el PC intervenga. Como vemos, la filosofía del Firewire es diferente que el USB y permite un mayor abanico de posibilidades, pero centrándonos en el PC o MAC, el Firewire es la solución actual por excelencia para conexión de cámaras digitales dada la necesidad de un gran ancho de banda para transferir el video y sonido, como ya hemos dicho, y ya veremos que nos depara el futuro de estos estándares.

Page 7: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

6

Conectores

La principal característica del IEEE 1394, más conocido como FIRE WIRE, ha sido siempre la velocidad a la que transmite la información, para ello se diseño el cable conector del dispositivo.

Este tipo de cables están diseñados para que se puedan conectar en caliente, es decir, que no hace falta apagar el ordenador para realizar una conexión segura del dispositivo. No requieren números de identificación de dispositivos, conmutadores DIP, tornillos, cierres de seguridad ni terminadores.

Existen varios tipos de cables. FireWire 400 envía los datos por cables de hasta 4,5 metros de longitud. Mediante fibra óptica profesional, FireWire 800 puede distribuir información por cables de hasta 100 metros. La velocidad que puede alcanzar es hasta cuatro veces más rápido que la red Ethernet 100Base-T y 40 veces más rápido que la red Ethernet 10-Base-T.

La alimentación del dispositivo se realiza mediante el bus. Mientras el USB 2.0 permite la alimentación de dispositivos sencillos y lentos que consumen un máximo de 2,5 W, como un ratón, los dispositivos FireWire pueden proporcionar o consumir hasta 45 W, más que suficiente para discos duros de alto rendimiento y baterías de carga rápida.

Page 8: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

7

Para una mayor eficiencia del cable los hilos se conectan de la siguiente manera en un puerto FireWire 400 de 6 pines.

Para una mayor eficiencia del cable los hilos se conectan de la siguiente manera en un puerto FireWire 400 de 6 pines.

Pin Signal name Description

1 Power Power (approximately 25 V DC)

2 Ground Ground return for power and inner cable shield

3 TPB- Twisted-pair B Minus

4 TPB+ Twisted-pair B Plus 5 TPA- Twisted-pair A Minus 6 TPA+ Twisted-pair A Plus Shell - Outer cable shield

Page 9: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

8

Esta es la conexión que se realiza en un conector FireWire 800 de 9 pines.

Una de las principales familias de integrados para el estándar IEEE 1394 es la FW Aquí os mostramos unos ejemplos de dispositivos IEEE 1394.

Pin Signal name Description

1 TPB- Twisted-pair B Minus 2 TPB+ Twisted-pair B Plus 3 TPA- Twisted-pair A Minus 4 TPA+ Twisted-pair A Plus

5 TPA (R) Twisted-pair A Ground Reference

6 VG Power Ground

7 SC Status Contact (no connection; reserved)

8 VP Power Voltage (approximately 25 V DC)

9 TPB (R) Twisted-pair B Ground Reference

Page 10: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

9

Aquí tenemos el esquema de diseño del dispositivo FW323. Tiene un total de 128 pines, contiene un bus PCI preparado par los 400 Mbits/seg. Implementa IEEE 1394a-2000.

Seguidamente tenemos el esquema de la placa que contiene al dispositivo FW323 en la que se puede apreciar donde va conectado cada dispositivo y la posición del patillaje y las pistas de conexión a los puertos del dispositivo

Finalmente se presenta como esta encapsulado normalmente este dispositivo.

Page 11: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

10

Page 12: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

11

Page 13: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

12

Otro dispositivo de la familia FW es 802x. Este dispositivo normalmente tiene menor consumo que otros.

Page 14: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

13

La disposición interna del conector se reparte e la siguiente forma y el encapsula se presenta así. Y la conexión al conector de 6 pines por uno de los puertos.

Page 15: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

14

Como se puede ver a simple vista el chip necesita de componentes externos como resistencias y condensadores de desacoplo para un perfecto funcionamiento. Esta circuitería externa es necesaria para impedir las subidas no deseadas de tensión y corriente que puede sufrir el dispositivo.

También existe otra familia de dispositivos como los MB. Estos dispositivos están fabricados por la compañía Texas, pero son dispositivos más específicos.

Page 16: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

15

Este es un esquema del MB86613, y sus principales pines.

Page 17: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

16

Protocolo

El estándar IEEE 1394-1995 o bus HPSB (High Performance Serial Bus) describe un bus serie Plug & Play de alta velocidad utilizable tanto sobre placa (para interconexión de tarjetas sobre el mismo panel posterior) como sobre cable (para interconexión de tarjetas en distinto panel posterior o entre periféricos externos). Este estándar está a su vez basado en el estándar ISO/IEC 13213:1994 (ANSI/IEEE 1212), que describe una arquitectura de comunicación entre buses de sistemas microcomputadores a través de Registros de Comando y Estado (CSR).

El bus 1394 está basado en un bus original de Apple denominado FireWire, término utilizado todavía por muchos fabricantes, mientras que otros han adoptado el nombre i.Link, que es marca registrada de Sony Corp.

IEEE1394 permite la conexión tanto de dispositivos digitales multimedia de altas prestaciones, como grabadoras de vídeo, televisores, equipos de música, consolas de mezclas, etc, como de dispositivos tradicionales de PC como discos duros, CD-ROMs, impresoras, escáneres, etc. A diferencia de otros buses donde la comunicación depende de un control centralizado (por ejemplo, en un PC), IEEE 1394 soporta un modelo peer-to-peer, en la que cualquier dispositivo puede comunicarse directamente con cualquier otro, siempre que utilicen los mismos protocolos.

TOPOLOGÍA

Cada bus soporta hasta 63 dispositivos y se puede configurar en cadena y/o árbol. Esto quiere decir que de cada dispositivo pueden conectarse uno (cadena) o más (árbol) dispositivos (red no cíclica, no pueden crear bucles).

La conexión física es punto a punto, con un espaciado de hasta 4.5 metros como máximo entre dispositivos.

Pueden haber hasta 16 tramos de cable (conexiones) entre Nodos (saltos finitos), lo que permite la conexión directa de hasta 16 Nodos en Cadena (hasta 72 metros de cable en total).

De cada Nodo pueden conectarse varias ramas (conexión en árbol). Los dispositivos típicos dispondrán de 3 conectores, aunque el estándar prevé desde 1 hasta un máximo de 16. Para poder establecer una cadena, es necesario que los dispositivos dispongan por lo menos de 2 conectores, mientras que para establecer una conexión en árbol, el dispositivo debe tener al menos 3 conectores. También pueden haber dispositivos con un sólo conector, por lo que sólo pueden conectarse como final de cadena.

Los Bridges se utilizan para interconectar buses iguales o distintos:

Un controlador 1394 PCI es un Bridge entre los buses 1394 y PCI, que soporta por tanto hasta 63 nodos (dispositivos).

Se pueden utilizar Bridges entre buses 1394 y SCSI o entre buses 1394-cable y 1394-backpanel, etc.

Page 18: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

17

Se pueden mezclar dispositivos de distintas velocidades, aunque la velocidad del bus será la del dispositivo más lento. Se establecen 3 opciones de velocidad, a 98.304, 196.608 y 393.216 Mbps respectivamente. Estas velocidades se redondean, respectivamente, a 100, 200 y 400 Mbps, y el estándar los denomina oficialmente S100, S200 y S400. Actualmente está en desarrollo un nuevo estándar a 800 Mbps, y en un futuro está previsto superar el Gbps.

Algunos controladores pueden soportar funciones de Mapa de Topología y de Velocidad, para permitir transferencias a distintas velocidades entre distintas parejas de dispositivos.

Los enlaces punto-a-punto, la transmisión diferencial, la codificación Data-Strobe y la resincronización de señales en cada nodo hacen de 1394 un bus muy robusto a nivel de integridad de señal, lo que hace posible alcanzar fiablemente altas velocidades de transmisión.

En cuanto a cables y conectores, inicialmente se definió la conexión a 6 hilos, y posteriormente (IEEE-1394a) se ha definido una conexión adicional a 4 hilos que pueden utilizar dispositivos que no se alimentan desde el propio bus. Los cables establecidos para cada caso son:

El cable apantallado de 4 conductores (2 pares twisteados y apantallados para señal).

El cable apantallado de 6 conductores (2 pares twisteados y apantallados para señal + 1 par twisteado para alimentación y masa). Los dispositivos con aislamiento galvánico pueden alimentarse a través de estos hilos de alimentación del bus.

Page 19: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

18

ARQUITECTURA

Capa física:

El bus aparece como un mapa de memoria, con cada nodo ocupando un rango de direcciones.

La configuración automática se realiza cada vez que se añade un dispositivo, cambiando el mapa de memoria.

Los dispositivos y sus recursos internos se seleccionan mediante un direccionamiento directo y jerárquico con 64 bits: estándar de direccionamiento IEEE1212.

64 bits: 16 ExaBytes de espacio de memoria

Node ID (identificador de nodo): 16 bits:

Bus ID (dirección de bus): 10 bits = 1024 buses en un sistema.

Physical ID (dirección de nodo): 6 bits = 64 nodos por bus.

Node OFFSET (espacio de nodo): 48 bits = 256 Terabytes de espacio por nodo. Direcciona mediante los 48 bits menos significativos de la dirección total de 64 bits. Este espacio se divide en:

Espacio Inicial de Memoria.

Espacio Privado.

Espacio Inicial de Registro.

Espacio Inicial de Unidad.

De ellos, el Espacio Inicial de Registro es un espacio de 2 KB con dirección base FFFF F000 0000 hex, que está reservado para aquellos recursos que deben estar accesibles inmediatamente después de una inicialización (reset) del bus.

Node ID, Bus ID, Physical ID: Los 16 bits más significativos de la dirección total de 64 bits identifican un único nodo de entre todos los nodos que forman parte de los distintos buses del sistema. Los 10 bits más significativos de esta dirección son los mismos para todos los nodos pertenecientes a un mismo bus, cuyo valor se denomina Bus ID, mientras que los 6 bits menos significativos identifican un único nodo perteneciente a dicho bus, y se denomina Physical ID. Esta dirección Physical ID se asigna a cada nodo como parte del proceso de inicialización del bus (los nodos no se configuran manualmente).

La existencia de varios buses en un mismo sistema precisa de unos elementos (Bridges) para controlar y gestionar el flujo de información entre los mismos. Se pueden utilizar Bridges para aumentar el número de nodos más allá de 64, o para dividir el tráfico del bus en varios segmentos independientes, lo que permite utilizar más eficientemente el ancho de banda disponible.

Page 20: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

19

En el caso habitual, una controladora PCI es un Bridge que podrá soportar por lo tanto hasta 64 dispositivos directamente, sin necesidad de hubs intermedios.

Asignación de dirección física (Physical ID): Cada vez que se enciende o se reinicia un bridge, y cada vez que se añade o se quita un nodo del bus, bien sea por conexión/desconexión física o por encendido/apagado del mismo, se asignan direcciones físicas a cada nodo. Los dispositivos no disponen de conmutadores de configuración, y además se soporta la conexión en caliente (hot-plug). La parte física que gestiona el interfaz 1394 en los dispositivos se denomina PHY, los cuales implementan la función de Configuración Automática de la Red que entre otras cosas gestiona el protocolo de asignación de direcciones físicas.

Capa de enlace:

Transmisión de paquetes. Dos tipos de transmisión:

Transferencias isócronas: se garantiza una velocidad de transmisión predeterminada y garantizada mediante el envío de paquetes de duración 125 µs (ciclo), que se desglosan en un máximo de 64 canales -uno por dispositivo-. Un Canal Isócrono es una relación entre nodos que forman un grupo, en el que hay Transmisores (Talkers) y Receptores (Listeners). Cada grupo (canal) se identifica por un número entre 0 y 63. No se requiere confirmación. Se envía una cantidad arbitraria de datos a intervalos regulares a un nodo destino.

Son transferencias que tiene garantizada una tasa de transferencia de hasta el 80% del ancho disponible.

Hay un nodo especial que es el controlador de recursos isócronos (isochronous resource manager) que puede ser o no el nodo raíz.

El ancho de banda que un dispositivo isócrono puede obtener está sólo limitado por el ancho de banda ya ocupado por otros dispositivos isócronos.

Pueden ser transferencias de difusión (broadcast).

No incluyen corrección de errores.

Transferencias asíncronas: En modo asíncrono, los datos y la información de la capa de transacción se envía a una determinada dirección y posteriormente se recibe un mensaje de reconocimiento que confirma que la información ha llegado a su destino. Sin ancho de banda garantizado y que se producen tras una competición limpia por el bus.

Incluyen diversos tamaños de paquetes, en función de la velocidad del cable.

Incluyen confirmación de recepción y corrección de errores.

Page 21: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

20

En cada uno de estos modos de desarrolla a su vez tres fases distintas: secuencia de arbitraje, transmisión del paquete de datos y reconocimiento. Durante la secuencia de arbitraje un dispositivo que desee transmitir datos envía una petición de acceso al bus a la capa física. Durante la fase de transmisión el dispositivo fuente transmite un paquete de datos que contiene información de formato y transacción, la dirección de los dispositivos fuente y destino y los datos. La fase de reconocimiento consiste en el envío de un código de confirmación por parte del dispositivo destino indicando que los datos fueron correctamente recibidos.

Más interesante resulta la propuesta de FireWire de establecer asimismo comunicaciones en modo síncrono, ya que de esta forma se garantiza una velocidad de transmisión predeterminada y garantizada. Ello permite afrontar aplicaciones en el entorno multimedia, en las cuales es preciso efectuar la transmisión en tiempo real, lo que a su vez elimina la necesidad de instalar etapas de buffer.

Capa de transacción:

Operaciones de lectura y escritura.

Bloqueo de transferencias asíncronas.

Page 22: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

21

ARBITRAGE

El tiempo de bus se divide en ciclos de 125ms de periodo.

El nodo raíz es el maestro de ciclo.

Un ciclo se inicia con un paquete de inicio de ciclo que se difunde a todo el bus.

Inmediatamente se inician las transacciones isócronas (tiempo dividido en canales isócronos).

Un dispositivo isócrono debe estar autorizado por el manejador de recursos isócronos.

Un dispositivo isócrono puede tener asignado uno o más canales isócronos.

Los dispositivos que desean utilizar los recursos isócronos arbitran por el bus notifican a su nodo padre que quieren el bus.

Los dispositivos más cercanos al nodo raíz conseguirán ganar el bus.

Un dispositivo que haya ganado un canal isócrono no competirá hasta el próximo ciclo por los canales isócronos.

Tras las transferencias isócronas se inician las transferencias asíncronas con un mecanismo similar.

Page 23: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

22

tramas asíncronas a), b) y isíncronas c)

1394 utiliza una señalización denominada "Data-Strobe", técnica patentada por STMicroelectronics, que evita la necesidad de transmisión de señal de reloj. La transmisión de cada bit involucra un cambio en la línea de Data o en la de Strobe, pero nunca en ambas, con lo que el reloj se recupera fácilmente mediante la función XOR de ambas señales. Este sistema soporta a su vez la detección automática de velocidad.

La transmisión es diferencial y Semi-Duplex. Se utiliza un par twisteado para transmisión de Dato y recepción de Strobe, y el otro par se usa para recepción de Dato y transmisión de Strobe. Ambos pares son por tanto bidireccionales.

Page 24: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

23

GESTIÓN DEL BUS - CONFIGURACIÓN

Reset del bus e inicialización:

Ocurre cuando se añade/elimina un nodo del bus.

El nodo que detecta la variación en la topología fija en TPA y TPB de todos sus puertos un '1' lógico.

Todos los nodos lo transmiten y pasan a estado de inactividad.

La inicialización elimina la información de la topología del árbol.

Identificación del árbol

El nodo hijo acepta y desactiva Parent_Notify.

Los nodos rama envían un Parent_Notify a los puertos de los que no lo han recibido.

Si hay contención se reintenta un tiempo (aleatorio) después si es necesario.

El nodo raíz será el nodo que sólo tenga hijos.

Identificación del árbol: Ejemplo

Un nodo puede forzar ser raíz retrasando su petición Parent_Notify.

Page 25: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

24

Autoidentificación:

El nodo raíz envía una señal Arbitration_Grant a su puerto menos significativo con un nodo hijo.

Si el nodo hijo es una rama repite el proceso. Si es una hoja se asigna a sí mismo el ID 0 y transmite a su padre un paquete Self_ID.

El paquete se transmite a lo largo del bus. Cada nodo incrementa su contador ID.

El nodo que se ha configurado señala un Self_ID_done a su padre ya que no tiene nodos hijo por configurar.

El nodo raíz continúa enviando Arbitration_Grant a sus puertos de manera descendente.

Cuando un nodo recibe Self_ID_Done de todos sus puertos se configurará en el próximo Arbitration_Grant del nodo raíz.

El nodo raíz tendrá ID mayor del bus.

Page 26: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

25

Dispositivos

El interface FireWire IEEE 1349 está diseñado para conectar dispositivos digitales al PC, como hemos estado diciendo durante todo el trabajo. Las nuevas cámaras de vídeo digital incorporan este interface, el cual permitirá capturar y editar el vídeo desde su cámara digital. Sus características son una transferencia de 400Mb/s, soporte bus mastering, dos ó tres conectores en la misma tarjeta, plug & play de dispositivos, etc.

Seguidamente mostramos una serie de adaptadores utilizados en esta tecnología:

Tarjeta PCI FireWire 1394 (3-Port)

Se trata de una tarjeta PCI PnP de elevadas prestaciones, con 3 conectores FireWire en la misma tarjeta de tipo hembra. Está basada en el chip VIA totalmente compatible con entorno Windows, y con una velocidad de transferencia de hasta 400Mbps.

Tarjeta PCI FireWire800 1394b (3-Port)

Compatible con los estándares 400 y 800 (IEEE 1394a/b, o iLink). Dispone de slot tipo PCI de 64-bit que puede ser instalado en slot PCI de 32/64-bit (33Mhz). Dispone de conector de alimentación en la propia tarjeta que permite suministrar hasta 1.5A de potencia por puerto. También dispone de 3 puertos FireWire en la tarjeta, dos de ellos del

tipo FireWire 800 (conector Bilingual 9-pin IEEE 1394b, compatible con FireWire400), y un conector del tipo FireWire 400 (conector de 6-pin IEEE 1394a). Compatible con entornos Windows (98SE, ME, XP, 2000 o superior) y MacOS (10.2.4 o superior). Ideal para aplicaciones de vídeo y conexión de dispositivos que requieran un gran ancho de banda.

Tarjeta PCMCIA FireWire 1394 (2-Port)

Versión PCMCIA del interface FireWire IEEE 1394. Tarjeta CardBus de 32 bytes. Al igual que la versión PCI permite una transferencia de 400Mb/s. Ideal para llevar junto con la cámara de vídeo y realizar las capturas on-line. Se trata de una tarjeta tipo 2 que dispone de dos conectores FireWire de

tipo hembra integrados en la propia tarjeta.

Page 27: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

26

Tarjeta CardBus FireWire800 1394b (2A+1B-Ports)

Dispone de 2 puertos FireWire 400 (IEEE 1394a) y 1 puerto FireWire 800 (IEEE 1394b). Bus de 64-bits que permiten obtener unas tasas de transferencia más elevadas. Dispone de un conector de 4-pin y otro de 6-pin para los puertos FireWire 400, y de un conector de 9-pin para el FireWire 800. Permite la operativa hot-swap y plug-n-play. Velocidades de

transferencia de 100, 200, 400 y 800 Mbps. Compatible con entorno Windows y MacOS 10.2.4 o superior.

Tarjeta PCI FireWire/USB2.0 COMBO (4xUSB+3xFW)

Tarjeta PCI que provee de cuatro puertos USB del tipo 2.0 y tres puertos FireWire. Externamente lleva tres puertos USB 2.0 y dos FireWire y, internamente, lleva un puerto USB 2.0 y un FireWire. Los puertos USB soportan velocidades de transmisión de 480Mbps, 12Mbps y 1.5Mbps, es decir que es compatible con modos USB inferiores. El nuevo estándar que elimina la limitación de los 12Mbps del USB 1.1. Los

puertos FireWire soportan una velocidad de transferencia de datos de hasta 400Mbps. Estos puertos son muy utilizados para la conexión de dispositivos de vídeo.

Adaptador FireWire 6-Hembra a 4-Macho

Adaptador FireWire con conector de seis pines hembra por un lado y de cuatro pines macho por el otro. Ideal para convertir un cable 6/6 en 6/4.

Adaptador SCSI FireWire (6H/HD50M)

Adaptador SCSI-II que se conecta al puerto FireWire (IEEE 1394) y dispone de cable con conector SCSI del tipo DB25-Hembra. Añade conversor de DB25M a HD50M. Con operativa Plug & Play que no requiere configuración del sistema. Soporte Windows 98SE, Windows 2000 y MAC. Se alimenta del propio bus FireWire y dispone de terminador

configurable en el propio dispositivo. Transferencia de 20Mb/s (síncrono). Compatible con SCSI-II. Ideal para conectar dispositivos SCSI a portátiles.

Page 28: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

27

Módulo Conversión IDE a USB2-FireWire-A/B

Módulo conversor de USB y FireWire a IDE. Compatible con USB 1.1 y 2.0 (soporta velocidades de hasta 480Mbps). Compatible con FireWire a/b (soporta velocidades de 400 y 800 Mbps).

Compatible con entornos Windows (98, 98SE, ME, 2000 y XP) y Mac OS (8.6, 9.X y 10.X). Dispone de dos conectores Bilingual 9-pin IEEE 1394b compatibles con IEEE 1394-a/b, y de un conector USB tipo B-Hembra.

A continuación listamos diferentes concentradores y repetidores FireWire que permiten obtener a partir de un conector, más conectores. También permiten funciones de repetidores para prolongar la longitud de los cables FireWire.

Concentrador/Repetidor IEEE-1394 (6-Port)

Concentrador/Repetidor de señal para FireWire IEEE1394. Las especificaciones FireWire limitan la longitud del cable a 4.5m. Este concentrador también hace las funciones de repetidor, con lo que se pueden ir encadenando repetidores hasta conseguir la distancia deseada. Además de repetidor,

hace también las funciones de concentrador de cinco puertos, es decir que de una conexión FireWire, se obtienen cinco del tipo 6-pin hembra. Se suministra con cable que conecta la entrada del concentrador con el puerto FireWire del ordenador y con fuente de alimentación.

Concentrador 4xUSB1 2xFireWire Interno Frontal 3.5” y 5.25”

Concentrador USB de cuatro puertos del tipo A-Hembra y FireWire de dos puertos del tipo 6-pin Hembra, que se instala en el interior del PC. Concretamente se instala en una bahía de 3.5" de la carcasa del PC. Se trata de un ingenioso concentrador que añade en el panel frontal cuatro

conectores USB y dos IEEE1394 (FireWire), lo cual lo hace muy accesible, práctico y estético. La instalación es sencilla, ya que basta con conectar este concentrador a los conectores USB y FireWire de que disponga el PC. Para ello se suministran los cables USB y FireWire con el bracket correspondiente para hacer este puente con los respectivos conectores externos. La alimentación se adquiere desde una toma de alimentación de la fuente del PC.

Concentrador 4xUSB2 2xFireWire Interno Frontal 3.5” y 5.25’’

Concentrador USB 2.0 de cuatro puertos del tipo A-Hembra y FireWire de dos puertos del tipo 6-pin Hembra, que se instala en el interior del PC. Concretamente se instala en una bahía de 3.5" de la carcasa del PC. Se trata de un ingenioso concentrador que añade en el panel frontal cuatro conectores USB

Page 29: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

28

2.0 y dos IEEE1394 (FireWire), lo cual lo hace muy accesible, práctico y estético. La instalación es sencilla, ya que basta con conectar este concentrador a los conectores USB y FireWire de que disponga el PC. Para ello se suministran los cables USB y FireWire con el bracket correspondiente para hacer este puente con los respectivos conectores externos. La alimentación se adquiere desde una toma de alimentación de la fuente del PC. Soporta velocidades de transmisión de 480Mbps, 12Mbps y 1.5Mbps para los puertos USB 2.0 y hasta 480Mbps en los puertos FireWire.

Para terminar con este apartado queremos mostrar el siguiente esquema con el que mostramos varias de las posibilidades que tenemos para conectar distintos dispositivos mediante este tipo de bus.

Scanner Impresora

Cámara Digital PC

Reproductor DVD

VideoCassettera

TV

Visualización directa de imágenes

Impresión directa de imágenes

Page 30: PROTOCOLO FIREWIRE APLICACIONES A LOS MICROCONTROLADORESserver-die.alc.upv.es/asignaturas/LSED/2003-04/0.Firewire/FireWire.pdf · Con un ancho de banda 30 veces superior al conocido

Microcontroladores FireWire

29

Bibliografía

www.apple.com

www.reparomipc.com

www.firewiredirect.com

www.synchrotech.com/product-1394

www.noticias3d.com

www.elrinconcito.com

www.duiops.net

www.domotica.net/USB_versus_IEEE_1394.htm

www.pcstats.com

www.pcworld.com

www.abcnet.es

www.bestbuy-int.com

www.areapc.com

usuarios.lycos.es/jordiaguila/index.htm

www.superinventos.comn

www.compustation.net

www.imagendv.com

es.fujitsu.com/productos/mo/dynamo1300fe.html#infogeneral

www.cablematic.com

developer.apple.com

www.ti.com

www.agere.com