Gränssnittet ieee 1394 är designat för. FireWire eller vad annat Apple hjälpte den digitala världen


High Performance Serial Bus IEEE 1394 - FireWire skapades som ett billigare och bekvämare alternativ till parallella bussar (SCSI) för att ansluta peer-to-peer-enheter. Bussen låter dig ansluta upp till 63 enheter utan användning av extra utrustning (hubbar). Konsumentelektronikenheter - digitala videokameror (videoinspelare), videokonferenskameror, kameror, kabelmottagare, satellit-TV, digitala videospelare (CD och DVD), Akustiska system, digitala musikinstrument, såväl som kringutrustning (skrivare, skannrar, lagringsenheter) och själva datorerna kan kombineras till enda nätverk. Bussen kräver ingen datorstyrning. Bussen stöder dynamisk omkonfiguration - möjligheten att "hot" ansluta och koppla bort enheter. Anslut/koppla från händelser utlöser återställning och återinitiering: bestämma bussstrukturen (trädet), tilldela fysiska adresser till alla noder och, om så krävs, välja en loopmaster, isokron resurshanterare och bussstyrenhet. Inom en bråkdel av en sekund efter återställningen är alla resurser tillgängliga för senare användning, och varje enhet har en fullständig bild av alla anslutna enheter och deras möjligheter. Tack vare närvaron av kraftledningar kan enhetens gränssnittsdel förbli ansluten till bussen även om strömmen till den funktionella delen av enheten är avstängd.

På initiativ av VESA är däcket placerat som basen för " hemnätverk", förenar all hushålls- och datorutrustning till ett enda komplex. Detta nätverk är peer-to-peer, vilket skiljer sig väsentligt från USB.

De huvudsakliga egenskaperna för FireWire-bussen listas nedan:

IEEE 1394-bussen stöder två typer av dataöverföringar:

  • asynkrona överföringar utan krav på hastighet och leveransfördröjning. Dataintegriteten styrs av en CRC-kod. Det finns två typer av adressering:
  1. riktad asynkron överföring är adresserad till en specifik nod, garanterad leverans säkerställs genom en handskaknings- och försöksmekanism;
  2. Broadcast asynkron överföring är adresserad till alla noder och utförs utan garanti för leverans (handskakning och återförsök gäller inte).
  • Isokrona överföringar med garanterad genomströmning. Dataintegriteten styrs av en CRC-kod, det finns ingen garanti för leverans - handslag och återförsök används inte.

Riktade asynkrona överföringar är grunden för att utföra asynkrona transaktioner – logiskt genomförda utbyten mellan par av noder. Bussprotokollet tillåter noder att komma åt varandras minne (register) med hjälp av direktåtkomstläge (DMA) med asynkrona transaktioner. Samtidigt kräver de inte minnes- och processorresurser från tredje part.

Isokrona överföringar är strömmar av datapaket. Dessa sändningar sänds och adresseras via ett kanalnummer som skickas i varje paket. Upp till 64 isokrona kanaler kan organiseras på bussen sändningar av alla kanaler "hörs" av alla bussenheter, men från alla paket får de bara data från de kanaler de är intresserade av. Asynkrona strömmar kan också sändas över bussen, för vilka, till skillnad från isokrona, en garanterad bandbredd inte tillhandahålls.

Skiljeförfarande avgör vilken av de noder som begär överföringen som beviljas denna rätt. Skiljedom ger garanterad genomströmning för isokrona överföringar och rättvis tillhandahållande av åtkomst till noder för asynkrona transaktioner. IEEE 1394-bussarbitrering sker innan någon begäran (synkront eller isokront) eller svarspaket skickas. Undantaget är den sammanlänkade formen av transaktionsutförande. Bekräftelsepaket skickas utan skiljedom - rätten att överföra dem behöver inte spelas, eftersom kvittot endast skickas av den enda nod till vilken det bekräftade förfrågan eller svarspaketet var adresserat.

Skiljedom hanteras av det fysiska lagret av varje bussnod. Skiljedom utförs på ett distribuerat hierarkiskt sätt: alla noder är involverade i det, den "överordnade" arbitern är rotnoden, som automatiskt väljs i busskonfigurationsstadiet.

The Physical Layer (PHY) förser Link Layer (LINK) med följande skiljedomstjänster, listade i ökande prioritetsordning:

  • rättvist skiljeförfarande(rättvis skiljedomstjänst), används för att överföra vanliga asynkrona paket;
  • prioriterad skiljedom(prioritetsarbitreringstjänst), används för att sända ramstartpaket och asynkrona prioritetspaket;
  • omedelbar skiljedom(omedelbar skiljedomstjänst), används för att överföra handskakningspaket;
  • isokront skiljeförfarande(isochronous arbitration service), används för att överföra isokrona paket.

Prioriteten vid arbitrering på IEEE 1394-bussen bestäms av varaktigheten av arbitreringsgapet - tiden under vilken en nod observerar att bussen är ledig innan den sänder en arbitreringsbegäran. Ju mindre detta gap, desto mer sannolikt är det att noden får rätten att sända. Det ursprungliga skiljeförfarandet från 1394 förbättrades två gånger: 1394a introducerade påskyndade skiljedomsmekanismer, och 1394b, med sina duplexanslutningar, introducerade en ny mekanism - BOSS-arbitration. Alla förbättringar syftar till att minska improduktiv tid.

