Come Funziona Indirizzi Base Area Comunicaz. Bios
Registri Livello Hardware Livello BIOS Livello DOS
Tecniche d'Interruzione Connettori Cavi Interfaccia
Applicazioni Software
Download INDICE

 Stampanti

Schemi e Applicazioni

  Interfaccia Hardware

INTERFACCIA CENTRONICS [24 di 52] 

    

bulletPer il suo funzionamento la stampante usa un protocollo Hardware noto con il nome del suo ideatore.
bulletUn protocollo è l'insieme di regole da instaurare in un rapporto tra dispositivi; nel nostro caso regola la trasmissione di dati dal computer alla stampante, descrivendo i segnali di interscambio (handshake) necessari per sincronizzare l'evento.  
bulletLa gestione di una stampante prevede anzitutto la necessità di un paio di azioni preliminari:
bulletcome prima mossa il computer porta bassa la linea Select In (pin17) (bit3 di 037AH/027AH a 1) per mettere la stampante in condizioni di funzionare (cioè la porta On-Line): il led di On-Line posto sul pannello della stampante si accende.
bulletè probabile che il computer porti bassa per un breve istante anche la linea Init (pin 16) (bit2 di 037AH/027AH a 0) per reinizializzare la stampante; subito dopo la riporta alta.

 

bulletQuando la stampante è in linea inizia la trasmissione dati vera e propria. Il protocollo Centronics è tipico delle porte standard SPP (e viene emulato senza problemi da quelle evolute EPP/ECP); esso mette in atto le seguenti fasi:
bulletprima di qualunque altra operazione il processore legge la linea Busy (dal il pin 11 attraverso un inverter sul bit7 del Registro 0379H/0279H); se la linea è bassa (bit7=1) la stampante è disponibile a ricevere i dati.
bulleta questo punto il processore copia il carattere da trasmettere sul Registro di uscita (bitbit7 di 0378H/0278H) memorizzandolo in modo stabile sui pin 2 ÷pin 9 del connettore, a disposizione della stampante.
bulletnon appena il dato è stabile sulle linee d'uscita il processore manda bassa per un breve istante (almeno mezzo microsecondo) la linea di Strobe (pin 1) (bit0 di 037AH/027AH a 1) per avvisare la stampante che il dato è pronto.
bulletnaturalmente la stampante è in attesa di questo segnale di Strobe  per operare la lettura del dato solo quando esso è effettivamente disponibile; per questo provvede immediatamente alla sua acquisizione, aggiungendolo al suo buffer di memoria, insieme a quelli ricevuti in precedenza.
bulletnon appena lo stoccaggio è stato ultimato avvisa di ciò il processore mandando bassa per un breve istante (una decina di microsecondi) la linea di Acknowledge (pin 10) (bit0 di 0379H/0279H a 0).
bulletil processore, a sua volta in attesa di questo segnale, provvede alla trasmissione del carattere successivo (spesso i programmi di gestione del protocollo parallelo ignorano questo segnale, dando per scontato che il dato sia comunque arrivato alla stampante;  questo breve impulso è invece fondamentale nella gestione delle procedure sotto interruzione).

 

bulletIl processore continua a trasmettere caratteri alla stampante fino a quando la linea Busy rimane bassa (bit7 del Registro 0379H/0279H a 1); quando la quantità di caratteri spediti dal processore è superiore a quella che la stampante è in grado di processare (o meglio di memorizzare nel suo buffer interno) la linea Busy va alta (bit7 a 0) e la Cpu è costretta ad aspettare che tutti i bytes precedentemente trasmessi siano stati "smaltiti" dalla stampante: questo stato di cose può essere seguito osservando il led di Busy posto in bella vista sul pannello della stampante.
bulletIn condizioni normali la linea di Busy è quasi sempre alta, cioè la stampante sembra quasi sempre occupata; la cosa è ragionevole se si pensa che il computer trasmette "in un lampo" anche migliaia di caratteri mentre la stampante "ci mette una vita" a stamparli.
bulletSe si manifesta qualche mal funzionamento (banalmente finisce la carta) la linea di Busy è rimane alta per forza, obbligando il processore ad una attesa eterna; poiché questa situazione è insostenibile il software di gestione consulta il bit0 del Registro 0379H/0279H in attesa che passi a 1 (Errore di TimeOut); quando ciò si verifica il tempo concesso per risolvere il problema è scaduto (Time-Out)  per cui, di norma, la stampa viene congelata, avvisando l'utente che è il caso di prendere provvedimenti.

 

bulletIl gioco delle parti è illustrato dal seguente diagramma temporale visto (NB.!) sul connettore:

 

 

bulletLe temporizzazioni tra i segnali che il computer e la stampante si scambiano (handshake) non è soggetta a normalizzazione e può variare da un'interfaccia all'altra; i tempi minimi di 500 nanosecondi sono relativi all'interfaccia parallela dei primi computer IBM.

    

Pagina Precedente Stampanti Pagina Successiva INTERFACCIA CENTRONICS   Torna alla Home della Sezione Lezioni - Vai al DownLoad dei files DOC Torna al Menu di "Dentro al Computer"
24 di 52
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

    

Stampanti » Come Funziona.. | Indirizzi Base | Area di Comunicazione Bios | Registri | Cavi
Livello Hardware | Livello BIOS | Livello DOS | Tecniche d'Interruzione | Connettori
Applicazioni Software | Interfacciamento | Download | INDICE
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati