Documente online.
Username / Parola inexistente
  Zona de administrare documente. Fisierele tale  
Am uitat parola x Creaza cont nou
  Home Exploreaza
upload
Upload






























SISTEMUL DE I/O

Informatica


SISTEMUL  DE I/O

Desemnam prin sistemul de I/O (input/output - intrare/iesire) un set de module functionale care permit vehicularea informatiei între CPU, memorie si lumea reala dupa cum se vede în figura 7.1. 525h79f



Fig. 7.1.

Sistemul de intrare - iesire este dotat cu o serie de echipamente care vor permite informatiilor sa fie fie citite de catre sistem -intrarea de date - fie sa paraseasca sistemul si sa fie folosite în afara acestuia -iesirea de date - . Unele dintre acestea se gasesc în mod standard pe oricare sistem iar altele pot sa fie adaugate ulterior folosindu+se de posibilitatile de conectare din exterior sau folosind extensiile libere existente pe placa de baza a sistemului.

7.1. Port de intrare

Vom furniza în fig. 7.2. o schema de intrare a unui octet în sistemul de calcul Acest octet va fi furnizat sub forma pozitiei unor microîntrerupatoare (switch - uri) care se pot gasi pe pozitia OFF ("0" logic) (legatura facuta la "0") fie pe pozitia ON (lasata "în aer" = 1 logic). Este o situatie foarte des întâlnita când CPU are de citit configurarea unui echipament periferic acesta furnizându-i octetul prin pozitia unor switch-uri sau "jumpere" aflate pe placa de baza sau placa de extensie (controlerul propriuzis ).

Asa cum pentru a selecta o informatie din memorie se selecteaza o adresa de memorie mai întâi si apoi se face citirea si în cazul dispozitivelor de I/O fiecarui set de un echipamente le este rezervata o adresa unica sau set de adrese care le diferentiaza de alte dispozitive de I/O. Aceste adrese sunt cunoscute ca adrese de porturi I/O. În momentul când CPU genereaza comanda de citire a portului nostru, semnalul de adresa va fi decodificat de catre decodificatorul de adresa porturi si va activa intrarea SEL a unui singur circuit de intrare-iesire -- circuitul vizat - . În acest moment pozitia switch-urilor va fi memorata în cele 8 circuite bistabile ale circuitului 244 si totdata va fi disponibila la iesire OUT0, ., OUT7 care sunt legate la busul de date ale P. Eventual registrul AX

Fig. 7.2.

(mai precis AL din acesta) va putea astfel memora octetul care a fost programat la switch-uri si apoi sa-l prelucreze conform programului. Se zice ca a fost citit un octet la un port de intrare.

Pentru citirea informatiilor de la un port de intrare se foloseste o instructiune de intrare date de tipul INP ( INPut ) . Forma cea mai simpla a unei astfel de instructiuni este

INP al , adresa port adica octetul aflat la adresa port va fi citit si transferat în registrul al ( octetul inferior al registrului general ax ).

Daca spatiul de adresare pentru memorie este 1M (2**20) spatiul de adrese pentru porturi de I/O cuprinde 64K (2**16).Procesorul va executa un ciclu de citire similar cu cel de la memorie numai ca de data aceasta nu va fi selectionata o locatie de memorie ci un port de intrare..

7.2. Port de iesire

În fig. 7.3. am reprezentat un circuit integrat cu indicativul 374 care are 8 circuite bistabile similar cu circuitul 244 folosit anterior. De data aceasta intrarile acestui circuit sunt cuplate la busul de date a sistemului iar iesirile vor avea cuplate diode luminoase (LED) care vor furniza prin indicatie luminoasa octetul furnizat de sistem. Similar ca în exemplul anterior la selectia adresei portului de iesire dorit, semnalul SEL va face ca starea liniilor de pe busul de date sa fie memorata în cei 8 bistabili ai circuitului. Totodata starea acestora se va regasi la iesirile Q0, ., Q7 ce va face ca unele LED-uri sa se aprinda sau nu dupa cum în bistabili este memorat "0" sau "1" si deci octetul va putea fi "vizualizat" prin starea aprinsa sau stinsa a LED-urilor.

Fig. 7.3.

În cazul trimiterii unui octet catre un port de iesire( operatie de iesire date) se foloseste o instructiune de tip OUT (OUTput ). Astfel daca dorim sa trimitem un octet din registrul al de la procesor la portul cu adresa adresa-port forma instructiunii va fi urmatoarea: OUT  adresa-port ,al . Un asemenea port de iesire se foloseste în calculator si la furnizarea datelor catre imprimanta. Este vorba de portul de imprimanta cunoscut si sub numele de LPT1 sau LPT2 (de la Line PrinTer). Acesta mai poseda în plus si alte linii decât cele de date numite si linii de stare si control

E bine de stiut ca un echipament de intrare-iesire nu are asociata o singura adresa, adresa registrului de intrare -iesire . Exista cel putin 3 registrii asociati unui port cu adresele de I/O corespunzatoare:

registrul propriuzis al portului în care se depune octetul sau se citeste octetul

registrul de comanda în care se trimit octeti cu rolul de a comanda echipamentul de intrare -iesire

registrul de stare a portului care indics starea unor parametrii ai echipamentului



Astfel la o imprimanta portul de comanda primeste comenzi pentru avansul hîrtiei,salt la pagina noua, trecerea în mod grafic ,resetare etc. Prin citirea octetului din portul de stare calculatorul poate afla daca imprimanta este on-line, exista hîrtie ,exista cerneala sau toner ,etc. La adresa portului propriuzis se vor trimite codurile ascii ai octetilor de tiparit sau secventele de biti pentru tiparire grafica .

Handshaking

În fig. 7.4. am reprezentat interfata dintre calculator si o imprimanta cuplata la portul LPT1. Portul LPT mai este cunoscut si sub numele de port paralel datorita faptului ca transferul informatiei (octetilor) se face simultan la nivelul celor 8 ranguri ale unui octet, existând câte o linie separata pentru fiecare, notate D0,., D7.

Unele dispozitive de I/O accepta informatia mai încet decât poate transmite P. Deci aceasta informatie trebuie sa fie temporizata pentru ca imprimanta sa poata tipari caracterul transmis si abia dupa aceea sa receptioneze urmatorul caracter. În acest caz una din metodele folosite se numeste handshaking si foloseste înca 2 semnale în plus fata de cele de date pentru ca sa se asigure o sincronizare perfecta între calculator si imprimanta.

Mai întâi datele D0,., D7 sunt plasate pe liniile de date corespunzatoare de catre P si se transmite catre printer semnalul STB (Strobe) care îl înstiinteaza ca pe liniile D0,., D7 este un caracter disponibil. Printerul începe sa tipareasca caracterul receptionat si simultan plaseaza pe linia BUSY un semnal egal "1" care atentioneaza P ca este

Fig. 7.4.

ocupat înca cu tiparirea caracterului. μP poate determina daca printerul este în stare sa primeasca un nou caracter sau nu prin testarea liniei BUSY. Atât timp cât acesta este "1" P nu va transmite un nou caracter. Imediat ce semnalul de pe linia BUSY devine egal cu "0" P poate încarca liniile D0,., D7 cu un nou caracter pentru tiparit stiind ca cel anterior a fost tiparit. Acest proces de interogare poarta denumirea de "handshaking" si este o tehnica curent folosita în transmiterea de date între echipamente cu viteze si caracteristici diferite si care trebuie sa comunice.

Dupa cum am amintit în cadrul calculatoarelor IBM - PC exista un asemenea port care functioneaza în modul descris anterior. Acest mod de functionare se mai numeste si mod SPP (Standard Parallel Port), si rata maxima de transfer a acestuia era de 150 Kb/sec. Ulterior IBM a dezvoltat o interfata care permitea un transfer bidirectional al octetilor permitând cuplarea si a altor echipamente la el (scannere, unitati de disk sau CD-romuri externe, etc) si aceasta noua norma s-a numit port EPP (Extended Parallel Port) adica port paralel îmbunatatit. S-au mai adaugat unele îmbunatatiri si la aceasta norma obtinându-se un port paralel cu capabilitati extinse (ECP

Am specificat aceste lucruri deoarece unele imprimante moderne (Laser sau cu jet de cerneala) nu mai functioneaza cu portul paralel în modul SPP ci acesta trebuie configurat pe mod EPP sau ECP protocolul de transfer mai cuprinzand si transferul unor comenzi pe lânga cel al caracterelor , specific numai la SPP.

7.3. Comunicatii seriale

În calculatorul IBM - PC sunt prevazute de obicei doua porturi de comunicatie seriala (COM) care folosesc protocoale de transmisie asincrona de tip start/stop cunoscute sub numele de COM1 si COM2. In general pe unul din acestea se conecteaza echipamentul numit mouse folosit ca echipament standard în SO Windows. Celalalt poate fi folosit la cuplarea cu un alt calculator în scopul transferului de date - sau la el se poate conecta un modem extern folosit pentru conexiune la distanta prin reteaua telefonica cu un calculator ce ofera servicii INTERNET.

Observam deci ca aceste transmisii seriale ocupa un loc important într-un calculator modern si vom trata pe scurt modul de functionare a unei astfel de transmisii.

Spre deosebire de transmisiile paralele când existau linii separate de transmisie pentru fiecare rang al octetului transmisia seriala cere existenta numai a doua linii. În acest caz cei 8 biti care formeaza un octet sunt transmisii secvential în 8 intervale de timp diferite. Diagrama din fig. 7.6. reprezinta forma unui semnal serial asa cum ar apare ea daca ar fi vizualizata la un osciloscop.Se observa ca octetul de transmis este încadrat de biti auxiliari necesari pentru sincronizare sau control. Astfel transmiterea unui octet începe cu un bit de start, se continua cu cei 8 biti ai octetului începând cu rangul cel mai mic, urmeaza un bit de control (paritate) si se termina cu un bit de STOP.

Fig. 7.5.

. Din cei 11 biti transmisi numai 8 reprezinta informatia utila. De obicei o interfata seriala are atât posibilitatea de a transmite un octet (emisie) cât si de a receptiona (receptie). Fig. 7.7. reprezinta cel mai simplu mod de a conecta 2 calculatoare cu ajutorul a 3 fire si folosind interfetele seriale COM.

Fig. 7.6.

Semnalul de emisie Tx de la PC1 este primit de al doilea PC pe piciorul Rx de receptie iar de la Tx de la PC2 la fel se leaga la receptia Tx de la PC1. Astfel se pot transmite date (fisiere, etc) sau se cupleaza intr-o retea seriala cele doua calculatoare PC cu o investitie minima !



În prezent s-a pus la punct un nou tip de bus serial numit USB (Universal Serial Bus) care permite conectarea în lant a mai multor echipamente prevazute cu acest tip nou de interfata asigurându-se totdata si o eventuala alimentare a unor asemenea echipamente care nu au sursa proprie de alimentare. Calculatoarele noi au asemenea interfete iar programele din BIOS cuprind subrutinele necesare controlului unui astfel de bus. Se pare ca în viitor acesta va fi standardul dominant cel prezentat anterior ramânând totusi pentru scopuri secundare si pentru compatibilitate cu sistemele vechi !

7.4. Controlul miscarii unui motor pas cu pas

Motoarele pas cu pas sunt echipamente care s-au impus în tehnica de calcul odata cu aparitia tehnicilor de comanda numerica.

Dupa cum se observa din fig. 7.7. cel mai simplu motor pas cu pas consta din mai multe bobine dispuse pe un suport magnetic cilindric care formeaza polii motorului si un magnet permanent ca rotor.

Fig. 7.7

Fig. 7.8 arata modul de comanda a unui astfel de motor, cele 3 faze ale motorului sunt comandate de un registru cu 3 biti.

Va fi alimentata cu tensiune faza al carei bit este 1. Rotorul se va deplasa între polii fazei alimentate. Deplasarea bitului de 1 pe celelalte pozitii ale registruloui într-un sens sau altul cu un anumit tact va duce si la deplasarea rotorului, pas cu pas în sens orar sau antiorar.Astfel de motoare se folosesc în unitatile de disk magnetic (pozitionarea capetelor de citire/scriere), diskete magnetice, imprimante, CD-rom, scanere, sateliti artificiali (pozitionarea antenolor parabolice de receptie si transmisie catre statia de la sol)etc. pentru 0 pozitionarea precisa si sub comanda unui procesor.

Observam ca aceasta tehnica numerica de comanda si control a patruns în tehnica în toate domeniile înlocuind metodele analogice mai vechi si mai putin precise. Se pare ca viitorul este al acestor sisteme numerice , tehnica analogica ramânând numai acolo unde precizia nu constituie un deziderat major.

Fig. 7.8

Întrebări la cap. 7

Care este rolul echipamentelor de intrare / iesire ( input - output) ?

Prin ce se identifica diferitele dispozitive de intrare-iesire într-un PC ?

Ce instructine se foloseste pentru a citi date de la un port de intrare ?

Care e numarul de adrese de porturi disponibile într-un sistem PC ?

Ce instructiune se foloseste pentru a trimite date spre exteriorul PC folosindu-se un port de iesire ?

Care sunt registrii asociati unui port de intrare sau iesire ?

Cînd este utilizata o conexiune de tip " handshaking" la cuplarea a doua dispozitive ?

Care sunt semnalele auxiliare de control la o legatura "handshaking" ?

Ce biti auxiliari apar în informatia transmisa serial pe lînga octetul de date ? t

Care credeti ca este modul cel mai simplu de a cupla 2 PC pentru a transmite date ?

Cum se obtine miscarea de rotatie la un motor pas cu pas cuplat la un sistem PC ?





Document Info


Accesari: 5081
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 )