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



Teraz jest 30 mar 2026, o 19:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 23 wrz 2015, o 09:00 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 18
Lokalizacja: Mazowieckie
Pomógł: 0

Witam :)
Piszę Datalogger z wykorzystaniem FatFS. Z czasem zaczęło brakować pamięci Flash, więc zmieniłem kontroler z Atmegi32 na Atmege644PA. Niestety na nowym kontrolerze nie działa to poprawnie o czym pisałem tutaj http://forum.atnel.pl/topic2972.html#p140391.

Siedzie nad tym od kilku dni bez efektu. Przewałkowałem datasheet'a, forum atnel, elektrode, avrfreaks. Przypuszczam, że w nowym kontrolerze trzeba coś włączyć lub wyłączyć.

Wszystko kręci się wokół pytania: czym zastąpić Atmege32 na coś o większej ilości Flash'a ?

Sprawdziłem chyba wszytko, łącznie z aktualizacją bibliotek do FatFs ze strony elm-chan.org - bez efektu.

Każdy pomysł sie liczy.
Pozdrawiam ;)

_________________
;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 wrz 2015, o 12:00 
Offline
Moderator
Avatar użytkownika

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

kevin27 napisał(a):
Przypuszczam, że w nowym kontrolerze trzeba coś włączyć lub wyłączyć.

Ale to nie jest kwestia przypuszczeń, domysłów czy wróżenia z fusów (nie mylić z fusebitami) ;)

Panie kochany - no weź że pan notę PDF procka m644 i m32 i sobacz, że są różnice w ustawieniach nazw niektórych rejestrów i ich bitów szczególnie jeśli chodzi o timery czy przerwania ... Tak się do tego podchodzi a nie na zasadzie że przypuszczam

A teraz uważaj - w SAMYCH bibliotekach nie trzeba NIC A NIC zmieniać bo one są kompletnie oderwane od sprzętu i to jest ich ogromna zaleta, poza oczywiście jednym plikiem który łączy bibliotekę ze sprzętem gdzie trzeba ustawić sobie piny SPI itp ....

Kurczaki no w podpisie widać, że masz książkę Bluebooka i nawet do niej nie zajrzałeś w tej sprawie ? A wszystko tam (nie zawaham się użyć tego słowa) pięknie tłumaczę zarówno dla PetitFS jak i FatFS

Ty za to pewnie borykasz się z kompletnie innym problemem - bo masz przykładowy program którego nie możesz uruchomić, program który korzysta z tych bibliotek i popełniasz TYPOWY BŁĄD początkującego .... bo wydaje ci się że w bibliotece FatFS coś musisz zmieniać ....

Owszem musisz pozmieniać ale TYLKO w tym przykładowym programie, który przecież np korzysta zdaje się z timerów itp

Tyle że sorki bez sensu żebym teraz tu znowu opisywał to co zrobiłem już w 2010 roku gdy pisałem Bluebooka i nadal jest to aktualne dla tych bibliotek

_________________
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  
PostNapisane: 23 wrz 2015, o 12:42 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 18
Lokalizacja: Mazowieckie
Pomógł: 0

Dziękuje Panie Mirku za wyczerpującą odpowiedź, ale nieświadomie wprowadziłem Pana w błąd ;)
na samym dole strony z linku umieściłem moja odpowiedź, której nie chciałem kopiować tutaj :

"Uruchomiłem FAT FS na zestawie ATB + atmega32 + 11,059 MHz+ karta 2 GB klasy 2 - działa świetnie, ale z czasem zaczęło brakować pamięci Flash. Przesiadłem sie na Atmege644PA, poprawiłem rejestry dla Timera2 i obsługi przerwania z RTC.

Program wgrałem, RTC - działa, przerwanie z INT - również. Krata SD sie inicjalizacje, montuje, ale nie tworzy nowego pliku i nic nie zapisuje. Obsługa błędów zwraca "FR_DISK_ERR, (1) A hard error occured in the low level disk I/O layer"
Dioda LED przy SD miga 3 razy na sekundę (zasilanie SD zwarte niebieską zworką do GND).

Porównałem rejestry SPI ATmegi644 z ATmegi32 - są identyczne. Zmieniłem Timer2 na Timer0 - bez rezultatu. Wyłączyłem JTAG, i CKDIV/8 we FuseBit'ach. Połączenia na zestawie ATB są prawidłowe, ponieważ zmieniając Atmege 644 na Atmege 32 program działa poprawnie. Wgrywając ten sam program z ATmegi644 na 32 (przy zmienię rejestrów Timera2 i obsługi przerwania) również jest OK.

