Łagodny start z AVR XMEGA
Moda w elektronice zmienia się szybciej niż ta, którą prezentują modelki na wybiegach. Trudno już zliczyć, ile powstało rodzin mikroprocesorów i mikrokontrolerów od czasów pamiętnego 4004, uznawanego za pierwowzór tego typu układów. Mimo, że dzisiaj nawet procesory 32- czy nawet 64-bitowe nie powodują już przyspieszonego bicia serca, to 8-bitowce nadal cieszą się dużym zainteresowaniem i – bynajmniej – nie jest to moda retro.
Elementy otoczenia mikrokontrolera zestawu XMEGA-B1 Xplained
|
Na pewnym etapie rozwoju elektroniki wydawało się, że procesor z rdzeniem ARM zdominuje całkowicie technikę cyfrową i zdetronizuje wszystkich jego starszych 8-bitowych poprzedników. Tak się jednak – przynajmniej na razie – nie stało. Owszem ARM-y ustanowiły bardzo groźną konkurencję, która przejęła sporą część rynku, ale zapotrzebowanie na „małe” mikrokontrolery nie spadło do zera. Mało tego, nadal rozwijane są dotychczasowe rodziny 8-bitowców, a nawet powstają całkowicie nowe ich odmiany. Przykładem jest rodzina AVR XMEGA firmy Atmel. W mikrokontrolerach tych zintegrowano kilka bardzo często wykorzystywanych bloków funkcjonalnych i interfejsów komunikacyjnych, przez co stały się bardzo atrakcyjne dla wielu aplikacji.
AVR XMEGA od środka
O przydatności danego mikrokontrolera do określonych zastosowań decydują zwykle zaszyte w nim peryferia oraz oczywiście moc obliczeniowa. W rodzinie AVR XMEGA duży nacisk postawiono na bogate wyposażenie poszczególnych układów w peryferia i interfejsy często wykorzystywane w aplikacjach o bardzo różnym przeznaczeniu. Niezwykle istotnym parametrem tych mikrokontrolerów jest również bardzo małe zużycie energii i niskie napięcie zasilające, co kwalifikuje je jako idealne rozwiązanie układowe do stosowania w sprzęcie przenośnym, zasilanym bateryjnie. Efekt ten uzyskano dzięki opracowanej przez Atmela technologii Atmel picoPower. Rdzeń jest zasilany napięciem 1,6 V, prąd z działającym blokiem RTC nie przekracza 500 nA. Układ charakteryzuje się bardzo krótkim czasem wybudzania z uśpienia, ważną cechą przy tym jest pełne zachowanie zawartości pamięci SRAM.
AVR XMEGA to rodzina zaliczana w zasadzie do układów 8-bitowych. Taką długość mają rejestry wewnętrzne, ale większość rozkazów jest zapisywana w pamięci programu jako 16-bitowe słowa. Część 8-bitowych rejestrów może być też łączona w 16-bitowe pary. ATxmegi są więc określane także jako procesory 8/16-bitowe.
Konstruktorzy projektujący aplikacje wymagające intensywnej i bezpiecznej wymiany danych między procesorem i otoczeniem na pewno nie mogą narzekać na możliwości układów rodziny AVR XMEGA w tym względzie. W mikrokontrolerach tych zaimplementowano szereg bardzo przydatnych układów peryferyjnych, takich jak: zintegrowane moduły kryptograficzne AES i DES, do 32 wyjść PWM, 8 UART-ów, 4 interfejsy TWI (I2C) i 4 kanały SPI, a także generator CRC. Mocny nacisk położono na komunikację USB. Specjalny blok pracujący bez zewnętrznego rezonatora kwarcowego obsługuje 31 endpointów, redukując do minimum obciążenie procesora nawet przy największych szybkościach transmisji. Mikrokontrolery AVR XMEGA obsługują bibliotekę QTouch wykorzystywaną do implementacji przycisków dotykowych. Nie zabrakło również przetworników: analogowo-cyfrowego i cyfrowo-analogowego. ADC to przetwornik 12-bitowy z wbudowanym stopniem wzmacniającym, pracujący z szybkością 4 MSa/s. Jego konstrukcja umożliwia budowanie interfejsów składających się z niewielkiej liczby elementów zewnętrznych. Taką samą rozdzielczość (12 bitów) ma przetwornik DAC. Schemat blokowy układu ATxmega128B1 reprezentującego rodzinę AVR XMEGA przedstawiono na rys. 1.
Rys. 1. Schemat blokowy mikrokontrolera AVR XMEGA