náhled|250x250pixelů|ATmega328P v pouzdře DIP s 28 vývody náhled|Čip ATmega328P ATmega328 je jednočipový mikrořadič z rodiny megaAVR navržený firmou Atmel.

Specifikace 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 kiB EEPROM, 2 kiB 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 (ze anglického Millions Instructions Per Second) při frekvenci 1MHz, což znamená provedení jedné instrukce každou periodu řídícího signálu procesoru.

Klíčové parametry Parameter ValueTyp CPU 8-bit AVRVýkon 20 MIPS při 20 MHz 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í USBNe

Náhrady 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.

Použití 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. 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. Velké popularity dosáhl vývojový kit Arduino Uno.

Spolehlivost 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.

Programování náhled|Vývody ATmega 48A/PA/88A/PA/168A/PA/328/P v pouzdře 28-DIP (datasheet)

+Paralelní programovací režim 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 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. 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. A tak dále. + Sériový programovací režim 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).

Reference

Externí odkazy

Kategorie:Jednočipové mikropočítače