Zastanawia mnie tryb USART in SPI mode z danych katalogowych, oraz dzielenie wyprowadzeń kontrolera SPI z Timerem0 i przerwaniami zewnętrznymi (np. dla wyprowadzenia PB4 jest PCINT12 / OCB0/ SS). Niestety moja wiedza jeszcze nie ogarnia tak rozbudowanego kontrolera. "

Oczywiście zrobiłem wszystko o czym Pan pisał i trochę więcej. Efekt jest taki, ze karta sie inicjalizacje, montuje, ale podczas próby zapisu na SD obsługa błędów zwraca błąd. Jedyną zmienną jest kontroler stąd moje przypuszczenia, że w Atmedze644 trzeba coś jeszcze zmienić....

Jeśli ktoś podrzuci pomysł co jescze sprawdzić to będę wdzięczny :)

Pozdrawiam

_________________
;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 wrz 2015, o 15:00 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

Nie jest tak do końca panie kolego
Atmega32 to juz leciwa staruszka ... następcą jest udoskonalona ATmega 324 , która jest wymienna bezpośrednio
przez ATmegę 644 i 1284 -- oczywiście kody po niewielkich przeróbkach z Atmegi32 działają bez problemów na 324, 644 i 1284
różnice są dostępne w notach i w dokumencie Software migration m32 to m324 ... powinien być na stronie atmela dostępny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 wrz 2015, o 11:12 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 18
Lokalizacja: Mazowieckie
Pomógł: 0

Dziękuje za odpowiedź :)

Warto wiedzieć, że istnieje taki dokument, pod adresem http://www.atmel.com/Images/doc8001.pdf ale w tym przypadku nie wniósł on nic nowego. Rejestry, które różnią M32 od M664 zmieniłem wcześniej (inaczej Eclipse nie pozwoliłby mi wgrać wsadu na kontroler). Dla spokoju własnego sumienia w nowym programie sprawdziłem działanie Timera 2 i przerwania INT0, których rejestry zmieniają sie - oczywiście działają poprawnie. Oznaczenie mojego kontrolera to Atmega 644 PA PU, Eclipse wygrywa go jako Atmega 644 P - jest możliwośc zmiany na "PA" - bez rezultatu.

Zupełnie skończyły mi sie pomysły. Ewidentnie problem leży po stronie Atmegi 644 (i mojej niewiedzy :? )

W dalszym ciągu problem jest ten sam: karta SD sie montuje, inicjalizacje, ale po próbie utworzenia nowego pliku i zapisu danych, obsługa błędów zwraca błąd : "A hard error occured in the low level disk I/O layer" lub "The physical drive cannot work". Po wymianie kontrolera w zestawie ATB na Atmege 32, wszystko działa.

Identycznie działa z kodem "Test15 Fat-Fs z Blue book'a":
    inicjalizacja karty -OK
    inicjalizacja dysku logicznego - OK
    informacje o statusie dysku logicznego - rc=1, Disk error.

Zastanawiam sie nad ponowną zmianą kontrolera....
Czy zasilanie ATB z programatora (USBISP) może negatywnie wpływać na komunikacje SPI, AVR <-> SD ?
Jeśli macie jakieś pomysły to czekam na komentarze :)

Pozdrawiam

---------------------------------------------------------------------------

Problem rozwiązany, informacja dla potomnych:
Zestaw ATB zasilałem z programatora USBISP. Po odłączeniu programatora i dołączeniu zewnętrznego zasilania FAT-FS wystartował. :D

_________________
;-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 wrz 2015, o 11:02 
Offline
Moderator
Avatar użytkownika

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

kevin27 napisał(a):
Czy zasilanie ATB z programatora (USBISP) może negatywnie wpływać na komunikacje SPI, AVR <-> SD ?

Pewnie, że może (nie musi ale może) .... a jeszcze jak to jest chiński USBISP to już w ogóle mogą być dziwolągi na liniach ISP (SPI) w tym wypadku

Odłącz sobie programator od złącza KANDA i podaj zasilanie przez gniazdo USB do zestawu i sprawdź

_________________
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: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO