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



Teraz jest 21 kwi 2026, o 05:14


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
Autor Wiadomość
PostNapisane: 18 maja 2015, o 09:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2014
Posty: 150
Pomógł: 1

Witam.
W firmie, w której pracuje od jakiegoś czasu borykamy się z problem znikania wartości zmiennych zapisanych w pamięci EPROM.
Niestety program jest napisany przez osobę z zewnątrz.
W związku z tym chciałbym się zapytać co może być przyczyną.

Sytuacja wygląda następująco:
Po zaprogramowaniu uP (osobno pamięć FLASH i EPROM) i uruchomieniu urządzenia wchodząc do podmenu niektóre wartości parametrów zmieniają się, np ustawiony czas z 5 minut na bliżej nie zidentyfikowaną wartość np. 65333 (wartości są wyświetlane na wyświetlaczu WC1602A), czy też zmienia się kontrast wyświetlacza. Są sytuacje, że po uruchomieniu urządzenie pracuje normalnie a defekt zaczyna pojawiać się po bliżej nie określonym czasie pracy ale najczęściej po resecie urządzenia.
Rzecz dzieje się na uP Atmega128. Sytuacja występuje raz na kilkadziesiąt przypadków. Program napisany jest w BASIC-u.

Wiem, że są to informacje szczątkowe, ale może ktoś podsunie jakiś pomysł co sprawdzić, co zmienić, w ogóle od czego zacząć szukanie przyczyny takiego problemu...
Z góry dziękuję za podpowiedzi :)



Ostatnio edytowano 17 mar 2016, o 09:35 przez amilo_pa, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 09:58 
Offline
Moderator
Avatar użytkownika

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

- w źle napisanym kodzie ?
- w złym ustawieniau fusebitów ?
- w złym projekcie zasilania ?
- w złym projekcie PCB ?

jak widzisz dużo może być przyczyn

_________________
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: 18 maja 2015, o 10:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 175
Lokalizacja: Kraków
Pomógł: 9

A ten wspomniany reset urządzenia to:
- reset samoistny na wskutek np. zakłóceń?
- czy reset wymuszony ręcznie, np. odłączenie zasilania?

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 10:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2014
Posty: 150
Pomógł: 1

mirekk36 napisał(a):
- w źle napisanym kodzie ?
- w złym ustawieniau fusebitów ?
- w złym projekcie zasilania ?
- w złym projekcie PCB ?

jak widzisz dużo może być przyczyn


Nie wykluczam żadnej z wymienionych opcji. Tylko zastanawiające, jest to że dzieje się to bez żadnej reguły, raz na kilkadziesiąt egzemplarzy. Urządzenia pracują załóżmy przez rok na obiekcie i nagle takie kwiatki się dzieją. Ponowne przeprogramowanie tym samym wsadem nie zawsze eliminuje usterkę.
W jaki sposób można wykluczać wymienione przez Ciebie Mirku przyczyny? Jakaś rada?:)


0livaw napisał(a):
A ten wspomniany reset urządzenia to:
- reset samoistny na wskutek np. zakłóceń?
- czy reset wymuszony ręcznie, np. odłączenie zasilania?



Reset wykonywany jest przez nas - ręczne odłączenie zasilania.
Mało tego zdarzają się przypadki, że podczas normalnej pracy wyświetlacz gaśnie i nie mamy możliwości zweryfikowania czy program działa. Reset w postaci odłączenia zasilania powoduje powrót do normalnej pracy urządzenia (taka sytuacja zdarzyła się siedzibie firmy czyli w warunkach normalnych).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 10:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 175
Lokalizacja: Kraków
Pomógł: 9

amilo_pa napisał(a):
Reset wykonywany jest przez nas - ręczne odłączenie zasilania.
Mało tego zdarzają się przypadki, że podczas normalnej pracy wyświetlacz gaśnie i nie mamy możliwości zweryfikowania czy program działa. Reset w postaci odłączenia zasilania powoduje powrót do normalnej pracy urządzenia (taka sytuacja zdarzyła się siedzibie firmy czyli w warunkach normalnych).


Jeżeli urządzenie zawiesza się samo z siebie w tzw. warunkach normalnych, czyli na tzw. biurku to nie dobrze.
Coś pracuje na granicy możliwości. Trzeba by mieć wgląd do dokumentacji projektu aby coś konkretniej powiedzieć.

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 11:21 
Offline
Moderator
Avatar użytkownika

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

