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

Miniaturowy sterownik ethernetowy STM32 - "uWebServer"

Szaflik 07 Paź 2012 19:08 39180 35
  • Miniaturowy sterownik ethernetowy STM32 - "uWebServer"

    Witam. Chciałem dzisiaj przedstawić kolejny projekt z cyklu "inni mają - mam i ja" ;)

    Tym razem jest to miniaturowy sterownik ethernetowy - "uWebServer". Układ zbudowany został w oparciu o mikrokontroler Cortex-M3 - STM32F103C8T6, do tego kontroler ethernetu "znany i lubiany" - ENC28J60. Całość pracuje pod kontrolą systemu FreeRTOS oraz stosu TCP-IP uIP v1.0. Chcąc uniknąć głosów "hejterów", że tego typu układy "nie mają sensu" dodam, że układ został wykonany bez jakiegoś konkretnego zastosowania - tylko i wyłącznie w celach edukacyjno-rozwojowych oraz dla satysfakcji własnej autora ;)

    Miniaturowy sterownik ethernetowy STM32 - "uWebServer" Miniaturowy sterownik ethernetowy STM32 - "uWebServer" Miniaturowy sterownik ethernetowy STM32 - "uWebServer" Miniaturowy sterownik ethernetowy STM32 - "uWebServer"

    Mimo niewielkich rozmiarów (4x5cm) i zasobów sprzętowych możliwości wykorzystania jest sporo. :)





    Główna funkcjonalność tego układu to WebServer. Jednym z założeń było stworzenie układu umożliwiającego w łatwy sposób sterowanie liniami GPIO oraz monitoringu danych z czujników. W projekcie do wykorzystania jest 8 lini GPIO - 4 skonfigurowane jako wejścia oraz 4 jako wyjścia. Dodatkowo na złączu goldpin dostępna jest magistrala 1-Wire oraz UART (obsługiwany przez bootloader - można przez niego wgrywać firmware). Z poziomu WebServera mamy możliwość ustawiania stanu dowolnej lini GPIO oraz odczyt stanu linii wejściowych. Linie wyjściowe wykorzystać można do sterowania np. przekaźnikiem, a tym samym odbiornikami większej mocy. Dodatkowo na płytce znajdują się dwie diody LED - można nimi również sterować z poziomu przeglądarki lub mogą być wykorzystane jako źródła informacji o zdarzeniach. Kolejną funkcjonalnością jest odczyt oraz monitoring temperatury. W tym celu zaimplementowano obsługę magistrali 1-Wire. Obsługa standardowa "bit-banging" na jednej z linii GPIO. Nie jest to rozwiązanie optymalne, jednak sprawdza się bezproblemowo. Dzięki algorytmowi wykrywania podpiętych czujników system jest skalowalny dla większej ich ilości. W chwili obecnej obsługiwany jest tylko jeden - jednak nic nie stoi na przeszkodzie, żeby tą ilość zwiększyć w miarę potrzeby. W przeglądarce generowany jest interaktywny (możliwość dynamicznego podglądu data-pointów) wykres dla aktualnej temperatury. Wykorzystałem w tym celu "Google Chart Tools". W tej chwili przesyłane próbki są buforowane w RAM'ie, co powoduje dość spore ograniczenie ich ilości. Docelowo chciałbym wykorzystać do tego celu kartę uSD z systemem plików oraz generować również wykresy historyczne (lub przynajmniej z szerszego zakresu czasu niż obecnie). Do pozostałych opcji WebServera można zaliczyć monitoring stanu wątków uruchomionych w systemie (Task Stats), czasu procesora zużywanego przez poszczególne wątki wraz z wykresem kołowym (Run Time Stats), statystyki protokołu TCP-IP (TCP Stats), statystyki połączeń (TCP Connections), obsługa GPIO i LED (IO COntrol) oraz odczyt temperatury. Cała zawartość systemu plików przechowywana jest w pamięci flash mikrokontrolera.

    Miniaturowy sterownik ethernetowy STM32 - "uWebServer" Miniaturowy sterownik ethernetowy STM32 - "uWebServer" Miniaturowy sterownik ethernetowy STM32 - "uWebServer" Miniaturowy sterownik ethernetowy STM32 - "uWebServer" Miniaturowy sterownik ethernetowy STM32 - "uWebServer" Miniaturowy sterownik ethernetowy STM32 - "uWebServer"

    Dodatkowo w systemie zaimplementowana została obsługa konsoli telnetu oraz funkcja klienta. Obydwie z tych opcji są uruchomione i przetestowane, jednak na chwilę obecną nie są wykorzystywane. Klient łączy się z darmowym serwerem "COSM" ("internet of things") i przesyła dane z czujnika temperatury - dzięki czemu można je udostępnić poza sieć lokalną, bez wykorzystywania zewnętrznego IP (którego nie posiadam). Konsola Telnet obsługuje podstawowe komendy z dema uIP - docelowo chciałbym dołożyć obsługę czasu NTP oraz wykorzystać Telnet jako konsolę "debug".

    Słów kilka o sprzęcie ...
    Miniaturowy sterownik ethernetowy STM32 - "uWebServer" Miniaturowy sterownik ethernetowy STM32 - "uWebServer"

    Całość umieszczona została na płytce dwustronnej o wymiarach 5x4cm. Jak już wspominałem wcześniej - sercem układu jest mikrokontroler STM32F103C8T6 taktowany częstotliwością 72MHz, oferujący 64kB pamięci flash oraz 20kB pamięci RAM. Nad pracą układu czuwa darmowy system operacyjny czasu rzeczywistego - FreeRTOS 7.0.1.W chwili obecnej wykorzystane jest ~50kB pamięci flash - dużą jej część stanowi system plików WebServera oraz około 15kB pamięci RAM. Oprogramowanie napisane zostało w języku C z wykorzystaniem darmowych narzędzi - Eclipse + CodeSourcery G++. Układ może być zasilany z portu USB lub poprzez dowolny zasilacz 5-9V poprzez gniazdo zasilania DC. Dalej znajduje się stabilizator 3.3V - SP6203. Napięcie filtrowane jest poprzez dwa kondensatory tantalowe 22uF/100nF oraz koralik ferrytowy. Stan zasilania sygnalizowany jest poprzez świecenie diody LED. Aplikacja układu ENC28J60 jest zgodna z zaleceniami producenta. Rezystor "BIAS" powstał z równoległego połączenia rezystorów 4.7k, co w wyniku dało ~3.35k. Początkowo miałem problemy z komunikacją Ethernet - winowajcą okazało się gniazdo niewiadomego pochodzenia. Zostało ono wymienione na HR911105A firmy Hanrun - tanie i łatwo dostępne na zagranicznych serwisach aukcyjnych. Komunikacja z układem ENC28J60 oparta została na zdarzeniach - przerwanie generowane przez układ w momencie otrzymania pakietu danych ustawia semafor, który powoduje wybudzenie wątku odpowiedzialnego za obsługę stosu TCP-IP. W celu debugowania pracy mikrokontrolera wykorzystany jest interfejs SWD dostępny na PCB. Po stronie bottom płytki znajduje się gniazdo karty uSD, na warstwie top natomiast - miejsce do wlutowania pamięci serial flash. Projekt zakłada wykorzystanie jednego z tych elementów - dzielą wspólne linie interfejsu SPI - włącznie z linią CS.

    Mam kilka kompletów elementów i PCB, więc jeśli ktoś byłby zainteresowany rozwojem projektu to zapraszam na PW ;)


    Fajne!
  • #2 07 Paź 2012 20:18
    mickpr
    Poziom 39  

    Szaflik napisał:
    Cała zawartość systemu plików przechowywana jest w pamięci flash mikrokontrolera.
    A nie lepiej byłoby wykorzystac w tym celu kartę SD - skoro już tam ją masz, albo chociaż SPI Flash?
    Szaflik napisał:
    Po stronie bottom płytki znajduje się gniazdo karty uSD, na warstwie top natomiast - miejsce do wlutowania pamięci serial flash. Projekt zakłada wykorzystanie jednego z tych elementów - dzielą wspólne linie interfejsu SPI - włącznie z linią CS.
    Poświęć jeden pin na tego dodatkowego CS'a.
    Wizualnie rozwiązanie (płytka oraz strona WWW) bardzo ładne.

    W pełni zgodzę się również, że do celów sterowania nie ma co pchać się w pełny 100MBit Ethernet.
    Gdybyś jeszcze podzielił się kodem :)

  • #3 07 Paź 2012 21:53
    Szaflik
    Poziom 20  

    mickpr napisał:
    Szaflik napisał:
    Cała zawartość systemu plików przechowywana jest w pamięci flash mikrokontrolera.
    A nie lepiej byłoby wykorzystać w tym celu kartę SD - skoro już tam ją masz, albo chociaż SPI Flash?


    Szaflik napisał:
    Docelowo chciał bym wykorzystać do tego celu kartę uSD z systemem plików


    mickpr napisał:
    Szaflik napisał:
    Po stronie bottom płytki znajduje się gniazdo karty uSD, na warstwie top natomiast - miejsce do wlutowania pamięci serial flash. Projekt zakłada wykorzystanie jednego z tych elementów - dzielą wspólne linie interfejsu SPI - włącznie z linią CS.
    Poświęć jeden pin na tego dodatkowego CS'a.


    Założeniem jest korzystanie z jednego nośnika na PCB na raz - wlutowane ma być albo złącze SD albo flash - nie ma po co mnożyć kosztów - fakt - można wykorzystać jeszcze jeden pin do tego celu.

  • #4 07 Paź 2012 22:54
    mickpr
    Poziom 39  

    Do czego oprócz zasilania służy port USB? Widzę, że jest podłączony w trybie USB device (dobrze zauważyłem)? Wgrywasz za jego pomocą wsad do MCU?
    Do tej pory korzystałem tylko z LPC-ków, miło ujrzeć inne rozwiązania.

  • #5 08 Paź 2012 19:25
    Szaflik
    Poziom 20  

    Tak - dobrze zauważyłeś - usb device jest na PCB - na razie służy tylko jako źródło zasilania. ;)

  • #6 08 Paź 2012 19:26
    Dariusz Goliński
    Poziom 22  

    Jak się programuje takiego procka ? SPI, PDI a może coś innego ?
    Czy sprawdzałeś jak wiele połączeń możesz dokonać zanim procek odmówi współpracy ?

  • #7 08 Paź 2012 19:28
    mickpr
    Poziom 39  

    Dariusz Goliński napisał:
    Jak się programuje takiego procka ? SPI, PDI a może coś innego ?
    Czy sprawdzałeś jak wiele połączeń możesz dokonać zanim procek odmówi współpracy ?

    Odpowiem za kolegę :)
    JTAG/SWD, wbudowany bootloader (RS232), lub inny bootloader (jak już go wgramy) - np. właśnie przez USB :)
    SPI/PDI to tylko w AVR-kach :)

  • #8 08 Paź 2012 19:56
    Szaflik
    Poziom 20  

    Odnośnie programowania to dokładnie jak kolega mickpr pisze. Odnośnie liczby połączeń - nie testowałem przy większej ilości niż z jednego PC (znacie jakiś sposób żeby zasymulować jakoś więcej połączeń z jednego PC ?). Stos uIP skonfigurowany jest w tej chwili dla 20 połączeń. Ilość tą można zwiększyć, spowoduje to jednak zużycie większej ilości pamięci RAM.

  • #9 08 Paź 2012 20:15
    mickpr
    Poziom 39  

    Dariusz Goliński napisał:
    Czy sprawdzałeś jak wiele połączeń możesz dokonać zanim procek odmówi współpracy ?
    Więcej połączeń - a po co?
    20 osób będzie chciało naraz wyłączyć 1 żarówkę?

    Co innego w przypadku strony internetowej na publicznym IP.
    ENC28J60 nie nadaje się do poważnych rozwiązań sieciowych, ale do prostego sterowania - nadaje się doskonale. I do tego kol. Szaflik zastosował bardzo dobre rozwiązanie.
    Zastosowanie do tego celu pełnoprawnego stosu uważałbym za "nadgorliwość", która wiadomo od czego jest gorsza...

  • #10 09 Paź 2012 10:02
    austin007
    Poziom 17  

    Powszechnie mówi się i sam Microchip zaleca kwarc zdecydowanie szybszy od 8MHz, wspominając że przy taktowaniu 8MHz mogą być problemy. U Ciebie widzę właśnie te 8MHz na schemacie.

    Druga rzecz to sprawa formalna. Rzeczywiście włożyłeś dużo pracy. Chylę czoła. Dział DIY to kompletne rozwiązania (schemat i przynajmniej wsad, jak nie kod źródłowy). W takiej postaci wygląda to jak reklama li tylko.

    Pozdrawiam
    L

  • #11 09 Paź 2012 10:04
    mickpr
    Poziom 39  

    austin007 napisał:
    Dział DIY to kompletne rozwiązania (schemat i przynajmniej wsad, jak nie kod źródłowy). W takiej postaci wygląda to jak reklama li tylko.

    Schemat kolega opublikował, zaś o źródła już prosiłem. Widocznie kolega nie chce ich udostępnić .

  • #12 09 Paź 2012 16:36
    tplewa
    Poziom 37  

    a ja tak z ciekawosci zapytam co ludzie takiego fajnego widza (poza cena) w ENC28J60 ?

    W sumie STM32 maja fajny MAC (lepszy od ENC28J60) i do tego dopiac PHY, ewentualnie sa ARM-y z wpudowanym MAC + PHY (TI)...

  • #13 09 Paź 2012 17:15
    Szaflik
    Poziom 20  

    austin007 napisał:
    Powszechnie mówi się i sam Microchip zaleca kwarc zdecydowanie szybszy od 8MHz, wspominając że przy taktowaniu 8MHz mogą być problemy. U Ciebie widzę właśnie te 8MHz na schemacie.

    Druga rzecz to sprawa formalna. Rzeczywiście włożyłeś dużo pracy. Chylę czoła. Dział DIY to kompletne rozwiązania (schemat i przynajmniej wsad, jak nie kod źródłowy). W takiej postaci wygląda to jak reklama li tylko.

    Pozdrawiam
    L


    Racja - miałem błąd w schemacie - zamienione wartości kwarców dla procesora i enc28j60 - już jest poprawione. Dodałem również skompilowany plik HEX projektu oraz kody źródłowe do obsługi enc28j60 pod systemem FreeRTOS. Zainteresowani będą mogli bez problemu stworzyć podobny projekt :)


    Cytat:
    a ja tak z ciekawosci zapytam co ludzie takiego fajnego widza (poza cena) w ENC28J60 ?

    W sumie STM32 maja fajny MAC (lepszy od ENC28J60) i do tego dopiac PHY, ewentualnie sa ARM-y z wpudowanym MAC + PHY (TI)...


    Jak dla mnie ten układ jest wystarczający do tego typu zastosowań. STM'y z MAC'iem są już duże - a więc większe PCB, dochodzi koszt PHY. Wszystko zależy od wykorzystania. Do enc jest również dużo dokumentacji i przykładów w sieci - dlatego mogą sobie z nim poradzić nawet początkujący.

  • #14 09 Paź 2012 21:09
    tplewa
    Poziom 37  

    Szaflik napisał:
    Wszystko zależy od wykorzystania.


    No ja biore pod uwage edukacyjno/poznawcze dlatego pomijam ekonomie ktora w hobby dosc czesto sie pomija (ot chinczyk zrobi taniej). A pytanie zadalem od tak bo widzialem projekty gdzie siedzi gnat z wbudowanym MAC, a uzyty jest ENC...

  • #15 10 Paź 2012 16:41
    arcyimperator
    Poziom 12  

    tplewa napisał:
    a ja tak z ciekawosci zapytam co ludzie takiego fajnego widza (poza cena) w ENC28J60 ?

    W sumie STM32 maja fajny MAC (lepszy od ENC28J60) i do tego dopiac PHY, ewentualnie sa ARM-y z wpudowanym MAC + PHY (TI)...


    To ja się podepnę:

    Czy zna ktoś jakieś przykładowe projekty(linki) z STM32 + Ethernet, nie wykorzystujące ENC?

  • #16 10 Paź 2012 16:56
    opamp
    Użytkownik obserwowany

    Cała książka "Mikrokontrolery STM32 w sieci Ethernet w przykładach" oparta na DP83848.
    Pozdrawiam Marcin!

  • #17 12 Paź 2012 18:45
    mrtip
    Poziom 13  

    arcyimperator napisał:

    Cytat:
    Czy zna ktoś jakieś przykładowe projekty(linki) z STM32 + Ethernet, nie wykorzystujące ENC?


    No jasne wierzcie mi, że najmniejszym rozwiązaniem ethernetowym jest LM3S6911 (w zasadzie cała rodzina LM3S69). Płytka z zaawansowanym stosem TCP/IP mieści się w pudełku zapałek.
    LM3S69xx posiada PHY wewnątrz, wystarczy tylko RJ45 z trafem i po sprawie.

    W uVision/KEIL jest calusieńki webserver, oczywiście przy wykupieniu licencji na RT Library.

    Z wszystkich Cortexów-M3 ten LM3S69xx jest najlepszy w sprawach mikro-ethernetowych.
    Nie mam wiedzy poza rodziną NXP, STM, TI więc jeśli ktoś zna jakieś inne to proszę o korekcję mojego postu.

    Pozdrawiam Darek

  • #18 13 Paź 2012 13:44
    tplewa
    Poziom 37  

    @mrtip

    Ja jedynie moge potwierdzic to co napisales i o czym tez wczesniej wspomnalem (gnaty TI). Jesli chodzi o uklady z MAC + PHY o najprostszej aplikacji i sporych mozliwosciach to wlasnie zostaje chyba TI i wspomniane przez ciebie gnaty. Jak dla mnie takie rozwiazania to lepsza droga niz dos mocno ograniczone uklad podpinane na SPI itp.

    Przy LM3S6911 mozna jedynie przyczepic sie ceny ;) i braku USB. Ale realnie myslac to mamy mniejsze i prostsze PCB (oszczednos kasy na PCB), brak kosztow dodatkowego PHY lub dedykowanego gnata z MAC+PHY, a USB gdy idziemy w zastosowania Ethernet nie jest krytyczne...

    Ale tez jestem ciekawy jak ktos ma jakies inne pomysly na realizacje takich funkcji z pominieciem gnatow na wzor ENC28J60...

  • #19 13 Paź 2012 16:33
    mickpr
    Poziom 39  

    tplewa napisał:
    gnaty
    Chyba chip-y. Bardzo mnie razi słowo "gnaty". To taka nowomowa?
    tplewa napisał:
    Jak dla mnie takie rozwiazania to lepsza droga niz dos mocno ograniczone uklad podpinane na SPI itp.
    Widocznie projektanci robią dla każdego coś miłego. Niektórym wystarczy SPI i mały ARM/AVR/PIC/xxx do wykonania urządzenia. Inni (jak ty) potrzebują wysokiej klasy stosu TCP/IP - który często jest niewykorzystany nawet w 10%.
    tplewa napisał:
    Przy LM3S6911 mozna jedynie przyczepic sie ceny :wink: i braku USB.
    Z tym się zgodzę w 100%.
    tplewa napisał:
    Ale realnie myslac to mamy mniejsze i prostsze PCB (oszczednos kasy na PCB)
    ...chyba żartujesz ....
    tplewa napisał:
    Ale tez jestem ciekawy jak ktos ma jakies inne pomysly na realizacje takich funkcji z pominieciem gnatow na wzor ENC28J60...
    FPGA - wszystko wstawiasz w 1 chip (dokładasz PHY, pamięć konfiguracyjną + co tam jeszcze chcesz) , zaś całą logikę (nawet analogową - patrz chipy np. Actela) oraz CPU/MCU zapewnia ci 1 chip.

  • #20 13 Paź 2012 19:00
    tplewa
    Poziom 37  

    @mickpr


    "Gnaty" - nie wiem czy nowomowa. ;) Używam tego słowa z 20 lat. ;) Jakoś tak z przyzwyczajenia i raczej od tego się już nie odzwyczaję po takim czasie. :)

    Co do prostego webservera, to owszem, wystarcza, ale jak chcemy coś więcej, to niestety lepszy stos jest przydatny. Prawdę mówiąc, owszem, wystarcza, bo robiłem takie sprawy i na 51-kach. :) Tylko pytanie, czy koniecznie muszę dalej trzymać się rożnych wersji 8051 czy 8-bitowych AVR-ow lub PIC-ow. Obecnie jak używam ARM-a, to zazwyczaj potrzebuję więcej :) Bo pierdoły robię sobie na PIC i AVR. :)
    Ale jak to mówię - wszystko kwestia podejścia, takie rozwiązanie można też choćby robić w celach poznawczych, by być obytym z czymś więcej. :) Za jakiś czas zawsze może się przydać. :)

    FPGA natomiast pomijam (choć też bawiłem się w coś takiego gdzieś około 2008r., ale to raczej w celach poznawczych) :) Chodzi raczej o rozwiązania procek z rdzeniem ARM + MAC + PHY lub warianty procek z MAC i jakie PHY (aby było w miarę rozsądnie cenowo) :) Też jak kolega mrtip, jeśli chodzi o rozwiązania z wbudowanym MAC + PHY przychodzą na myśl tylko rozwiązania TI, pomijam tutaj oczywiście rożne rozwiązania, które są dostępne, ale nie dla hobbysty (Realtek, Broadcom, itd.). Ot wymagany zakup ogromnych ilości i podpisanie NDA, aby dostać dokumentację :)

    Natomiast co do PCB, to dlaczego mam żartować :) Czasami coś takiego się kalkuluje, jak masz zrobić więcej niż 1-2 szt. :) Nie wspominając o tym, jak masz na płytce jeszcze jakieś BGA i przez to 4 i więcej warstw :) (a coraz trudniej od tego obecnie uciec, bo nie dostaniesz niektórych "gnatów" w innych obudowach niż BGA).

  • #21 13 Paź 2012 19:41
    mickpr
    Poziom 39  

    tplewa napisał:
    chodzi raczej o rozwiazania procek z rdzeniem ARM + MAC + PHY, lub warianty procek z MAC i jakie PHY (aby bylo wmiare rozsadnie cenowo)
    Każdy ARM + PHY to w gruncie rzeczy takie same rozwiązanie.
    Nie ważne, czy to STM32, Kinetix, EFM32, LPC czy inny.
    Mógłbym podać moje: LPC1758 + KSZ8031RNL (PHY), tylko po co?
    Albo jeszcze inne : AVR+ENC28J60.
    Jeszcze inne : PIC18F67J60 (wbudowany PHY).

    Co dalszej wypowiedzi (szczególnie tych "gnatów") to pozostanę (pozwolisz) przy swoim zdaniu.
    Ostatnio z moderatorem Jankolo mieliśmy "mocną" rozmowę o poprawności w pisaniu z użyciem języka polskiego.
    Sam nie jestem purystą językowym i czasem popełniam błędy, ale staram się nie robić tego celowo.
    Czasem boli to, że syn mówi "spoks", "facio", "git", "lamer" używając młodzieżowej gwary - nie dlatego, że nie rozumiem co mówi, bo rozumiem.
    Boli mnie dlatego, że w końcu chodzi do szkoły i uczy się tam języka polskiego.
    Czy te lekcje idą jak para - "w gwizdek"? Jesteśmy polakami - mówmy po polsku.

  • #22 13 Paź 2012 20:16
    tplewa
    Poziom 37  

    @mickp


    Wiesz co do slow ktore wymieniles to tego nie uzywam bo jestem na to za stary :), a co do "gnatow" to musial bym tez upomniec mojego ulubionego docenta z Politechniki Wroclawskiej - ktory tez uzywa tego okreslenia :) Dodam ze na szczescie moja corka takich okreslen nie uzywa :)

    Natomiast co do Jezyka Polskiego to tez nie jestem orlem i raczej dopóki nie sa to zbyt razace bledy, nie zwracam na nie uwagi. Prawde mowiac dlatego poszedlem w kierunku technicznym bo niestety przedmioty humanistyczne byly zawsze dla mnie meczarnia i przykra koniecznoscia do zaliczenia. A jak juz wspomniales o obecnym poziomie edukacji w PL to nawet nie chce mi sie wypowiadac, bo jest to po prostu przykre. Jak widac krotkie trzymanie "za morde" uczniow za moich czasow wyszlo wielu na dobre i nie bylo czegos takiego co sie obecnie widuje. Bandyctwo bylo owszem, ale byl to niewielki margines...


    Natomiast co do rozwiazan i takiego podejscia to w sumie po co robic tyle ukladow scalonych jak sa one takie same i po co o tym dyskutowac, w sumie nie ma sensu :)

    Dobra na tym chyba koncze, bo niepotrzebnie z tematu o ARM-ach i Ethernecie odeszlismy na tematy szkoly, slownictwa itd.

  • #23 13 Paź 2012 21:05
    mgiro
    Poziom 22  

    Szaflik, a wykorzystując ENC28J60 można oprócz sterowania portami zrobić switch? Aby działało to w tym samym czasie?

  • #24 15 Paź 2012 17:30
    Szaflik
    Poziom 20  

    Co masz dokładnie na myśli pod pojęciem "switch" ? Standardowe urządzenie sieciowe z wieloma portami ? Rozwiń nieco myśl ;)

  • #25 15 Paź 2012 23:37
    max7532
    Poziom 10  

    Witam, czy mógłbyś mi powiedzieć ile zajęło Ci to wszystko czasu. Z tego co widzę to kawał dobrej roboty zrobiłeś ;)

  • #26 15 Paź 2012 23:47
    mickpr
    Poziom 39  

    Szaflik napisał:
    Początkowo miałem problemy z komunikacją Ethernet - winowajcą okazało się gniazdo niewiadomego pochodzenia. Zostało ono wymienione na HR911105A firmy Hanrun - tanie i łatwo dostępne na zagranicznych serwisach aukcyjnych.

    Właśnie panowie. Może ktoś mi wytłumaczy - w jaki sposób dobrać gniazdo do hipotetycznego swojego PHY. To, że uzwojenia muszą się trzymać tego z datasheet'a PHY (łącznie z początkiem zaznaczanym kropką) wystarczy - czy nie? Mówię oczywiście o prędkościach 10/100Mbit. Pytam, bo mam sporo różnych gniazd i zamiast je wykorzystywać błądzę w ciemnościach kupując nowe (te, które wiem, ze zadziałaj).

  • #27 16 Paź 2012 09:56
    tplewa
    Poziom 37  

    Powinny dzialac :) Ja uzywalem trafa i gniazda wylutowane z starszych kart sieciowych i dzialalo. Ale jakis wiekszych testow nie robilem pod katem pojawiania sie bledow w transmisji itp.

  • #28 16 Paź 2012 21:56
    Szaflik
    Poziom 20  

    max7532 Ogólnie projekt długo "przeleżał" w szufladzie. Soft pisałem wieczorami "od czasu do czasu" po pracy bez większej presji, więc trwało to kilka tygodni po kawałku :)

    Odnośnie trafa - uzwojenia muszą się zgadzać pod kątem ilości uzwojeń, kierunków (początki - końce), kolejności - Common Mode filter / trafo. Trochę tych parametrów jest ;) Aczkolwiek często można coś dopasować ze szrotu ;)

    tplewa napisał:
    Ale tez jestem ciekawy jak ktos ma jakies inne pomysly na realizacje takich funkcji z pominieciem gnatow na wzor ENC28J60...

    Są jeszcze dość zapominane układy Wiznet W5100 / W5200 i tym podobne.

  • #29 16 Paź 2012 22:46
    mickpr
    Poziom 39  

    Szaflik napisał:
    Odnośnie trafa - uzwojenia muszą się zgadzać pod kątem ilości uzwojeń, kierunków (początki - końce), kolejności - Common Mode filter / trafo. Trochę tych parametrów jest :wink: Aczkolwiek często można coś dopasować ze szrotu :wink:

    A mógłbyś mnie skierować do jakiegoś źródła, gdzie o tym jest napisane?
    Albo wytłumaczyć dokładniej - z pewnością taka wiedza przyda się nie tylko mnie :)

  • #30 17 Paź 2012 22:45
    Szaflik
    Poziom 20  

    Niestety źródła które opisywało by uniwersalne rozwiązanie jako takiego nie znam - najlepiej wzorować się na dokumentacji producenta konkretnego układu PHY i szukać czegoś "podobnego" do zalecanego ;)

    W załączniku plik HEX z poprawkami z ostatnich dni. W najbliższych dniach (jutro?) dołożę obsługę konsoli telnetu i m.in ustawiania IP z jej poziomu.