Niedrogie 8-bitowe mikrokontrolery AVR

Pomimo olbrzymich możliwości, jakie oferują 32-bitowe mikrokontrolery z rdzeniami ARM, nadal bardzo dużą popularnością cieszą się układy 8-bitowe. Bardzo bogaty wybór takich układów oferuje Microchip. Po przejęciu firmy Atmel w 2016 roku, asortyment 8-bitowych mikrokontrolerów Microchip powiększył się o rodzinę AVR, którą producent w dalszym ciągu rozwija. Układy AVR charakteryzują się rdzeniem opartym o architekturę RISC, łatwością programowania oraz uruchomienia, a także dostępnością w dużych obudowach typu DIP, co pozwala na budowę systemu mikroprocesorowego bez konieczności przygotowania skomplikowanej płytki PCB.

Najbardziej zminiaturyzowaną serią mikrokontrolerów AVR jest TinyAVR, nazywana również ATTiny. Mikrokontrolery z tej serii cechują się niewielką pamięcią programu, w granicach 0,5-16 KB, obudowami o niewielkiej liczbie wyprowadzeń (6-32), ograniczonym zakresem zintegrowanych peryferii oraz poborem mocy. Układy znakomicie sprawdzą się w profesjonalnych i amatorskich zastosowaniach, w których wymagane są małe rozmiary i prostota programowania, m.in. w monitorowaniu pracy urządzeń, pomiarach napięcia i prądu, interfejsie do przycisków oraz przełączników, pomiarach i ładowaniu baterii, a także sterowaniu niewielkimi silnikami oraz diodami LED. Dzięki wbudowanemu portowi USART, mikrokontroler można połączyć z przewodowym lub bezprzewodowym interfejsem szeregowym. Umożliwia to zaprojektowanie wydajnego, niewielkiego i energooszczędnego rozwiązania końcowego IoT.

Wyposażenie mikrokontrolerów TinyAVR może zawierać:

  • pamięć Flash o pojemności do 16 KB,
  • pamięć SRAM o pojemności do 2 KB,
  • 10-bitowy przetwornik analogowo-cyfrowy,
  • komparator analogowy,
  • 8-bitowy przetwornik cyfrowo-analogowy,
  • 8-bitowe i 16-bitowe generatory PWM,
  • zegar RTC,
  • 8, 12 i 16-bitowe liczniki,
  • moduł CCL umożliwiający tworzenie konfigurowalnych połączeń między peryferiami,
  • moduł CRC.
  • licznik watchdog,
  • interfejsy USART, I2C, SPI,
  • technologię QTouch umożliwiająca obsługę pojemnościowych klawiatur dotykowych,
  • do 4 trybów uśpienia,
  • technologię picoPower umożliwiającą obniżenie poboru mocy.

ATtiny102/104

Jedną z najbardziej podstawowych serii mikrokontrolerów TinyAVR jest ATtiny102/104, zaprezentowana tuż przed fuzją Atmel i Microchip. Układy dysponują pamięcią Flash o pojemności 1 KB oraz pamięcią SRAM o pojemności 32 B. Wyposażone są w porty USART, 16-bitowy licznik oraz oscylator RC o dokładności ±2%. Mogą pracować z napięciami zasilania w zakresie 1,8…5,5 V oraz z częstotliwością taktowania do 12 MHz. Układy ATtiny102 są dostępne w obudowie SOP-8 i dysponują 5 kanałami przetwornika ADC o rozdzielczości 10 bitów. Natomiast kontrolery ATtiny104 są dostępne w obudowie SOP-14 i dysponują aż 8 kanałami przetwornika ADC. Serie oznaczone literą „F” dodatkowo mają funkcję szybkiego uruchamiania układu.

Rys. 1. Schemat blokowy połączeń wewnątrz układów ATtiny102/104

ATtiny20x/40x

Mikrokontrolery z serii ATtiny20x/40x dysponują większą ilością pamięci Flash (do 4 KB) oraz SRAM (do 256 B). Zawierają również wbudowana pamięć EEPROM o pojemności do 128 B. Przetwornik analogowo-cyfrowy dysponuje aż 12 kanałami o rozdzielczości 10 bitów oraz wbudowanym napięciem referencyjnym. Maksymalna częstotliwość taktowania układu wynosi 20 MHz. Te układy zawierają również moduły CCL oraz sprzętowy mnożnik.

Interesującą funkcją dostępną w tej serii mikrokontrolerów jest Event System , umożliwiający współpracę peryferii bez wykorzystywania zasobów rdzenia. Funkcja ta znajduje zastosowanie w aplikacjach, gdzie kluczowe jest zapewnienie reakcji układu w określonym czasie. Dodatkowo, w aplikacjach zasilanych bateryjnie, skorzystanie z systemu zdarzeń może znacząco zmniejszyć pobór mocy.

Rys. 2. Schemat blokowy Event System

Mikrokontrolery wykorzystują również mechanizm SleepWalking. Jest on przydatny w aplikacjach, w których układ wykorzystuje tryb uśpienia. Zasada działania mechanizmu polega na zdefiniowaniu dla peryferii warunków, po spełnieniu których CPU mikrokontrolera zostanie wybudzone z trybu uśpienia. Przykładowym warunkiem może być np. przekroczenie określonej wartości napięcia na wejściu przetwornika A/C. Jest to bardzo efektywny sposób na zaoszczędzenie zużycia energii .

ATtiny21x/41x

Mikrokontrolery z serii ATtiny21x/41x dysponują pamięcią Flash o pojemności do 4 KB oraz SRAM o pojemności do 256 B. Zawierają również wbudowana pamięć EEPROM o pojemności do 128 B. Oprócz przetwornika ADC układy zawierają również przetwornik DAC o rozdzielczości 8 bitów. Maksymalna częstotliwość taktowania układu wynosi 20 MHz.

W tabeli 1. znajduje się podsumowanie parametrów układów ATtiny zaprezentowanych w artykule.

Tabela 1. Tabela parametrów mikrokontrolerów TinyAVR

Mikrokontrolery z serii oznaczonych jako NR są w stanie pracować w temperaturach z zakresu -40…+105°C, natomiast z serii FR: w zakresie temperatur -40…+125°C. Napięcie zasilania układów zawiera się w granicach od 1,8 V do 5,5 V.

Niewielkie mikrokontrolery z rodziny MegaAVR

Układy TinyAVR są bardzo wygodne, jednakże jest wiele aplikacji o wyższych wymaganiach, w których należy zastosować mikrokontroler o większych zasobach pamięci i bogatszym wyposażeniu. W takim wypadku ciekawym rozwiązaniem są popularne 8-bitowe mikrokontrolery z serii MegaAVR. Zawierają one ten sam rdzeń AVR co układy z rodziny TinyAVR, ale są lepiej wyposażone.

Rys. 3. Schemat blokowy mikrokontrolerów megaAVR

Seria ATmega320x dysponuje pamięcią Flash o pojemności 32 KB, pamięcią SRAM o pojemności 4 KB. Dodatkowo wyposażono je w pamięć EEPROM o pojemności 256 B. Mogą pracować z napięciami zasilania w zakresie 1,8…5,5 V oraz z częstotliwością taktowania do 20 MHz.

Układy ATmega3208 są dostępne w obudowach TQFP32 oraz VQFN32. Dysponują 12 kanałami przetwornika ADC o rozdzielczości 10 bitów i maksymalnej szybkości próbkowania 500 kSPS. Zawierają 3 porty USART, porty SPI oraz I2C oraz cztery 16-bitowe liczniki.

Natomiast kontrolery ATmega3209 są dostępne w obudowach TQFP48 oraz UQFN48 i dysponują aż 16 kanałami przetwornika ADC o rozdzielczości 10 bitów i maksymalnej szybkości próbkowania 500 kSPS. Zawierają 4 porty USART, porty SPI oraz I2C oraz pięć 16-bitowych liczników.

ATmega480x

Mikrokontrolery z serii ATmega480x dysponują pamięcią Flash o pojemności 48 KB, pamięcią SRAM o pojemności 6 KB, a także pamięcią EEPROM o pojemności 256 B. Oprócz większej pojemności pamięci konfiguracje układów ATmega4808 oraz ATmega4809 są analogiczne do ATmega3208 i ATmega3209. ATmega4808 jest dostępny w obudowach TQFP32 oraz VQFN32, dysponuje 12 kanałami przetwornika ADC, zawiera 3 porty USART i cztery 16-bitowe liczniki. ATmega4809 jest dostępny w obudowach TQFP48 oraz UQFN48, dysponuje 16 kanałami przetwornika ADC, zawiera 4 porty USART i pięć 16-bitowych liczników. Ciekawostką jest, że mikrokontroler ATmega4809 został zastosowany jako serce nowo wydanej rewizji płytki Arduino Uno WiFi.

Wszystkie mikrokontrolery AVR można programować za pomocą oprogramowania Atmel Studio. Microchip, również w środowisku MPLAB X od wersji 5.0 zaczął wspierać te układy i aktualnie na wszystkie wyżej wymienione serie można budować projekty w obu środowiskach. Do tego drugiego środowiska dostępna jest również wtyczka MCC (MPLAB Code Configurator), która umożliwia graficzną konfigurację peryferii mikrokontrolera.

Microchip dostarcza również szeroki wybór programatorów do układów AVR, a także zestawów rozwojowych do każdej rodziny mikrokontrolerów. Jednym z nich jest ATMEGA4809 Xplained Pro, wyposażony w układ ATmega4809. Zestaw dostępny jest w ofercie firmy Micros.

Rys. 4. Zestaw rozwojowy ATMEGA4809-XPRO

Podsumowanie

Mikrokontrolery z rodzin TinyAVR oraz MegaAVR to bardzo wygodne układy do zastosowań w prostych urządzeniach IoT, monitorowaniu, sterowaniu oraz wielu innych zastosowaniach, w których bardziej niż wielka moc obliczeniowa konieczne są niewielkie wymiary, cena i prosta konstrukcja kontrolera. Pomimo pewnych ograniczeń, mikrokontrolery 8-bitowe nie znikają z rynku i jest jeszcze wiele aplikacji, w których idealnie się sprawdzają.

Układy ATTiny oraz ATMega można nabyć w firmie Micros, która oferuje mikrokontrolery i zestawy deweloperskie takich firm jak: ST Microelectronics, Microchip, Texas Instruments, NXP, Silicon Labs i inne.

O autorze