Menu English Ukrainian Russo Casa

Libreria tecnica gratuita per hobbisti e professionisti Libreria tecnica gratuita


ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA
Libreria gratuita / Schemi di dispositivi radioelettronici ed elettrici

Bus USB e FireWire. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Libreria tecnica gratuita

Enciclopedia della radioelettronica e dell'elettrotecnica / Компьютеры

Commenti sull'articolo Commenti sull'articolo

USB (Universal Serial Bus - Universal Serial Bus) è un'estensione standard del settore dell'architettura PC, incentrata sull'integrazione con dispositivi di telefonia e elettronica di consumo. La versione 1.0 è stata pubblicata nel gennaio 1996.

L'architettura USB è definita dai seguenti criteri:

  • Espansione della periferica PC facilmente implementabile
  • Soluzione a basso costo che supporta velocità di trasferimento fino a 12 Mbps
  • Supporto completo per la trasmissione in tempo reale di dati audio e video (compressi).
  • Flessibilità di un protocollo per la combinazione di dati isocroni e messaggi asincroni
  • Integrazione con i dispositivi fabbricati. Disponibilità in PC di tutte le configurazioni e dimensioni
  • Fornire un'interfaccia standard in grado di conquistare rapidamente il mercato
  • Creazione di nuove classi di dispositivi che estendono il PC

Dal punto di vista dell'utente finale, le seguenti caratteristiche dell'USB sono interessanti:

  • Facilità di cablaggio e connessioni
  • Nascondere i dettagli della connessione elettrica all'utente finale
  • PU autoidentificanti, comunicazione automatica dei dispositivi con driver e configurazione
  • Capacità di connettersi e configurare dinamicamente PU

Dalla metà del 1996, i PC sono stati prodotti con un controller USB integrato implementato dal chipset. Dovrebbero apparire modem, tastiere, scanner, altoparlanti e altri dispositivi di input/output abilitati per USB, oltre a monitor con adattatori USB, che svolgeranno il ruolo di hub per il collegamento di altri dispositivi.

1.1. Struttura USB

USB consente lo scambio simultaneo di dati tra computer ospite e molti dispositivi periferici (PU). La distribuzione della larghezza di banda del bus tra le PU è pianificata dall'host e da esso implementata mediante l'invio di token. Il bus consente di connettere, configurare, utilizzare e disconnettere i dispositivi mentre l'host ei dispositivi stessi sono in esecuzione.

Quella che segue è una traduzione dell'autore dei termini dalla "Universal Serial Bus Specification. Revision IOJanuary 15, 1996" pubblicata da Compaq, DEC, IBM, Intel, Microsoft, NEC e Northern Telecom. Informazioni più dettagliate e aggiornate sono disponibili su usb.org.

Dispositivi Le USB possono essere hub, funzioni o una combinazione di entrambi. centro (Hub) fornisce ulteriori punti di connessione per i dispositivi sul bus. Funzioni USB fornisce funzionalità aggiuntive al sistema, come connessione ISDN, joystick digitale, altoparlanti con interfaccia digitale, ecc. Il dispositivo USB deve disporre di un'interfaccia USB che supporti completamente il protocollo USB, esegua operazioni standard (configurazione e ripristino) e fornisca informazioni che descrivono dispositivo. Molti dispositivi collegati a USB hanno sia un hub che funzioni. Il funzionamento dell'intero sistema USB è controllato da controllore host (controllore host), che è il sottosistema hardware e software del computer host.

Connessione fisica dispositivi viene eseguito secondo la topologia di un multilivello le stelle. Il centro di ogni stella è centro, ogni segmento di cavo collega due punti hub a un altro hub o funzione. Il sistema ha una (e una sola) controllore ospite, situato al vertice della piramide di dispositivi e hub. Il controller host si integra con hub principale (hub radice), fornendo uno o più punti di connessione porti. Il controller USB incluso nei chipset di solito ha un hub a due porte integrato. Logicamente, un dispositivo connesso a qualsiasi hub USB e configurato (vedi sotto) può essere considerato come connesso direttamente al controller host.

funzioni sono dispositivi in ​​grado di trasmettere o ricevere dati o informazioni di controllo su un bus. In genere, le funzioni sono PU separate con un cavo collegato alla porta dell'hub. Fisicamente, in un caso possono esserci diverse funzioni con un hub integrato che fornisce la loro connessione a una porta. Questi dispositivi host combinati sono hub con dispositivi funzionali connessi in modo permanente.

Ciascuna funzione fornisce informazioni sulla configurazione che descrivono le capacità della PU ei requisiti delle risorse. La funzione deve essere configurata dall'host prima di poter essere utilizzata, deve essere allocata una larghezza di banda del canale e devono essere selezionate le opzioni di configurazione.

Esempi di funzioni sono:

Puntatori mouse, tablet, penna luminosa. Dispositivi di input tastiera o scanner.

Dispositivo di uscita stampante, altoparlanti (digitali).

Adattatore telefonico ISDN

centro un elemento chiave del sistema RnP nell'architettura USB. L'hub è un hub di cavo. Vengono chiamati i punti di connessione porti centro. Ogni hub trasforma un punto di connessione in molti. L'architettura consente la connessione di più hub.

Ogni hub ne ha uno porto a monte progettato per connettersi a un host o hub di livello superiore. Il resto delle porte lo sono a valle (porte a valle), progettato per collegare funzioni o hub di livello inferiore. L'hub può riconoscere la connessione dei dispositivi alle porte o la disconnessione da esse e gestire l'alimentazione ai loro segmenti. Ogni porta può essere abilitata o disabilitata e configurata per velocità di trasmissione complete o limitate. L'hub fornisce l'isolamento dei segmenti a bassa velocità da quelli ad alta velocità.

Gli hub possono controllare l'alimentazione alle porte downstream; prevede di fissare un limite alla corrente consumata da ciascuna porta.

Bus USB e FireWire

Sistema USB è suddiviso in tre livelli con determinate regole di interazione. Il dispositivo USB contiene una parte interfaccia, una parte dispositivo e una parte funzionale. L'host è inoltre suddiviso in tre parti: interfaccia, sistema e software del dispositivo. Ogni parte è responsabile solo di una certa gamma di compiti, l'interazione logica e reale tra di loro è illustrata in Fig. 7.1.

La struttura in esame comprende i seguenti elementi:

Dispositivo USB fisico un dispositivo sul bus che svolge funzioni di interesse per l'utente finale.

SW cliente Software specifico del dispositivo in esecuzione su un computer host. Può essere parte integrante del sistema operativo o un prodotto speciale.

SW di sistema USB Supporto del sistema USB indipendente da dispositivi specifici e software client.

Controller host USB hardware e software per il collegamento di dispositivi USB al computer host.

Interfaccia fisica

Lo standard USB definisce le specifiche elettriche e meccaniche per il bus.

I segnali informativi e una tensione di alimentazione di 5 V vengono trasmessi tramite un cavo a quattro fili. Viene utilizzato il metodo differenziale per la trasmissione di segnali D+ e D su due fili. I livelli del segnale del trasmettitore statico devono essere inferiori a 0,3 V (basso) o superiori a 2,8 V (alto). I ricevitori resistono a una tensione di ingresso compresa tra 0,5...+3,8 V. I trasmettitori devono essere in grado di passare a uno stato ad alta impedenza per la trasmissione bidirezionale half-duplex su una singola coppia di cavi.

La trasmissione a due fili in USB non è limitata ai segnali differenziali. Oltre al ricevitore differenziale, ogni dispositivo dispone di ricevitori di linea D+ e D-, ei trasmettitori di queste linee sono controllati singolarmente. Ciò rende possibile distinguere tra più di due stati di linea utilizzati per organizzare un'interfaccia hardware. stati Diff и Diff1 sono determinati dalla differenza di potenziale sulle linee D + e D superiore a 200 mV, a condizione che su una di esse il potenziale sia superiore alla soglia VSE. Viene chiamata la condizione in cui entrambi gli ingressi D+ e D sono bassi zero lineare (SEO Single-Ended Zero). L'interfaccia definisce i seguenti stati:

Stato dei dati и Dati da dichiarare stato del bit trasmesso (o semplicemente J и A), definito tramite gli stati Diff и Diff1.

Stato inattivo pausa autobus.

Stato sommario segnale di sveglia per riattivare il dispositivo dalla modalità di sospensione.

