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