AVR Chronograph från koncept till PCB (3 / 13 steg)
Steg 3: Intro till ATMEL Studio och inrättande av AVR
http://www.Atmel.com/microsite/atmel_studio6/default.aspx
Du kan också använda andra tredje part programmerare eller bara en seriell kabel med andra program som WINAVR och AVRDude, men det är utanför räckvidden för detta instructable. Det finns massor av tutorials google kan hitta för dig om du skulle hellre använda en annan metod.
OK, fick programvaran installerad? Fick en AVRDragon? Har du något annat sätt att få programmet laddas och vill bara fortsätta?
Bra
Det första du märker när du startar ATMEL Studio är startsidan. Här hittar du användbara länkar till tutorials, hjälpfiler, skapa eller öppna projekt och sådant. Vi vill inte skapa ett projekt ännu dock. Det första vi måste göra är att se till att vi kan prata med våra AVR och konfigurera klocka källa för att kunna använda externa kristall resonator i stället för en inre RC-oscillator.
Om du inte redan är gjort, redo att AVRDragon. Måste du ansluta den 6 pin ISP header på draken till din 6-pin header på en skärbräda. Sedan power set av brödunderläggen kretsen och Anslut USB-kabeln till draken.
************************************************
Om du har aldrig använt AVRDragon innan, rekommenderar jag att läsa denna artikel:
http://People.ECE.Cornell.edu/land/Courses/ece4760/AtmelStuff/Dragon.pdf
Det är mycket mycket användbar information det inklusive hur du ställer in draken med en ZIF socket och 40 pin header använda funktionen HVPP programmering med någon chip i familjen AVR... praktiskt om du strula och tegel din AVR!
************************************************
Nu när allt drivs och ansluten, gå in i studion för ATMEL och klicka på Verktyg >> enhet programmering (2: a pic.) Ett nytt fönster öppnas med några val att göra längst upp till vänster: verktyg, enhet och gränssnitt (3: e bild). För detta fall, verktyg bör vara AVR Dragon, enheten bör vara ATMega328P och gränssnitt bör vara ISP. Gör de val och klicka på Använd. Fönstret kommer att ändras för att visa ett reglage för inställning av ISP klockfrekvens. Anmärkningen under skjutreglaget påstår att frekvensen måste vara lägre den 1/4 målets klockfrekvens. Jag har funnit detta vara sant! De inte ljuger! Om du har problem att ansluta till ditt chip, lägre detta värde att se till att det inte är problemet. Jag skulle sätta den på 250Khz för tillfället för att vara säker, så ta upp det när kristallen är installerat eller när processorns klockfrekvens är känd.
Vid denna punkt, klicka på knappen Läs bredvid antingen "Enhet signatur" eller "Target spänning" till höger om det gränssnitt ett EU-medlemskap. Om allt är väl, lysdioderna på draken kommer att göra en liten blinkande och vissa värden visas i de två fälten... Fungerade det? Om inte, minska ISP klockan inställning och doublecheck du bakbord arbete. Jag har känt att wire 6 pin huvuden upp och ner, så kolla det noga... på minst det problemet är enkelt löst genom att bläddra bakbord runt!
Om det fungerade den "Enhet signatur" nu innehåller en HEX numret som vi inte behöver oroa dig för mycket och "Target spänning" fältet bör visar spänningen du har kopplat till AVR. Draken matchar automatiskt denna spänning för kommunikation. Drakens är ungefär 1.8V - 5.5V... som råkar vara samma intervall som AVR, så om ditt chip körs och det är inte rökning draken kommer att matcha det är spänning.
Nästa, klicka på ordet "Säkringar" till vänster. Här ser du några riktigt udda letar säkring namn som kommer att vara nedtonade och har gult frågetecken bredvid dem tills draken är klar läser deras aktuella status från AVR. När de dyker upp och var och en har en grön check bredvid det du är redo att byta säkring bitar... se? Det är lätt! I början av mikrokontroller, säkringen bitar var faktiskt säkringar, och om du blåste fel av misstag--du blåste det. Nu, det är inte så illa, men du kan fortfarande göra ditt chip sluta arbeta ganska enkelt. Till exempel, om du ännu inte har kristalloscillator installerat på en skärbräda och ändrar klocka källa till externa kristallen - gissa vad? Du kan inte längre läsa från eller skriva till chipet! Tills du installerar kristallen naturligtvis. Ett annat alternativ om du röra upp här (kanske du plockat "externa crystal" och du faktiskt inte har en! oops!) är att ansluta chip till draken i HVPP läge. Som kommer att tillåta dig att klara de saker du inte bör ha ställa och få tillbaka till arbetet. Så, utforska lite här, men var försiktig. Om du håller muspekaren över fuse namnen får du en ibland otillräcklig beskrivning av de egenskaper som den ändras.
En ytterligare anmärkning på säkringar innan vi ändrar en. Denna skärm har vackra kryssrutor och nedrullningsbara menyerna. I verkligheten är detta inställningar som representeras av bitar i ett register begravd inuti AVR. Lite set är normalt en 1 och lite rensade är en 0, men de fuse bitarna är motsatt. Att ha lite fuse är att göra det en 0--det är bara gamla terminologi hölls över från de dagar när de var faktiskt säkringar att du var tvungen att blåsa. Att biten menade blåser säkringen, eller att ta bort 5V vilket gör det till 0. I innebär nästan alla andra sammanhang, sätta lite att göra det en 1.
OK, vidare till att göra denna sak använder kristallen. Senaste säkringen i listan är den vi behöver här: SUT_CKSEL. Detta står för"Start Up Time - ClocK SELect. Dra ner nedrullningsbara menyn och titta på några av alternativen. De som börjar med "INTRCOSC" är alla lägen att använder marker inre RC oscillator som klocka källa. Allt annat kräver vissa kretsar utanför chippet att arbeta. Du kommer att märka några som börjar "EXTLOFXTAL" och "EXTFSXTAL" och "EXTXOSC". Detta är de olika alternativen för att använda externa kristall resonator. 'EXTXOSC' är lågenergiläge för kristalloscillator. Detta läge används för att spara ström i batteridrivna applikationer som inte kräver AVR att ge klockan källor för andra tjänster. 'EXTLOFXTAL' är lågfrekventa crystal läge optimerad för 32.768kHz klocka kristaller. "EXTFSXTAL" är Full Swing crystal läge, vilket innebär att pulserna produceras av den maximala amplitud gett matningsspänningen. Detta läge använder mer ström än low driver funktionsläge, men lämpar sig att passera till andra enheter som kräver en klocka.
Källa Klockinställningen kommer vi att använda visas i den sista bilden på detta steg: EXTXOSC_8MHZ_xx_1KCK_14CK_65MS. Så, vad allt som andra saker betyder? I ett nötskal, det står här: extern kristalloscillator, 8MHZ eller högre, 1000 klockcykler starta upp tid och vänta 14 klockcykler plus vänta 65MS längre efter reset.
Efter att ha skrivit detta lärde jag mig att när du använder en kristalloscillator, starta upp tid bör vara längre för att ge oscillatorn mer tid att komma till Vcc och stabilisera. Därför en bättre inställning för detta säkring skulle vara: EXTXOSC_8MHZ_xx_16KCK_14CK_65MS. Kretsen fungerar fortfarande med antingen inställning. *********************
Denna ansökan är inte känslig för allt utom 8MHZ eller större delen, men fördelarna från 65MS vänta, så klicka på den en markera. Den gröna checken bredvid "SUT_CKSEL" har nu bytt till ett gult utropstecken! Detta indikerar att det har skett en ändring som gjorts som inte har programmerats ännu. Gå vidare och klicka på program att skriva den nya klocka källan till chip (hoppas du har din kristall installerat!) När draken blinkar några mer den gröna bocken kommer tillbaka och ändringen har gjorts. Du kan klicka på verifiera om du vill. Det kommer bara läsa status fuse bitar igen. Du kan testa förändringen, om du vill spela, genom att ta bort kristallen och försöker kontrollera. Du får ett felmeddelande och du kommer inte kunna göra något igen förrän du installera om kristallen.
Det är det för att ställa in AVR. I nästa steg vi kommer att titta på och bygga resten av kretsen på en skärbräda, och sedan senare, vi börjar med AVR: s programvara. Kul grejer att se fram emot!