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
[muokkaa | muokkaa wikitekstiä]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
[muokkaa | muokkaa wikitekstiä]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
[muokkaa | muokkaa wikitekstiä]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
[muokkaa | muokkaa wikitekstiä]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.[1] Ohjelman siirtäminen mikro-ohjaimeen voidaan tehdä käyttäen mm. JTAG-emulaattoria.
AVR32
[muokkaa | muokkaa wikitekstiä]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
[muokkaa | muokkaa wikitekstiä]- ↑ http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 www.atmel.com AVR Studio 4
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- Atmelin AVR-internetsivusto, (englanniksi) (Arkistoitu – Internet Archive)
- Atmelin AVR32-internetsivusto, (englanniksi)
- Sisältää myös kaikkien AVR(32) mikro-ohjaimien datalehdet