Är AVR något att ha egentligen?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> och har du riktig otur kan du "bricka" din krets.

"Otur" ??
Krävs det inte bara att man gör på något visst sätt ?
Det kan ju knappast enbart handla om otur (d.v.s att slumpen avgör).
Användarvisningsbild
maha
EF Sponsor
Inlägg: 1685
Blev medlem: 22 november 2005, 09:47:02
Ort: Jakobstad, Finland

Inlägg av maha »

sodjan: Det handlade ju om dippar på VCC just då fusebitarna programmeras så jag tycker det till viss del handlar om otur... Programmerar man själv fusebitarna fel så är det ju givetvis inte otur, då sitter ju felet på stolen så att säga.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Ah, OK.
Jo det skulle kanske kunna vara otur... :-)
Användarvisningsbild
Stinrew
Inlägg: 954
Blev medlem: 20 augusti 2006, 03:14:41
Ort: Motala
Kontakt:

Inlägg av Stinrew »

ucadv skrev:Det fins egentligen bara två saker som kan strula:
1. pull up på reset, måste vara exakt 10k.
Det där stämmer väl inte. ATmega88 har ju inbyggd pull-up på reset, och den ligger(enligt databladet) på 30-60kOhm.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Jag kallar det definitivt inte otur om något går fel p.g.a. att spänningsmatningen är bristfällig. En konstruktion är både programvara och hårdvara, det är precis likaviktigt att kunna göra den hårda biten på ett korrekt sätt som att kunna programmera processorn. Dålig ström är och förblir ett synnerligen oprofessionellt nybörjarfel.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Verifierar inte Dragonen minnesinnehållet efter programmeringen? I så fall borde den väl kunna upptäcka eventuella fel i minnet, innan den lämnar programmeringsläget.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> I så fall borde den väl kunna upptäcka eventuella fel i minnet, innan den lämnar programmeringsläget.

Och vad gör den sen ?
Lämnar programeringsläget, fast med ett felmeddelande ?
Blir inte *resultatet* exakt det samma som utan verifieringen ?
Eller försöker den igen (föga sannolikt) ?

> ...ett synnerligen oprofessionellt nybörjarfel...

Är inte *alla* nybörjarfel det ? :-)
Annars vore de ju inte nybörjare...
JJ
Inlägg: 366
Blev medlem: 16 maj 2005, 21:33:02

Inlägg av JJ »

BEEP skrev:Om din Dragon inte fungerar så får du skicka tillbaka den för en garantireparation.
Jo min Drake var nog ett måndagsexemplar så den har gått tillbaks till leverantören. Denne tyckte det var smidigare att häva köpet så nu funderar jag på om hag skall ge AVR en chans till...

Det är ungefär som ett kraschat kärleksförhållande :) jag och AVR *skulle* ha det så mysigt men det blev inte som det var tänkt. Så nu sitter jag och skriver bittra inlägg och undrar vad som gick fel :(
JJ
Inlägg: 366
Blev medlem: 16 maj 2005, 21:33:02

Inlägg av JJ »

ucadv skrev:> Kan bara ställa mig till skaran som *aldrig* fått "mystiska" fel på AVR.

Dom gånger jag trott jag har stött på mystiska fel har det alltid varit SBS (skit bakom spakarna).

Det fins egentligen bara två saker som kan strula:
1. pull up på reset, måste vara exakt 10k.
2. stabil spänning under programmering. tänk på att flash programmering drar rätt många mA, så du kan få en dipp i din Vcc. sjunker Vcc när du programmerar flash så kan en bit programmeras med ett felaktigt värde. I värsta fal kan det vara en fuse bit, och har du riktig otur kan du "bricka" din krets.

Använder du dragon kan det också vara lite svårt att lista ut var Vcc egentligen kommer ifrån (från dragon eller kortet?). Jag har för mig att dragon vill kunna stänga av Vcc precis när debugWire initieras.
Databladet (atmega88) säger:
Pull-up resistors on the dW/(RESET) line must not be smaller than 10kΩ. The pull-up resistor
is not required for debugWIRE functionality.
Tipsen man får i nyhetsgrupper o. likn varierar. AVRISP har en annan spec för hur resetlinan skall pulluppas och det verkar funka för de flesta det med. Jag har kört helt utan.

Dragonmanualen har några kryptiska rader om hur VCC skall kopplas in men jag hitter dem inte nu.

Den matning jag använt har varit ett vanligt 9V-batteri (bytt till nytt och fräscht) och en 5V-stab med de specade kondensatorerna. Det funkar när jag programmerar via parallellporten så det borde väl räcka för dW? Eller vad tror ni? Låter det helfel?

Jag har provat att mata direkt från Dragon utan att det gått bättre.

En annan grej:
Är det överhuvudtaget möjligt att köra ett program på AVRen som brickar den? Som det har varit har jag uteslutit den möjligheten men det kanske är fel?
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

sodjan:

Ja, den skulle kunna försöka igen. Fungerar det fortfarande inte borde den i alla fall kunna tala om *vad* som gick fel. Verifierar den inte minnesinnehållet så vet man ju inte ens *att* något gick fel.

edit: missade ett "inte".
Senast redigerad av cykze 7 november 2007, 21:26:51, redigerad totalt 2 gånger.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Men att sätta fuse bits "fel" är inget "fel". :-)
Och i det fallet hjälper inte verifieringen...

EDIT:
Antag att man råkar sätta fuses så att man stänger av ISP,
kommer man ändå att ligga kvar i ISP-sessionen så att verify
ändå kan köras OK ?
pagge
EF Sponsor
Inlägg: 933
Blev medlem: 15 juni 2004, 00:15:08
Ort: Luleå
Kontakt:

Inlägg av pagge »

Jag tror jag har gjort alla nybörjarfel som finns på en avr och mig veterligen inte dödat en enda permanent. Den har börjat ryka och smält kopplingdäcket, men ändå funkat efter.

En gång har jag klantat fusebitar men det åtgärdades med en STK500 (vilket jag rekomenderar, den är inte mkt dyrare än draken)

Avkoppling har jag sällan använt i forna dagar men det brukade funka fint för det. Idag är jag lite fegare och brukar dra ut lite avkopplingar just in case.

Mitt betyg blir att AVR är bland det robustaste jag har använt.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Det finns ju alternativ till Dragon om man så önskar.
AVRISP mkII är ett. Skulle vara roligt att höra vad som skiljer dessa åt egentligen.
JTAGICE mkII kanske funkar?
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Det skulle kunna vara så att Dragon:en ändrar fuse-bitsen oavsiktligt. I så fall skulle det vara bra om den verkligen verifierar att fusebitarna (och programminnet) är som de ska vara. Men jag tycker att det verkar konstigt om det vore så att den inte gjorde någon verifiering..

Det var någon gång jag skulle programmera en AVR (utan kristall) att använda kristall. Då körde jag igång Avrdude i interaktivt läge och satte fusebitarna till rätt värden. Det gick då att läsa av värdet på fusebitarna efteråt. Men efter att jag hade startat om programmet (Avrdude) så fungerade det såklart inte.

Så det är möjligt att det fungerar på samma sätt om man råkar stänga av ISP. Dvs att man kan köra kommandon ända tills man avslutar sessionen.

Jaha, ja. Fick just syn på detta i databladet (Mega48):

26.2.1 Latching of Fuses
The fuse values are latched when the device enters programming mode and changes of the
fuse values will have no effect until the part leaves Programming mode. This does not apply to
the EESAVE Fuse which will take effect once it is programmed. The fuses are also latched on
Power-up in Normal mode.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Koppling viktig

Inlägg av Swech »

Utan att läst allas inlägg... men efter långa och endast
positiva erfarenheter av AVR så låter alltihop som problem med matning.

Har en erfarenhet som nog inte är JJs fall men ändå är vktig:

Man skall ALDRIG råka mata en in/utgång med spänning utan att VCC är igång. AVRen är såpass lurig att spänningen via en ingångspinne kan driva hela chippet, programmering
kan funka fint och programmet snurrar igång - bryt matningen och slå på igen.. kretsen kan då vara död och ej nåbar via programmeraren....

Så , inga insignaler från andra matningskällor utan att +5V är igång...

Swech
Skriv svar