Jste zde

Ethernut - nová dimenze embedded ethernetu..

Článek představuje projekt Ethernut, který je kompletním řešením embedded Ethernetu s kompletními

zdrojovými kódy atd.. Projekt obsahuje RTOS, TCP STACK, souborový systém a mnopho dalšího.. Tento úvod popisuje

strukturu použitého hardwarového a softwarového řešení. V závěru ukazujeme možnosti projektu při implementaci v

oblasti embedded ethernetu.

Informační technologie jsou stále více aplikovány do celé řady přístrojů vzájemně propojených do rozličných sítí pomocí standardních síťových protokolů. Významnou úlohu v této situaci sehrává neustálý nárůst výkonu a snižování cen výpočetních a komunikačních zařízení. Sítě lokálního a globálního charakteru se dnes již staly nedílnou součástí moderní společnosti. Takovéto sítě mohou tvořit nejen osobní počítače, ale i rozličné mikroprocesorové systémy. Spojením celé řady zařízení a senzorů, vzniká zcela nový komplexní celek, umožňující sběr, sdílení a zpracování dat. Řešené úlohy často vyžadují možnost automatické konfigurace a adaptivního chování celého systému. Dlouhá doba životnosti takovýchto systémů vyžaduje již během návrhu a realizace těchto systémů respektovat požadavky na průběžnou modernizaci a rozšiřování funkcí v průběhu technického života systému.
 

Projekt Ethernut

Projekt Ethernut vzniknul v Německu a jeho autorem je Harald Kipp - majitel firmi Egnite. Cílem projektu je implementace moderních internetových technologií do embedded zařízení. Jedná se v současné době o jeden z nejprogresivnějších projektů v oblasti embedded ethernetu (viz. porovnání Ethernutu s jinými projekty). Projekt je vyvíjen a šířen pod BSD licencí. Veškeré informace o projektu, zdrojové kódy a schémata jsou dostupné na internetové adrese www.ETHERNUT.de.

HW server je v ČR oficiálním distributorem Ethernutu, na tomto projektu máme také vytvořeny některé aplikace a vyrábíme moduly postavené na HW tohoto projektu. 
 
 


Obr.1 Ethernut verze 1.3

Hardwarové řešení Ethernutu

Vhodně zvolená součástková základna, umožnila dosáhnout potřebného výpočetního výkonu, nutného k realizaci plnohodnotného zařízení, schopného obsluhovat velké datové toky. Jádrem systému je 8-bitový riskový mikroprocesor ATmega128 firmy Atmel. Jedná se o mikroprocesor s výkonem až 16 MIPS, který je vybaven celou řadou integrovaných periferií (2 UART, SPI, JTAG, ADC, PWM, WATCHDOG, …). Bližší informace lze nalézt na www.atmel.com.

Paměťový podsystém tvoří

  • integrovaná paměť FLASH 128 kB, určená pro kód programu, 
  • integrovaná paměť EEPROM 4 kB, určená pro ukládání konfiguračních parametrů,
  • externí paměť SRAM 32 kB připojená pomocí datové a adresní sběrnice k mikroprocesoru, určená k dynamickému přidělování paměti operačním systémem,
  • přímo mapované periferie 
  • ethernetový řadič RTL8019as.

Programování paměti FLASH a EEPROM mikroprocesoru se provádí metodou ISP přes SPI nebo JTAG rozhraní. Až 8 kB paměti FLASH lze využít pro zavaděč (bootloader) mikroprocesoru. Změna kódu zavaděče umožňuje provádět přeprogramování mikroprocesoru přes libovolné rozhraní, např. přes Internet s využitím protokolů DHCP a TFTP.

Externí paměť SRAM 32 kB lze libovolně rozšířit metodou stránkování paměti.

Ethernetový řadič RTL8019AS je zapojen v minimalizovaném zapojení bez externí paměti EEPROM 93c46. Komunikace s řadičem probíhá v 8-bitovém režimu, umožňující adresovat 8 kB SRAM integrované uvnitř řadiče. Paměť je určena pro příjem a vysílání ethernetových rámců. Po přijetí ethernetového rámce, řadič automaticky generuje požadavek o přerušení pro mikroprocesor ATmega128. K připojení zařízení do lokální sítě 10BaseT slouží konektor RJ-45. Maximální dosažitelná rychlost činí 10 Mb/s.

Postupem času vzniklo několik různých realizací Ethernutu vycházející z tohoto základního zapojení mikroprocesoru ATmega128 a řadiče RTL8019as. Mezi něž patří

  • Ethernut starter kit (dodáváme levnou Bulk verzi, nebo celý starter kit..)
  • AT103RTL development kit - www.ipishop.com
  • Modul Ethernut Charon II s vývojovou deskou Charon I&II Development Board  (Dodáváme od 1.3.2003)
     

1.2 Softwarové řešení

Na použité koncepci softwarového řešení je vidět, že autor projektu si byl od počátku dobře vědom požadavků, které budou kladeny na navrhovaný systém. 

Seznam základních požadavků s nimiž byl systém navržen : 

  • současné zpracování více úloh,
  • dynamická správa paměti,
  • přístup k periferiím pomocí ovladačů,
  • implementace TCP/IP protokolového zásobníku,
  • implementace standardních síťových protokolů a služeb,
  • transparentnost celého řešení.

Riskový mikroprocesor ATmega128 díky svým vlastnostem přímo vybízel k použití vyššího programovacího jazyka C. Zdrojové kódy jsou vesměs napsané v jazyku C, což zpřehledňuje celé řešení. K sestavení programu lze použít volně dostupný AVR GNU C nebo komerční ImageCraft AVR.
 

Nut/OS Real-Time Operating System

Při tvorbě operačního systému Nut/OS autor vycházel z projektu Liquorice vytvořeného Dave Hudsonem, který si kladl obdobné cíle jako Ethernut. Nut/OS je napsán v jazyku C pro překladač AVR GNU C a ImageCraft AVR . Vše co potřebuje ke své činnosti, je součástí jeho zdrojových kódů, což je nesmírnou výhodou. Jedná se o víceúlohový operační systém s kooperativním multitaskingem a systémem řízení priorit. Je podporovaná dynamická správa paměti. Jednotlivé úlohy lze dynamicky vytvářet a ukončovat za běhu programu. Dále je implementována podpora časovačů, systém zpráv, fronty událostí a jednoduchý systém souborů. Přístup k periferiím mikroprocesoru je řešen pomocí ovladačů jednotlivých zařízení (UART, RTL8019, …). Programátor má k dispozici služby operačního systému nad kterými může snadno vytvářet vlastní aplikace.
 

Nut/Net

Nut/Net je nadstavbou Nut/OS a představuje implementaci TCP/IP protokolového zásobníku v rámci projektu Ethernut. Na rozdíl od osobních počítačů jsme zde limitováni dostupnou výpočetní a paměťovou kapacitou. Implementace TCP/IP protokolového zásobníku v embedded zařízeních si proto vyžaduje specifický přístup. Nut/Net podporuje práci s UDP a TCP sokety. V současné době jsou implementovány následující protokoly ARP, IP, ICMP, UDP, TCP, TELNET, DHCP, DNS, HTTP, TFTP, PPP.  Způsob použití a funkčnost jednotlivých protokolů je ukázána na řadě demonstračních příkladů

Zdokumentované příklady :

  • webový server,
  • převodník RS232-Telnet,
  • spínání relé z webového prohlížeče,
  • vzdálený update firmwaru mikroprocesoru ATmega128,
  • atd..

Nut/Net obdobně jako Nut/OS poskytuje aplikační rozhraní, které využívá programátor při vytváření vlastní aplikace.
 
 

Vývoj a ladění aplikací

Vývoj aplikací se provádí na platformě MS Windows nebo Linux. Pro obě platformy je k dispozici instalační balík obsahující zdrojové kódy, dokumentaci a programy nutné k okamžitému zahájení vývoje. Programátor má na výběr z dvou kvalitních kompilátorů, volně dostupného AVR GNU C nebo komerčního ImageCraft AVR. Překlad se provádí pomocí souborů makefile.
Na desce Ethernutu je vyveden konektor pro ISP programování adaptérem STK-200, který se připojuje na paralelní port osobního počítače. K samotnému nahrání firmwaru slouží program PonyProg nebo UISP (Micro In-System Programmer).
Mikroprocesor ATmega128 je navíc vybaven rozhraním JTAG, otevírající nové možnosti co se týče programování a ladění aplikace. Vytvořená aplikace se nahraje do AVR-studia, odkud ji lze trasovat přímo na čipu (In-Circuit Emulation). Existují však jistá omezení, jako je např. nemožnost trasování jádra Nut/OS. Cena JTAG programovacího adaptéru činí 300$.
 

Použití Ethernutu

Vlastnosti Ethernutu ho předurčují pro celou řadu aplikací. Praktické použití si lze představit např. v následujících oblastech

  • zařízení ovládaná přes TCP,  UDP,
  • komunikační moduly pro přístroje,
  • sběr dat a jejich zpřístupnění po síti,
  • prodloužení sériového portu RS 232/422/485,
  • připojení běžných spotřebičů k počítačové síti,
  • šifrovací zařízení,
  • atd.

 
Hlavní přínosy zařízení s podporou embedded ethernetu :

  • dostupnost přes Internet pomocí standardních síťových protokolů,
  • připojení do stávající kabeláže,
  • nahrazení PC pro jednoduché úlohy,
  • nízká cena,
  • kompaktnost řešení,
  • vyšší životnost,
  • rekonfigurovatelnost,
  • modulárnost,
  • návaznost na další mikroprocesorové systémy,
  • vysokorychlostní rozhraní 10 Mb/s half-duplex a 20 Mb/s full-duplex

 
Populárnost projektu Ethernut ukazuje celá řada aplikací, kde je aktivně využíván.

  • přehrávání hudebních souborů mp3 přes Internet - www.ethernet-mp3.de
  • řízení motorů přes Internet - http://www.cdsmodules.com/motion.htm
  • brána GPRS - ethernet,
  • atd.


 

Ethernut versus jiné projekty

Na počátku éry embedded ethernetu byla snaha několika nadšenců demonstrovat možnost připojení mikroprocesoru do Internetu. Tyto nesmělé pokusy odstartovaly trend, který v současnosti vyústil do stavu, kdy většina světových výrobců mikroprocesorů nabízí vlastní řešení. Jak si v této konkurenci stojí Ethernut, jaké má výhody a zápory.

Výhody:

  • využívá mikroprocesor, vhodný pro programování v jazyce C,
  • kvalitní, volně dostupný kompilátor vycházející z GCC,
  • integrované periferie na čipu ATmega128,
  • dostatečná výpočetní kapacita i pro řešení složitých úloh,
  • víceúlohový operační systém s kooperativním multitaskingem,
  • zdrojové kódy jsou šířeny pod BSD licencí,
  • přehledná dokumentace celého projektu,
  • na vývoji se podílí společně s autorem i početná skupina lidí z celého světa,
  • Ethernut Starter Kit  - umožňuje okamžitě začít s vývojem nových aplikací,
  • vývoj lze provádět na platformě MS Windows a Linux.


Zápory:

  • mikroprocesor ATmega128 je vyráběn pouze jedním výrobcem,
  • AVR GCC je složitější na ovládání pro začínající programátory,
  • není poskytována placená podpora ze strany autora.

Kde se dá Ethernut koupit + související produkty

Ethernut je německý projekt a u jeho autorů - firmy Egnite si můžete objednat základní vývojový kit. HW server je od ledna jejich distributorem, takže si můžete objednat tento Kit pžím zde bez clení za přibližně stejnou cenu jako od autorů projektu.

 

Ethernut Starter Kit

Vývojová deska pro projekt Ethernut (ATmega128, 32 kB RAM, 10. bit ADC, RTL8019AS eth. controller, 1x RS232..) Kompatibilní se vývojovým prostředím Ethernut z webu..

