AVR mikrokontrolleru veidi - Atmega32 un ATmega8

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





ATmega32 - 8 bitu AVR mikrokontrolleris

AVR mikrokontrolleru pamatā ir uzlabotā RISC arhitektūra. ATmega32 ir mazjaudas CMOS 8 bitu mikrokontrolleris, kas balstīts uz AVR uzlaboto RISC arhitektūru. AVR var izpildīt 1 miljonu instrukciju sekundē, ja cikla frekvence ir 1MHz.

40 kontaktu DIP ATmega32 fotogrāfija

40 kontaktu DIP ATmega32 fotogrāfija



Galvenās iezīmes:


  • 32 x 8 vispārējas nozīmes reģistri.
  • 32K baiti sistēmas pašprogrammējamā zibatmiņas atmiņā
  • Iekšējā SRAM 2K baiti
  • 1024 baiti EEPROM
  • Pieejams 40 kontaktu DIP, 44 svina QTFP, 44 spilventiņu QFN / MLF
  • 32 programmējamas I / O līnijas
  • 8 kanāli, 10 bitu ADC
  • Divi 8 bitu taimeri / skaitītāji ar atsevišķiem preskaleriem un salīdzina režīmus
  • Viens 16 bitu taimeris / skaitītājs ar atsevišķu preskaleru, salīdziniet režīmu un uzņemšanas režīmu.
  • 4 PWM kanāli
  • Sistēmas programmēšanā ar mikroshēmas sāknēšanas programmu
  • Programmējams sargsuņa taimeris ar atsevišķu mikroshēmas oscilatoru.
  • Programmējams sērijveida USART
  • Galvenais / vergu SPI seriālais interfeiss

Īpašās mikrokontrollera funkcijas:

  • Seši miega režīmi: dīkstāvē, ADC trokšņu samazināšana, enerģijas taupīšana, izslēgšana, gaidstāves režīms un pagarināts gaidīšanas režīms.
  • Iekšējais kalibrēts RC oscilators
  • Ārējie un iekšējie pārtraukumu avoti
  • Ieslēdziet atiestatīšanu un programmējamu brūnas krāsas noteikšanu.
ATmega32 40 kontaktu DIP

ATmega32 40 kontaktu DIP



Visi 32 reģistri ir tieši saistīti ar aritmētiskās loģikas vienību (ALU), ļaujot piekļūt diviem neatkarīgiem reģistriem vienā instrukcijā, kas izpildīta vienā pulksteņa ciklā.

Izslēdzot slēdzi, tiek saglabāts reģistra saturs, bet iesaldēts oscilators. Visas citas mikroshēmas funkcijas tiks atspējotas līdz nākamajam ārējam pārtraukumam. Asinhronais taimeris ļauj lietotājam uzturēt taimeri enerģijas taupīšanas režīmā, kamēr pārējā ierīce guļ.

ADC trokšņu samazināšanas režīms aptur CPU un visus I / O moduļus, izņemot ADC un asinhrono taimeri. Gaidīšanas režīmā, izņemot kristāla oscilatoru, pārējā ierīce guļ. Gan galvenais oscilators, gan asinhronais taimeris turpina darboties pagarinātā gaidīšanas režīmā.

ATmega32 ir spēcīgs mikrokontrolieris, jo tā sistēmā ir programmējama zibspuldze monolītā mikroshēmā, tā nodrošina ļoti elastīgu un rentablu risinājumu daudzām iegultās vadības lietojumprogrammām.


44 spilventiņu TQFP / MLF

44 spilventiņu TQFP / MLF

Piespraudes apraksti:

VCC: Digitālā sprieguma padeve

GND: Zeme

A ports (PA7-PA0): Šis ports darbojas kā analogās ieejas A / D pārveidotājā. Tas arī kalpo kā 8 bitu divvirzienu I / O ports, ja netiek izmantots A / D pārveidotājs.

B ports (PB7-PB0) un ports D (PD7-PD0): Tas ir 8 bitu divvirzienu I / O ports. Tā izejas buferiem ir simetriskas piedziņas īpašības ar augstu izlietnes un avota spēju. Kā ieejas, ja tiek aktivizēti pievilkšanas rezistori, tie tiek ārkārtīgi novilkti. Tas kalpo arī dažādām ATmega32 īpašajām funkcijām.

C ports (PC7-PC0): Tas ir 8 bitu divvirzienu I / O ports. Ja ir iespējota JTAG saskarne, tiks aktivizēti pievilkšanas rezistori uz tapām PC5 (TDI), PC3 (TMS) un PC2 (TCK).

JTAG saskarne, izmantojot ATmega32 C portu

JTAG saskarne, izmantojot ATmega32 C portu

Atiestatīt: Tas ir ieguldījums.

XTAL1: Tā ir ieeja invertējošā oscilatora pastiprinātājā un ieeja pulksteņa iekšējās darbības ķēdē.

XTAL2: Tā ir izeja no invertējošā oscilatora pastiprinātāja.

AVCC: Tas ir barošanas sprieguma tapa A un D porta pārveidotājiem. Tam jābūt savienotam ar VCC.

AREF: AREF ir analogais A / D pārveidotāja atskaites tapa.

ATmega32 atmiņas:

Tam ir divas galvenās atmiņas vietas datu atmiņā un programmas atmiņā. Turklāt tajā ir EEPROM atmiņa datu glabāšanai.

Sistēmas programmējamā Flash programmas atmiņā:

ATmega32 satur 32 KB bitu mikroshēmas sistēmas pārprogrammējamā zibatmiņā programmu glabāšanai. Flash ir sakārtots kā 16k X 16, un tā atmiņa ir sadalīta divās sadaļās: Sāknēšanas programmas sadaļā un lietojumprogrammu sadaļā.

ISP programmētāja shēmas shēma

ISP programmētāja shēmas diagramma

SRAM datu atmiņa:

Reģistrācijas failu, I / O atmiņu un iekšējos datus SRAM adresē apakšējās 2144 datu atmiņas vietas. Pirmās 96 vietas adresē reģistra failu un I / O atmiņu, un iekšējie dati SRAM tiek adresēti nākamajās 2048 vietās. Tiešie, netiešie ar pārvietojumu, netiešie, netiešie ar iepriekšēju samazinājumu un tiešie ar pēc samazinājumu ir 5 dažādi adresācijas režīmi, kas attiecas uz datu atmiņu. Izmantojot šos adresēšanas režīmus, ir pieejami 32 vispārējas nozīmes reģistri, 64 I / O reģistri un 2048 baiti iekšējo datu SRAM.

ATmega32 blokshēma

ATmega32 blokshēma

EEPROM datu atmiņa:

Tajā ir 1024 baiti datu EEPROM atmiņas. Tam var piekļūt kā atsevišķai datu telpai, kurā var lasīt un rakstīt atsevišķus baitus.

I / O atmiņa:

Visas I / O un perifērijas ierīces tiek ievietotas I / O telpā. I / O vietām piekļūst ar IN un OUT instrukcijām, pārsūtot datus starp 32 vispārējas nozīmes reģistriem un I / O telpu. I / O reģistri, kuru adrese ir 00-1F, ir tieši pieejami mazliet ar bitiem, izmantojot SBI un CBI instrukcijas.

ATmega8

Ievads

Tas ir 8 bitu CMOS iebūvēts mikrokontrolleris no AVR saimes (ko izstrādāja Atmel Corporation 1996. gadā), un tas ir veidots uz RSIC (Reduced Instruction Set Computer) arhitektūras. Tās galvenā priekšrocība ir tā, ka tajā nav akumulatora, un jebkuras darbības rezultātu var saglabāt jebkurā reģistrā, ko nosaka instrukcija.

Arhitektūra

Arhitektūra

Arhitektūra

Atmiņa

Tas sastāv no 8 KB zibatmiņas, 1 KB SRAM un 512 baitu EEPROM. 8K zibspuldze ir sadalīta 2 daļās - apakšējā daļa, ko izmanto kā sāknēšanas zibspuldzes sadaļu, un augšējā daļa, ko izmanto kā lietojumprogrammas zibspuldzes sadaļu. SRAM satur 1K baitus, kā arī 1120 baitus vispārējas nozīmes reģistru un I / O reģistrus. Zemākās 32 adrešu atrašanās vietas tiek izmantotas 32 vispārējas nozīmes 8 bitu reģistriem. Nākamās 64 adreses tiek izmantotas I / O reģistriem. Visi reģistri ir savienoti tieši ar ALU. EEPROM tiek izmantots lietotāja definētu datu glabāšanai.

Ieejas / izejas porti

Tas sastāv no 23 I / O līnijām ar 3 I / O pieslēgvietām ar nosaukumu B, C un D. Ports B sastāv no 8 I / O līnijām, C ports sastāv no 7 I / O līnijām un D ports no 8 I / O līnijām. līnijas.

Reģistri, kas atbilst jebkuram portam X (B, C vai D), ir:

DDRX : X porta datu virzienu reģistrs

PORTX : X porta datu reģistrs

PINX : X porta ievades reģistrs

Taimeri un skaitītāji

To veido 3 taimeri ar salīdzināmiem režīmiem. Divas no tām ir 8 bitu, bet trešā ir 16 bitu.

Oscilatori

Tas ietver iekšējo atiestatīšanu un oscilatoru, kas ļauj novērst nepieciešamību pēc jebkādas ārējas ievades. Iekšējais RC oscilators spēj ģenerēt iekšējo pulksteni, kas var darboties ar jebkuru 1MHz, 2MHz, 4MHz vai 8MHz frekvenci, kā ieprogrammēts. Tas atbalsta arī ārējo oscilatoru ar maksimālo frekvenci 16MHz.

Komunikācija

Tas nodrošina gan sinhronas, gan asinhronas datu pārsūtīšanas shēmas, izmantojot USART (universālo sinhrono un asinhrono uztvērēju raidītāju), t.i., saziņu ar modemiem un citām seriālām ierīcēm. Tas atbalsta arī SPI (Serial Peripheral Interface), ko izmanto saziņai starp ierīcēm, pamatojoties uz galveno-vergu metodi. Vēl viens atbalstīts saziņas veids ir TWI (divu vadu saskarne). Tas ļauj komutēt starp jebkurām divām ierīcēm, izmantojot 2 vadus kopā ar kopēju zemējuma savienojumu.

Tam ir arī mikroshēmā integrēts salīdzināšanas modulis, lai nodrošinātu salīdzinājumu starp diviem spriegumiem, kas savienoti ar divām analogā salīdzinātāja ieejām caur ārējām mikroshēmām.

Tas satur arī 6 kanālu ADC, no kuriem 4 ar 10 bitu precizitāti un 2 ar 8 bitu precizitāti.

Statusa reģistrs : Tajā ir informācija par pašlaik izpildīto aritmētisko komandu kopu.

ATmega tapa diagramma :

ATmega tapa diagramma

ATmega tapa diagramma

