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

Basso Livello - HW

  Programmazione

LIVELLO HARDWARE [12 di 52] 

    

bulletPer la corretta programmazione a basso livello di una stampante sembra necessario anzitutto conoscere:
bullet il significato dei segnali gestiti dai registri della porta parallela; di questo ci siamo occupati nelle schede dedicate alla messa a punto.
bullet i meccanismi che governano la comunicazione parallela tra computer e stampante, argomento oggetto di una prossima scheda.

 

bulletPrima di entrare nel merito vale la pena sottolineare la strana scelta del signor Centronics, autore della prima interfaccia parallela, dal quale ha poi preso il nome:
bulleti segnali di controllo generati dal computer Strobe (pin 1, bit0), Autofeed (pin 14, bit1) e Select In (pin17, bit3) in uscita dal registro 037AH/027AH sono a livello logico 1 ma, per la presenza di un inverter posto tra l'uscita del registro e il connettore, sono attivi bassi dal punto di vista della stampante.
bulletla stampante spedisce sul connettore un segnale attivo alto, Busy (pin 11, bit7), per avvisare il processore che è occupata, ma per la presenza di un inverter dopo il connettore, viene letto come bit a 0 sul registro 0379H/0279H (punto di vista del processore).
bulletciò non vale per l'altro importante segnale di controllo generato attivo basso dalla stampante,  Acknowledge (pin 10, bit06), e letto come 0 anche sul registro 0379H/0279H.

 

bulletLa programmazione a livello hardware può sembrare impegnativa rispetto alle altre (il livello Bios sembra sufficientemente pratico per gestire una stampante); ma nessun livello sarà così veloce ed essenziale come quello "basso".

 

bulletLa porta standard SPP gestisce l'uscita (monodirezionale) con l'aiuto di 4 istruzioni di I/O; le moderne EPP/ECP sono molto più efficienti (per la gestione bidirezionale basta una sola istruzione di I/O) e quando sono in Compatibily Mode (detto anche modo Centronics) funzionano esattamente come le SPP.
bulletSi capisce come le SPP siano decisamente più lente e meno efficienti.
bulletLa scaletta seguente mette in evidenza le 4 istruzioni di I/O, anticipando le operazioni necessarie alla trasmissione di un carattere, riprese con maggior dettaglio nella scheda della pagina seguente:
bulletil dato (8 bit) è posto (OUT) nel Registro d'uscita dati 0378H/0278H.
bulletil programma legge (IN) il Registro di Stato 0379H/0279H per vedere se la stampante non è Busy.
bulletse non è Busy il programma scrive (OUT) nel Registro di Controllo 037AH/027AH per attivare la linea di Strobe.
bulletpoco dopo OUT) ancora nel Registro di Controllo 037AH/027AH per disattivare la linea di Strobe.

 

bulletCon un artificio è possibile usare anche la porta SPP in modo bidirezionale; in questo caso il computer può collegarsi con una periferica in grado di dargli dati (per esempio con un'altro computer, non certo una stampante). Le EPP/ECP simulano questo funzionamento quando sono in  Nibble Mode.
bulletUn esempio pratico di questa tecnica è utilizzato dal cavo di collegamento usato nel trasferimento dati tra computer con LapLink®.

    

Pagina Precedente Stampanti Pagina Successiva LIVELLO HARDWARE   Torna alla Home della Sezione Lezioni - Vai al DownLoad dei files DOC Torna al Menu di "Dentro al Computer"
12 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