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.
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 :
Kity máme průběžně skladem, zakoupit je můžete v našem HW SHOPu, případně nás kontaktujte..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
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
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í.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. Základní vlastnosti vývojové desky:
Desky dodáváme od 1.3.2003, zakoupit je můžete v našem HW SHOPu, případně nás kontaktujte..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í
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í jeKonektory máme průběžně skladem, zakoupit je můžete v našem HW SHOPuRozmě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ě.
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
- [1] www.ethernut.de
- [2] http://www.atmel.com
- [3] http://www.avrfreaks.net/AVRGCC/
- [4] http://www.imagecraft.com/software/
- [5] http://liquorice.sourceforge.net/
- [6] http://savannah.nongnu.org/projects/uisp/
- [7] http://web51.HW.cz