Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

AT90S2313 - ATiny2313

Leszekjed
-
-
Posty:22
Rejestracja:22 lut 2004, o 11:12
Lokalizacja:Wrocław
AT90S2313 - ATiny2313

Postautor: Leszekjed » 19 mar 2005, o 00:08

Czy ktoś ma doświadczenia związane z zamianą AT90S2313 na ATiny2313 ?. Mam kilka programów pisanych na AT90S2313, które zachowują się dziwnie po wgraniu na ATiny2313. Teoretycznie wszystko powinno działać bez problemów ale okazuje się, że ATiny potrafi w przypadkowym momencie wyłączyć się zupełnie bez powodów. I nie jest to reset układu ale zawieszenie z reguły bez możliwości resetowania poprzez końcówkę Reset. Okazuje się w dodatku, że dzieje się to różnie w różnych egzemplarzach ATiny tak jakby miały one różną tolerancję na tego rodzaju zachowanie. Zauważyłem na pewno, że wszystkie porty muszą być w ATiny zadeklarowane bo inaczej sygnał się na nich nie pojawia, Ten warunek w AT90S2313 nie był konieczny. Czy ktoś zauważył podobne objawy ? A może seria układów, które mam ma jakiś błąd ?
l.j.

[ Dodano: 22-03-2005, 14:02 ]
Pogłębiłem nieco moją wiedzę na temat zastępowalności AT90S2313 przez ATiny2313. W jednym z moich układów używam funkcji portb.5=notpinb.4 . Gdy w podstawce znajduje się AT90 wszystko gra ale jeśli włożę ATiny to w przypadkowym czasie od włączenia (nie dłużej jednak niż 2-3 minuty) zależność przestaje działać i port PB5 przyjmuje wartość 0 niezależnie od stanu na porcie PB4. Pomaga zerowanie układu ale znowu na kilkadziesiąt sek. Użyłem nawet deklaracji bezpośredniej z pominięciem zależności od portu PB4 a więc zadeklarowałem na porcie PB5 stan stały czyli: portb.5=1 Okazuje się, że sytuacja się powtarza, po kilkudziesięciu sekundach stan zmienia się na 0 bez przyczyny. Czasem stan awaryjny występuje w jednej chwili a czasem daje się zaobserwować migotanie stanu na porcie PB5 trawające kilka sekund. Ponieważ w ATiny port PB5 może służyć jako wejście przerwań to jawnie zabroniłem przerwań poleceniem DISABLE INTERRUPTS ale bez rezultatu. Konsultowałem się z producentem ale odesłał mnie do znanego mi dokumentu na temat zamiany AT90 na ATiny ale ten dokument nic nie wnosi do sprawy. Tak zachowuje sie cała seria zakupionych układów ATiny (5 szt). z tą różnicą, że czas do awarii portu zmienia się nieco w zalezności od układu. Dziś kupię układ z innego źródła bo może trafiłem na uszkodzoną serię układów.
Może ktoś ma jakieś własne doświadczenia i uwagi na temat zastępowalności AT90 przez ATiny ?
L.J.

LucASWw
-
-
Posty:248
Rejestracja:23 sie 2003, o 18:26
Lokalizacja:UK

Postautor: LucASWw » 28 mar 2005, o 20:38

Jak zmieniasz uC, to program musisz przekompilować na docelowy procesor.

Leszekjed
-
-
Posty:22
Rejestracja:22 lut 2004, o 11:12
Lokalizacja:Wrocław

Postautor: Leszekjed » 5 kwie 2005, o 11:14

W tej sprawie nie doszedłem do ostatecznej konkluzji. Częć aplikacji pisanych na AT90S2313 działa również na ATiny 2313 ale niektóre zachowują się przedziwnie. Na przykład w jednej z nich używam wyłącznie prostych operacji czytania na portach i ustawiania wartości na innych portach bez żadnych zaawansowanych i skomplikowanych funkcji i nie mogę dojść dlaczego nie propaguje mi się stan wejścia na wyjście w prostym poleceniu portb.x=not pinb.y . Do testów używam tych samych warunków (płytka, wejścia, wyjścia, zasilanie) i układ AT90S2313 działa a ATiny2313 włożony w tą sama podstawkę nie działa !. W tym przypadku po prostu nie używam układów ATiny2313 tylko AT90S2313.
Dla rozwiania wątpliwości odpowiem, że oczywiście program kompiluję dla każdego z typów procesora osobno.
Z moich doświadczeń wynika, że po pierwsze ATiny 2313 nie toleruje sytuacji, że jakiś port nie jest deklarowny jawnie w programie jako wejście lub wyjście (co toleruje AT90S2313) a po drugie ATiny jest bardziej wrażliwy na 'jakość' zasilania (mam bity BODEN w stanie disable !) i np. potrafi się wspólnie podwzbudzać ze stabilizatorem 7805 - w tej sytuacji pomaga połączenie wejścia i wyjścia stabilizatora kondensatorem 0.1uF.
Nie będę się 'habilitował' z tego tematu ale może te moje spostrzeżenia się komuś kiedyś przydadzą w podobnej sytuacji.
lj

LucASWw
-
-
Posty:248
Rejestracja:23 sie 2003, o 18:26
Lokalizacja:UK

Postautor: LucASWw » 7 kwie 2005, o 16:29

A zapoznałeś się z MCU oraz Power Mangament tego kontrolera?
A nie poprzestawiałeś fusebitów w sposób, który może powodować niestabilną pracę programu?

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 34 gości