ATNEL tech-forum https://forum.atnel.pl/ |
|
STM32F103 + ENC28J60 (ATB ETH 2.0) -> złe odczyty rejestrów https://forum.atnel.pl/topic23532.html |
Strona 1 z 1 |
Autor: | amilo_pa [ 10 sty 2021, o 14:56 ] |
Tytuł: | STM32F103 + ENC28J60 (ATB ETH 2.0) -> złe odczyty rejestrów |
Hej, Mam połączonego procka STM32F103C8 z modułem ENC28J60 (ATB ETH 2.0). Napisałem krótki i prościutki program w celu sprawdzenia czy procek dogaduje się z modułem: Konfiguracja SPI: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Taktowanie ustawione jest wprost z HSE 8MHz, CPOL i CPHA ustawione na 0. Kod odczytujący rejestr ERDPTL (adres 0x08 Bank 0): język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Wg noty katalogowej modułu ENC28J60 rejestr ten zawiera wartość równą 1111 1010 (0xFA): Natomiast ja dostaję wartości 0x00, 0xFF, 0x80 Ale żeby nie było za nudno mam też analizator stanów logicznych i dla ustawień CPOL i CPHA = 0 wyskakuje mi komunikat, że stan bezczynności (idle state) dla sygnału CLK jest niezgodny z ustawieniami: Natomiast dopiero po zmianie CPOL na 1 mogę podglądnąć wartości wysyłane na magistrali SPI (co jest niezgodne z moją konfiguracją SPI - patrz wyżej) : Może macie jakiś pomysł dlaczego tak się dzieje? Dlaczego w analizatorze muszę mieć inne ustawienia względem tego co mam kodzie ? Dlaczego mogę dostawać inne wartości niż 0xFA? Może moduł ENC28J60 jest uszkodzony? Może coś mam źle napisane w kodzie ? Może źle rozumiem datasheeta, chociaż tutaj znalazłem filmik potwierdzający moje rozumowanie https://www.youtube.com/watch?v=9Wac0tJUMsE&ab_channel=MutexEmbedded-Education - patrz od 3:00) Wszelkie pomysły/rady/uwagi mile widziane |
Autor: | fofex [ 10 sty 2021, o 16:27 ] |
Tytuł: | Re: STM32F103 + ENC28J60 (ATB ETH 2.0) -> złe odczyty rejest |
amilo_pa napisał(a): Dlaczego w analizatorze muszę mieć inne ustawienia względem tego co mam kodzie ? Podejrzane te przebiegi. Gdy enable jest low to clock jest high. Przy tej konfiguracji tak nie może być więc analizator się wywala. W kodzie ściągnij clock w dół PRZED ściągnięciem cs, albo ustaw sprzętowe sterowanie NSS. Dla samego odczytu w analizatorze byc może wystarczyło by dać trigger na clock. Dalej w prawo nie jest lepiej: na linii miso są jakieś impulsy mimo braku zegara i linii cs low. |
Autor: | Zealota [ 10 sty 2021, o 22:45 ] |
Tytuł: | Re: STM32F103 + ENC28J60 (ATB ETH 2.0) -> złe odczyty rejest |
amilo_pa napisał(a): Tylko dlaczego po zakończeniu transmisji uP nie podnosi linii CS i CLK? Bo ten typ niestety tak ma. Wersje F3 i F0 mają juz "toglowanie" sprzętowe linii CS, czego zabrakło w F4 i F1. Problem ten był opisany w poradniku Szczywronka, zachęcam zapoznać się z tym dokumentem. |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |