Atmel AVR

Wikipediasta
(Ohjattu sivulta AVR32)
Siirry navigaatioon Siirry hakuun
ATmega32 mikro-ohjain

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ä]

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

Commons
Commons
Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta Atmel AVR.
Sisältää myös kaikkien AVR(32) mikro-ohjaimien datalehdet