Contacte

Ce este un controler gazdă extensibil

Computerul gazdă comunică cu dispozitivele prin intermediul controlerului. Gazda are următoarele atribuții:

    detectarea conectării și deconectării dispozitivelor USB;

    controlul fluxului de manipulare între dispozitive și gazdă;

    gestionarea fluxului de date;

    colectarea statisticilor;

    asigurarea salvării energiei conectate PU.

    Controlerul de sistem controlează interacțiunea dintre dispozitivele și software-ul lor care operează pe computerul gazdă, pentru coordonare:

    numerotarea și configurarea dispozitivelor;

    transmisie de date izocronice;

    transmisia de date asincrone;

    managementul energiei;

    informații despre gestionarea informațiilor și informații cu autobuzul.

Curs 15. Protocolul de lucru pentru anvelope USB.

Informații generale USB-BUS

Orice computer lansat în În ultima vremeVeți detecta cu siguranță pe panoul frontal sau pe peretele din spate al conectorului USB. Autobuzul USB (autobuzul serial universal) a fost inițial conceput pentru a asigura o conexiune ușoară a computerului la liniile telefonice și extensiile numărului de porturi. Prima versiune a standardului (versiunea 1.0) a fost lansată în ianuarie 1996. Acum, versiunea 1.1 este utilizată în principal. Standard USB. 1.1 Aceasta îndeplinește pe deplin toate cerințele atunci când lucrează cu dispozitive cu viteză redusă, cum ar fi șoareci și tastaturi, și chiar și cu dispozitivele care rulează la viteze medii, cum ar fi adaptoarele Ethernet (10 Mbit / SEC) sau dispozitivele electronice de consum (cum ar fi camere digitale și playerele MP3) care sunt trimise la doar câteva megaocteți de date. Dar dacă trebuie să trimiteți cantități mari de informații pe dispozitivul periferic sau în direcția opusă (exemple de hard disk, camere video de înaltă rezoluție sau simultan utilizând mai multe adaptoare de rețea ale standardului 100Baset), apoi viteza furnizată de USB 1.1 este nu e suficient. Prin urmare, în 1999, a fost elaborată versiunea 2.0 a standardului USB, oferind cursuri mai mari de schimb de date.

Computerele moderne au de obicei un controler de anvelope USB instalat pe placa de bază. Pentru versiunea USB 1.1, au fost dezvoltate două tipuri de astfel de controlori, care au interfața cu dispozitivele USB: OHCI (interfață de controler gazdă deschisă) a Compaq și UHCI (interfață universală de controler gazdă). Ambele tipuri au aproximativ aceleași caracteristici și dispozitive USB funcționează cu ambele tipuri de controlere. Hardware-ul controlorilor UHCI este mai ușor, ceea ce înseamnă că sunt mai ieftini, dar necesită mai multe drivere complexe, ceea ce crește sarcina pe procesor. USB Standard 2.0 utilizează o opțiune de interfață îmbunătățită - EHCI (interfață a controlerului gazdă îmbunătățită).

Standardul USB oferă o ierarhie strictă a dispozitivelor controlate de gazda principală și utilizând protocolul principal / slave pentru a controla dispozitivele conectate. La un conector USB poate fi conectat secvențial la 127 de dispozitive. Dar este imposibil să conectați direct un dispozitiv la altul, deoarece puterea unor astfel de dispozitive este efectuată de-a lungul aceluiași autobuz. Prin urmare, pentru conectarea dispozitivelor suplimentare, sunt utilizate hub-uri speciale, asigurând furnizarea acestor dispozitive cu energia necesară. Ca rezultat, dispozitivul USB formează un copac, fiecare nu este vertexul final al căruia este un hub. Deoarece orice schimb de date este inițiat numai de către gazdă, iar dispozitivele periferice nu pot începe interacțiunea, este exclusă posibilitatea coliziunilor, ca urmare a reducerii costului dispozitivelor. Adevărat, o astfel de soluție duce la o anumită scădere a productivității. Ca rezultat, versiunea dispozitivului USB 1.1 poate funcționa în două moduri: așa-numita viteză redusă, oferind rata de transfer de date la 1,5 Mbps și viteza maximă, în care rata de transfer de date poate fi de 12 Mbps. Aceasta este doar limita teoretică, iar performanța anvelopei chiar și în condiții ideale nu depășește 8,5 Mbps, iar în medie este de aproximativ 2 Mbps.

Interfața EHCI utilizată în dispozitivele Version 2 oferă un mod de mare viteză pentru care rata de transfer de date poate ajunge la 480 Mbps. Pentru ca dispozitivele USB să comunice cu această viteză și controlerul gazdă și dispozitivul în sine trebuie să respecte standardul USB 2.0 și să furnizeze funcționarea cu interfața EHCI. Cu toate acestea, controlorii gazdă 2.0 lucrează cu succes cu dispozitive versiunea 1.1. Și dimpotrivă, este foarte posibil să se conecteze dispozitive USB 2.0 la versiunea gazdă (și la hub-uri) a USB 1.1 și vor funcționa perfect, dar la o viteză de cel mult 12 și nu 480 Mbps.

În prezent, au fost dezvoltate o gamă largă de dispozitive conectate prin autobuzul USB. Acestea sunt tablouri, șoareci, joystick-uri, console de jocuri, scanere, modemuri, imprimante, camere digitale, dispozitive de stocare a informațiilor - unități flexibile și hard disk, unități ZIP, LS120 și CD-ROM. O clasă foarte promițătoare și interesantă a acestor dispozitive formează stivuitori bazați pe memoria flash.

Mediu fizic

Autobuzul USB, are o lățime de bandă de 1,5 sau 12 Mbps.

Cablul USB constă din 4 conductori:

Două fire formează o pereche VITA utilizată în transmisii de date diferențiale;

Restul de două sunt linii de alimente și de împământare a dispozitivelor care nu au propria sursă de alimentare 5 în tensiune constantă.

Standard USB presupune două vizualizări ale cablului și două opțiuni pentru conectori. Cabluri de mare viteză (de mare viteză) pentru comunicarea de 12MB pe secundă sunt mai bine protejate decât înlocuitorii lor mai puțin costisitoare de 1,5 MB. Fiecare cablu are un conector "A" pe o parte și "B" la altul. Figura 1 arată cum conectorii "A" sunt conectați la ieșire și "în" la jos. Astfel, două tipuri sunt diferite fizic și este imposibil să le conectați incorect.

Figura 1. USB Topologo "Conexiune Star"

Bus USB vă permite să conectați până la 127 de dispozitive. Utilizarea unui astfel de dispozitive este posibilă cu cascadă în mai multe niveluri. Explică vizual următorul desen:

Aceasta este prima caracteristică arhitecturală a anvelopei USB: topologia sa logică este o stea de nivel multi-nivel.

Nivelul superior este hubul rădăcină, care este de obicei aliniat la controlerul USB. Dacă funcțiile controlerului sunt clare, concentratorul este un dispozitiv pentru interfețele periferice nu este familiar. În acest caz, funcția sa este aceeași cu cea a concentratoarelor de rețea de date - adăugând porturi noi pentru a conecta un număr mai mare de dispozitive. Nimic mai mult decât un splitter.

Fie dispozitive sau alte hub-uri pot fi conectate la concentratorul de rădăcini, pentru a crește numărul de porturi disponibile. Este permisă organizarea până la cinci nivele. Hubul poate fi efectuat ca un dispozitiv separat sau poate fi construit în altele. Din acest punct de vedere, dispozitivul conectat la USB poate fi împărțit în dispozitive de funcții, adică Cei care efectuează o anumită funcție și nu iau sarcini suplimentare (de exemplu, șoareci) dispozitive Hub în formă pură care efectuează numai funcția ramurii și dispozitive combinate (combinate), adică Având în compoziția sa un hub care extinde porturile de porturi și vă permite să conectați alte dispozitive (ca exemple cele mai frecvente, puteți apela monitoare care ne permit să configuram parametrii și, de obicei, având câteva porturi suplimentare, pentru a conecta alte dispozitive sau tastatură, cu conectori pentru conectarea altor dispozitive sau șoareci de conexiuni de la tastatură).

Este necesar să se acorde atenție faptului că la al cincilea nivel, dispozitivul de combinare nu poate fi utilizat. În plus, merită menționat gazda, care este mai degrabă un complex de software și hardware, mai degrabă decât doar un dispozitiv.

Topologie fizică Tire - Star

Acest lucru este explicat prin faptul că fiecare concentrator oferă transparent conexiunii gazdă la dispozitiv.

Relație de software client și relații USB: Spre deosebire de interfețele vechi obișnuite, în cazul în care interacțiunea ar putea (și nevoie), referindu-se la dispozitivul pentru adresele specifice de memorie fizică și porturile porturilor de ieșire, USB asigură interacțiunea interfeței software și numai că permite clientului Software-ul pentru a exista în separarea de la un dispozitiv specific conectat la magistrală și configurația acesteia. Pentru un program de clienți USB, acesta este doar un set de funcții.

Gazdă, după cum sa menționat deja complexul de software și hardware.

Responsabil de gazdă include:

    Urmărirea dispozitivelor de conectare și dezactivare

    Organizarea fluxurilor de control între dispozitivul USB și gazdă.

    Organizarea fluxurilor de date între dispozitivul USB și gazdă

    Controlul stării extreme și menținerea statisticilor de activitate

    Furnizarea de dispozitive de alimentare cu energie conectate

Hardware-ul este un controler gazdă - un intermediar între gazde și dispozitive de anvelope.

Funcțiile software (enumerarea dispozitivelor și configurației, gestionarea energiei, procesele de transmisie, dispozitivele din autobuz și anvelopă în sine) sunt atribuite sistemului de operare. Primul sistem de operare popular în care uSB suport A fost implementat integral prin ediția Windows 98 A doua ediție. Unele dispozitive pot fi funcționale și sub versiuni anterioare (98 fără SE, ocazional 95), dar nu toate și nu întotdeauna.

Concentrator (hub). Permite mai multe conexiuni la un port, creând porturi suplimentare. Fiecare butuc are un port din amonte, conceput pentru a se conecta la portul liber disponibil și oarecum descrescătoare la care sau din nou hub-uri sau dispozitive de capăt sau dispozitive combinate pot fi conectate.

Hub-ul trebuie să monitorizeze conexiunea și deconectarea dispozitivelor, notificând gazda modificărilor, controlați puterea porturilor. În concentratorul standard USB 2.0, puteți selecta 3 blocuri de funcții: controler, repetor, tranzacție de tranzacție. Controlerul este responsabil pentru conexiunile cu gazda. Conceptul de repetor din USB este oarecum diferit de datele primite în rețelele de date. Datoria lui este de a conecta intrarea și un fel de necesar din porturile de ieșire. Tranzacția tranzacțională a apărut numai în USB 2.0 și este necesară, ca întotdeauna, pentru considerentele de compatibilitate cu versiunile anterioare. Pe scurt, esența sa este de a furniza viteza maximă de conectare cu gazda. Conectat la dispozitivul vechi de mare viteză (USB 2.0) vechi (USB 1.1), ar fi consumat o parte semnificativă a timpului și, prin urmare, utilă lățime de bandă Anvelope, conducând un schimb cu o gazdă la viteză mică (de ce se întâmplă acest lucru, vom afla mai târziu atunci când luăm în considerare mecanismul dispozitivului gazdă schimbătoare de date). Ca tampoane de tranzacție la tranzacții de tranzacție provenind de la un port lent și apoi la o viteză maximă transmite gazda sau tamponează cadrul primit la viteza maximă de la gazdă, transmiterea acestuia la dispozitiv la o viteză mai mică pentru aceasta. În plus față de tranzacțiile de ramificare și radiodifuziune, hub-ul ar trebui să configureze porturile și să urmărească funcționarea corectă a dispozitivelor conectate la acestea. De asemenea, trebuie spus că atunci când se utilizează împreună concentratori vechi și noi, este posibilă crearea non-optimă în ceea ce privește performanța configurației. Pentru a evita crearea de blocaje în lanțul dvs., conectați dispozitivele cu viteză redusă la hub-urile cu viteză redusă, ceea ce, la rândul său, efectuați ultimele niveluri de ramură și nu le conectați la mijlocul lanțului de mare viteză.


Instalați produsele opționale - Drivedoc (Solvusoft) | | |

Această pagină conține informații despre instalarea celor mai recente descărcări de drivere a driverului gazdă USB utilizând instrumentul de actualizare a driverelor de controler USB.

Driverele de controler gazdă USB sunt programe mici care permit echipamentelor de controler USB pentru a interacționa cu software-ul sistem de operare. Actualizarea constantă a software-ului de controler USB a gazdei împiedică eșecurile și maximizează performanța echipamentului și a sistemului. Utilizarea driverelor de controler gazdă învechite sau deteriorate pot duce la erori de sistem., eșecurile și eșecul echipamentului sau al calculatorului. Instalarea dracului Șoferi greșit Controlerul gazdă USB poate face aceste probleme mai serios.

Bacsis: Dacă nu știți cum să actualizați driverele dispozitivelor de controler gazdă USB, vă recomandăm să descărcați programul de service al driverelor de controler USB. Acest instrument va descărca și actualiza automat versiuni drepte Controlerul gazdei USB, care vă protejează de la instalarea driverelor de controler USB incorecte.


Despre autor: Jay Hemater este președintele și directorul general al Solvusoft Corporation - o companie globală angajată în software și se concentrează pe programe de servicii inovatoare. El toată viața lui era pasionat de computere și iubește totul legat de computere, software și tehnologii noi.

2.0. Interfața sa - EHCI este descrisă în documentul "Specificația interfeței gazdă îmbunătățită pentru autobuzul serial universal", versiunea 1.0 publicată în martie 2002. Controlerul EHC este conceput pentru a lucra cu dispozitive numai la o viteză mare de legătură la butucul de rădăcină, în timp ce dispozitivele FS / LS care sunt conectate prin intermediul hubului intermediar USB 2.0, controlerul EHC efectuează tranzacții divizate. Cu acele porturi ale butucului de rădăcină la care dispozitivele și dispozitivele USB 1.x sunt conectate direct, funcționează controlerul însoțitorului (UHC sau OHC). Porturile de comutare și controlerele efectuează logica de rutare care face parte din cârligul de root USB 2.0. Detectarea conexiunii dispozitivelor la butucul rădăcinii este angajată în driverul EHC prin intermediul registrelor EHC. După ce ați găsit o conexiune a dispozitivului FS / LS, șoferul va recombocaliza acest port pe controlerul companionului și, din acel moment, portul este condus de un companion și unitatea sa. Companionul și șoferul său nu pot "să știe" că lucrează ca parte a controlerului USB 2.0. Pentru porturile rămase EHC, un hub extern este emulat - prin manipularea porturilor utilizând camere standard USB.

Controlerul EHC are registre de configurare PCI, registre de operare I / O afișate în spațiul de memorie (memorie mapată I / O) și utilizează zona memorie de sistem Pentru a interacționa cu șoferul. Din punctul de vedere al interacțiunii cu driverul EHC, UHC seamănă cu UHC, dar rata de transmisie ridicată (480 Mbps) a cerut îmbunătățirea inteligenței controlerului pentru a reduce numărul de tranzacții de schimb între șofer, memorie și controlor. Multe idei stabilite în OHC sunt privite în EHC. Structurile de date sunt concepute pentru a minimiza apelurile de memorie. Toate structurile ar trebui să fie plasate în memorie, astfel încât acestea să nu treacă granițele paginilor de memorie cu patru kilobulate - acest lucru vă permite să optimizați coexistența OHC cu o memorie virtuală bazată pe redirecționarea paginii aplicată în procesoarele X86.

