Attiny26 stendöd [löst]

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Attiny26 stendöd [löst]

Inlägg av jesse »

Jag försöker få igång Attiny26 utan resultat. Programmerar med AVRISP och får bekräftelse på att programmet är skrivet och verifierat OK efter programmering. Men den verkar stendöd,

Har lagt in ett program som gör ALLA pinnar till utgångar (PORTA + PORTB) och sätter dessa till ETTA. Utgångarna förblir dock öppna. Har utan problem programmerat Attiny45 och Atmeha48 tidigare.

Resetpinnen är den enda som har hög utgång - den har ju inbyggt pull-up motstånd, och nivån är bra ( > 4.5 V) , så det borde inte vara problemet.

Kretsen har klocka och spänning, eftersom den går att programmera och läsas av. Den har avkopplingskonding 100nF. Spänningen är jämn på ca 5.05 Volt.

FUSES verkar vara i ordning förutom CKSEL... AVR Studio kan inte identifiera inställningarna utan kallar de för unidentified, 0x61. Jag har inte ändrat på någon FUSE, men om jag försöker ställa in den på t.ex. "internal RC oscillator 4 Mhz" så är inte det ett giltigt alternativ.

återkommer med mer info om CKSEL senare... måste gå nu..
Senast redigerad av jesse 20 juni 2008, 18:56:50, redigerad totalt 2 gånger.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Har du verkligen valt rätt krets i AVR-studio, hade samma problem häromdan och hade då valt fel krets...
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Inlägg av jesse »

Tack för tipset!

Kanske kan det vara det. Jag har funderat lite eftersom den inte tycks ha samma inställningar på bl.a. CKSEL fusebits. Men kretsens ID stämmer ju. Tyvärr har jag AVR Studio och programmeraren vid en annan dator än denna, så jag får försöka kolla upp senare om jag hittar något.

Om jag valt fel krets, menar du att det kan finnas flera varianter av Attiny26 att välja på? Är det .INCLUDE-filen som är fel i så fall eller är det när jag startar projektet och väljer STK500/ISP så får jag välja en krets - finns det flera T26 att välja på där kanske? Lite förvirrande!
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Tänkte mest på Project - "Configurations Options" att du valt rätt där, men det verkar inte finnas någon sådan inställning om man kör assembler. Stämmer kretsens ID borde det funka tycker man.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Inlägg av jesse »

Haha, jag hittade felet direkt nu. Alltid bra att sova en natt så upptäcker man felen lättare.

Jag hade fel hexfil :evil:

Det visar sig att trots att jag stängt tidigare projekt (Mega48) så fanns den gamla hexfilen kvar som default i programmeraren vid det nya projektet. Inte något man ser direkt då man man bara ser sökvägen i fönstret, den är så lång att filnamnet döljs om man inte rullar den.

men nu funkar det bra :happy:

Men fortfarande trilskas AVR Studio med att inte godkänna de FUSEBITS så som Attiny26 är fabriksprogrammerad. Enligt databladet ser det ut så här:

bit 7 - ? är nolla.
bit 6 - PLLCK är "unprogrammed", dvs etta
bit 5-4 SUT 1..0 är 10 (uppstartstid 65 ms)
bit 3-0 CKSEL är 0001 dvs. internal RC oscillator 1 MHz

sammanfattningsvis blir det 0x61 för denna fusebyte.

Och jag får inte ändra dessa bits manuellt, utan jag har en meny att välja ifrån med exempel, typ "PLL clock - 65 ms uppstart time" eller "external oscillator 3-4 MHz" osv...

Problemet är att om jag där väljer "internal oscillator 4 MHz" (vilket jag hellre vill ha än 1 MHz) så blir det inte detta val, utan jag får upp texten undefined 0x23 och om jag väljer "1MHz internal oscillator " får jag till min förvåning upp texten "PLL-oscillator ..."

Jag misstänker att här finns en feldefinition nånstans, kanske i kretsens .def - fil där man förväxlat PLL-bitens nolla med en etta ....

Hur som helst riskerar jag att programmera kretsen helt fel om jag försöker mig på att ändra den i det här läget? Jag får hålla mig till 1 MHz så länge och fråga på AVR_freaks om detta.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Ett alternativ sätt är ju att programmera fusebitarna med t ex avrdude.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Inlägg av jesse »

Jag har fått reda på att jag kan köra programmet stk500.exe och sätta fusebits med kommandoraden om jag inte lyckas förstå felet i AVR Studio, eller i en batchfil:


Kod: Markera allt

:tryTiny26
rem # check for ATtiny26
"C:\Program\Atmel\AVR Tools\stk500\stk500" -dATtiny26 -s -c%AVRISPCOM% -I100kHz | grep "0x1E 0x91 0x09"
if ERRORLEVEL 1 goto :problem

echo Programming ATtiny26 - BOOST
rem # program fuses at slow clock speed
rem # -fXXXX = fuses high:low ...
rem # hign F7 = default
rem # low E3 = "4 MHz internal RC oscillator"
"C:\Program\Atmel\AVR Tools\stk500\stk500" -dATtiny26 -e -c%AVRISPCOM% -fF7E3 -I100kHz

rem # now program flash at fast clock speed
"C:\Program\Atmel\AVR Tools\stk500\stk500" -dATtiny26 -pf -c%AVRISPCOM% -lFC -vf -I1MHz -fiC:\AVRprogram\TESTPROGRAM.hex
goto :end

:problem
echo problems! 
Skriv svar