powtarzalność AVR-ów

Nov 07, 2003 1 Replies

Czy ktoś się spotkał z takim czymś, że program działa inaczej na różnych egzemplarzach tego samego AVR-a? W moim konkretnym przypadku to jest tiny15L, jeden mam w układzie testowym, na którym pisałem i sprawdzałem program, drugi w prawie identycznym urządzonku.



Trudno mi sprecyzować na czym polega problem, nie będę tu wrzucał całego programu, którego i tak nikt nie rozszyfruje (nawet ja), objawy są takie, że ten drugi nie zawsze prawidłowo wraca z obsługi przerwania zewnętrznego INT0, wyzwalanego przyciskiem. Przycisk uruchamia urządzenie, układ wyłączony jest w stanie "sleep", naciśnięcie przycisku generuje przerwanie, w obsłudze przerwania wyłączam przerwanie zewnętrzne, potem jest małe opóźnienie, po którym znowu sprawdzam stan przycisku i jeśli nadal jest wciśnięty, to włączam urządzenie i program leci dalej. Na płytce testowej to działa bez zarzutu, a w "prawdziwym" układzie czasem powrót z tego przerwania jakoś się nie udaje i nie wiem dlaczego. Samo przerwanie jest zawsze generowane (sprawdzam to buzzerem, podłączonym do jednego z wyjść, wstawiam "pikanie" w różne miejsca programu). Czy źródłem problemu może być zasilanie? Miałem miejsce tylko na malutki kondensator SMD 10nF za stabilizatorem, w układzie testowym jest jeszcze elektrolit 10uF. Na co jeszcze zwrócić uwagę?



Paweł



Paweł Paroń napisal(a):

Nie wiem czy Ci pomoze to co napisze, ale moze: tego typu problemy miewalem 'long time ago' w PLD / FPGA gdy pomylkowo wyzwalalem sie na blednym zboczem zegara. Wtedy uklad w prototypie dzialal, a potem zaczynaly sie problemy w serii, gdy ktores urzadzenie naraz zaczynalo dziwnie dzialac. Moze masz podobny problem u siebie? Znaczy, cos dziala na granicy i wtedy rozne egzemplarze moga rozne dzialac.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required