În EHCI, din punctul de vedere al planificării tranzacțiilor, tranzacțiile sunt împărțite în periodice (izocronice și întreruperi) și asincrone (transmisie și matrice de control). Fiecare dintre aceste două planuri este implementat în propriul mod și poate fi activat în funcțiune și oprit. Controlerul începe ca fiecare microchard să efectueze unelte periodice (dacă este permis), timpul rămâne din ele alocate pentru a efectua unelte asincrone (în mod similar cu UHC). Pentru a vă asigura că microchardul rămâne pentru programe asincrone, șoferul răspunde. Controlerul gazdă este hardware monitorizat numai că tranzacțiile nu traversează limita Microchard: dacă controlerul "vede" că tranzacția nu poate avea timp să completeze până la momentul EOF1, nu va porni. În același timp, reasigurarea este posibilă, deoarece timpul exact al tranzacției nu este cunoscut în avans (nu se știe cât de mult trebuie să introduceți un pic și ce întârzieri în cabluri, hub-uri și un dispozitiv).

Pentru toate uneltele cu livrare garantată (întreruperi, control și matrice), se utilizează structuri de date QTD, care descriu cozi tampon care oferă transmisii automate de comandă. În EHC, transmisia este înțeleasă ca o secvență de același tip de tranzacții; Doar dimensiunea totală a blocurilor transmise (20 kb) este limitată. Planurile de tranzacții de gestionare a gazdei ca o secvență de două sau trei transmisii (în termeni de EHC). Driverul poate dinamic (în timpul executării planului) Adăugați noi programe în coadă. Controlerul hardware acceptă semnalizarea de sfârșit de blocuri prin pachete scurte: primirea unui pachet scurt, controlerul poate merge pe o secvență alternativă de transmisie pentru această coadă (adică o tranziție condiționată este organizată). Structurile de date speciale sunt utilizate pentru uneltele izocronice (descriptorii de tranzacții ITD - Isochronous pentru HS și Sitd - Descriptori isochronoustransfer de tranzacții divizate pentru a împărți tranzacțiile cu dispozitivele FS). Pentru unelte izocronice de pe HS, mânerul poate descrie transmisia de până la 24 kB de date, pe FS la 1023 octeți.

Baza planificării tranzacțiilor periodice este lista cadrelor (lista de cadre) la 1024, 512 sau 256 intrări. Adresa de bază și lungimea listei sunt instalate programatic, elementul actual al listei este selectat de contorul de cadru. Execuția planului începe în fiecare microchard, astfel încât fiecare element curent al listei este selectat de 8 ori la rând, după care controlerul trece la următorul element. Elementul de listă poate indica titlul ITD, Sitd sau Queue Titlu (QH) referitor la întreruperi. În plus, poate indica structuri speciale (FSTN) utilizate pentru a asigura corectitudinea locului de muncă al tranzacțiilor împărțite în apropierea graniței cadrelor. În elementul de listă, în plus față de indicatorul în sine, există un identificator de tip structură (tip), care se referă la un indicator (ITD, locat, QH sau FSTN), precum și un semn al unui stupnitator (T). Toate descriptorii de viteză izocronică și anteturile de coadă au un indicator "orizontal" la următoarea structură, în care este specificată, de asemenea, tipul (tipul) acestei structuri și protestatul dopului terminatorului (t). Lanțul descriptorii și anteturile de coadă, pornind de la lista de cadre, trebuie să se încheie cu un descriptor (sau antet), care are un semn al unui dop terminator (T). Numai după efectuarea unui astfel de mâner (sau titlu), controlerul continuă să execute transmisii asincrone.

Pentru a simplifica planificarea tranzacțiilor împărțite (nu ar trebui să traverseze granița cadru), controlerul organizează schimbarea de fază dintre cadrele de autobuz (bframe), care sunt vizibile pentru hub-urile și dispozitivele pentru schimbarea numărului cadru în marcatorul SOF și Cadrele gazdă (hframe), care operează șoferul atunci când construiesc planuri și pentru care tranzacțiile periodice sunt selectate din lista cadrelor. Ramele de autobuz sunt întârziate în spatele cadrelor gazdă pe microchard, explicații mai detaliate (dar nu motive) sunt prezentate în specificația EHCI. Pentru a menține tranzacțiile periodice împărțite, există o structură specială (nod) FSTN, care conține o pereche de indicatori: normal, oferind o tranziție la următoarea structură (ITD, locație, QH sau FSTN) și invers, care poate fi indicată numai Titlul coadă. Nuanțele de planificare a tranzacțiilor uzate nu vor conduce aici, vă puteți familiariza cu ei în specificația EHCI.

Baza planificării tranzacțiilor nereperidice este o listă asincronă (listă asincronă), care este un inel din anteturile de coadă. În OHC, înregistrarea AsynClistaddR indică elementul de listă curente; Controlerul începe să dezvolte acest element, după ce a finalizat operarea de unelte periodice în acest microchard (sau imediat, dacă transmisiile periodice sunt interzise sau absente). Apoi, după cum funcționează cozile, controlerul intră în registrul de adrese al indicatorilor ulteriori. Astfel, întreținerea tuturor cozilor asincrone este efectuată într-un cerc, fără a se lega de personalul specific. Controlerul nu mai ocupă o listă asincronă atunci când detectează devastarea tuturor cozilor sale, intervenția conducătorului auto este necesară pentru a relua by-pass. Întreținerea serviciului de disciplină normală este dezvoltarea unei tranzacții de autobuz din coada de așteptare, după care controlorul trece la coada următoare. Posibil I. regim special Modul de parcare asincronă) în care controlorul este permis să efectueze un contract pentru mai multe tranzacții de la o coadă. Modul de parcare este distribuit pe toate tipurile de viteze asincrone de mare viteză.

Descriptorul ITD descrie transmisia izocronică, care poate fi efectuată în etapele 1.-8 (micropharderi în care are loc accesul la acest descriptor). Fiecare etapă din descriptor corespunde înregistrării sale (înregistrare tranzacției), care controlează execuția și reflectarea stării tranzacției (activitate, eroare de execuție, necesitatea de a întrerupe execuția, lungimea reală) și care conține un indicator la tamponul de date. Fiecare etapă poate fi efectuată pentru 1-3 tranzacții în microchard (punctul poate fi bandă largă). Descriptorul conține, de asemenea, o descriere a punctului final: adresa și punctul, direcția, dimensiunea ambalajului. Controlerul generează tranzacții bazate pe dimensiune specificată Pachet. Tampoanele de date pot fi amplasate în diferite pagini de memorie fizică, dar logic, trebuie să fie o zonă continuă în memorie virtuala. Pentru stocarea datelor (maximum 8 etape de trei tranzacții de 1024 octeți - 24.576 octeți), pot fi necesare până la 7 pagini de 4 kbs; Pentru toate aceste pagini din descriptor există indicatori adecvați.

Descriptorul Sitd descrie o tranzacție divizată. Partea de adresă conține numărul și direcția punctului final, adresa dispozitivului, precum și adresa și numărul portului Hub, care traduce tranzacția. În descriptor există câmpuri de măști de mușcătură μframe_s-mască și mască μframe_c, care determină ce microcratici din acest cadru trebuie să fie efectuate de tranzacțiile SS și CS, respectiv. Controlorul din descriptor nota microchard-uri, în care au avut loc tranzacții CS. Descriptorul are un set normal de control al câmpurilor și reflectând starea de tranzacție (activitate, eroare de execuție, necesitatea de a întrerupe execuția, lungimea reală). În plus, Sitd are câmpuri specifice care controlează faza de flux (SS sau CS), precum și o caracteristică a unei erori specifice a tranzacției divizate - o trecere de microcker în care trebuie efectuată următoarea tranzacție CS. Acest Skip se poate întâmpla dacă controlerul nu eliberează tranzacția curentă din cauza lipsei de timp în microchard. Unitatea de date transmisă (până la 1023 de octeți) poate fi localizată într-una sau două pagini de memorie fizică, iar în descriptor sunt indicatoare necesare pentru ele. Sitd are un element specific - indicatorul din spate (pointerul din spate) pe ședința cadrului anterior, care este utilizat la planificarea în tranzacțiile din cadru care se încheie aproape de marginea cadrului.

Elementul de operare al tranzitului QTD descrie o transmisie de până la 20.480 octeți. Descriptorul este legat de antetul de coadă (QH); Acesta conține o pereche de pointeri la următoarele elemente ale acestei coadă:

  • principalul indicând următorul descriptor de transmisie pe care doriți să îl executați după finalizarea normală a celui actual;
  • alternativă, indicând descriptorul de transmisie, care este necesar dacă transmisia curentă este completă de pachetul scurt

Descriptorul are un set normal de câmpuri de control și reflectând starea tranzacției: activitatea, execuția erorii, necesitatea de a întrerupe execuția utilizată de marker (în, out sau de configurare). Descriptorul indică lungimea totală de transmisie. Tamponul de date pentru transmisie trebuie amplasat într-o zonă de memorie virtuală continuă; Pentru a descrie tamponul de lungime maximă, există o serie de cinci pointeri de pagini fizice.

Antetul de coadă QH este creat pentru fiecare punct final delard configurat al fiecărui dispozitiv USB. Anteturile de coadă ale punctelor finale nereperidice sunt legate între ele orizontal în inel, pentru care în fiecare antet există un indicator adecvat. Antetul de coadă are o descriere exhaustivă a punctului final: numărul și punctul de direcție, dimensiune maximă Pachetul, numărul de pachete din microchard (pentru punctele de bandă largă), adresa dispozitivului, viteza acestuia. Pentru dispozitivele FS / LS, există, de asemenea, informații pentru efectuarea tranzacțiilor împărțite: un număr de hub și un port care efectuează tranzacții împărțite, măști de microchard pentru tranzacțiile SS și CS. În antetul coadă există o zonă de suprapunere în care controlerul plasează câmpurile QTD de care aveți nevoie de tranzacția curentă. Promovarea este efectuată de către controler, plasând următorul QTD în suprapunere după finalizarea testului anterior.

Controlerul EHC generează întreruperi pentru diferite categorii de evenimente, iar categoriile pot fi deghizate selectiv:

  • la finalizarea transferului, în descriptorul căruia există o caracteristică adecvată, precum și primirea unui pachet scurt. Aceste întreruperi pot fi reținute la un anumit prag de software specificat, care reduce frecvența solicitărilor de întrerupere din EHC. Fără întârziere, frecvența cererilor poate ajunge la frecvențele microchard-ului (pentru IBM PC este prea des); cu întârziere, ei nu vor putea să apară mai repede decât valoarea pragului;
  • de către evenimentul controlerului gazdă: cifra de afaceri de către lista cadrelor, schimbând starea sau supraîncărcarea porturilor Hub, rezoluția specială a programului se schimbă în secvența anteturilor de coadă, prin eroare Conexiunea sistemului (depășire sau suprascrieți tamponul FIFO Datorită BUSBOOT PCI).

Configurarea transmisiilor în coadă, precum și includerea transmisiilor izocronice la plan, precum și adăugarea / ștergerea coziului pot fi efectuate dinamic de către șofer în timpul funcționării controlerului gazdă. Cu toate acestea, pentru a păstra integritatea și conectarea structurilor, programul trebuie să respecte anumite reguli de interacțiune pentru a nu încerca să schimbe structurile care acest moment Gestionate de controler. Pentru această sincronizare, controlerul gazdă utilizează caracteristici speciale în registrul său de stare și în structurile de date. Pentru "recoltare" - căutarea programelor de evacuare - șoferul trebuie privit în toate descriptorii de viteze. Semne de activitate. Un astfel de serviciu ca o coadă de transmisii executate (ca în OHC), controlerul EHC nu oferă. Dar, în comparație cu UHC, desigur, domeniul de aplicare al driverului EHC este redus, deoarece acest controler funcționează cu transmisii, nu cu tranzacții. Cu toate acestea, driverul EHC apare o altă tranzacție despărțită de sarcini.



Ți-a plăcut articolul? Împărtășește-l