RTV forum PL | NewsGroups PL

Która Atmega wystarczy do obsługi ENC28J60 i programowania TCP/IP? Gotowe rozwiązania?

AVR + ENC28J60

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Która Atmega wystarczy do obsługi ENC28J60 i programowania TCP/IP? Gotowe rozwiązania?

Atlantis
Guest

Sun Mar 17, 2013 7:08 pm   



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?

Ministerstwo Propagandy
Guest

Sun Mar 17, 2013 7:16 pm   



Quote:
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?

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

Michoo
Guest

Sun Mar 17, 2013 7:51 pm   



On 17.03.2013 19:08, Atlantis wrote:
Quote:
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 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,
Quote:
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?
Contiki OS -> uIP. Ma nawet ipv6. Bardziej rozbudowane LwIP.


--
Pozdrawiam
Michoo

Atlantis
Guest

Sun Mar 17, 2013 8:05 pm   



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

Quote:
A to zależy ile to "rozsądna".

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ć? ;)


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

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

Marek Borowski
Guest

Sun Mar 17, 2013 8:57 pm   



On 2013-03-17 19:51, Michoo wrote:
Quote:
On 17.03.2013 19:08, Atlantis wrote:
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 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.

Na uiOP i bez OS to sie zgodze.

Ale np. dla FreeRTOS i lwIP potrzeba min. 64kB RAMu.

Quote:
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?
Contiki OS -> uIP. Ma nawet ipv6. Bardziej rozbudowane LwIP.

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

Jakub Rakus
Guest

Sun Mar 17, 2013 9:03 pm   



W dniu 17.03.2013 19:08, Atlantis pisze:

Quote:
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?

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ę.
--
Pozdrawiam
Jakub Rakus

Michoo
Guest

Sun Mar 17, 2013 9:30 pm   



On 17.03.2013 20:57, Marek Borowski wrote:
Quote:
On 2013-03-17 19:51, Michoo wrote:

Na uiOP i bez OS to sie zgodze.

Na uIP i bez systemu.

Quote:
Ale np. dla FreeRTOS i lwIP potrzeba min. 64kB RAMu.

Coś za coś.

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

Aha juz to widze. Pokaz mi rozsadna konfiguracje LwIP aby zadowolil sie
powiedzmy chociaz 20kB RAMu.

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:
http://www.lpcware.com/content/project/lightweight-ip-lwip-networking-stack/lwip-memory-requirements
minimum to 40k z czego 8k to bufory.

Quote:
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.

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

--
Pozdrawiam
Michoo

JDX
Guest

Sun Mar 17, 2013 11:03 pm   



On 2013-03-17 19:08, Atlantis wrote:
[...]
Quote:
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?
AVR wystarczy. Tutaj masz np. zabytkową wersję Ethernuta:

http://ethernut.de/en/hardware/enut1/index.html 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

Quote:
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?
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
(http://www.shift-right.com/xmk/index.html) oraz uIP i/lub lwIP.

badworm
Guest

Sun Mar 31, 2013 10:02 pm   



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

Quote:
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?

W EdW 9/2008 był projekt eksperymentalnego łącza audio po ethernecie, na
MEGA32 i ENC, z wykorzystaniem protokołu UDP.
--
Pozdrawiam Bad Worm badworm[maupa]post{kropek}pl
GG#2400455 ICQ#320399066

elektroda NewsGroups Forum Index - Elektronika Polska - Która Atmega wystarczy do obsługi ENC28J60 i programowania TCP/IP? Gotowe rozwiązania?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map