Om isokrona överföringar används på bussen, organiseras alla transaktioner i en sekvens av cykler - tidsintervall med en nominell varaktighet på 125 μs. Början av varje cykel markeras av ett sändningspaket för cykelstart. Dessa paket skickas av noden som är loopmastern. Mastern får rätten att sända detta paket genom skiljedom med hög prioritet. Organisationen av cykler presenteras i figuren, som visar driften av två isokrona kanaler (Ch#J och Ch#K) och överföringen av asynkrona paket A och B. Efter cykelstartpaketet, varje nod till vilken isokrona kanaler är allokerad har rätt att sända ett paket för varje kanal (tills nästa paket anländer i början av cykeln). För isokrona överföringar används ett kort arbitreringsgap, så asynkrona transaktioner som använder ett längre gap kan inte kilas in i den isokrona delen av cykeln. Efter att de isokrona paketen för en given cykel är uttömda, utförs asynkrona överföringar, vilka använder längre mellanrum för medling. När det är dags att skicka nästa loopstartpaket får loopmastern, efter att ha väntat på att bussen ska bli ledig, återigen åtkomsträttigheter (med sin prioritet på grund av sin position vid roten av trädet) och skickar nästa loopstart paket. Således kan cykeltiden avvika från det nominella värdet på 125 µs. Avvikelser av cykellängden från den nominella är inte farliga, eftersom cykelstartpaketet bär systemtidsvärdet exakt vid tidpunkten för den faktiska överföringen av detta paket.

Om bussen inte använder isokrona överföringar, kan det inte finnas någon loopmaster och det kommer inte att finnas några loopstartpaket på bussen. I detta fall kan hela tiden på bussen fyllas med asynkrona överföringar med sina långa skiljedomsluckor.

IEEE 1394-busskonfiguration utförs i olika situationer:

  • automatiskt när konfigurationen ändras - när du ansluter och kopplar bort enheter, samt slår på/av deras PHY-nivå;
  • när någon nod upptäcker ett fatalt fel - en "frysning" av bussen;
  • på initiativ av någon nod som till exempel vill ändra topologin (ändra rotnoden).

Konfigurationen består av tre steg i följd.

  1. Bus Reset, från vilken tidpunkt överföringen slutar användbar trafik.
  2. Trädidentifiering, under vilken noder är ordnade i en hierarkisk struktur.
  3. Självidentifiering av noder, under vilken noder tilldelar sig unika fysiska identifierare.

Konfigurering av bussen sätter den i ett tillstånd som är lämpligt för att överföra användbar trafik. Busskonfigurationen utförs uteslutande av hårdvaran för PHY-nivån för varje nod (LINK-nivån för konfigurerbara noder kan inaktiveras). Programvaruverktyg är inte involverade i denna process. Tack vare den rena hårdvaruimplementeringen är automatisk konfiguration så snabb att det är möjligt att upprätthålla kontinuiteten i isokrona flöden.

I den ursprungliga versionen av bussen återställdes den längsta tiden i hela konfigurationsproceduren. Förbättringar har gjorts av 1394 PHY för att minimera slöseri med tid under återställning. Resten av konfigurationsstegen är snabbare, men om en loop skapas kommer trädidentifieringen aldrig att ta slut. Denna situation upptäcks av vilken nod som helst och ett meddelande om det kommuniceras till användaren. 1394b vidtar åtgärder för att automatiskt eliminera slinganslutningar.

Egenskaperna för vilken konfigurerad bussnod som helst är observerbara och styrda genom dess arkitektoniska register och konfigurationsminne. De är åtkomliga från busssidan genom asynkrona transaktioner till specifika adresser. Arkitektoniska register bestämmer beteendet hos en nod på bussen. Konfigurationsminnet avslöjar "applikationsvärdet" för en nod och tillhandahåller dess unika identifiering, oberoende av en icke-beständig fysisk identifierare.

IEEE 1394-bussen, som tillhandahåller peer-to-peer-interaktioner mellan noder, behöver centraliserad förvaltning vissa funktioner. Styrfunktioner kan tas över av olika bussnoder; Beroende på tillgängligheten för implementering av vissa funktioner, särskiljs följande varianter av IEEE 1394-bussen:

  • en ohanterad buss som bara behöver en rotnod för att kontrollera arbitration. Roten, som blir "högsta domaren", väljs under trädidentifieringsstadiet. Den första kandidaten till denna "position" väljs baserat på anslutningstopologin, med en möjlig slumpmässig dragning av denna rätt mellan de två vinnarna i den näst sista omgången. Efter att rotvalen är slutförda identifierar sig noderna (och tilldelar fysiska adresser), varefter bussen blir redo för asynkrona transaktioner mellan noder. Därefter är det programmatiskt (via asynkrona meddelanden på bussen) möjligt att omtilldela roten (med definitionen av en ny trädstruktur och nodadresser);
  • en delvis hanterad buss som förutom roten måste ha noder som fungerar som en loopmaster och en isokron resurshanterare. Deras funktion gör det möjligt att använda bussen för isokrona överföringar;
  • en fullt hanterad buss, som måste ha en busschefsnod som tillhandahåller ytterligare tjänster förvaltning.

Loop Master

Cykelmästaren ansvarar för att regelbundet sända cykelstartpaket. För att göra detta måste det vara en enhet som stöder isokrona växlingar och har CYCLE_TIME och BUS_TIME register. I informationsblocket BUS_INFO_BLOCK i dess konfigurationsminne måste cmc-biten (Cycle Master Capable) sättas - ett tecken på förmågan att utföra denna roll. Den aktuella cykelmastern är en nod som har cmstr-biten (cykelmaster) inställd i sitt statusregister (STATE). Alla noder, utom roten, måste återställa denna bit till noll under trädidentifiering (efter återställning); rotnoden måste behålla värdet den hade innan återställningen.

Om den valda rotnoden inte kan vara en loopmaster, och isokrona överföringar krävs, väljs en ny kandidat för rollen som rot bland de noder som kan vara en master (att döma av cmc-biten). För att göra detta skickas ett PHY-konfigurationspaket med den nya kandidatens identifierare och R-biten. Denna nod kommer att ställa in sin RHB-bit, och de andra återställer den, vilket säkerställer att denna nod väljs som den nya. root under identifieringen som orsakas av att skicka detta paket.

Slingmastern är källan till systemtiden; För detta ändamål har den registren CYCLE_TIME och BUS_TIME. Det aktuella värdet för CYCLE_TIME-registret sänds av cykelmastern i cykelstartpaket. En bussåterställning (i någon form) påverkar inte värdena för dessa register.

CYCLE_TIME-registret (32 bitar, Fig. a) består av tre fält som motsvarar värdena för tre räknare kopplade i kaskad:

  • cycle_offset — 12-bitars räknare modulo 3072 ( maximalt värde 3071, varefter den återställs), räknar pulser med en frekvens på 24,576 MHz. Perioden för denna räknare motsvarar den nominella cykellängden - 125 μs;
  • cycle_count är en 13-bitars modulo 8000-räknare som räknar cykler. Perioden för denna räknare är 1 s;
  • second_count — 7-bitars räknare som räknar sekunder; räkneperiod - 128 s.

BUS_TIME-registret (32 bitar, fig. b) innehåller systemtidsvärdet i sekunder. Dess lägre 7 bitar (second_count_lo) visar fältet second_count i det föregående registret. De återstående 25 bitarna (second_count_hi) räknar 128 sekunders intervall. Räknarperioden är 232 = 4 294 967 296 s (cirka 136 år).

IEEE 1394

IEEE 1394-gränssnitt
Typ Seriell kommunikation
Berättelse
Utvecklare Apple Computer (nu Apple, Inc.)
Tagit fram 1995
Tillverkare Olika
Producerad 1995–nutid
Specifikationer
Längd max 4,5 m
Bredd 1
Anslut när du är på språng Ja
Extern Ja
Max. Spänning 30 V
Max. nuvarande 1,5A
Datasignal Ja
Bandbredd 400–3200 Mbit/s (50–400 MB/s)
Slutsatser 4, 6, 9

IEEE 1394 (FireWire, i-Link)- seriell höghastighetsbuss designad för utbyte av digital information mellan en dator och andra elektroniska apparater.

Olika företag marknadsför standarden under sina egna varumärken:

  • Apple - FireWire
  • Sony- i.LINK
  • Yamaha - mLAN
  • - Lodjur
  • Kreativ- SB1394

Berättelse

  • 1986 beslutade medlemmar av Microcomputer Standards Committee att kombinera det befintliga olika alternativ Seriebuss
  • 1992 började Apple utveckla gränssnittet
  • IEEE 1394 standard antagen 1995

Fördelar

  • Hot pluggability - möjligheten att konfigurera om bussen utan att stänga av datorn
  • Olika dataöverföringshastigheter - 100, 200 och 400 Mbps i IEEE 1394/1394a-standarden, dessutom 800 och 1600 Mbps i IEEE 1394b-standarden och 3200 Mbps i S3200-specifikationen.
  • Flexibel topologi - enheternas jämlikhet, tillåter olika konfigurationer (möjligheten att "kommunicera" enheter utan dator)
  • Hög hastighet - förmågan att bearbeta multimediasignaler i realtid
  • Isokront trafikstöd
  • Stöd för atomoperationer - jämförelse/swap, atomic increment (operationer av LOCK-familjen - jämför/swap, hämta/lägg till, etc.).
  • Öppen arkitektur - inget behov av att använda speciell programvara
  • Tillgång till ström direkt på bussen (lågeffektenheter klarar sig utan egna strömförsörjningar). Upp till en och en halv ampere och spänning från 8 till 40 volt.
  • Anslut upp till 63 enheter.

IEEE 1394-bussen kan användas för:

  • Skapande av ett datornätverk.
  • Ansluta multimediaenheter för ljud och video.
  • Skrivare och skanneranslutningar.
  • Anslutningar av hårddiskar, RAID-arrayer.

Grundläggande information

Kabeln är 2 tvinnade par- A och B, kopplade som A till B, och på andra sidan av kabeln som B till A. En valfri strömledare är också möjlig.

Enheten kan ha upp till 4 portar (kontakter). Det kan finnas upp till 64 enheter i en topologi. Den maximala väglängden i topologin är 16. Topologin är trädliknande, slutna slingor är inte tillåtna.

När en enhet är ansluten eller frånkopplad återställs bussen, varefter enheterna självständigt väljer det viktigaste från sig själva och försöker flytta denna "dominans" till sin granne. Efter att ha identifierat huvudenheten blir den logiska riktningen för varje kabelsegment tydlig - till huvudenheten eller från huvudenheten. Efter detta kan nummer distribueras till enheter. Efter att numren har distribuerats kan samtal till enheterna utföras.

Under distributionen av nummer flyter pakettrafik på bussen, som var och en innehåller antalet portar på enheten, samt orienteringen av varje port - ej ansluten/till huvudet/från huvudet, samt den maximala hastigheten för varje anslutning (2 portar och en bit kabel). 1394-styrenheten tar emot dessa paket, varefter drivrutinstacken bygger en karta över topologin (anslutningar mellan enheter) och hastigheter (värsta tänkbara hastighet längs vägen från styrenheten till enheten).

Bussverksamheten är uppdelad i asynkron och isokron.

Asynkrona operationer är att skriva/läsa ett 32-bitars ord, ett block av ord, såväl som atomoperationer. Asynkrona operationer använder 24-bitars adresser inom varje enhet och 16-bitars enhetsnummer (bussbryggningsstöd). Vissa adresser är reserverade för de viktigaste kontrollregistren för enheter. Asynkrona operationer stöder tvåfasexekvering - en begäran, ett mellansvar, sedan ett slutligt svar senare.

Isokrona operationer är överföringen av datapaket i en rytm strikt tidsinställd till 8 KHz-rytmen, inställd av bussmastern genom att initiera "skriv till det aktuella tidsregistret"-transaktioner. Istället för adresser använder isokron trafik kanalnummer från 0 till 31. Det finns inga bekräftelser på att isokrona operationer är envägssändningar.

Isokrona operationer kräver tilldelning av isokrona resurser - kanalnummer och bandbredd. Detta görs genom en atomär asynkron transaktion till vissa standardadresser för en av bussenheterna, vald som "isokron resurshanterare".

Förutom kabelimplementeringen av bussen, beskriver standarden även implementeringen ombord (implementeringarna är okända).

Användande

Nätverk över 1394

Runt 1998 utvecklade en grupp företag, inklusive Microsoft, idén att kräva 1394 för vilken dator som helst och använda 1394 inuti höljet, och inte bara utanför det. Det fanns till och med kontrollkort med en av kontakterna riktad inuti fodralet. Det fanns också idén om en Device Bay, det vill säga en plats för en enhet med en 1394-kontakt inbyggd i viken och hot-swappable stöd.

Allt detta kan ses i Microsofts material från den tiden, avsett för datorutvecklare. Vi kan dra slutsatsen att 1394 erbjöds som en ersättning för ATA, det vill säga för rollen som nu utförs av SATA.

Alla dessa idéer slutade snabbt i misslyckande, en av huvudorsakerna var Apples licenspolicy, som kräver betalningar för varje kontrollerchip.

MiniDV videokameror

Historiskt sett den första användningen av däcket. Det används fortfarande idag som ett sätt att fånga filmer från MiniDV till filer. Fånga från kamera till kamera är också möjligt.

Videosignalen som kommer över 1394 är i nästan samma format som det som lagras på videobandet. Detta förenklar kameran och minskar dess minneskrav.

Användningen av 1394 med miniDV markerade slutet på proprietära videoinspelningskort.

Debuggers

En intressant egenskap hos 1394-styrenheterna är möjligheten att läsa och skriva godtyckliga minnesadresser från busssidan utan att använda processorn eller mjukvaran. Detta härrör från 1394:s rika uppsättning av asynkrona transaktioner såväl som dess adresseringsstruktur.

Denna förmåga att läsa och redigera minne genom 1394 utan CPU-hjälp var anledningen till att använda 1394 i Windows-kärnavlusaren WinDbg med två datorer. Denna användning är betydligt snabbare än en seriell port, men kräver ett operativsystem på minst Windows XP på båda sidor. Funktionen används även i debuggers för andra operativsystem, till exempel firescope för Linux.

IEEE 1394 enhetsorganisation

IEEE 1394-enheter är organiserade i tre lager - Transaction, Link och Physical, motsvarande de tre nedre lagren i OSI-modellen.

Transaktionslager - routing av dataströmmar med stöd för ett asynkront skriv-läsprotokoll.

Link Layer - bildar datapaket och säkerställer deras leverans.

Fysiskt lager - omvandling av digital information till analog för överföring och vice versa, styrning av signalnivån på bussen, styrning av åtkomst till bussen.

IEEE 1394a

År 2000 godkändes standarden IEEE 1394a. Ett antal förbättringar har gjorts för att öka enhetskompatibiliteten.

En väntetid på 1/3 sekund har införts för bussåterställning tills den transienta processen att upprätta en tillförlitlig anslutning eller frånkoppling av enheten är klar.

IEEE 1394b

IEEE 1394c

1394c-standarden introducerades 2006 och tillåter användning av Cat 5e-kabel från Ethernet. Det är möjligt att använda parallellt med Gigabit Ethernet, det vill säga använda två logiska och ömsesidigt oberoende nätverk på en kabel. Den maximala deklarerade längden är 100 m, den maximala hastigheten motsvarar S800 - 800 Mbit/s.

Kontakter

Det finns fyra (upp till IEEE 1394c - tre) typer av kontakter för FireWire:

  • 4pin (IEEE 1394a utan ström) används på bärbara datorer och videokameror. Ett tvinnat par (två kontakter) är för att sända en signal (information) och ett andra tvinnat par (ytterligare två kontakter) är för att ta emot.
  • 6-stift (IEEE 1394a). Dessutom två ledningar för ström.
  • 9-stift (IEEE 1394b). Dessutom två kontakter för partvinnade sköldar (mottagning och sändning av information). Och en kontakt till - reservera.
  • RJ-45 (IEEE 1394c).

se även

Anteckningar

Länkar

  • IEEE 1394-gränssnitt Baserat på material från Kramer AV Academy-kursen - Arkiv för tidningen “625” nr 7/2005 bilder, som korrekt visar både funktionsdiagram, ett träd av noder, skiljediagram, såväl som kabelsektionen och betydelsen av adaptrarna.
  • 1394 Handelsföreningen
  • IEEE p1394c arbetsgrupp

Betydelsen av interaktion mellan olika komponenter och enheter inom datorteknik kan inte överskattas. Utan sådan interaktion skulle det helt enkelt inte finnas någon datorteknik i sig. Men från början av utvecklingen av datorer löste varje tillverkare (och på vissa ställen fortsätter att lösa) dessa problem på sitt eget sätt. Som svampar efter regn växte antalet alla typer av bussar och kontakter genom vilka data överfördes, både inuti datorn och utanför. Men om en sådan mångfald av lösningar inuti järnlådan var (och är) för det goda, stimulerande tekniska framsteg, så med periferin händer allt tvärtom. Havet av olika bussar och kontakter med vilka kringutrustning kan anslutas till datorer är inte fördelaktigt för någon - varken tillverkarna av datorerna själva eller tillverkarna av kringutrustning. Det blev tydligt att universaldäck behövdes. Och de dök upp. Tyvärr undkom inte den allmänna störningen (när alla drog täcket över sig) detta område. Därför kunde man i mitten av nittiotalet, när man tittade på datorns bakvägg, se en massa olika kontakter: COM, LPT, VGA, PS/2 och några andra. Var och en av dessa kontakter hade sina egna nackdelar, krävde en separat implementering från utvecklarna och krävde sin del av på intet sätt obegränsad datorresurser. Behovet av en verkligt universell kontakt har blivit akut, och utvecklarna började arbeta med entusiasm. Till exempel, sedan mitten av nittiotalet, började det välkända företaget Intel aggressivt driva sin skapelse på marknaden - USB (Universal Serial Bus). Jämfört med de kontakter som fanns på den tiden var USB ett verkligt genombrott, som till synes allt man kan drömma om. Men det verkade bara :-) I skuggan av hajpen kring USB var det få som märkte födelsen av ett annat format som använder seriebussen (Serial Bus), som inte kunde göra mindre (eller till och med mer) än dess allmänt annonserade konkurrent. Detta är IEEE 1394.

Hur allt började

Historien om IEEE 1394, nu även känd som FireWire och som i-Link, började redan 1986, när medlemmar i Microcomputer Standards Committee ville förena de olika varianterna av seriebussen som fanns på den tiden. Det nya projektet utformades för att kombinera befintliga utvecklingar vid den tiden: IEEE 1014 VME, IEEE 1296 Multibus II och IEEE 896 FutureBus+®. Utvecklarens uppgift var att skapa ett universellt I/O (Input/Output) externt gränssnitt lämpligt för att arbeta med multimedia och för att arbeta med datalagringsenheter (Mass Storage Device), för att inte tala om enklare saker - som skrivare, skannrar och sånt sådär. Resultatet av utvecklarnas arbete blev ett 10 megabyte dokument kallat 1394-1995.pdf, slutligen godkänt den 12 december 1995, som beskrev IEEE 1394. Det finns ingen hemlig betydelse i standardens namn - det var helt enkelt den 1394:e standarden utfärdat av kommittén. Gränssnittet som beskrevs i detta dokument var verkligen revolutionerande. Det gav helt enkelt otroliga hastigheter och bekvämlighet för dessa tider. Den ledande rollen i utvecklingen av standarden spelades av Apple, som gav den namnet FireWire, så det är inte förvånande att det omedelbart förlitade sig på användningen av denna standard i sina datorer (som vanligt gick Apple sin egen väg, och medan PC-användare tittade in i Intels mun med den nyligen uppenbarade USB, förlitade sig på FireWire. Även om USB inte glömdes, var den riktiga svanesången för IEEE 1394. Även under utvecklingen av dem blev det tydligt till IEEE 1394, det användes som ett externt gränssnitt, ingenting passar dem. Därför beslutade Digital VCR Conference (DVC) att använda IEEE 1394 som ett standardgränssnitt för digitalkameror -VX700 digitalkameror, som för första gången hade IEEE 1394-utgång Andra tillverkare följde Sony, och idag har IEEE 1394 praktiskt taget monopoliserat denna snabbt växande marknad.

Texas Instruments gav också sitt bidrag till utvecklingen av IEEE 1394, och organiserade massproduktionen av riktigt billiga chips för implementering av IEEE 1394-gränssnittet, vilket spelade en stor roll i den snabba tillväxten av antalet IEEE 1394-kontroller i persondatorer.

Trots en sådan framgång med den nya standarden (den visade sig vara efterfrågad redan innan den slutliga specifikationen släpptes) stod utvecklarna inte stilla. Redan år 2000 släpptes version 1394a-2000 av protokollet, som omedelbart mottogs entusiastiskt av tillverkarna. Och idag utvecklas P1394b.

Vad är så bra med IEEE 1394?

Som redan nämnts förlitade sig utvecklarna på tidigare släppta standarder, och IEEE 1394 inkluderade allt det bästa som fanns på den tiden. Huvudfunktionerna i IEEE 1394 inkluderar:

  • Den seriella bussen, istället för ett parallellt gränssnitt, möjliggjorde användningen av kablar med liten diameter och små kontakter.
  • Stöder hot plugging och hot plugging av vad som helst.
  • Strömförsörjning till externa enheter via IEEE 1394-kabel.
  • Hög hastighet
  • Förmåga att bygga nätverk utifrån olika enheter och en mängd olika konfigurationer.
  • Enkel konfiguration och breda möjligheter. De flesta kan fungera via IEEE 1394 olika utrustning, och användaren behöver inte oroa sig för hur man ansluter allt korrekt.
  • Stöder asynkron och synkron dataöverföring.
Det är nödvändigt att uppehålla sig vid den sista punkten mer i detalj.

Asynkron överföring. Asybnchronous, från grekiskans Asyn - annan och Kronisk - tid. Detta innebär att data definitivt kommer att levereras säkert och bra, även om inte alltid i tid. Mottagandet av varje paket kontrolleras och bekräftas om paketet inte tas emot, kommer överföringen att upprepas igen.

Synkron överföring. Isokron, från grekiskan Iso - samma, samma och Kronisk - tid. Detta betyder att hastighet och kontinuitet i flödet är viktigare än dataintegritet. Om paketet anlände med ett fel, eller inte anlände alls, kontrolleras detta inte ens, än mindre skickar paketet illa. Denna typ av överföring är utmärkt för multimediaapplikationer, där förlusten av någon del av informationen är mindre kritisk än en stor fördröjning.

Hur fungerar det hela?

IEEE 1394 är uppdelad i flera lager. Det ser ut så här:

Längst ner är det fysiska lagret. En hårdvarukomponent som ansvarar för att översätta signaler som tas emot via kablar till en form som är begriplig för en dator (och vice versa - för att översätta data till elektriska signaler som färdas längs kablar). Samma del ansvarar för att hantera den fysiska kanalen, d.v.s. bestämmer om enheten ska uppta kanalen just nu eller ska vänta. Dessutom tillhandahåller samma nivå ett gränssnitt för kablar och kontakter och är ansvarig för följande processer:

Miljögränssnitt(Media Interface) - är ansvarig för tillståndet för signalen som överförs genom kablarna.

Skiljedom(Arbitration) - olika IEEE 1394-enheter som ingår i nätverket reder ut sinsemellan vem som kan agera och i vilken ordning.

Kodning/avkodning(Koda/avkoda) - omvandlar data till elektriska signaler som kan överföras via kablar och tillbaka.

Nivån ovan är kanalnivån (Link Layer). Här levereras färdiga datapaket. Det är denna nivå som är ansvarig för att skicka data upp och ner, följande processer sker här:

Paketmottagare(Packet Receiver) - organiserar och ansvarar för att ta emot datapaket.

Paket sändare(Packet Transmitter) - organiserar och ansvarar för överföringen av datapaket.

Cykelkontroll(Cykelstyrning) - paket sänds inte individuellt utan i cykler. Det är här kontroll över dessa cykler utövas.

Dessa två nivåer är implementerade i hårdvara, d.v.s. körs i hårdvara. De är fullt ansvariga för att generera en signal från data, generera data från en signal och ta emot/sända vid rätt tidpunkt och till rätt plats. Därför räcker endast dessa två nivåer för synkron överföring, när ingen kontroll över vad som sänds och tas emot krävs. Med asynkron överföring är detta inte fallet, och det är här:

Nätverkslager(Transaktionslager). På denna nivå verifieras mottagna data. Om allt är bra (inte ett enda paket har förlorats eller skadats) skickas data till konsumenten. Om ett fel upptäcks återgår vi till det fysiska lagret och upprepar det hela igen tills data tas emot utan fel.

Alla nivåer (inklusive de två första) styrs av firmware, och denna process kallas Serial Bus management.

Sådana processer förekommer i varje IEEE 1394-enhet, och alla två enheter bildar en punkt-till-punkt-anslutning med varandra. Men dessutom låter IEEE 1394 dig kombinera många sådana enheter och anslutningar till ett logiskt nätverk. För att göra detta låter det fysiska lagret dig ha mer än ett fysiskt gränssnitt på en enhet.

Låt oss titta närmare på hur olika enheter i samma logiska nätverk tar reda på vem som ska göra vad, när och vad.

Nätverksinitiering sker i flera steg:

Återställa(återställ) - inträffar varje gång det krävs. Anledningen till återställningen kan till exempel vara en fysisk förändring av nätverkskonfigurationen (ansluta en ny enhet eller koppla bort en gammal). Nätverksinitieringsprocessen börjar med en bussåterställning. Den resulterande konfigurationen förblir giltig och oförändrad tills nästa återställning däck.

Trädidentifiering(Trädidentifiering) - anslutna enheter tar reda på vilka av dem som är föräldrar och vilka som är barn, och bildar ett logiskt träd. Rotanordningen för hela trädet bestäms.

Obs: Det första en enhet upptäcker när den slås på är hur många anslutna portar den har. Ett (blad) eller flera (gren). Sedan bestäms föräldra- och underordnade enheter (vilken som är ansluten till vilken). Baserat på dessa data byggs ett träd och rotenheten bestäms.


Självidentifiering(Självidentifiering) - varje enhet får sitt eget nod-ID i trädet och tar reda på vilka hastigheter dess närmaste grannar kan arbeta. Topologin är helt definierad. Adressering använder principerna som beskrivs i IEEE 1212. Detta innebär 64-bitars direktadressering (48 bitar per nod, de återstående 16 används för bussidentifiering), vilket tillåter hierarkisk adressering för 63 noder på 1023 bussar. Den enda begränsningen är att det inte får finnas mer än 16 "hopp" (segment) mellan två enheter som vill kommunicera med varandra.

Nätverksinitieringen är klar, normal skiljedom träder i kraft - nätverkets driftläge. Enheterna utbyter data och rotenheten ser till att de inte stör varandra. Det händer så här:

En enhet som vill börja överföra skickar först en begäran till sin överordnade enhet. Efter att ha mottagit begäran förbjuder den överordnade enheten överföring till alla andra barn (endast en begäran behandlas åt gången) och skickar i sin tur begäran vidare till sin överordnade enhet, där allt upprepas. Som ett resultat når begäran rotenheten, vilket i sin tur tillåter överföring till enheten vars begäran kom först. Alla andra överföringar är förbjudna. Således, om två enheter samtidigt skickar en begäran om att överföra data, kommer svaret att bero på vems begäran som når rotenheten först. Den vinner skiljeförfarandet och får rätten att påbörja överföringen. Förlorar enheten. efter att ha inte fått tillstånd att överföra, tvingas vänta tills vinnaren klarar bussen.


Allt detta sker på det fysiska lagret. När tillstånd att överföra data har mottagits och dataöverföring måste börja, kommer länkskiktet in i bilden. Som redan nämnts är det han som bildar paketen och bestämmer när och hur många paket som ska skickas. Dataöverföringen börjar med en begäran om beredskap att ta emot den anordning som data är avsedd för, och efter att ha fått bekräftelse på beredskap börjar överföringen. Data kommer i paket, med luckor mellan dem. Ett typiskt datapaket är 256 byte, eller 2048 bitar, varav 160 bitar finns i huvudet. Således är den totala effektiviteten (hur mycket data som faktiskt finns i paketet, inte tjänsteinformation) mycket hög och ju större paket, desto högre effektivitet). Rubriken innehåller information om avsändaren, mottagaren och CRC. Efter paketet finns en kort lucka, mindre än 0,75 msek lång (acknowledge gap), varefter mottagaren måste skicka ett 8-bitars datablock som bekräftar att paketet mottagits intakt (ack-paket). Sedan följer ett längre gap, längre än 1 ms, som separerar paketen (subaktionsgap). Och så vidare - paket, kvittera mellanrum, bekräftelsebyte (ack), underhandlingsgap.

