Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 sty 2025, o 22:11


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 7 lip 2014, o 16:28 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Bawię się teraz ze strukturami do przechowywania ustawień w pamięci eeprom i flash.
Z związku z tym potrzebuję instrukcji do zdalnego, software'owego resetowania ATMegi po wgraniu nowych ustawień.
Stosuję standardową sztuczkę - ustawienie krótkiego watchdoga i włączenie nieskończonej pętli.
Układ najwyraźniej się resetuje, ale ENC28J60 po takim zabiegu nie chce normalnie działać - dioda połaczenia (która normalnie powinna świecić cały czas) miga bardzo szybko, układ nie odpowiada na pakiety UDP. Muszę dopiero ręcznie odłączyć zasilanie, wtedy wszystko wraca do normy.

Byłem ciekaw co się stanie, jeśli dam instrukcję opóźniającą na początku programu w przypadku wykrycia resetu przez WD, jeszcze przed instrukcjami inicjującymi ENC28J60.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Miganie zniknęło, ale urządzenie ciągle nie odpowiada na pakiety.

Jakiś pomysł co może być nie tak? W jaki sposób poprawnie zainicjować pracę ENC po resecie? W końcu ewentualny zwykły reset przez watchdoga w identyczny sposób zablokuje mi urządzenie, a to nie o to przecież chodzi...

Próbowałem także wykonać reset ENC28J60 w przypadku wykrycia restartu przez watchdoga. Wykonywałem zarówno reset przez podanie niskiego stanu na odpowiedni pin ENC28J60, jak również przez SPI.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Co najdziwniejsze, powyższe instrukcje na początku programu sprawiają, że urządzenie nie odpowiada na pakiety. Nigdy nie odpowiada, nawet po normalnym włączeniu do zasilania, a nie restarcie przez watchdoga...

UPDATE: okazuje się, że tak samo zachowuje się inny egzemplarz tego samego urządzenia, jak również płytka prototypowa z ENC28J60 i ATmegą 328. Jest więc mało prawdopodobne, by winę ponosił błąd sprzętowy. Gdzieś w bibliotece musi był błąd... :/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lip 2014, o 08:02 
Offline
Użytkownik

Dołączył(a): 30 sty 2013
Posty: 31
Zbananowany użytkownik

Pomógł: 0

Masz podłączony PIN RESET ENC do AVR ?
Reset wykonałbym tak jak Ty ,za pomocą watchdog'a a na początku programu po uruchomieniu resetował ENC pinem



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2014, o 12:08 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Już znalazłem przyczynę takiego zachowania układu. Okazało się, że winnym nie był ENC28J60, ale watchdog Atmegi. W życiu by mi do głowy nie przyszło, że:
1) Po resecie watchdog jest ciągle aktywny.
2) Żeby go wyłączyć na czas inicjalizacji nie wystarczy po prostu ustawić odpowiednią konfigurację, ale trzeba też wyczyścić flagę wystąpienia resetu.

Po dokonaniu powyższych zmian wszystko zaczęło działać. Układ po prostu wpadał w pętlę nieskończonego resetu - stąd to migotanie diody.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2014, o 13:39 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27352
Lokalizacja: Szczecin
Pomógł: 1042

Atlantis napisał(a):
Atmegi. W życiu by mi do głowy nie przyszło, że:
1) Po resecie watchdog jest ciągle aktywny.


A wystarczyło zajrzeć do noty PDF ... wtedy nie musiałoby samo przychodzić do głowy ... w nocie jest to wyraźnie napisane ...

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO