Introducere Ping Tester

Ping Tester - este un instrument menit pentru a verifica accesul la internet:

  • Trimite mesaje ICMP “echo request” prin intermediul pachetelor
  • Asteapta mesaje ICMP de tipul “echo response”
  • Verifica codul din pachet pentru a determina daca este:
    • Ping Successfull
    • Request Timeout
    • Destination Unreachable

Pingster este un dispozitiv de monitorizare a unei retele locale de calculatoare. Utilizatorul va primi informatii despre rezultat prin intermediul unui LCD.

Descriere Generala

Hardware Design

* ENC28J60 este un controller Ethernet cu interfata SPI. Este special proiectat pentru a fi conectat prin SPI la un controller, oferind acestuia o interfata Ehernet. ENC28J60 indeplineste specificatiile IEEE 802.3 si ofera urmatoarele servicii:

* ATmega16 - ATmega16 reprezinta un microcontroller cu o arhitectura pe 8 biti. Ca urmare, registrele si magistrala interna de date sunt pe 8 biti. Totusi, in codul C se pot folosi variabile intregi pe 32 de biti si chiar in virgula mobila. Compilatorul este cel care se ocupa de translatarea instructiunilor cu variabile pe 32 de biti in cod asamblare care lucreaza pe 8 biti.

* Quartz , rezistente, capacitati, LCD

Software Design

Am folosit chip-ul ENC28J60 pe post de slave, in timp ce ATMega16 va fi master iar conexiunea dintre ei va fi de tip SPI. Pentru implementarea protocolului TCP m-am bazat pe laboratorul 5. Functiile necesare crearii si trimiterii pachetului ICMP, precum si primirii raspunsului se afla in fisierele:

  • main.c: implementeaza loop-ul principal in care sunt primite cereri.
  • enc28j60.c: implementeaza functiile de comunicatie intre ATMega16 si ENC28J60.
  • ip_arp_udp_tcp.c: implementeaza protocolul simplificat TCP

Pentru a facilita lucrul cu LCD-ul, laboratorul conține o librărie de funcții pentru interacțiunea cu controllerul 44780.

API-ul conține:

void LCD_init(); // Inițializare modul LCD. 
                 // Trebuie apelată înainte de a se face orice operație cu LCD-ul. 
                 // Inițializarea este făcută considerând o interfațare pe 4 fire.
void LCD_writeInstruction(unsigned char _instruction); // Trimite o instrucțiune către l.
void LCD_writeData(unsigned char _data); // Trimite date către LCD pentru afișare.
void LCD_write(unsigned char _byte); // Trimite un byte către LCD pe pinii D4-7 în 2 timpi.
                                     // Se trimit întâi biții mai semnificativi și apoi cei mai puțin semnificativi.
void LCD_waitNotBusy(); // Funcția așteaptă până când lcd-ul devine disponibil pt o nouă comandă.
void LCD_print(char* _msg); // Afișează imformatia pe LCD (doar 1 linie, primele 16 caractere din msg)
void LCD_print2(char* _msg1, char* _msg2); // Afișare pe 2 lini pe LCD. 
                                           // Pe prima linie afișează _msg1 și pe a 2-a _msg2.
void LCD_printDecimal2u(unsigned int _n);  // Afișare număr în baza 10 pe LCD
void LCD_printHexa(unsigned int _n);       // Afișare număr în baza 16 pe LCD
void LCD_waitInstructions(unsigned char _instructions); // Așteaptă un număr de cicli de ceas

Rezultate Obtinute

Concluzii

Este un instrument de reţea folosit pentru a verifica dacă un anumit calculator poate fi accesat prin intermediul unei reţele. Este util pentru a testa capacitatea unui server de a raspunde la cereri fara a fi nevoie de un PC pentru acest lucru.

Bibliografie

pm/prj2011/lpestritu/pingtester.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0