Bestnr. 15 39 88 AVR® Starter Kit STK 500 Handboek voor gebruikers Alle rechten, ook vertalingen, voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een automatische gegevensbestand, of openbaar gemaakt, in enige vorm of op enige wijze, hetzij elektronisch, mechanisch, door fotokopieën, of op enige andere manier, zonder voorafgaande schriftelijke toestemming van CONRAD ELECTRONIC BENELUX B.V. Nadruk, ook als uittreksel is niet toegestaan. Druk- en vertaalfouten voorbehouden.
Inhoudsopgave Pagina Hoofdstuk 1 Introductie 1.1 Kenmerken van de Starter Kit 1.2 Ondersteuning voor apparatuur 4 5 Hoofdstuk 2 Het begin 2.1 Uitpakken van het systeem 2.2 Systeemvereisten 2.3 Snelstart 2.3.1 Verbinden van de hardware 2.3.2 Programmeren van het doel - AVR apparaat 6 6 6 7 8 Hoofdstuk 3 Beschrijving van de hardware 3.1 Beschrijving van de User LEDs 3.2 Beschrijving van de User schakelaars 3.3 Verbinden van LEDs en schakelaars 3.4 Poortaansluitingen 3.
Hoofdstuk 5 Gebruik van AVR Studio 5.1 Windows software 5.2 Opstarten van de Windows software 5.2.1 Starten van STK500 5.3 STK 500 User interface 5.3.1 “Programma” instellingen 5.3.2 “Zekeringen” instellingen 5.3.3 “Lockbits” instellingen 5.3.4 “Geavanceerd” instellingen 5.3.5 “Board” instellingen 5.3.6 “Auto” instellingen 5.3.7 Geschiedenisvenster 5.4 Commandolijn software 5.5 Parameters 5.
Hoofdstuk 1 Introductie Gefeliciteerd met de aankoop van de STK500 AVR® Flash MCU Starter Kit. De STK500 is een complete beginnerset en ontwikkelingssysteem voor de AVR Flash microcontroller van Atmel Corporation. De kit is ontworpen om ontwerpers een snelle start te geven om codes op de AVR te ontwikkelen en voor het maken van prototypes en het testen van nieuwe ontwerpen. 1.
Figuur 1-1 STK500 1.2 Ondersteuning voor apparatuur De systeemsoftware heeft op dit moment ondersteuning voor de volgende apparatuur in alle snelheidsgraden: AT90S1200 AT90S2313 AT90S2323 AT90S2333 AT90S2343 AT90S4414 AT90S4433 AT90S4434 AT90S8515 AT90S8535 ATmega161 ATmega163 ATtiny11 ATtiny12 ATtiny15 ATtiny28 Ondersteuning voor nieuwe AVR apparatuur kan toegevoegd worden in nieuwe versies van AVR Studio. De nieuwste versie van AVR Studio is altijd beschikbaar via www.atmel.com.
Hoofdstuk 2 Het begin 2.1 Uitpakken van het systeem De Starter Kit bevat: • • • • • • STK500 starter kit evaluatieboard Kabels voor STK500: (2 x) 10-draads kabels voor I/O ports en parallel mode programmering (1x) 6-draads kabel voor “in-system” programmering (4x) 2-draads kabel voor UART en DataFlash aansluitingen 9-pins RS232 kabel DC stroomkabel Atmel CD-ROM met datasheets en software AT90S8515-8PC sample microcontroller 2.
LEDs gaan van rood, via geel, naar groen. De groene LED geeft aan dat de doel Vcc aanwezig is. Het programma dat nu in de AT90S8515 loopt zal reageren op ingedrukte schakelaars door de LEDs te schakelen. Fig. 2 – 1 Instellingen af fabriek van de STK500. De starter kit kan geconfigureerd worden voor verschillende klok – en stroombronnen. Een complete beschrijving van de jumperinstellingen wordt uitgelegd in paragraaf 3.8 en op de achterkant van de starter kit. 2.3.1 Verbinden van de hardware Fig.
Instructies over hoe AVR studio te installeren en te gebruiken worden gegeven in hoofdstuk 5. Als AVR Studio gestart wordt, zal het programma automatisch detecteren met welke COM port de STK500 is verbonden. 2.3.2 Programmeren van het doel – AVR apparaat De STK500 wordt aangestuurd vanuit AVR studio, versie 3.2 en hoger. AVR Studio is een geïntegreerde ontwikkelingsomgeving (IDE) voor het ontwikkelen van en het opsporen en verwijderen van fouten in AVR toepassingen.
Hoofdstuk 3 Beschrijving van de hardware Figuur 3 – 1. Onderdelen van de STK500 3.1 Beschrijving van de User LEDs De STK500 Starter Kit bevat o.a. 8 gele LEDs en 8 druktoetsschakelaars. De LEDs en schakelaars zijn met elkaar verbonden voor het opsporen en verwijderen van aansluitingen die zijn afgescheiden van de rest van het board.Ze kunnen verbonden worden met de AVR apparatuur d.m.v. de meegeleverde 10-draads kabel met de pinaansluiting van de AVR I/O ports.
Figuur 3 – 2 Uitvoering van LEDs en LED aansluitingen Opm.: De AVR kan genoeg stroom leveren of opnemen om een LED direct aan te sturen. In het STK500 ontwerp worden een transistor en twee weerstanden gebruikt om de LED dezelfde hoeveelheid licht te laten geven, wat het doelvoltage (VTG) ook moge zijn, en de LEDs uit te schakelen als de VTG ontbreekt. 3.
3.3 Verbinden van LEDs en schakelaars Figuur 3 – 4 Verbinden van LEDs en schakelaars met I/O port aansluitingen Elke I/O port van de AVR kan verbonden worden met de LEDs en schakelaars door de 10-draads kabels te gebruiken. De aansluitingen worden voorzien van VTG (doel Vcc) en GND draden naast de signaaldraden. 3.4 Poort aansluitingen De pin -out voor de I/O poort wordt uitgelegd in figuur 3 –5. De vierkante markering geeft pin 1 aan.
De speciale functies van deze port zijn: • PE0 – PE2: Tabel 3 – 1: Port E aansluiting Atmega161 AT90S4414/AT90S8515 PE0 PE0/CP/INT2 ICP PE1 PE1/ALE ALE PE2 PE2/OC1B OC1B • REF: Analoog referentievoltage. Deze pin is verbonden met de AREF pin op apparaten die een aparte analoge referentiepin hebben. • XT1: XTAL 1 pin. Het interne hoofdkloksignaal naar alle sokkels. Als de XTAL1 jumper losgemaakt wordt, kan deze pin gebruikt worden als extern kloksignaal. • XT2: XTAL 2 pin.
Figuur 3 – 9 Aansluiting van I/O ports met UART Figuur 3 – 10 Schema van de UART pin aansluitingen 3.6 Beschrijving van de DataFlash pins De STK500 is voorzien van een AT45D021 2-Mbit Dataflash voor niet-vluchtige dataopslag. Een DataFlash is een hooggevoelig Flash geheugen met een SPI seriële interface. Een gedetailleerde datasheet van de DataFlash is te verkrijgen via de DataFlash geheugensectie van de Atmel CDROM of van de Atmel website.
Figuur 3 – 11 PORTB SPI pin –out (40-pins delen) Figuur 3 – 12 PORTB SPI pin –out (28-pins analoge delen) Figuur 3 - 13 Aansluiting van de I/O pins met DataFlash voor AT90S8515 Figuur 3 – 14 Schema van de DataFlash aansluitingen 14
3.7 Doel sokkelgedeelte De programmeermodule bestaat uit de 8 sokkels in het witte gedeelte in het midden van de Starter Kit. De doel AVR apparaten kunnen in deze sokkels geplaatst worden voor het programmeren en de sokkels kunnen gebruikt worden bij de toepassing. Opm.: Er mag slechts één AVR apparaat tegelijk in de sokkels geplaatst worden. Het AVR Flash geheugen wordt gegarandeerd nog steeds correct te zijn na 1.000 programmeerbewerkingen; de typische levensduur van het Flash geheugen is veel langer.
3.7.1 ISP programmering In-System programming gebruikt de interne SPI (seriële perifere interface) van de AVR om een code te downloaden naar het Flash en EEPROM geheugen van de AVR. Voor ISP programmering zijn alleen VCC, GND, RESET en drie signaallijnen nodig voor het programmeren. Alle AVR apparaten behalve AT90C8534, ATiny10, ATiny11 en ATiny28 kunnen ISP geprogrammeerd worden. De AVR kan geprogrammeerd worden met het normale werkvoltage, normaalgesproken 2.7V – 6,0V.
Tabel 3 – 2. AVR app. AT90S1200 AT90S2313 AT90S2323 AT90S2343 ATiny12 ATiny11 ATiny28 AT90S4414 AT90S8515 ATmega161 AT90S4434 AT90S8535 ATmega163 AT90S2333 AT90S4433 ATiny15 AVR sokkels STK500 sokkel Kleur Nummer Doel –ISP aansluiting SCKT3300D3 Rood 3 SPROG3 N/A SCKT3400D1 blauw 1 SPROG1.
Er worden twee verschillende methodes gebruikt voor hoogspanningsprogrammering: 8-pins apparaten gebruiken een seriële programmeerinterface, terwijl andere apparaten een parallelle programmeerinterface gebruiken. De programmeersignalen worden naar de juiste pins van het doelapparaat geleid door van de met de STK500 meegeleverde kabels gebruik te maken. Tabel 3 – 3 geeft een opsomming van de programmeermethode en speciale aandachtspunten als u hoogspanningsprogrammering gebruikt. Tabel 3 – 3 AVR app.
Figuur 3 – 17 Aansluiting voor parallelle hoogspanningsprogrammering Sommige van de jumperinstellingen van de STK500 moeten veranderd worden als er hoogspanningsprogrammering gebruikt wordt. Figuur 3 – 18 verklaart deze jumperinstellingen. Figuur 3 – 18 Jumperinstellingen voor hoogspanningsprogrammering Hardware set-up voor parallelle hoogspanningsprogrammering: 1. Schakel de stroom uit. 2. Plaats het apparaat dat geprogrammeerd moet worden in de sokkel volgens tabel 3 – 3. 3.
Opm.: Verwijder de hardware set-up voor de hoogspanningsprogrammering voor u begint met een debug sessie. 3.7.2.2 Seriële hoogspanningsprogrammering De 8-pins AVRs hebben te weinig pins om een parallelle communicatie te gebruiken tijdens de hoogspanningsprogrammering. In plaats daarvan gebruiken ze seriële communicatie. Dit betekent dat er minder signalen geleid hoeven te worden. De hardware set-up voor seriële hoogspanningsprogrammering is als volgt: 1. Schakel de stroom uit. 2.
3.8 Instellen van de jumpers Een Master MCU en acht jumpers regelen de hardware instellingen van de Starter Kit. Tijdens normaal gebruik dienen deze jumpers geplaatst te zijn in de positie zoals ze af fabriek geplaatst zijn. Om de Starter Kit te configureren voor geavanceerd gebruik kunnen de jumpers verwijderd of in andere posities geplaatst worden. De jumperinstellingen en het gebruik ervan worden in het volgende gedeelte uitgelegd. De instellingen af fabriek zijn te zien in onderstaande figuur 3 – 20.
Als er een externe bron gebruikt wordt voor VTARGET, moet de gebruiker controleren of de VTARGET wel een hoger voltageniveau heeft dan AREF (analoog referentievoltage). Verbind steeds de gemeenschappelijke massa (GND) als u een extern VTARGET voltage gebruikt. Figuur 3 – 21 VTARGET jumper opties De STK500 Master MCU regelt het doelvoltage en gebruikt daarvoor de interne PWM. Figuur 3 – 22 toont de interne aansluiting van het VTARGET signaal. Figuur 3 – 22 VTARGET aansluiting Opm.
Figuur 3 – 23 AREF jumper opties De Master MCU van de STK500 regelt het analoge referentievoltage, waarbij de interne PWM gebruikt wordt. Het AREF signaal van de AVR is tevens toegankelijk op de PORTE aansluiting; deze pin kan ook gebruikt worden voor het externe AREF signaal. Figuur 3 – 24 toont de interne aansluiting van het AREF signaal.
De RESET jumper moet altijd geplaatst zijn als er een AVR apparaat met hoogspanning geprogrammeerd wordt. Als er een extern reset systeem gebruikt wordt, moet er voor gezorgd worden dat de reset lijn tijdens het programmeren geregeld wordt door het Master MCU reset systeem. De RESET knop is niet verbonden, als de RESET jumper niet geplaatst is. Figuur 3 – 25 toont de RESET jumper opties. Figuur 3 – 25 RESET jumper opties De STK500 Master MCU regelt het RESET signaal naar de doel AVR.
3.8.4 Instellingen van de klok, XTAL1 en OSCSEL De STK500 heeft verschillende klok –opties voor de doel AVR. Het plaatsen van de jumpers XTAL1 en OSCSEL regelt de klokkeuzes. OSCSEL bepaalt welk signaal er naar de XTAL1 pin van de AVR geleid moet worden. Als de XTAL1 jumper geplaatst is, wordt het interne kloksysteem van de STK500 gebruikt als hoofdklok voor de doel AVR. Als de XTAL1 jumper niet geplaatst is, is het interne systeem losgekoppeld.
De on-board oscillator werkt met keramische resonatoren of kristallen tussen 2 – 20 MHz (AT – geslepen, fundamentele en parallel resonante kristallen). Figuur 3 - 28 OSCSEL jumperopties Als de AVR in de hoogspanningsprogrammeermodus geprogrammeerd wordt, moet OSCSEL geplaatst worden op de pins 1 en 2, om te zorgen dat de master MCU de doelklok kan regelen. Dit wordt in detail uitgelegd in paragraaf 3.7.2 op pagina 17. Opm.
3.8.5 BSEL2 Jumper De BSEL2 jumper verbindt het Byte Select 2 signaal voor de hoogspanningsprogrammering van ATmega161 en ATmega163. De BSEL2 jumper moet alleen geplaatst worden bij de hoogspanningsprogrammering van de ATmega161 en ATmega163. Voor een beschrijving van het Byte Select 2 signaal zie het programmeergedeelte van de datasheet van de ATmega161 en de ATmega163. 3.8.
Figuur 3 – 31 Expansieaansluiting 0 pin-out Figuur 3 – 32 Expansieaansluiting 1 pin-out 3.9.1 Beschrijving van de signalen De signalen AUXI1, AUXI0, AUXO1 en AUXO0 zijn bedoeld voor toekomstig gebruik. Verbind deze aansluitingen niet met uw applicatie. De DATA[7:0] en CT[7:1] signalen vindt u ook op de Prog Data en Prog Ctrl aansluitingen. Deze signalen en aansluitingen worden uitgelegd in paragraaf 3.10 op pagina 29.
Het BSEL2 signaal is hetzelfde als het signaal op de BSEL2 jumper. Deze jumper wordt verklaard in paragraaf 3.8.5 op pagina 27 De SI, SO, SCK en CS signalen worden verbonden met de Data Flash. Het gebruik van de Data Flash wordt beschreven in paragraaf 3.6 op pagina 13. NC betekent dat deze pin niet is verbonden. De overblijvende signalen zijn gelijk aan de signalen die u aantreft op de PORT aansluitingen, uitgelegd in paragraaf 3.4 op pagina 11. Opm.
Figuur 3 – 34 Prog Data aansluitingen pin-out De Prog Data signalen worden gebruikt voor de data bus bij de parallelle hoogspanning – programmering van een AVR apparaat. Tijdens ISP programmering wordt DATA5 gebruikt als MOSI, DATA6 wordt gebruikt als MISO en DATA7 wordt gebruikt voor SCK. Opm.: Alle Prog Ctrl signalen zijn gebaseerd op 5V logic. Er wordt geen voltage –omvorming voor aanpassing aan VTG uitgevoerd op deze signalen. 3.
3.11.2 PROGRAM druktoets Toekomstige versies van AVR studio kunnen de master MCU op de STK500 upgraden. AVR studio zal dan oude software versies van de STK500 detecteren en het Flash programmageheugen van de master MCU upgraden. Om dit te doen, wordt de gebruiker gevraagd op de PROGRAM druktoets te drukken als de STK500 aangezet wordt. AVR Studio geeft tijdens het upgrade proces instructies hoe de upgrade uitgevoerd moet worden. 3.11.
Hoofdstuk 5 Gebruik van AVR studio 5.1 Windows Software In dit hoofdstuk wordt de ondersteunende software voor de STK500 gepresenteerd en er wordt een uitgebreide beschrijving gegeven van de beschikbare programmeeropties. 5.2 Starten van de Windos Software De software die gebruikt wordt voor de communicatie met het STK500 ontwikkelingsbord is inbegrepen in AVR Studio, versie 3.2 of recenter. Voor informatie hoe u deze software moet installeren, zie hoofdstuk 4 op pagina 31.
ken hebben, zullen de beschikbare opties en keuzes afhangen van welk apparaat er gekozen wordt. Niet beschikbare opties zijn grijs gemarkeerd. 5.3.1 “Program” instellingen De programma-instellingen zijn verdeeld in vier verschillende subgroepen. 5.3.1.1 Apparaat Een apparaat wordt gekozen door het juiste apparaat te kiezen uit het pull -down menu. Deze groep bevat tevens een knop die de chip wist van het gekozen apparaat, waarbij zowel de Flash als de EEPROM geheugens gewist worden. 5.3.1.
Figuur 5 – 2 Programma 5.3.1.4 EEPROM Als de STK500 gebruikersinterface geopend wordt zonder dat er een project is geladen in AVR Studio, zal de “Use Current Simulator/Emulator EEPROM Memory” (gebruik huidige simulator/ emulator EEPROM geheugen) optie grijs gemarkeerd worden. Als er een project geopend is, is het bij deze optie mogelijk het EEPROM geheugen te programmeren dat op dit moment aanwezig is in het EEPROM Memory overzicht van AVR Studio.
Gedetailleerde informatie over welke zekeringen er beschikbaar zijn in de verschillende programmeermodi en de functies ervan kunt u vinden in de desbetreffende datasheet van het apparaat. Figuur 5 – 3 Zekeringen 5.3.3 “Lockbit” instellingen Net als bij het “Fuses” tabblad, toont het “Lockbits” tabblad welke vergrendelingmodi (“lock modes”) er bij het gekozen apparaat toegepast kunnen worden. Alle lock bits zijn zowel in ISP als in hoogspanningprogrammering toegankelijk.
Figuur 5 – 4 Lock Bits 5.3.4 “Geavanceerd” instellingen Het “Geavanceerd” tabblad is op dit moment verdeeld in twee subgroepen. 5.3.4.1 Signatuur bytes Door op de “Read Signature” knop te drukken, worden de signatuurbytes van het doelapparaat gelezen. De signatuurbytes werken als een herkenningsteken voor het onderdeel. Kijk in de AVR datasheets om meer te lezen over de signatuurbytes.
Figuur 5 – 5 Geavanceerd 5.3.4.2 Oscillator kalibrering byte De oscillator kalibrering byte wordt tijdens het maken naar het apparaat geschreven en kan niet gewist of veranderd worden door de gebruiker. De kalibrering byte is een afstemwaarde die geschreven moet worden naar het OSCCAL register om de interne RC oscillator af te stemmen. 5.3.4.3 Lezen van de oscillator kalibrering byte Wanneer u op de “Read Cal.
De interface is zeer flexibel en het is mogelijk de werkvoorwaarden in te stellen tot buiten de aanbevolen specificaties voor het apparaat. Het wordt niet aanbevolen om dit te doen, en het zou het doelapparaat kunnen beschadigen. De aanbevolen werkvoorwaarden voor het onderdeel worden vermeld in de datasheet van het apparaat. Figuur 5 – 6 Board 5.3.5.1 VTARGET VTARGET regelt het werkvoltage voor het doelboard.
5.3.5.3 Oscillator De STK500 gebruikt een programmeerbaar oscillatorcircuit dat een groot bereik aan frequenties biedt voor het doelapparaat. Aangezien het niet mogelijk is een onbeperkt aantal frequenties te genereren, zal de STK user interface de waarde berekenen die het dichtst bij de waarde ligt die geschreven is naar de oscillator tekstbox. De berekende waarde wordt dan in de oscillator tekstbox getoond, waarbij de daarvoor geschreven waarde overschreven wordt. 5.3.
Als alles geconfigureerd is, wordt iedere keer als u op de “Start” knop drukt dezelfde programmeervolgorde uitgevoerd. Dit vermindert de hoeveelheid werk en tevens de kans op fouten die te wijten zijn aan operationele fouten. 5.3.6.2 Schrijven van de Auto –programmering naar een bestand Door op de “Log to file” (schrijf naar bestand) checkbox te klikken, wordt alle output van de commando’s naar een tekstbestand geschreven.
Synopsis:STK500 [-d device name] [m-slp] [-if infile] [ie infile] [-of outfile] [-oe outfile] [-s] [-e] [-p flelb] [-v flelb] [-l value] [-y] [-f value] [-q] [-x value] [-af start,stop] [-ae start,stop] [-c port] [-ut value] [-ua value] [-wt] [-wa] [-j value] [-b his] [-! n,p] [-?] [-t plt] [-n] [-g] [-z] [-hl?] 5.5 Parameters d Apparaatnaam. Moet gebruikt worden als het apparaat geprogrammeerd wordt. Zie onderstaande lijst. Selecteer programmamodus, serieel (s) of parallel (p).
b ! h|? krijgen van revisies; hardware revisie (h) en software revisie (s). Instellen van oscillator parameters; “n” is de vergelijkende registerwaarde en “p” is de prescaler registerwaarde. Krijgen van de oscillator parameters. Krijgen van de zojuist geselecteerde apparaat parameters. Krijgen van huidige programmeermodus. Stil werken. Geen voortgang indicator. Bijvoorbeeld, als u naar een file schrijft, gebruikt u deze optie om de non-ASCII tekens te vermijden die voor de indicator gebruikt worden.
Figuur 6 – 2 10-pins ISP aansluitings- pin-out Kies het apparaat dat geprogrammeerd moet worden op dezelfde manier als wanneer u een apparaat op de STK500 programmeert. De VCC van de doelapplicatie wordt gedetecteerd door de STK500 en de signalen worden omgezet in voltageniveaus die geschikt zijn voor het doelsysteem. Noot: Als de andere applicatie zijn eigen stroomvoorziening naar VTG heeft, moet de jumper VTARGET verwijderd worden voor u de STK500 verbindt met de andere applicatie.
Hoofdstuk 7 Verhelpen van storingen Gids voor het verhelpen van storingen Probleem De rode Power LED brandt niet De voorgeprogrammeerde voorbeeldcode triggert de LEDs niet. Oorzaak De DC stroomkabel is niet verbonden. Er wordt de verkeerde stroomtoevoer gebruikt. De Aan/Uit –schakelaar staat uit. Er bevindt zich geen AVR apparaat in de sokkel. De LEDs zijn niet verbonden met de I/O ports. Oplossing Verbind de DC stroomkabel met de DC stekker (pag.
Hoofdstuk 8 Technische ondersteuning Voor technische ondersteuning kunt u contact opnemen met avr@atmel.com. Als u om technische ondersteuning voor de STK500 vraagt, dient u de volgende informatie mee te sturen: Versienummer van AVR Studio. Dit kunt u vinden in het AVR Studio menu, “Help>About”.
sbis neg sbis swap PIND, 0x05 Temp PIND, 0x06 Temp ; ; ; ; als (Port D, pin5 == 0) keer dan alle LEDs om en tel er één bij op als (Port D, pin 6 == 0) verwissel dan de punten van de LEDs ;***** Wacht nu tot de veranderingen van de LEDs zichtbaar zijn.
EEN BEPAALD DOEL. HET ENIGE HERSTEL VOOR ENIGE GARANTIEBREUK ZAL ZIJN ZOALS EXPLICIET HIERIN VOORZIEN. Beperking van aansprakelijkheid Niettegenstaande enige vermelding van het tegendeel hierin vermeld, zal Atmel onder geen enkele omstandigheid, aansprakelijk zijn ten aanzien van koper of enige derden voor gevolg- , incidentele, indirecte, kenschetsende, speciale of andere schade. Atmel’s totale aansprakelijkheid zal niet hoger zijn dan het bedrag dat door koper aan Atmel betaald is.