Zestaw Atmel XMEGA-A3BU Xplained
Rys. 1. Wygląd zestawu XMEGA-A3BU Xplained
Moduły Xplained to seria małych i prostych w użyciu zestawów ewaluacyjnych dla 8- i 32-bitowych mikrokontrolerów firmy Atmel. Zestawy często zawierają szeroki wybór dodatków i peryferiów, które w wygodny sposób mogą być ze sobą łączone, tworząc platformę do prototypowania i eksperymentowania z różnymi rozwiązaniami aplikacyjnymi. Płytki rozszerzeń zawierają układy takie, jak np. czujniki ciśnienia, czujniki temperatury, moduły ZigBee i układy wspomagające zadania natury kryptograficznej. Duży wybór przykładów i bibliotek – napisanych pod darmowe środowisko programistyczne Atmel Studio – zdecydowanie ułatwia stawianie pierwszych kroków przy testowaniu możliwości wszystkich produktów z rodziny Xplained.
XMEGA-A3BU to zestaw demonstrujący możliwości mikrokontrolera ATxmega256A3BU. Został on wzbogacony m.in. o dodatkową pamięć Flash w postaci układu AT45DB, a interfejs użytkownika ma programowalne przyciski, czujniki oświetlenia i temperatury oraz monochromatyczny wyświetlacz FSTN LCD o rozdzielczości 128 x 32 pikseli.
Rys. 2. Peryferia i złącza zestawu XMEGA-A3BU
ATxmega256A3BU zawiera fabrycznie wgrany bootloader oraz domyślne oprogramowanie prezentujące jego najbardziej podstawowe funkcje – zegar RTC z zasilaniem bateryjnym, czujnik natężenia światła, czujnik temperatury, obsługę przycisku QTouch oraz sterowanie podświetleniem wyświetlacza LCD
Nauka programowania ATxmega256A3BU to naturalny krok naprzód dla wszystkich miłośników starszych układów z rodziny AVR. Już przy pierwszym kontakcie z AVR Xmega, można zauważyć wiele mniej lub bardziej istotnych zmian w stosunku do „zwykłych” AVR. Warto na początku zwrócić uwagę na nieco odświeżoną organizację rejestrów, przez co dostęp do nich jest bardziej intuicyjny, choć nie odbiega znacznie od pierwowzoru. Ciekawą nowością jest dodana pętla PLL, która stwarza możliwości manipulowania źródłem i częstotliwością sygnału taktującego procesor. Przede wszystkim możliwa jest teraz zmiana częstotliwości taktowania podczas działania programu – przydatne narzędnie przy implementowaniu własnych trybów oszczędzania energii. Nie ma też już konieczności przestawiania fuse-bit’ów podczas zmiany źródła sygnału taktującego. Dopełnieniem tego rozwiązania jest system wykrywania błędu zewnętrznego rezonatora, który potrafi automatycznie przełączyć źródło taktowania na wbudowany generator, jeśli z jakiegoś powodu działanie zewnętrznego źródła będzie nieprawidłowe.
ATxmega256a3bu wyposażono w 256 kB pamięci Flash, 4 kB pamięci EEPROM oraz 16 kB wewnętrznej pamięci SRAM. Układ posiada 4 kanały kontrolera DMA (Direct Memory Access) oraz 8 kanałow Xmega Event System. System ten pozwala peryferiom na działanie i interakcję bez angażowania CPU (za wyjątkiem samej konfiguracji). Przykładem zastosowania takiego rozwiązania może być np. automatyczne wykonanie pomiaru przez przetwornik ADC po upływie określonego czasu, bez żadnej ingerencji w działanie programu. Kolejnym dodatkiem są liczne interfejsy komunikacyjne. W pełni obsługiwany interfejs USB2.0, 6 interfejsów USART (w tym jeden ze wsparciem dla IrDA), 2 interfejsy I2C i SPI pozwalają na podłączenie i obsługę dużej liczby peryferiów oraz bezproblemową współpracę układu z komputerem. W dziedzinie przetworników ADC i DAC również czuć powiew świeżości – dwa 16-kanałowe przetworniki ADC są w stanie przetwarzać sygnały z prędkością do 2MSps, a jeden dwukanałowy przetwornik DAC działa z prędkością do 1MSps; oba rodzaje przetworników funkcjonują z rozdzielczością 12 bitów.
Zwolenników częstego stosowania przerwań zewnętrznych ucieszy fakt, że nie są już one ograniczone tylko do pinów oznaczanych w starszych ATmegach jako „INTx”, a można do tego celu wykorzystać dowolny pin ze wszystkich dostępnych pinów I/O. W połączeniu z programowalnym wielopoziomowym kontrolerem przerwań, stanowi to duże ułatwienie i pole do popisu dla programistów. Oprócz wygody, inżynierowie firmy Atmel zwrócili uwagę również na zagadnienia związane z bezpieczeństwem. Nad szyfrowaniem transmisji i przechowywanych danych czuwają kryptograficzny moduł AES (Advanced Encryption Standard) wykorzystujący 128-bitowe klucze oraz DES (Data Encryption Standard) – standard obsługiwany przez instrukcje zaimplementowane bezpośrednio w CPU. Na koniec warto również wspomnieć o pełnym wsparciu coraz „modniejszej” technologii bezstykowych przycisków i suwaków – programisci Atmel udostępnili za darmo biblioteki QTouch, które zostały stworzone z myślą właśnie o tym zagadnieniu.
Rys. 3. Opis wyprowadzeń mikrokontrolera ATxmega256A3BU