Atmel AVR

AVR on Atmelin mikro-ohjainperhe, joka sisältää laajan valikoiman 8-bittisiä mikro-ohjaimia. Sen kehittivät Norges Tekniske Høgskolen opiskelijat Alf-Egil Bogen ja Vegard Wollan. Harrastajien keskuudessa laitteisto on saanut suosiota Arduino-laitteissa. ==Ryhmittely== AVR-mikro-ohjaimet jaetaan kolmeen ryhmään niiden sisältämien ominaisuuksien sekä muistin määrän mukaan. * ATmega * AT90x * ATtiny ATtiny: *1–8 kB ohjelmamuistia *8–20-pin kotelo ATmega: *4–256 kB ohjelmamuistia *28–100-pin kotelo *Laajennettu käskykanta Tehtäväkohtaiset AVR-mikro-ohjaimet: *ATmega-sarjan piireissä voi olla erikoisominaisuuksia, joita muissa AVR-piireissä ei ole, kuten LCD-ohjain, USB-ohjain, CAN-ohjain, monimuotoisempi PWM jne. ==Teknisesti== Kaikki AVR-mikro-ohjaimet sisältävät RISC-ytimen, FLASH-ohjelmamuistia, SRAM-käyttömuistia, sekä useita I/O-väyliä. Jotkin ohjaimet sisältävät myös pysyvää EEPROM-käyttömuistia. Muita ominaisuuksia ovat esimerkiksi sisäinen kello-oskillaattori, ajastimet, keskeytysohjaimet, sarjaliikennepiiri (UART), SPI, IO-porttien ylösvetovastukset, pulssinleveysmodulaattori (PWM), A/D-muunnin (ADC), analoginen vertailija ja vahtikoira-ajastin. ==Ominaisuuksia== AVR-sarja tarjoaa paljon erilaisia ominaisuuksia: *Kaksisuuntaiset portit, vapaasti konfiguroitavissa *Sisäänrakennetut ylösvetovastukset *Sisäinen oskillaattori *Sisäistä FLASH-ohjelmamuistia jopa 256 kB *ISP (In-system programming) käyttämällä esimerkiksi ISP:tä tai JTAG:ia *OCD (On-chip debugging) käyttäen esimerkiksi JTAG:ia *Sisäistä EEPROM-muistia jopa 8 kB *Sisäistä SRAM-muistia jopa 8 kB *8- ja 16-bittiset ajastimet *PWM-lähtö *Analogiavertailijoita *10-bittinen A/D-muunnin *Erilaisia sarjaväylämahdollisuuksia esimerkiksi: **UART/USART (RS-232, RS-485...) **SPI **USI *Vahtikoira (Watchdog timer) *Erilaisia lepo- ja virransäästötiloja *CAN-ohjaimen tuki *USB-ohjaimen tuki *Ethernet-ohjaimen tuki *LCD-ohjaimen tuki. ==Ohjelmointi== Yleisin AVR- ohjelmointiin käytettävä kieli on C-kieli. Muita kielivaihtoehtoja ohjelmointiin ovat BASIC, Pascal ja Assembly. Useimmiten päädytään kuitenkin käyttämään proseduraalista C-kieltä, sillä sen kirjoittaminen on nopeaa, eikä se ole Assemblyn tapaan vaikeasti hallittavaa ja muistettavaa symbolista konekieltä. AVR-mikro-ohjaimien suorittimen käskykanta on myös kehitetty vastaamaan erityisesti C-kielen tarpeisiin. Atmel tarjoaa myös ilmaisen AVR Studio -ohjelman debuggaukseen ja ohjelmien kirjoittamiseen. Sillä voi myös simuloida ohjelman toimintaa.http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 www.atmel.com AVR Studio 4 Ohjelman siirtäminen mikro-ohjaimeen voidaan tehdä käyttäen mm. JTAG-emulaattoria. ==AVR32== AVR-perheen rinnalle on ajan myötä tullut myös muita aliperheitä. Uusin tulokas on AVR32-suoritinperhe, joka sisältää valikoiman 32-bittisiä mikro-ohjaimia. ==Lähteet== ==Aiheesta muualla== * Atmelin AVR-internetsivusto, (englanniksi) * Atmelin AVR32-internetsivusto, (englanniksi) : Sisältää myös kaikkien AVR(32) mikro- ohjaimien datalehdet * AVRFreaks AVR harrastelijoiden foorumi (englanniksi) * Suomenkielistä tietoutta mikro-ohjaimista * www.microsalo.com Suomenkielinen AVR C-kirja ladattavissa ilmaiseksi. * AVR projects and information * E-Lab:n AVRco Embedded Pascal Luokka:Suorittimet Luokka:Mikrokontrollerit