+ All Categories
Home > Documents > 8.Interfeţe pentru reţeaua Ethernet

8.Interfeţe pentru reţeaua Ethernet

Date post: 09-Dec-2016
Category:
Upload: doandien
View: 242 times
Download: 0 times
Share this document with a friend
21
Interfeţe pentru reţeaua Ethernet 133 8.Interfeţe pentru reţeaua Ethernet Cuprins Introducere Obiective Durata medie de studiu individual Modulul “Interfeţe pentru reţeaua Ethernet “ îşi propune ca după o scurtă descriere şi un istoric al acestui binecunoscut standard să facă o prezentare a două circuite interfaţă de reţea şi a unui circuit web server. În lumina aspectelor teoretice parcurse anterior, transmisia Ethernet este serială sincronă, cu refacerea tactului din date, informaţia fiind organizată în cadre. După descrierea circuitelor se dau exemple de conectare a acestora cu microcontrollere. Cuprins modul 8.1.Introducere 8.2.Circuitul interfaţă de reţea RTL 8019 8.3. Cadru de date la transmisia Ethernet 8.4. Circuitul interfaţă de reţea CS8900A 8.5. Interfaţarea circuitelor CS8900 şi RTL 8019 cu microcontrollere 8.6. Web server Site Player După parcurgerea acestui modul studenţii vor înţelege mai bine utilitatea părţii fundamentale, se vor familiariza cu nivelul fizic al transmisiei Ethernet şi vor vedea câteva exemple de interfaţare a unor circuite specializate cu microcontrollere. La sfârşit vor vedea principiul şi utilitatea unui web server şi vor putea să-şi imagineze o serie întreagă de aplicaţii posibile prin interfaţarea acestuia cu un microcontroller. Obiective specifice: 1.Cunoaşterea unor tipuri de transmisii seriale şi interfeţe seriale ca structură, protocol şi interfeţe tipice 2. Învăţarea unor interfeţe tipice cu utilizare largă 3.Înţelegerea noţiunilor prin exemplificări practice Durata medie de studiu individual este de 2 ore.
Transcript
Page 1: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

133

8.Interfeţe pentru reţeaua Ethernet

Cuprins

Introducere

Obiective

Durata medie

de studiu

individual

Modulul “Interfeţe pentru reţeaua Ethernet “ îşi propune ca după o scurtă descriere şi un istoric al acestui binecunoscut standard să facă o prezentare a două circuite interfaţă de reţea şi a unui circuit web server. În lumina aspectelor teoretice parcurse anterior, transmisia Ethernet este serială sincronă, cu refacerea tactului din date, informaţia fiind organizată în cadre. După descrierea circuitelor se dau exemple de conectare a acestora cu microcontrollere.

Cuprins modul

8.1.Introducere 8.2.Circuitul interfaţă de reţea RTL 8019 8.3. Cadru de date la transmisia Ethernet

8.4. Circuitul interfaţă de reţea CS8900A 8.5. Interfaţarea circuitelor CS8900 şi RTL 8019 cu microcontrollere

8.6. Web server Site Player

După parcurgerea acestui modul studenţii vor înţelege mai bine utilitatea părţii fundamentale, se vor familiariza cu nivelul fizic al transmisiei Ethernet şi vor vedea câteva exemple de interfaţare a unor circuite specializate cu microcontrollere. La sfârşit vor vedea principiul şi utilitatea unui web server şi vor putea să-şi imagineze o serie întreagă de aplicaţii posibile prin interfaţarea acestuia cu un microcontroller. Obiective specifice: 1.Cunoaşterea unor tipuri de transmisii seriale şi interfeţe seriale ca structură, protocol şi interfeţe tipice 2. Învăţarea unor interfeţe tipice cu utilizare largă 3.Înţelegerea noţiunilor prin exemplificări practice

Durata medie de studiu individual este de 2 ore.

Page 2: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

134

8.1. Introducere

Ethernet este denumirea unei familii de tehnologii de reţele de calculatoare bazată pe transmisia cadrelor şi utilizată la implementarea reţelelor locale LAN. Numele provine de

la cuvântul englez ether (tradus: eter), despre care multă vreme s-a crezut că este mediul în care acţionau şi comunicau zeităţile. Ethernet-ul se defineşte printr-un set de standarde

pentru cablare şi semnalizare electrică aparţinând primelor două niveluri din modelul OSI - nivelul fizic şi legătură de date.

Ethernet-ul este standardizat de IEEE în seria de standarde IEEE 802.3. Aceste standarde permit transmisia datelor prin mai multe medii fizice, cum ar fi:

• cabluri coaxiale, folosite în primele reţele Ethernet, în topologie bus;

• cabluri torsadate, pentru conectarea sistemelor individuale la reţea, în topologie stea;

• cabluri de fibră optică, pentru viteză şi debit mare de date.

Istoricul Ethernet începe în 1973 la Centrul de Cercetări de la Palo Alto al corporaţiei Xerox PARC, când Robert Metcalfe a proiectat şi testat prima reţea. El a dezvoltat metode fizice de cablare ce conectau dispozitive pe Ethernet şi standardele de

comunicaţie pe cablu. Iniţial, comunicaţia se desfăşura la viteza de cca. 3 Mbps, pe un singur cablu, partajat de toate dispozitivele din reţea. Acest lucru a permis extinderea

reţelei fără a necesita modificări asupra dispozitivelor existente în reţea.

În 1979 Digital Equipment Corporation (DEC) şi Intel s-au asociat cu Xerox pentru standardizarea sistemului. Prima specificaţie a celor trei companii, denumită Ethernet

Blue Book, a fost lansată în 1980, cunoscută sub denumirea DIX standard. Era un sistem pe 10 Mbit/s ce utiliza cablu coaxial gros ca backbone în interiorul unei clădiri, cu cabluri coaxiale subţiri legate la intervale de 2.5 m pentru a conecta staţiile de lucru.

IEEE (Institute of Electrical and Electronic Engineers) a lansat în 1983 standardul oficial

Ethernet denumit IEEE 802.3 după numele grupului de lucru care a răspuns de dezvoltarea sa. În 1985 a lansat versiunea 2 (IEEE 802.3a) cunoscută sub denumirea

Thin Ethernet sau 10Base2, în acest caz lungimea maximă a cablului este 185 m.

Structura unei reţele locale mici este dată în figura 8.1. Topologia (structura) este în stea,

ceea ce prezintă avantajul că întreruperea unui fir nu întrerupe reţeaua, dar şi dezavantajul unui consum mai mare de cablu faţă de topologia bus. Tot în aceeaşi figură sunt prezentate în partea de jos un conector RJ45 (stânga), cablu UTP (Unshielded Twisted

Pair) (mijloc) şi STP (Shielded Twisted Pair) (dreapta). În figura 8.2. este reprezentat un cablu optic, conectori şi structura internă.

Page 3: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

135

Figura 8.1. Structura unei reţele locale Ethernet, conector şi cabluri pentru transmisie

Figura 8.2. Cablu optic

Hub Switch Router

Conexiune INTERNET

Strat de de rezistenţă

Strat de protecţie din material plastic

Fibra optică Acoperire pentru reflexie

Page 4: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

136

Adresa IP (Internet Protocol) este o adresă numerică alocată fiecărui calculator conectat în Internet. Adresa IP permite identificarea expeditorului şi destinaţiei unui mesaj. Prima

versiune apărută care este folosită şi astăzi este IPv4 în care adresa este pe 32 de biţi. Reprezentarea canonică a IP-ului IPv4 este pe grupe de 8 biţi, în zecimal, separate de

punct, de exemplu: 192.168.0.1. Creşterea numărului de calculatoare cuplate în Internet a făcut ca IP-urile în această versiune să fie insuficiente şi astfel a apărut IPv6, pe 128 biţi. Autoritatea internaţională Internet Assigned Numbers Authority (IANA) distribuie

adresele IP la 5 autorităţi regionale care apoi le distribuie la ISP (Internet Service Provider)

O schemă bloc a conexiunii prin reţea Ethernet locală a calculatoarelor este dată în figura 8.3. Fiecare calculator trimite date serial pe Tx şi recepţionează date pe Rx. Două perechi

de fire sunt libere pentru conectarea unei linii telefonice. Cadrul (şirul) de date seriale conţine adresa IP a sursei şi a destinaţiei. În centrul reţelei se poate afla un Switch care analizează adresa destinatarului şi trimite datele doar la destinatar sau un Router care, în

plus faţă de switch, stabileşte automat adrese IP pentru fiecare calculator cuplat şi permite conexiunea la Internet.

Figura 8.3. Schema bloc a conexiunii prin reţea Ethernet locală a calculatoarelor

Dacă 2 sau mai multe calculatoare transmit date în exact acelaşi moment se produce o coliziune, figura 8.4. Coliziunea este detectată de ambele calculatoare care au produs-o pentru că ambele urmăresc linia Tx. Linia Tx este comună, deci dacă un calculator pune

logic 1 şi unul logic 0 linia va fi în 0. Când s-a detectat o coliziune ambele calculatoare

Rx Tx

Rx Tx

Rx Tx

ROUTER Calculator 1

Calculator 2

Calculator 3

IP1

IP2

IP3

Bloc conexiune Internet

După tipul conexiunii la Internet router-ele pot fi: • Cuplate prin

UTP • Cuplate prin linia

telefonică • Cuplate optic

Page 5: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

137

încetează transmisia şi o reîncep după trecerea unui interval de timp generat aleator (la întâmplare).

Figura 8.4. Coliziunea

8.2.Circuitul interfaţă de reţea RTL 8019

RTL 8019 este un controller de reţea Ethernet produs de Realtek care oferă o soluţie simplă şi performantă aplicaţiilor cu transfer de date prin reţea. Circuitul permite transfer

full duplex pe UTP (şi dacă plăcile de reţea sunt cuplate între ele printr-un switch adecvat) mărind rata de transfer de la 10Mbps la 20Mbps. Circuitul suportă 3 nivele de

economie de energie: mod adormit, mod oprit (Power Down) dar cu tactul în funcţiune şi mod oprit cu tactul oprit.

La RTL 8019 poate fi conectată o memorie ROM numită BROM (Boot ROM) din care se poate încărca un set de date care vor aduce sistemul de operare de pe server, caz în care staţia conectată nu are nevoie de hard disc (aplicaţie importantă la sistemele care

comandă automatizări). Memoria ROM poate fi de 16K, 32K sau 64K şi poate fi citită de sistem prin interfaţa cu magistrala, începând de la o adresă configurabilă. După

incărcarea sistemului de operare memoria BROM poate fi invalidată pentru a elibera zona de adrese ocupată.

t

Nivel linie calculator 1

t

Nivel linie calculator 2

t

Nivel linie rezultat

Niciun calculator nu citeşte ce a scris pe linie, deci s-a detectat o coliziune

Page 6: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

138

Pentru a mări viteza de transfer, cadrele recepţionate sau cele de emis pot fi stocate într-o memorie locală SRAM cuplată la RTL 8019. Se pot conecta până la 32Kocteţi SRAM.

Există variante de RTL 8019 cu memorie SRAM integrată.

Configuraţia şi parametrii de iniţializare pot fi stocaţi într-o memorie serială EEPROM

cuplată la circuit. Această memorie (de tip 9346) poate fi programată cu circuitul cu RTL 8019. Schema bloc simplificată a circuitului RTL 8019 este dată în figura 8.5:

Figura 8.5. Schema bloc a circuitului RTL 8019

Programarea circuitului se realizează cu un set de registre citite /scrise de procesor la adrese de I/O. Aceste adrese sunt relative la o adresă de bază I/O care poate fi selectată la

iniţializare (una din 16 adrese posibile). Linia de întrerupere cu care lucrează circuitul poate fi programată ca una din 8 linii posibile.

Programarea adresei de bază de I/O, a dimensiunii memoriei BROM, linia de întrerupere se fac la iniţializare prin jumperi. Desigur că unii parametrii pot fi modificaţi prin scrierea registrelor de configurare.

Cele mai importante semnalele la pini (din punct de vedere al acestui curs) sunt

semnalele de interfaţă cu magistrala:

• INT7-0 cereri de întrerupere, dintre care numai una este selectată la un moment dat;

Interfaţa cu magistrala

Serializare/ deserializare

Codare/ decodare Introducere/

recunoaştere adresă proprie

Interfaţa cu mediul

de transmisie

10BaseT

Memorie proprie SRAM

16Kocteţi

Comanda memoriei EEPROM

Comanda memoriei SRAM externe

Comanda

memoriei

BROM

Page 7: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

139

• IORB indică un ciclu de citire iar IOWB indică un ciclu de scriere la un dispozitiv de I/O (din perspectiva procesorului);

• SA19-SA0 magistrala de adrese;

• SD15-SD0 magistrala de date;

• SMEMRB indică un ciclu de citire din memorie (din perspectiva procesorului).

Pentru transmisia unui cadru, informaţia de transmis se înscrie în RTL 8019 în memoria proprie prin transfer de memorie la adresa la care RTL 8019 a fost configurat. Transmisia

se face prin DMA sau prin adresare şi înscrierea locaţiei pe magistrală sau prin înscrierea datelor în zona de I/O a RTL 8019 la un port I/O. Recepţia datelor se face prin transfer

programat de memorie pe magistrală, prin DMA sau la un port I/O prin citirea registrului FIFO care este vârful unei stive în care se află cadrul recepţionat.

Se poate observa că aceste semnale de interfaţă cu magistrala sunt cele studiate în

modulele anterioare Magistrale şi Conectarea pe magistrală, ceea ce subliniază

importanţa aspectelor fundamentale.

8.3. Cadru de date la transmisia Ethernet

Protocolul MAC (Media Access Control) este folosit pentru implementarea nivelului

Legătură de Date în tehnologia Ethernet. Protocolul MAC încapsulează datele adăugând un antet de 14 bytes în faţa datelor şi 4 bytes de informaţie de control (CRC) la sfârşitul datelor. Întregul cadru de date este precedat de o perioadă de timp şi un preambul de 8

bytes.

Formatul unui cadru de date Ethernet este format din următoarele câmpuri:

• Preambulul- Orice transmisie de cadru Ethernet începe cu o secvenţă de 8 bytes. Această secvenţă constă din 62 de biţi alternanţi de 1 şi 0 care sunt urmaţi de doi biţi

de 1. Scopul acestui câmp este de a permite receptorului sa-şi sincronizeze ceasul de recepţie a datelor cu ceasul de transmisie. Orice transmisie serială sincronă cu refacerea tactului din datele citite şi care este organizată în cadre de date conţine un

preambul de sincronizare.

• Delimitatorul de început de cadru- Ultimul byte din preambul care se termină cu doi biţi de 1 anunţă începutul unui cadru de date. La primirea codului special “11” interfaţa Ethernet de recepţie tratează următorii biţi ca date.

• Adresa sursă şi adresa destinaţie- Aceste adrese sunt de 6 bytes fiecare şi reprezintă

adresele fizice (adrese MAC) ale transmiţătorului şi receptorului.

Page 8: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

140

• Tip- Prin acest câmp este specificat protocolul superior care va prelua datele după procesarea Ethernet (valoarea 0x0800 identifică protocolul IP , acesta fiind şi cel mai folosit).

• Data- După procesarea Ethernet aceste date sunt trimise protocolului superior specificat în câmpul Tip. Lungimea minimă a acestui câmp este de 46 bytes şi cea maximă este de 1500 bytes. Orice depăşire a acestor limite este considerată eroare.

• CRC- acest câmp poartă şi denumirea de FCS – Frame Check Sequence şi este calculat de către sursă şi recalculat la destinaţie pentru detectarea eventualelor erori survenite în timpul transmisiei. Dacă se detectează vreo eroare cadrul de date este

abandonat. Protocolul MAC nu oferă nici un mecanism prin care să se indice sursei că un anumit cadru de date a fost abandonat din cauza apariţiei unei erori.

Trebuie menţionat faptul că, fiind vorba de o topologie de tip multipunct (broadcast), cadrele Ethernet din reţea sunt preluate de către toate calculatoarele conectate la reţea.

După efectuarea verificărilor privind corectitudinea cadrului, se verifică dacă acel cadru este destinat calculatorului respectiv. Verificarea se face pe baza adresei MAC de

destinaţie. Această adresă poate fi chiar adresa MAC a calculatorului respectiv, şi atunci cadrul este procesat, adresa MAC de broadcast, şi în acest caz cadrul fiind procesat, sau o altă adresă MAC, şi atunci cadrul este abandonat.

Deoarece tehnologia Ethernet implementează funcţiile celor două nivele OSI, Legătură

de Date şi Fizic, tot aici trebuie implementată şi metoda de adresare fizică. Protocolul MAC conţine şi această schemă de adresare. Această adresă fizică, ca şi întreaga tehnologie Ethernet, este implementată în interiorul interfeţei de reţea.

Adresa fizică constă dintr-un număr de 48 de biţi scris în hexazecimal care identifică în mod unic în lume o interfaţă de reţea. Această unicitate este dată de primii 24 de biţi care

reprezintă un număr ce identifică producătorul interfeţei. Acest număr este denumit OUI – Organizational Unique Identifier şi este administrat şi distribuit producătorilor de către

IEEE. Ceilalţi 24 de biţi reprezintă numărul de serie al interfeţei şi este administrat de către producător. Aceste adrese MAC mai poartă şi denumirea de adrese BIAs – Burned-in Addresses deoarece ele sunt înscrise într-o memorie ROM de pe interfaţa de reţea.

8.4. Circuitul interfaţă de reţea CS8900A

Circuitul CS8900 (producător CIRRUS LOGIC) este o interfaţă pentru reţea Ethernet

care încorporează toate circuitele digitale şi analogice necesare conectării la reţea pe de o parte şi la magistrală sau la un port paralel pe de altă parte.

Page 9: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

141

Schema bloc a circuitului CS8900 este dată în figura 8.6.:

Figura 8.6. Schema bloc a circuitului CS8900 (sursa www.crystal.com )

Blocurile principale sunt:

1.Interfaţa cu magistrala, toate liniile de interconectare având capabilităţi de încărcare standard. Circuitul poate cere o întrerupere pe una din patru linii şi poate cere un transfer

DMA pe una din trei linii. Liniile se selectează la iniţializarea circuitului.

2.Memoria internă (4K octeţi) face ca o memorie externă să nu mai fie necesară. Circuitul introduce în această memorie un întreg cadru de trimis sau recepţionat.

3.Modulul MAC (Media Access Control) de acces la reţea asigură accesul conform

standardului IEEE 802.3 în mod full duplex. MAC se ocupă de toate aspectele legate de transmisia cadrului cum ar fi detecţia de coliziuni, generarea şi detectarea preambulului,

generarea şi verificarea CRC. Modulul MAC retransmite automat cadrul după detectarea unei coliziuni.

4.Interfaţa cu EEPROM este necesară pentru a citi un EEPROM serial opţional care conţine datele de configurare ale circuitului.

Controller Ethernet CS8900 B U S C O N T R O L

Control al EEPROM

RAM

Magistrala

MAC 802.3

Controller de RAM

EEPROM

10BASE-T Emiţător şi filtre

10BASE-T Receptor şi filtre

Transfor-mator de separare

RJ45Reţea

Ethernet

Codare- decodare- PLL

Gestionarea puterii consumate

Tact

Page 10: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

142

5.Interfaţa analogică cu reţeaua conţine codorul şi decodorul Manchester, circuitul de refacere a tactului din semnalul recepţionat (cu PLL), transceiver pentru 10BASE-T. Trei

LED-uri arată starea circuitului: starea ON sau OFF a legăturii, activitatea Ethernet şi starea magistralei. Transceiverul 10BASE-T conţine emiţătoare şi receptoare de linie şi

filtre analogice, în exterior fiind necesar doar un transformator de separare. Sunt

suportate cabluri cu impedanţa caracteristică de 100, 120 şi 150Ω, ecranate sau

neecranate.

Cele mai importante semnalele la pini sunt:

Semnale de interfaţă cu magistrala: SA0-19 (adrese), SD0-15 (date), RESET, /MEMR,

/MEMW, /IOR, INTRQ0-3, DMARQ0-2, DMACK0-2, ALE. Semnale de interfaţă cu mediul de transmisie: TXD+, TXD-, RXD+, RXD- pentru 10BaseT.

Funcţionarea circuitului are la bază 2 funcţii: să trimită un cadru Ethernet şi să recepţioneze un cadru. Înainte de emisie sau recepţie, circuitul trebuie configurat. Spre deosebire de RTL 8019, CS 8900 nu gestionează liniile de date şi adrese ale memoriei

externe, fiind de aceea un circuit cu mai puţine terminale şi fiind astfel mai uşor de folosit.

Transmisia unui cadru începe cu o comandă (Transmit Command) prin care se precizează când să înceapă transmisia (după ce toţi octeţii au fost transmişi în CS8900 de exemplu),

existenţa CRC etc. Se trimite apoi lungimea cadrului, (Transmit Length), după care se trimit datele în CS prin transfer de memorie în memoria proprie sau prin transfer I/O.

Circuitul transmite cadrul în reţea începând cu un preambul urmat de adresa destinaţiei, adresa sursei, date, octeţi de CRC (se pot citi amănunte în paginile anterioare, la structura cadrului Ethernet).

Recepţia unui cadru este realizată de CS şi cadrul este stocat în memorie. Recepţia se face prin decodare Manchester, apoi sunt eliminate preambulul, adresa destinatarului este verificată şi dacă corespunde cu adresa programată în CS cadrul este memorat şi se anunţă procesorul printr-o întrerupere. În a doua fază datele din memorie se transferă în

memoria sistemului pe magistrală, prin transfer de memorie, transfer I/O sau prin DMA.

Transferul de memorie se face prin accesul direct al procesorului la memoria internă a

CS, adresată pe liniile de adresă, sensul transferului fiind dat de MEMR sau MEMW. Registrele de configurare pot fi accesate şi ele în acest mod. La transferul I/O, CS este

accesat prin 8 registre de 16 biţi, văzute de procesor în spaţiul de I/O. Sensul transferului este dat de IOR şi IOW. Acest al doilea mod (I/O) este ales implicit la pornirea circuitului (sau la RESET).

Programarea circuitului CS8900 se face printr-un concept original de programare, prin

intermediul memoriei interne numită PacketPage. Accesul la această memorie poate fi

Page 11: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

143

realizat atât prin transfer cu memoria cât şi I/O. Transferul cu memoria este preferat deoarece ciclul de memorie este de regulă mai scurt decât cel de I/O. Conectarea lui

CS8900 la un microcontroller face imposibilă tratarea PacketPage prin transfer de memorie.

8.5. Interfaţarea circuitelor CS8900 şi RTL 8019 cu microcontrollere

Circuitul CS8900A poate fi folosit cu multă uşurinţă prin cuplarea cu un microcontroller.

În cazul folosirii unui microcontroller AT89S53 (pe 8 biţi) transferul se face pe 8 biţi. CS8900 poate lucra în acest mod cu unele restricţii. Drivere pentru lucrul pe 16 şi pe 8 biţi sunt disponibile pe pagina de la Cirrus Logic. Avantajele circuitului CS8900 sunt un

număr mai mic de pini, documentaţie mai clară, modul de programare mai simplu datorită conceptului de PacketPage. Dezavantajul principal este că se procură greu.

Conectarea circuitului CS8900 la microcontrollerul AT89S53 este prezentată în figura 8.7. şi figura 8.8. Legătura de date între circuite este realizată printr-o magistrală de date

de 8 biţi formată de portul P0 al microcontrollerului. Magistrala de date permite cuplarea şi a altor circuite, care astfel pot comunica cu reţeaua, transferul fiind comandat de microcontroller.

Sensul transferului este comandat de semnalele /RD şi /WR (P3.6 şi P3.7). Cu un latch de

adrese se memorează liniile de adresă, care sunt generate multiplexat cu cele de date la portul P0 al microcontrollerului. Latchul este comandat de semnalul ALE. Se obţin liniile de adrese A0, A1, A2, A3 necesare pentru selecţia registrelor interne ale CS8900 şi

rămân libere liniile de adrese A4-A7 cu care se pot selecta diferite circuite cuplate pe magistrala de date. Circuitul CS8900 este selectat cu linia A7. Un semnal de RESET

format în Schema 2 iniţializează atât microcontrollerul cât şi controllerul de reţea la punerea sub tensiune sau la apăsarea unui buton.

Microcontrollerul are prevăzute 2 interfeţe pentru comunicaţia cu sistemul gazdă:

• Interfaţa serială RS232 pentru transferul de date. De la microcontroller spre RS232 este conectat un circuit pentru modificarea de nivel MAX232;

• Interfaţa serială sincronă SPI.

Două generatoare de tact furnizează tactul pentru microcontroller (10MHz) şi pentru controllerul de reţea (20MHz).

La controllerul de reţea se adaugă un minim de componente externe:

• Transformator de izolare pentru 10BASE-T (cablu UTP);

• 2 LED-uri de semnalizare.

Page 12: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

144

O altă variantă de cuplare (arătată în figura 8.9.) este cu microcontroller RISC AT90S şi controller de reţea RTL8019. Diferenţa este că nu se creează o magistrală de date şi

adrese, deci nu se pot cupla şi alte circuite. Altfel schema este asemănătoare. La microcontroller apar cele 2 interfeţe de transfer de date RS232 cu adaptare de nivel

(MAX232) şi cea serială sincronă SPI. La controllerul de reţea apare transformatorul de izolare şi LED-urilor de semnalizare. Transferul de date are loc prin portul PC al microcontrollerului iar selecţia registrelor interne pentru RTL8019 precum şi precizarea

sensului transferului se realizează cu semnale din portul PA.

Un circuit RTL8019 se poate conecta cu un microcontroller din familia 8051, soluţia

fiind menţionată în [email protected].

Câteva caracteristici principale ale folosirii circuitului RTL sunt:

• Memoria RAM internă de 16 Kocteţi asigură un număr mic de componente externe circuitului (ca şi la CS8900);

• Pentru aplicaţii TCP-IP este necesară memoria EEPROM externă pentru a stoca codul IP;

Ca dezavantaj se menţionează capsula circuitului (100 de pini) destul de dificil de lipit în condiţii ne-industriale.

Page 13: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

145

Figura 8.7. Circuitul CS8900 şi componentele externe pentru cuplarea la AT89S53

VCC

VCC

VCC

/CS

A0A1A2

D0D1D2D3D4D5D6D7

/WR/RD

/RESET

A3

C3

68p

U1

CS8900A-CQ

373839404142434445464748505152535458596065666768717273742726252421201918

28

29

62

61

49

63

75

34

33

64

32

31

30

35

15

13

11

16

14

12

3654

9 22

56

69

90

85

95

8 10

23

55

57

70

189

86

94

96

77

76

93

8483

8079

8281

92918887

789910017

97

98

2 7 36

SA0SA1SA2SA3SA4SA5SA6SA7SA8SA9SA10SA11SA12SA13SA14SA15SA16SA17SA18SA19SD0SD1SD2SD3SD4SD5SD6SD7SD8SD9SD10SD11SD12SD13SD14SD15

MEMW

MEMR

IOW

IOR

REFRESH

AEN

RESET

MEMCS16

IOCS16

IOCHRDY

INTRQ0

INTRQ1

INTRQ2

INTRQ3

DMARQ0

DMARQ1

DMARQ2

DMACK0

DMACK1

DMACK2

EECS

EEDATAIN

EEDATAOUT

EESK

DVDD1

DVDD2

DVDD3

DVDD4

AVDD1

AVDD2

AVDD3

DVSS1

DVSS1A

DVSS2

DVSS3

DVSS3A

DVSS4

AVSS0

AVSS1

AVSS2

AVSS3

AVSS4

HWSLEEP

TESTSEL

RES

DO-DO+

DI-DI+

CI-CI+

RXD-RXD+TXD-TXD+

BSTATUS/HC1LINKLED/HC0

LANLEDCSOUT

XTAL1

XTAL2

ELCS

CHIPSEL

SBHE

100

JP1

RJ45

12345678

4,99K

R7R

U3A

SN7404

1 2

Y1

20MHz

D2

LED

D1

LED680

680

Transf ormator izolator 10 BASE T

123

16

14

678 9

11

24,9

24,9

C10,1u

C2

0,1u

Page 14: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

146

Figura 8.8. Schema de conectare a circuitului AT89S53 cu CS8900

VCC

VCC

VCC

VCC

VCC

RS0RS1RS2A3A4A5A6A7

D0

D1D2D3D4D5D6D7

/INT

/WR/RDCLK

/CS

/CSA7

RS1

A3

RS0

A5A4

A7

RS2

A6

D3

D0

D6

D1

D6D7

D4

RESET

D5

D0

/WR

D3D2

D1

D7

/RD

D2

CLK

/INT

D5D4

RESET

R1

8,2K

10u

U2

8282

12345678

911

1918171615141312

I0I1I2I3I4I5I6I7

OESTB

O0O1O2O3O4O5O6O7

SW1RESET

1

2

1K

P2

RS232 DB9

594837261

Y1

GENERATOR 10MHz

1 2

34

U3

MAX232

138 11

10

134526

129

147

16

R1INR2IN T1IN

T2IN

C+C1-C2+C2-V+V-

R1OUTR2OUT

T1OUTT2OUT

Vcc +5V

U1

AT89S53

91819 29

30

31

12345678

2122232425262728

1011121314151617

3938373635343332

RSTXTAL2XTAL1 PSEN

ALE/PROG

EA/VPP

P1.0/T2P1.1/T2-EXP1.2P1.3P1.4//SSP1.5/MOSIP1.6/MISOP1.7/SCK

P2.0/A8P2.1/A9

P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15

P3.0/RXDP3.1/TXD

P3.2/INTOP3.3/INT1

P3.4/TOP3.5/T1

P3.6/WRP3.7/RD

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7

JCP2

CENTRONICS DB25

11 BUSY

12 PE

13 SELECT IN

10 /ACK

3 D1

2 D0

1 /STROBE

6 D4

5 D3

4 D2

9 D7

8 D6

7 D5

25 GND

24 GND

23 GND

22 GND

21 GND

20 GND

19 GND

18 GND

17 /SELECT

16 /INIT

15 /ERROR

14 /AUTOFEED

1u1u

1u

1u

1u

U4A

SN7400

1

23

U7ASN74126

2 3

1

SN74126

9 8

10

SN74126

56

4

RxD

TxD

Page 15: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

147

Figura 8.9. Conectarea unui circuit RTL8019 la un microcontroller RISC (AT90S8515)

Vcc

Vcc

Vcc

Vcc

Vcc Vcc

Vcc

Vcc

D7

A0

D5

A4

D2

D0

D6D4

D6

D4

A1

D0D1

A2

A2

D2

D7

A0

D3

A3

A1

D5

D3

D1

A4A3

Db0

Db1

Db2

Db3

Db4

Db5

Db6

Db7

Db0Db1Db2Db3Db4Db5Db6Db7

RTL8019AS

U5

U2

RTL8019AS

1234

5

6

789

10111213

14

1516

17

18192021222324252627

28

2930

50

4948

47

4645

44

4342414039383736

3534

33

3231

80797877

7675

74737271

70

69686766

65

64

63

626160

5958

57

56555453

52

51

8182

83

8485

86

8788

89

909192939495

96

979899

100

INT3INT2INT1INT0

SA0

VDD

SA1SA2SA3SA4SA5SA6SA7

GND

SA8SA9

VDD

SA10SA11SA12SA13SA14SA15SA16SA17SA18SA19

GND

IORBIOWB

OSCI

TX+TX-

VDD

LDHD

GND

SD7SD6SD5SD4SD3SD2SD1SD0

IOCHRDYAEN

RSTDRV

SMEMWBSMEMRB

BD4BD5BD6BD7

EECSBCSB

BA14BA15BA16BA17

VDD

BA18BA19BA20BA21

JP

AUI

LED2

LED1LED0

LEDBNC

TPIN+TPIN-

VDD

RX+RX-

CD+CD-

GND

OSCO

BD3BD2

GND

BD1BD0

GND

SD15SD14

VDD

SD13SD12SD11SD10SD9SD8

IOCS16B

INT7INT6INT5INT4

RJ-45

UTP

6

3

2

1

TPRX-

TPRX+

TPTX-

TPTX+

200R4

C530pF

C610nF

C210nF

C430pF

+C11

1uF

1

+C9

1uF

U1

AT90S8515

9

1819

20

293031

40

2122232425262728

1011121314151617

12345678

3938373635343332

RESET

XTAL2XTAL1

GND

OC1BALEICP

VCC

PC0/A8PC1/A9

PC2/A10PC3/A11PC4/A12PC5/A13PC6/A14PC7/A15

PD0/RXDPD1/TXDPD2/INT0PD3/INT1PD4PD5/OC1APD6/WRPD7/RD

PB0/T0PB1/T1PB2/AIN0PB3/AIN1PB4/SSPB5/MOSIPB6/MISOPB7/SCK

PA0/AD0PA1/AD1PA2/AD2PA3/AD3PA4/AD4PA5/AD5PA6/AD6PA7/AD7

D2

LED

D1

LED

R3 1K

R2 1K

1

P1

13251224112310229218207196185174163152141

Y2

20MHz

Y1

8MHz

P2

COM

594837261

C710nF

U5MAX232

13

8

11

10

1

3

4

5

2

6

12

9

14

7

16

15

R1

2K

C310nF

C1

0.1uF

+C101uF

+

C8

1uF

20F001N

U7

1

234

56 7

8

91011

12TPOUT+

GNDTPOUT-TPIN+

GNDTPIN- TPRX-

GND

TPRX+TPTX-GND

TPTX+

Page 16: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

148

8.6. Web server Site Player

În aproximativ 2 cm pătraţi, SitePlayer (figura 8.10 stânga) include un server web,

controller Ethernet 10baseT, memorie pentru stocarea paginilor web, coprocesor pentru obiectele grafice şi o interfaţă serială. Structura SitePayer conţine:

• Controllerul de reţea RTL8019AS Realtek se ocupă de semnalele Ethernet şi transferă pachetele IP către microcontroller

• Microcontrollerul Philips 89C51 se ocupă de protocolul TCP/IP, suportă 8

porturi I/O şi un port serial.

SitePlayer se poate conecta prin interfaţa serială RS232 la un microcontroller şi prin conexiunea Ethernet se poate cupla la Internet. Pagina pusă de SitePlayer pe Internet poate conţine date măsurate de microcontroller dintr-un proces şi, invers, pot fi generate

comenzi pentru proces.

La pornire, SitePlayer afişează o pagină de test (figura 8.10 dreapta) prin intermediul

căreia se poate aprinde ledul roşu şi ledul verde prezent pe placa de dezvoltare.

Figura 8.10. SitePlayer şi pagina iniţială de test

Codul care indică SitePlayer-ului cum să funcţioneze şi ce pagini web trebuie să

servească trebuie definit de SitePlayer Definition file şi apoi asamblat într-o imagine binară (SitePlayer Binary image) folosind utilitarul SiteLinker. Imaginea binară este

scrisă în memoria flash prin conexiunea Ethernet. Interacţiunea cu dispozitivul serial şi servirea paginilor web se poate face atât folosind placa de dezvoltare cât şi emulatorul

SitePlayePC.

Paşii necesari creării unui proiect sunt:

1. Definirea şi crearea obiectelor (folosind un editor de texte) în fişierul SitePlayer Definition File(.SPD)

Page 17: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

149

2. Creare paginilor web folosind un editor HTML. 3. Asamblarea şi download-area fişierului binar SitePlayer Binary file (.SPB)

folosind programul SiteLinker.

4. Simularea folosind programul SitePlayerPC.

Două exemple de pagini create pe SitePlayer este cea din figura 8.11. Cu ajutorul unor imagini *.gif care reprezintă cifrele de la 0 la 9 ale unui display cu leduri se poate realiza

un afişaj simplu şi elegant, imaginea fiind dată în stânga. O pagină realizată la un proiect de diplomă este cea din dreapta. Un microcontroller supraveghează reţeaua de alimentare

de 230V A.C. şi are o interfaţă cu un SitePlayer. Fiecare eveniment din reţea (de exemplu o supratensiune) este detectat şi microcontrollerul trimite un mesaj care va avea ca efect completarea în tabel a descrierii evenimentului împreună cu ora la care a apărut. Lista de

evenimente pot fi văzute pe Internet de la distanţă de firma distribuitoare de energie sau de proprietarul locaţiei respective.

Figura 8.11. Exemple de pagini

Page 18: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

150

Rezumat

Bibliografie

1. P. Ogruţan, C. Gerigan, N. Banciu Memorii, interfeţe şi

periferice. Interfeţe specializate, Ed. Transilvania Braşov, 2003, 190 pagini, ISBN 973-635-118-1, pag. 31-56, online la: http://vega.unitbv.ro/~ogrutan/ii/retea.pdf

2. Ayres, J. Using the CRYSTAL CS8900A in 8 Bit Mode,

AN181, online: www.crystal.com

3. Werner C. Implementation notes for an Ethernet

solution usable for embedded systems using the

RTL8019, 2002, online: [email protected]

4. http://netmedia.com/siteplayer/

Transmisia de date prin reţeaua Ethernet este cea mai răspândită metodă de transfer de date serial sincron. Se prezintă pe scurt mediul fizic de transmisie şi topologia reţelei, se descriu coliziunile şi cadrul de date. Sunt prezentate sumar două circuite interfaţă de reţea care pot fi interfaţate cu microcontrollere. La fiecare circuit este prezentată o schemă bloc, funcţionarea, funcţiile realizate şi câteva semnale mai importante. Scheme de conectare arată exemple practice de conectare la două tipuri de microcontrollere. La sfârşit este prezentat un web server şi utilitatea lui în anumite aplicaţii, cu un exemplu de realizare la proiect de diplomă.

Page 19: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

151

Test de autoevaluare

1.Coliziunea datelor la Ethernet are loc când:

(a) expeditorul mesajului şi destinatarul sunt cuplate pe linie în acelaşi timp

(b) două calculatoare emit mesaje la momente diferite de timp (c) două calculatoare emit mesaje în acelaşi timp

(d) două calculatoare reîncep transmisia după o perioadă de timp aleatoare

I. Vezi pagina 4 şi pagina 5

R

2.Care este rolul unei memorii EEPROM seriale cuplate la un

controller specializat:

(a) face backup la cadrul de date recepţionat

(b) se salvează configuraţia şi parametri de inţializare (c) memorează adresa MAC a controllerului

(d) se salvează numărul liniei de întrerupere, DMA, şi alţi parametri necesari circuitului la pornire

I. Vezi pagina 6 şi pagina 7

R

Page 20: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

152

3Adresa MAC de 48 de biţi poate fi modificată astfel:

(a) prin încărcarea din EEPROM a unei alte adrese salvate

(b) la un PC în sistemul de operare prin setări ale plăcii de reţea (c) nu se poate modifica în controllerul de reţea Ethernet

(d) se poate modifica prin schimbarea controllerului de reţea

I. Vezi pagina 8

R

4.Controllerul de reţea CS8900 poate fi conectat la un port

paralel sau pe magistrală. Care dintre afirmaţii sunt

adevărate?: (a) prin cuplarea la un port circuitul CS8900 este văzut în spaţiul de I/O

(b) transferul printr-un port paralel asigură o viteză de transfer mai mare

(c) la transferul printr-un port paralel viteza poate fi mai mare prin DMA (d) transferul printr-un port paralel este mai simplu

I. Vezi pagina 10

R

Page 21: 8.Interfeţe pentru reţeaua Ethernet

Interfeţe pentru reţeaua Ethernet

153

Răspunsuri corecte:

1. c, pagina 4 2. b şi d, pagina 6 3. c şi d, pagina 8 4. a şi d, pagina 10 5. a şi c, pagina 16 şi 17

R

5. Un web server poate îndeplini următoarele funcţii:

(a) să stocheze în memoria proprie o pagină web simplă

(b) să fie conectat la Internet prin interfaţa serială RS232 (c) printr-o conexiune serială RS232 să transmită şi să recepţioneze date de la un microcontroller

(d) să distribuie o conexiune Ethernet la mai multe dispozitive

I. Vezi pagina 16 şi pagina 17

R


Recommended