L’ interfaccia parallela

La porta parallela ha subito un evoluzione negli anni e ancora oggi è disponibile in larga scala.

Nata come porta per l’interfacciamento delle stampanti è poi divenuto con l’aumento delle capacità di trasferimento, lo standard per lo scambio di dati con dispositivi come HD esterni e altro.

Macchine più anziane(primi IBM e compatibili) montano parallela SPP, per arrivare allo standard PC attuale che vede una porta EPP+ECP (da BIOS si può settare il modo di funzionamento multiplo o uno dei due).

SPP (Standard Parallel Port), nota anche come Tipo AT o ISA-compatible, è la porta parallela standard.

Basata sulla porta Centronics per stampanti.

Caratteristiche:

Trasferimento : 8bit alla volta

Direzione: solo uscita 8bit e Bidirezione in nibble mode (4 ingresso e 4 uscita)

PS/2 o SPP modificata(Bidirezionale semplice)

Caratteristiche:

Trasferimento : 8 Bit alla volta (Byte)

Direzione: Ingresso/Uscita

EPP (Enhanced Parallel Port), Anche in questo caso si tratta di una porta bidirezionale, ha come caratteristica la velocità (scrive o legge un Byte in circa i microsec.), è circa 4 volte più veloce di SPP e PS/2. Una EPP può emulare una SPP e in qualche caso anche una PS/2 (da Bios).

ECP (Extended Capabilities Port), Trasferimento dei dati e Bidirezionalità come la EPP, supporta DMA(direct memory access) ed è bufferizzata.Può emulare le altre porte (SPP,PS2,EPP).

PIN e Registri

La parallela utilizza un connettore femmina DB25 lato computer.

La tabella di seguito evidenzia la piedinatura e indirizzamento per pin.

 

 

LabVIEW™ Port I/O.

In labViewTM , si può accedere alla parallela, utilizzando l’accesso diretto all’indirizzo di memoria della porta, utilizzando i VI Advanced Port IN e Port Out.

Dove si trovano?

Palette Function/Advanced/Port I/O

  

Nota: L’ingresso di Outport e l’uscita di INpor è un integer, che rappresenta il numero corrispondente al byte del registro interrogato.

Si può quindi scrivere direttamente 0 per accendere il pin su D0 (con address 378h) oppure utilizzare un byte booleano e trasformarlo in numero con boolean array to number.

Si possono personalizzare diversi sistemi per manipolare quindi gli array.

Esempi di scrittura su pin D0-D7

Array of boolean

Si può sfruttare questa tecnica per accedere ai pin sfruttando un controllo di tipo array of boolean.

Solitamente viene utilizzata quando si vuole compiere manualmente da pannello l’accensione/spegnimento di un pin.

 

Si nota l’utilizzo della conversione Boolean array to number.

Se si vuole personalizzare ogni singolo pin si può utilizzare anche la funzione cluster to array e utilizzare un cluster personalizzato.

Word

Di default è il controllo in ingresso ad out port, si può sfruttare ad esempio quando si vuole inviare una sequenza di byte, in modo molto più pratico ed economico dal punto di vista computazionale che l’invio di array di boolean.

  

Selected pin

 Si può anche usare un metodo ad indirizzamento, usando ad esempio un array di Boolean preinizializzato e con un  replace array subset, modificare lo stato di uscita di un pin specifico.


String pack

Si può inviare la sequenza di accensione dei pin mediante stringa e scrivere quindi procedure di scrittura su file. Nell’ esempio il controllo byte string contiene sequenze di byte separate da line feed (invio a capo o codice /n ). Vengono processate e inviate byte per byte alla porta.