. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
SPINET - Ethernet <> SPI
24.brezna 2008 | Pandatron | SPINET - Ethernet <> SPI | Komentářů: 0  
SPINET - Ethernet SPI

SPINET - Ethernet <> SPI

Dostal se mi do rukou velice zajímavý modul SPINET, s jehož pomocí se lze připojit na ethernet (internet) a přitom se nazajímat o fyzickou vrstvu tohoto moderního média.

HARDWARE
Od firmy
ASIX s.r.o. jsem získal modul SPINET. Jde o integrovaný převodník Ethernet <-> SPI. Obsahuje RJ45 konektor s dvěmy LED a integrovaným trafíčkem. Základ modulu tvoří obvod ENC28J60 od firmy Microchip a samozřejmě další nezbytné součástky kolem. Výstupem jsou 3,3V a 5V SPI piny, připojitelné přímo k libovolnému procesoru.


Obr. 1: Modul SPINET od firmy ASIX s.r.o.

Výhodou tohoto modulu je především fakt, že se jedná o hotové a otestované zařízení. Nemusíte navrhovat plošný spoj pro vysokofrekvenční ethernetové signály, letovat miniaturní SMD součástky a ani převádět 3,3V úrovně obvodu na 5V procesor. Vše je zde již integrováno.

Schéma modulu a další dokumentace je na webu výrobce ZDE.

Já jsem si na modul přiletovat úhlový konektor MLW24 a připojil ho k procesoru PIC18F452. Zatím jen pokusně na kontaktním poli, abych si ověřil, zda a jak modul pracuje ve skutečnosti.


Obr. 2: Schéma připojení modulu k procesoru

Všechny vstupní piny na modulu jsou jak pro 3,3V, tak i pro 5V aplikace a výstupní piny jsou zdvojeny. Výstupní piny jsou vyvedeny jak v 3,3V logice, tak i 5V logice, takže bylo snadné modul připojit k 5V procesoru PIC.
Piny jako Wake On Line, nebo Interrupt jsem nezapojoval, protože nejsou potřeba. Pokud přijde požadavek na WOL, přečte se jako rámec a přerušení není potřeba, protože se stejně cyklicky dotazuji obvodu sám, zda nemá nějaká nová data.
Tím je celé schéma hotové a už zbývá jen naprogramovat do procesoru požadované funkce.


Obr. 3: Pokusné zapojení na kontaktním poli.

ENC28J60
Je srdcem modulu a tak je to právě on, s kým budeme muset komunikovat.
Obvod řeší autonomně komunikaci po úroveň MAC vrstvy, přenáší tedy ethernetové rámce. Vyšší komunikační protokoly (ARP, IP, ICMP, UDP, TCP, HTTP...) je třeba implementovat v rámci aplikace, tedy ve firmware připojeného procesoru.


Obr. 4: Připojení obvodu ENC28J60

Základní údaje:
- IEEE 802.3 kompatibilní ethernetový kontrolér
- plně kompatibilní s 10/100/1000Base-T Networks
- integrované MAC a 10-base-T PHY s detekcí a korekcí polarity
- podporuje Full i Half-duplex modes
- programovatelný automatický retransmit při kolizi na síti
- programovatelný Padding i CRC generátor

- rychlost SPI až 20MHz
- integrován 8kB Dual-Port SRAM buffer
a řada dalších funkcí, zájemce odkazuji na
dokumentaci obvodu.

FIRMWARE
Naprogramovat komunikaci po ethernetu není příliš snadné, ale výrobce modulu na svém webu dává volně k dispozici ukázkový zdrojový kód, na kterém se již dá začít stavět i když třeba ještě příliš neznáte všechny ethernetové protokoly.

Po stažení a rozbalení ukázkového příkladu
SPINET4PVK dostanete téměř čtyřicet souborů se zdrojovými kódy. Všechny jsou však pojmenovány přesně podle toho, co je v nich obsaženo, takže případného zájemce bude asi nejvíce zajímat soubor s názvem ENC28J60.C a ENC28J60.H. V něm jsou obsaženy veškeré funkce pro komunikaci s obvodem (modulem), takže je stačí jen vzít a použít.
Enc28j60.c a enc28j60.h obsahují tyto funkce:

Inicializace obvodu a nastavení MAC adresy:
extern void nic_init(unsigned char macaddr[]);

Čtení dat z obvodu:
extern void netbuf_rd_seek(int pos, unsigned char origin);
extern unsigned int netbuf_rd_tell(void);
extern unsigned char netbuf_getc(void);
extern void netbuf_read(void *buffer, int len);
extern void netbuf_skip(int len);


Zápis dat do obvodu:
extern void netbuf_wr_seek(int pos, unsigned char origin);
extern unsigned int netbuf_wr_tell(void);
extern void netbuf_putc(unsigned char data);
extern void netbuf_write(void *buffer, int len);
extern void netbuf_fill(unsigned char data, int len);
extern void netbuf_copy(unsigned int len);


Ostatní, zřejmé z názvu funkce:
extern void netbuf_close(void);
extern unsigned int nic_rx(void);
extern void nic_rx_free(void);
extern unsigned int nic_tx_alloc(unsigned int *pt);
extern void nic_tx(unsigned int len);
extern unsigned int nic_link(void);

Vidíte tedy, že stačí tyto soubory připojit ke svému projektu, upravit SPI komunikaci podle Vašich pinů a můžete začít komunikovat s ethernetem.


Obr. 5: Detajl procesoru a ostatních součástek.

Na závěr tedy doporučuji prostudovat si dokumentaci k obvodu i modulu a případně si projít ukázkové zdrojové kódy.
Za tímto článkem bude v nejbližší době následovat celá konstrukce Malého Webového Serveru pro vzdálené ovládání nejrůznějších zařízení.

Použitá literatura:
TCP/IP kompletní průvodce

Odkazy & Download:
SPINET - Webové stránky modulu







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (7):

Zobrazit starší 30 dnů (7)...

host
7. Dne 18. 06. 2008 v 11:17 zaslal host
Bez titulku
http://www.spezial.cz/connectone/bezdratove-seriove-rs232-wifi-moduly-iwifi-mini-secure-socket-iwifi-connectone.html Mini Socket iWiFi™ / Secure Socket iWiFi™ bezdrátové RS232 WiFi moduly s integrovaným web serverem tohle mě taky zaujalo, zdá se být dokonce jednodušší implementace do hotového projektu s RS232


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
SDR-5+ HF receiver - All Mode Softwarový přijímač
Digitální softwarový přijímače SDR-5+ je již pátou generací špičkových produktů naší společnosti. Jedná se o All Mode Receiver s integrovaným generátorem, dvěma anténními vstupy a VCO vstupem s frekvenčním rozsahem 0 až 100 MHz.
Skladem od 2550 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007