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

[stm32][zl26arm][TRUEstudio] Inicjalizacja ethernetu

kriss68 11 Wrz 2011 20:01 2472 5
  • #1 11 Wrz 2011 20:01
    kriss68
    Poziom 20  

    Próbuję uruchomić interfejs ethernet zawarty na płytce zl26arm (schemat układu - http://www.kamami.pl/dl/zl26arm.pdf) Na standardowo wgranym sofcie do płytki po podłączeniu skrętki dioda link zaczynała świecić, dioda speed cały czas świeciła symbolizując prędkość 100M. Inicjalizując interfejs zgodnie z różnymi przykładami nie udało mi się uzyskać jakiejkolwiek reakcji na wpięcie kabla - interfejs w ogóle nie rusza jedynie dioda speed świeci cały czas. Kod programu:

    Main:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    CLK_Configuration:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Oraz funkcja GPIO_Configuration skopiowana na żywca z jakiegoś przykładu, jedynie dostosowana do RMII:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Jeśli ktoś byłby mi wstanie pomóc to nie ukrywam, że zaoszczędził by mi kilka nieprzespanych nocy :) Bo po tylu niepowodzeniach już pomału tracę nadzieję :cry: Zmienna Value po wywołaniu ETH_Init ma wartość 0 - teoretycznie wszystko ok.

    0 5
  • CControls
  • #2 12 Lip 2013 13:39
    djmdp
    Poziom 16  

    Witam, troszkę odgrzewany kotlet, ale mam identyczny zestaw jak Ty, uruchamiam go pod FreeRTOS'em, ale niestety bez efektu, system operacyjny działa dobrze, robiłem na nim różne inne rzeczy, jako przykład zastosowałem jeden z biblioteki FreeRTOS -> CORTEX_STM32F107_GCC_Rowley z katalogu FreeRTOS DEMO, jest on napisany pod płytkę STM3210C z ST, kod mi się pięknie kompiluje, dołożyłem mrugające diodą zadanie, które oczywiście działa, natomiast po walce z ethernetem, nici. Kod jest napisany na MII, natomiast z tego co wyczaiłem na płytce jest pseudo RMII, już sam nie wiem, brakuje zegara do PHY, więc zastosowałem taką operację:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Po tej operacji kontrolka żółta od ethernetu zmienia stan co jakieś 5 sekund nie wiem dlaczego, ale ethernet nadal nie żyje, chciałbym się upewnić czy ta płytka NA PEWNO nie zadziała w MII oraz czy NA PEWNO zadziała z RMII ?? [/code]

    0
  • CControls
  • #3 13 Lip 2013 09:03
    kriss68
    Poziom 20  

    W końcu udało mi się to ruszyć ale operując bezpośrednio na rejestrach. U mnie głównym problemem był adres phy do którego wysyłałem komendy. Interfejs to RMII, zegar do phy leci z MCO :)

    0
  • #4 15 Lip 2013 08:54
    djmdp
    Poziom 16  

    Właśnie doszedłem, że to RMII, wykryłem też, że mam źle ustawiony zegar MCO i PHY zwyczajnie nie odpowiada, stąd ciągłe jego restarty, dzisiaj się tym zabawie, przy ustawianiu RMII wystarczy zmienić ten bit od MII/RMII w rejestrze AFIO->MAPR? Czy jeszcze jakieś operacje wykonać?

    0
  • #5 16 Lip 2013 11:48
    djmdp
    Poziom 16  

    uruchomiłem ten zestaw, dla potomnych -> Jest to 100% RMII, mimo, że nigdzie nie jest to oficjalnie napisane, sprzęt wymaga zegara MCO z pętli PLL3 50MHz dla układu PHY, działa w 100%.

    0
  • #6 26 Paź 2014 16:14
    Wrobless
    Poziom 7  

    Mam podobny problem z tą płytką. Na początek chciałem sprawdzić działanie programu przykładowego i zgodnie z instrukcją z kamami wgrałem sobie plik STM3210C-EVAL.hex. Podłączyłem ZL'a skrosowaną skrętką do laptopa i zgodnie z instrukcją po wpisaniu w przeglądarce adresu 10.1.3.133 powinna mi się pokazać jakaś strona przykładowa. Niestety nic takiego się nie dzieje. Na gnieździe ethernet obie diody świecą. Wiecie może dlaczego to nie działa tak jak oni piszą?

    0