Elektroda.pl
Elektroda.pl
X
Computer ControlsComputer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Moduł Ethernet spi enc28j60 (projekt otwarty)

voland 08 Gru 2010 13:01 22668 30
  • Moduł Ethernet spi enc28j60 (projekt otwarty)
    Witam!
    Wiem, że takich projektów na elektrodzie było już wiele, ale to co cechuje mój to to, że jest on otwarty co oznacza iż załączam oryginalne pliki programu eagle i każdy może sobie zmienić co nieco na własne potrzeby (jeśli ma na przykład inne gniazdo ethernet itp.) szukałem takiego schematu i nie mogłem znaleźć a ludzie na forum w imię nieznanych mi idei nie chcieli się podzielić tym mini schematem. W sumie nie chcę się rozpisywać za wiele na temat samego modułu, służy do doposażenia mikrokontrolerów w sieć ehternet.
    W internecie można znaleźć wiele gotowych przykładowych kodów na różne uC, zachęcam do eksperymentowania.
    Układ opiera się na projekcie ze strony:
    http://tuxgraphics.org/electronics/200606/article06061.shtml

    Moduł Ethernet spi enc28j60 (projekt otwarty)Moduł Ethernet spi enc28j60 (projekt otwarty)]

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    voland
    Poziom 15  
    Offline 
    Specjalizuje się w: elektr. analog/cyfr, programowanie arm avr .net
    voland napisał 139 postów o ocenie 150, pomógł 6 razy. Mieszka w mieście Poznań. Jest z nami od 2003 roku.
  • Computer ControlsComputer Controls
  • #2
    piotrva
    Moderator na urlopie...
    Projekt moim zdaniem udany, choć moim zdaniem mogłeś zrobić już wszystko w SMD. Co do uwag technicznych to skoro dawałeś enc w dipie, to mogłeś go włożyć w podstawkę precyzyjną. druga rzecz to to, że nie ma śrub w pobliżu gniazda, gdzie moim zdaniem być powinny, bo tak to jakby na to nie patrzeć ewentualne naprężenia będzie przenosić płytka.
  • Computer ControlsComputer Controls
  • #3
    voland
    Poziom 15  
    piotrva>> Tak wyszło że akurat miałem w zanadrzu układ w obudowie dip, racja ostatecznie żałowałem że nie wykonałem tego w całości w smd. Co do podstawka stwierdziłem że zbędny, pewno zmienie zdanie dopiero jak będę musiał wymienić układ :), wątpię że to nastąpi.

    maniak>> tak zamierzam go psiknąć preparatem Plastik 70 w chwili robienia zdjęcia płytka nie była jeszcze testowana więc nie lakierowalem, osad można jeszcze zmyć.
  • #4
    gts1991
    Użytkownik obserwowany
    Jakbyś robił wersje z enc28j60 w Eagle to uważaj bo jest błąd między DIP a Smd nóżki są poprzestawiane :)
  • #5
    Nerwus
    Poziom 18  
    Jaki są koszta tego zestawu. Na alledrogo są gotowce za 65 PLN + wysyłka.
  • #6
    Karol966
    Poziom 30  
    Koszty składają się w największej mierze na ENC28j60, który to również na alle..ro kosztuje ok 12zł. Owszem są moduły nawet po 79zł (taki np dziś kupiłem) ale można też trafić na moduły za 35zł ;)
  • #7
    voland
    Poziom 15  
    Około 30zł chociaż to nie ma dla mnie znaczenia w praktyce nigdy nie wiesz czy twój przyszły projekt będzie się opierać na komponentach układu z allegro chodzi o to, że od podstaw zrobiłem układ pod przyszły grubszy projekt.
  • #8
    maly_elektronik
    Poziom 23  
    Nie chodzi mi o jakąkolwiek krytykę, ale czy powyższy układ wnosi coś więcej niż to czego można dowiedzieć się z noty katalogowej układu :?:

    I czy warto projekt nazwać otwartym skoro każdorazowa konstrukcja wymaga takiego a nie innego podłączenia komponentów :?:
  • #9
    voland
    Poziom 15  
    Układ nie wnosi nic w tzw świat nauki jeśli ci o to pytasz drogi krytyku. Projekt nazywa się otwartym bowiem udostępniam schemat w postaci plików eagle, które każdy może pobrać i zmodyfikować na własne potrzeby a nie np. bezużyteczne bitmapy, to jest własnie wartość jaką wnosi ten wątek, i nic poza tym. Sądząc po twojej wypowiedzi najprawdopodobniej nigdy nie będziesz tego schematu potrzebować dlatego nie rozumiesz poco się tu znalazł.
  • #10
    Alcatraz
    Poziom 11  
    Polecam W5100 - Osobiście używam z tego scalaka, koszt jego to około 5,20$ (USD). Ma sprzętowe TCP/IP, UDP, ICMP, IGMP, IP RAW.

    Prosta obsługa po SPI lub BUS Adres>>Dane. Można wyłączyć tzw Indirect BUS i obsłużyć go po dwu/bitowej szynie adresowej.

    Obsługuję go z AVRów oraz STM32 rodzina Performance.

    Sporawo jest o nim na Google.

    A co do w/w projektu ładnie to wyszło :)


    Moderowany przez androot:

    Temat dotyczy układu enc28j60. Proszę nie robić koledze off-topu

  • #11
    morph13
    Poziom 25  
    Alcatraz napisał:
    Polecam W5100 - Osobiście używam z tego scalaka, koszt jego to około 5,20$ (USD). Ma sprzętowe TCP/IP, UDP, ICMP, IGMP, IP RAW. Prosta obsługa po SPI lub BUS Adres>>Dane. Można wyłączyć tzw Indirect BUS i obsłużyć go po dwu/bitowej szynie adresowej....

    Możesz tak na szybko podrzucić link do strony gdzie można zakupić te moduły.
    Jestem na etapie realizacji inżynierki, zamierzałem zastosować ENC28J60 ale widzę, że szybciej i łatwiej będzie z W5100. Zresztą preferowałbym dla ułatwienia sobie sprawy obojętnie jaki moduł ethernetowy ze scalakiem ze stosem TCP/IP (wykorzystany i tak tylko będzie prot. UDP)
  • #12
    voland
    Poziom 15  
    Też muszę wypróbować ten scalak, raczej zrezygnuję z enc28j60 na rzecz czegoś takiego. Czy jest rzetelna dokumentacja na temat tego w5100 i jakieś przykłady kodu w c, jakieś linki do przejrzenia zanim zacznę szukać dalej. Najlepiej coś na ARM.
  • #13
    gts1991
    Użytkownik obserwowany
    Też na PW zapytał autora postu o dostępność W5100 i nic nie odpisał na razie...
    To co znalazłem na polskim rynku :
    http://www.kamami.pl/index.php?productID=138381 <-- brak towaru 171,77 PLN
    http://www.shop.kristech.eu/product_info.php?products_id=231 <-- brak towaru 129,96PLN netto
    http://www.inteliware.pl/index.php/Arduino/Arduino-Ethernet-Shield/flypage_new.tpl.html <- tu chyba jest 164,70 PLN
    http://nettigo.pl/product/Modul-Ethernet,ARDUINO-ETHERNET-SHIELD <-- brak towaru
    I wszędzie to samo brak towaru :/ Raczej marne szansze że będzie w najbliżyszm czasie w Polsce nawet jako przystawka arduino ethernet.
    Jak by ktoś posiadał nawet używany WIZ810MJ ( chip w5100) na sprzedanie da znać na PW :)
  • #14
    morph13
    Poziom 25  
    Jest jeszcze alternatywa w postaci w5300 Wiznet-u. Jednak ceny nie za ciekawe.
    Jednak co nie co można już kupić w Polsce w postaci stosownego modułu.
  • #16
    Alcatraz
    Poziom 11  
    Witam Serdecznie Forumowiczów,

    Tłumaczę się moją nieobecnością iż w dniu dzisiejszym uroczyście obchodzę urodziny. W Sobotę świętowałem, a w Niedzielę odżywałem :)

    Co do WizNet'u bo tak się producent nazywa:
    Strona producenta: http://www.wiznet.co.kr/en/
    Kostka W5100: http://www.wiznet.co.kr/Sub_Modules/en/produc...&page=1&cate1=&cate2=&cate3=&pid=1011&cType=2

    W Download'zie macie komplet dokumentacji odnośnie wystartowania z tym prockiem.

    - Support Hardwired TCP/IP Protocols TCP, UDP, ICMP, IPv4 ARP, IGMP, PPPoE, Ethernet
    - 10BaseT/100BaseTX Ethernet PHY embedded
    - Support Auto Negotiation (Full-duplex and half duplex)
    - Support Auto MDI/MDIX
    - Support ADSL connection (with support PPPoE Protocol with PAP/CHAP Authentication mode)
    - Supports 4 independent sockets simultaneously
    - Not support IP Fragmentation
    - Internal 16Kbytes Memory for Tx/Rx Buffers
    - 0.18 µm CMOS technology
    - 3.3V operation with 5V I/O signal tolerance
    - Small 80 Pin LQFP Package
    - Lead-Free Package
    - Support Serial Peripheral Interface(SPI MODE 0, 3)Multi-function LED outputs (TX, RX, Full/Half duplex, Collision, Link, Speed)

    Odnośnie dystrybucji bo pytacie i twierdzicie że ciężko:
    http://www.wiznet.co.kr/Sub_Modules/en/distributor/Europe.asp

    Kostkę dostałem w ciągu dwóch dni roboczych, paczką za pobraniem.
    Bardzo rzetelna firma jak dla mnie :) Z tego co widziałem moja firma już miała współpracę z owym dystrybutorem, tylko na tym skorzystałem.

    Nie wiem czy nasz dystrybutor może wam detalicznie sprzedać, ja brałem te moduły na FV.

    Trochę na temat tego scalaka w wydaniu gazetki "2007 iEthernet Design Contest Special Archive Edition" do ściągnięcia: http://www.wiznet.co.kr/Sub_Modules/en/produc...e=1&cate1=5&cate2=7&cate3=26&pid=1074&cType=2

    I co najważniejsze wszystkie opisane z tej gazetki projekty dostępne w PDF ze źródłami na: http://www.circuitcellar.com/wiznet/sample.html

    Jeśli chodzi o budowę urządzeń na tym procku to internet aż piszczy od informacji :)

    Po zakupie tego modułu przeze mnie i podłączeniu go do mojego układu startowego, po przeczytaniu noty katalogowej zajęło mi 20 minut wystartowanie w/w układu :)

    Myślę że każdy sobie poradzi z uruchomieniem tego układu, co więcej są dostępne źródła do uruchomienia WizNet'a na Audurino.


    P.S. Schematy oraz źródła oparte o układ W5100 niestety nie udostępnię ze względu na ich charakter komercyjny.


    Pozdrawiam, życzę wspaniałych i udanych Projektów opartych o WizNet :)
  • #17
    gts1991
    Użytkownik obserwowany
    Wymieniłem parę e-maili z firmą Gamma i takie są wnioski :
    - WIZ810MJ dostępny od ręki Cena 61 zł netto
    - Sprzedaż detaliczna nie ma problemu
    - Wysyłka pobraniowa 20zł zamawiamy e -mailem towar :)
  • #18
    voland
    Poziom 15  
    damiano713 napisał:
    Cytat:
    a ludzie na forum w imię nieznanych mi idei nie chcieli się podzielić tym mini schematem

    http://damiankmiecik.tk/2010/10/enc28j60-isp-network-card-en/
    http://damiankmiecik.tk/2010/10/enc28j60-isp-network-card-v2-en/


    Z tego co widzę to data opublikowania tych schematów to 26 październik 2010, kiedy tworzylem swoj projekt tego nie było jeszcze w sieci.


    Alcatraz napisał:

    W Download'zie macie komplet dokumentacji odnośnie wystartowania z tym prockiem.

    Ekm... Wracając do tematu, napisałeś "Prockiem" czy to oznacza iż w jakiś sposób układ ten jest flashowany? tworzy się jakiś firmware na to i wgrywa do tego układu? (tak jak na przykład na produkty vlsi) czy obsługuje się go tylko przez interfejs zewnętrzny np spi?

    gts1991 napisał:
    - WIZ810MJ dostępny od ręki Cena 61 zł netto

    A jaka jest różnica między tymi dwoma IC?


    Być może ostatecznie najlepiej było by użyć jakiegoś cortexa który ma ethernet już w sobie.
  • #19
    Alcatraz
    Poziom 11  
    Panie Voland:

    Pisząc "Procek" miałem na myśli Układ Scalony, co nie znaczy że W5100 w sobie nie ma Mikrokontrolera :) Jak piszą w Nocie technicznej są tam wyprowadzenia używane tylko podczas Produkcji układu, jednym słowem tłumacząc służą do wgrania firmware'u (Na etapie produkcji). W taki o to prosty sposób mamy układ z wbudowanym stosem TCP/IP.

    Co do obsługi układu to tak naprawdę, operuje się na jego rejestrach wewnętrznych po trzech różnych interfejsach (do wyboru) jednym z nich jest SPI. Co w rezultacie daje nam duże możliwości wymiany informacji między µC a W5100 dlatego ja go używam w moim SET-TOP Box'ie do Multicasting'u (wbudowany IGMP).

    Jeśli chodzi o różnicę między WIZ810MJ a W5100 to jest znacząca.
    - W5100 - jest układem z wbudowanym stosem TCP/IP... Ethernet.

    - WIZ810MJ - jest Modułem z układem W5100 - jednym słowem mówiąc: płytka + W5100 + MagJack (gniazdo RJ45 wraz z trafo) + troszkę peryferii + złącze 2x2x14 2mm

    Myślę że rozwiałem wątpliwości :)

    Pozdrawiam Serdecznie
  • #20
    voland
    Poziom 15  
    No no chodziło mi o to, że np vs1000 z vlsi jest dekoderem plików audio ogg ale dodatkowo masz możliwość zaimplementowania w nim własnych funkcji ( rozszerzenia możliwości układu wgrywając swój kod do ramu) układ jest już w zasadzie mikrokontrolerem z zaimplementowanym dekoderem muzycznym, pytałem czy w tym sensie nazywasz w5100 prockiem ( Czy jest to samodzielny układ czy pracuje jako slave z mikrokontrolerem). Oczywiście twoja odpowiedź zaspokoiła moje oczekiwania za co wielkie dzięki. Resztę muszę w sieci znaleźć sam. Pozdrawiam również.
  • #21
    retsef
    Poziom 14  
    w5100 jest spoko (ja go używam) tylko są z nim czasami problemy przy wspolnej magistrali spi z innymi układami.
  • #22
    Alcatraz
    Poziom 11  
    Panie Retsef:

    Zgadza się z początku miałem mały problem z komunikacją wspólną po SPI.
    U mnie problemem była zła obsługa SPI, ponieważ obsługiwałem SD/MMC wraz z W5100 (MASTER:SLAVE:SLAVE) problem zanikł kiedy rozdzieliłem obsługę na:
    W5100 po sprzętowym SPI oraz obsługa SD/MMC programowe SPI.

    Jeśli chodzi o obsługę tego wszystkiego za pomocą STM32. Chyle głowę... Wszystko działa bez problemów.
  • #23
    voland
    Poziom 15  
    czyli zasadniczo zrobiłeś odrębne spi dla sd? ale programowe spi chyba wolniej działa z tego co wiem .
  • #24
    retsef
    Poziom 14  
    no mozna rozdzielac, ale kiedys wydawalo mi sie ze SPI jest takie fajne ze mozna komunikowac sie z kilkoma modulami. Potem poczytalem o innych problemach jak np roznej implementacji tego samego protokolu.

    Tak notabene zeby tutaj dobrze to zrozumiec problem jest z chipem w5100, ktory ma buga w obsludze protokolu SPI.
  • #25
    voland
    Poziom 15  
    Jesteś w 100% pewien, że to nie jest bug w twoim kodzie? ( nie zakładam tylko pytam). Po prostu próbuję uzbierać jak najwięcej informacji zanim zacznę projekt, w sumie tworzenie software'owego spi to raczej żadna filozofia ale to mało eleganckie rozwiązanie. Poza tym taki SPI na pewno będzie mniej wydajny.
  • #26
    Alcatraz
    Poziom 11  
    Szczerzę powiadam że sam z chęcią dowiedziałbym się na czym ten bug' polega :)

    Co więcej przeszukałem jakiś czas temu jaki tryb pracy wybrać czy Indirect a może SPI na stronie w Q&A WizNet'u. Każdy chwali sobie bardziej pracę po SPI a ja to popieram.

    Pytania nasuwają się jak Ty obsługujesz pracę po SPI przy dwóch lub więcej Slave'ów.

    Rozwiń proszę ten problem z SPI w W5100.
    Ogólnie rzecz biorąc to mój problem przestał istnieć (sprzętowe SPI) po przesiadce na STM32F103 z dwoma SPI :)

    Niestety przy wykorzystaniu W5100 do Multicastu musiałem rozdzielić go od SPI FLASH oraz MMC.
  • #27
    Karol966
    Poziom 30  
    Trochę (albo i bardziej) temat zboczył z kursu ;)
    Nawiązując do tematu ENC28J60 chciałbym napisać, że mam z nim problem. Kupiłem moduł AND-ETH v2, procesor to m16, korzystam ze źródeł z http://tuxgraphics.org/electronics/200606/article06061.shtml (oczywiście zmieniam make, tym bardziej, że używam WinAVR) no i układ nie działa. Dziwne bo jak sprawdzam pingi to mam odp, że host docelowy jest nieosiągalny no i mam 0% strat. Właśnie sprawdziłem, że to jest od routera - bez układu nie ma zmiany. Router to TPlink wr543

    Modyfikacje w programie:
    Code:
    static uint8_t mymac[6] = {0x00,0x1A,0x73,0xAC,0x1F,0x4F};
    
    static uint8_t myip[4] = {192,168,1,110};
    static uint16_t myport =1200; // listen port for udp

    oraz zmiany
    Code:
     delay_ms
    na
    Code:
     _delay_ms
    wraz z dołączeniem biblioteki
    Code:
    #include <util/delay.h>


    Dodano po 20 [minuty]:

    _______edit:

    Dodałem modyfikację w pliku enc28j60.c dotyczące linii SPI no i ruszyło :)
  • #28
    retsef
    Poziom 14  
    Problem polega na tym ze modul W5100 nie odłącza się od linii MOSI gdy nie jest używany. Jest o tym informacja w datasheecie jako notka wraz z zaleceniem jak sobie z tym radzić. Jest to jawny błąd konstrukcyjny znany i opisany dobrze na google.
    Alcatraz napisał:


    Niestety przy wykorzystaniu W5100 do Multicastu musiałem rozdzielić go od SPI FLASH oraz MMC.



    rozdzielać od FLASH oraz MMC? Czy to nie przypadkiem to co ja pisze? Problem polega na współpracy z innymi modułami po tych samych liniach SPI.

    Dodatkowo przy współpracy różnych modułów czasami występują także inne problemy, które wyłączają możliwość komunikowania się po jednej linii wynikające z różnych implementacji lub po prostu rozumienia tego samego standardu.
  • #29
    markoz7874
    Poziom 31  
    Przeszukujac siec na temat enc28j60, natknalem sie na przyklad wykorzystania ukladu do WOL - moze sie komus przyda i przyczyni sie do rozwoju zapoczatkowanej tu dyskusji?
    Sa schematy i PCB.


    Moduł Ethernet spi enc28j60 (projekt otwarty)
  • #30
    voland
    Poziom 15  
    retsef napisał:
    Problem polega na tym ze modul W5100 nie odłącza się od linii MOSI gdy nie jest używany. Jest o tym informacja w datasheecie jako notka wraz z zaleceniem jak sobie z tym radzić. Jest to jawny błąd konstrukcyjny znany i opisany dobrze na google.
    Alcatraz napisał:


    Niestety przy wykorzystaniu W5100 do Multicastu musiałem rozdzielić go od SPI FLASH oraz MMC.



    rozdzielać od FLASH oraz MMC? Czy to nie przypadkiem to co ja pisze? Problem polega na współpracy z innymi modułami po tych samych liniach SPI.

    Dodatkowo przy współpracy różnych modułów czasami występują także inne problemy, które wyłączają możliwość komunikowania się po jednej linii wynikające z różnych implementacji lub po prostu rozumienia tego samego standardu.

    Witam minęło trochę czasu i już wiem o czym pisał kolega, rozwiązaniem problemu jest schemat znajdujący się poniżej, czyli równomiernie z podaniem stanu niskiego na CS należy podać stan wysoki na SE, wszysko jest podane w http://www.wiznet.co.kr/UpLoad_Files/ReferenceFiles/W5100_AN_SPI.pdf na oficjalnej stronie wiznetu, warto jeszcze pamiętać aby w trakcie wykonywania operacji komunikacji z drugim slave na spi nie dopuścić do wyzwolenia przerwania w5100. Mam wrażenie, że Wiznet wskazuje na to bardziej jak na założenie projektu niż bug. Polecam przeczytać wskazany wyżej pdf.
    Moduł Ethernet spi enc28j60 (projekt otwarty)