Sida 1 av 1

Problem med ATmega168 och ISP-programmerare

Postat: 29 november 2008, 12:57:00
av Malm
Hej!

Har ett skumt problem med en ATmega168 och en STK500v2-kopia från Tuxgraphics.

Problemet är det att så länge jag har programmeraren inkopplad till kretsen så funkar allt. Kopplar jag däremot ur programmeringskabeln så ballar det hela ur och processorn fryser. En märklig sak är att den ofta verkar fortsätta från samma punkt om jag återigen kopplar in programmeraren (även om den ibland då startar om). Detta märker jag genom att titta på seriell data som skickas ut via USART:en.

Reset hålls för övrigt hela tiden hög med pull-up-motstånd.

Jag misstänker att detta är ett vanligt fel (á la nybörjare), men jag har inte hittat något vettigt vid sökning på forumet. Vad tror ni?


Kan även tillägga att processorn ibland bestämmer sig för att helt dö och inte ens svara på programmerarens signaler. Jag kan starta om den x antal gånger utan att det händer något, men plötsligt så hoppar den igång. Detta beteende verkar helt sporadiskt och jag anar att det är något hårdvarumässigt fel med själva processorn.

Tacksam för hjälp :)

Postat: 29 november 2008, 13:01:33
av Icecap
Låter definitivt som glappkontakt någonstans, kanske i samband med oscillatorn?

Eller att RESET-linan flyter fast då skulle den inte "köra vidare".

Edit: Det är väldigt sällan att ett fel I processorn ger sporadisk funktion, det är oftast istället en funktion som dör och förbliver död.

Postat: 29 november 2008, 13:01:52
av thepirateboy
Är det samma beteende oavsett kod?

Vad har du för inställningar av fuses (intern/ext oscillator)?

Någon bild på uppkopplingen?

Postat: 29 november 2008, 13:46:26
av Malm
Jag har inte testat om den beter sig likadant i alla lägen oavsett kod, men det verkar vara exakt samma beteende med annan kod (och även med interrupts avstängda).

En annan märklig sak som fick mig att testa just att stänga av interrupts är att processorn ibland fastnar i något som verkar vara en loop med omstarter. Det ser ut som att den skickar mindre mängd seriell data varje gång, vilket ger illusionen av att den "suddar ut" text i terminalen. I detta läget verkar urkoppling av programmeraren inte döda processorn, men det verkar initiera en omstart ("utsuddningen" snabbar på/startar om).

Jag använder en kristall på 18,432 MHz inkopplad enligt datablad. Har även testat att byta till en kristall på 8 MHz i det läget då processorn inte svarat alls, dock utan skillnad.

Skall ordna fram en bild och kopplingsschema.

Postat: 29 november 2008, 15:25:27
av Forsgren
Har du pullupmotstånd på reset?

Postat: 29 november 2008, 17:15:41
av Swech
Hur ser det ut runtomkring?
Är 5V bra avkopplad?

Swech

Postat: 5 december 2008, 20:55:30
av Malm
Nu har jag äntligen funnit lite tid att gräva mer i problemet och det visade sig att det hela berodde på att RS232 till USB-adaptern ballade ur när programmerarens jord kopplades ur (något som bröt den gemensamma jordningen USB<->uC-krets). Tänk att ett så simpelt fel kan orsaka så mycket huvudbry :)

Tack för alla förslag iaf!