Inizio del pacchetto (SOP) inizio del pacchetto (salta da Stato inattivo in K).

Fine del pacchetto (EOP) fine del pacchetto.

Disconnect il dispositivo è disconnesso dalla porta.

Connettiti il dispositivo è collegato alla porta.

Reset ripristino del dispositivo.

Gli stati sono determinati da combinazioni di segnali differenziali e lineari; per condizioni di piena e bassa velocità Diff и Diff1 hanno lo scopo opposto. In stato di decodifica Disconnetti, connetti и Reset viene preso in considerazione il tempo trascorso dalle linee (più di 2,5 ms) in determinati stati.

Il bus ha due modalità di trasmissione. piena velocità La segnalazione USB è di 12 Mbps, basso 1,5Mbps. Per la massima velocità, viene utilizzato un doppino intrecciato schermato con un'impedenza di 90 ohm e una lunghezza del segmento fino a 5 m, per cavo non schermato non schermato basso fino a 3 m I cavi e i dispositivi a bassa velocità sono più economici di quelli ad alta velocità. Lo stesso sistema può utilizzare entrambe le modalità contemporaneamente;

la commutazione per i dispositivi è trasparente. La bassa velocità è progettata per funzionare con un numero ridotto di lanciatori che non richiedono velocità elevate.

La velocità utilizzata dal dispositivo connesso a una particolare porta è determinata dall'hub dai livelli dei segnali sulle linee D+ e D-, polarizzati dai resistori di terminazione R2 dei ricetrasmettitori (vedere Figure 7.2 e 7.3).

I segnali di sincronizzazione sono codificati insieme ai dati utilizzando il metodo NRZI (Non ritorno a zero inversione), il suo lavoro è illustrato in Fig. 7.4. Ogni pacchetto è preceduto da un campo di sincronizzazione SINCRONIZZAZIONE, permettendo al ricevitore di sintonizzarsi sulla frequenza del trasmettitore.

Il cavo dispone anche di linee VBus e GND per portare l'alimentazione a 5 V ai dispositivi. La sezione trasversale dei conduttori è selezionata in base alla lunghezza del segmento per garantire un livello di segnale e una tensione di alimentazione garantiti.

Bus USB e FireWire
Riso. 7.4. Codifica dati NRZI

Lo standard definisce due tipi di connettori (Vedi Tabella 7.1 e Figura 7.5).
contatto catena contatto catena
1 Vbus 3 D+
2 D- 4 GND

Tipo connettori "A". utilizzato per connettersi agli hub (Connettore a monte). Le spine sono installate su cavi non scollegati dai dispositivi (ad esempio tastiera, mouse, ecc.). I nidi sono installati sulle porte a valle (Porto a valle) mozzi.

Tipo di connettori "B" (connettore a valle) installato su dispositivi da cui è possibile staccare il cavo di connessione (stampanti e scanner). La parte di accoppiamento (spina) è installata sul cavo di collegamento, l'estremità opposta del quale ha una spina di tipo "A".

I connettori di tipo "A" e "B" differiscono meccanicamente (Fig. 7.5), il che elimina i collegamenti ad anello non validi delle porte dell'hub. I connettori a quattro piedini sono calettati per evitare collegamenti errati. Il design dei connettori consente la connessione tardiva e la disconnessione anticipata dei circuiti di segnale rispetto ai circuiti di alimentazione. Per riconoscere il connettore USB, una designazione simbolica standard è posta sulla custodia del dispositivo.

Bus USB e FireWire
Riso. 7.5. Prese USB: un tipo "A", б digitare "B", nella designazione simbolica

Potenza del dispositivo USB possibile dal cavo (dispositivi alimentati da bus) o dalla propria alimentazione (Dispositivi Autoalimentati). L'host fornisce alimentazione alle PU ad esso direttamente collegate. Ogni hub, a sua volta, fornisce alimentazione ai dispositivi collegati alle sue porte downstream. Con alcune limitazioni di topologia, è consentito l'uso di hub alimentati da bus. Sulla fig. 7.6 mostra un esempio di schema di collegamento di un dispositivo USB. Qui, la tastiera, la penna e il mouse possono essere alimentati tramite bus.

Bus USB e FireWire

Modello di trasferimento dei dati

Ogni dispositivo USB è un insieme di indipendenti punti finali (Endpoint), s cui il controllore host scambia informazioni. Gli endpoint sono descritti dai seguenti parametri:

la frequenza richiesta per l'accesso agli autobus e i ritardi di servizio consentiti;

larghezza di banda del canale richiesta;

numero di punto;

requisiti per la gestione degli errori;

dimensioni massime dei pacchetti trasmessi e ricevuti;

tipo di scambio;

direzione di scambio (per scambi continui e isocroni).

Ogni dispositivo ha necessariamente un endpoint numerato 0, utilizzato per l'inizializzazione, il controllo generale e il polling del suo stato. Questo punto è sempre configurato quando il dispositivo è alimentato e connesso al bus. Supporta i trasferimenti di "controllo" (vedi sotto).

Oltre al punto zero, i dispositivi funzionali possono avere punti aggiuntivi che implementano un utile scambio di dati. I dispositivi a bassa velocità possono avere fino a due punti aggiuntivi, i dispositivi a piena velocità fino a 16 punti di ingresso e 16 punti di uscita (limitazione del protocollo). I punti non possono essere utilizzati fino a quando non sono stati configurati (è stato stabilito un canale corrispondente).

Canale {tubo) USB si riferisce al modello di trasferimento dei dati tra il controller host e l'endpoint (Punto finale) dispositivi. Esistono due tipi di canali: stream (Flusso) e messaggi (Messaggio). Fluire fornisce i dati da un'estremità all'altra del canale, è sempre unidirezionale. Lo stesso numero di endpoint può essere utilizzato per due canali di flusso di input e output. Un thread può implementare i seguenti tipi di scambio: continuo, isocrono e interrupt. La consegna è sempre in ordine FIFO (first-in-first-out); dal punto di vista USB, i dati in streaming non sono strutturati. Messaggi sono nel formato definito dalla specifica USB. L'host invia una richiesta all'endpoint, dopodiché viene trasmesso (ricevuto) un pacchetto di messaggi, seguito da un pacchetto con informazioni sullo stato dell'endpoint. Normalmente non è possibile inviare un messaggio successivo fino a quando il precedente non è stato elaborato, ma i messaggi non gestiti possono essere eliminati durante la gestione degli errori. La messaggistica bidirezionale è indirizzata allo stesso endpoint. Per la consegna dei messaggi viene utilizzato solo uno scambio di tipo "controllo".

I canali hanno caratteristiche associate all'endpoint (larghezza di banda, tipo di servizio, dimensione del buffer, ecc.). I canali vengono stabiliti durante la configurazione dei dispositivi USB. C'è un canale di messaggi per ogni dispositivo abilitato (Tubo di controllo 0), attraverso il quale vengono trasmesse le informazioni di configurazione, controllo e stato.

Tipi di trasferimento dati

USB supporta modalità di comunicazione sia unidirezionali che bidirezionali. I dati vengono trasferiti tra il software host e l'endpoint del dispositivo. Il dispositivo può avere diversi endpoint, la comunicazione con ciascuno di essi (canale) viene stabilita in modo indipendente.

L'architettura USB consente quattro tipi fondamentali di trasferimento dati:

Trasferimenti di controllo, utilizzato per la configurazione durante la connessione e durante il funzionamento per controllare i dispositivi. Il protocollo fornisce la consegna dei dati garantita. La lunghezza del campo dati del messaggio di controllo non supera i 64 byte a piena velocità e gli 8 byte a bassa.

Trasferimenti di dati in blocco pacchi relativamente grandi senza requisiti rigorosi sui tempi di consegna. Le trasmissioni occupano l'intera larghezza di banda libera del bus. I pacchetti hanno un campo dati di 8, 16, 32 o 64 byte. Questi trasferimenti hanno la priorità più bassa e possono essere sospesi se il bus è molto carico. Consentito solo alla massima velocità di trasmissione.

Interruzioni trasferimenti brevi (fino a 64 byte a piena velocità, fino a 8 byte a bassa velocità) come caratteri di input o coordinate. Gli interrupt sono spontanei e devono essere gestiti non più lentamente di quanto richiesto dal dispositivo. Il limite di tempo del servizio è impostato nell'intervallo 1-255 ms per la massima velocità e 10-255 ms per la bassa.

