Interfaccia Centronics

Centronics RS-232 USB IEEE1394

 

Home
Sistemi
Telecom
Elettronica
Italiano
Storia
Inglese
Ed.Fisica
Progetto personale
Chi sono

 

 

E’  una interfaccia parallela ad 8 bit di tipo asincrona usata soprattutto per collegare un computer ad una stampante parallela. Il flusso di dati è tipicamente monodirezionale e va, naturalmente, dal computer alla stampante. Recentemente, grazie alla evoluzione della interfaccia, è possibile anche inviare sulle stesse linee dati che vanno dal dispositivo periferico al computer e ciò consente l’utilizzo di tale interfaccia anche per il collegamento di dispositivi di input come, ad esempio, lo scanner o la webcam. Il connettore sul retro del computer è di tipo D a 25 poli femmina. Su un PC possono prendere posto fino a 3 interfacce parallele denominate LPT1, LPT2 e LPT3 (Line Printer Terminal). Ciascuna delle 3 LPT presenta 3 indirizzi contigui destinate alle periferiche di I/O.

L’indirizzo base della LPT1 è 888 (in esadecimale: 378), gli altri due indirizzi sono 889 e 890. L’indirizzo base della LPT2 è 632 (in esadecimale: 278), gli altri due indirizzi sono 633 e 634. L’indirizzo base della LPT3 è 956 (in esadecimale: 3BC), gli altri due indirizzi sono 957 e 958. Si riassume la situazione nella seguente tabella 3.

 

 

 

Ind. base

Ind.base+1

Ind.base+2

LTP1

888

889

890

LPT2

632

633

634

LPT3

956

957

958

  Tabella 3

 

Alla LPT1 viene riservato l’interrupt IRQ7. Il registro base di indirizzo 888, denominato registro dati,  contiene 8 bit di uscita dal PC.

Il registro di indirizzo successivo 889, noto come registro di stato, è accessibile solo dall’esterno e solamente per 5 dei suoi 8 bit. È detto registro di stato perché ciascuna delle 5 linee individua un particolare stato in cui si trova la stampante (occupata, carta esaurita, errore, ecc.). Il registro di indirizzo 890, noto come registro di controllo, rende disponibili solo 4 bit di uscita.

In fig.4 si mostra il connettore a 25 poli posto sul retro del computer.

 

 

    Fig. 4 – Interfaccia Centronics. Connettore a 25 poli femmina posto sul retro del PC

 

 

In tabella 4 si riporta la piedinatura, la denominazione, la direzione, l’indirizzo e l’uso delle linee che l’interfaccia Centronics mette a disposizione sul connettore D a 25 poli agli indirizzi 888, 889 e 890 della LPT1.

 

 

PIN

NOME

DIREZIONE

INDIRIZZO ED USO

1

_______

STROBE

USCITA

890  OUT 890,1   0V

890  OUT 890,0   5V

2

DATA1

USCITA

 

3

DATA2

USCITA

 

4

DATA3

USCITA

 

5

DATA4

USCITA

OUT 888,N

6

DATA5

USCITA

Per

7

DATA6

USCITA

 0  £ N £ 255

8

DATA7

USCITA

 

9

DATA8

USCITA

 

10

ACK

INGRESSO

B3  (64)  SE ALTO

 

11

_____

BUSY

 

INGRESSO

 

B4 (128) SE BASSO

12

PAPER OUT

INGRESSO

B2  (32)  SE ALTO

13

SELECTED

INGRESSO

B1  (16)  SE ALTO

 

14

__________

AUTOFEED

 

USCITA

 

890 OUT 890,2 0V

15

ERROR

INGRESSO

B0  ( 8 )  SE ALTO

16

INIZIALIZE PRINTER

USCITA

890 OUT 890,4 5V

 

17

_____________

SELECT INPUT

 

USCITA

 

890 OUT 890,8 0V

18…25

GND

 

 

 Tabella 4

 

Registro dati (indirizzo 888) :

Le linee di uscita DATA8...DATA1, di indirizzo 888 (378 esadecimale),  situate tra i pin 9....2, sono memorizzate, cioè rappresentano i bit di uscita di altrettanti flip-flop.

 

 

LINEE

 

DATA8

DATA7

DATA6

DATA5

DATA4

DATA3

DATA2

DATA1

PIN

9

8

7

6

5

4

3

2

 

 

Registro di stato (indirizzo 889):

L’interfaccia Centronics possiede 5 linee di ingresso all’indirizzo 889 (379 esadecimale) con i seguenti valori e logiche di funzionamento:

_____

BUSY                         (pin 11)            vale 128 se è al livello basso      (logica negativa).

ACK                           (pin 10)            vale 64 se è al livello alto           (logica positiva).

PAPER OUT                (pin 12)            vale 32 se è al livello alto           (logica positiva).

SELECTED                  (pin 13)            vale 16 se è al livello alto           (logica positiva).

ERROR                       (pin 15)            vale 8 se è al livello alto            (logica positiva).

 

 

 

LINEE

 

_____

BUSY

ACK

PAPER OUT

SELECTED

ERROR

1

1

1

PIN

11

10

12

13

15

 

 

 

 

I rimanenti 3 bit meno significativi del byte di ingresso non sono accessibili sul connettore e sono poste, internamente all’interfaccia,  al livello alto (1112 = 710 ).

Avendo a disposizione 5 bit (32 combinazioni) è possibile acquisire, via software in una variabile A, un valore compreso tra 0 e 31.

Ciò si realizza con i seguenti passaggi:

                                                                           ____

A = A XOR 128 (per complementare il bit applicato su BUSY);

A = A - 7            (per azzerare i tre bit meno significativi : operazione, comunque,

                            non necessaria);

A = A / 8            (per lo scorrimento a destra di 3 posizioni).

 

L'algoritmo di acquisizione in linguaggio QBASIC risulta, pertanto:

 

A = ((INP(889) XOR 128) - 7 ) / 8

 

In questo modo la parola di ingresso A assume un valore compreso tra 0 e 31.

 

 

Registro di controllo (indirizzo 890):

L’indirizzo Centronics 890 (37A esadecimale) rende disponibile in uscita altri 4 bit di cui tre attivi in logica negativa ed una in logica positiva :

___      _____

STB = STROBE                      (pin 1)   vale 1 se è al livello basso (logica negativa).

__     __________

AF = AUTOFEED                   (pin 14)  vale 2 se è al livello basso (logica negativa).

 

IP = INIZIALIZE PRINTER  (pin 16)   vale 4 se è al livello alto (logica positiva).

__    _____________

SI = SELECT INPUT                          (pin 17)  vale 8 se è al livello basso (logica negativa).

 

IRQE = ABILITA INTERRUPT            vale 16  se è al livello alto (logica positiva)

                                                                 ma non è disponibile fisicamente.

 

indirizzo 890

bit 7

bit 6

bit 5

bit 4

bit 3

bit 2

bit 1

bit 0

 

LINEE

 

 

 

 

 

IRQE

__

SI

 

IP

­­__

AF

___

STB

PIN

 

 

 

 

17 

16

14

1

                                                                                                                     

Se si intende trasmettere una parola a 4 bit con valore compreso tra 0 e 15 e con i bit attivi in logica positiva, occorre commutare (XOR con 1 logico) i bit  e lasciare inalterato (XOR con zero logico) il bit IP :

 

OUT 890, A XOR 11

 

 

A3

 

A2

A1

A0

 

A nel PC

 

1

 

0

1

1

 

11

__

A3

 

 

A2

__

A1

__

A0

 

A XOR 11

 

A3

 

A2

A1

A0

 

A in uscita

 

Procedura per dichiarare di ingresso la porta all'indirizzo 888.

Se l'interfaccia Centronics è impostata come EPP (Enhanced Parallel Port) è possibile effettuare l'input di un byte all'indirizzo 888 purché  si imposti ad 1 il bit 5 del registro di controllo posto all'indirizzo 890.

Impostando a 0 il bit 5 dell'indirizzo 890, il byte DATA8...DATA1 del registro dati all'indirizzo 888 ritorna a funzionare come byte di output.

Si riporta un semplice listato di test in QBASIC (facilmente modificabile in un altro linguaggio di programmazione) per provare la Centronics all'indirizzo 888 come canale di input a 8 bit.

Con un semplice spezzone di cavo telefonico (quello usato per collegamenti su bread-board) si collega il pin 2 (DATA1) al pin 25 (GND) del connettore (femmina) a 25 poli posto sul retro del PC e si prova il programma ottenendo sul monitor la stampa continua del numero 254 fino alla pressione di un tasto qualsiasi sulla tastiera. Portando il filo sul pin 3, 4, ecc. tenendo l'altro capo del filo sempre a massa, si può verificare che effettivamente il dato in lettura si modifica in funzione del pin collegato a massa. È  superfluo dire che le linee DATA8 ... DATA1 posti sui pin 9...2 sono da ritenersi allo stato 1 se tenute aperte.

Per impostare l'interfaccia Centronics come EPP, infine, si va nel BIOS SETUP e si  imposta la stampante come EPP anziché come SPP.

 

 

Fig.5. – Programma e collegamenti per provare la Centronics come porta di ingresso all’indirizzo 888.

 

Centronics • RS-232 • USB • IEEE1394