Az enc28j60 webkiszolgáló és az avr mikrokontroller az eszközkezeléshez TCP-n keresztül

Modern információs technológiák / Számítástechnika

Khmelnytsky Nemzeti Egyetem, Ukrajna

Webkiszolgáló az ENC28J60 és az AVR mikrokontrolleren

az eszközök TCP / IP hálózaton keresztüli vezérléséhez

Az eszközök távolról történő vezérléséhez távolítsa el a paramétereket az érzékelőktől az AVR mikrokontrollerrel. Csatlakoztatni őket a hálózathoz a legnépszerűbb chipek W5100 és ENC28J60. Az első chip hardveres TCP / IP és Ethernet protokollokkal van felszerelve, valamint a második Ethernetben. Ennek ellenére az ENC28J60 vezérlő jelenleg a legnépszerűbb. Számos könyvtár is működik a hálózaton, különböző szolgáltatásokkal. Van javasolt bekötési rajz ENC28J60 például ATmega128L, és egy program, amely lehetővé teszi az eszköz ahhoz, hogy a mód legegyszerűbb web - server irányító eszközök 3. és leolvasás a hőmérsékletérzékelő DS18B20. Azonban a mai napig a megvalósíthatóságát egy független áramkör tervezés kétséges, mert a olcsóság kész modulok, néha azonban egy külön modul elfogadhatatlan, és az eszköz célja, hogy olcsóbb, mint összeállítani modulokat. Való csatlakozáshoz Ethernet csavart érpár úgy, például, HR911105A csatlakozó, amely a leginkább optimális egyet együtt használható ENC28J60. Ez olcsó és megfizethető. Az 1. ábrán alapul. A vezérlőként az ENC28J60 chip a DIP28 csomagban kerül kiválasztásra. Az ábrán az R13 ellenállás figyelmet érdemel, például az ENC28J60 leírásában, 2kΩ-ként. Néhány ENC28J60 felülvizsgálatnak azonban jobb ellenállási értékei vannak. Tehát az 1. és 4. változat esetében az ellenállásnak 2.7 kΩ értékűnek kell lennie, és az 5. és 7. változatnál 2.32 kΩ-nak. A revíziót csak a megfelelő regiszter olvasásával ismerheti meg. Ebből a célból az ENC28J60 először az áramköri kártyára van telepítve, majd a revízió olvasható, és csak az ellenállás névleges értékre van beállítva. Azonban, beállítás névleges érték vagy a 2K Ohm ellenállás 2,32kOm biztosít áramköri funkciókat az 1. ábrán, de csökkentheti működési tartományban. Az irodai környezet számára azonban a megjelenítési osztály elfogadható.

Az enc28j60 webkiszolgáló és az avr mikrokontroller az eszközkezeléshez TCP-n keresztül

1. ábra. Az ENC28J60 szabályozó áramköre a HR911105A csatlakozóval

Az ENC28J60 csip működéséhez a Docel L1 nem szükséges, szűrőként használják. Ha az eszköz nem tartalmaz interferenciát okozó alkatrészeket, például rádiómodulokat, pontos ADC-ket és hasonlókat, előfordulhat, hogy nincs jelen. Fojtószerként 5 mm átmérőjű ferritgyűrűt használhat a vezetéken több fordulattal vagy 0 Ohm ellenállással.

A sárga LED bekapcsolásának polaritása (HR911105A csatlakozó 9. és 10. kivezetései) határozza meg az ENC28J60 chip - fél-duplex vagy teljes duplex működését. A chip dokumentációjában a felvétel a 2. ábrán látható.

Az enc28j60 webkiszolgáló és az avr mikrokontroller az eszközkezeléshez TCP-n keresztül

2. ábra. A sárga LED bekapcsolásának polaritása

A bemutatott rendszer korszerűsítése azonban lehetséges a rendelkezésre álló alkatrészek egyszerűsítése vagy használata érdekében. A HR911105A csatlakozó hiányában olyan transzformátorokat használhat, amelyek számítógépes kártyákra vannak telepítve. Például a 3. ábra a 20F001N YCL szűrő transzformátor bekapcsolási sémáját mutatja. Az A B C D pont 3. ábráján látható szimbólumok megfelelnek az 1. ábrán látható ábrának. Ezek a pontok a HR911105A csatlakozó helyett a transzformátorhoz vannak csatlakoztatva. A HR911105A csatlakozóban lévő LED-ek külön vannak felszerelve, amikor a transzformátor csatlakoztatva van.

Az enc28j60 webkiszolgáló és az avr mikrokontroller az eszközkezeléshez TCP-n keresztül

3. ábra. Csatlakozó transzformátor 20F001N YCL.

Bizonyos esetekben hiánya miatt Ethernet - transzformátorok, HR911105A típusú csatlakozóval vagy épület költségvetési eszköz végezhet változat ENC28J60 vezérlő kapcsolatot a beztransformatornoy rendszer, feltéve, hogy a router a közelben a létrehozott eszköz. Ebben az esetben a bekötési rajz a 4. ábrán látható.

Az enc28j60 webkiszolgáló és az avr mikrokontroller az eszközkezeléshez TCP-n keresztül

4. ábra. Transzformátor nélküli kapcsolatrendszer.

Ezzel a kapcsolódási sémával az IEEE 802.3 szabvány nem működik, de a készülék működik.

Az enc28j60 webkiszolgáló és az avr mikrokontroller az eszközkezeléshez TCP-n keresztül

4. ábra. ATmega128L kapcsolási rajz

Annak ellenére, hogy egymás utáni programozási ATmega128 SPI ugyanazt a készüléket, mint a normális működését a mikrokontroller, van egy fontos különbség: a következtetések MOSI / MISO input-output modul SPI, amelyek összhangban vannak a PB2 és BP3, nem programozáshoz használt. Ehelyett a szekvenciális programozás során a PE0 és PE1 adatokat az adatok bevitelére és kiadására használják. Ezért a programozó busz (Soros programozás) külön-külön látható a 3. ábrán. Az 1. ábrán bemutatott SPI ENC28J60 típusú busz az ENC28J60 chiphez csatlakozik a modulhoz, amelynek áramköre az 1. ábrán látható.

Az 5. ábra az összeszerelt eszköz fényképét mutatja az áramköri lapon. Jelzi a fő funkcionális elemeket is.

A készülék az Arduino IDE program segítségével lett programozva. Előnye, hogy sok hasznos könyvtárat tartalmaz, különösen az OneWire busz és az ENC28J60 chip használatához.

Az enc28j60 webkiszolgáló és az avr mikrokontroller az eszközkezeléshez TCP-n keresztül

Ábra. 5. A webszerver fotója az áramköri lapon

Az Arduino szoftverkörnyezet korlátozott számú mikrokontroller I / O portjait írja le. Ezért a probléma az ATmega128 vezérlőnek a fejlesztési környezetben és az ENC28J60 chipen található könyvtárban való leírása. Ehhez javítsa ki a d: \ arduino-1.0.3 \ hardware \ arduino \ variants \ standard \ pins_arduino.h fájlt.

statikus const uint8_t SS = 10;

statikus const uint8_t MOSI = 11;

statikus const uint8_t MISO = 12;

statikus const uint8_t SCK = 13;

statikus const uint8_t SS = 8;

statikus const uint8_t MOSI = 10;

statikus const uint8_t MISO = 11;

statikus const uint8_t SCK = 9;

Az ENC28J60 könyvtár d: \ arduino-1.0.3 \ könyvtárai \ etherShield \ enc28j60.c fájljában javításokat is végzünk.

#define ENC28J60_CONTROL_CS 10

#define SPI_MOSI 11

#define SPI_MISO 12

#define SPI_SCK 13

#define ENC28J60_CONTROL_CS 8

#define SPI_MOSI 10

#define SPI_MISO 11

#define SPI_SCK 9

Az alábbiakban egy program három LED (működtetés) vezérlésére és a hőmérséklet lekérdezésére szolgál a DS18B20 érzékelőtől. Meg kell jegyezni, hogy az oldal elején lévő feladathoz képest a program 3 LED-re bővül. Ezek a mikrokontroller 28, 30, 32 érintkezőihez csatlakoznak.

statikus uint8_t ip [4] =; statikus uint16_t port = 80;

ETHER_28J60 e; OneWire ds (6); char buf [30];

e.setup (mac, ip, port);

pinMode (3, OUTPUT); pinMode (5, OUTPUT); pinMode (7, OUTPUT);

int freeRam ()

visszatérés (int) v - (__brkval == 0. (int) __heap_start. (int) __brkval);

ds.search (addr); ds.reset (); ds.select (addr);

ds.write (0x44.1); Indítsa el a konverziót, parazita ereje a végén

ds.write (0xBE); // Olvassa le a Scratchpadot

A 6. ábra bemutatja a program kimenetét egy webböngészőben

Az enc28j60 webkiszolgáló és az avr mikrokontroller az eszközkezeléshez TCP-n keresztül

6. ábra. Webszerver felület

Az adatok eltávolítása a hőmérsékletérzékelőről a OneWire könyvtárat is használják. A könyvtár tapasztalatai szerint az etherShield és az ETHER_28J60 csak egy csomagot küldhet az ügyfél kérésére. Ezért egy olyan oldal létrehozása, amely nem illeszkedik egyetlen Ethernet csomagba (kb. 1500 bájt), további nehézségeket okozhat a program írásakor. A mikrokontroller memóriájában egy további 1500 bájtnyi pufferre van szükség. Ahhoz, hogy a program az ETHER_28J60 könyvtár ETHER_28J60.cpp fájljában a 3 LED-et működtethesse, a következő változást hajtja végre:

#define BUFFER_SIZE 1500

Ellenkező esetben a webszerver lógott.

A W5100 chipen és az Arduino Ethernet könyvtáron alapuló Ethernet modul lehetővé teszi, hogy korlátlan számú csomagot cseréljen, így alapul egy egyszerű univerzális webszervert hozhat létre.

Kapcsolódó dokumentumok:

900 másodperc A DDNS kiszolgáló elküldi az ügyfélinformációkat. Referenciák 1. Myasischev AA Az ENC28J60 webszerver és az AVR mikrokontroller a TCP / IP hálózati eszközkezeléshez. [Elektronikus.

Kapcsolódó cikkek