Atmega88 svarar inte efter läsning av lfuse

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
MaggoT
Inlägg: 113
Blev medlem: 28 juli 2005, 16:48:27
Ort: Finland
Kontakt:

Atmega88 svarar inte efter läsning av lfuse

Inlägg av MaggoT »

Hej!
Jag har ett konstigt problem med mina atmega88-kretsar.
För ett par dar sedan gjorde jag ett litet kretskort innehållandes en mega88, isp-kontakt och lite småsaker, mest för att kunna labba med dessa ytmonterade kretsar.
När jag körde avrdude första gången svarade enheten och allt verkade ok, när jag sedan försökte läsa lfuse så fick jag "initialization failed" och efter det fick jag ingensomhelst kontakt med AVR:en överhuvudtaget.
Efter diverse svordomar och kontroll av alla anslutningar drog jag slutsatsen att AVR:en hade lämnat in, så ett nytt kort tillverkades och en ny mega88 löddes på.
Och vad händer när jag försöker kommunicera med den? SAMMA SAK!

Jag körde följande kommando flera gånger i rad, och allt verkade funka.

Kod: Markera allt

[maggot@~] avrdude -c usbtiny -p m88

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e930a

avrdude: safemode: Fuses OK

avrdude done.  Thank you.
Och sedan:

Kod: Markera allt

[maggot@~] avrdude -c usbtiny -p m88 -U lfuse:r:lfuse.txt:b

avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you. 
Och efter detta är det helt gonatt, har pluggat ur strömmen, kontrollerat programmeraren med en tiny2313 (den funkar), kollat matningsspänningen på alla pinnar (ok).

Kretskortet i fråga innehåller endast en mega88, ISP-kontakt, samt usb-plugg för strömförsörjning. Programmeraren är en usbtinyisp och jag kör avrdude under linux.

Någon som har liknande erfarenheter? Kommandot för att läsa lfuse:n har jag kört på säkert 10 kretsar tidigare och aldrig haft några problem.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av jesse »

Vad är din tidigare erfarenhet av att programmera med AVRDUDE?
Har det fungerat bra? Du gör inget annorlunda nu?

Jag har aldrig testat avrdude själv.

Om du gör som du brukar så misstänker jag något skumt med din PCB...
För du skriver väl inget till någon fuse? Så den går fortfarande på internal RC-oscillator?
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av sodjan »

Ja, symptomen pekar mot "bricked-AVR", men det finns inget
uppenbart i beskrivningen som i sig borde (?) medföra det.
Enda (?) sättet att verifiera är kanske att läsa ut fuses via
en HV-programmer som kan läsa AVR'en oavsett status.
MaggoT
Inlägg: 113
Blev medlem: 28 juli 2005, 16:48:27
Ort: Finland
Kontakt:

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av MaggoT »

jesse> Jag har använt avrdude under ett par år och aldrig stött på detta problem tidigare, fast jag använt samma kommando för att läsa fuses från en bunt olika AVR's (tiny2313, tiny26, mega168, mega32 för att nämna ett par). Mycket riktigt så skall detta kommando inte skriva något, utan enbart läsa lfuse och spara ner byten i lfuse.txt.

Jag vet inte riktigt vad som skulle vara fel på PCB:et eftersom den svarade innan jag försökte läsa fusen, men jag kan bifoga schemat så fort jag kommit hem ifall jag skulle ha gjort någon tabbe där.

sodjan> Jo det verkar så, konstigt bara att det hänt på två kretsar i rad :humm: Har tyvärr ingen annan programmerare att verifiera med i nuläget.
MaggoT
Inlägg: 113
Blev medlem: 28 juli 2005, 16:48:27
Ort: Finland
Kontakt:

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av MaggoT »

Ok, här kommer schema och PCB-layout.
Dock är det endast följande komponenter som är pålödda på kortet i nuläget:

- IC1 (mega88)
- X1 för strömförsörjning via USB
- J1 för programmeraren
- Alla jumpertrådar (röda)

Efter missödet med det tidigare kortet har jag har inte velat löda på resten innan jag verifierat att MCU:n funkar.
schematic.png
pcb.png
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av sodjan »

> Dock är det endast följande komponenter som är pålödda på kortet i nuläget:

Inga avkopplingskondingar ?

> Har tyvärr ingen annan programmerare att verifiera med i nuläget.

Nej, och om jag inte har fel så behöver det vara en high-voltage-programmer
som dessutom jobbar med 8-bit parallellt, och det har du ju inte stöd för på
kortet i alla fall.

Aja, jag är nog "lost" här, hur som helst... :-)
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av jesse »

Har du inte lött på R11 eller C3 heller så bör du nog göra det först.
Jag vet att vissa ATmega kan låsa sig på grund av konstiga signaler på reset-pinnen. Det är en bugg de har. Vet inte om det gäller just ATMega88, men om det är det så kan det vara stor risk att du sabbar den genom att du saknar R11.
MaggoT
Inlägg: 113
Blev medlem: 28 juli 2005, 16:48:27
Ort: Finland
Kontakt:

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av MaggoT »

Hmm, avkopplingskondensatorn och pull-up på resetpinnen var pålödda på det tidigare kortet som inte funkade, men jag kan ju testa löda på dem och se om det gör någon skillnad.
Det låter ju logiskt att det kunde bugga ur om resetpinnen lämnas flytande, jag brukar dock aldrig använda pull-up på labbplattan och där har det aldrig varit några problem iaf med DIL-kretsar.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av sodjan »

> jag brukar dock aldrig använda pull-up på labbplattan

Alltså för reset-pinnen ? Det är nog alltid en dålig idé och vana.
ds77
Inlägg: 2456
Blev medlem: 24 juli 2008, 09:38:07
Ort: småland

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av ds77 »

Har inte resetpinnen en inbyggd pullup? Den är iofs ganska svag och jag har haft för vana att ha motstånd+kondensator ändå.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av sodjan »

Aha, OK. Ja, det kan ju fungera också, så klart... :-)
SvenW
Inlägg: 1156
Blev medlem: 24 april 2007, 16:23:10
Ort: Göteborg

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av SvenW »

Har nog sett det där felet ett antal gånger tror jag.
Om inte minnet sviker mig så är kretsen oftast inte 'brickad' utan det brukar finns en orsak av typen
- matningsspänning saknas
- kontakt som lossnat
- resetpinnen störd, avkoppling saknas ...
- för långa ledningar och signalreflex.

Har för mig att jag vid något tillfälle fixade problemet med att lägga små kondensatorer (~100pF)
att belasta någon av signalerna (SCK, MISO eller MOSI) för att dämpa reflexer.
Men då bitbangade jag från parallellporten via 2 meter kabel!
Kägglan
Inlägg: 82
Blev medlem: 4 juli 2011, 20:48:05
Ort: Västerås

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av Kägglan »

Är det rätt eller skrivfel att reseten är aktiv hög på IC1 för om jag inte missminner mig så är den aktiv låg på ATtiny2313? Fast ett så enkelt fel har du säkert provat....
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av thepirateboy »

Vad kör du med för ISP-hastighet?

Har du möjlighet att prova i Windows med AVR-studio?
MaggoT
Inlägg: 113
Blev medlem: 28 juli 2005, 16:48:27
Ort: Finland
Kontakt:

Re: Atmega88 svarar inte efter läsning av lfuse

Inlägg av MaggoT »

Knepigt detta, jag lödde på avkopplingskondensatorn C3 och pull-up-motståndet på resetpinnen och prövade igen, jag fick kontakt en gång och nu är den stendöd igen :humm: Skall pröva låta den ligga urkopplad en stund och pröva igen.

Har även igen kontrollmätt alla pinnar på AVR:en som bör ha spänning, och kontrollerat stiftlisten till programmeraren (mätt med multimetern att det är kontakt mellan stiftlisten och respektive pinne på AVR:en).

Kägglan> Reset är active low enligt databladet så det är nog felskrivet på komponenten i eagle.

thepirateboy> Har prövat allt mellan 10 och 100000 på "ISP Clock delay" (-i) i avrdude utan skillnad. Har tyvärr ingen windowsburk igång för tillfället så jag kan inte testa med avrstudio.
Skriv svar