PkLab.net
Meccatronica
Italy - Basilicata - Matera
 
Robotica&Image processing Sistemi di controllo Applicazioni speciali Networking Didattica
 
Home e contatti
HARDWARE:La porta Parallela

LA PORTA PARALLELA

Nota: questo materiale è di proprietà di Pk Lab ed è utilizzabile liberamente a condizione di citarne la fonte

INDICE:

Introduzione

LA PORTA PARALLELA PERMETTE IL COLLEGAMENTO DI DIVERSE PERIFERICHE CHE TRASFERISCONO 8 bit IN PARALLELO CON STANDARD TTL.

LA PORTA HA UN CONNETTORE A VASCHETTA CON 25 PIN

LO SCOPO PRINCIPALE DELLA PORTA PARALLELA (O CENTRONICS) E' DI COLLEGARE ILPC-IBM AD UNA STAMPANTE

LA PORTA CENTRONICS COME PORTA DI I/O

PER STAMPARE ATTRAVERSO LA PORTA PARALLELA SI PUO' USARE INT 17h SERVIZI 0,1,2

SI PU0' UTILIZZARE LA PORTA COME INTERFACCIA DI INPUT OUTPUT CON ALTRE PERIFERICHE CHE NON SIANO LA STAMPANTE ??

L'INTERFACCIA PARALLELA E' IN GRADO DI LEGGERE E DI PRODURRE SEGNALI ELETTRICI DI CONTROLLO (A BASSISIMA POTENZA) CON STANDARD TTL

E' UTILIZZABILE QUINDI PER COMANDARE UN RELE', O VERIFICARE SE UN INTERRUTTORE E' APERTO O CHIUSO.

LA PORTA PARALLELA PUO' GENERARE UN IRQ7 QUANDO CAMBIA STATO UNO DEI SUOI PIN (ACK)

QUINDI UNA QUALSIASI PERIFERICA PUO' PRODURRE UN INTERRUPT SW

Torna all'indice

REGISTRI INTERNI DELLA PORTA

IL PC-IBM PUO' DISPORRE FINO A TRE DIVERSE PORTE CENTRONICS, A CUI CORRISPONDONO TRE DIVERSI INDIRIZZI BASE DI I/O (278h, 378h, 3BCh)

OGNI PORTA CENTRONICS DISPONE DI TRE REGISTRI COMPRESO IL REGISTRO BASE:

PRINTER DATA OUTPUT (PDO): contiene il byte che deve essere trasmesso. Il registro è collegato ai pin 2..9 della porta parallela. Il byte puo' essere solo trasferito sui pin hw e mai letto dai pin nel registro.

PRINTER STATUS REGISTER (PSR): contiene informazioni relative allo stato della porta. Queste informazioni sono strettamente legate al collegamento della porta con una stampante. Il registro è collegato ai pin 10..15 della porta parallela ed è a SOLA LETTURA. NOTA il bit 7 (pin 11) relativo al segnale 'busy' è negato elettricamente.

PRINTER CONTROL REGISTER (PCR): registro di controllo della porta parallela. Questo registro è a SOLA SCRITTURA, tranne il bit di STROBE che dovrebbe essere bidirezionale. Il bit 4 abilita la generazione di IRQ 7 quando sul pin 6 (ACK) giunge un impulso

Torna all'indice

CORRISPONDENZA PORTE PIN

CORRISPONDENZA PORTE PINla porta parallela puo' dunque essere usata come una porta di I/O TTL con:
  • un bus da 8 bit in USCITA
  • un bus da 3 bit in USCITA
  • un bus da 5 bit in INGRESSO

Inoltre i pin possono essere utilizzati anche singolarmente

Torna all'indice

LA COMUNICAZIONE PARALLELA

view source code LPTTERM.C

Una possibile applicazione della porta parallela puo' essere quella di comunicazione ad alta velocità tra due PC. A differenza della comunicazione seriale si ha:

  • MAGGIORE VELOCITA': il byte sul cavo seriale viene spedito un bit alla volta quindi ci vuole più tempo. MINORE ROBUSTEZZA': i segnali TTL sono a bassisima potenza pertanto facilmente disturbabili.
  • MINORE DISTANZA: questa è una conseguenza del punto precedente, ma anche del maggior costo di un cavo parallelo.

DATO CHE LA PORTA PARALLELA DISPONE SOLO DI 5 INGRESSI, LA TRASMISSIONE DI UN BYTE DEVE AVVENIRE ALMENO IN DUE VOLTE.

RISULTA COMDO DIVEDERE IL BYTE NEI NIBBLE (4 bit) INFERIORE (bo..b3) E SUPERIORE (b4..b5)

IN QUESTO MODO LA PIU' PICCOLA ENTITA' DA TRASMETTERE E' UN NIBBLE

Torna all'indice

Il cavo parallelo

IN QUESTA CONFIGURAZIONE (ll3, dos6) CI SONO DUE BUS MONODIREZIONALI, UNO PER OGNI SENSO.

OGNI BUS DA 5 BIT CONTIENE UN NIBBLE PIU' UN SEGNALE DI CONTROLLO E SINCRONIZZAZIONE (ricordarsi che il pin 11 è negato elettricamente)

QUALE PROTOCOLLO DI COMUNICAZIONE ??

UN SEMPLICE PROTOCOLLO DI COMUNICAZIONE PARALLELA

UNO DEI VANTAGGI DELLA COMUNICAZIONE SERIALE E' CHE L'INTERFACCIA UART SI PREOCCUPA DI TUTTI I PROBLEMI ELETTRICI E DI SINCONIZZAZIONE TRA I DUE TERMINALI.

IN QUESTO E' NECESSARIO CONTROLLARE CON IL SW TUTTO LO SCAMBIO DI INFORMAZIONI.

A QUESTO SCOPO SI POSSONO UTILIZZARE LE LINEE DI CONTROLLO PER REALIZZARE UNA SORTA DI SINCRONIZZAZIONE TRA CHI TRASMETTE E CHI RICEVE.

DATO CHE I DUE TERMINALI SONO COMPLETAMENTE ASINCRONI, NON E' POSSIBILE TRASMETTERE AD IMPULSI.

PRIMA DI TRASMETTERE UN NIBBLE SUCCESSIVO BISOGNA ESSERE SICURI CHE QUELLO PRECEDENTE SIA STATO LETTO, ALTRIMENTI VA PERSO.

QUESTO ACCADE PER TUTTI LE LINEE UTILIZZATE

DEFINISCO I SEGUENTI SEGNALI:

REQUEST TO SEND (RTS): tx invia una richiesta di trasmissione di un nibble sulla sua linea di controllo.

OK TO SEND (OTS): rx sente un RTS ed invia una accettazione della trasmissione sulla sua linea di controllo.

DATA READY (DR): tx sente un OTS, dispone il nibble sul bus dati, e comunica il dato pronto a rx

END READ (ER): rx sente DR legge il dato dal bus e comunica quando l'operazione è terminata.

Torna all'indice

Tecnical Report on parallel printer port



 	Port 3BC printer data output-PDO (readable)

         ¦7¦6¦5¦4¦3¦2¦1¦0¦  ports 278, 378, 3BC
          ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---- data bit 0, hardware pin 2
          ¦ ¦ ¦ ¦ ¦ ¦ +----- data bit 1, hardware pin 3
          ¦ ¦ ¦ ¦ ¦ +------ data bit 2, hardware pin 4
          ¦ ¦ ¦ ¦ +------- data bit 3, hardware pin 5
          ¦ ¦ ¦ +-------- data bit 4, hardware pin 6
          ¦ ¦ +--------- data bit 5, hardware pin 7
          ¦ +---------- data bit 6, hardware pin 8
          +----------- data bit 7, hardware pin 9

 	Port 3BD printer status register-PSR   (Parallel Printer Port)

         ¦7¦6¦5¦4¦3¦2¦1¦0¦  ports 279, 379, 3BD
          ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---- 1 = time-out
          ¦ ¦ ¦ ¦ ¦ +------- unused
          ¦ ¦ ¦ ¦ +-------- 1 = error,	pin 15
          ¦ ¦ ¦ +--------- 1 = on-line,  pin 13
          ¦ ¦ +---------- 1 = out of paper,  pin 12
          ¦ +----------- 0 = Acknowledge,  pin 10
          +------------ 0 = busy,  pin 11

 	Port 3BE printer control register-PCR   (Parallel Printer Port)

         ¦7¦6¦5¦4¦3¦2¦1¦0¦  ports 27A, 37A, 3BE
          ¦ ¦ ¦ ¦ ¦ ¦ ¦ +---- 1 = output data to printer,  (pin 1)
          ¦ ¦ ¦ ¦ ¦ ¦ +----- 1 = auto line feed,  (pin 14)
          ¦ ¦ ¦ ¦ ¦ +------ 0 = initialize printer,  (pin 16)
          ¦ ¦ ¦ ¦ +------- 1 = printer reads output,  (pin 17)
          ¦ ¦ ¦ +-------- 0 = IRQ disable,1=IRQ enable for ACK
          +------------- unused


Torna all'indice


Il PKLAB aderisce ai principi Open Access della Dichiarazione di Berlino (Sito italiano)
[Home Page]  [System Control]   [Robotic & Image processing]   [Applicazioni Speciali]  [Didattica]   [Networking]   [Search]

Contatto:
Valid CSS!