AVR + ENC28J60

Mar 17, 2013 8 Replies

Bawiłem się trochę modułami GSM, przyjrzałem się też Arduino z Ethernet Shieldem. W obydwu przypadkach obsługa TCP/IP jest już zaimplementowana sprzętowo i nie trzeba się nią przejmować pisząc program. Zastanawia mnie jednak kwestia popularnych układów ENC28J60, wykorzystywanych niekiedy w projektach widywanych w Sieci. W ich przypadku TCP/IP musi obsłużyć sam mikrosterownik.


1) Jakie jest absolutne sprzętowe minimum, to znaczy która Atmega poradzi sobie z takim zadaniem, zostawiając jeszcze rozsądną ilość zasobów na resztę programu? A może to już nie jest zabawa dla AVR-ów, tylko trzeba myśleć o jakimś ARM-ie?
2) Czy istnieje jakiś prosty, otwarty i ogólnodostępny "gotowiec", który można by w łatwy sposób włączyć do własnego kodu?

a co to za pytanie, ubiegasz się o grant?

A to zależy ile to "rozsądna". Na stm32 - 4kB ram i 16kB (chyba, może

32?) flash postawiliśmy z kumplem serwer http pozwalający na wyświetlanie statycznej zawartości (zapakowanej do FLASH z content-encoding: gzip) - kilka asciiporn i obrazek "diody" do wyświetlania. Do tego strona dynamiczna (POST) pozwalająca na zapalanie/gaszenie diodek i odczyt przycisków oraz strona powodująca wyświetlenie przewijanego tekstu na matrycy 4x4 diody.

A może to już nie jest zabawa dla AVR-ów,

Contiki OS -> uIP. Ma nawet ipv6. Bardziej rozbudowane LwIP.

W dniu 2013-03-17 19:51, Michoo pisze:

Hmm... Powiedzmy, że przy wykorzystaniu czegoś w rodzaju Atmegi 32, albo

328 chciałbym mieć przynajmniej połowę flasha na właściwy program i inne zasoby. Wykonalne? Co do RAM-u na zmienne to sam nie wiem, może lepiej zapytam na ile mógłbym liczyć? ;)

Czyli jednak to raczej zabawa w stawianie systemu na uC? W sposób podobny do Arduino z Ethernet Shieldem też by się dało?

Na uiOP i bez OS to sie zgodze. Ale np. dla FreeRTOS i lwIP potrzeba min. 64kB RAMu.

Aha juz to widze. Pokaz mi rozsadna konfiguracje LwIP aby zadowolil sie powiedzmy chociaz 20kB RAMu. Generalnie moje doswiadczenia sa takie ze bez OSa i 96 - 128KB RAMu to bawienie sie w TCP/IP to rzezba a nie normalne pisanie oprogramowania.

Pozdrawiam

Marek

W dniu 17.03.2013 19:08, Atlantis pisze:

W EP chyba z zeszłego roku było sporo na temat połączenia PIC + ENC, skoro tam to działało na 8-bitowym procku to myślę, że jak znajdziesz coś o podobnych właściwościach spośród AVR-ów to też zadziała. Zaleta PIC(k)ów jest taka że Microchip udostępnia za darmochę stos TCP/IP i jest jeszcze do tego jakiś magiczny programik, którym można zrobić proste strony www z guzikami/lampkami/suwakami, które potem wrzucasz na uC.

Z pobieżnego przeglądu "gógli" widzę, że ludziki dają radę na takich prostakach jak atmega32, więc to chyba nie jest jakiś nadludzki wysiłek. W końcu ethernet i tcp/ip to nie nowa technologia, pamięta czasy znacznie prostszych procków i jakoś dawali radę.

Na uIP i bez systemu.

Coś za coś.

LwIP odpalałem już na microblaze (64MB ram afair), więc to trochę inna liga, ale spokojnie pójdzie już na zestawie jakiś większy arm + 4M sramu. Powiedzmy od 16..32 MB ramu można się nie przejmować i postawić linuxa czy jakieś bsd.

Wg tego:

formatting link
to 40k z czego 8k to bufory.

Jeżeli robisz coś prostego - interface do sterowania/odczytu danych to uIP wystarcza.

On 2013-03-17 19:08, Atlantis wrote: [...]

AVR wystarczy. Tutaj masz np. zabytkową wersję Ethernuta:

formatting link
Ja z kolei tak z 7-8 lat temu odpaliłem Nut/OS-a z małym serwerkiem HTTP na H8/3068 który miał w środku 16k RAM i 384k Flasha. I w zasadzie nie miałem problemów z RAM-em. :-D

Jak na AVR-ka to możesz spróbować Nut/OS-a z w/w stronki. Pewnie driver do ENC28J60 będziesz musiał napisać (chyba że masz już gotowca którego da się łatwo ożenić z Nut/OS). Możesz też zerknąć na XMK

formatting link
oraz uIP i/lub lwIP.

Dnia Sun, 17 Mar 2013 19:08:58 +0100, Atlantis napisał(a):

W EdW 9/2008 był projekt eksperymentalnego łącza audio po ethernecie, na MEGA32 i ENC, z wykorzystaniem protokołu UDP.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required