amilo_pa napisał(a):
Tylko zastanawiające, jest to że dzieje się to bez żadnej reguły, raz na kilkadziesiąt egzemplarzy.

No ale widzisz - to nie jest zastanawiające - to reguła przy złym projekcie .... Wcale nie znajdziesz dokładnych zależności - że hmm nie wiem to będzie następować np w każdy czwartek pomiędzy godziną 13-16 :( ... troszkę przejaskrawiam wprawdzie - no ale dokładnie to co opisujesz pasuje do totalnie złego projektu pod każdym względem. Czy na pewno ? tego nie wiem bo np nie widzimy tu schematu - jak jest chociażby zasilanie zaprojektowane - a to pierwszy paskudny BABOL zwykle robiony przez wiele osób. Nie wspomnę już o projekcie PCB itp itd już pisałem wyżej

amilo_pa napisał(a):
Ponowne przeprogramowanie tym samym wsadem nie zawsze eliminuje usterkę.

Nie dziwię się

amilo_pa napisał(a):
W jaki sposób można wykluczać wymienione przez Ciebie Mirku przyczyny? Jakaś rada?:)

Jeszcze raz powiem - spojrzeć na schemat - spojrzeć na PCB ... i od tego zacząć analizę

_________________
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: 18 maja 2015, o 11:25 
Offline
Użytkownik

Dołączył(a): 15 cze 2013
Posty: 599
Lokalizacja: Lubin
Zbananowany użytkownik

Pomógł: 35

amilo_pa napisał(a):
Niestety program jest napisany przez osobę z zewnątrz i kontakt jest z nią dość trudny.

Domyślam się, że oprogramowanie napisane na zlecenie i zapłacone.
W takim przypadku trzeba zawsze żądać dokumentacji. Czyli np algorytmu jak program działa i/lub listingu z kodu źródłowego.
To że działa w trakcie odbioru nie znaczy że po roku nie zacznie coś szwankować. Np jak procesor zapisuje eeprom kilkadziesiąt razy na minutę/godzinę/dzień. Taka pamięć ma żywotność i może okazać się, że właśnie jej życie dobiega końca i pamięć gubi dane jak w opisanym przypadku.

Inna sprawa to support. Dość trudny kontakt powinien odstraszać od współpracy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 12:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 maja 2013
Posty: 568
Zbananowany użytkownik

Pomógł: 31

amilo_pa napisał(a):
Witam.
W firmie, w której pracuje od jakiegoś czasu borykamy się z problem znikania wartości zmiennych zapisanych w pamięci EPROM.

Skoro usterka pojawia się po jakimś czasie, stawiam na uszkodzoną pamięć EEPROM. Źle napisany program katuję ją cały czas cyklami zapisu i odczytu. Doraźnie pomoże wymiana układu na nowy.

_________________
Und schreien

Spring
Erlöse mich
Spring
...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 12:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 175
Lokalizacja: Kraków
Pomógł: 9

PROTON napisał(a):
Witam.
Skoro usterka pojawia się po jakimś czasie, stawiam na uszkodzoną pamięć EEPROM. Źle napisany program katuję ją cały czas cyklami zapisu i odczytu. Doraźnie pomoże wymiana układu na nowy.


Według opisu to nie tylko jest to problem ciągłego zapisu pamięci EEPROM.
Bo czym można wytłumaczyć gasnący wyświetlacz LCD?

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 13:36 

Pomógł: 0

W przypadku zlecenia kodu na zewnątrz bezwzględnie należy żądać pełnego źródła oraz dokumentacji.

Niestety znam przypadki celowego wprowadzania do kodu bugów, które uaktywniają się po okresie "gwarancji".

I to nie tam jakieś made in china, a polskie firmy.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 08:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2014
Posty: 150
Pomógł: 1

Witam ponownie.
Dziękuję za tak dużą liczbę pomysłów :)


PROTON napisał(a):
Skoro usterka pojawia się po jakimś czasie, stawiam na uszkodzoną pamięć EEPROM. Źle napisany program katuję ją cały czas cyklami zapisu i odczytu. Doraźnie pomoże wymiana układu na nowy.


Chyba doraźnie będziemy się tym ratować :)

Niveasoft napisał(a):
Na takiej płycie gdzie ponowne przeprogramowanie nie pomogło wymieniłbym mikrokontroler na nowy i poczekał. Jeśli usterka powróciłaby od razu błędu szukałbym w płycie.
Macie tam zaprogramowany BODEN i BODLEVEL ?


Tych fusebitów nie mamy ustawianych. Dlaczego o nie pytasz?



Ostatnio edytowano 17 mar 2016, o 09:39 przez amilo_pa, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 08:13 
Offline
Moderator
Avatar użytkownika

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

amilo_pa napisał(a):
Tych fusebitów nie mamy ustawianych.

No to ustawcie ;) przecież jeden z pierwszych moich punktów na górze to właśnie te fusebity ...

_________________
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: 19 maja 2015, o 08:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2014
Posty: 150
Pomógł: 1

mirekk36 napisał(a):
amilo_pa napisał(a):
Tych fusebitów nie mamy ustawianych.

No to ustawcie ;) przecież jeden z pierwszych moich punktów na górze to właśnie te fusebity ...


Mirku dostaliśmy wytyczne od osoby która pisała program żeby ustawiać fusebity w następujący sposób:

Obrazek

Możesz tak w dwóch słowach napisać dlaczego zalecasz je ustawiać?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 08:27 
Offline
Moderator
Avatar użytkownika

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

amilo_pa napisał(a):
Mirku dostaliśmy wytyczne od osoby która pisała program żeby ustawiać fusebity w następujący sposób

No dobrze - ale widzisz efekty działania swojego urządzenia - są można powiedzieć opłakane - i uważasz, że miała dobry pomysł w/s fusebitów

Poza tym, panie kochany masz ATmega128 to czemu nie używasz MkAvrCalculator ? który w wersji FREE w pełni działa z tym prockiem ?

amilo_pa napisał(a):
Możesz tak w dwóch słowach napisać dlaczego zalecasz je ustawiać?

A wiesz do czego są te fusebity ? Spróbuj się zainteresować bo co ja mogę zalecać ?

toż to zależy od napięcia zasilania .... eeeeh ;) tego no na tzw "pałę" się nie ustawia i nie zaleca - to trzeba świadomie ustawić bo inaczej za chwilę procek przestanie ci w ogóle odpowiadać

_________________
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: 19 maja 2015, o 09:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2014
Posty: 150
Pomógł: 1

Mirku ja bardzo dobrze zdaję sobie sprawę z działania programu/urządzenia.

MkAvrCalculatora zamierzam go do celowo używać, ale nie wszytko na raz.

Kolego Niveasoft dziękuję za pełną i wyczerpująca odpowiedź. Ja dopiero zaczynam przygodę z uP i mam jeszcze duuuużo do nauczenia.
A jest możliwość ustawienia fusbitów programowo - w kodzie programu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 10:11 
Offline
Moderator
Avatar użytkownika

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

Cytuj:
A jest możliwość ustawienia fusbitów programowo - w kodzie programu?

Ale spokojnie przecież fusebity możesz ustawiać NIEZALEŻNIE od wsadu ;) w czym kłopot? jeśli masz zasilanie +5V to spokojnie możesz ustawić na 4V ale jeśli zasilanie+3,3V to nie można podnieść Bodlevela

I dlatego wspominałem o MkAvrCaclulatorze - ale nic na siłę ;) ot po prostu mnie wydaje się to mega proste, wziąć ten program, odczytać procka i jego fusy - poprawić te od BodLevela i zapisać ;) ... to żaden nowy poziom trudności - to jest o wiele łatwiejsze i wygodniejsze
Obrazek

_________________
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: 20 maja 2015, o 08:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2014
Posty: 150
Pomógł: 1

Chodzi mi o to Mirku czy można zarówno programowo jak i ręcznie ustawić fusebity. Pytam dlatego, że wgrałem wsad bez ręcznego ustawienia fuseów a następnie zczytałem same ustawienia fuseów i były takie jak bym ustawił je ręcznie. Czy może jest to spowodowane tym, że procek pamięta wcześniejsze ustawienia? To takie pytanie dla mnie na przyszłość :)

Jak odgrzebie się z nawału pracy to sprawdzę ustawienia fuseów/podmianę procka i dam znać jak się sprawy mają :)

Jeszcze raz wielkie dzięki za tak liczne odpowiedzi:)



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: 17 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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