8.interfeţe pentru reţeaua ethernet
TRANSCRIPT
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.
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ă.
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
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
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
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
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.
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.
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
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
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.
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.
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
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
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+
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)
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
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ă.
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
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
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