Trasferimenti isocroni trasmissioni continue in tempo reale che occupano una porzione pre-negoziata della larghezza di banda del bus e hanno un dato ritardo di consegna. Se viene rilevato un errore, i dati isocroni vengono trasmessi senza riprovare, i pacchetti non validi vengono ignorati. Un esempio è la trasmissione vocale digitale. La larghezza di banda è determinata dai requisiti di qualità della trasmissione e il ritardo nella consegna può essere critico, ad esempio, quando si implementa la teleconferenza.

La larghezza di banda del bus è condivisa tra tutti i canali installati. La larghezza di banda allocata viene assegnata al canale e se la creazione di un nuovo canale richiede una larghezza di banda che non rientra in un'allocazione già esistente, la richiesta di allocazione del canale viene respinta.

L'architettura USB prevede il buffering interno di tutti i dispositivi e maggiore è la larghezza di banda richiesta da un dispositivo, maggiore dovrebbe essere il suo buffer. L'USB deve essere in grado di trasferire a una velocità tale che il ritardo dei dati nel dispositivo causato dal buffering non superi alcuni millisecondi.

I trasferimenti isocroni sono classificati in base al modo in cui gli endpoint delle fonti o dei destinatari dei dati sono sincronizzati con il sistema: esistono classi di dispositivi asincroni, sincroni e adattativi, ognuno dei quali ha il proprio tipo di canale USB.

protocollo

Tutti gli scambi (transazioni) tramite USB sono costituiti da tre pacchetti. Ogni transazione pianificato e avviato dal controller, che invia pacchetto token {Pacchetto token). Descrive il tipo e la direzione del trasferimento, l'indirizzo del dispositivo USB e il numero dell'endpoint. In ogni transazione è possibile solo lo scambio tra il dispositivo indirizzato (il suo endpoint) e l'host. Il dispositivo indirizzato dal token riconosce il proprio indirizzo e si prepara allo scambio. L'origine dati (identificata dal token) trasmette un pacchetto di dati (o notifica che non ci sono dati da trasmettere). Dopo aver ricevuto con successo il pacchetto, il destinatario dei dati invia pacchetto di conferma (Handshake Packet).

La pianificazione delle transazioni fornisce la gestione del canale di flusso. A livello hardware, l'uso dell'abbandono delle transazioni (NAck) impedisce l'overflow dei buffer dall'alto e dal basso se la velocità di trasmissione non è valida. I token di transazione abbandonati vengono ritrasmessi all'ora del bus. Il controllo del flusso consente una pianificazione flessibile dei servizi per flussi di dati eterogenei simultanei.

Tolleranza all'errore fornire le seguenti funzionalità USB:

Elevata qualità del segnale ottenuta con ricevitori/trasmettitori differenziali e cavi schermati.

Protezione dei campi di controllo e dei dati con codici CRC.

Rilevamento della connessione e della disconnessione del dispositivo e configurazione delle risorse a livello di sistema.

Protocollo di autoriparazione con timeout in caso di perdita di pacchetti.

Controllo del flusso per l'isocronismo e la gestione del buffer hardware.

Indipendenza delle funzioni da scambi falliti con altre funzioni.

Per rilevare gli errori di trasmissione, ogni pacchetto ha campi di controllo CRC per rilevare tutti gli errori a singolo e doppio bit. L'hardware rileva gli errori di trasmissione e il controller tenta automaticamente la trasmissione tre volte. Se i tentativi non hanno successo, viene inviato un messaggio di errore al software client.

Formati del pacchetto

I byte vengono trasferiti sul bus in sequenza, a partire dal bit meno significativo. Tutti i pacchi sono organizzati in pacchi. Ogni pacchetto inizia con un campo Sync, che è rappresentato da una sequenza di stati KJKJKJKK (codificato NRZI) seguendo lo stato Inattivo. Ultimi due bit (CQ) sono il marker di inizio pacchetto SOP utilizzato per identificare il primo bit dell'ID pacchetto PID. L'ID pacchetto è un campo a 4 bit PID[3:0], identificativo del tipo di pacchetto (Tabella 7.2), seguito dagli stessi 4 bit dei bit di controllo, ma invertiti.
tipo PID Nome PID PID[3:0] Contenuto e scopo
Token OUT 0001 Indirizzo della funzione e numero dell'endpoint Marcatore della transazione della funzione
Token IN 1001 L'indirizzo della funzione e il token della transazione host del numero dell'endpoint
Token SOF 0101 Avvia marcatore cornice
Token IMPOSTARE 1101 Indicatore di transazione del punto di controllo dell'indirizzo della funzione e del numero dell'endpoint
Dati DatiO Datal 0011/1011 I pacchetti di dati PID pari e dispari vengono intercalati per identificare con precisione i riconoscimenti
Stretta di mano ack 0010 Conferma della ricezione del pacchetto senza errori
Stretta di mano NAK 1010 Il ricevitore non è riuscito a ricevere o il trasmettitore non è riuscito a trasmettere i dati. Può essere utilizzato per il controllo del flusso di dati (non pronto). Nelle transazioni di interrupt, questo è un segno che non ci sono interruzioni non gestite.
Stretta di mano STALLO 1110 L'endpoint richiede l'intervento dell'host
Special PRE 1100 Preambolo di basso tasso

In sacchetti di pennarelli IN, IMPOSTAZIONE и OUT i seguenti sono campi indirizzo: Indirizzo della funzione a 7 bit e indirizzo dell'endpoint a 4 bit. Consentono di indirizzare fino a 127 funzioni USB (l'indirizzo zero viene utilizzato per la configurazione) e 16 endpoint per funzione.

Il pacchetto SOF ha un 11 bit campo del numero di fotogramma (Frame Number Field), sequenzialmente (ciclicamente) aumentato per il fotogramma successivo.

Campo dati può essere compreso tra 0 e 1023 byte interi. La dimensione del campo dipende dal tipo di trasmissione e viene negoziata quando viene stabilito il canale.

Campo sks-cola presente in tutti i token e pacchetti di dati, protegge tutti i campi del pacchetto tranne PID. I CRC per i marker (5 bit) ei dati (11 bit) vengono calcolati utilizzando formule diverse.

Ogni transazione viene avviata dal controller host inviando un token e termina con un pacchetto di handshake. La sequenza dei pacchetti nelle transazioni è illustrata in Fig. 7.7.

Il controller host organizza gli scambi con i dispositivi in ​​base al proprio piano di allocazione delle risorse. Il controller genera ciclicamente (con un periodo di 1 ms). cornici (Cornici), che includono tutte le transazioni programmate. Ogni frame inizia con un token SOF. (inizio del fotogramma) che è il segnale di clock per tutti i dispositivi, inclusi gli hub. Alla fine di ogni frame viene assegnato un intervallo di tempo EOF (fine fotogramma) durante il quale gli hub vietano la trasmissione verso il controllore. Ogni fotogramma ha il suo numero. Il controller host opera su un contatore a 32 bit, ma trasmette solo gli 11 bit inferiori nel token SOF. Il numero di frame viene incrementato (ciclicamente) durante l'EOF. L'host pianifica il caricamento dei frame in modo che abbiano sempre spazio per il controllo e interrompano le transazioni. Il tempo di frame libero può essere riempito con trasmissioni solide (Trasferimenti in blocco).

Bus USB e FireWire


Riso. 7.8. Flusso di fotogrammi USB

per trasmissione isocrona La sincronizzazione tra dispositivi e controller è importante. Ci sono tre opzioni:

sincronizzazione del generatore interno del dispositivo con marcatori SOF;

adattare il frame rate alla frequenza del dispositivo;

facendo corrispondere la velocità di trasmissione (ricezione) del dispositivo con la frequenza dei fotogrammi.

La regolazione del frame rate del controller è possibile, ovviamente, sotto la frequenza della sincronizzazione interna di un solo dispositivo. La regolazione viene eseguita tramite un meccanismo di feedback, che consente di modificare il periodo del frame entro un intervallo di ±1 bit.

1.2. Configurazione di sistema

USB supporta la connessione dinamica e la disconnessione dei dispositivi. La numerazione dei dispositivi bus è un processo continuo che tiene traccia dei cambiamenti nella topologia fisica.

Tutti i dispositivi sono collegati tramite porte hub. Gli hub rilevano la connessione e la disconnessione dei dispositivi alle loro porte e segnalano lo stato delle porte quando richiesto dal controller. L'host abilita la porta e indirizza il dispositivo attraverso il canale di controllo utilizzando Zero indirizzo predefinito USB. Durante la connessione iniziale o dopo un ripristino, tutti i dispositivi vengono indirizzati in questo modo.

L'host determina se il dispositivo appena connesso è un hub o una funzionalità e lo assegna indirizzo univoco USB. L'host crea il canale di controllo (Tubo di controllo) con questo dispositivo utilizzando l'indirizzo assegnato e il numero di destinazione zero.

Se il nuovo dispositivo è un hub, l'host determina i dispositivi ad esso collegati, assegna loro gli indirizzi e imposta

versa canali. Se il nuovo dispositivo è una funzionalità, la notifica di connessione viene passata dal gestore USB al software interessato.

Quando un dispositivo viene disconnesso, l'hub disabilita automaticamente la porta corrispondente e segnala la disconnessione al controller, che rimuove le informazioni su questo dispositivo da tutte le strutture di dati. Se l'hub è disabilitato, il processo di rimozione viene eseguito per tutti i dispositivi ad esso collegati. Se una funzione è disabilitata, viene inviata una notifica al software interessato.

numerazione dei dispositivi, collegato all'autobus (enumerazione bus), eseguiti dinamicamente quando sono collegati (o accesi) senza alcun intervento da parte dell'utente o del software client. La procedura di numerazione è la seguente:

1. L'hub a cui si è connesso il dispositivo informa l'host del cambiamento di stato della sua porta rispondendo a un sondaggio sullo stato. Da questo momento in poi, il dispositivo entra nello stato Attached (connesso) e la porta a cui è connesso allo stato Disabilitato.

2. L'host controlla lo stato della porta.

3. Dopo aver appreso la porta a cui è connesso il nuovo dispositivo, l'host invia un comando per ripristinare e abilitare la porta.

4. L'hub genera un segnale Reset per questa porta (10 ms) e la mette nello stato Abilitato. Il dispositivo collegato può prelevare fino a 100 mA dal bus. Il dispositivo entra nello stato Powered (accensione), tutti i suoi registri vengono azzerati e risponde all'indirizzo zero.

5. Finché il dispositivo non riceve un indirizzo univoco, è disponibile sul canale watchdog, attraverso il quale il controller host determina la dimensione massima consentita del campo dati del pacchetto.

6. L'host comunica al dispositivo il suo indirizzo univoco e viene inserito nello stato Indirizzato (indirizzato a).

7. L'host legge la configurazione del dispositivo, compreso l'assorbimento di corrente dichiarato dal bus. La lettura può richiedere diversi fotogrammi.

8. Sulla base delle informazioni ricevute, l'host configura tutti gli endpoint disponibili di questo dispositivo, che viene trasferito allo stato configurato (configurato). Ora l'hub consente al dispositivo di consumare tutta la corrente dichiarata nella configurazione dal bus. Il dispositivo è pronto.

Quando un dispositivo viene disconnesso dal bus, l'hub invia una notifica all'host e la porta viene disabilitata e l'host aggiorna le informazioni sulla topologia corrente.

1.3. Funzioni e hub dei dispositivi USB

Le funzionalità del bus USB consentono di utilizzarlo per collegare una varietà di dispositivi. Senza toccare le proprietà "utili" della PU, concentriamoci sulla loro parte di interfaccia associata al bus USB. Tutti i dispositivi devono supportare una serie di operazioni comuni elencate di seguito.

Connessione e disconnessione dinamica. Questi eventi vengono monitorati dall'hub, che li segnala al controller host e reimposta il dispositivo connesso. Il dispositivo dopo il segnale di reset deve rispondere all'indirizzo zero, mentre non è configurato e non è sospeso. Una volta assegnato un indirizzo di cui è responsabile il controller host, il dispositivo dovrebbe rispondere solo al suo indirizzo univoco.

Configurazione dispositivi eseguiti dall'host è necessario per il loro utilizzo. Per la configurazione vengono solitamente utilizzate le informazioni lette dal dispositivo stesso. Un dispositivo può avere più interfacce, ciascuna con il proprio endpoint che rappresenta una funzione del dispositivo per l'host. Un'interfaccia in una configurazione può avere serie alternative di caratteristiche; il cambio di set è supportato dal protocollo. Per supportare i driver adattivi, i descrittori di dispositivo e interfaccia hanno campi di classe, sottoclasse e protocollo.

Trasferimento dati possibile attraverso uno dei quattro tipi di trasferimenti (vedi sopra). Per gli endpoint che consentono diversi tipi di trasferimenti, solo uno di essi è disponibile dopo la configurazione.

Gestione dell'energia è una caratteristica altamente sviluppata di USB. Per i dispositivi alimentati dal bus, la potenza è limitata. Qualsiasi dispositivo collegato non deve prelevare più di 100 mA dal bus. La corrente operativa (non superiore a 500 mA) è dichiarata nella configurazione e se l'hub non è in grado di fornire la corrente dichiarata al dispositivo, non è configurato e quindi non può essere utilizzato.

Il dispositivo USB deve supportare sospensione (modalità sospesa), in cui il suo consumo di corrente non supera i 500 μA. Il dispositivo dovrebbe sospendere automaticamente quando cessa l'attività del bus.

Opportunità Risveglio remoto consente a un dispositivo sospeso di segnalare un host che potrebbe trovarsi anch'esso in uno stato sospeso. La funzionalità di riattivazione remota è descritta nella configurazione del dispositivo. Questa funzione può essere disabilitata durante la configurazione.

centro in USB esegue la commutazione del segnale e l'alimentazione e monitora anche lo stato dei dispositivi ad esso collegati, notificando all'host le modifiche. L'hub è costituito da due parti del controller (controllore dell'hub) e ripetitore (Ripetitore Hub). Ripetitore è una chiave gestita che collega una porta di output a una porta di input. Ha mezzi per supportare il ripristino e la sospensione della segnalazione. Controller contiene i registri per l'interazione con l'host. L'accesso ai registri avviene tramite comandi specifici per l'accesso all'hub. I comandi consentono di configurare l'hub, gestire le porte downstream e monitorarne lo stato.

Porti a valle gli hub possono trovarsi nei seguenti stati:

Powered (^(power off) nessuna alimentazione viene fornita alla porta (possibile solo per hub che commutano

nutrizione). I buffer di uscita vengono posti in uno stato di alta impedenza ei segnali di ingresso vengono ignorati.

Disconnected (disconnected) la porta non sta segnalando in nessuna direzione, ma è in grado di rilevare un dispositivo connesso (by no state Gestione SEO entro 2,5 µs). Quindi il porto entra nello stato Disabilitato, e dai livelli dei segnali di ingresso {DiffO o Diff1 capace oziare) determina la velocità del dispositivo connesso.

sdisabile (disabilitato) la porta trasmette solo un segnale di ripristino (su comando dal controllore), i segnali dalla porta (tranne che per il rilevamento della disconnessione) non sono accettati. Al rilevamento di uno scatto (stato 2,5 µs SEO) la porta entra nello stato Disconnetti, e se viene rilevato un arresto da un hub "dormiente", verrà inviato un segnale al controller Curriculum vitae.

w Abilitato (Abilitato) La porta trasmette i segnali in entrambe le direzioni. Al comando del controller o al rilevamento di un errore di frame, la porta entra nello stato Disabilitato, e al rilevamento di un viaggio nello stato Disconnetti.

Sospeso (sospeso) La porta invia un segnale per entrare nello stato di arresto (modalità "sleep"). Se l'hub è in uno stato attivo, i segnali attraverso la porta non vengono trasmessi in nessuna direzione. Tuttavia, l'hub "dormiente" percepisce i segnali di cambio di stato delle porte non proibite, fornendo segnali di "risveglio" dal dispositivo attivato anche attraverso la catena di hub "dormienti".

Lo stato di ciascuna porta è identificato dal controller hub utilizzando registri separati. Esiste un registro comune, i cui bit riflettono il fatto di un cambiamento nello stato di ciascuna porta (fisso durante EOF). Ciò consente al controller host di scoprire rapidamente lo stato dell'hub e, se vengono rilevate modifiche da transazioni speciali, aggiornare lo stato.

1.4. Controllore host

Il computer host comunica con i dispositivi tramite il controller. L'host ha le seguenti responsabilità:

rilevamento di connessione e disconnessione di dispositivi USB;

manipolazione del flusso di controllo tra i dispositivi e l'host;

gestione del flusso di dati;

raccolta di statistiche;

garantendo il risparmio energetico grazie alle centraline collegate.

Il software di sistema del controller gestisce l'interazione tra i dispositivi e il relativo software in esecuzione sul computer host per negoziare:

numerazione e configurazione dei dispositivi;

trasferimenti di dati isocroni;

trasferimenti di dati asincroni;

gestione dell'energia;

informazioni sulla gestione del dispositivo e del bus.

Ove possibile, il software USB utilizza il software di sistema esistente dell'host, come Advanced Power Management, per la gestione dell'alimentazione.

2. IEEE 1394-FireWire

Lo standard High Performance Serial Bus, formalmente denominato IEEE 1394, è stato adottato nel 1995. L'obiettivo era quello di creare un bus che non fosse inferiore ai bus paralleli standard odierni, riducendo notevolmente i costi e migliorando la comodità della connessione (grazie al passaggio a un'interfaccia seriale). Standard basato su autobus filo di fuoco, utilizzato da Apple Computer come alternativa economica a SCSI nei computer Macintosh e PowerMac. Il nome FireWire viene ora applicato alle implementazioni di IEEE 1394 e coesiste con la scorciatoia 1394

Vantaggi di FireWire prima di altri bus seriali:

S? Multifunzionalità: il bus fornisce la comunicazione digitale per un massimo di 63 dispositivi senza l'utilizzo di apparecchiature aggiuntive (hub). Dispositivi videocamere digitali, scanner, stampanti, fotocamere per videoconferenze, unità disco possono scambiare dati non solo con un PC, ma anche tra loro. FireWire, avviato da VESA, è posizionato anche per "reti domestiche".

Bit rate elevato e trasferimenti isocroni consentono anche a livello iniziale (100 Mbps) di trasmettere contemporaneamente due canali video (30 fotogrammi al secondo) di qualità broadcast e un segnale audio stereo con qualità CD.

s§ Basso costo di componenti e cavi.

si Facile da installare e utilizzare. FireWire estende il sistema pnp. I dispositivi vengono automaticamente riconosciuti e configurati quando vengono accesi/spenti. L'alimentazione tramite bus (corrente fino a 1,5 A) consente al telecomando di comunicare con il sistema anche quando l'alimentazione è disattivata. Non solo i PC possono controllare il bus e altri dispositivi, ma anche altri dispositivi "intelligenti", come i videoregistratori.

2.1. Struttura e interazione dei dispositivi bus

La norma 1394 definisce due categorie di sbarre: sbarre per cavi e sbarre incrociate. (Aereo posteriore). sotto pneumatici incrociati di solito si riferisce alle interfacce parallele che collegano i sottosistemi interni di un dispositivo collegato a un cavo 1394.

A differenza dell'USB, che è controllato da un singolo controller host, lo standard 1394 consente la connessione di dispositivi peer-to-peer su una rete. Una rete può essere costituita da più bus collegati da bridge. All'interno dello stesso bus, i dispositivi sono collegati tramite cavi di collegamento senza l'utilizzo di dispositivi aggiuntivi. ponti sono speciali dispositivi intelligenti. La scheda di interfaccia per il bus FireWire per il PC è un bridge PCI 1394.

Indirizza fino a 63 dispositivi su ciascun bus, indirizzati da un campo ID nodo a 6 bit. Il campo dell'identificatore bus a 10 bit consente fino a 1023 bridge nel sistema, collegando bus di diverso tipo.

bus via cavo è una rete costituita da nodi e ponti di cavi. La topologia flessibile consente di costruire reti che combinano architetture ad albero ea catena (Fig. 7.9). Ogni nodo ha in genere tre connettori peer-to-peer. Molte opzioni di connessione del dispositivo sono consentite con le seguenti limitazioni:

ssi tra qualsiasi coppia di nodi non possono essere più di 16 segmenti di cavo;

la lunghezza di un segmento di cavo standard non deve superare i 4,5 m;

2° La lunghezza totale del cavo non deve superare i 72 m (l'utilizzo di un cavo migliore consente di attenuare questa limitazione).

Alcuni dispositivi potrebbero avere un solo connettore, limitando le loro opzioni di localizzazione. Lo standard consente fino a 27 connettori su un singolo dispositivo.

Bus USB e FireWire
Riso. 7.9. Collegamento di dispositivi sul bus FireWire

Bus USB e FireWire
Riso. 7.10. Connettore FireWire

Lo standard prevede la connessione dei nodi mediante un cavo a 6 fili racchiuso in una schermatura comune. Due doppini intrecciati vengono utilizzati per la trasmissione del segnale (separati per il ricevitore e il trasmettitore), due fili vengono utilizzati per alimentare i dispositivi (8-40 V, fino a 1,5 A). Per l'isolamento galvanico dell'interfaccia vengono utilizzati trasformatori (tensione di isolamento isolamento fino a 500 V) o condensatori (in dispositivi economici con tensione di isolamento fino a 60 V rispetto al filo comune). La Fig. 7.10 dà un'idea dei connettori. 700. Alcuni dispositivi (videocamere Sony DCRVX1000 e DCR-VX1000, nonché DHR-4 DVCR) hanno solo un connettore a XNUMX pin più piccolo con solo circuiti di segnale. Questi dispositivi sono collegati al bus tramite uno speciale cavo adattatore solo come dispositivi terminali (anche se possono essere utilizzati adattatori splitter speciali).

Lo standard 1394 definisce tre possibili frequenze per la segnalazione via cavo: 98,304, 196,608 e 393,216 Mbps, arrotondate a 100, 200 e 400 Mbps. Le frequenze nello standard sono designate come S100, S200 и S400 rispettivamente. I dispositivi consumer di solito supportano S100, la maggior parte degli adattatori lo consente S200. Dispositivi progettati per velocità diverse possono essere collegati allo stesso bus. Lo scambio avverrà alla velocità minima per tutti i nodi attivi. Tuttavia, se il controller host implementa una topologia e una mappa della velocità (Topologia_mar и Mappa_velocità), è possibile utilizzare più frequenze in un bus, in accordo con le capacità di una particolare coppia coinvolta nello scambio.

Il sistema consente la connessione e la disconnessione dinamica (a caldo) dei dispositivi. Identificatori collegabili

i dispositivi vengono assegnati automaticamente, senza l'intervento dell'utente. Le modifiche alla topologia (composizione dei dispositivi collegati) vengono tracciate automaticamente dal bus e trasmesse al software di controllo.

protocollo IEEE 1394

Il protocollo 1394 è implementato a tre livelli (Figura 7.11).

Livello di transazione converte i pacchetti in dati forniti alle applicazioni e viceversa. Implementa un protocollo di richiesta-risposta conforme a ISO/IEC 13213:1994 (ANSI/IEEE 1212, edizione 1994), architetture CSR (Control and Status Register) per bus di microcomputer (lettura, scrittura, blocco). Ciò semplifica il collegamento del bus 1394 ai bus paralleli standard.

Livello di collegamento forma pacchetti dai dati del livello fisico ed esegue trasformazioni inverse. Fornisce lo scambio di nodi con datagrammi con riconoscimenti. Il livello è responsabile della trasmissione dei pacchetti e della gestione dei trasferimenti isocroni.

Livello fisico genera e riceve segnali bus. Fornisce l'inizializzazione e l'arbitrato, presupponendo che un solo trasmettitore sia attivo in un dato momento. Il livello passa i flussi di dati e i livelli di segnale del bus seriale al livello superiore. Tra questi livelli è possibile l'isolamento galvanico, in cui i microcircuiti del livello fisico sono alimentati dal bus. L'isolamento galvanico è necessario per prevenire loop di cavi comuni parassiti che possono apparire attraverso i cavi di messa a terra di protezione degli alimentatori.

L'hardware FireWire di solito è costituito da due chip transceiver a livello fisico dedicati. Ricetrasmettitore PHY e ponte di collegamento degli autobus Chip LINK. La comunicazione tra di loro è possibile, ad esempio, tramite l'interfaccia IBM-Apple LINK-PHY. I microcircuiti del livello di comunicazione eseguono tutte le funzioni del loro livello e alcune delle funzioni del livello

transazioni, il resto del livello di transazione viene eseguito nel software.

Bus USB e FireWire

Connettori

Fig. 7.11. Struttura a tre strati di FireWire

Gestione autobus

Il protocollo 1394 dispone di un meccanismo flessibile per la gestione della comunicazione tra diversi dispositivi. Ciò non richiede la presenza di un PC o altro controller di bus sul bus. La gestione comprende tre servizi:

maestro di ciclo, invio di trasmissioni di inizio ciclo (necessario per gli scambi isocroni).

gestore di risorse isocrono, se un nodo supporta lo scambio isocrono (per video e audio digitali).

Controller bus opzionale (Bus Master) può essere un PC o un DVCR di editing.

Al ripristino, viene determinata la struttura del bus, gli indirizzi fisici vengono assegnati a ciascun nodo e vengono arbitrati il ​​loop master, il gestore risorse isocrono e il controller del bus. Un secondo dopo il ripristino, tutte le risorse diventano disponibili per un uso successivo.

Il vantaggio principale del bus è che non è necessario un controller. Qualsiasi dispositivo trasmittente può ricevere una striscia di traffico isocrono e iniziare a trasmettere su un segnale di controllo autonomo o remoto, il ricevitore "ascolterà" queste informazioni. In presenza di un controller (PC), il software corrispondente può controllare il funzionamento dei dispositivi, realizzando, ad esempio, uno studio di editing video digitale non lineare.

Trasporto dati isocrono

Il trasporto bus isocrono 1394 fornisce throughput garantito e latenza limitata per la trasmissione ad alta velocità su più canali. Il gestore risorse isocrono contiene un registro LARGHEZZA DI BANDA^DISPONIBILE, che determina la disponibilità della banda residua per i nodi con trasmissione isocrona. Al ripristino, un nuovo nodo apparso con trasmissione isocrona richiede un'allocazione di corsia. Il video digitale, ad esempio, richiede 30 Mbps di larghezza di banda (25 Mbps per i dati video e 3-4 Mbps per audio, sincronizzazione e intestazioni dei pacchetti). La larghezza di banda è misurata in speciali unità di allocazione, di cui ce ne sono 125 in un ciclo di 6144 millisecondi.Un'unità impiega circa 20 ns, che corrisponde al tempo necessario per trasmetterne una quadretto (Quadlet) a 1600 Mbps. Quadretto (parola a 32 bit) è l'unità di trasferimento dei dati sul bus. 25 ms del ciclo sono riservati al traffico asincrono, quindi il valore iniziale del registro dopo il reset è di 4915 unità. IN S100 i dispositivi video digitali richiedono circa 1800 unità, in S200 circa 900. Se la banda corrispondente non è disponibile, il dispositivo richiedente ripeterà periodicamente la richiesta.

Il gestore risorse isocrono assegna a ciascun nodo isocrono un numero di canale (0-63) tra quelli disponibili (registro

CANALI_DISPONIBILI). È l'identificatore del pacchetto isocrono. Quando uno scambio isocrono diventa non necessario per un nodo, deve rilasciare la sua larghezza di banda e il numero di canale. Le informazioni di controllo vengono scambiate su un canale asincrono.

2.2. Sinonimi ed estensioni dello standard IEEE 1394

Il bus IEEE 1394 ha molti alias:

IEEE 1394-1995 Standard for a High Performance Serial Bus è il nome completo del documento che descrive lo standard attualmente in vigore.

FireWire è un marchio di un'implementazione di IEEE-1394 di Apple Computer, Inc.

P1394 è il nome della versione preliminare di IEEE-1394 (prima dell'adozione nel dicembre 1995).

DigitalLink è un marchio di Sony Corporation utilizzato in riferimento all'implementazione di IEEE-1394 nelle fotocamere digitali.

MultiMedia Connection è il nome utilizzato nel logo 1394 High Performance Serial Bus Trade Association (1394TA).

Poiché Apple ha sviluppato il concetto di FireWire dal 1986, il nome FireWire è il sinonimo più comune di IEEE 1394.

Oltre allo standard principale IEEE 1394-1995, ne esistono diverse modifiche:

Il 1394a è considerato un documento pulito, che colma alcune lacune nello standard originale e presenta modifiche minori (come un'operazione di ripristino più rapida sul bus). I prodotti 1394a sono retrocompatibili con i dispositivi rilasciati prima dell'adozione dello standard principale. La versione è stata introdotta per aumentare la velocità a 800 Mbps e versioni superiori, ad alta velocità sono incluse anche nel 1394b.

1394.1 definisce il connettore a 4 fili e stabilisce lo standard per i ponti bus.

1394.2 è inteso come standard per la connessione di un cluster di stazioni con un tasso di cambio di 1 Gb / se superiore, incompatibile con 1394. Questo standard deriva dall'IEEE 1596 SCI (Scalable Coherent Interface) per i supercomputer ed è talvolta indicato come Espresso seriale o SCILite. L'interfaccia di segnalazione 1394.2 è simile a FCAL e consente topologia ad anello, proibito dallo standard 1394.

2.3. Confronto tra FireWire e USB

Le interfacce seriali FireWire e USB, pur avendo caratteristiche comuni, sono essenzialmente tecnologie differenti. Entrambi i bus consentono la facile connessione di un gran numero di PU (127 per USB e 63 per FireWire), consentendo l'accensione e lo spegnimento dei dispositivi mentre il sistema è in funzione. La topologia di entrambi i bus è abbastanza simile. Gli hub USB fanno parte del CC; la loro presenza è invisibile all'utente. Entrambi i bus dispongono di linee di alimentazione del dispositivo, ma la capacità di gestione dell'alimentazione per FireWire è molto più elevata. Entrambi i bus supportano PnR (Power On/Off Auto Configuration) ed eliminano il problema della carenza di indirizzi, canali DMA e interruzioni. C'è una differenza nella larghezza di banda e nella gestione del bus.

USB incentrato su PU collegato a un PC. Le sue trasmissioni isocrone consentono solo la trasmissione di segnali audio digitali. Tutte le trasmissioni sono controllate centralmente e il PC è il nodo di controllo necessario alla radice della struttura ad albero del bus. Non è prevista la connessione di più PC con questo bus.

FireWire è incentrato sullo scambio intensivo tra tutti i dispositivi ad esso collegati. Il traffico isocrono consente di trasmettere video "live". Il bus non richiede il controllo centralizzato da PC. È possibile utilizzare il bus per combinare più PC e PU in una rete locale.

I nuovi dispositivi audio e video digitali dispongono di adattatori incorporati 1394. Connessione FireWire di dispositivi analogici e digitali tradizionali (lettori, fotocamere,

monitor) è possibile tramite adattatori-convertitori di interfacce e segnali. Cavi e connettori FireWire standardizzati sostituiscono le numerose connessioni disparate tra dispositivi elettronici di consumo e PC. Diversi tipi di segnali digitali vengono multiplexati in un unico bus. A differenza delle reti Ethernet, i flussi di dati ad alta velocità in tempo reale su FireWire non richiedono protocolli aggiuntivi. Inoltre, sono presenti strutture di arbitrato che garantiscono l'accesso all'autobus in un determinato orario. L'uso di bridge nelle reti FireWire consente di isolare il traffico di gruppi di nodi l'uno dall'altro.

7.3. ACCESS.Bus e interfaccia PC

bus seriale ACCESS.Autobus (Accessory Bus), sviluppato da DEC, è un bus per l'interazione di un computer con i suoi accessori, ad esempio un monitor (canale VESA DDC), alimentatori intelligenti (Smart Battery), ecc. Il bus consente due segnali e due i cavi di alimentazione (12 V, 500 mA) collegano fino a 14 dispositivi I/O, la lunghezza del bus può raggiungere gli 8 m La base hardware è l'interfaccia PC, caratterizzata da facilità di implementazione, ma anche rispetto a USB, bassa prestazione. Al di sopra del protocollo hardware del PC per ACCESS.Bus esiste un protocollo software di base con il quale interagiscono i protocolli degli specifici dispositivi collegati. I protocolli forniscono la connessione / disconnessione dei dispositivi senza riavviare il sistema operativo. Lo scopo dei segnali del connettore ACCESS.Bus, proposto da VESA, è riportato in Tabella. 7.3.
contatto appuntamento
1 GND
2 Chiave
3 SDA
4 +5 V (alimentazione del dispositivo)
5 SCL

Interfaccia PER, sviluppato da Philips, è recentemente apparso sui PC e viene utilizzato come bus ausiliario interno della scheda di sistema per comunicare con la memoria non volatile di identificazione dei componenti installati (memoria DIMM). Il bus è estremamente facile da implementare due linee di segnale che funzionano con il software. Per lo scopo previsto, questo bus è attualmente utilizzato solo dal BIOS per determinare l'hardware, ma l'uso della memoria di configurazione scrivibile apre nuove opportunità per collegare il software a un sistema specifico (più precisamente, un modulo installato) e ... per i virus . Il metodo di accesso software al bus non è stato ancora standardizzato, ma volendo può essere "calcolato" studiando la documentazione del chipset.

Bus USB e FireWire
Riso. 7.12. Protocollo di comunicazione PC

Interfaccia seriale CSS fornisce il trasferimento dati bidirezionale tra una coppia di dispositivi utilizzando due segnali: dati SDA (Serial Data) e orologio SCL (Serial Clock). Due dispositivi sono coinvolti nello scambio protagonista (Maestro) и schiavo. Ognuno di loro può agire come trasmettitore, posizionando bit di informazioni sulla linea SDA, o ricevitore. Il protocollo di scambio è illustrato in fig. 7.12. La sincronizzazione è impostata dal controller principale. La linea dati bidirezionale con uscita "open collector" è comandata a turno da entrambi i dispositivi. La frequenza di scambio (non necessariamente costante) è limitata dall'alto di 100 kHz per la modalità standard e di 400 kHz per la modalità ad alta velocità, il che consente di organizzare un'implementazione controllata da software del controller di interfaccia.

Inizio di qualsiasi condizione operativa Inizio attivato da una transizione da alto a basso del segnale SDA quando SCL è alto. L'operazione viene completata trasferendo il segnale SDA da un livello basso ad un livello alto con una condizione di SCL alto Interrompere. Durante la trasmissione dei dati, lo stato della linea SDA può cambiare solo quando l'SCL è basso, i bit di dati vengono strobati con un fronte SCL positivo Ogni frame è composto da 8 bit di dati generati dal trasmettitore (il bit più significativo dell'MSB è trasmesso per primo), dopodiché il trasmettitore rilascia la linea dati per un ciclo per ricevere una conferma . Il ricevitore durante il nono ciclo forma uno zero Ack bit di conferma. Dopo che il bit di riconoscimento è stato trasmesso, il ricevitore può ritardare la trasmissione successiva mantenendo bassa la linea SCL. Il ricevitore può anche rallentare il bus al livello di ricezione di ciascun bit mantenendo basso SCL dopo il suo roll-off generato dal trasmettitore.

Ogni slave ha il proprio indirizzo, che per impostazione predefinita è 7 bit. Indirizzo A[6:0] trasmesso dal master nei bit [7:1] del primo byte, il bit 0 contiene il segno dell'operazione R1U(R1/U=1 read, RW=D -documentazione). Un indirizzo a 7 bit contiene due parti: i 4 bit superiori A[6:3] trasporta informazioni sul tipo di dispositivo (ad esempio, per EEPROM 1010) e i 3 bit inferiori A[0:2] definire il numero del dispositivo di questo tipo. Molti microcircuiti con interfaccia PC hanno tre ingressi di indirizzo, commutandoli ai livelli logici 1 e 0, viene impostato l'indirizzo richiesto. Alcuni valori di indirizzo completo sono riservati (Tabella 7.4).

All-call consente a un dispositivo di sveglia di annunciarsi in modo broadcast. Byte Inizio è progettato per attirare l'attenzione del processore sull'interfaccia, se è organizzata nel dispositivo in modo software (non hardware). Finché non viene ricevuto questo byte, il microcontrollore del dispositivo non esegue il polling dello stato e non monitora i segnali dell'interfaccia. Quando si utilizza l'indirizzamento a 10 bit, i bit [2:1] contengono la parte alta dell'indirizzo e gli 8 bit bassi verranno trasferiti nel byte successivo se il segno RW=0.

L'indirizzo del dispositivo slave e il tipo di chiamata vengono impostati dal controller quando viene avviato lo scambio. Lo scambio di memoria è illustrato in Fig. 7.13. Qui SA[0:2] indirizzo dispositivo, DA[0:7] indirizzo dati, D[0:7] dati, W flag di scrittura (0), R flag di lettura (1).
Bit [7:1] BKTO(RW) appuntamento
0000/000 0 indirizzo di chiamata generale indirizzo generico di chiamata
0000/000 1 Inizio. inizio dello scambio attivo
0000/001 X Indirizzo dispositivo CBUS (per compatibilità)
0000/010 X Indirizzo per altri dispositivi bus
0000/011 X Riservato
0000 1XX X Riservato
1111 1XX X Riservato
1111 ohh X Segno di indirizzamento a 10 bit

Bus USB e FireWire
Riso. 7.13. Scambio con memoria tramite interfaccia PC: a scrittura, b lettura dall'indirizzo corrente, в lettura da un indirizzo arbitrario

Aver soddisfatto la condizione Start, il controllore invia un byte contenente l'indirizzo del dispositivo e l'indicazione dell'operazione rw, e in attesa di conferma. A operazioni di scrittura il messaggio successivo dal controller sarà l'indirizzo a 8 bit della cella in fase di scrittura, seguito da un byte di dati (per microcircuiti con capacità di memoria superiore a 256 byte, l'indirizzo della cella viene inviato in due byte). Dopo aver ricevuto la conferma, il controllore termina il ciclo con la condizione Fermare, e il dispositivo indirizzato può iniziare il suo ciclo di scrittura interno durante il quale non risponde ai segnali di interfaccia. Il controller controlla se il dispositivo è pronto inviando un comando di scrittura (byte indirizzo dispositivo)

e analizzare il bit di conferma, quindi formare la condizione Interrompere. Se il dispositivo risponde con un bit di riconoscimento, ha completato il ciclo interno ed è pronto per l'operazione successiva.

Leggi l'operazione viene avviato allo stesso modo di un record, ma con l'attributo LS=\. È possibile leggere ad un dato indirizzo, all'indirizzo corrente o in sequenza. L'indirizzo corrente è memorizzato nel contatore interno del dispositivo slave, contiene l'indirizzo della cella interessata dall'ultima operazione incrementato di uno.

Alla ricezione di un comando di lettura, il dispositivo fornisce un bit di riconoscimento e invia un byte di dati corrispondente all'indirizzo corrente. Il controller può rispondere con un riconoscimento, quindi il dispositivo invierà il byte successivo (lettura seriale). Se il controller risponde al byte di dati ricevuto con la condizione Fermare, termina l'operazione di lettura (caso di lettura all'indirizzo corrente). Il controller imposta l'indirizzo di partenza per la lettura con un'operazione di scrittura fittizia, in cui vengono trasmessi il byte dell'indirizzo del dispositivo e il byte dell'indirizzo della cella e, dopo aver ricevuto il byte dell'indirizzo, si forma nuovamente la condizione Inizio e viene trasmesso l'indirizzo del dispositivo, ma con l'indicazione dell'operazione di lettura. In questo modo viene implementata la lettura di una cella arbitraria (o sequenza di celle).

L'interfaccia consente al controller di utilizzare una coppia di segnali per accedere a uno qualsiasi degli 8 dispositivi dello stesso tipo collegati a questo bus e dotati di un indirizzo univoco (Fig. 7.14). Se è necessario aumentare il numero di dispositivi, è possibile collegare i gruppi. In questo caso è possibile utilizzare sia un segnale SCL comune che segnali SDA separati (bidirezionali), sia un segnale SDA comune e segnali SCL unidirezionali separati. Per accedere a uno dei numerosi microcircuiti (o dispositivi) che non dispongono di pin per l'impostazione del proprio indirizzo, viene utilizzata anche la separazione di linea SCL (o SDA).

Il protocollo PC consente a più controller di condividere lo stesso bus rilevando collisioni e arbitrando. Queste funzioni sono implementate in modo molto semplice: se due trasmettitori cercano di impostare diversi livelli di segnale logico sulle linee SDA, allora "vince" quello che imposta il livello basso. Il trasmettitore monitora i livelli dei segnali da esso controllati e, se viene rilevata una discrepanza (trasmette un livello alto, ma “vede” uno basso), rifiuta ulteriori trasmissioni. Il dispositivo può avviare lo scambio solo nello stato passivo dei segnali. La collisione può verificarsi solo quando si tenta di avviare uno scambio contemporaneamente, non appena viene rilevato un conflitto, il trasmettitore "perdente" si spegnerà e quello "vincente" continuerà a funzionare.

Bus USB e FireWire
Riso. 7.14. Collegamento di dispositivi al controller

Appendice A. Ingegneria dei sistemi di computer compatibili con PC IBM

Qui viene considerata l'interazione dei programmi con gli adattatori di interfaccia. Vengono fornite brevi informazioni sull'architettura del PC. Vengono descritti l'organizzazione della memoria e degli spazi di I/O, il sistema di interrupt e l'accesso diretto alla memoria. Informazioni più dettagliate sono disponibili nel libro "Hardware IBM PC. Encyclopedia" ("Peter", 1998).

A.1. spazio di memoria

La struttura logica della memoria del PC è determinata dal sistema di indirizzamento dei processori della famiglia x86. I processori 8086/88 utilizzati nei primi PC IBM avevano uno spazio degli indirizzi di 1 MB (20 bit del bus degli indirizzi). A partire dal processore 80286, il bus degli indirizzi è stato esteso a 24 bit, poi (386DX, 486, Pentium) a 32 e infine a 36 bit (Pentium Pro, Pentium II). Nella modalità processore reale utilizzata in DOS, è formalmente disponibile solo 1 MB di memoria. Tuttavia, a causa di un bug di emulazione del processore 8086 in modalità reale, i processori 80286 e superiori hanno l'indirizzo massimo disponibile lOFFEFh, ovvero (64K-16) byte in più. Viene chiamata l'area lOOOOOh-lOFFEFh Area di memoria elevata (HMA). Al suo interno sono inseriti parte del sistema operativo in modalità reale e piccoli programmi residenti. Per la piena compatibilità con il processore 8086/88, esiste una porta bus indirizzi A20 Cancello A20, che trasmette il segnale dal processore o resetta forzatamente la linea A20 del bus del sistema di indirizzi.

Pubblicazione: cxem.net

Vedi altri articoli sezione Компьютеры.

Leggere e scrivere utile commenti su questo articolo.

<< Indietro

Ultime notizie di scienza e tecnologia, nuova elettronica:

Un nuovo modo di controllare e manipolare i segnali ottici 05.05.2024

Il mondo moderno della scienza e della tecnologia si sta sviluppando rapidamente e ogni giorno compaiono nuovi metodi e tecnologie che ci aprono nuove prospettive in vari campi. Una di queste innovazioni è lo sviluppo da parte di scienziati tedeschi di un nuovo modo di controllare i segnali ottici, che potrebbe portare a progressi significativi nel campo della fotonica. Una recente ricerca ha permesso agli scienziati tedeschi di creare una piastra d'onda sintonizzabile all'interno di una guida d'onda di silice fusa. Questo metodo, basato sull'utilizzo di uno strato di cristalli liquidi, consente di modificare efficacemente la polarizzazione della luce che passa attraverso una guida d'onda. Questa svolta tecnologica apre nuove prospettive per lo sviluppo di dispositivi fotonici compatti ed efficienti in grado di elaborare grandi volumi di dati. Il controllo elettro-ottico della polarizzazione fornito dal nuovo metodo potrebbe fornire la base per una nuova classe di dispositivi fotonici integrati. Ciò apre grandi opportunità per ... >>

Tastiera Seneca Premium 05.05.2024

Le tastiere sono parte integrante del nostro lavoro quotidiano al computer. Tuttavia, uno dei principali problemi che gli utenti devono affrontare è il rumore, soprattutto nel caso dei modelli premium. Ma con la nuova tastiera Seneca di Norbauer & Co le cose potrebbero cambiare. Seneca non è solo una tastiera, è il risultato di cinque anni di lavoro di sviluppo per creare il dispositivo perfetto. Ogni aspetto di questa tastiera, dalle proprietà acustiche alle caratteristiche meccaniche, è stato attentamente considerato e bilanciato. Una delle caratteristiche principali di Seneca sono i suoi stabilizzatori silenziosi, che risolvono il problema del rumore comune a molte tastiere. Inoltre, la tastiera supporta tasti di varie larghezze, rendendola comoda per qualsiasi utente. Sebbene Seneca non sia ancora disponibile per l'acquisto, il rilascio è previsto per la fine dell'estate. Seneca di Norbauer & Co rappresenta nuovi standard nel design delle tastiere. Suo ... >>

Inaugurato l'osservatorio astronomico più alto del mondo 04.05.2024

Esplorare lo spazio e i suoi misteri è un compito che attira l'attenzione degli astronomi di tutto il mondo. All'aria fresca d'alta montagna, lontano dall'inquinamento luminoso delle città, le stelle e i pianeti svelano con maggiore chiarezza i loro segreti. Una nuova pagina si apre nella storia dell'astronomia con l'apertura dell'osservatorio astronomico più alto del mondo: l'Osservatorio di Atacama dell'Università di Tokyo. L'Osservatorio di Atacama, situato ad un'altitudine di 5640 metri sul livello del mare, apre nuove opportunità agli astronomi nello studio dello spazio. Questo sito è diventato il punto più alto per un telescopio terrestre, fornendo ai ricercatori uno strumento unico per studiare le onde infrarosse nell'Universo. Sebbene la posizione ad alta quota offra cieli più limpidi e meno interferenze da parte dell’atmosfera, la costruzione di un osservatorio in alta montagna presenta enormi difficoltà e sfide. Tuttavia, nonostante le difficoltà, il nuovo osservatorio apre ampie prospettive di ricerca agli astronomi. ... >>

Notizie casuali dall'Archivio

Radiometro in fiamme 28.02.2011

È stato creato un dispositivo in grado di distinguere un incendio anche sotterraneo. Per superare facilmente un incendio boschivo, è necessario notarne l'origine in tempo. Purtroppo, di regola, è nascosto dalla vegetazione e talvolta può anche essere posizionato sotto la superficie del suolo. I dispositivi installati su aerei antincendio che studiano i segnali nella gamma degli infrarossi non possono riconoscere tali fuochi.

Gli scienziati del Fraunhofer Institute for High Frequency Physics and Radar Technology, guidati dalla dott.ssa Nora von Wahl, hanno deciso di creare un nuovo dispositivo. Hanno notato che particelle di polvere, fumo e rami di piante sono praticamente trasparenti alle radiazioni a microonde a una frequenza di 22 GHz.

Dopo aver realizzato un ricevitore funzionante a questa frequenza, lo hanno appeso in aria su un robot a palloncino. Come hanno dimostrato le misurazioni, un tale dispositivo a un'altezza di cento metri vede un sedile del fuoco di dimensioni cinque per cinque metri, con una precisione di 2,5 metri. Il sensore a infrarossi è più preciso, ma quello a microonde vede molto meglio: anche lo strato di terreno sopra il fuoco non gli importa, e questo è particolarmente vero quando si combattono gli incendi di torba.

Gli scienziati sperano di rendere il dispositivo più piccolo e più preciso, dopodiché può essere utilizzato per proteggere le foreste. Almeno quelli tedeschi.

Altre notizie interessanti:

▪ incendi boschivi radioattivi

▪ Protesi di tartaruga

▪ Clonato il cavallo di Przewalski

▪ Sistema a chip singolo Ambarella S3L

▪ Controlla i tuoi euro

News feed di scienza e tecnologia, nuova elettronica

 

Materiali interessanti della Biblioteca Tecnica Libera:

▪ sezione del sito Comunicazioni radio civili. Selezione dell'articolo

▪ articolo Mud Raiders. Espressione popolare

▪ articolo Perché è stato scelto un numero non tondo per la distanza della maratona? Risposta dettagliata

▪ articolo Orzo. Assistenza sanitaria

▪ articolo Sintetizzatore di un segnale sinusoidale. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

▪ articolo Prefisso transverter VHF. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Lascia il tuo commento su questo articolo:

Nome:


E-mail (opzionale):


commento:





Tutte le lingue di questa pagina

Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito

www.diagram.com.ua

www.diagram.com.ua
2000-2024