Interfaccia TTL per porta LPT
Controllate sempre due volte i circuiti che fate prima di alimentarli! Inoltre c'e' gente che dice che sia necessario montare questo circuito a computer spento.
La porta parallela (LPT) puo' essere utilizzata come dispositivo di IN/OUT per il PC, infatti permette di avere 8 bit in ingresso e 8 bit in uscita con compatibilita' TTL. Naturalmente la cosa non e' cosi' facile come sembra.
Per gestire le uscite (indirizzo classico 0378h) occorre utilizzare un buffer TTL, come il 74LS244, in modo da amplificare la corrente fornita dalla LPT. I pin del connettore DB25 (della parallela) relativi all'uscita sono i seguenti:
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | GND |
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 18...25 |
INDIRIZZO 0378H | Massa |
Nello schema da me presentato sono stati inseriti anche dei LED che indicano lo stato logico delle uscite e degli ingressi. Le uscite della parallela sono latched cioe' il comando (e quindi il livello) rimane fino ad un nuovo comando del programma. I comandi assembler per far uscire un'informazione contenuta nel registro AL sono i seguenti:
MOV DX,0378H OUT DX,AL
Schema elettrico del circuito di output:
La gestione degli ingressi e' piu' complicata: alcuni bit sono a logica negativa e quindi devono essere negati via hardware (praticamente attraverso delle NOT TTL). Inoltre gli ingressi utilizzano 2 registri distinti: lo 0379h (5 bit piu' significativi), chiamato Registro di Stato, e lo 037Ah (3 bit meno significativi), chiamato Registro di Controllo, che devono essere combinati per ottenere la parola di 8 bit. Per garantire un minimo di "isolamento" tra l'esterno e la parallela i segnali di ingresso passano attraverso dei latch D (74LS75) che hanno anche l'uscita negata utile per i bit a logica negativa. I pin del connettore DB25 utilizzati come ingresso sono i seguenti:
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | GND |
11N | 10N | 12 | 13 | 15 | 16 | 14 | 1N | 18...25 |
INDIRIZZO 0379H | INDIRIZZO 037AH | Massa |
I bit negati sono quindi D7, D6 e D0. Notare che il pin 17 non viene utilizzato. Naturalmente se ai bit di ingresso devono essere collegati degli interruttori essi devono essere dotati di un dispositivo antirimbalzo. Di seguito riporto alcune linee di codice assembler adatte all'ingresso degli otto bit e alla memorizzazione dell'informazione nel registro AL:
MOV DX,0379H IN AL,DX AND AL,0F8H MOV BL,AL MOV DX,037AH IN AL,DX AND AL,07H OR AL,BL
Schema elettrico del circuito di input:
L'interfaccia parallela di ingresso funziona solo con LPT di tipo SPP quindi controllate nel BIOS del vostro PC il tipo di LPT che e' installato. Se avete un altro tipo (ECP, EPP) potete cambiarlo in SPP senza causare malfunzionamenti delle periferiche. L'interfaccia di uscita funzione con qualsiasi tipo di LPT.