Sunteți pe pagina 1din 16

SafeFrame Container

Notiuni Introductive despre Porturile de comunicatie ale PC-ului


Denumirea de "PORT" este destinata acelui punct prin care microprocesorul
realizeaza schimbul (transferul) de date din/inspre exterior (proces/periferic). Orice
periferic trebuie sa aiba un registru conectat la magistrala de date din care (in care)
sa poata fi citite (sau inscrise) date. Acest registru care realizeaza interfatarea
perifericului la sistem poate fi un element independent de periferic sau pentru
periferice mai complexe poate fi inclus chiar in controlerul perifericului. Controlerul
este unitatea de comanda a perifericului care realizeaza compatibilitatea functionarii
perifericului cu microsistemul. In general acest registru de interfatare, selectat de
microprocesor prin magistrala de adresare conjugata cu un semnal de comanda de
pe magistrala de control, este denumit registru port (de intrare sau de iesire), adresa
portului fiind chiar adresa perifericului (daca perifericul prezinta doar un singur port).
Modalitatile de utilizare a registrelor ca porturi de intrare (iesire) sunt
prezentatein figurile urmatoare.De exemplu in prima figura este prezentata o
schema de principiu de conectare a unui voltmetruintr-un microsistem. Tensiunea
masurata este digitalizata (convertita din semnal analog in semnal digital) in
convertorul analog-digital si inscrisa in registrul port de intrare. Aceasta informatie va
fi depusa pe magistrala de date in momentul cand portul va fi selectat de
microprocesor cu adresa repartizata voltmetrului si semnalul de control
READ;registrul port trebuie sa aiba iesirea de tip TSL

Structura portului de intrare, in general, este cea prezentata mai jos.Datele


pastrate intr-un registru sunt generate pe magistrala la selectarea amplificatoarelor
(drivere) de magistrala de tip TSL

http://mrbadnews.3x.ro/notiuni_introductive.html[19.05.2015 15:30:30]

SafeFrame Container

Generarea datelor de catre microprocesor pentru un periferic (motor) printr-un


port de iesire este prezentata mai jos.

Datele existente pe magistrala de sunt inscrise in registrul port de iesire in


momentul cand acesta este comandat pe inscriere (ENABLE-vezi figura de mai jos)
cu un semnal de selectare obtinut din cuvantul de iesire si semnalul WRITE. Exista
porturi care pot fi citite sau in care se pot inscrie date, acestea posedand doua
porturi (sau unul singur bidirectional) care sunt selectate corespunzator de
semnalele WRITE sau READ.

http://mrbadnews.3x.ro/notiuni_introductive.html[19.05.2015 15:30:30]

SafeFrame Container

http://mrbadnews.3x.ro/notiuni_introductive.html[19.05.2015 15:30:30]

SafeFrame Container

Introducere in comunicatii seriale

Comunicatiile seriale sunt utilizate pentru transferul de date la distante mari,


pentru ca o comunicare paralela necesita prea multe fire. Datele seriale primite de la
un modem sau de la alte dispozitive sunt convertite in format paralel pentru a putea fi
transferate pe magistrala de date a PC-ului.
Echipamentul pentru comunicatii seriale poate fi divizat in simplex, semiduplex si duplex. Intr-o comunicatie seriala simplex se transmit informatii intr-o
singura directie (ex. statie radio comerciala). Semiduplex presupune faptul ca datele
pot fi transmise in orice directie intre doua sisteme, dar nu in acelasi timp. Intr-o
transmisie duplex fiecare sistem poate transmite si primi date in acelasi timp.

Exista doua cai de transmitere a datelor seriale: sincron si asincron. In


transmisia sincrona datele sunt trimise in blocuri, transmitatorul si receptorul sunt
sincronizate prin unul sau mai multe caractere speciale numite caractere sync.
Portul serial al PC-ului este un dispozitiv asincron, pe care il vom descrie mai
jos. Pentru transmisia asincrona, un bit de start identifica inceputul caracterului ce se
transmite si unul sau doi biti identifica finalul acestuia, nefiind necesara nici un fel de
alta sincronizare. Bitii de date sunt trimisi catre receptor dupa bitul de start. Bitul cel
mai putin semnificativ este transmis primul. Un caracter de data consta de obicei din
7 sau 8 biti. In concordanta cu configuratia transmisiei, un bit de paritate este
transmis dupa fiecare caracter transmis. El este utilizat pentru a depista erorile din
caracterele receptionate. In final, sunt transmisi 1 sau 2 biti de stop.

http://mrbadnews.3x.ro/notiuni_introductive_serial.html[19.05.2015 15:31:09]

SafeFrame Container

Descrierea portului serial

Portul serial al PC-ului este compatibil cu standardul RS-232C. Acest


standard a fost proiectat in anul 1960 pentru a realiza comunicatia dintre un
echipament terminal de date sau DTE (PC-ul in acest caz) si un echipament de
comunicare de date ori DCE (in mod normal un modem). Standardul presupune
prezenta a 25 de pini, conectorul DTE trebuind sa fie tata, iar conectorul DCE mama.
Cei mai des utilizati conectori sunt DB-25 tata, dar nu sunt utilizati toti cei 25 de pini.
Din aceasta cauza multe PC-uri moderne utilizeaza conector DB-9 tata. Se pot
observa in spatele PC-ului mai multi conectori de acest fel. Nivelul tensiunilor pentru
semnalele din conector sunt cuprinse intre -3V si +15V. Valorile de tensiune cel mai
des folosite sunt +12V si -12V. Semnalele cele mai utilizate sunt listate in continuare.
Conventiile sunt diferite dupa cum liniile sunt de intrare sau de iesire, de date sau de
control.
Semnalele cele mai utilizate sunt listate in continuare:
TD - Transmitted Data (emisie de date) ; acest semnal este emis de la calculator catre
modem
RD - Received Data (receptie de date); semnal emis de la modem catre calculator
RTS - Request To Send (cerere de emisie); PC-ul seteaza acest semnal cand are pregatit
un caracter pentru a-l transmite.
CTS - Clear To Send (gata de emise) ; Modemul este pregatit pentru a transmite datele.
Computerul va incepe sa transmita date spre modem.
DSR - Data Set Ready (modem pregatit) ;Modemul comunica PC-ului ca este in functiune
si este pregatit sa transmita sau sa primeasca date.
DTR - Data Terminal Ready (terminal pregatit) ; PC-ul comunica modemului ca este in
functiune si este pregatit sa transmita date.
DCD - Data Carrier Detect (detectie purtatoare) ;Modemul seteaza acest semnal cand
detecteaza computerul.
RI - Ring Indicator (indicator de apel) ; semnal emis de modem semnaland faptul ca suna
telefonul

http://mrbadnews.3x.ro/serial.html[19.05.2015 15:31:39]

SafeFrame Container

http://mrbadnews.3x.ro/serial.html[19.05.2015 15:31:39]

SafeFrame Container

Caracteristicile Portului Serial

Caracteristicile functionale se refera la diferitele linii de legatura intre DTE


(calculator sau terminal) si DCE (modem). Asocierea dintre functii si circuitele
interfetei RS232-C au in vedere trei moduri de transmisie pe linie de comunicatie :
simplex, semi-duplex si duplex.Intr-o conexiune simplex, transmisia se face intr-un
singur sens;intr-una duplex ea are loc in ambele sensuri simultan. Conexiunea semiduplex permite transmiterea in ambele sensuri alternativ.
Transmisia seriala a datelor, la sau de la DTE se realizeaza pe liniile RD si TD.
Cand nu se transmit date, liniile RD si TD trebuiesc mentinute in 1.
DCE si DTE isi transmit reciproc informatii de stare prin DSR si DTR. O
transmisie poate fi initiata de DTE sau de DCE. Astfel DTE poate cere transmisia
datelor prin activarea liniei RTS. DCE va raspunde prin activarea liniei CTS, care
ramane activa atata timp cat se realizeaza transmisia. DTE poate transmite date
De fapt circuitele RTS si CTS comuta modemurile semi-duplex intre transmisie
si receptir. Astfel, DTE mentine RTS pe OFF in timpul receptiei si il trece pe ON (1
logic) cand doreste sa transmita.Transmisia poate sa inceapa imediat ce CTS este
pusa pe ON, anuntand ca modemul este pregatit pentru transmisie ( a facut operatiile
pregatitoare ,de comutare a sensului de transmisie).Comutarea de la transmisie la
receptie se face similar. In cazul canalelor duplex nu este necesara comutarea
sensului de transmisie ,circuitele CTS si RTS pierzandu-si semnificatia. In aceste
cazuri RTS si CTS sunt permanent ON.
Atunci cand DCE detecteaa o frecventa de apel, el activeaza linia RI. Daca
DTE nu este pregatit (linia DTR=0 ), DCE-ul sau va fi "ocupat". Cand DCE primeste
un caracter prin canalul de comunicatie,el activeaza linia DCD, anuntand DTE ca
trebuie sa preia datele. In fine, pentru modemurile (DCE) care pot lucra cu mai multe
viteze de transmisie, linia DS permite selectarea regimului de viteza.
Orice semnal de apel (sonerie) se traduce prin inchiderea circuitului RI, util in
procedurile de raspuns automat. Conectarea modemului apelat sau apelant se face
prin DTR, care exista in doua versiuni. Starea inchis a circuitului obliga modemul sa
se conecteze la linie (prima versiune) sau autorizeaza aceasta conexiune (a doua
versiune) la receptia acestui apel telefonic. Starea deschis comanda deconectarea,
imediat ce datele prezente pe td au fost transmise. Circuitul DSR arata ca modemul
este cuplat la linie; daca DSR este deschis, linia este cuplata pe telefon.
Descrierea anterioara s-a referit la actiunile DTE privind dialogul cu DCE
pentru realizarea transmisiei. DTE executa o serie de alte operatii de
serializare/deserializare a datelor si, eventual, alteactiuni privind interpretarea datelor
transmise. Aceste operatii sunt executate de dispozitivul de control al terminalului
(pentru terminale si alte echipamente periferice) sau de unitatea de control a
comunicatiei (pentru calculator).

http://mrbadnews.3x.ro/caracteristicile.html[19.05.2015 15:32:02]

SafeFrame Container

Aplicatii ale Portului Serial

Pe langa aplicatia de baza pentru care initial a fost proiectat, aceea de


comunicatie a calculatorului cu un modem, in general se poate dezvolta orice alta
aplicatie care presupune comunicatie seriala. Astfel, la calculator se poate cupla prin
conectorul COM (1 sau 2) un mouse serial, un zip, o imprimanta seriala, un rooter
hardware, un sistem de achizitie de date care sa fie compatibil cu norma RS232, sau
se poate realiza pe distante scurte (zeci de metrii) legaturi intre doua calculatoare; si
lista poate continua.
Conexiunea intre doua calculatoare prin intermediul portului serial.
Daca aveti foarte multe date de transferat intre doua masini apropiate, incercati sa le
conectati printr-un cablu. Unele pachete software va permit sa transferati datele
printr-un cablu conectat la porturile seriale sau paralele a doua calculatoare. Daca
este posibil, utilizati intotdeauna porturile paralele - sunt mult mai rapide.
Doua pachete software de acces la distanta, LapLink 7.5 si PcAnywhere32
8.0, vin cu utilitare excelente pentru transferul de date. Ambele ofera facilitati
sofisticate care maresc viteza de transfer, cum ar fi transferul numai al fisierelor noi
sau numai al celor actualizate si ambele vin cu un cablu paralel in cutie.
Daca nu aveti nevoie de software pentru acces la distanta, exista o alternativa
gratuita, dar mai greoaie: utilitarul Direct Cable Conection, inclus in Windows 95.
Direct Cable Conection stabileste de fapt o conexiune prin retea intre doua
calculatoare utilizand Dial-Up Networking din Windows 95. Odata ce a fost stabilita o
legatura, interfata Direct Cable Conection va permite sa manipulati fisiere facand
"drag and drop" intre cele doua sisteme.
Puteti folosi acest utilitar si pentru a instala software pe un PC utilizand o
unitate CD-ROM de pe alt PC, ceea ce poate fi foarte util daca notebook-ului
dumneavoastra ii lipseste o unitate CD-ROM. Puteti accesa Direct Cable Conection
astfel: "Start/Programs/Accessories".
Daca nu il gasiti in meniu, faceti clic pe pictograma "Add/Remove Programs"
din Control Panel, apoi pe tab-ul "Windows Setup", apoi faceti dublu clic pe
"Communications", selectati casuta "Direct Cable Conection", apasati OK, apoi
"Apply" si urmati indicatiile care mai apar. S-ar putea sa trebuiasca sa inserati CDROM-ul sau floppy-urile de Windows 95. Direct Cable Conection incepe cu un
program "wizard" (vrajitor) care trebuie sa ruleze pe ambele masini. El va cere sa
desemnati un calculator drept gazda (cel cu fisierele), iar pe celalalt drept oaspete
(cel care trebuie sa primeasca fisierele). Aceasta este o relatie cu sens unic - PC-ul
oaspete are acces la fisierele PC-ului gazda, dar nu si invers. Inainte insa de a rula
Direct Cable Conection pe cele doua masini, trebuie sa treceti de un numar de
obstacole. Ambele masini au nevoie de Dial-Up Networking, de Client for Microsoft
Networks si de protocolul de retea IPX/SPX. Dial-Up Networking poate fi instalat
exact ca si Direct Cable Conection. Pentru a instala Client for Microsoft Networks,
faceti clic dreapta pe pictograma "Network Neighborhood" (aflata pe desktop sau in
Explorer) si selectati "Properties", apoi apasati butonul "Add", selectati
"Client/Add/Microsoft" si urmati indicatiile. Utilizati aceeasi procedura pentru suportul
IPX/SPX, selectand de data aceasta "Protocol" in loc de "Client". S-ar putea sa aveti
din nou nevoie de CD-ul sau de floppy-urile Windows 95. Pentru a permite masinii
oaspete sa acceseze fisierele calculatorului gazda, va trebui sa setati unitatea sau
http://mrbadnews.3x.ro/aplicatii.html[19.05.2015 15:32:28]

SafeFrame Container

unitatile respective ale gazdei ca "shared" (folosit in comun). Mai intai, duceti-va
inapoi la ecranul Network Neighborhood Properties si apasati butonul "File and Print
Sharing". Selectati "I want to be able to give others access to my files" ("Vreau sa
pot acorda celorlalti acces la fisierele mele"), apoi faceti clic dreapta pe pictograma
unitatii respective in Explorer, selectati tab-ul "Sharing", faceti clic pe butonul radio
"Shared As" si apoi pe "Apply". Veti avea, de asemenea, nevoie sa selectati tipul de
acces "Full" (total) pentru acea unitate. Bineinteles, veti avea nevoie si de un cablu.
Veti putea gasi cabluri seriale (denumite si cabluri "null modem") si paralele
(denumite si cabluri interlink sau laplink) pentru mai putin de 20 USD la magazinul
dumneavoastra local de calculatoare. Daca viteza este esentiala, iar PC-ul
dumneavoastra are porturi de inalta performanta, care suporta standardul Enhanced
Parallel Port sau Extended Capabilities Port, s-ar putea sa doriti sa cumparati un
DirectParallel Universal Cable. Acest dispozitiv poate recunoaste ce tipuri de porturi
paralele aveti si poate optimiza transferurile corespunzator.
Pentru cei care vor sa isi confectioneze un astfel de cablu pentru portul serial
cu care sa poata transfera fisiere, dam mai jos figura mufei si conexiunile intre cele 2
mufe ce se vor conecta la cele 2calculatoare.

pin5
pin3
pin7
pin6
pin2
pin8
pin4

http://mrbadnews.3x.ro/aplicatii.html[19.05.2015 15:32:28]

<---ground to ground--->
<--transmit to receive-->
<------RTS to CTS------>
<------DSR to DTR------>
<--receive to transmit-->
<------CTS to RTS------>
<------DTR to DSR------>

pin5
pin2
pin8
pin4
pin3
pin7
pin6

SafeFrame Container

Programarea portului serial

Trebuie remarcat ca la nivel de programare a portului serial se poate folosi


intreruperea software 14h din cadrul BIOS-ului, dar ea este lenta si nu permite un
transfer duplex ci simplex. De aceea, pentru a folosi la maximum resursele
calculatorului se foloseste programarea la nivel de porturi. Astfel, se pot folosi pana
la 4 porturi seriale, numerotate COM1..COM4 si se poate elabora un altfel de
protocol de comunicatie intre DTE (calculator) si DCE (modem,periferic,etc..). COM1
fortzeaza intreruperea 4 care este coordonata de vectorul INT 0ch, COM2 forteaza
intreruperea 3, coordonata de vectorul INT 0bh, intreruperi ce se realizeaza doar
daca este activat acest mod de lucru cu porturile (lucrul in intreruperi).Astfel, la
adresa pointata de INT 0ch,respectiv INT 0bh, se va gasi rutina de tratare a
intreruperii COM-urilor.Ea poate fi redirectata sa execute o proprie rutina creata de
utilizator care sa deserveasca noul periferic (ex. un Voltmetru cu achizitie de date ce
se cupleaza pe magistrala RS232).
Semnalele de control si de date sunt accesibile programatorului prin 8 porturi
aflate la adrese de I/O (input/output) consecutive, primul port fiind portul de baza,
care in cazul COM1 este 3f8h, COM2-2f8h, COM3-3e8h, COM4-2e8h. Vom nota
acest registru de baza cu "pb".
Porturile au urmatoarea semnificatie:
pb+0 : scriere (cu out pb+0,[valoare]) a unui octet catre linie sau citire a unui
octet (cu in reg,pb+0)
totodata retine partea cea mai putin semnificativa (Low Byte) a lachu-lui de
divizare a frecventei de lucru.
pb+1 : scriere a partii cea mai semnificativa (High Byte) a latch-ului de divizare
a frecventei de lucru.
totodata retine si valoarea registrului de activare a intreruperilor
pb+2 : citirea acestui registru ne da informatii despre cauza producerii unei
intreruperi in momentul cand aceasta apare.
pb+3 : citirea/scrierea registrului de control al liniei
pb+4 : scrierea registrului de control al modemului
pb+5 : citirea registrului de stare a liniei
pb+6 : citirea registrului de stare a modemului

http://mrbadnews.3x.ro/programare.html[19.05.2015 15:33:01]

SafeFrame Container

Notiuni Introductive

In general nu prea se poate vorbi de comunicatii paralele din mai multe


motive. Principalul motiv este ca nu se pot realiza legaturi la distante mari cu astfel
de comunicatii A transmite in paralel un byte spre exemplu ar insemna o magistrala
de 8 linii care la distante mari ar insemna un consum imens de cablu. De aceea se
prefera comunicatia seriala cand avem de transmis la distante mari.
Totusi, la distante mici, (ordinul metrilor) se prefera transmisia paralela a
datelor deoarece este superioara transmisiei seriale din punct de vedere al vitezei,
implicit a cantitatii de informatie/secunda.
Datele sunt tranferate cate 8 biti odata si nu cate unul, rezultand o viteza mult
mai mare.

http://mrbadnews.3x.ro/notiuni_introductive_paralel.html[19.05.2015 15:33:28]

SafeFrame Container

Descrierea Portului Paralel


Portul paralel al PC-ului se prezinta fizic sub forma unei prize tip DB25 mama.
Acest port a fost conceput initial pentru comunicatia cu o imprimanta si de aceea
majoritatea semnalelor sale sunt raportate la acest periferic. Semnalele portului
paralel sunt urmatoarele:
STROBE;acest semnal este activ pe nivel jos (0 v) si indica imprimantei ca
datele sunt prezente pe liniile D) la D7 si ca trebuie sa tina cont de ele;
D0 la D7;este bus-ul de date pe care sunt transmise (sau receptionate in cazul
porturilor bidirectionale) valorile caracterelor de imprimat.
ACK;imprimanta trece in 0 logic acest semnal pentru a indica PC-ului ca a
receptionat corect caracterul transmis si ca PC-ul poate continua transmisia
BUSY;imprimanta trece in 0 logic acest semnal atunci cand bufferul sau de
receptie este plin.Calculatorul este astfel avertizat ca imprimanta nu mai poate
receptiona date.PC-ul trebuie sa astepte ca acest semnal sa revina in 1 logic
pentru a reincepe sa transmita;
PE insemna "paper error" imprimanta indicand prin acest semnal calculatorului
ca alimentarea cu hartie este intrerupta;
SELECT;acest semnal indica PC-ului ca imprimanta este in starea "on line"
sau "off line"
AUTOFEED;cat timp acest semnal este 1,imprimanta trebuie sa faca un salt de
linie la fiecare caracter "return"
ERROR;indica PC-ului ca imprimanta a detectat o eroare;
INIT;calculatorul poate efectua o initializare a imprimantei prin intermediul
acestui semnal
SELECT IN;PC-ul poate trece imprimanta in starea "off line" prin acest semnal
MASA;este masa PC-ului.
Anexa1: cupla DB25 (vazuta din partea spate,acolo unde se fac conexiunile pentru cablu)

http://mrbadnews.3x.ro/descrierea_portului_paralel.html[19.05.2015 15:33:53]

SafeFrame Container

Caracteristicile Functionale ale Portului Paralel


Viteza maxima de transmisie care se poate obtine pe un port paralel clasic este
de ordinul a 150 kB/s.porturile paralele mai moderne ,de tip EPP (Enhanced Parallel
Port) permit obtinerea a unui debit de 2MB/s. In plus sunt si bidirectionale, adica pe
linia D) la D7 pot transmite sau primi date.Mai recente,porturile ECP (Extended
Capacity Port) au particularitatea de a fi Plug & Play (conectati si utilizati).Acest port
deriva din portul EPP si are aceleasi caracteristici .Din punct de vedere al folosirii lor
in electronica-automatizari,marele avantaj al porturilor EPP si ECP este
bidirectionalitatea lor.

PIN SEMNAL IESIRE PC INTRARE PC


1
/STROBE
x
x
2
D0
x
x daca este EPP
3
D1
x
x daca este EPP
4
D2
x
x daca este EPP
5
D3
x
x daca este EPP
6
D4
x
x daca este EPP
7
D5
x
x daca este EPP
8
D6
x
x daca este EPP
9
D7
x
x daca este EPP
10
/ACK

x
11
BUSY

x
12
PE

x
13
SELECT

x
14 /AUTOFEED
x
x
15
/ERROR

x
16
/INIT
x
x
17
/SELECT IN
x
x
18 - 25
MASA
x
x

http://mrbadnews.3x.ro/caracteristici_functionale_paralel.html[19.05.2015 15:34:21]

SafeFrame Container

Aplicatii ale portului Paralel


Principalele aplicatii ale portuli paralel sunt acelea care necesita un transfer de
date paralel. Initial portul a fost gandit pentru cuplarea unei imprimante de tip paralel
si de aceea toate specificatiile semnalelor se refera la aceasta utilizare.
Trebuie remarcat faptul ca nu este stricta utilizarea portului paralel ca port de
comunicatie cu imprimanta. Pe portul paralel se poate cupla aproape orice, de la
scannere, zip-uri, pana la relee si senzori, bineinteles cu circuite de separare
galvanica, pentru ca eventualele scurt-circuite sa nu defecteze portul sau mai rau
placa de baza a calculatorului.
Cu ajutorul portului paralel se poate realiza legaturi intre doua calculatoare, care
sa permita transferul de fisiere, de la Maste catre Slave (vezi portul serial). Avantajul
este clar;viteza de transfer mult mai mare, dezavantajul: nu ne putem "intinde" prea
mult cu cablul deoarece apar interferente si pierderi ale semnalului util.
Conexiunea intre doua calculatoare se poate face cu ajutorul unui cablu conectat
la portul paralel la ambele calculatoare. Conexiunile necesare realizarii conexiunii
sunt urmatoarele:

pin2
pin3
pin4
pin5

<-------D0 to /ERROR-------> pin15


<------D1 to SELECT------> pin13
<----------D2 to PE ----------> pin12
<---------D3 to /ACK---------> pin10
<---------D4 to BUSY--------pin6
pin11
>
<--------/ERROR to D0------pin15
pin2
>
pin13 <-------SELECT to D1-------> pin3
<-----------PE to D2----------pin12
pin4
>
pin10 <---------/ACK to D3---------> pin5
<---------BUSY to D4--------pin11
pin6
>
<------ground to ground-----pin25
pin25
>

Pentru realizarea de legaturi prin acest cablu (numit si null modem) se poate folosi
acelasi utilitar aflat in componenta sistemului de operare windows Direct Cable
Connection, sau se poate apela la Windows Commander. In Windows Commander
din meniul Commands se selecteaza "PORT connection to other PC" si se alege
daca respectivul calculator va fi Server sau Client sau pur si simplu daca se vrea sa
se testeze corectitudinea legarii si cuplarii cablului (si a eventualelor setari).

http://mrbadnews.3x.ro/aplicatii_paralel.html[19.05.2015 15:34:43]

SafeFrame Container

Programarea Portului Paralel


Programarea acestei interfete se face de o manevra foarte simpla:doar trei
registrii sunt necesari pentru a controla toate semnalele.De fapt daca in sistem sunt
instalate mai multe porturi paralele,este nevoie de atatea grupe de cate trei registrii
cate porturi paralele sunt instalate. De exemplu daca avem 2 porturi paralele
(corespunzatoare LPT1 si LPT2) vom avea nevoie de 2x3 registrii.

Semnalele de date (378h-LPT1,278h-LPT2)


Daca interfata paralela este clasica acest registru este accesibil doar la scriere.
Scrierea unui octet in acest registru trece imediat liniile de date D0 la D7 la nivelurile
cerute. Scrierea se face cu o instructiune de tip "OUT" (ex i asembler out ax,xx in ax
gasindu-se adresa portului de baza (P+0) ex.378, iar xx fiind o variabila pe un byte
sau in pascal port[port_de_baza]:=xx).

7
x

d7
d6
d5
d4
d3
d2
d1
d0

Pentru a putea folosi acest registru ca registru de intrare,la porturile care suporta
transfer bidirectional trebuie sa-l setam.Aceasta se face setand bitul 5 al portului P+2
(ex 37ah). apoi putem prelua datele de pe magistrala D0-D7 cu o instructiune de tip
IN din registrul de baza ( ex temp:=port[port_de_baza] in pascal)
Starea imprimantei (379h-LPT1,279h-LPT2)
Acest registru accesibil doar la citire,este imaginea starii semnalelor
ERROR,SELECT,PE,ACK si BUSY. Trebuie remarcat ca bitul 7 al registrului
(corespondent al semnalului BUSY- vezi asteriscul *) este inversat in raportcu
intrarea,intre cupla si registru fiind prezent un inversor.
7
x

http://mrbadnews.3x.ro/programare_paralel.html[19.05.2015 15:35:05]

/BUSY(*)
/ACK
PE
SELECT
/ERROR
Nedefinite

SafeFrame Container

(*) logica inversa

Comanda imprimantei (37ah-LPT1,27ah-LPT2)


Acest ultim registru este accesibil pe rand la citire si la scriere. Primii patru biti
sunt imaginea semnalelor STROBE,AUTOFEED,INIT si SELECT IN ( si aici sunt
inversoare montate intre cupla si registru notat in tabel cu (*)) Bitul 4 (IRQ ENABLE)
autorizeaza sau nu declansarea unei intreruperi cand ACK trece in starea jos (deci
cand imprimanta valideaza receptia unui caracter). Aceasta intrerupere este INT 7
(0fh) pt LPT1 sau INT5 (0dh) pentru LPT2.
Nota: putem redirecta aceste intreruperi astfel incat la un front negativ al semnalului
ACK sa se ruleze programul nostru rezident care sa trateze aceaste intreruperi ( vezi
in pascal getintvec si setintvec).
Bitul BIT CTRL nu are sens decat pentru porturile bidirectionale(EPP sau ECP).
Facand acest bit 1 logic,portul este accesibil la scriere.

http://mrbadnews.3x.ro/programare_paralel.html[19.05.2015 15:35:05]

S-ar putea să vă placă și