TCP pomeni Transmission Control Protocol . TCP je narejen za izmenjavo podatkov med terminali in računalniki. V primerjavi z RS232, je TCP/IP veliko bolj zapleten protokol. Veliko bi lahko napisali o mrežni komunikaciji, vendar se bomo osredotočili le na tisto, kar tu rabimo. Za komunikacijo med mrežnimi napravami moramo odpreti kanale. Ti kanali se imenujejo »sockets« (šoketi).
Poznamo dve vrsti mrežnih uporabnikov. Ti se imenujejo serverji in klienti. Serverska aplikacija odpre socket ter čaka na kliente, da se le ti priključijo na njih. Možen je priklop več klientov na isti server. Klient je aplikacija, s katero se priklopimo na server. Na internetu imamo veliko serverjev. Vsak server ima svoj IP naslov npr. 193.189.160.13 . Naslov je unikaten. V kolikor v brskalnik odtipkamo http:// 193.189.160.13 nas le ta poveže na Siol. Ko smo odtipkali http://, smo brskalniku povedali, da uporabljamo http protokol. Privzeti port za HTTP server je port 80. Omenjene porte ne smemo mešati s porti na mikrokrmilnikih. Porte definiramo od 0-65535. Mnogi so že vnaprej rezervirani. Npr. Web strežniki uporabljajo port 80. POP3 strežniki uporabljajo port 110 itd. Torej pri mrežnih povezavah vedno rabimo socket, server in kliente. Za uspešno povezavo med klienti ter strežniki skrbi Transmission Control Protocol. V računalniku imamo mrežno kartico, malo težje pa je bilo TCP protokol uporabiti v manjših sistemih z AVR-ji. Korejsko podjetje Wiznet je razvilo mrežni modul IIM7010, kateri nam zelo poenostavi komuniciranje preko mreže. Modul podpira več internet in Ethernet hardverskih protokolov. Podpira 10/100 Baze TX hitrosti. Omogoča istočasni priklop štirih klientov. IIM7010 na ciljni procesor priklopimo z uporabo data + adress ali I2C vodila. Za delovanje potrebuje 3,3V napajanje. IO signali so 5V tolerantni. Modul ima vgrajeno RJ45 vtičnico za priklop na mrežo. 2 x 28 pin konektor pa nam služi za priklop na krmilnik.
Ko se je modul pojavil na tržišču, sem zaradi njega presedlal iz zbirnika na Bascom-AVR. Nudi vse kar imajo veliki za mrežno povezavo. Bascom-AVR ima za modul pripravljeno zelo dobro knjižnico tcpip.lbx . AX elektronika je pripravila adapter za uporabo modula na MegaPin razvojni plošči. Pripravil sem enostaven program za demonstriranje delovanja modula. Program pošilja uro in datum na HyperTerminal ter nam omogoča nastavitev le teh. Ta je sestavljen iz glavnega Ax_lan.bas ter m_rutine_lan.bas.
Kodo prevedemo ter jo prenesemo v MegaPin. Prvi znak, da program dela je utripanje LEDice na PortD.1. Povežite mrežni modul z kros kablom na prenosni računalnik. Na vtičnici RJ45 bodo zasvetili obe LEDici. Poskusimo če deluje mrežna povezava. V zavihku pripomočki izberemo Command prompt, Prikaže se okno slika 1.
Odtipkamo PING 10.0.2.5 . (IP naslov iz konfiguracijskega ukaza -> Config Tcpip = Int0 , Mac = 12.128.12.34.56.78 , Ip = 10.0.2.5 , Submask = 255.255.255.0 )
Za komuniciranje z MegaPin bomo uporabili Hyperterminal. Tega najdemo v pripomočkih. Ko ga zaženemo, nam ponudi okno: Connect To. Izberemo TCP/IP(Winsock) opcijo, slika 2. V naslednje okno vpišemo IP naslov in številko porta iz naše aplikacije, slika 3. Ob uspešni povezavi bomo v oknu Hyperterminala videli OK ! .
Za pošiljanje ukazov na Megapin JE POTREBNO nastaviti:
HyperTerminal -> File -> Properties -> ASCII Setup ter odkljukamo
Send line ends with line feeds, slika 4.
Za pošiljanje ukazov na MegaPin so na voljo naslednji ukazi:
TIME_SEND_ON + ENTER (omogočimo pošiljanje )
TIME_SEND_OFF + ENTER (onemogočimo pošiljanje )
URA11:06:00 + ENTER (nastavitev ure, pazi na format)
DATUM25.05.11 + ENTER (nastavitev datuma, pazi na format)
Izdelan modul lahko naročite v našem prodajnem servisu. Možnost nakupa je modul z mikrokontrolerjem AT MEGA 8515L. Koda za izdelek 5ELU0094_ ADAPTER MegaPin LAN.
Ethernet z AVR mikrokontrolerji
2011_SE188_40