logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ETHERNET - "karta sieciowa" SPI dla AVR enc28j60

mirekk36 07 Sie 2009 21:25 118617 169
  • ETHERNET - "karta sieciowa" SPI dla AVR enc28j60
    Witam,

    Chciałbym zaprezentować bo właśnie zrobiłem, tzn przygotowałem sobie do testów kolejny modulik w oparciu o który wkrótce będę robił komunikację ze swoimi różnymi urządzonkami. Jako że będzie do dyspozycji ETHERNET - czyli jakby karta sieciowa dla procków - nie tylko AVR z przygotowaną ładnie konwersją sygnałów z 3,3V do 5V.

    Moduł oparty jest o popularny scalak Microchip'a ENC28J60. Na złączu goldpin wyprowadzone są wszystkie potrzebne sygnały dla komunikacji z prockami AVR.

    Układ moduł zrobiony jest na bazie tego ze stronki:

    http://tuxgraphics.org/electronics/200606/article06061.shtml

    aczkolwiek wprowadziłem zmiany:

    1. Konwersja sygnałów (ponieważ ENC zasilany jest 3,3V) do 5V
    2. rezygnacja z taktowania przez ENC sygnałem CLKOUT - świadomie - co jednak oznacza że w kodach z tej stronki będzie trzeba ciut zmodyfikować źródełka na własne potrzeby. Tam autor pisał wprawdzie o problemach gdy korzystał z wewn oscylatora 8MHz w ATmega88 - ale nie będzie takiego problemu jeśli zastosuje się w procku o wiele szybszy kwarc , dzięki czemu transmisja SPI będzie mogła działać szybciej - a w nocie ENC było gdzieś napisane, że najlepiej jeśli działałaby ona z zegarem większym niż 8MHz. Więc jak do swojej ATmegi32 dorzucę kwarc 18.432MHz to powinno śmigać - zresztą wkrótce gdy zmajstruję pierwsze prototypowe własne urządzonko to dam znać ;)

    Konwersja zrobiona oczywiście zgodnie z zaleceniami noty aplikacyjnej producenta ;)

    płytka jest na razie prototypowa więc wybaczcie niedoróbki i niedociągnięcia w wykonaniu - robiona była oczywiście metodą na ŻELACHO.

    Na płytce nie jest na dzień dzisiejszy jeszcze tylko osadzony bufor 74125 SMD - ponieważ czekam na dostawę z tme.pl ;)

    Układ po złożeniu ruszył od pierwszego kopa - dioda zielona od razu się zpala sygnalizując, że jest LINK a dioda żółta sobie pomruguje czyli od tej strony ENC od razu ślicznie ruszył - a w wielu postach na elektrodzie ludzie narzekali że bywają jakieś problemy z jego uruchomieniem - trochę się tego obawiałem - ale jak było miło gdy od razu zadziałał bez bólu.

    ...... takie mam tylko małe pytanko do tych, którzy już coś na tym scalaku uruchomili - czy u was po podłączeniu zasilania ten scalaczek też tak troszeczkę ciepły się robi??? to normalne - oczywiście działa - ale wyczuwalnie dla palca lekko podwyższa się jego temperatura.

    zamieszczam schemat, płytkę i eagle + kilka fotek z wykonania.

    ETHERNET - "karta sieciowa" SPI dla AVR enc28j60
    ETHERNET - "karta sieciowa" SPI dla AVR enc28j60

    dioda sygnalizująca napięcie 3,3V za stabilizatorem
    ETHERNET - "karta sieciowa" SPI dla AVR enc28j60

    schemat:
    ETHERNET - "karta sieciowa" SPI dla AVR enc28j60

    opis na płytkę, który nakleiłem na wierzchu żeby mieć czytelne opisy wyprowadzeń na goldpinach:
    ETHERNET - "karta sieciowa" SPI dla AVR enc28j60

    i wzór płytki w eagle.
    Załączniki:
    • enc28j60.rar (9.38 KB) Musisz być zalogowany, aby pobrać ten załącznik.

    Fajne? Ranking DIY
    O autorze
    mirekk36
    Poziom 42  
    Offline 
    Ciekawy kurs VIDEO - EAGLE - zajrzyj na mój blog
    mirekk36.blogspot.com - VOLATILE ? to łatwe

    Specjalizuje się w: programowanie: avr c, delphi pc, esp32, esp8266
    mirekk36 napisał 9195 postów o ocenie 2289, pomógł 964 razy. Mieszka w mieście Szczecin. Jest z nami od 2006 roku.
  • #3 6868883
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    parafka --> widziałem gdzieś nawet w necie linki - gdzie ludziska właśnie nawet bazując na tuxgraphics.org - dawali kwarca większego do jakiejś swojej ATmegi - i im to chulało ładnie - więc i ja tą drogą spróbuję pójść
  • #4 6868935
    parafka
    Poziom 20  
    Posty: 587
    Pomógł: 11
    Ocena: 181
    Ja nie mam miejsca na rezonator + kondensatory.
    Chyba zastosuję External RC Oscillator bo na R i C miejsce jest.
    Nie mogę za bardzo też podnieść częstotliwości bo mam Atmegę64L z 3,3V
    Patrzyłem na ds to wewnętrzne "8MHz" przy 3,3V ma 7,5Mhz.
    Spróbuję podnieść nieco ponad 8Mhz.
    Ale to chyba po wakacjach.

    A ten ENC28j60 może być ciepły bo wciąga sporo prądu.
  • #5 6869054
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    no właśnie zwykle większosć ludzi dostosowuje zasilanie procka do zasilania ENC czyli 3,3V - co z kolei ogranicza jego taktowanie a na 12,5MHz w postaci CLKOUT z ENC to też niby działa z wersjami L.

    Jednak jak się zrobi taki prosty konwerter stanów logicznych - gdzie jak widać nie trzeba konwertować sygnałów lecących do ENC - ponieważ można je dołączać wprost z TTL 5V - ENC sobie z tym ładnie radzi....

    .... to w efekcie można swojego procka taktować nawet kwarcem 20MHz a wtedy transmisja SPI może być spokojnie powyżej 8MHz i wszystko będzie ładnie śmigać ;)
  • #6 6869591
    piotr_go
    Konstruktor DIY elektronika
    Posty: 2904
    Pomógł: 94
    Ocena: 3336
    @mirekk36
    Pin reset jest wejściem, masz bufor w złą stronę.
  • #7 6869668
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    piotr_go --> święta racja z rozpędu nie zauważyłem (chyba po drodze gdzieś coś źle spojrzałem), przetnę ścieżkę i wykorzystam go na CLKOUT - jeśli będzie potrzebny (na szczęście to da radę naprawić jedną mini krosóweczką i rezystorkiem SMD 10k od resetu do VCC

    Dodano po 14 [minuty]:

    schemat i płytka już poprawione - z naniesionymi stosownymi zmianami o których wspomniałem wyżej ;)
  • #8 6869886
    Mad_Lamer
    Poziom 12  
    Posty: 60
    Atmega8 taktowana 8MHz działała mi z tym układem.
  • #9 6869940
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Mad_Lamer --> no teoretycznie powinno działać ale autor tego "wynalazku" pisał o problemach od czasu do czasu i dlatego zdecydował się taktować ATmegę zegarem z ENC....

    z ciekawości podpytam, długo się tym bawiłeś? próbowałeś coś zmieniać w źródłach i przerabiać na swoje potrzeby? - jakie są wrażenia z pracy z takim modułem? ;)

    .... kurczę ja czekam do wtorku aż na konwerter 74125 i na razie nic nie mogę zrobić - a nie chcę się bawić w lutowanie kableków już i zasilanie całości z 3,3V

    tym bardziej, że będę chciał ATemga88 taktować zewn kwarcem 20MHz
  • #10 6869973
    Mad_Lamer
    Poziom 12  
    Posty: 60
    Fakt, od czasu do czasu układ się wieszał. Myślałem że przyczyną jest montaż - zrobiłem go na szybko z użyciem płytki uniwersalnej.
    Co do konwersji źródeł to nie specjalnie - wziąłem przykładowy program. Na wysłany pakiet udp miał odpowiadać "hello". Podmieniłem to hello na stringa z temperaturą i miałem termometr na ethernet :)
    Co do konwersji napięć - cały ten ENC był opisywany w EdW - na przykładzie karty dźwiękowej. Tam podłączyli go do AVRa na 5V, pomiędzy wstawili 74HC08.
  • #11 6870061
    DjExit
    Poziom 23  
    Posty: 765
    Pomógł: 10
    Ocena: 81
    Hmm, czy nie powinno się czasem dawać separatora galwanicznego w postaci transformatorka 1:1 na każdą linię portu ethernet ? W każdym urządzeniu sieciowym jest coś takiego, podłączysz to do czegoś co będzie zasilane z innej fazy i będziesz miał fajerwerki..
  • #12 6870071
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    DjExit --> ale ja użyłem własnie takich transformatorków - tyle tylko, że one są wbudowane w to gniazdo . Nazywa się to PulseJack i ma symbol J0011D21B. Bez tych transformatorków to by układ nie zadziałał

    Dodano po 2 [minuty]:

    o - coś takiego mam:
    ETHERNET - "karta sieciowa" SPI dla AVR enc28j60
  • #13 6872453
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    No - właśnie uruchomiłem pierwsze testy - w końcu ;)

    i uwaga ciekawostka:

    1. do testów używam ATmega88
    2. zasilanie +5V
    3. kwarc zewnętrzny 20MHz !!!

    wszystko śmiga tak pięknie że szok ;) .... co najważniejsze - nic a nic się nie zawiesza nawet po bardzo długim włączeniu (już cała jedna noc i półdnia) !!!

    dzięki temu, że procek taktowany jest 20MHz to prędkość SPI max może w końcu wynosić powyżej 8MHz dzięki czemu spełnione są wszystkie warunki współpracy z ENC - zalecane w nocie - i dzięki temu nic się nie zawiesza chyba w takiej konfiguracji.

    - no to nadszedł czas na ostre zastosowania w praktyce ;) z własną komunikacją na poziomie pakietów TCP i UDP + czasem HTTP ;)
  • #14 6873096
    tiggerek1982
    Poziom 15  
    Posty: 124
    Pomógł: 6
    Ocena: 15
    Witam. Mirek a możesz podać dokładny symbol złącza RJ45? . na t.m.e znalazłem niby to ale cena też zaskakująca :>
    MIC24011-0101T Gniazdo RJ45 z transformatorem PoE, do druku

    jak idą dalsze testy?

    pozdrawiam
    Krystian
  • #15 6873126
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    tiggerek1982 --> to gniazdo PulseJack kupowałem w gamma.pl - jego dokłady symbol tam to J0011D21B - a kupiłem ich sobie od razu 10szt na zaś ;) ale chyba szybko je wykorzystam bo już mam milion pomysłów na wykorzystanie. Jedno kosztuje u nich kilka dolarów (jakoś w przeliczeniu) no ale minimum chcieli sprzedać z 10szt

    za całą paczkę z tymi gniazdami wraz z przesyłką zapłaciłem chyba koło 100zł czy 110zł

    ..... no testy są zarąbiaszcze - ktoś tam gdzieś kiedyś pisał, że z niektórymi swichami nie działa ten ENC po podłączeniu a już sprawdziłem i na zwykłym starym chub'ie 10Mbit - jak i na switchu 100Mbit a teraz podłączyłem do switcha 1Gbit i też ładnie śmiga

    wszystkie przykładowe programiki z tuxgraphics - działają rewelacyjnie. Tylko z części inicjalizacyjnej wywalam to ustawianie clkout w ENC bo jest nie potrzebne.

    jak wspominałem zabieram się teraz za pisanie sofciku na PC pod windę do komunikacji - dam znać jak już będę miał jakieś fajne etapy - albo jak wytworzę jakieś fajne urządzonko (kłębi mi się w głowie 2500 pomysłów na sek) ;)
  • #16 6873236
    K_o_n_r_a_d
    Poziom 23  
    Posty: 318
    Pomógł: 86
    Ocena: 9
    http://kamami.pl/?id_prod=2625100
    Tutaj jest też gniazdo z transformatorem (08B0-1X1T-06-F) działające z ENC...
    Ten sam model, który Microchip używa w swoich płytkach demonstracyjnych.
  • #17 6873255
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    K_o_n_r_a_d --> łoo matko ale brutto kosztuje u nich to gniazdo aż 16,45zł !!!(sprawdź sobie) - więc za 10szt z przesyłką zapłaciłoby się prawie 200zł

    wg mnie jednak lepiej kupić w gamma.pl
  • #18 6873512
    kaken
    Poziom 15  
    Posty: 203
    Pomógł: 4
    Ocena: 3
    Fajny projekt - już z 4 lata mam już w pudełku wszystkie części tyle, że przewlekane. Co do tego transformatorka to ja go wymontowałem ze spalonej płyty, która miała wbudowaną kartę sieciową. Łatwo to rozpoznać bo jest za rjtem, w kształcie jak mały przekaźnik.
  • #19 6873543
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    kaken --> taak masz rację - można takie transormatorki z odzysku dawać, podobnie z kwarcami 25MHz, których zwykle pełno znajduje się w starych sieciówkach. Tyle tylko, że takie gotowe gniazdko z trafkami w środku mniej mniejsca zabiera na płytce i nie trzeba dawać tych rezystorków 75R .... nie mniej jednak pewnie, że warto brać takie czy inne elementy z odzysku jak komuś to akurat pasuje ... bo i ekologicznie ... i taniej ;)

    Dodano po 4 [godziny] 34 [minuty]:

    kurka wodna - to jest potężne narzędzie - za taaaak małe pieniądze. Oczywiście większość nrzeka, że:

    1. słaby procek
    2. mało pamięci ram - przez co ramki muszą być krótkie

    itp

    tymczasem, taki najzwykleszy w świecie procek ATmega88 taktowany kwarcem 20MHz - potrafi obsłużyć

    1. ogromną ilość klientów i zapytań UDP , TCP i HTTP
    2. jeśli ktoś potrzebuje koniecznie większe ramki bo usilnie chce praktykować tylko HTTP to może sobie dać przecież spokojnie większego AVR'a nawet mega128 i ma już duużo RAM'u na buforowanie większych ilości informacji

    3. - dla mnie najważniejsza jest możliwość komunikacji UDP i TCP ..... już jestem po testach - napisałem prosty sofcik w Delphi do komunikacji np po UDP i nawet jeśli chcę przesłać jakieś większe ilości danych to co za problem podzielić je na kawałki - i w kawałkach wysłać, opóźnienie z tego tytułu jest praktycznie znikome i pomijalne tym bardziej przy 20MHz-cowym zegarku w Atmega

    .... odnośnie bezpieczeństwa - jeśli już chcemy korzystać z łączy internetowych - wystarczy włączyć swoje kodowanie danych i po bólu - wszystko śmiga

    ... tą drogą można sobie zrobić własną obsługę - typu przejściówka RS232/ETHERNET ;)

    ... coś niesamowitego
  • #20 6874831
    DjExit
    Poziom 23  
    Posty: 765
    Pomógł: 10
    Ocena: 81
    Kolego mirekk36 widzę, że bardzo się jarasz tym sprzęcikiem :D Interesowałem się tym jakiś czas temu, i w sumie dręczyła mnie jedna myśl, czy na prockach AVR 8 bitowych, dajmy na to Atmega32, czy można postawić na tym prosty serwer http. Powiedzmy urządzenie jakieś, sterownik świateł w domu, podłączony do domowego routera i przekierowanie nat do internetu. I z całego świata dostęp do prostego panelu konfiguracyjnego, jakaś prosta autoryzacja taka jak zwykle występuje w routerach. Jest to możliwe ?
  • #22 6875176
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    DjExit ---> to fakt, że cieszę się bardzo z takiego kolejnego klocka AVR, który sobie zrobiłem ;)

    pytasz czy można zrobić jakieś sterowanie za pomocą serwera HTTP całego domu lub podobny projekt.....

    hmmm myślę że spokojnie można - aczkolwiek trzeba się liczyć z tym ograniczeniem pamięci RAM co nieco - więc zbyt rozbudowany to taki serwer HTTP chyba nie będzie - chociaż - przecież większość danych do generowanych stron można trzymać w pamięci FLASH albo jakiejś innej zewnętrznej - więc czemu nie ???

    .... ja z kolei do moich potrzeb preferuję czyste połączenia UDP lub TCP bez tego całego dodatkowego HyperTextu w postaci HTTP . Wprawdzie wtedy nie da ready tego obsługiwać przez www .... ale da radę obsługiwać już prześlicznie i BEZ ŻADNYCH OGRANICZEŃ z własnych aplikacji sterujących. A na prawdę na samym zwykłym UDP można dużo zrobić. Niedługo wystawiam sobie właśnie taki swój mini serwerek w firmie - bo tak zwykle trzymam tam włączonego kompa, który większość czasu nic nie robi (a prąd pożera jak głupi) .... tymczasem taki serwerek na AVR - jak trzeba to włączy kompa, wyłączy grzecznie - albo zrobi milion innych rzeczy, które mu się rozkaże ;) .... przy czym włączanie można zrobić bez żadnej ingerencji w kable kompa - też po sieci ale już lokalnej - za pomocą WakeOnLAN - wysyłając tylko kilkanaście magicznych pakietów z MAC adresem kompa którego chce się wybudzić ;)

    .... i dokładnie tak jak mówisz - dostęp do niego przez zwykły router ADSL - poprzez wystawienie tego IP'ka na zewnątrz - testuję to sobie teraz w domciu - hmmm mniam , aż ślinka leci na myśl co można z tym porobić. Czasem z kolei jak jestem poza domem to przydałoby się odpalić kompa zdalnie i coś z niego pobrać czy wrzucić do niego a potem wyłączyć - ale jak??? w prosty sposób

    a teraz ? ;) .... super


    parafka --> właśnie zmieniłem fusebity na wewn. oscylator 8MHz - i tak na szybko - to nie mogę stwierdzić, żeby coś było nie tak - jak na razie także wszystko chula mi ładnie ..... no ale po to robiłem na zewnętrznym kwarcu - bo:

    1. sam autor z tuxgraphics wspominał że, jak działał na 8MHz to mu się cały układ czasami wieszał i trzeba było resetować.

    2. w nocie PDF od ENC piszą o tym że zalecana prędkość SPI powinna być powyżej 8MHz (teraz wprawdzie nie mogę tego znaleźć hmmmm ale widziałem sam to na własne oczy ... chyba że to było w którejś erracie do noty)

    reasumując - wolę nawet na szybkim kwarcu działać, żeby można było dużo rzeczy w międzyczasie odbioru i transmisji zrobić
  • #24 6875700
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    parafka -> oj coś kolega mało zdecydowany jest ;) .... najpierw piszesz żebym przestawił na 8MHz a teraz okazuje się, że ci nie chodziło o 8MHz tylko o 7,5MHz i to przy 3,3V ;)

    .... a skąd w ogóle wziąłeś informację, że procek przy zasilaniu 3,3V jest taktowany 7,5MHz a nie 8MHz ????

    to conajmniej bardzo dziwna teoria w porównaniu z danymi w nocie katalogowej, gdzie wyraźnie napisane jest, że wewnętrzny oscylator fabrycznie kalibrowany jest na wartość = 8MHz. Fakt napisane też jest , że za pomocą OSCCAL można zmieniać tę częstotliwość w dość szerokim zakresie bo zdaje się od 7,1MHz do 8,3MHz - ale żeby w takiej sytuacji ustawić te twoje 7,5MHz to trzeba by było bawić się w kalibrację za pomocą tego właśnie rejestru i mieć jeszcze jakiś częstościomierz żeby się wspomagać przy tej operacji

    .... w związku z powyższym - raczej nie chce mi się aż tak bawić - i sprawdzać czy działa to przy 7,5MHz
  • #25 6876977
    sebastian11
    Poziom 16  
    Posty: 266
    Pomógł: 2
    Ocena: 3
    DjExit napisał:
    Kolego mirekk36 widzę, że bardzo się jarasz tym sprzęcikiem :D Interesowałem się tym jakiś czas temu, i w sumie dręczyła mnie jedna myśl, czy na prockach AVR 8 bitowych, dajmy na to Atmega32, czy można postawić na tym prosty serwer http. Powiedzmy urządzenie jakieś, sterownik świateł w domu, podłączony do domowego routera i przekierowanie nat do internetu. I z całego świata dostęp do prostego panelu konfiguracyjnego, jakaś prosta autoryzacja taka jak zwykle występuje w routerach. Jest to możliwe ?



    Witam

    oczywiscie ze mozliwe - 8 lat temu zrobilem prace dyplomowa na AVR 8535 + RTL8019AS i HTTP dla jenego polaczenia dzialalo super :)

    pozdrawiam
    Seba
  • #26 6877104
    parafka
    Poziom 20  
    Posty: 587
    Pomógł: 11
    Ocena: 181
    mirekk86:
    Przy zasilaniu 3,3V Atmega taktowana jest nie 8Mhz tylko ok. 7,5MHz.
    Wynika to z wykresu w datasheecie F/Ucc.
    Zobacz na stronie 365 Atmega64
    Te 8MHz jest naprawdę mocno umowne i zależy od temperatury i zasilania,
    Dlatego jak zasilisz 3,3V to na bank nie będzie zegara 8Mhz tylko mniej.
    Dlatego prosiłem tylko o zasilenie procka napięciem 3,3V bez żadnych kalibracji.
  • #27 6877602
    tiggerek1982
    Poziom 15  
    Posty: 124
    Pomógł: 6
    Ocena: 15
    witam co do projektu opartego o LAN atmege i serwer WWW było poruszane na elektrodzie
    Link

    choć przyznam gotowy moduł Lan (wiznet) do najtańszych należy. A całość do ściągnięcia ze źródłami w bascomie.
    a ja już ręce zacieram i czekam na enc28j60 :D . co do gniazd Lan poszedłem za waszą radą i na alledrogo wyrwałem kilka kart pod pci roalteka za śmieszne pieniądze .

    pozdrawiam
    Krystian
  • #28 6877643
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    parafka --> no tak moja wina ;) na wykresy sobie nie spojrzałem ..... (a taki wykres jest chyba praktycznie w PDF'ie każdego procka)

    ... z drugiej strony, można sobie przy 3,3V dać OSCCAL na max'a i też będzie 8MHz ;) ...ok jutro postaram się sprawdzić to jednak na 3,3V i na tych ok 7,5MHz

    Dodano po 13 [minuty]:


    ----------------------------------------------------------------


    hmmm okazuje się jednak - na razie, że za pomocą stosu (oprogramowania źrółowego z tuxgraphics) to można podziałać na ENC ale głównie w roli serwera dla wszystkich z wymienianych protokołów. Natomiast gdy chcemy aby popracował dla nas jako klient chociażby UDP to już zaczynają się schody - bo w tym zakresie nie ma już ani linijki kodu ;) .... a chodzi mi np o to aby za pomocą procka poprzez ENC nawiązać połączenie UDP tzn wysłać jakieś choćby pakiety (własne) UDP do jakiegoś Hosta w sieci ...


    .... hmmm trzeba zacząć kombinować i napisać je samemu.... ale trzeba dokładnie poznać budowę stosu, ramek itp itp

    no nic zakupiłem grubą książkę o TCP/IP i zaczynam ją studiować
  • #29 6881191
    keszua
    Poziom 12  
    Posty: 17
    Świetny projekt. Również chodziło mi po głowie podobny pomysł...
    Interesowałem się tematem: "Bascom + TCP IP, Internet - IIM7000A, NM7010A", jednak koszt takiego modułu przekracza grubo ponad 100zł i opis programowania tylko pod Bascom i trzeba kupować całą gotową płytkę.

    Koszt kontrolera Ethernet ENC28J60 znalazłem na http://mse.beep.pl i wynosi około 16zł.

    Gniazdo LAN z transformatorami proponuje wyjąć ze starej płyty głównej. Dołączam zdjęcie takiego gniazda.
    ETHERNET - "karta sieciowa" SPI dla AVR enc28j60

    W niebieskiej ramce widać wymontowane i rozebrane gniazdo. Są tam także 2 gniazda USB (A), ale chyba nie powinno to przeszkadzać, a wręcz przeciwnie, może w przyszłości zrobić obsługę urządzeń przez protokół USB?

    Jak wygospodaruje trochę zaskórniaków i czasu to też zrobię taki projekt :)


    Nasunęło mi się pewne pytanie...
    - układ z komputerem łączysz przewodem krosowanym czy niekrosowanym?
  • #30 6881559
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    keszua --> ja na razie podłączałem ten moduł do sieci LAN tylko przez switche albo huby - ale jeśli trzeba podłączyć wprost do kompa - no to na pewno trzeba skrosować ;) bo inaczej się nie połączy - nie ma bata ;)

Podsumowanie tematu

✨ Dyskusja dotyczy budowy i uruchomienia modułu Ethernet opartego na układzie Microchip ENC28J60 współpracującego z mikrokontrolerami AVR, głównie z rodziną Atmega (m.in. Atmega8, Atmega32, Atmega88, Atmega168, Atmega644). Moduł pełni funkcję karty sieciowej z interfejsem SPI i wymaga konwersji poziomów napięć między 3,3V (ENC28J60) a 5V (mikrokontroler). Wiele wątków porusza kwestie taktowania procesora: zalecane jest stosowanie zewnętrznego kwarcu o częstotliwości powyżej 8 MHz (np. 16 MHz, 20 MHz) zamiast taktowania sygnałem CLKOUT z ENC28J60, co eliminuje problemy z synchronizacją i stabilnością pracy. Dyskutowano także o konieczności stosowania buforów logicznych (np. 74HCT08, 74AHCT125) do konwersji napięć, choć niektórzy użytkownicy twierdzą, że ENC28J60 toleruje sygnały 5V na wejściach SPI, jednak wyjścia są na poziomie 3,3V, co może powodować problemy. Wątek poruszał również kwestie doboru gniazd RJ45 z wbudowanymi transformatorami (np. PulseJack J0011D21B, MIDCOM MIC24011-0101T, Belfuse 08B0-1X1T-06-F), ich poprawnego podłączenia oraz wpływu na działanie modułu. Użytkownicy dzielili się doświadczeniami z uruchomieniem modułu, problemami z diodami LED sygnalizującymi stan PHY, konfiguracją fusebitów, stabilnością stosu TCP/IP i implementacją serwera HTTP lub prostych aplikacji UDP/TCP na mikrokontrolerach AVR. Wskazano, że Atmega8 może działać z ENC28J60, ale dla bardziej rozbudowanych aplikacji i stabilności lepiej użyć Atmegi32 lub większych modeli (Atmega644, Atmega128). Poruszono też temat implementacji własnych protokołów i konieczności modyfikacji kodu źródłowego z tuxgraphics.org. W dyskusji pojawiły się uwagi dotyczące poboru prądu, problemów z zawieszaniem się modułu, oraz praktycznych wskazówek dotyczących lutowania i testowania układu. Wskazano, że stosowanie konwerterów napięć i buforów trójstanowych znacząco poprawia stabilność działania. Wiele uwag dotyczyło także poprawnego podłączenia transformatorów i dławików oraz zgodności schematów z notami katalogowymi. Podsumowując, moduł ENC28J60 z mikrokontrolerem AVR jest popularnym i funkcjonalnym rozwiązaniem do Ethernetu, jednak wymaga starannego doboru taktowania, konwersji napięć, odpowiedniego gniazda RJ45 z transformatorem oraz poprawnej konfiguracji oprogramowania i sprzętu.
Wygenerowane przez model językowy.
REKLAMA