sâmbătă, 21 iulie 2012

Portul Paralel

Începând cu calculatorul IBM PC original (introdus în anul 1981), firma IBM a definit un port paralel standard pentru imprimantă. Acest port reprezenta o alternativă la portul serial mai lent, fiind utilizat mai ales pentru conectarea imprimantelor matriciale mai rapide. Definiţia iniţială s-a regăsit în adaptorul pentru imprimantă (“IBM Printer Adapter”) şi adaptorul pentru monitor monocrom şi imprimantă (“IBM Monochrome Display and Printer Adapter”). 
 Ulterior, portul paralel a devenit mijlocul prin care se puteau conecta la calculator periferice cu performanţe mai ridicate, ca unităţi de partajare a imprimantelor, unităţi portabile de discuri, unităţi încasetate de bandă şi unităţi CD-ROM. Pentru aceste periferice se utilizau porturile paralele îmbunătăţite (EPP,  ECP). În prezent, portul paralel este utilizat doar într-o măsură redusă pentru conectarea unor periferice, fiind înlocuit de alte interfeţe, cum este interfaţa USB. 
Totuşi, portul paralel permite conectarea la calculator a unor periferice mai vechi sau a unor echipamente simple care nu dispun de controlerele complexe necesare pentru interfeţe cum sunt USB sau FireWire. 
 În această lucrare se prezintă portul paralel standard  SPP (Standard Parallel Port). Porturile paralele îmbunătăţite vor fi prezentate în lucrarea următoare. 
 1.2. Conectori şi cabluri 
 Portul paralel al calculatorului utilizează un conector mamă DB-25S cu 25 de contacte sub formă de pini, aflat pe panoul din spate al calculatorului. Din cele 25 de contacte, 17 sunt utilizate pentru liniile de semnal, iar 8 ca linii de masă. Liniile de semnal sunt împărţite în trei grupe: 
• Control  (4 linii) 
• Stare  (5 linii) 
• Date  (8 linii) 
Acest conector a fost standardizat ulterior de organizaţia IEEE, cu denumirea de conector IEEE1284-A.


Imprimantele conectate la portul paralel al calculatorului utilizează un conector cu 36 de contacte, cunoscut sub numele de Centronics, după numele firmei Centronics Data Computer Corporation care a utilizat pentru prima dată acest conector pentru imprimantele produse de aceasta în anii 1970. Contactele acestui conector sunt sub formă de lamele. Asignarea semnalelor pentru acest conector a fost modificată de mai multe ori. Prima variantă a fost cea definită de firma Centronics. În anul 1981, IBM a modificat câteva din conexiunile conectorului. În final, în anul 1994 IEEE a efectuat unele modificări ale asignării semnalelor şi a standardizat conectorul cu denumirea de conector  IEEE 1284-B



În cazul în care nu se dispune de un port paralel  bidirecţional, este totuşi posibilă utilizarea portului paralel unidirecţional ca port de intrare. Prin înscrierea valorii FFh în registrul de date,  orice semnal TTL extern cu valoarea logică 0 va fi citit, probabil, ca 0 în registrul de date. Un semnal TTL
extern cu valoarea logică 1, sau lipsa unui semnal, va permite pinului să rămână la valoarea logică 1 şi va fi citit ca 1 în registrul de date. O asemenea utilizare a portului nu este însă recomandată, deoarece forţează circuitul utilizat pentru implementarea portului paralel şi poate cauza deteriorarea acestuia. 
De notat că, spre deosebire de porturile IBM originale, realizate cu circuite MSI TTL, cum este circuitul 74LS374, porturile paralele mai recente sunt implementate prin controlere aflate în setul de circuite de pe placa de bază, cu caracteristici electrice şi costuri de înlocuire diferite. 
 Metoda recomandată pentru utilizarea portului paralel unidirecţional pentru intrare este folosirea liniilor de stare ale portului. Există un număr de 5 linii de stare, care permit transferul datelor de la un echipament extern conectat la portul paralel. Starea acestor linii poate fi citită din registrul de stare, în 
poziţiile  S7,  S6,  S5,  S4 şi  S3. De notat că bitul  S7 este inversat. Această metodă nu permite însă transferul simultan a 8 biţi de date de la un echipament extern. 
Figura 1.3. Utilizarea unui multiplexor 74LS157 pentru transferul datelor de la un echipament extern
 O soluţie la această problemă constă în transferul celor 8 biţi de date în două etape, liniile de date ale echipamentului extern fiind conectate la liniile de stare ale portului paralel prin intermediul unui multiplexor 2:1 cu 4 căi. Se poate utiliza, de exemplu, circuitul 74LS157; conectarea acestui circuit este 
ilustrată în figura 1.3. Atunci când intrarea  A / B a circuitului este 0 logic, sunt selectate liniile de intrare 1A, 2A, 3A şi 4A, iar atunci când intrarea  A / B este 1 logic, sunt selectate liniile de intrare 1B, 2B, 3B şi 1. Portul paralel standard  7 4B. Selecţia intrărilor se realizează cu unul din semnalele de control, de exemplu, cu semnalul nStrobe. 
Ieşirile Y ale circuitului sunt conectate la 4 din liniile de stare ale portului paralel. Cele două valori de câte 4 biţi sunt combinate apoi într-un octet prin program. Dezavantajul acestei soluţii constă în viteza redusă. 
 O altă soluţie de utilizare a portului paralel unidirecţional pentru intrare constă în folosirea a 4 linii ale registrului de control, şi anume, a liniilor nStrobe, nAutoFd, nInit şi nSelectIn. Aceste linii sunt conectate la poziţiile C0, C1, C2, respectiv C3, ale registrului de control. De obicei, pentru ieşirile C0..C3 ale acestui registru se utilizează un buffer inversor cu colector deschis, iar ieşirile sunt conectate la +5 V prin rezistenţe (în mod obişnuit, de 4,7 KΩ). Aceste ieşiri au două stări posibile, 0 logic şi starea de înaltă impedanţă. De aceea, un echipament extern poate forţa aceste linii în starea logică 0, fără suprasolicitarea circuitelor interfeţei. Pentru utilizarea biţilor C0..C3 ai registrului de control ca intrări, mai întâi se vor seta ieşirile corespunzătoare la 1 logic prin înscrierea valorii binare  xxxx0100 în acest registru (aceasta se 
datorează inversării biţilor C0, C1 şi C3). După aceea, se va putea citi starea semnalelor externe aplicate la pinii respectivi prin citirea registrului de control. Trebuie să se ţină cont de inversarea biţilor C0, C1 şi C3. 
 În cazul alegerii acestei soluţii, poate apare o problemă dacă echipamentul extern este conectat la portul paralel înaintea iniţializării registrului de control prin program. De exemplu, dacă echipamentul dispune de ieşiri cu tranzistoare în contratimp (“totem-pole”), va apare un conflict în cazul în care intrarea 
este în starea 1 logic şi portul încearcă trecerea acesteia în starea 0 logic. Pentru evitarea acestei probleme, se pot insera drivere sau inversoare cu colector deschis pe liniile conectate la registrul de control.


Scheme electronice

Niciun comentariu:

Trimiteți un comentariu