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.

[STM32F107VB][C/uVision4] Ethernet na stm32 - first steps

<Przemek> 07 Cze 2010 13:11 4621 5
  • #1 07 Cze 2010 13:11
    <Przemek>
    Poziom 10  

    Witam,
    próbuje uruchomić ethernet na procesorze STM32F107VB + zl2eth (STE100P).
    Czy ktoś ma już jakieś doświadczenia w tym temacie?
    Interesuje mnie prosta komunikacja terminalową lub prosty serwer http.
    Proszę o poradę z jakich bibliotek skorzystać.

    Jak na razie zaopatrzyłem sie w pliki:
    stm32_eth.c i stm32_eth.h
    autorstwa: MCD Application Team
    COPYRIGHT 2009 STMicroelectronics

    Jeśli komuś udało się juz z nich skorzystać, i byłby skłonny podzielić się swoimi obserwacjami, doświadczeniami oraz przemyśleniami będę wdzięczny.

    Pozdrawiam Przemek

    0 5
  • Pomocny post
    #2 11 Cze 2010 11:54
    pawel_rad
    Poziom 11  

    The very first step jest modyfikacja pliku stm32_eth.h, plik ten zawiera definicje adresu rejestru statusowego zastosowanego PHY, oraz definicje masek bitowych zawierających informacje na temat położenie bitów prędkość oraz duplexu w tymże rejestrze. W przypadku ste100p jest to rejestr “XCVR Configuration Information and Interrupt Status Register” o adresie 17. I tak w pliku stm32_eth.h odszukaj i wstaw:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Co do masek bitowych, to mają one wyglądać tak:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    i tu mała uwaga w pliku stm32_eth.h są zawarte definicje dla DP83848, w którym ustawiony bit w masce PHY_Speed_Status informuje o prędkości 10Mbps, a w ste100p ustawiony bit wskazuje prędkość 100Mbps. W związku z tym w pliku stm32_eth.c warunek if odpowiedzialny za konfiguracje prędkości ma wyglądać następująco:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Co do samego modułu zl2eth, miałem problem z diodą (zielona) która powinna sobie mrugać w czasie nadawania/odbierania danych, pomogła zmiana rezystora R13 który miał wartość 100R na rezystor o wartości 1k (zgodnie z nota katalogową).

    Podłącz również pin numer 12 w złączu JP2 (TXD4_TXER) do masy.
    Adres PHY to 0x01.

    To powinno wystarczyć na początek, co do prostej komunikacji terminalowej lub prostego serwer http nic Ci nie doradze, jak narzazie jestem na etapie zwieńczonego sukcesem zpingowania płytki :D na więcej niestety nie mam czasu (koniec semestru/sesja).

    2
  • #4 29 Cze 2010 13:56
    <Przemek>
    Poziom 10  

    Udało mi sie uruchomić przykładowy serwer http, udostępniony przez ST.

    W przypadku wykorzystania układu: ste100p
    Należy wprowadzić wszelkie modyfikacje opisane przez Pawła.
    (@Paweł: wielkie dzięki..:) )

    Pozdrawiam i życzę powodzenia wszystkim, którzy w przyszłości będą zmagać sie z podobnym problemem..

    0
  • #5 08 Sie 2010 17:21
    mario06
    Poziom 15  

    Staram się zmusić do działania ethernet na STM32F107VC z PHY DP83848 problem w tym, że nie odbieram żadnych pakietów po stronie komputera. Diody ładnie reagują na połączenie próby pingowania, nawet jest połączenie i zmieniając ustawienia programu mikrokontrolera parametry połączenia też się zmieniają ładnie. Płytka własna z liniami danych zgodnie z motylem, zegar 25MHz. Jakieś pomysły co może być problemem, program jest standardowy z STM TechDays z odpowiednio zmienioną inicjalizacją zegara.
    Problem nieaktualny.

    0
  • #6 22 Mar 2011 08:16
    <Przemek>
    Poziom 10  

    Podsumowanie:
    Udało mi się uruchomić przykładowy serwer http, udostępniony przez ST.

    W przypadku wykorzystania układu: ste100p
    Należy koniecznie wprowadzić wszelkie modyfikacje opisane przez Pawła (pawel_rad) i postępować według jego instrukcji.

    (@Paweł: wielkie dzięki..Smile )

    Pozdrawiam i życzę powodzenia wszystkim, którzy w przyszłości będą zmagać się z podobnym problemem..

    0