För att säkerställa att en enhet, efter att ha börjat sända data, inte upptar hela kanalen, vilket inte lämnar någon chans för grannar att börja sända tills den är klar, introducerades konceptet med rättvisa intervall. Under ett rättviseintervall får varje enhet på bussen en möjlighet att överföra sina data. När tillstånd har beviljats ​​(skiljedom har vunnits) och en databit har överförts, måste enheten vänta till slutet av rättviseintervallet och början av nästa cykel innan den kan överföra nästa databit igen. Rättviseintervallet slutar med det så kallade återställningsgapet, som är längre än underhandlingsgapet och gör att hela bussen återställs.

För synkron överföring används en något annan teknik. Data överförs i "shots", var och en 125 msek lång. Så många sådana skott avlossas som kanalen tillåter. Även vid enkel hastighet (98,304 Mbit/sek) överförs upp till 1000 byte i en sådan cykel. Ju högre hastighet, desto mer data kan passera. Dessutom, med synkron överföring spelar det ingen roll om den mottagande enheten tog emot datan eller inte. Paketen kommer bara en efter en, åtskilda av ett subaction gap, ingen väntar på några ack-paket. För att den mottagande enheten ska kunna ta reda på var den synkrona och var den asynkrona datan finns, är subaktionsgapet kortare under synkron överföring. Detta gör att du kan kombinera synkrona och asynkrona data i en session. Men i synkront läge kommer en enhet aldrig att tillåtas fånga hela den tillgängliga kanalen. Synkrondata kan inte utgöra mer än 85 % av den tillgängliga kanalen, och en enhet kan inte uppta mer än 65 %.

Hur ser det hela ut?

IEEE 1394 tillåter dataöverföring med en hastighet av 98,304 Mbit/sek. Dessutom är överföring i lägena 2x (196,608 Mbit/sek) och 4x (393,216 Mbit/sek) möjlig.

Inledningsvis dök det upp chips som bara kunde fungera vid 100 Mbit (även om specifikationen tillät mer), men 200 och 400 Mbit chips lät inte vänta på sig. Trots detta uppenbara kaos bör användare inte uppleva det minsta besvär (detta var en av obligatoriska villkor, som lades fram för utvecklarna). Därför tillåter IEEE 1394 användning av en mängd olika enheter samtidigt på samma nätverk. Dessutom behöver användaren inte oroa sig för att ansluta dem felaktigt. Du kan ansluta vad som helst, och i vilken kombination som helst kommer hårdvaran att ta reda på vem som kan "prata" med vem och med vilken hastighet.

Att jobba på sådant höga hastigheter lämpliga kablar krävdes. Kabeln till IEEE 1394 är ett mycket komplext system, och att löda den själv (vilket är möjligt för USB) är knappast möjligt. Data överförs över två tvinnade par, som vart och ett är separat skärmat. För större tillförlitlighet är hela kabeln extra skärmad. Förutom två signalpar har kabeln två strömkärnor som kan försörja vilken extern enhet som helst med en ström på upp till 1,5 A och en spänning på upp till 40 V. I tvärsnitt ser kabeln ut så här:


Den största uppmärksamheten ägnades åt valet av kontakten som IEEE 1394-enheter ska anslutas till, eftersom hur bekvämt det kommer att vara att använda det nya gränssnittet beror till stor del på kontakten. Kontakten ska vara liten, men samtidigt hållbar, ska ge en tillförlitlig anslutning, men samtidigt vara lätt att ansluta och koppla bort, även blint. Alla krav uppfylldes av kontakten som används i Nintendo GameBoy.

Som framgår av bilden är alla kontakter placerade i mitten av kontakten, och på utsidan skyddas de av en tjock kant av hårdplast. Tillförlitligheten av detta system har bevisats av många GameBoys som skoningslöst har slitits isär av barn i olika åldrar.

Men även en sådan avancerad och bekväm kontakt tillfredsställde inte alla. I själva verket, varför behöver vi dra två strömkablar bakom oss där den anslutna enheten har sin egen strömförsörjning. Det finns verkligen inget behov, bestämde utvecklarna och en ny, fyrpolig kontakt föddes. Detta ny kontaktäven om han inte tillhandahöll sådana pålitlig anslutning som en traditionell sexstift, men det sparade utrymme, vilket är viktigt på bärbara enheter. Dessutom kan en kabel utan två extra kärnor som ansvarar för strömförsörjningen göras ännu tunnare och billigare. Tillverkare av kompakta DV-kameror gillade särskilt fyrstiftskontakter, och de kan ses på de flesta av dessa kameror.

Moderkortstillverkare inkluderar stöd för båda kontakterna i sina senaste lösningar:

Hur det hela utvecklades och vad vi har idag

Ingenting är perfekt i världen, och IEEE 1394 var inte perfekt. Därför, efter att ha släppt den första versionen av standarden 1995, vilade utvecklingsteamet inte på sina lagrar, utan fortsatte att arbeta med nästa versioner standard Så redan år 2000 släpptes version 1394a av standarden.

Eller Firewireär en seriell höghastighetsbuss designad för att utbyta digital information mellan en dator och andra elektroniska enheter. Tack vare det låga priset och hög hastighet dataöverföring blir denna buss den nya standard I/O-bussen för en persondator. Dess flexibla arkitektur och peer-to-peer-topologi gör Fireware idealisk för ansluter hårt diskar och enheter för bearbetning av ljud- och videoinformation. Denna buss är också idealisk för realtids multimediaapplikationer. Detta material innehåller en del allmän information om IEEE 1394-standarden.

Varför behöver vi ett nytt gränssnitt?

Först och främst, titta på baksidan av din dator. Där kan du hitta en mängd olika kontakter: en seriell port för ett modem, en skrivarport för en skrivare, kontakter för ett tangentbord, mus och bildskärm, ett SCSI-gränssnitt utformat för att ansluta externa lagringsmedia och skannrar, kontakter för att ansluta ljud och MIDI-enheter, såväl som för enheter som fångar och arbetar med videobilder. Detta överflöd förvirrar användare och skapar en röra av anslutningskablar. Dessutom använder tillverkare av bärbara datorer ofta andra typer av kontakter.

Det nya gränssnittet syftar till att befria användare från denna förvirring och har även ett helt digitalt gränssnitt. Således kan data från CD-skivor och digitala bandspelare överföras utan distorsion, eftersom dessa data för närvarande först omvandlas till en analog signal och sedan digitaliseras tillbaka av den mottagande enheten. Kabel-tv, radiosändningar och video-CD-skivor överför också data i digitalt format.

Digitala enheter genererar stora mängder data som krävs för att överföra multimediainformation av hög kvalitet. Till exempel:

Video av hög kvalitet
Digital data = (30 bilder/sekund) (640 x 480 pels) (24-bitars färg/pel) = 221 Mbps

Video i genomsnittlig kvalitet
Digital data = (15 bilder/sekund) (320 x 240 pels) (16-bitars färg/pel) = 18 Mbps

Ljud av hög kvalitet
Digital data = (44 100 ljudsampel/sek) (16-bitars ljudsampel) (2 ljudkanaler för stereo) = 1,4 Mbps

Genomsnittlig ljudkvalitet
Digital data = (11 050 ljudsampel/sek) (8-bitars ljudsampel) (1 ljudkanal för mono) = 0,1 Mbps

Beteckningen Mbps är megabit per sekund.

För att lösa alla dessa problem och tillhandahålla höghastighetsdataöverföring utvecklades IEEE 1394 (Firewire)-bussen.

IEEE 1394 - höghastighets seriell buss

Standarden stöder bussgenomströmningsnivåer på 100, 200 och 400 Mbit/s. Beroende på kapaciteten hos de anslutna enheterna kan ett par enheter utbyta signaler med 100 Mbps, medan en annan på samma buss kan kommunicera med 400 Mbps. Två nya hastigheter, 800 och 1600 Mbps, som för närvarande erbjuds som en förlängning av standarden, kommer att rullas ut i början av nästa år. Så höga priser bandbredd Seriebussteknik eliminerar praktiskt taget behovet av parallella bussar, vars primära syfte skulle vara att överföra dataströmmar, såsom okomprimerade videosignaler, i datorn.

Firewire uppfyller alltså alla ovanstående krav, inklusive:

  • Digitalt gränssnitt - låter dig överföra data mellan digitala enheter utan att förlora information
  • Liten storlek - en tunn kabel ersätter en hög med skrymmande ledningar
  • Lätt att använda - inga terminatorer, enhets-ID eller förinstallation
  • Hot pluggability - möjligheten att konfigurera om bussen utan att stänga av datorn
  • Låg kostnad för slutanvändare
  • Olika dataöverföringshastigheter - 100, 200 och 400 Mbit/s
  • Flexibel topologi - enhetliga enheter som tillåter olika konfigurationer
  • Hög hastighet - förmågan att bearbeta multimediasignaler i realtid
  • Öppen arkitektur - inget behov av att använda speciell programvara
Tack vare detta kan IEEE 1394-bussen användas med:
  • Datorer
  • Ljud och video multimediaenheter
  • Skrivare och skannrar
  • Hårddiskar, RAID-arrayer
  • Digitala videokameror och videobandspelare

Det enklaste videokonferenssystemet byggt på IEEE 1394-bussen, som använder två 15 fps audio/video-kanaler, kommer att ladda endast en tredjedel av 100Mbps 1394-gränssnittet. Men i princip är det också möjligt att använda ett 400Mbps-gränssnitt för denna uppgift.

IEEE 1394 kabel

De sex FireWire-stiften är anslutna till två ledningar som går till strömförsörjningen och två tvinnade par signalledningar. Varje tvinnat par och hela kabeln är skärmade.

Strömledningar är klassade för upp till 1,5 A ström vid spänningar från 8 till 40 V, vilket håller hela bussen igång även när vissa enheter är avstängda. De gör också strömkablar onödiga i många enheter. För inte så länge sedan utvecklade Sonys ingenjörer en ännu tunnare fyrtrådskabel som inte har strömkablar. (De tänker lägga till sin design till standarden.) Denna så kallade AV-kontakt kommer att länka små enheter, som "löven" till "grenarna" på 1394:an.

Kontaktuttaget har små storlekar. Dess bredd är 1/10 av bredden på SCSI-kontaktuttaget, den har bara sex stift (SCSI har 25 eller 50 kontakter).

Dessutom är 1394-kabeln tunn – ungefär tre gånger tunnare än en SCSI-kabel. Hemligheten här är enkel - det här är trots allt en seriebuss. All data skickas seriellt och inte parallellt över olika ledningar, som SCSI-bussen gör.

Topologi

Standarden 1394 definierar bussens allmänna struktur, såväl som dataöverförings- och mediaseparationsprotokollet. En trädliknande bussstruktur har alltid en "rot"-enhet, från vilken grenar förgrenar sig till logiska "noder" som finns i andra fysiska enheter.

Rotenheten ansvarar för vissa hanteringsfunktioner. Så om det är en PC kan den innehålla en brygga mellan 1394- och PCI-bussarna och göra något ytterligare funktioner för bussledning. Rotenheten bestäms under initieringen och, när den väl har valts, förblir den så under hela tiden den är ansluten till bussen.

Ett 1394-nätverk kan innehålla upp till 63 noder, var och en med sitt eget 6-bitars fysiska identifikationsnummer. Flera nätverk kan kopplas till varandra med broar. Det maximala antalet anslutna bussar i systemet är 1023. I detta fall identifieras varje buss av ett separat 10-bitars nummer. Således tillåter en 16-bitars adress upp till 64449 noder i systemet. Eftersom enhetsadresser är 64 bitar breda och 16 av dem används för att specificera värdar och nätverk, lämnar det 48 bitar för adressutrymmet, maximal storlek vilket är 256 terabyte (256x1024 4 byte) för varje nod.

Designen på däcket är förvånansvärt enkel. Enheter kan ansluta till alla tillgängliga portar (varje enhet har vanligtvis 1 - 3 portar). Bussen tillåter "het" inkoppling - in- eller urkoppling medan strömmen är på. Det finns heller inget behov av några adressväxlar eftersom det inte finns några e-postadresser. Varje gång en nod läggs till eller tas bort från nätverket, omkonfigureras busstopologin automatiskt enligt bussprotokollet.

Det finns dock flera begränsningar. Det får inte finnas fler än 16 nätverkssegment mellan två valfria noder, och anslutningar mellan enheter bör inte skapa loopar. Dessutom, för att bibehålla signalkvaliteten, bör längden på en standardkabel som förbinder två noder inte överstiga 4,5 m.

Protokoll

Gränssnittet tillåter två typer av dataöverföring: synkron och asynkron. Med den asynkrona metoden bekräftar mottagaren mottagandet av data, och synkron överföring garanterar leverans av data i önskad volym, vilket är särskilt viktigt för multimediaapplikationer.

IEEE 1394-protokollet implementerar tre lägre lager referens model International Organization for Standardization OSI: fysisk, länk och nätverk. Dessutom finns en "busschef" till vilken alla tre nivåerna är tillgängliga. Det fysiska lagret tillhandahåller elektriska och mekaniska anslutningar till kontakten, medan andra lager tillhandahåller anslutningar till applikationsprogrammet.

På det fysiska lagret sänds och tas data emot och skiljedomsfunktioner utförs så att alla enheter som är anslutna till Firewire-bussen har lika åtkomsträttigheter.

På datalänknivå säkerställs tillförlitlig dataöverföring genom en fysisk kanal, och två typer av paketleverans betjänas - synkron och asynkron.

På nätverksnivå stöds ett asynkront protokoll för att skriva, läsa och blockera kommandon, vilket säkerställer överföring av data från avsändaren till mottagaren och läsning av mottagen data. Låsning kombinerar funktionerna för skriv-/läskommandon och dirigerar data mellan avsändaren och mottagaren i båda riktningarna.

"Busschefen" tillhandahåller allmän förvaltning dess konfiguration, utför följande åtgärder: optimering av skiljedomssynkronisering, hantering av elektrisk energiförbrukning för enheter anslutna till bussen, tilldelning av en master i slingan, tilldelning av ett synkront kanal-ID och felmeddelande.

För att överföra data begär enheten först kontroll över det fysiska lagret. Vid asynkron överföring innehåller paketet, förutom data, adresserna till avsändaren och mottagaren. Om mottagaren accepterar paketet returneras en bekräftelse till avsändaren. För att förbättra prestandan kan en avsändare göra upp till 64 transaktioner utan att vänta på bearbetning. Om en negativ bekräftelse returneras, återsänds paketet.

Vid synkron överföring begär avsändaren en synkron kanal som har ett frekvensband som uppfyller dess behov. Det synkrona kanal-ID:t skickas tillsammans med paketdata. Mottagaren kontrollerar kanal-ID och accepterar endast data som har ett specifikt ID. Antalet kanaler och bandbredd för varje beror på användarens applikation. Upp till 64 synkrona kanaler kan organiseras.

Bussen är konfigurerad så att ramöverföring börjar under synkroniseringsintervallet. I början av ramen finns en startindikator och sedan följer synkrona kanaler 1, 2 sekventiellt i tiden... Figuren visar en ram med två synkrona kanaler och en asynkron.

Den återstående tiden i ramen används för asynkron överföring. Genom att upprätta ett fönster i ramen för varje synkron kanal garanterar bussen den nödvändiga bandbredden för överföring och framgångsrik leverans av data.

Sammanfattning