Viena no svarīgām ATmega8 iezīmēm ir tā, ka, izņemot 5 tapas, visas pārējās tapas atbalsta divus signālus.

  • C pieslēgvietai izmanto tapas 23,24,25,26,27,28 un 1, savukārt B pieslēgvietai - 9,10,14,15,16,17,18,19 un tapām 2,3,4, 5,6,11,12 tiek izmantoti D ostai.
  • 1. tapa ir arī atiestatīšanas tapa, un zema līmeņa signāla lietošana uz laiku, kas pārsniedz minimālo impulsa garumu, radīs atiestatīšanu.
  • 2. un 3. tapas tiek izmantotas arī sērijveida saziņai ar USART.
  • 4. un 5. tapas tiek izmantotas kā ārējie pārtraukumi. Viens no tiem aktivizēsies, kad ir iestatīts statusa reģistra pārtraukuma karodziņa bits, un otrs aktivizēsies tik ilgi, kamēr pastāv pārtraukuma nosacījums.
  • 9. un 10. tapas tiek izmantotas kā ārējais oscilators, kā arī taimera skaitītāju oscilatori, kur kristāls ir savienots tieši starp tapām. 10. tapu izmanto kristāla oscilatoram vai zemfrekvences kristāla oscilatoram. Ja iekšējais kalibrētais RC oscilators tiek izmantots kā pulksteņa avots un ir iespējots asinhronais taimeris, šīs tapas var izmantot kā taimera oscilatora tapas.
  • 19. tapa tiek izmantota kā galvenā pulksteņa izeja, vergu pulksteņa ievade SPI kanālam.
  • 18. tapa tiek izmantota kā galvenā pulksteņa ievade, vergu pulksteņa izeja.
  • 17. tapa tiek izmantota kā pamatdatu izvade, vergu datu ievade SPI kanālam. To izmanto kā ieeju, kad to iespējojis vergs, un tas ir divvirzienu, ja to iespēj meistars. Šo tapu var izmantot arī kā izejas salīdzināšanas spēles rezultātu, kas kalpo kā ārēja izeja taimera / skaitītāja salīdzināšanas mačam.
  • Pin16 tiek izmantots kā vergu atlases ievade. To var izmantot arī kā taimera / skaitītāja1 salīdzināšanas spēli, konfigurējot PB2 tapu kā izvadi.
  • Pin15 var izmantot kā ārēju izeju taimera / skaitītāja salīdzināšanai ar A.
  • 23. līdz 28. tapas tiek izmantotas ADC kanāliem. Piespraudes 27 var izmantot arī kā sērijas saskarnes pulksteni un tapu 28 var izmantot kā sērijas saskarnes datus
  • 13. un 12. tapas tiek izmantotas kā analogā salīdzinātāja ieejas.
  • 11. un 6. tapas tiek izmantotas kā taimera / skaitītāja avoti.

Mikrokontrolleru miega režīmi

Mikrokontrolleris darbojas 6 miega režīmos.

  • Dīkstāves režīms: Tas aptur CPU darbību, bet ļauj darbināt SPI, USART, ADC, TWI, taimeri / skaitītāju un Watchdog un pārtrauc sistēmu. Tas tiek sasniegts, uz nulles iestatot MCU reģistra karoga SM0 uz SM2 bitiem.
  • ADC trokšņa samazināšanas režīms : Tas aptur CPU, bet ļauj darboties ADC, ārējiem pārtraukumiem, taimera / skaitītāja2 un sargsuņa darbībai.
  • Izslēgšanas režīms : Tas ļauj ārējiem pārtraukumiem, 2 vadu seriālajam interfeisam, sargsuņam, vienlaikus atspējojot ārējo oscilatoru. Tas aptur visus ģenerētos pulksteņus.
  • Enerģijas taupīšanas režīms : To lieto, ja taimeris / skaitītājs tiek pulksteņa rādītājs asinhroni. Tas aptur visus pulksteņus, izņemot clkASY.
  • Gaidīšanas režīmā : Šajā režīmā oscilatoram ir atļauts darboties, apturot visas citas darbības.

Lietojumprogrammas, kurās iesaistīta Atmega8

Mirgo gaismas diode

Pieteikumi, kas saistīti ar Atmega8

Mirgojoša LEd shēma

Programma ir rakstīta, izmantojot C valodu, un vispirms tiek apkopota kā .c fails. Programmatūras rīks ATMEL pārveidos šo failu par bināru ELF objekta failu. Pēc tam tas atkal tiek pārveidots par hex failu. Pēc tam hex fails tiek nodots mikrokontrollerim, izmantojot AVR dude programmu.

Fotoattēlu kredīts: