Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului...

15
Universitatea “Dunărea de Jos” Galaţi Facultatea de Inginerie Electricăşi Electronică Specializarea: Tehnologii şi Sisteme de Telecomunicaţii Circuit de supervizare şi control cu interfaţă “ethernet” Coordonator ştiinţific, Asist. Drd. Ing. EPURE Silviu Absolventă, MIHNEA Dorina

Transcript of Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului...

Page 1: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

Universitatea “Dunărea de Jos” GalaţiFacultatea de Inginerie Electrică şi ElectronicăSpecializarea: Tehnologii şi Sisteme de Telecomunicaţii

Circuit de supervizare şi control cu interfaţă “ethernet”

Coordonator ştiinţific,Asist. Drd. Ing. EPURE Silviu

Absolventă,MIHNEA Dorina

Page 2: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

Plan de prezentare

1. Obiectivele proiectului2. Proiectare hardware3. Proiectare software4. Rezultate practice 5. Concluzii

Page 3: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

1.Obiectivele proiectului

Proiectarea unui circuit de supervizare şi control cu interfaţă“ethernet” prin:

1. Realizarea unei interfeţe hardware ce asigură comunicarea PC-ului cu circuitul;

2. Implementarea algoritmilor software pentru comandarea senzorilorprin server;

3. Realizarea unei aplicaţii software ce trimite linie cu linie un fişier text serverului (client).

Page 4: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

2. Proiectare hardwareCircuitul de interfaţă:n Constă în comunicarea între un encoder de tip ENC28J60 cu

interfaţă Ethernet şi un microcontroller de tip PIC18F2620 legându-se fizic de un calculator printr-o mufă RJ-45;

n ENC28J60 comunică cu PIC18F2620 prin interfaţa SPI;n Se alimentează la o tensiune de 3.3V.

Figura 1. Realizarea fizică a circuitului de interfaţă

Page 5: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

Schema electrică detaliată

Page 6: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

3. Proiectare software

3.1 Aplicaţia server- Rulează în microcontroller (mikroC);- Reprezintă un server http ce procesează comenzile TCP primite pe

portul 80 de la clientul PC;- Structura aplicaţiei realizată în mikroC reprezintă:

1. Comenzile principale care conţin iniţializarea porturilor, a ethernet-ului şi apelul în buclă infinită;

2. Comenzile care tratează procedura de transmisie/recepţie întremicrocontroller şi encoderul ethernet.

3. Comenzile care implementează procedura de tratare a evenimentelor TCP;

Page 7: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

3.1 Aplicaţia server

Figura 2. Organigrama programului Figura 3. Mini web server

Page 8: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

3.2 Prelucrare TCP

n Pagina web memorată în server conţine elemente simple (text, tabele, fundal colorat, linkuri). Ea a fost proiectată manual şi salvată învariabila/ constanta “index-page” din microcontroller;

n Pentru a comunica între PC şi server, se foloseşte aplicaţia browser(Internet Explorer, Mozilla, etc.);

n Datorită protocolului de comunicare TCP, microcontrollerul recepţionează un şir de caractere de forma: „GET /stare buton …HTTP/1.1..Accept: ...” - atunci când se trimite comanda de la buton prin browserul web.

Page 9: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

3.2.1 Configurarea porturilor pentrucomunicarea cu ENC28J60

sfr sbit SPI_Ethernet_Rst at RC0_bit; sfr sbit SPI_Ethernet_CS at RC1_bit; sfr sbit SPI_Ethernet_Rst_Direction at TRISC0_bit;sfr sbit SPI_Ethernet_CS_Direction at TRISC1_bit;// Se configurează regiştrii SFR Ethernet RST şi CS pentru pinii RC0, respectiv

RC1;typedef struct {unsigned canCloseTCP: 1; // Blocul care închide soketul TCP;unsigned isBroadcast: 1; // Blocul care scoate în evidenţă pachetul;} TEthPktFlags;

Page 10: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

3.2.2 Structura de cod pentru senzorulde lumină

IntToStr(ADC_Read(0), dyna) ;len += putConstString("var AN0=") ;len += putString(dyna) ;len += putConstString(";") ;

ADC Read apelează convertorul analog numeric din PIC şi întoarceca rezultat un număr între 0 şi 1024, corespunzător tensiunii de la intrareaanalogică AN0 a PIC-ului. IntToStr transformă numărul returnat de ADCRead într-un şir de caractere ce poate fi trimis ENC28j60.

Următoarele linii semnifică scrierea şirului de caractere în răspunsulce va fi trimis clientului (PC).

Page 11: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

3.2.3 Structura de cod pentru buton<script>var str,i;\str=\"\";\for(i=4;i<5;i++){str+=\"<tr><td bgcolor=#EFF23A align=center>Comanda Aux.

RA\"+i+\"</td>\<td bgcolor=#F0F27A align=center><a href=/t\"+i+\">Buton</a></td>\";\if(PORTA&(1<<i)){str+=\"<td width=50px bgcolor=#32F62C align=center>ON\";}\else {str+=\"<td width=50px bgcolor=#255528 align=center>OFF\";}\str+=\"</td></tr>\";}document.write(str);</script>if(getRequest[5] == 't') { // Dacă numele cererii începe cu "t", comută starea portului

RA4, // număr care vine după;

unsigned char bitMask = 0 ; // pentru bitul de mască;if(isdigit(getRequest[6])) { // dacă este 0 <= numărul bitului <=9, biţii 8 si 9 nu există

dar//nici nu contează;

bitMask = getRequest[6] - '0' ; // Converteşte din codul ASCII în număr întreg;bitMask = 1 << bitMask ; // Crează bitul de mască;PORTA ^= bitMask ; // Schimbă starea portului RA4 cu operatorul XOR;

}

Page 12: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

4. Rezultate experimentale[1]n În timpul programării microcontrollerului s-a ţinut cont de mărimea

pachetului de date către encoder care nu trebuie să depăşeascã 1500 biţi de cuvinte pentru a evita supraîncărcarea magistralei de date.

n Se deschide pagina html (în browser se introduce adresa192.168.0.200), se încarcă serverul în browser afişându-se informaţiile senzorilor şi starea butonului cu comanda direct din paginaweb.

n Prin apăsarea butonului se efectuează comanda auxiliară care trimite pe portul RA4, a microcontrolerului, starea de 1 logic (+5vcc). La o a doua apăsare portul RA4 trece în starea de 0 logic (0vcc).

n Senzorul de lumină, la variaţia intensităţii luminoase, trimite semnal analogic între 0 şi 5vcc la intrare în portul RA0 setat pe “analogic input”, după conversie, pe pagina web se afişeaz valoarea între 0 şi 1023 echivalentul a 10 biţi de conversie a semnalului analogic.

Page 13: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

4. Rezultate experimentale[2]

n Utilizare Internet Explorer:

Reîmprospătarea paginii web se face în mod automat la un interval de o secundă, conform liniei de cod:<meta http-equiv="refresh" content="1" />

Page 14: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

5. ConcluziiÎn proiectul curent am realizat următoarele:

n Fizic am realizat un circuit de interfaţă cu un microcontroller de tip PIC18F2620 ce suportă interfaţa SPI pentru a facilita comunicaţia cu encoderul ENC28J60. Acesta are rolul de a se conecta prin ethernet cu PC.

n Software am realizat, un buton, în pagina web care schimbă starea portuluiRA4, 0vcc sau 5vcc, folosit pentru comanda auxiliară, prin care microcontrollerul receptionează linia de comandă (if(getRequest[5] == 't')) trimisă prin TCP de utilizator pentru executarea funcţiei cerute.

n Am realizat un program în mikroC pentru microcontroller (implementareserver), recepţionarea şi afişarea temperaturii senzorului DS18B20 şiconversia analog digital pentru senzorul de lumină.

n Identitatea serverului este dată de adresele MAC si IP care sunt declaratesoftware şi sunt apelate de către client când se efectuează transmisiapachetelor de date.

Page 15: Circuit de supervizare şicontrol cu interfaţă “ethernet” · 1.Obiectivele proiectului Proiectareaunui circuit de supervizare şicontrol cu interfaţă “ethernet” prin:

Vă mulţumesc pentru atenţie!