Således kommer det inom en snar framtid att vara möjligt att se utgångarna från endast två seriella bussar på datorns bakpanel: USB för låghastighetsapplikationer och Firewire för höghastighetsapplikationer. Dessutom kommer vägen till livet för IEEE 1394-bussen att vara mycket snabbare än för USB. I det här fallet agerar tillverkare av mjukvara och hårdvara tillsammans. Olika typer av enheter med Firewire-bussen finns redan tillgängliga, stöd för denna buss kommer att byggas in operativ system Windows 98 och inom en snar framtid kommer ledande tillverkare av PC-chipset bygga in stöd för denna buss i sina produkter. Så 1998 kommer att bli Firewires år.

Vad är IEEE 1394?

IEEE 1394-gränssnitt

Lite historia. För 10 år sedan, på IFA'95-mässan i Berlin, visade Sony de första industriella modellerna av digitala mini-DV-videokameror. Dessa var kamerorna DCR-XV700 och DCR-XV1000 med ett IEEE 1394 (FireWire) digitalt utgångsgränssnitt och en ny 4-stifts DV Out-kontakt för videoutrustning. Följande år började digitala videokameror att produceras av andra företag, i synnerhet dök Panasonic NV-DS1-modellen upp, utrustad med ett dubbelriktat DV In/Out-gränssnitt och kapabel till digital inspelning av både sin egen filmning och levererade analoga videosignaler till sina egna Video- och S-kontakter -Video för komposit- och separata videosignaler.

Sedan dess har IEEE 1394-gränssnittet, även känt som FireWire och i-Link, vuxit snabbt i popularitet. Det har blivit ett måste för alla digitala videokameror och stöds i de flesta moderna bärbara datorer.

Och det hela började mycket tidigare, när kommittén för standarder för mikrodatorer vid Institute of Electrical and Electronics Engineers (IEEE) beslutade att kombinera befintliga utvecklingar på seriebussen och skapa ett universellt höghastighetsgränssnitt som ger arbete med multimediainformation, lagring enheter, shapers, visualizers och datasynthesizers. Den ledande utvecklaren av ett sådant gränssnitt var Apple, som bestämde sig för att använda det i sina datorer under namnet FireWire. I processen för att utföra detta arbete organiserades ett konsortium med deltagande av Compaq, Matsushita, Philips, Sony, Toshiba, etc., vilket ledde till att IEEE i slutet av 1995 antog motsvarande standard under serienummer 1394. Det är märkligt att i digitalkameror Sony gränssnitt IEEE 1394 dök upp under kallas i-Link före denna händelse.

Vad är IEEE 1394? Det är en standard seriell databussteknik för att ansluta en dator till kringutrustning. Detta ger följande fördelar:

· hög hastighet(100, 200 eller 400 Mb/s för IEEE 1394a; 800 Mb/s för IEEE 1394b, i framtiden 1,6 och 3,2 Gb/s);

· varm support (Brand) anslutningar och frånkopplingar. Automatisk igenkänning av in- och urkoppling av utrustning och möjligheten att göra detta medan datorn är igång, d.v.s. även när bussen är i full drift;

· Möjlighet till kommunikation av utrustning med IEEE 1394I/Ute sinsemellan utan dator. Används i stor utsträckning, till exempel för redigering vid direktdubbning av information från en videokamera till en annan;

· enkel konfiguration och breda möjligheter. Bussen låter dig ansluta upp till 63 enheter utan användning av nav. En enhet kan ha upp till 27 kontakter för anslutning till en dator och andra enheter. Buss stöder Plug-konfiguration

· användning av kablar med liten diameter och miniatyrkontakter(4 eller 6 kontakter). Intressant nog var kontakten lånad från datorspelet Nintendo Gameboy, eftersom den visade hög slitstyrka under förhållanden av skoningslös användning. ;

· paketdataöverföring. Multimediadata, till exempel en video, är uppdelad i paket med intervall mellan dem. Antalet paket bestäms av hur länge filmen skickas, och serviceinformation skickas med intervaller, till exempel "Stopp" eller "Start".

· stöd för asynkron och isokron dataöverföring. Vid asynkron överföring kontrolleras mottagandet av varje datapaket, och om det inte tas emot eller tas emot med korruption, upprepas överföringen och fel korrigeras;

· strömförsörjning till externa enheter via IEEE 1394-kabel.

Komponenter i IEEE 1394. Funktionsdiagram IEEE 1394-gränssnittet visas i figur 1. Nedan visas det fysiska lagret, som översätter sammankopplade multimediasignaler till datorformat eller vice versa, med generering, kodning/avkodning och arbitrering som avgör i vilken ordning IEEE 1394-enheterna som utgör nätverket kan fungera.

Ris. 1 Funktionsdiagram för IEEE 1394-gränssnitt

På nivån bearbetas och genereras datapaket, deras mottagning och överföring organiseras. Dessa nivåer är tillräckliga för isokron dataöverföring, när det inte finns någon kontroll över den information som sänds och tas emot. Med asynkron dataöverföring utförs sådan kontroll på programnivå behandling, där uppgifterna kontrolleras och skickas till konsumenten om inga fel hittas. Annars upprepas procedurerna på den lägre nivån tills felen elimineras. Det fysiska lagret kan innehålla flera FireWire-kontakter, och två valfria IEEE 1394-enheter kan anslutas punkt-till-punkt.

Hur fungerar IEEE 1394? Gränssnittsinitieringsprocessen börjar med en bussåterställning. Detta avgör om det finns en eller flera portar i systemet, och vilka av dem som är anslutna till föräldra- och underordnade enheter. Baserat på dessa data byggs ett träd och nätverkets rotnod bestäms.

Ris. 2. IEEE 1394 nodträd


Varje IEEE 1394-enhet får ett identifikationsnummer och information om de hastigheter med vilka dess direkta grannar kan arbeta. 64-bitars direktadressering används (48 bitar per nod och 16 för bussidentifiering), vilket möjliggör hierarkisk adressering för 63 noder på 1023 bussar. Efter avslutad initiering börjar skiljeförfarandet fungera, vilket säkerställer att driftsenheter inte stör varandra. Därför skickar en anordning som är redo att börja sända först en begäransignal till sin överordnade anordning i trädet. Denna enhet, efter att ha tagit emot begäran, genererar en förbudssignal till sina underordnade enheter och skickar begäran vidare, till sin överordnade enhet, och så vidare, tills begäran når rotenheten. I sin tur genererar rotenheten en signal som tillåter överföring till enheten som vinner tidsarbitreringen, d.v.s. den från vilken begäran först mottogs. I det här fallet väntar enheten som förlorade skiljeförfarandet tills bussen är ledig.

Aktiveringssignalen börjar arbeta på layoutnivån, där datapaket på 512 byte bildas med intervall mellan dem och deras adressering bestäms. 160 bitar i varje paket upptas av rubriken, som inkluderar information om avsändaren och mottagaren av paketen, såväl som den cykliska felkorrigerings-CRC-koden. Dataöverföringen börjar vid mottagandet av ett svar som indikerar att den begärda enheten är redo att ta emot information.

Inom en period på upp till 0,75 ms efter sändning av varje datapaket förväntas en bekräftelse på dess mottagande tas emot i form av ett bytepaket. Detta följs av ett intervall > 1 ms som separerar paket, etc.

Varje enhet i ett IEEE 1394-nätverk ges möjlighet att överföra data en gång under varje tidsperiod, fördelat på alla noder. Om denna tid inte räcker till slutförs överföringen i efterföljande cykler. Detta görs så att överföring av lång information från en av källorna inte kan blockera de andras arbete.

Isokron dataöverföring används till exempel i multimediaapplikationer, när prioritet är minsta fördröjning vid mottagning av information jämfört med eventuell förlust eller fel i någon del av den. I isokront läge sänds data i paket med 125 ms varaktighet, dvs. ju högre hastighet, desto mer data kan överföras under den tiden. Paket följer varandra utan att vänta på bekräftelsebytes. För att identifiera isokrona och asynkrona överföringspaket är gapet mellan dem i det första fallet kortare än i det andra. Detta gör att du kan kombinera och skilja mellan isokrona och asynkrona data i varje session. Upp till 85 % av överföringskanalen är allokerad för isokrona data, av vilka enheten inte kan uppta mer än 65 %.

IEEE1394-gränssnittet tillåter samtidig överföring av information med olika hastigheter från olika enheter, och deras förmåga att kommunicera med vilken hastighet som helst bestäms automatiskt. Detta gör gränssnittet mycket användarvänligt, eftersom användaren inte behöver oroa sig för att ansluta enheterna korrekt.

