ATmega328

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

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

ATmega328P v pouzdře DIP s 28 vývody
Čip ATmega328P

Specifikace editovat

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

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

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

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

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

 
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

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