Spørgsmål:
Fejlfinding af en ATMega328p-urindstilling
JonDrnek
2009-11-28 06:26:58 UTC
view on stackexchange narkive permalink

Jeg forsøger at køre min ATMega ved 16MHz ved hjælp af denne krystal

Jeg indstiller lfuse bit til F7 (se her)

Kommandoen, jeg brugte til at indstille lfuse bit, var

  C: \ >avrdude -p m328p -P lpt1 -c stk200 -U lfuse: w: 0xf7: mavrdude: AVR-enhed initialiseret og klar til at acceptere instruktionerLæsning | #################################### ############################# | 100% 0.02savrdude: Enhedssignatur = 0x1e950favrdude: læsning af inputfil "0xf7" avrdude: skrivning lfuse (1 bytes): Skrivning | Nr. | 100% 0.00savrdude: 1 bytes lfuse writtenavrdude: verificering af lfuse-hukommelse mod 0xf7: avrdude: indlæs data lfuse-data fra inputfil 0xf7: avrdude: inputfil 0xf7 indeholder 1 bytesavrdude: læsning på chip lfuse-data: Læsning | Nr. | 100% 0.00savrdude: verificerer ... avrdude: 1 bytes af lfuse verifiedavrdude: safemode: Sikringer OKavrdude udført. Tak.  

Jeg havde kode på chippen, der blinkede en LED en gang hvert sekund. Efter at jeg havde sat lfuse bit, stoppede den.

Jeg forsøgte at læse lfuse bit via

  C: \ Documents and Settings \ admin>avrdude -p m328p -P lpt1 -c stk200 -U lfuse: r: -: h -U hfuse: r: -: havrdude: AVR-enhed reagerer ikkeavrdude: initialisering mislykkedes, rc = -1 Dobbeltkontrol af forbindelser, og prøv igen, eller brug -F til at tilsidesætte denne check.avrdude gjort. Tak.  

Jeg tror, ​​jeg har krystalopsætningen korrekt på ben 9 (TOSC1) & 10 (TOSC2). Jeg bruger 22 pF-hætter.

Jeg ser 5V på pin 10 og 0V på pin 9

Hvilke trin kan jeg tage for at fejlfinde dette?

To svar:
todbot
2009-11-29 14:25:00 UTC
view on stackexchange narkive permalink

Det er et virkelig mærkeligt svar, du ser. Selvfølgelig er der det åbenlyse forslag: Har du prøvet at cykle alt i kæden? (PC-> STK200-> devboard) Men har du også en anden AVR-programmør, du kan prøve? Har du en anden ATmega328P, du kan prøve at læse &-skrivning? Har du nogensinde været i stand til at læse sikringsindstillinger med en hvilken som helst programmør?

Andre ting at prøve: Kan du fjerne krystallen og se om du kan kommunikere med chippen? Har din programmør evnen til at justere SCK hastighed? (STK500 kan gøre dette, ikke sikker på STK200) Det kan være, at chippen er i en rigtig lav hastighedstilstand.

Som en sidste udvej skal du sætte chippen i en højspænding programmør. Jeg ved i det mindste at STK500 kan gøre det, og der er et par kredsløb derude til hacking af en HVP ud af en Arduino- eller LPT-port. Jeg har været nødt til at genoplive et par AVR-chips på den måde på grund af en elektrisk fejl eller jeg flubbede indstillinger.

wackyvorlon
2009-11-30 04:01:02 UTC
view on stackexchange narkive permalink

Et par tanker. Hvad var sikringerne sat inden du skiftede dem? har du bekræftet din ledningsføring med skematisk? Husk, det har brug for krystal tilsluttet for at programmere det.

Kontroller databladet, det ser ud til, at 0xF7 var den forkerte indstilling at bruge. CKSEL 3..0 er indstillet til 1000 ved 0xF7. Der er en tabel i databladet, som anbefaler denne værdi til oscillatorer fra .8 til .9MHz, og angiver specifikt, at denne indstilling ikke skal bruges med krystaller. Den korrekte indstilling for sikringernes lave byte var 0xF1, dette sætter CKSEL 3..1 på 111, hvilket anbefales til 16MHz kvartskrystal. Den relevante info findes på side 29 i databladet.

Du har sandsynligvis brug for en old school-programmør for at løse problemet, ellers har du muret chippen.



Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 2.0-licens, den distribueres under.
Loading...