Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Dispozitive periferice de I/O. Interfata paralela

Informatica


Dispozitive periferice de I/O.



Interfata paralela

Scopul lucrarii

Lucrarea de fata are scopul de a prezenta notiuni de baza referitoare la interfata paralela precum si modul de conectare a dispozitivelor periferice la aceasta interfata.

Pe parcursul lucrarii se vor prezenta:

Schema portului paralel;

Tipurile de semnale prezente in conectorul interfetei paralele;

Modalitatea de conectare a unui echipament periferic la interfata paralela;

Consideratii teoretice

Interfata paralela a fost construita initial doar pentru conectarea unei imprimante la un calculator personal. Numele ei este LTP (Line Printing Terminal) si a fost dat de compania IBM.

Interfata paralela a unui calculator personal este de regula accesibila prin intermediul unui conector "mama" cu 25 de pini.

In ceea ce priveste semnificatia pinilor exista mai multe standarde. Standardul initial se numeste SPP (Standard Paralel Port) si foloseste 8 linii de date unidirectionale, 4 linii de iesire (semnale de control) si 5 linii de intrare (semnale de stare). Cei 8 pini ramasi sunt conectati la masa.

Ulterior stanardului SPP au aparut standardele EPP (Enhanced Parallel Port) si ECP (Extended Capabilities Port), care au adus imbunatatiri ca de exemplu posibilitatea de folosire a liniilor de date bi-directional.

2.1 Schema intefetei paralele si semnificatia pinilor conform standardului SPP.

Schema interfetei paralele este prezentata in figura 2.1.1, iar semnificatia pinilor conform standardului SPP este prezentata in tabelul 2.1.1.

Figura 2.1.1: Schema interfetei paralele

Tabelul 2.1.1: Semnificatia pinilor conform standardului SPP

Observatie: Pe portul paralel se transmit semnale logice TTL (orice tensiune mai mica de 0.8 V este considerate 0 logic, iar orice tensiune mai mare de 2.4 V este considerate 1 logic).

Adresele porturilor interfetei paralele

Un port este un numar scris de regula in format hexazecimal, care reprezinta o adresa a unei anumite interfete. Fiecare interfata a unui calculator are asociat unul sau mai multe astfel de porturi. Comunicarea intre echipamentele periferice si interfata se realizeaza prin instructiuni de intrare/iesire care acceseaza aceste porturi.

Fiecare port paralel trebuie sa aiba alocata o adresa de baza. Un set de adrese ar putea fi: 0x0378 pentru LTP1 sau 0x278 pentru LTP2.

Semnalele interfetei paralele sunt impartite in 3 grupe:

Linii de date: pinii 2-9, semnalele DATA0-DATA7;

Semnalele de stare: pinii 10-13 si 15, semnalele /ACK, BUSY, PE, SELECT si ERROR.

Semnale de control: pinii 1 si 17, semnalele /STROBE, /AUTO, /INIT si /SELIN.

Pentru a accesa aceste semnale este nevoie de 3 adrese, adica de 3 porturi. Numele porturilor este dat de numele categoriei de semnale. Adresele porturilor se calculeaza astfel:

Potrul de date are adresa: adresa de baza a interfetei paralele + 0;

Exemplu: 0x378 pentru LTP1 sau 0x278 pentru LTP2;

Portul de stare are adresa: adresa de baza a interfetei paralele + 1;

Exemplu: 0x379 pentru LTP1 sau 0x279 pentru LTP2;

Portul de control are adresa: adresa de baza a interfetei paralele +2;

Exemplu: 0x37A pentru LTP1 sau 0x27A pentru LTP2;

Cele trei porturi sunt pe 8-bit fiecare, astfel ele pot adresa maxim 8 semnale. Semnalele fiecarui port in parte sunt prezentate in tabelul 2.2.1.

Tabelul 2.2.1: Semnalele celor trei porturi ale interfetei paralele.

Lucrul cu porul parallel in C

Accesarea portului paralel prin intermediul unui program C are la baza urmatoarele principii:

Se apeleaza rutina de accesare a portului (#include <asm/io.h>);

Se da programnului permisiunea de acces la port. Aceasta se face prin apelul functiei ioperm ), care este declarata in unistd.h. Sintaxa functiei ioperm() este urmatoarea:

ioperm(from, num, turn_on), unde "form" este adresa primului port la care se permite accesul, "num" este numarul de porturi consecutive la care este permis accesul, iar "turn_on" este o variabila booleana care daca ia valoarea 1 accesul la port este permis, iar daca ia valoarea 0 accesul la port este restrictionat;

Observatie: Pentru a apela functia ioperm ), trebuie sa ai drepturi de root.

Scrierea respective citirea portului paralel se face prin intermediul functiilor outb(valoare, port) respectiv inb(port) pentru 8 biti, iar pentru un cuvant scris sau citit de la portul x si portul x+1 se utilizeaza functiile outw(valoare, x) respective inw(x);

Exemplu de scriere/citire a portului paralel:

#include <stdio.h>
#include <unistd.h>
#include <asm/io.h>

#define BASEPORT 0x378 /* lp1 */

int main()

Aplicatii

Cu ajutorul montajului prezentat in figura 3.1 sa se dezvolte o

aplicatie de monitorizare a starii portului paralel.

Monitorizarea starii portului se va realiza prin intermediul celor 17 leduri, a caror semnificatie este urmatoarea:

verde - cele 8 linii de date ( D0-D7 )

rosu - cele 5 linii de stare ( S0-S4 )

galben - cele 4 linii de control ( C0-C3 )

Schema electrica a montajului este prezentata in figura 3.2.

Figura 3.1: Montaj monitorizare/interfatare port paralel

Figura 3.2: Schema electrica

Concluzii

Pe parcursul lucrarii s-au puctat urmatoarele aspecte:

Interfata paralela a unui calculator personal este accesibila prin intermediul unui conector mama cu 25 pini;

Semnalele interfetei paralele sunt impartite in 3 grupe: linii de date, semnale de stare si semnale de control;

Pentru a accesa cele trei tipuri de semnale exista 3 porturi, pe 8 biti fiecare;

Accesul unui program C la porturi se realizeaza prin intermediul functiei ioperm(), iar scrierea respectiv citirea porturilor se face prin intermediul functiilor outb() respective inb();


Document Info


Accesari: 4187
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )