PC
Comanda cu calculatorul este folosită pentru operaţii mai complexe, pot
comunica cu baze de date, se prelucrează mai rapid informaţia, poate trimite date
la alte calculatoare prin intermediul internetului.
Comunicaţia cu PC se poate face prin :
Comunicaţia serială;
Comunicaţia paralelă;
USB.
Comunicaţia serială
Interfaţa serială a unui echipament este folosită în general pentru
transmiterea informaţiei între acesta (PC) şi periferice (mouse-ul, tastatura,
modem) dar şi pentru transferul de date între echipamente. Debitul binar
maxim conform standardizării iniţiale este de 19 Kbps dar există interfeţe
seriale care ating o viteză de 0,9 Mbps. Transmisia este bidirecţională, în
format serial asincron. Secvenţa de date este descrisă în figura 3.1 şi conţine
un bit de start urmat de 8 biţi de date şi în final biţii de stop (1, 1.5 sau 2).
Semnalul de sincronizare se extrage din secvenţa de date. Nivelele de
tensiune transmise pe linia de comunicaţie sunt între +3 şi 25V pentru „0”
şi între –3 şi –25V pentru „1”.
Figura 13. Diagrama de semnal pentru interfaţa serială
Transmisia datelor se face pe două căi conductoare disticte (Tx, Rx) cu
cale de întoarcere (masa) comună. Distanţa maximă este de 15m dar în
anumite condiţii se poate ajunge la 100m. Elementul central al
comunicaţiei seriale e un circuit integrat numit UART – Universal
Asynchronous Receiver/ Transmiter. Funcţia de bază a acestuia e conversia
paralel-serie şi serie-paralel a datelor.
Conexiunea la portul serial se realizează prin două variante: cu conector de
tipul DB25 (are 25 de pini) şi cu conector de tipul DB9 (are 9 pini). La
1
calculatoarele de ultimă generaţie, cea mai întâlnită variantă de conector este cea
de tipul DB9. Distribuţia pinilor se găseşte în figura 14:
Fig.14 Conector port serial (DB9)
Există mai multe standarde care definesc interfeţe si semnalizări seriale:
RS 232, RS-422, RS-485.
RS-232
RS-232 este standardul cel mai important în comunicatiile seriale şi a fost
promulgat de Asociaţia Industriilor Electronice (EIA). Cea mai cunoscută
versiune de RS-232 este versiunea C, numită oficial RS-232C. Spre sfârşitul
anilor ’80, a apărut versiunea D, care a fost urmată la începutul anilor ’90 de
versiunea E. Toate cele trei variante ale RS-232 au un nucleu comun de
funcţii uzuale şi de caracteristici operaţionale. Ca orice standard, RS-232
este în primul rând o referiţă pentru proiectanţii de echipamente.
Interfaţa serială prezintă limitări, cea mai importantă fiind limitarea
distanţei maxime ce poate fi acoperită. La comutarea unui semnal dintr-o
stare în alta, specificaţiile standardului limitează timpul din creştere/scădere la
5% din durata unui bit. Această cerinţă determină valoarea maximă a
capacităţii permisă în cablu (2500pF). O a doua limitare este viteza maximă
de transmisie de 19.200bps viteză care poate fi însă depăşită pe distanţe
scurte dacă interfaţa permite acest lucru (conectarea unui modem serial de
33,6 Kbps la un calculator, de exemplu, daca distanţa nu depăşeşte 4m).
RS-422
RS-422 este un standard de comunicaţie serială folosit de
sistemele MacIntosh (platforme Motorola). Acest standard este o extensie a
standardului RS-232 pentru a permite o înaltă rată de transfer pe distanţe mari.
În acest scop RS-422 utilizează o transmisie balansată pe două căi independente.
Ecartul între nivelele de tensiune asociate stărilor de linie „mark” şi „space” este
2
mult mai redus (+/- 0,2V faţă de +/- 3V la RS-232).
RS-485
Interfaţa RS-485 este folosită pentru legături multipunct, mai
multe dispozitive putând fi conectate la un singur cablu de semnal, similar
cu retelele Ethernet pe cablu coaxial. Comunicaţia se realizează pe o pereche
torsadată (caz în care interfeţele de acces la linie trebuie să aibă ieşiri three-
state) sau două perechi torsadate, câte una pentru fiecare sens. Distanţa maximă
permisă este de 1200m la viteze tipice de 2,5 Mbps.
Majoritatea comunicaţiilor RS-485 folosesc o arhitectură Master/Slave în
care dispozitivele slave răspund numai când sunt interogate.
Enumăr câteva dintre avantajele utilizării portului serial faţă de cel paralel:
Cablul serial poate fi mai lung decât cablul paralel. Portul serial
transmite 1-logic ca tensiune între -3V şi -12V şi 0-logic ca
tensiune între +3V şi +12V, iar portul paralel transmite 0-logic
ca tensiune 0V şi 1-logic ca tensiune 5V. Aşadar, portul serial
poate avea o variaţie de 24V, pe când la portul paralel putem
avea o variaţie de maxim 5V. De aceea, cablurile seriale au mai
puţine probleme decât cablurile paralele.
Nu este nevoie de atâtea fire ca în cazul transmisiei paralele.
Dacă avem nevoie să montăm un echipament la mare distanţă de
calculator, atunci folosirea unui cablu cu trei fire este mult mai
avantajoasă din punct de vedere financiar decât utilizarea unui
cablu cu 19 sau 25 de fire. Totuşi, trebuie luate în considerare şi
costurile interfaţării la fiecare capăt al cablului.
Dispozitivele infraroşu (IrDA) s-au dovedit a fi mai des utilizate
în ultima perioadă. Laptop-urile, palmtop-urile au încorporate
posibilitatea de conectare prin infraroşu. Prin IrDA-1 se poate
avea o rată de transfer de 115.2 kbps şi este interfaţată într-un
UART. Lungimea pulsurilor reprezintă 3/16 din lungimea
pulsului emis prin RS-232 pentru a se economisi energie.
Microcontrolerele s-au dovedit a fi foarte populare în ultima
vreme. Multe dintre ele au încorporate o interfaţă SCI (Serial
Communications Interfaces) care le permite să "comunice" cu
mediile exterioare. Comunicaţia serială reduce numărul pinilor
microcontolerului ce sunt utilizaţi. Doar doi pini sunt în mod
obişnuit folosiţi, TXD (Transmit Data – Transmisie Date) şi
RXD (Receive Data – Recepţie Date), spre deosebire de
utilizarea a opt pini corespunzători celor opt biţi de date ai
portului paralel.
Comunicaţia paralelă
3
Portul de comunicaţie paralelă al unui echipament era iniţial destinat
exclusiv comunicaţiei cu imprimanta. În prezent interfaţa paralela poate controla
o gamă largă de periferice.
Există mai multe moduri de operare pe portul paralel. Primul s-a numit
SPP (Standard Printer Port sau Parallel Port) şi a fost introdus odată cu
conectorul Centronics pentru comunicaţia cu imprimanta. Acesta era un port
unidirecţional. Ulterior a apărut modul BPP (Bidirectional Parallel Port).
Interfeţele paralele moderne implementeaza ECP (Enhanced Capability Port)
şi EPP (Enhanced Parallel Port), reunite în specificaţiile IEEE1284.
Schema de principiu a modulului de operare SPP (figura 1.1) se bazeaza
pe 8 linii de comunicaţie de la PC către periferic, împreună cu semnalul Strobe
de validare a datelor transmise. Perifericul confirmă recepţia corectă folosind
un semnal de confirmare ACK (acknowledge). În afara acestor semnale
există şi altele, specifice lucrului cu imprimante: busy, paper_out, select,
paper_feed etc., semnale care pot fi utilizate şi pentru alte tipuri de
comunicaţii particulare. Semnalele de control pot fi active pe palier
(handshake simplu) sau pe front (handshake dublu).
Figura 15. Principiul comunicatiei paralele standard, SPP
Un inconvenient major al comunicaţiei paralele este lungimea mică a
cablului de legătură datorită nivelelor TTL utilizate. Distanţa maximă nu
poate depăşi 5m. Standardul IEEE1284 defineşte posibiliatea de transmisie la
distanţe de 10m folosind conductoare torsadate cu cale de masă şi adaptare de
impedanţă la capetele liniei.
Viteza maximă de tranfer pentru modurile SPP şi BPP este de
150KBps iar pentru modurile ECP si EPP poate atinge 2 MBps, folosind tehnici
de buffer-are.
Protocolul ECP a fost propus de Hewlett Packard şi Microsoft. El
introduce conceptele de secvenţe de date şi secvenţe de comenzi, defineşte
implementarea regiştrilor de comunicaţie, programarea interfeţelor I/O, codarea
şi compresia datelor (rata 64:1, atunci când se transmit caractere repetate).
Algoritmul de compresie este RLE (Run Lenght Encoding) care codifică şirul
de caractere transmis prin indicarea numărului de repetiţii. El este eficient
în special la transmisia fişierelor grafice (tiff, bmp, pcx).
4
Modul EPP introduce suplimentar şi facilitatea de control software a
sensului de transmisie. La ECP schimabrea sensului se face prin funcţii de
negociere.
USB
Interfaţa USB (Universal Serial Bus) implementează o modalitate
performantă de comunicaţie serială de viteză. Prima versiune, USB 1.0
prevedea două rate de transfer, de 1,5 Mbps (Low Speed) necesară pentru
perifericele lente (mouse, tastatură) şi alte de 12 Mbps pentru comunicaţia
cu imprimanta, scanere, camere digitale (Full Speed). Ulterior USB 2.0
introduce, pe lângă cele două viteze de mai sus şi rata de 480 Mbps (High
Speed).
Transmisia este de tip serial pe două fire. Datele sunt codificate
diferenţial, în tensiune. La recepţie decizia se ia în funcţie de semnul
diferenţei de tensiune între cele două conductoare. Nivelele de tensiune cu
care se lucreaza sunt între 2.8V şi 0,3V pentru modurile Low Speed şi Full
Speed, respectiv între 400mV şi 0V pentru modul High Speed.
5
Figura 16 Conectica USB
Cablul USB conţine două conductoare pentru transmisia diferenţiala
a datelor, D+ şi D- şi două conductoare pentru alimentare, V+ şi GND.
Acestea din urmă permit alimentarea unor periferice în limita a 0,5A.
Comunicaţia prin interfaţa USB este de tip master-slave cu o arhitectură de tip
arbore pornind de la un master şi având în nodurile arborelui HUB-uri USB.
Conectorul utilizat este USB tip A (de obicei la master) şi USB tip B (de
obicei la slave). Lungimea maximă a unui cablu USB este de 5m.
Un HUB USB este prevăzut cu o conexiune de tip B pentru a
conecta un master şi un număr de conexiuni tip A pentru dispozitive slave.
HUB-ul poate fi considerat şi distribuitor de semnal permiţând creşterea
numărului de periferice şi mărirea distanţei. Numărul maxim de periferice ce
pot fi conectate la un master este 127 iar numărul maxim de HUB-uri ce pot
fi înlănţuite este de 5 (deci o lungime maximă de interconectare cu un
periferic de 25m). Perifericele se pot conecta la interfaţa USB chiar şi în
timpul funcţionări, fiind imediat recunoscute de master.
USB defineşte patru moduri de transfer a datelor:
modul de control, în care master-ul transmite perifericului comenzi
sau informaţii despre starea acestuia;
modul de întreruperi este specific perifericelor ce transmit puţine date
către master (mouse, tastatură), comunicaţia este iniţializată prin
introducerea unei cereri de întrerupere;
modul bulk este un mod specific perifericelor ce vehiculează un
volum mare de date (imprimante, scanere, camere digitale, HDD-uri
externe), comunicaţia având loc în pachete de 64B care sunt
verificate împotriva erorilor;
modul izocron este specific perifericelor ce transmit date în timp real
şi pentru care nu pot fi aplicate tehnici de protecţie împotriva erorilor
(codări), cum ar fi microfonul şi boxele audio.
La iniţializarea unei comunicaţii master-ul execută o operaţie de
enumerare a perifericelor conectate la magistrala USB. În cadrul acestui proces
fiecărui periferic i se atribuie o adresă de identificare pe 7 biţi. În a doua
etapă a procesului de iniţializare master-ul stabileşte rata de transfer şi
modul de lucru cu fiecare dintre perifericele conectate. Pentru a comunica
cu fiecare periferic, controlerul USB asigură o partajare a timpului de
comunicaţaie împărţindu-l în cadre de 1 ms în cazul Low Speed şi Full Speed,
respectiv 25 µs în cazul High Speed. Într-un astfel de cadru de timp au loc
numeroase tranzacţii multiplexate în timp, având diverse viteze de transfer şi
durate. În fiecare cadru prioritatea o au tranzacţiile bazate pe modurile de
transfer in întreruperi. Fiecare tranzacţie se poate extinde pe mai multe
cadre succesive.