Kablar och kontakter. För att driva gränssnittet vid höga hastigheter krävdes kablar med en signalutbredningstid som inte översteg tillåtna gränser. För IEEE 1394 är detta 144 ns, varefter ett beslut fattas om att den adresserade enheten inte är tillgänglig. Kabelstrukturen för IEEE 1394 visas i figur 3.

Ris. 3. FireWire kabelsektion

Diametern på denna kabel är 6 mm och den innehåller tre tvinnade par med 0,87 mm diameter ledare: varav en är av typen 22 AWG designad för att leverera 8 till 30 V extern belastning upp till 1,5 A, och de andra två är separat skärmade par 28 AWG-signalledningar. Alla ledare med isolerande fyllning är inneslutna i skärmfolie och en polyvinylkloridmantel. Således har kabeln en komplex design, och det är knappast möjligt att göra den själv.

Ris. 4. IEEE 1394-kontakter (6 stift)
A) block b) kabel

Fotografier av IEEE 1394-kontakter (Fig. 4), lånade från Nintendo Gameboy-datorspelet, visar att kontakterna här är mitt i kontakterna och på sidorna är skyddade från åtkomst av en metallkant och en isolerande packning vid kabeln kontakt. Ett par kablar utformade för att driva externa enheter, till exempel en skanner, krävs inte när du arbetar med digitala videokameror som har egen ström.

Ris. 5. IEEE 1394 i-Link-kabel

För den här applikationen har IEEE 1394 utvecklat enrads 4-stiftskontakter och kablar, varav en, i-Link Sony, visas på bilden (fig. 5). Längden på denna kabel är 96 cm.

IEEE 1394a.Även om FireWire-bussen har visat sig vara väldigt bekväm, fortsätter arbetet med att förbättra den. År 2000 godkändes således standarden IEEE 1394a med tillägg, vars genomförbarhet blev tydlig under drift. Speciellt har en väntetid på 1/3 sekund införts för bussåterställning tills den transienta processen att upprätta en tillförlitlig anslutning eller frånkoppling av enheten är slutförd. Utan detta inträffade ibland inte en utan en hel serie bussåterställningar när en ny enhet anslöts. Praxis har visat att IEEE 1394-enheter kan vara inkompatibla om paket i en serie sänds med i olika hastigheter. IEEE 1394a löser detta problem genom att lägga till en hastighetssignal till varje paket om dess överföringshastighet skiljer sig från det föregående. Det finns också alternativ för att programmässigt inaktivera FireWire-porten, slå på utrustningen och sätta den i standby-läge. Utvecklarna lade stor vikt vid att öka bussens effektivitet genom att minska den totala varaktigheten av de tekniska luckorna som skiljer inspelningspaketen åt. För detta ändamål, enligt IEEE 1394a:

· Upprepade mottagningsbekräftelsebytes förväntas inte, Efter den första detekteringen av en sådan byte fortsätter överföringen utan avbrott.

· Lade till möjligheten att begära flera överföringar en enhet i en cykel, om andra enheter inte behöver bussen.

· Minskad tid för bussåterställning. Enligt IEEE 1394 detekterar den sändande enheten inte återställningssignalen förrän det aktuella datapaketet har sänt klart. Därför bibehölls återställningssignalen under en längre tid än den maximala överföringstiden för ett enda paket. Om återställningssignalen genereras baserat på att arbitreringsanordningen vinner, är detta inte nödvändigt, och IEEE 1394a återställer bussen när anordningens överföring har slutförts.

· Möjlighet att bifoga informationspaket till redan överförda tillhandahålls. På grund av detta uppnås besparingar på skiljedomstid.

IEEE 1394b. Denna standard, vars första version antogs 2002, hänvisar till en seriell buss med ökad bandbredd till 800 Mb/s och 1,6 Gb/s. I framtiden kan genomströmningen öka till 3,2 Gb/s. Grunden för IEEE 1394b-gränssnittet är 8V10V-kodning i enlighet med de algoritmer som används i gigabyte nätverksutrustning och fiberoptiska kommunikationslinjer. Svarstidsmätning har också införts. Införandet av en sådan mätning gjorde det möjligt att bestämma tidpunkten för mottagandet av svaret och öka längden på kablarna. Enligt IEEE1394b kan den nå 100 meter, även om en glasfiberkabel måste användas för detta. Vid användning av optisk plastfiber maximal längd Kabellängden reduceras till 50 meter, och genomströmningen reduceras till 200 Mb/s. Kontakterna har också ändrats: nu är de 9-poliga dubbelradiga kontakter. Typen av kontakter på 9↔4-stiftskabeladaptern visas i figur 6.

Ris. 6. IEEE 1394 kabeladapter

Denna adapter och dess liknande 9↔6 stift säkerställer kabelkompatibilitet för IEEE 1394b-bussen med tidigare versioner av IEEE 1394. Den nya standarden tillhandahåller två dataöverföringslägen: β-läge, när enheter som stöder IEEE 1394b kommunicerar, och läge bakåtkompatibilitet, där det är möjligt att ansluta IEEE 1394a-enheter och maxhastighet reduceras automatiskt till 400 Mb/s.

Andra funktioner i IEEE 1394b inkluderar en ny skiljeförfarande. Om i tidigare standarder arbitreringsfunktionen utfördes av rotenheten, utförs nu denna funktion av vilken enhet som helst som ständigt skickar signaler för överföringsbegäran. Den nya skiljemetoden kallas Bussägare/övervakare/väljare (BOSS). Dess logiska krets visas i diagrammet, och funktionsprincipen är som följer.

Ris. 7. BOSS IEEE 1394b Skiljedom

En enhet som är redo att överföra data skickar kontinuerligt förfrågningssignaler, men dataöverföringen blockeras medan det finns signaler som sänds av en annan enhet på motsvarande buss. Så snart den senare slutar, börjar signaler från den väntande enheten att sändas över denna buss, vilket i sin tur blockerar överföringssätten för andra enheter. Uppenbarligen, för att BOSS skiljedomssystemet ska fungera måste databussen vara dubbelriktad. Därför fungerar sådan skiljedom endast i IEEE 1394b-miljön. Om den inkluderar åtminstone en annan anordning, används den tidigare diskuterade metoden för skiljedom.

USB 2.0 ochIEEE 1394a. Alla moderna datorer är utrustade USB-portar 2.0, som är en höghastighetsversion av de populära USB 1.1-portarna. Huvudomfattningen av USB 2.0 förblir densamma. Detta är anslutningen av kringutrustning som möss, digitalkameror, kortläsare och andra enheter som inte kräver garanterad konstant bandbredd. USB 2.0, liksom USB 1.1, använder 4-stiftskontakter som är helt kompatibla med varandra. Den enda anslutningsskillnaden mellan USB 2.0 och USB 1.1 är att den nya standarden kräver skärmade kablar. Den teoretiska hastigheten över USB 2.0 är 480 Mb/s, den maximala överförda effekten för att driva externa enheter är 2,5 W. Enhetskommunikation USB-standard 2.0 sker enligt Master/Slave-schemat, dvs alla dataflöden styrs av en dator, vilket saktar ner gränssnittet. Kabellängden för att ansluta två enheter via USB 2.0 bör inte överstiga 5 meter. Fördelar med USB 2.0 är vanligare, kompatibelt med USB 1.1 och billigt.

Med utvecklingen av USB 2.0 började enheter dyka upp på marknaden, till exempel, extern hård enheter med dubbla gränssnitt eller samma modeller med olika gränssnitt. Det verkar som att de borde fungera snabbare över USB 2.0 än över IEEE 1394a, men i praktiken, allt annat lika, är prestanda över FireWire 400 bättre, och nästan utan problem med hot-plugging. Förmodligen ny USB-version kommer att fungera mer stabilt, men IEEE 1394a kommer att vara något föråldrad vid den tiden och kommer att ersättas av IEEE 1394b. Dessutom är USB 2.0-arkitekturen inte jämförbar i flexibilitet med IEEE 1394, särskilt när man arbetar med multimediautrustning.

Således, USB-buss 2.0 är effektiv för datortillbehör, krav på låg hastighet och medelbandbredd. Det är billigt och tillräckligt kraftfullt för de flesta uppgifter. FireWire-bussen är mycket mer flexibel och passar utmärkt för multimedia. Digitala videokameror och tv-apparater, DVD-spelare och spelkonsoler – allt detta, med FireWire-portar, kan enkelt kopplas till varandra, och inte nödvändigtvis runt datorn.







2024 gtavrl.ru.