Problem med ATmega168 och ISP-programmerare

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Malm
Inlägg: 215
Blev medlem: 22 februari 2004, 12:55:06
Ort: Borås

Problem med ATmega168 och ISP-programmerare

Inlägg 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 :)
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg 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.
Senast redigerad av Icecap 29 november 2008, 13:03:39, redigerad totalt 1 gång.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg 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?
Malm
Inlägg: 215
Blev medlem: 22 februari 2004, 12:55:06
Ort: Borås

Inlägg 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.
Användarvisningsbild
Forsgren
EF Sponsor
Inlägg: 1227
Blev medlem: 24 oktober 2003, 13:45:48
Ort: Orsa

Inlägg av Forsgren »

Har du pullupmotstånd på reset?
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Inlägg av Swech »

Hur ser det ut runtomkring?
Är 5V bra avkopplad?

Swech
Malm
Inlägg: 215
Blev medlem: 22 februari 2004, 12:55:06
Ort: Borås

Inlägg 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!
Skriv svar