Aktuální vydání

celé číslo

06

2018

Systémy strojového vidění

Výrobní a montážní linky

celé číslo

Vestavěný webový server

číslo 4/2002

Vestavěný webový server

Vytvořit „malý“ webový server k vestavbě do přístroje apod. není, co se týče hardwaru, tak složitá úloha, jak by se mohlo zdát. Na webových stránkách projektu Web51 (web51.hw.cz) lze nalézt podrobnější popis tří verzí, z nichž první vycházela ze simulace sběrnice ISA pro síťovou kartu. Současná poslední verze, v pořadí čtvrtá, integruje vše do jednodeskového řešení zhotoveného technikou povrchové montáže.

Hardware projektu Web51 respektuje požadavek na minimální cenu. Výsledkem je levné rozhraní sítě Ethernet použitelné jako zakončení nadřazeného řídicího systému na této síti nebo jako jednoduchý server převážně pro telemetrické účely.

Základní parametry hardwaru

Srdcem serveru Web51 je procesorová jednotka (CPU) z rodiny Intel x51, jejíž klony vyrábí mnoho výrobců součástek (např. Analog Devices, Atmel, Cygnal, Dallas, Intel, ISSI, SMC, Philips, Siemens/Infineon, Windbond). Dále jsou na desce plošných spojů obsaženy zejména:

  • duplexní řadič Ethernetu podle IEEE 802.3, signalizace toku dat a konektor RJ45;

  • paměti RAM a ROM a EEPROM jsou součástí CPU; k rozšíření RAM procesoru lze použít paměťový modul AT89S8252 (256 B RAM/8 kB flash/2 kB EEPROM) nebo T89C51RD2 (1 280 B RAM/64 kB flash/2 kB EEPROM) do konektoru na desce;

  • watchdog v procesoru a vnější řadič obnovení činnosti (reset) pro zvýšení odolnosti a spolehlivosti;

  • šestnáct I/O linek (celý port P1, část P3 a  dva vývody portu P2; počítá s použitím programově řízené I2C);

  • sériový port RS-232 na konektoru Cannon 9M pro připojení k PC (obsahuje RxD, TxD, CTS, RST, GND);

  • ve verzi deskydesign také malé univerzální pájecí pole, umožňující instalovat jednoduchou periferii a dvě LED se dvěma tlačítky pro základní signalizaci a ovládání;

  • souosý konektor pro napájení 9 až 18 V DC.

Obr. 1.

Poslední revize kódu pro CPU zabírá přibližně 4 kB paměti programu. Obsahuje obsluhu síťového čipu založenou na řadiči paketů a podporu protokolů ARP, ICMP, IP a TCP. Software podporuje jednoduchý webový server a umožňuje prostřednictvím webu řídit či sledovat zbývající vývody I/O (tj. nepoužité ke komunikaci se síťovou částí). Kromě webového rozhraní je ve firmwaru implementován protokol Telnet, což dovoluje připojit se k sériovému portu procesoru a používat ho jako převodník LAN/sériová linka.

Čip RTL8019AS použitý na desce je jednou z moderních implementací desky NE2000 v provedení „vše na jednom čipu“. Detaily síťového rozhraní Ethernetu, zapojení transformátorů a katalogové listy jsou na webových stránkách projektu.

Ostatní hardware na desce je velmi jednoduchý, protože téměř vše je řešeno programově. Řadič RS-232 počítá s jednoduchým hardwarovým potvrzováním přenosu typu RTS/CTS. Paměť EEPROM je určena k uložení vlastních webových stránek, ale díky implementaci P-Code v ní nyní lze ukládat také skripty CGI. Oba doporučené procesory (8252, RD2) lze v aplikaci programovat přes rozhraní ISP.

Základní softwarové parametry

Veškerý obslužný software pro Web51 je napsán v assembleru. Jazyk C nebo jiný vyšší jazyk má v základní verzi pouze s 256 B RAM v procesoru problémy s místem v paměti. Po rozšíření paměti lze s plnou verzí knihoven použít překladač jazyka C (např. Keil).

Systém Web51 lze rozvíjet pod téměř libovolným operačním systémem (OS). Většina programů potřebných pro překlad a další činnosti vývojového systému je dostupných v mnoha OS. Přímo ve vývojovém systému jsou podporovány platformy DOS32 (MS-DOS s podporou 32bitového prostředí, Windows) a Linux (na platformě Intel).

Software pro takto rozsáhlý projekt musí být rozdělen do mnoha částí. Jejich obsluhu a  sloučení do jednoho výsledného souboru řídí program make. K překladu souborů typu .ASM do .OBJ je používán assembler GNU z balíku binutils, a to mcs51-as. Původní assembler, určený pro širokou škálu známých i méně známých procesorů (např. I96, I86, HC12 atd.), byl rozšířen o podporu procesorů I51. Assembler je součástí distribuce od verze 1.12.

Výsledné soubory .OBJ se spojují pomocí spojovacího programu mcs51-ld, upraveného také z balíku binutils. Někdy se hodí i program bash, což je interpret příkazů, pod nímž je možné spustit překlad. Překlad lze však spustit i z příkazové řádky WinXX v DOS32.

Příklady aplikací

Výkon většiny procesorů x51, a tudíž i serveru Web51, nedostačuje pro aplikace vyžadující mohutnější toky dat. Web51 je svým hardwarem orientován hlavně na běžná měření, ovládání nebo vyhodnocování v aplikacích, u nichž se, při desítkových i početnějších sériích, klade velký důraz na nízkou cenu. Tu bylo zjednodušením hardwaru možné snížit na asi polovinu ceny podobných zařízení. Jako vhodné aplikace lze uvést např.:

  • jednoduchá ovládací zařízení ovládaná prostřednictvím TCP/IP,
  • komunikační modul pro přístroje,
  • rozhraní s naprogramovatelnou podporou libovolného protokolu,
  • sběr dat a umožnění přístupu k nim po síti,
  • prodloužení (konvertor) rozhraní RS-232/422/485,
  • připojení běžných spotřebičů k počítačové síti.

Server Web51 není určen pro toky dat větší než asi 100 kb/s.V plné verzi je řešením pro projekty vyžadující sérii od asi 20 až 50 kusů zařízení, protože velmi jednoduchý hardware je výrazně levný, ale prodlužuje dobu vývoje a zvládnutí problematiky.

Při menších sériích lze někdy použít systém Web51 verze LITE a aplikace řídit např. přes RS-232.

Distribuce systému Web51

Web51 je otevřený systém a jako takový může být použit několika způsoby:

  • inspirován volným kódem si uživatel může postavit vlastní aplikaci při použití vlastního hardwaru i softwaru;
  • nákupem vývojového systému, návrhem vlastního řešení hardwaru a vytvořením aplikace vlastními silami;
  • návrhem vlastní aplikace na dodávané aplikační verzi 4 a dále vyřešením hardwaru speciálních periferií;
  • nákupem hotového zařízení s kompletní aplikací.

Jan Řehák
(Rehak@HW.cz)

Inzerce zpět