Jste zde

Moduly pro Ethernet komunikaci s .NET Micro Framework

Téměř žádná současná moderní průmyslová či spotřební aplikace se již neobejde bez Ethernetové komunikace, prostřednictvím které lze zařízení ovládat i předávat důležitá data a informace. Aby byl návrh a vývoj takového přístroje se síťovou komunikací co nejjednodušší, existují moduly, které již potřebné rozhraní realizují a stačí je jen vestavět a jednoduše naprogramovat pro plnění požadované funkce.

Toto zajišťují i moduly řady Digi Connect firmy Digi International Inc., které nejnověji podporují programování malých embedded aplikací pomocí systému .NET Micro Framework. To umožňuje rychlý návrh programů v jazyce C# nezávisle na konfiguraci hardwaru a bez nutnosti použít OS.

Co je .NET Micro Framework ?

.NET Micro Framework je produktově a hardwarově nezávislý systém pro běh a řízení programů určené pro Embedded aplikace napsané v řízeném kódu (managed code / managed code runtime). Nejde však o tradiční operační systém (OS) jak ho běžně známe prostřednictvím Windows CE, XP nebo Vista, který běží na vrcholu nad všemi ostatními aplikacemi. Micro Framework v sobě obsahuje pro embedded aplikace jen potřebnou podmnožinu funkcí plného OS, jako správu zdrojů a prostředků (resource managment), vstupů a výstupů (I/O), řízení běhu a vykonávání kódu (execution control) apod., které následně začleňuje již přímo do procesorem vykonávaného kódu (Native code). Proto programy v tomto systému již nepotřebují OS a označující se jako bootable runtime, tedy samobootovací. Díky tomu může být provozován i na malých zařízeních a omezenými hardwarovými prostředky (malými RAM a Flash paměťmi, malými a levnými 32bit. CPU bez MMU), které neumožňují použití některého z OS (např. Windows XPe nebo Windows CE) či jiné softwarové podpory.

Obr. 1. Struktura .NET Micro Framework

Jádrem platformy je .NET Micro Framework Common Language Runtime (CLR), malé optimalizované prostředí pro běh programu řízeného kódu (managed code runtime), který natahuje, spouští a řídí běh uživatelem napsaného programu. Narozdíl od běžného přímého kódu, běží řízený kód v kontextu s CLR, který mu poskytuje zaváděcí program (bootstrap), ochranu jeho běhu, záznamu a čtení dat, obsluhu přerušení (interrupt handling), zprávu paměti, procesů, úloh a zásobníku (memory, thread, process, heap managment, garbage collection) apod. Pro tento účel obsahuje řízený kód pro CLR informace o struktuře programu.

.NET Micro Frameworku CLR tak prakticky zajišťuje následující úkony:

  • Minimalizaci velikosti programu => menší vytížení CPU a menší spotřebu energie
  • Běh bez tradičního OS přímou integrací runtime enginu
  • Zahrnutí runtime a funkčních knihoven přímo do aplikace/zařízení
  • Přímé vykonávání z ROM a Flash pamětí

Obr. 2. Postup překladu uživatelského programu do běžícího kódu

Základní podmínky pro bootování bez OS, navázání programu a přístup na hardware, periferie a jejich ovladače však zajišťuje vrstva HAL (Hardware Abstraction Layer). Ta na hardwaru zabere jen několik desítek kB a přizpůsobuje program konkrétnímu hardwaru (CPU), na kterém aplikace poběží. I když HAL poskytuje rozhraní k hardwaru (IRQ, časovačem, I/O), nejde o plnohodnotný kernel a pro zajištění všech potřebných funkcí (správu a řízení procesů apod.) se zde využívá propojení s CLR. Propojením HAL a CLR vzniká něco, co se dá vzdáleně označit jako do programu integrovaný OS. Zároveň však není nutné HAL použít a program spouštět na zařízeních s OS.

Z pohledu uživatele / programátora embedded aplikací přináší .NET Micro Framework proti jiným "klasickým" metodám navíc velkou výhodu v podobě použití Frameworks knihoven. Tak lze většinu běžných operací realizovat voláním příslušné funkce v knihovně a není nutné ji vyvíjet. Pro potřeby a požadavky Micro Framework je k dispozici opět jen omezená skupina funkcí celé .NET Framework knihovny, protože ostatní funkce nejsou jednoduchých aplikacích potřeba - viz obrázek 2.

Pomocí .NET Micro Framework tak lze snadno vytvořit moderní bezpečný program s vývojovými nástroji a programovacími jazyky C# a Visual Studio.NET, i pro malá a jednoduchá zařízení bez i s OS a s omezenými výpočetními prostředky bez požadavku se při programování detailně zabývat hardwarovou strukturou CPU. To zjednodušuje a urychluje vývoj aplikací.

Obr. 3. Porovnání podpory knihoven .NET Framework a .NET Micro Framework (barevná pole jsou podporovány Micro Framework)

Porovnání .NET Micro Framework proti OS

  • Není to OS v pravém slova smyslu
  • Integruje prvky OS přímo do kódu => bootable runtime - není nutný samostatný OS
  • Malé nároky na hardware (podpora CPU bez MMU, např. typu ARM 7)
  • Malé nároky na paměť (stovky kB)
  • Framework technologie zajišťuje spolehlivý a bezpečný běh programu
  • Univerzální programování embedded aplikace v C#, Visual Studio.NET, J# nezávisle na hardwaru
  • Využití tradičních vývojových prostředků - např. Visual Studio

 

Parametr

.NET Micro Framework

Windows CE

Windows XPe

Použití

senzory, displeje, komunikační uzly, robotika

GPS, PDA, HMI, měř. přístroje, zprac.dat

rozsáhlé řídící a ovládací průmyslové systémy, řízení výrobních linek, složité měřící systémy

Paměťová náročnost

stovky kB

jednotky MB

desítky MB

El. spotřeba

velmi nízká - lze baterie

nízká - lze akumulátory

běžná - nutné je síťové napájení

CPU

ARM7, ARM9, CPU bez MMU

X86, MIPS, SH4, ARM,
s MMU

x86 - AMD, Intel, VIA, ...

Real-Time zprac. dat

nepodporuje

podporuje

podporuje

 

Digi Connect ME - modul pro Ethernet komunikaci

Jedním z prvních embedded zařízení na světě podporující použití .NET Micro Framework je modul Digi Connect ME od výrobce Digi International Inc.. Jedná se o průmyslový Plung-and-Play embedded modul pro zabezpečený Ethernet. Velkou předností tohoto modulu je jeho dlouhodobá dostupnost. Ta je zaručena použitím součástek, jejichž výrobu má výrobce Digi International plně pod kontrolou.

Součástí modulu je robustní TCP/IP stack umožňující univerzální přiřazení IP adresy (Static IP, DHCP, Auto-IP), integrovaný uživatelem definovaný web server (HTTP/HTTPS) , správu zařízení přes SNMP a patentovaný RealPort? COM/TTY port.

 

 

Rozměry modulu - Digi Connect ME

Základní vlastnosti modulů Digi Connect ME:

  • Architektura založená na 32bitovém NET+ARM 7 procesoru (výrobce Digi)
  • 2 nebo 4 MB Flash a 8 MB RAM
  • Vysokorychlostní plná sériová TTL komunikace s přenosem až 230 kb/s
  • Ethernet rozhraní - Auto-sensing 10/100Base-T s konektorem RJ-45
  • 5 sdílených GPIO
  • Nízká spotřeba (3.3 V DC a max. 400 mA)
  • Průmyslový provozní teplotní rozsah (-40 až +85 °C)
  • Jednoduché Plung-and-Play nahrání firmwaru
  • Indikační LED
  • Licenční poplatek za .NET MF je zahrnut v ceně modulu
  • Dlouhodobá dostupnost

Struktura systému .NET Micro Framework pro vývoj aplikací pro moduly Digi Connect

Použití

  • Distribuované řídící a regulační systémy
  • Datová komunikace mezi systémy ve výrobní lince
  • Přenos dat pro zobrazení informací na informačních displejích
  • Komunikace libovolných CPU a MCU s LAN a PC
  • Převodníky sériové komunikace na Ethernet
  • Získání dat regulačního systému obsluhou notebokem
  • Vzájemná komunikace spotřebičů - inteligentní budovy a byty
  • Inteligentní senzory, komunikační uzly, zařízení HMI

 

Vývojový kit Digi JumpStart Kit?

Pro efektivní práci s uvedenými moduly a vývoj embedded aplikací je k dispozici Digi JumpStart Kit? for Microsoft .NET Micro Framework 2.0 za 299$. Ten poskytuje snadno použitelný sortiment prostředků, zahrnující Digi Connect ME? modul s univerzální vývojovou deskou .NET Micro Framework 2.0 SDK a plně funkční 180 denní trial verzi PC programu Microsoft Visual Studio 2005 s množstvím příkladů zdrojových kódů a podrobnou uživatelskou dokumentací.

Programování aplikace pro moduly Digi Connect v .NET Micro Framework poskytuje následující výhody:

Obecné:

  • Prostředí pro spolehlivé a bezpečné provádění řízeného kódu v C#
  • Malé paměťové nároky programu (cca 300 kB)
  • Podpora UART a GPIO
  • Podpora Flash pamětí
  • Rozšířená podpora časovačů
  • Optimalizovaný zásobník (Garbage Collection)
  • Řízení časového dělení běhů úlohy (thread)
  • Integraci native kódu
  • atd.

 

Síťové prostředky:

  • Digi IPv4/IPv6 dual-mode TCP/IP stack
  • DNS, DHCP, TCP, UDP, IGMP, ICMP, ARP
  • Static, DHCP, nebo Auto-IP přiřazení adres

Kódování dat a dekódování služeb:

  • Asymetrický kódování založené na RSA
  • Symetrické XTEA kódování v CBC módu s krádeží šifrovaného textu (ciphertext stealing)

 

Závěr

Ethernet komunikace mezi přístroji a zařízeními již dnes začíná být standardní součástí nejen průmyslových systémů a linek, ale i v kancelářích a domácnostech. Současný i budoucí trend však není ve vývoji celého zařízení jako jednoho celku, ale v jeho "skládání" z různých menších již hotových a doladěných komponent dodávaných dalšími výrobci. Pro implementaci ethernetové komunikace lze velmi snadno použít moduly Digi Connect, které nejnověji podporou systému .NET Micro Framework umožňují snadné a rychlé softwarové přizpůsobení modulu právě té Vaší aplikaci. Navíc v blízké budoucnosti budou následovat další produkty a platformy s podporou .NET Micro Framework.

Více informací o uvedených modulech najdete a stránkách výrobce Digi International Inc. - www.digi.com nebo v níže uvedených datových listech.

Antonín Vojáček
vojacek@ hwg.cz

DOWNLOAD & Odkazy

Hodnocení článku: 

Komentáře

Skvělý článek.
Jen by mne zajímalo jak se Micro do ARMu zavádí, předpokládám, že vývojová deska již nějaký zaváděč v ARMu má ale co nový procesor.
Nebo ARM má vše v připojené externí paměti. Omlouvám se ale datasheet ARMu jsem niíkdy nestudoval až nyní, díky tomuto článku mě to zaujalo.

----------------------------------------------
Pavel Pindora
www.visualprog.cz