Součástí kitu je :

  • Vícevrstvá vývojová originální deska k projektu Ethernut
  • Deska je dodávána osazená, testovaná s nahraným demonstračním softwarem.
  • Součástí vývojového kitu je i LPT ISP adaptér
  • Cannon 9 - sériový kabel pro připiojení k PC je v dodávce
  • Tištěný barevný manuál "Jak začít".
  • CD se softwarem (Lze stáhnout i z Internetu, nebo jej najdete na našem Etheret CD
  • Kity máme průběžně skladem, zakoupit je můžete v našem HW SHOPu, případně nás kontaktujte.. 
     
     

    Ethernut Bulk

    Pouze vývojová deska pro projekt Ethernut, bez jakýchkoliv náležitostí. (ATmega128, 32 kB RAM, 10. bit ADC, RTL8019AS eth. controller, 1x RS232..) Kompatibilní se vývojovým prostředím Ethernut z webu..

    Součástí je :

  • Vícevrstvá vývojová originální deska k projektu Ethernut
  • Deska je dodávána osazená, testovaná s nahraným demonstračním softwarem.
  • Software je volně k dispozici na internetu, stejně jako manuály a související dokumentace
  • Kity máme průběžně skladem, zakoupit je můžete v našem HW SHOPu, případně nás kontaktujte.. 
     
     

     

     

    Charon I&II Development Board

    Pro naše moduly Charon I (technlogie Web51) a Charon II (Technologie Ethernut) jsme vyvinuli tuto vývojovou desku. Charon I&II DB je profesionální vývojová deska v SMD montáž, určená především pro vývoj aplikací na modulu Charon II, který je však pinově kompatibilní s modulem Charon I a proto je možné desku použít pro obě verze modulu. 

    Vývojový Kit vždy obsahuje 

  • Modul Charon II 
  • Desku vývojového kitu.
  • Nastavenou unikátní MAC adresu.
  • Propojovací kabel RS232 pro připojení k PC.
  • 1x křížený TP kabel pro možnost připojení přímo k PC.
  • Katalogový list modulu Charon II + schéma zapojení modulu.
  • Katalogový list vývojového Kitu s popisem konektorů.
  • Katalogový list o programování Ethernet aplikací + popis NVT a TEA.
  • Ethernet CD s poslední verzí vývojového systému Web51 a potřebným SW.
  • Sériová linka je na této desce vyvedena pomocí Cannon 9 – Male, takže pro spojení s PC je třeba použít dodávaný křížený kabel „LapLink“, ale deska se můž tvářit sama jako PC, což je pohodlnější pro odlaďování následných aplikací.

    Základní vlastnosti vývojové desky:

  • RTL8019AS s výstupem na 10 Mbit Ethernet na RJ45 konektoru pro TP kabel.
  • Vyvedeny všechny dostupné piny modulů.
  • Periférie připojené posuvnými registry  (8x IN, 8x OUT, LCD display 2x16)
  • Podpora Charon II, který je postaven na technologii Ethernut s procesorem Atmega 128.
  • Podpora programování Charon II po SPI.
  • Podpora programování a ladění aplikací v Charon II po JTAG.
  • Možnost osazení až 16 Mbit SPI FLASH pro Charon II.
  • Rozměry desky umožňují její osazení do standardní krabičky systému Web51, jako finální zařízení 
  • Desky dodáváme od 1.3.2003, zakoupit je můžete v našem HW SHOPu, případně nás kontaktujte.. 
     
     

    LF1S022 - konektor RJ-45 s integrovaným Ethernet trafem


    Pokud si budete stavět podobné zařízení sami, možná uvítáte tenhle příjemný RJ45 konektor s integrovaným oddělovacím transformátorem.. Doporučené zapojení je 

  • Rozměry 15.9 x 21.2 x 13.3 [mm]
  • 10 BASE-T FILTER “LAN-MATE”
  • Určeno pro Charon I, Charon II a přímé připojení k RTL8019AS obecně.
  • Konektory máme průběžně skladem, zakoupit je můžete v našem HW SHOPu
      
     

    Závěr

    Projekt Ethernut má za sebou již několik let vývoje, což se positivně promítá do jeho současného stavu. V oblasti implementace síťových technologií do embedded zařízení si našel své stálé místo, kde se směle řadí po bok předních světových výrobců. Díky své licenci je otevřený všem, kteří mají zájem na jeho dalším rozvoji nebo použití ve vlastní aplikaci.
     

    Literatura, DOWNLOAD, Odkazy

    Hodnocení článku: