ATmega328

Z Wikipedie, otevřené encyklopedie
ATmega328P v pouzdře DIP s 28 vývody
Čip ATmega328P

ATmega328 je jednočipový mikrořadič z rodiny megaAVR navržený firmou Atmel.

Specifikace[editovat | editovat zdroj]

Atmel je 8bitový mikrořadič založený na architektuře AVR RISC, který integruje 32 kiB ISP flash paměti s podporou read-while-write, 1 kB EEPROM, 2 kB SRAM, 23 univerzálních vstupně-výstupních vývodů, 32 univerzálních registrů, tři flexibilní čítače/časovače s porovnávacími režimy, vnitřní a vnější přerušení, programovatelný sériový obvod USART, bajtově orientované 2vodičové sériové rozhraní, sériový port SPI, 6kanálový 10bitový A/D převodník (ve verzích TQFP a QFN/MLF 8kanálový), programovatelný watchdog timer s interním oscilátorem, a pět programovatelných režimů pro úsporu energie. Napájecí napětí může být v rozsahu 1,8 až 5,5 voltů. Výkon procesoru odpovídá 1 MIPS/MHz.[1]

Klíčové parametry[editovat | editovat zdroj]

Parameter Value
Typ CPU 8-bit AVR
Výkon 20 MIPS při 20 MHz[2]
Paměť flash 32 kB
SRAM 2 kB
EEPROM 1 kB
Počet vývodů 28 u verze PDIP, 32 u verze TQFP; QFN/MLF má variantu s 28 i 32 vývody
Maximální frekvence
20 MHz
Počet touch channels 16
Hardware QTouch Acquisition Ne
Maximální počet vstupně-výstupních vývodů 23
Počet externích přerušení 2
Rozhraní USB Ne

Náhrady[editovat | editovat zdroj]

Možnou náhradou za ATmega328 je „picoPower“ ATmega328P. Úplný seznam ostatních členů řady megaAVR lze nalézt na webových stránkách Atmel.[3]

Použití[editovat | editovat zdroj]

Od roku 2013 se ATmega328 běžně používá v mnoha projektech a autonomních systémech, které vyžadují jednoduché, úsporné a levné mikrořadiče[zdroj?]. K nejrozšířenějším využitím obvodu patří zařízení jednoúčelové průmyslové automatizace, jednoúčelová zařízení (battery management, meteorologické stanice, měřicí zařízení) apod.

Spolehlivost[editovat | editovat zdroj]

Testy spolehlivosti ukazují, že očekávaná míra selhání uchovávání dat je mnohem menší než 1 PPM za více než 20 let při teplotě 85 °C nebo 100 let při 25 °C.[4]

Programování[editovat | editovat zdroj]

Vývody ATmega 48A/PA/88A/PA/168A/PA/328/P v pouzdře 28-DIP (datasheet)
Paralelní programovací režim[2]
Programování signál Jméno pinu I/O Funkce
RDY/BSY PD1 O Vysoká úroveň znamená, že MCU je připraveno pro nový příkaz, jinak je zaneprázdněno.
OE PD2 I Output Enable (Aktivní při nízké úrovni)
WR PD3 I Write Impuls (Aktivní při nízké úrovni)
BS1 PD4 I Výběr bajtu 1 ("0" = nižší bajt, "1" = vyšší bajt)
XA0 PD5 I XTAL Action bit 0
XA1 PD6 I XTAL Action bit 1
PAGEL PD7 I Zápis do paměti programu nebo dat (flash a EEPROM)
PS2 PC2 I Výběr bajtu 2 ("0" = nižší bajt, "1" = vyšší bajt)
DATA PC[1:0]:PB[5:0] I/O Obousměrná datová sběrnice (je-li Output Enable na nízké úrovni, pak výstup)

Vstup do programovacího módu se děje nastavením vývodů PAGEL (PD7), XA1 (PD6), XA0 (PD5), BS1 (PD4) na napětí 0 V[2] s následným nastavením RESET na 0 V a vypnutím napájení VCC. Pak je na VCC přivedeno napájení o napětí 4,5 - 5,5 V a po prodlevě 60 µs se vstup RESET nastaví na 11,5 - 12,5 V, přičemž tento stav musí trvat nejméně 310 µs.[2] Pak se nastaví XA1:XA0:BS1:DAT = 100 1000 0000 a pošle se impuls o délce trvání alespoň 150 ns na XTAL1 a impuls na nulu na WR. Tím se zahájí výmaz paměti obvodu, jehož ukončení signalizuje obvod uvedením RDY/BSY (PD1) na vysokou úroveň. Nastavit XA1:XA0:BS1:DAT = 100 0001 0000, přivést impuls na XTAL1, a impuls na WR na nulu je příkaz pro zápis do flash paměti.[2] A tak dále.

Sériový programovací režim[2]
Symbol Kolíky I/O Popis
MOSI PB3 I Vstup sériových dat
MISO PB4 O Výstup sériových dat
SCK PB5 I Hodiny pro sériová data

Sériová data do MCU jsou taktována vzestupnou hranou, data z MCU jsou taktována sestupnou hranou. Při přivedení napájecího napětí na VCC jsou vstupy RESET a SCK nastaveny na nulu. Po prodlevě alespoň 20 ms je třeba poslat sériové instrukce „povolit programování“ 0xAC, 0x53, 0x00, 0x00 na vývod MOSI. MCU opakuje druhý byte (0x53).[2]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku ATmega328 na anglické Wikipedii.

  1. ATmega328P [online]. [cit. 2016-07-14]. Dostupné online. 
  2. a b c d e f g Atmel 8-bit AVR Microcontrollers ATmega328/P Datasheet Complete [online]. [cit. 2016-07-14]. Dostupné online. 
  3. megaAVR Microcontrollers [online]. Atmel [cit. 2016-07-14]. Dostupné v archivu pořízeném dne 2014-02-14. 
  4. Atmel 8-bit AVR Microcontrollers ATmega328/P Datasheet Summary [online]. June 2016 [cit. 2016-07-14]. Dostupné online. 

Externí odkazy[editovat | editovat zdroj]