ATmega328

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

DIP s 28 vývody Č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 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ů. +more Výkon procesoru odpovídá 1 MIPS/MHz.

Klíčové parametry

ParameterValue
Typ CPU8-bit AVR
Výkon20 MIPS při 20 MHz
Paměť flash32 kB
SRAM2 kB
EEPROM1 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í frekvence20 MHz
Počet touch channels16
Hardware QTouch AcquisitionNe
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.

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í

[[Soubor:ATmega328P_28-PDIP. svg|náhled|Vývody ATmega 48A/PA/88A/PA/168A/PA/328/P v pouzdře 28-DIP ([url=https://web. +morearchive. org/web/20160412093102/http://www. atmel. com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Summary. pdf]datasheet[/url])]].

RDY/BSYPD1OVysoká úroveň znamená, že MCU je připraveno pro nový příkaz, jinak je zaneprázdněno.
OEPD2IOutput Enable (Aktivní při nízké úrovni)
WRPD3IWrite Impuls (Aktivní při nízké úrovni)
BS1PD4IVýběr bajtu 1 ("0" = nižší bajt, "1" = vyšší bajt)
XA0PD5IXTAL Action bit 0
XA1PD6IXTAL Action bit 1
PAGELPD7IZápis do paměti programu nebo dat (flash a EEPROM)
PS2PC2IVýběr bajtu 2 ("0" = nižší bajt, "1" = vyšší bajt)
DATAPC[1:0]:PB[5:0]I/OObousmě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. +more 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. [wiki_table=3c54f163] 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

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top