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:
Składnia: [ Pobierz ] [ Ukryj ]
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):
Składnia: [ Pobierz ] [ Ukryj ]
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):
Obrazek

Natomiast ja dostaję wartości 0x00, 0xFF, 0x80
Obrazek

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:
Obrazek


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) :
Obrazek

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:  amilo_pa [ 10 sty 2021, o 21:56 ]
Tytuł:  Re: STM32F103 + ENC28J60 (ATB ETH 2.0) -> złe odczyty rejest

fofex napisał(a):
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.


Faktycznie miałeś rację. Ustawiłem sprzętową obsługę CS i analizator nie zgłasza błędów.
Obrazek

Tylko dlaczego po zakończeniu transmisji uP nie podnosi linii CS i CLK?
I jest możliwe żeby ENC28J60 wysyłał sygnały do uP po zakończeniu transmisji przez mój króciutki program:
Obrazek

No i dalszym ciągu układ zwraca 0xFF lub 0x80. Może ma ktoś pomysł dlaczego ? Może być on uszkodzony ?

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.

Autor:  amilo_pa [ 10 sty 2021, o 23:13 ]
Tytuł:  Re: STM32F103 + ENC28J60 (ATB ETH 2.0) -> złe odczyty rejest

Zealota napisał(a):
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.



Faktycznie masz rację.
Obrazek

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/