-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!wsisiz.edu.pl!.POSTED!not-for-mail
From: Atlantis <m...@w...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Jak zacząć ENC28J60 i STM32F103RBT6 ?
Date: Sat, 01 Nov 2014 09:15:32 +0100
Organization: http://www.wit.edu.pl
Lines: 68
Message-ID: <m324r5$666$1@portraits.wsisiz.edu.pl>
References: <5...@g...com>
<5...@g...com>
<a...@n...neostrada.pl>
<f...@g...com>
NNTP-Posting-Host: agmz167.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: portraits.wsisiz.edu.pl 1414829734 6342 217.99.205.167 (1 Nov 2014 08:15:34
GMT)
X-Complaints-To: a...@w...edu.pl
NNTP-Posting-Date: Sat, 1 Nov 2014 08:15:34 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101
Thunderbird/24.6.0
In-Reply-To: <f...@g...com>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:673400
[ ukryj nagłówki ]W dniu 2014-10-30 13:05, pytajacy pisze:
> Ale chciałem podłączyć jeszcze jakiś interfejs ETHERNET i pomyślałem
> że układ z ENC28J60 będzie dobry bo łatwo podłącze do tej płytki.
W gruncie rzeczy od strony programowej potrzebujesz dwóch rzeczy, żeby
komunikować się ze światem za pomocą ENC28J60:
1) Drivera, czyli zbioru niskopoziomowych procedur, które są
odpowiedzialne za odczytywanie/zapisywanie informacji z/do rejestrów i
buforów układu za pośrednictwem magistrali SPI. Kod drivera jest rzecz
jasna specyficzny dla konkretnej rodziny procesorów (a w pewnym zakresie
także do konkretnego modelu). Musisz znaleźć driver przygotowany dla
twojego procesora, bądź też przygotować go samodzielnie, np. modyfikując
kod napisany pod jakąś inną rodzinę.
2) Stosu TCP/IP. Ta część odpowiada za przetwarzanie informacji
pobranych z lub wysyłanych do bufora ENC28J60. Kod sprawdza z jakim
typem pakietu mamy do czynienia (ARP, ICMP, TCP, UDP) i podejmuje
odpowiednie akcje - ustawia odpowiedni adres IP, odpowiada na ping, albo
udostępnia nam otrzymaną wiadomość. To samo w drugą stronę. Ta część
jest bardziej uniwersalna i mniej zależna od platformy, co nie znaczy
wcale, że z miejsca się skompiluje - być może trzeba będzie się pozbyć
elementów typowych dla określonej rodziny, jak np. PROGMEM w AVR-ach.
Generalnie masz kilka różnych stosów do wyboru, miedzy innymi:
1) Tuxgraphics.org - przygotowany pod AVR-y, ale pewnie bez problemu
będzie się dało go przeportować pod STM-y (może ktoś już to zresztą
zrobił). Gdy idzie o przesyłanie małych ilości danych, jest bardzo
prosty w obsłudze, nie zużywa dużych zasobów, dlatego też świetnie
sprawdza się na małych MCU. Te zalety mają jednak swoją cenę - cały
komunikat musi się mieścić w jednej ramce Ethernetowej, nie można też
utrzymać trwającej sesji TCP, więc nie da się na tym zrealizować np.
obsługi telnetu.
2) uIP - wciąż lekki stos, o nieco większych możliwościach. Istnieją
wersje pod różne platformy, więc nie powinno być problemów z STM-ami.
3) lwIP - cięższy stos, wymagający większych zasobów sprzętowych. Z tego
powodu nie bardzo nadaje się do stosowania z ośmiobitowymi MCU, ale
doskonale pasuje do STM32. Z tego co czytałem, to trzeba poświęcić
dłuższą chwilę na jego opanowanie. Od strony programistycznej obsługa
zbliżona do połączeń sieciowych na "dużych" komputerach.
Jest też całkiem rozbudowany i funkcjonalny stos od Mircochipa, ale on
działa tylko na PIC-ach, a licencja z tego co wiem zakazuje portowania
na inne platformy.
> Ale wyczytałem że jest jeszcze coś takiego jak W5100/W5500 - tylko
> że droższy.
W5500 jest w praktycznie tej samej cenie co ENC28J60 (mam tu na myśli
oczywiście sam układ, a nie całe moduły, bo tu faktycznie może być różnie).
Układy Wiznetu to trochę inna szkoła niż to, co opisałem powyżej. Tam
układ zajmuje się całą komunikacją, więc twój MCU nie musi dźwigać
ciężaru przetwarzania poszczególnych warstw stosu. Rejestry i bufory
wewnątrz zorganizowane są w sposób przypominający typowe sockety POSIX,
a ty jedynie musisz zapisywać i odczytywać z nich/do nich dane i
metadane. W paru miejscach trzeba też podejmować odpowiednie decyzje, w
zależności np. od statusu połączenia.
To chyba najprostszy sposób realizacji komunikacji sieciowej. Zwłaszcza,
jeśli znajdziesz dobrą i dopracowaną bibliotekę.
Oczywiście są jeszcze inne rozwiązania. Ostatnio coraz większą
popularnością cieszą się moduły WiFi, ze śmiesznie tanim ESP8266 na
czele. Dane przez Internet możesz też przesyłać za pośrednictwem modułów
GSM, np. SIM900 - dobre rozwiązanie, gdy w pobliżu nie masz żadnej
końcówki sieci lokalnej. Sam myślę o zrobieniu na tym systemu nadzoru
nad działką. ;)
Następne wpisy z tego wątku
- 01.11.14 09:59 Marek
- 01.11.14 10:11 Atlantis
- 03.11.14 19:13 Grzegorz Niemirowski
- 03.11.14 22:49 Atlantis
- 04.11.14 11:01 Bool
- 04.11.14 13:03 Marek Borowski
- 04.11.14 17:58 Atlantis
- 04.11.14 18:41 Bool
- 04.11.14 19:54 Atlantis
- 05.11.14 09:53 Bool
- 10.11.14 20:50 pawel
- 10.11.14 22:24 platformowe głupki
- 10.11.14 23:53 butek
- 11.11.14 10:58 platformowe głupki
- 11.11.14 12:14 platformowe głupki
Najnowsze wątki z tej grupy
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
Najnowsze wątki
- 2025-01-22 Gdańsk => System Architect (Java background) <=
- 2025-01-22 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-22 Warszawa => Java Developer <=
- 2025-01-22 pokolenie Z
- 2025-01-22 Wyświtlacz ramki cyfrowej
- 2025-01-22 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-22 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-22 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-22 oferta na ubezpieczenie OC życie prywatne
- 2025-01-22 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-22 Warszawa => International Freight Forwarder <=
- 2025-01-22 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=