Cerca nel sito:
ricerca
avanzata

Frasi Celebri...

Possiedo la piu' grande collezione al mondo di conchiglie marine. La tengo sparpagliata sulle spiagge di tutto il mondo... Forse l'hai vista.

Steven Wright 

Sondaggio:

Quale auto per non passare inosservati?

Jaguar
Mercedes
Ferrari
Maserati
Bmw
AlfaRomeo
Bugatti

visualizza risultati


 

Collegare un 8254 alla LPT 2/4
di Vincenzo Villa


Clikka sullo schema per ingrandirlo
Clikka sullo schema per ingrandirlo


Descrizione del circuito

Il circuito è costituito oltre che dal chip 82c54, dalla sezione di alimentazione, dal generatore di clock e dalla decodifica degli indirizzi, come descritto di seguito. Il circuito dovrebbe essere compatibile anche con i vecchi chip 8254 e 8253, quest’ultimo funzionalmente simile, ma non ho effettuato nessuna verifica.

I connettori permettono il collegamento alla porta parallela EPP del PC, l’alimentazione e la connessione ai dispositivi esterni. Per il funzionamento è necessaria un’interfaccia EPP 1.9 (da settare nel BIOS del PC o tramite ponticelli come EPP oppure EPP/SPP). Non sono adatte le parallele configurate come SPP, EPP 1.7, ECP oppure ECP/EPP.

I test sono stati effettuati su diversi PC di varie generazioni (da P133 a PII-400 a K6-2) con chipset Intel, VIA e Sis; gli unici problemi li ho riscontrati con una vecchia scheda madre in cui non era precisato se la porta EPP fosse 1.7 oppure 1.9. Ho fatto anche i test con due schede LPT aggiuntive diverse (di produttore ignoto): vi consiglio vivamente questa soluzione, per evitare rischi eccessivi al PC.


L'alimentazione

Il circuito necessita di un’alimentazione esterna non stabilizzata e non connessa a massa, quali un trasformatore, una batteria, un alimentatore separato rispetto a quello del PC. È possibile usare sia tensioni continue (da 9 a 25V) che alternate (da 8 a 18V). La corrente assorbita è notevolmente inferiore a 50mA ma l’uso di circuiti esterni potrebbe aumentare tale valore.

Il regolatore montato sulla scheda non necessita di dissipatore a meno di eventuali circuiti esterni che assorbano considerevoli correnti; in questo caso è previsto uno spazio sufficiente per il montaggio verticale di un dissipatore. Nel caso di utilizzo con circuiti esterni potrebbe inoltre essere opportuno aumentare la capacità del condensatore elettrolitico da 100uF, portandolo a 1000uF o più, in funzione degli assorbimenti.

È anche possibile non montare il regolatore e gli altri componenti dell’alimentatore e prelevare la tensione attraverso il connettore di uscita: in questo caso deve trattarsi di alimentazione stabilizzata a 5V. Addirittura con molti PC il circuito funziona "senza alimentazione" (ovviamente l'alimentazione è necessaria e proviene dai pin della LPT che, attraverso i diodi di protezione delle porte CMOS, caricano i condensatori) ma tale modalità è assolutamente sconsigliabile sia per l’eccessiva precarietà sia, soprattutto per il rischio di danneggiare a lungo andare la porta parallela.

Una nota relativa ai quattro condensatori di disaccoppiamento da 220nF: la necessità di realizzare un circuito a singola faccia non mi ha permesso il collocamento in posizione ideale. Personalmente non ho incontrato problemi in nessuno dei prototipi realizzati ma, nel caso ci siano problemi, potrebbe essere utile connettere un condensatore da 100nF al di sotto del circuito stampato, direttamente tra i pin di alimentazione e massa di ciascun integrato.


Il clock

Sul circuito stampato è stato realizzato un generatore di clock con un quarzo. La scelta della frequenza da usare dipende dall’applicazione anche se valori compresi tra 2 e 10 MHz sono adeguati per uso generale. Ovviamente la frequenza generata non è particolarmente precisa (penso centinaia di ppm, anche se mi sono limitato a misurarle con il frequenzimetro dei TDS220)

I componenti da utilizzare nell’oscillatore (C2, C9, R2, R7) non sono critici anche se con quarzi un po’ "sordi" o molto diversi da quelli che ho usato potrebbero esserci problemi: in particolare potete provare ad aumentare i valori dei due C (per basse frequenze di oscillazione) e diminuire il valore di R7. Ho collaudato il circuito anche con un risuonatore ceramico da 4 MHz, con risultati positivi malgrado il circuito non si pensato per questo uso. Nella scelta del quarzo occorre tenere presente che la massima frequenza in ingresso al chip 8254 varia, in funzione del tipo, da 8 a 12 MHz e quindi occorre non superare tali valori.

Il circuito di clock è utilizzabile anche in una versione senza quarzo per applicazioni a basso costo in cui la precisione e la stabilità della frequenza non sono fattori critici, come per esempio nella generazione di segnali PWM. In questo caso è sufficiente sostituire l’inverter 74HC04 con un 74HC14 (porta NOT a triggers di schmitt) e togliere R7, C9 ed il quarzo: in questo modo si realizza un classico multivibratore astabile. La frequenza generata è di poco più grande dell’inverso del prodotto di R2 e C2 (valori indicativi: 10 K W , 1 nF).


L'interfaccia verso il pc

Questa sezione del circuito si incarica di gestire i segnali dell’handshake della porta EPP, illustrata in figura 1 (per un approfondimento della gestione della porta EPP vi rimando, per esempio, al tutorial pubblicato su http://VincenzoV.freeweb.org).

Fig.1: Segnali di gestione

I due segnali data strobe e address strobe, ambedue attivi bassi, sono in uscita dal PC, il segnale wait è invece un ingresso. Schematicamente il funzionamento può essere descritto come segue: il fronte di discesa del data strobe (o dell’address strobe) causa un fronte di salita sul segnale di wait che a sua volta causa un fronte di salita sul data strobe che causa infine un fronte di discesa su wait che termina il ciclo.

Questa tecnica permette di rallentare a piacere la durata del processo, semplicemente allungando i ritardi tra le transizioni. I due gruppi RC presenti nello schema inseriscono un ritardo di circa 250 ns, peraltro piuttosto variabile. In alcuni prototipi non ho saldato i due condensatori (il ritardo è quindi dell’ordine dei 20 ns più quello introdotto dalla porta del PC) e non ho avuto problemi: non ritengo però questa scelta opportuna.

Due dei flip-flop contenuti nel 74HC374 permettono di memorizzare i bit A0 e A1 dell’indirizzo del 82c54 e sono connessi alle linee D0 e D1 della porta parallela; la tecnica assomiglia a quella usata con microprocessori che multiplexano dati ed indirizzi sullo stesso bus. Tali due bit permettono di indirizzare i tre contatore ed il registro di controllo, come descritto sui fogli tecnici del componente. Per scrivere tali indirizzi occorre che il PC effettui un’operazione di scrittura nel registro degli indirizzi della porta EPP.

Le uscite dei rimanenti sei flip-flop, connessi alle linee della porta parallela da D2 a D7, sono invece disponibili sul connettore esterno come generiche linee di uscita. Pur essendo quindi scritti nel registro indirizzi della porta EPP si tratta, a tutti gli effetti, di dati.

Le linee RD e WR del chip 8254, ambedue attive base, sono ricavate direttamente dai segnali della porta parallela.


I connettori

Il connettore verso la porta parallela deve essere di tipo femmina al fine di rispettare la numerazione dei pin prevista sulla serigrafia. Non è presente nessun isolamento tra la massa del circuito e la massa del PC e questo fatto deve essere tenuto presente nel caso in cui si usino generatori esterni ad alta tensione.

Il connettore d’uscita permette di portare verso circuiti esterni i tre pin di Clock, Gate e Out di ciascuno dei tre contatori presenti nel timer 8254, sei linee di uscita generiche (accessibili attraverso la scrittura nel registro degli indirizzi), il clock locale e l’alimentazione stabilizzata a 5V. Sui tre pin di gate sono presenti tre resistori di pull-up e quindi posso essere lasciati non connessi.

La numerazione dei pin presenti sul connettore è riportata in seguito.

 

successivo
–«  INDICE PROGETTI  »–

 

 

 

 
Powered by paper&pencil (carta&matita ) - Copyright © 2001-2022 Cataldo Sasso