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.