Video del "Pilotaggio della porta Parallella"
LA PORTA PARALLELA
Il comune PC possiede una sola porta stampante a cui possono essere connesse la stampante ed altri dispositivi "paralleli"(ZIP, scanner…).
Essa è conosciuta anche come LPT, porta stampante, printer port oppure ancora come interfaccia Centronics.
La porta parallela è facilmente riconoscibile guardando il computer all'esterno: appare come un connettore a 25 poli DB25 femmina (cioè con i fori), posto normalmente sul retro del PC.
Non va confusa con la porta seriale che, nei vecchi PC, è costituita da un connettore DB25 maschio (cioè con gli "spilli").
Pilotaggio di 8 diodi led con la porta parallela di un computer e il Turbo C
OGGETTO:
INTERFACCIAMENTO CON LA PORTA PARALLELA DI UN COMPUTER TRAMITE 8 DIODI LED ROSSI, UN PULSANTE DI RESET ED UN DIODO VERDE PER LA VISUALIZZAZIONE DELL’ALIMENTAZIONE.
STRUMENTI UTILIZZATI:
-Computer IBM compatibile con porta parallela a 25 pin
-Alimentatore a 5 Volt
-Software: Turbo C
-Software: DEBUG (in dotazione con qualunque PC al prompt di MS-DOS)
-Software:MASM 5.1
-Bread-Board
COMPONENTI UTILIZZATI:
-Un cavo flessibile, con un connettore DB25 da interfacciare con la porta parallela ad una estremità e dall’altra un connettore da 24 pin da collegare con uno zoccolino per bread-board da 24 pin o superiore.
-Zoccolino per integrati da 24 pin o superiore.
-9 resistenze da 270 Ohm
-8 diodi led rossi
-1 diodo led verde
-1 x C.I. 74244 ottuplo buffer tre-state di tipoTTL
SPIEGAZIONE DEI COMPONENTI UTILIZZATI:
Il 74244 è un buffer non invertente della famiglia TTL con all’interno 8 buffer di tipo tre-state e con due gate attivi bassi (G1 e G2).
Il 74244 nel nostro circuito ha il solo scopo di bufferizzare 4+4 linee della porta parallela, cioè non cambia il segnale di uscita della porta parallela, ma ha il solo scopo di salvaguardare il PC da sovraccarichi e da eventuali bruciature o rotture. Il 74244 numero 1 separa gli 8 diodi led.
Il pulsante di reset serve solo se vogliamo disabilitare il primo 74244 quanto eseguiamo la prova con il display, ed in tal caso dobbiamo aprire il pulsante per dare un valore logico ‘1’ cioè alto ai suoi gate.
Il led verde serve solo per vedere se ho dimenticato ad accendere l’alimentatore e deve sempre essere acceso nell’esecuzione delle varie prove.
La porta parallela del PC si presenta fisicamente come un connettore maschio a 25 poli attraverso il quale il PC può colloquiare con il mondo esterno.
L’interfaccia presente nel PC associa alla porta parallela tre indirizzi di I/O (input/output) che sono 0378h, 0379h, 037Ah (per la porta LPT1) in corrispondenza dei quali vengono depositate le informazioni relative ai dati da trasferire e alle segnalazioni di controllo.
Questi indirizzi sono anche chiamati REGISTRO DEI DATI (0378h), REGISTRO DI STATO (0379h), e REGISTRO DI CONTROLLO (037Ah).
Il connettore a vaschetta (DB type) a 25 pin femmina è il seguente (vedi figura).
Ogni pin corrisponde a un differente segnale di ingresso e di uscita i cui significati sono riassunti nella seguente TABELLA 1.
Nelle nostre prove useremo il registro A, cioè il DATA REGISTER (0378h) .
Schema del circuito di pilotaggio di 8 diodi led attraverso la porta parallela
Il 74HC244 deve essere collegato anche con i seguenti pin non presenti in figura:
pin 20 = Vcc = 5V
pin 10 =GND
Il 74LS47 deve essere collegato anche con i seguenti pin non presenti in figura:
pin 16 = Vcc= 5V
pin 8 = GND
Porta parallela con display
La porta parallela può essere utilizzata per pilotare otto diodi led, oppure otto carichi diversi.
Esempi di carichi da pilotare sono: relè, motorini, timer etcc. ognuno con il loro dispostivo di pilotaggio appropriato.
In questa seconda prova noi utilizzeremo un display a 7 segmenti.
Schema elettrico del circuito di pilotaggio di un display con la porta parallela.
Circuito di pilotaggio di un display con la porta parallela
Nulla ci vieta di collegare sia il display che gli otto diodi led in contemporanea. In questo caso dovremo utilizzare due 74244, uno per gli otto diodi led e un altro per il display. Il software dovrà essere predisposto in modo tale che sia il display che i diodi siano pilotati in contemporanea o in modo indipendente.
Schema elettrico del circuito che pilota in contemporanea sia un display che 8 diodi led attraverso la porta parallela.
Software di pilotaggio
//programma che accende 8 diodi led con il Turbo C
#include<conio.h>
#include<stdio.h>
#include<dos.h>
void main()
{
int dato,a;
…………………………………………
printf("Che combinazione vuoi accendere?
");
printf("Inserisci un numero da 1 a 6
"); //sceglie il case da utilizzare
scanf("%d",&a);
switch(a)
{
case 1:
dato=255;
outportb(0x378,dato);
printf("I led sono tutti accesi");
break;
case 2:
dato=0;
outportb(0x378,dato);
printf("I led sono tutti spenti");
break;
………………………………………………
}
}
Piedinatura del buffer non invertente 74244 e relativa tabella della verita' .
Funzionamento della porta parallela
Alcuni PC, particolarmente ricchi di periferiche e non particolarmente recenti, hanno anche altri connettori femmina a 25 poli, per esempio quello di alcune porte SCSI per scanner.
Qualora si intendesse usare la LPT per circuiti autocostruiti è cosa quanto mai opportuna installare una seconda parallela.
Questo evita da una parte la necessità di sconnettere la stampante ogni volta che si lavora e dall'altra, nel caso di errori, non si rischia la rottura dei chip montati sulla scheda madre.
Un altro consiglio è quello di procurarsi un cavo di uno o due metri con un connettore DB25 maschio e uno femmina (oppure un doppio connettore maschio) e tutti i fili connessi uno a uno, cioè il pin uno di un connettore connesso all'uno dell'altro connettore, il due al due e così via. Ciò permette di poter comodamente lavorare senza spostarsi continuamente sul retro del PC. Molto utile anche un gender changer femmina-femmina e, eventualmente, maschio-maschio.
Il connettore in genere installato sulle stampanti (centronics) è invece a 36 pin ed ha una diversa forma, pur avendo sostanzialmente la stessa funzione; in genere è scomodo da utilizzarsi in quanto ha troppi pin "inutili".
I TIPI DI PORTA PARALLELA
Nel tempo la porta parallela montata nel PC si è evoluta anche se, con qualche eccezione, si è mantenuta la compatibilità con i primi modelli. Molti costruttori hanno in passato apportato modifiche e miglioramenti allo standard originario purtroppo con scarsa compatibilità tra modelli diversi: ciò ha reso di fatto inutilizzabili sulla generalità dei PC le caratteristiche avanzate disponibili solo per alcune porte parallele.
Le categorie che comprendono tutte le porte attuali sono sostanzialmente tre:
La Standard Parallel Port (SPP). È il modello originario di porta parallela, installato sul primo PC XT. Pensata originariamente solo per la connessione alle stampanti, con qualche accorgimento permette anche in altri usi. Tutti gli altri tipi di porta parallela sono compatibili con questo e quindi il software e l'hardware sviluppati per questa porta sono praticamente universali.
La Enhanced Parallel Port (EPP). Permette lo scambio bidirezionale dei dati fornendo un supporto hardware per l'hand shaking. E' possibile raggiungere alte velocità di trasferimento, in alcune applicazioni anche 10 volte maggiori della SPP.
La Extended Capabilities Port (ECP). Permette la maggiore flessibilità di utilizzo, ha il supporto del DMA ed una grande varietà di modalità di funzionamento. Come contropartita è piuttosto difficile progettare hardware capace di usarla.
Tutti questi modi di funzionamento sono stati normati nello standard IEEE 1284 del 1994, accanto al Nibble Mode ed al Byte mode. In questo tutorial tratterò solo della SPP.
Se il PC è piuttosto vecchio (diciamo fino ad un 486 del 1994) e la porta parallela è installata su una scheda connessa al bus ISA o VL-bus, molto probabilmente la porta è una SPP e quindi non necessita di alcuna configurazione. In genere la stessa scheda che ospita il connettore stampante ha anche la funzione di controller per i dischi e le porte seriali o, in macchine molto vecchie, di scheda video.
Tabella dei pin della porta parallela e relativa logica
I registri della porta parallela
La struttura interna di un processore è relativamente complessa ma la logica che lo governa rende facile la comprensione delle sue parti.
Le locazioni di memoria personali del processore hanno il nome di registri.
I registri sono locazioni di memoria ultraveloci (hanno la velocità del clock) in stretto contatto con tutte le altri parti della CPU a cui appartengono, con le quali interagiscono al fine di elaborare i dati pervenuti o organizzare il loro smistamento.
I registri della porta parallela sono 3.
-Il primo registro della porta parallela SPP cioè Standard Parallel Port (certamente indirizzo base della serie) è una porta di uscita a 8 bit ed ha indirizzo 0378H – 0278H – (03BCH).
-Registro di uscita0378H-0278H-(03BCH)
Bit 0 in uscita sul pin 2 del connettore
Bit 1 in uscita sul pin 3 del connettore
Bit 2 in uscita sul pin 3 del connettore
Bit 3 in uscita sul pin 4del connettore
Bit 4 in uscita sul pin 5 del connettore
Bit 5 in uscita sul pin 6 del connettore
Bit 6 in uscita sul pin 7 del connettore
Bit 7 in uscita sul pin 8 del connettore
In questa tabella per comodità ad ogni bit del registro è stato messo in evidenza il corrispondente pin della porta centronics o connettore DB25.
Il byte che viene posto sulla porta 0378H – 0278H viene trasferito sul connettore così come è e ci rimane fino all’esecuzione dell’eventuale successiva istruzione di OUT.
Modificando i bit e collegandosi al corrispondente bit sul connettore è possibile (con la dovuta precauzione, possibilmente tramite interfaccia 74244 (8 bit-buffer non invertente con enable) usare questo registro per il controllo di otto periferiche ON-OFF, come relè o diodi led.
Dal punto di vista dei rapporti con la stampante il primo registro (0378H-0278H) è la porta d’uscita dei dati dal computer verso la stampante.