Le FireWire - Laurent FALLET

Transcription

Le FireWire - Laurent FALLET
JOSÉ CARRENO
LAURENT FALLET
ADRIAN LEOVEANU
GUILLAUME PERRIN
LE FIREWIRE
PRÉSENTATION DES DIFFÉRENTES NORMES ET SPÉCIFICATIONS
NOVEMBRE 2002
LE FIREWIRE
Le FireWire (ou IEEE 1394-1995)
Partie intégrante de la norme SCSI-3, le FireWire se détache des autres normes SCSI par
l´utilisation d´un bus série, facilitant ainsi le raccordement de périphériques externes (ses
caractéristiques sont indiquées dans le tableau précédent).
FireWire ? IEEE 1394 ? i-Link ?
•
IEEE 1394-1995 Standard for a High Performance Serial Bus est le nom de la norme originale,
publié par the Institute of Electrical and Electronics Engineers (IEEE) qui a définie la présente
implémentation de l´IEEE-1394
•
FireWire est le nom déposé par Apple Computer, Inc.´s pour son implémentation de l´IEEE-1394
•
P1394 fut le nom donné à la première version de l´IEEE-1394 avant sa normalisation par l´IEEE en
décembre 1995
•
P1394.x désigne pour sa part les fonctions additionnelles proposées par différents constructeurs,
comme l´utilisation par Sony d´un câble à 4 conducteurs (6 conducteurs composent le câble
normalement, les 2 conducteurs de l´alimentation sont supprimés)
•
DigitalLink, ou i-Link, est l´implémentation de l´IEEE-1394 déposée par Sony Corporation pour sa
gamme de produits Digital Handycam
De nombreuses terminologies pour désigner en fait un seul et même bus ...
Sa définition prévoit les avantages suivants :
•
Interface numérique : pas de conversion analogique/numérique
dégradante pour les données.
•
Taille réduite : câble fin et peu coûteux.
•
Utilisation très facile, Hot Plug and Play.
•
Taux de transfert importants, bus supportant des périphériques mixtes ayant une vitesse de
transmission de 100, 200 ou 400 Mbits/s.
•
Topologie flexible : support du Daisy Chainning.
•
Garantie de bande passante pour tous les périphériques raccordés.
Grâce à ses performances, l´IEEE-1394 est destinée particulièrement à relier :
•
Les ordinateurs.
•
Les produits manipulant de l´audio, des images et de la vidéo.
•
Les imprimantes et les scanners.
•
Les disques durs.
•
Les caméscopes.
D´une topologie très proche de celle du l´USB, le FireWire se démarque par sa
bande passante bien supérieure.
Il ne nécessite pas de HUBs FireWire, le branchement de plusieurs périphériques ne le
nécessitant pas. Les cartes FireWire pour micro-ordinateurs possèdent également des
ports pour une utilisation interne.
Par beaucoup de caractéristiques, le FireWire ressemble à l´USB. L´IEEE 1394-1995
permet de relier numériquement jusqu´à 63 périphériques (127 dans le cas de l´USB) entre-eux,
ne nécessitant pas de matériel supplémentaire. En plus de l´utilisation d´une transmission
isochrone, tout comme l´USB également, le FireWire supporte le transport de deux flux vidéo
temps réél avec une qualité broadcast en simultanée.
A noter également, les contrôleur FireWire peut délivrer un courant de 1.5 Ampères pour alimenter les périphériques.
II. Types de transfert (Link/PHY)
--------------------------------Link Request : Le controleur de lien effectue une requête à la couche physique.
Link Transmit : Le controleur de lien envoie des données par paquet à la couche physique pour transmission
Link Receive : reçoit des données par paquet de la couche physique (du bus IEEE1394).
PHY Status : donne des informations sur l'état de la couche physique.
Note : Les tranferent s'éffectuent à la même vitesse
Les protocoles
L´IEEE 1394 utilise une technologie de transmission de donnée par paquets qui est organisée comme un
espace mémoire interconnecté entre plusieurs appareils. La structure d´un réseau 1394 est constitué de deux couches :
une couche physique et une couche de lien. Il y a également deux couches logiciel : une couche de transaction et une
couche de gestion du bus série. Ces couches logiciel peuvent être directement intégrées en "hard". La couche PHY doit
gérer le signal de mise sous tension à distance, la reconnaissance du signal de sélection de l´appareil, le signal
d´initialisation du bus et la réception/émission des données. La couche de lien formate les données en paquets pour la
transmission via le câble 1394 et supporte les modes de communication asynchrone et isochrone.
Modes de transmission
La couche physique supporte les différentes vitesse de transmission suivant le matériel la composant.La
couche de lien définit deux modes de communication : asynchrone et isochrone.
Le mode de transmission asynchrone garanti la bonne réception des données par accusé de réception. Ce
temps de latence ne peut pas être quantifier car il dépend de taux d´utilisation du bus 1394 par d´autres transmissions
pour d´autres appareils communicants entre eux. Ce paquet de données peut être envoyé à une adresse d´un appareil
connecté au réseau ou à toutes les adresses.
Le mode de transmission isochrone est différent. Il réserve, pour la transmission, un espace-temps de
dimension particulière et cyclique, toutes les 125µs. Depuis un appareil, un espace-temps isochrone est garanti. Les
communications isochrones sont prioritaires aux asynchrones de sorte que la bande passante pour les communications
isochrones est assurée. Ainsi, la communication isochrone entre deux appareils ou plus est assimilable à un canal. Une
fois qu´un canal a été établit, l´appareil demandeur est garanti d´avoir espace-temps demandé à chaque cycle. C´est ce
mode de transmission que l´on choisit pour le transport de données vidéo ou toutes autres données qui ont besoin
d´avoir une transmission garantie en "temps réel".
--> Mode à utiliser: isochrone.
En résumé:
I. Transfert isochrone (envoi de paquets de données de taille fixe à intervalle de temps régulier)
* Il n'y a pas de correction d'erreur ni de retransmission
* cadencé grâce aux deux fils d'horloge
* 80% de la largeur de la bande passante peut être utilisée
* Allocation de la bande passante est suivie grace à un noeud sur le bus
=> Utilisé pour l'audio et la vidéo
=> Représente le meilleur choix pour l'informatique temps-réel et avec une tolérance de l'erreur
II. Transfert asynchrone (transmission de paquets à intervalles de temps variables)
* Ils ciblent un noeud spécifique avec une adresse explicite
* La quantité de la bande passante utilisable sur le bus n'est pas connue précisément
* Vérification d'erreurs et mecanismes de retransmission possibles
=> Pour toute application ne tolérant pas d'erreur dans les données (ex. disque dur)
VERSION IEEE 1394b
Une nouvelle version de l´IEEE 1394-1995 vient de voir le jour : l´IEEE 1394b, un petit « b » pas si négligeable que
cela. Dans sa nouvelle déclinaison, l´IEEE 1394 propose des caractéristiques et fonctionnalités encore plus avancées
que son concurrent et son prédécesseur :
•
Bande-passante améliorée, passant ainsi de 400 Mbits/s à 800 Mbits/s. Cette vitesse devrait être
amenée rapidement à 1.6 Gbits/s puis 3.2 Gbits/s grâce à l´utilisation de fibre optique plastique
multimodes. Dans cette configuration, les câbles reliant deux appareils pourront dépasser les 100
mètres ! Il sera néanmoins possible d´atteindre des raccordements de 100 mètres avec des câbles UTP
catégorie 5 en 100 Mbits/s.
•
Nouvelle implémentation du protocole visant à améliorer la disponibilité de la bande passante grâce à
une implémentation BOSS du protocole d´adressage.
•
Compatibilité avec les périphériques IEEE 1394-1995 par un mode bilingue.
•
Nouvelles applications dans le monde de l´automobile et de l´équipement audio-visuel.
•
Réduction des coûts de fabrication des chips et de leur intégration dans les circuits analogiques.
Cette évolution du FireWire est clairement un grand pas en avant pour ce standard qui
s´est récemment vu rattraper, du moins en terme de vitesse, par l´USB 2.0.
Comme nous pouvons le voir, la compatibilité avec l´ancienne norme IEEE 1394-1995
n´est pas oubliée puisque la version appelée 1394b "bilingual" (bilingue) garantit le
fonctionnement des anciens produits. Une autre bonne nouvelle vient du prix puisque les
produits à base de 1394b devraient être moins chers que leurs prédécesseurs.
Technologie non propriétaire
Débit de 400 Mbits/s (50Mo/sec), Hot plug'n play (connexion à chaud), robuste
Plus de 70 documents de spécifications : pourquoi ?
Il y a en fait qu’une dizaine de spécifications nécessaires (que tout le monde doit comprendre): le document original
IEEE 1394-1995 et ses versions "a," "b," et "dot one" connues comme IEEE 1212-1991 (ISO 13213) et ses révisions.
Données MPEG pour DTV
Données digital video (DV) à partir d'un camescope ( 20 à 25 Mbps )
La possibilité d'utiliser des ponts, systèmes permettant de relier plusieurs bus entre-eux. En effet, l'adressage
des périphériques se fait grâce à un identificateur de noeud (c'est-à-dire de périphérique) codé sur 16 bits. Cet
identificateur est scindé en deux champs : un champ de 10 bits permettant de désigner le pont et un champ de 6 bits
spécifiant le noeud. Il est donc possible de relier 1023 ponts, sur chacun desquels il peut y avoir 63 noeuds, il est ainsi
possible d'adresser 65535 périphériques !
--> possibilité de connecter plusieurs périphériques FireWire.
IEEE 1394b
La spécification IEEE 1394b reprend les fondements techniques de la version a et ces 2 versions peuvent
cohabiter sur un même réseau. Qu'apporte cette évolution de la norme ? Premier aspect, les procédures d'arbitrage ont
été améliorées pour accroître les échanges point à point entre noeuds, notamment un temps d'arbitrage plus court.
Second point important, la bande passante a été étendue à 800 Mbit/s avec la même connectique et les mêmes câbles
que la version précédente. La distance entre noeuds va pouvoir être considérablement augmentée. Actuellement celle-ci
est limitée à 4,5 mètres, une distance souvent jugée "juste" pour les systèmes à intelligence déportée. Avec la version
"b", cet inconvénient disparaît et l'on pourra éloigner deux noeuds jusqu'à 100 mètres (avec des connecteurs spéciaux).
--> utilité au niveau réseau, connectivité, pas réellement à une utilisation comme celle prévue. Seul le débit amélioré est
utile. Meilleure fiabilité.
Transmission is now continuous dual simplex (une paire émet continuellement dans chaque direction, la vitesse de
transmission ne varie pas).
L'ancienne norme avait un vitesse de reset de bus trop longue (166ys). Avec le P1394a, elle est ramenée à 2ys.
2 Types de transfert:
---------------------Link information transmit : transmet de l'information à la couche physique (sans paquets)
Link information Receive : transfert identique mais en sens inverse
Vitesse de la couche physique (PHY) et du controleur de lien (Link):
----------------------------------------------------------Elles sont désormais séparées.
Résumé des normes IEEE 1394 (origine: roumain --> anglais)
Another in the series of fundamental specification upgrades is P1394.1, which specifies the connections
between multiple 1394 busses. This allows more than 63 nodes to communicate with each other, and also allows highbandwidth subnets to be clustered together without affect the performance of the overall interconnect. Another nice
attribute of P1394.1 is that bus resets and other management traffic tends to be isolated within a single bus.
The basic model for P1394.1 is a "two portal" bridge, where multiport bridges appear to be multiple two
portal bridges from a protocol point of view.
Extensions include:
* Gigabit speeds for cables
* 100Mb for backplane implementations
* Longer distance cables using copper wire and plastic fiber
* A/V command and control protocols
* 1394 to 1394 bus bridges
* IEEE 1394 gateways to communication interfaces, such as ATM.
* 1394.1 covers the four-wire consumer connector used by Sony in its DCR-series DV camcorders and DHR-1000
DVCR, and establishes standards for 1394 bridges. Bridges extend the allowable distance between 1394 devices
(presently a maximum of 4.5 m) and are critical components for home networking with 1394. Bridges also can segment
isochronous bus traffic to improve performance in some high-end audio/video applications.
* 1394.2 is a proposed standard for an incompatible variant of 1394 designed to interconnect clusters of
workstations at signaling rates of 1Gbps or higher. 1394.2 is loosely based on the IEEE 1596 Scalable Coherent
Interface (SCI) standard for supercomputers and often is referred to as "Serial Express" or "SCSILite." 1394.2 uses a
signaling interface similar to Fiber Channel Arbitrated Loop (FCAL.) 1394.2 requires a loop architecture; 1394
expressly prohibits looped connections.
The 1394.2 proposal has stirred widespread controversy among 1394 proponents. 1394.2 has little in
common with 1394 and its supporters appear to be at cross-purposes with the 1394 Trade Association's attempt to gain
widespread adoption of 1394 in the consumer electronics and PC industries. Apple, Sun, and Intel are the primary
supporters of 1394.2. Some observers have surmised that Intel joined the 1394.2 cabal in order to muddy the 1394
waters and minimize a perceived competitive threat by 1394 to USB's hegemony. The only common element between
1394 and 1394.2 is the computer-based software architecture; 1394.2 is designed primarily to interconnect computers,
not peripheral devices. As of late 1998, it appears that 1394.2 has been subsumed by the 1394b activity.
Note: since the writing of this paper, the 1394 Trade Association has separated these extensions into individual study
groups:
# IEEE 1394.1 is the supplement to 1394
# IEEE 1394.2 is the gigabit extension
# IEEE 1394.3 is the definition of bus bridges
Standards for Everyone
Table 1
Name
Abstract
Who needs
it?
Status
More
information
IEEE 13941995
Mother of all 1394 Standards,
defines fundamental
architecture, services,
hardware and software
partitioning, etc
Everyone
doing any
1394
Released, supplemented
by P1394a
IEEE web page:
http://standards.i
eee.org/catalog
IEEE
P1394a
Supplement
Enhancements and
corrections to 1394-1995,
especially to physical layer,
power management, and
software details
Everyone
doing 1394
In Ballot Review,
preliminary products
available, expected
approval this year
ftp://ftp.symbios.
com/pub/standar
ds/io/1394/p139
4a
1394 TA
Power Spec
Part 1:
Cable
Power
Distribution
Describes how nodes should
supply, limit, pass, and
consume cable power from
1394 cables for multiple ports
All 1394
Nodes
Submitted to 1394 TA for
acceptance
http://www.1394
-pcwg.org/
1394 TA
Power Spec
Part 2:
Suspend/Re
sume
Describes how the power
saving mechanisms of
suspend/resume should be
implemented and used.
Phy
designers,
Power
Managemen
t SW writers
Submitted to 1394 TA
http://www.1394
-pcwg.org
1394 TA
Power Spec
Part 3:
Power State
Managemen
t
Describes the Model to be
used for managing power
states within a 1394 node and
across a 1394 bus.
System
designers,
Node SW
writers
In committee
http://www.1394
-pcwg.org
Basler IEEE-1394 Area Scan Cameras
• VGA (640 x 480 pixels), CCIR (780 x 580), and Megapixel (1.3m pixels) Resolutions
Available
• Provides Frame Rates of Up to 75fps
• BCAM 1394 Driver and IEEE-1394 Cable Included for Easy Plug and Play Solution
A301fc / A301fm
Imaging Device
Pixels (H x V)
Pixel Size
Sensing Area (H x V)
Frame Rate
Pixel Depth
Video Output
Lens Mount
Synchronization
Exposure Control
Shock
Power Requirements
A302fc / A302fs
A101fc / A101fm
1/2" Prog. Scan CCD
1/2" Prog. Scan CCD
2/3" HAD Prog. Scan CCD
659 x 494
782 x 582
1300 x 1030
9.9 x 9.9µm
8.3 x 8.3µm
6.7 x 6.7µm
6.5 x 4.8mm
6.5 x 4.8mm
8.7 x 6.9mm
75 fps
30 fps
11.75 fps
8-bit (mono), 24-bit (color)
IEEE-1394
C-Mount
external via ExSync or internal free-run
programmable via serial link
80G (IEC 68)
12V DC
12V DC
24V DC
8G
8G
6G
62 x 62 x 48.7mm
62 x 62 x 48.7mm
62 x 62 x 45mm
(±10%, max 5W)
Vibration
(10Hz ~ 150HZ, 1 hr. each axis)
Dimensions (H x W x L)
Weight
310g
System Requirements
Windows® 2000 (SP2), CPU speed of 450MHz, 128MB RAM, AGP graphics card, OHCI compliant
1394 adapter card for PCI bus
Device Requirements
Driver is designed for optimum compatibility with Basler f-type cameras and can be used with any
camera that operates on an IEEE 1394 bus (1394 TA Digital Camera Stanard v1.20)
User Requirements
To use the drivers to its full capabilities, knowledge of C++ is required
Caméras CMOS : http://optics.appliedimage.com/cmos_sensor.htm