Mikrokontrolery Atmel SAM3N (Cortex-M3) i zestaw ewaluacyjny SAM3N-EK
Mikrokontrolery SAM3N są taktowane przebiegiem zegarowym o maksymalnej częstotliwości 48 MHz i dysponują pamięcią Flash 16…256 kB oraz pamięcią RAM od 4 do 24 kB. Do komunikacji z otoczeniem są wykorzystywane interfejsy USART, UART, SPI i TWI. Odmierzanie zależności czasowych jest realizowane przez sześć 16-bitowych timerów, timer PWM i RTC, natomiast do obsługi sygnałów analogowych przeznaczono 10-bitowe przetworniki ADC i DAC. Charakterystyczną cechą mikrokontrolerów SAM3N jest bardzo łatwa implementacja pojemnościowych przycisków dotykowych. Atmel udostępnia specjalnie opracowaną do tego celu bibliotekę Atmel QTouch. Mikrokontrolery te mogą być przydatne w aplikacjach z silnikami krokowymi, w których są wykorzystywane takie bloki, jak: logiczny dekoder kwadraturowy i 2-bitowy licznik Gray’a up/down.
Ważną cechą układów rodziny SAM3N jest też bardzo małe zapotrzebowanie na energię. Układy te pracują poprawnie przy napięciu zasilającym z zakresu od 1,62 do 3,6 V.
Zestaw ewaluacyjny – płytka SAM3N-EK
Atmel opracował zestaw ewaluacyjny SAM3N-EK przeznaczony dla użytkowników mikrokontrolerów rodziny SAM3N, którzy chcieliby wypróbować te układy na przykład przed pierwszym zastosowaniem ich we własnych aplikacjach. Płytka ta może być jednak wykorzystywana również do innych eksperymentów, na przykład sprawdzających własne algorytmy programowe, a nawet rozwiązania sprzętowe. W komplecie znajduje się płytka z układem ATSAM3N4C, wtyczkowy zasilacz sieciowy z końcówkami dostosowanymi do norm europejskich, USA i angielskiej, przewód RS232 wykorzystywanego m.in. do programowania mikrokontrolera oraz CD-ROM z oprogramowaniem i informacjami technicznymi. Na płytce SAM3N-EK udostępniono zasoby mikrokontrolera poprzez porty wyprowadzone na dwa 32-pinowe złącza szpilkowe, a także umieszczono kilka zewnętrznych komponentów. Są to: kolorowy 2-calowy wyświetlacz LCD TFT z matrycą 160×128, buzzer, dwa przyciski dotykowe i jeden slider dotykowy, gniazdo karty mikro SD, 32-Mbitowa pamięć Flash, dwie diody LED sterowane generatorem PWM, dwa przyciski mechaniczne oraz przycisk zerowania. Na płytce umieszczono także zworki umożliwiające dołączenie miliamperomierzy mierzących prądy zasilające poszczególne peryferia procesora. Płytka jest zasilana z zewnętrznego zasilacza wtyczkowego, ale napięcie doprowadzone z niego jest wykorzystywane dalej do wytworzenia wszystkich pozostałych napięć wymaganych przez poszczególne bloki funkcjonalne. Zapewniają to zamontowane na płytce stabilizatory.
Na płytce SAM3N-EK dostępne są interfejsy, poprzez które mikrokontroler komunikuje się z otoczeniem, a także wykorzystywane do jego programowania i debugowania programów. Są to: UART z przesuwnikiem poziomów oraz JTAG. Przewidziano ponadto możliwość współpracy z modułem ZigBee. Schemat blokowy płytki SAM3N-EK przedstawiono na rysunku 2. Płytka jest konfigurowana przez odpowiednie ustawienie znajdujących się na niej zworek. Są one wykorzystywane do uaktywnienia JTAG Boundary Scan, włączenia wewnętrznego źródła napięcia referencyjnego, wybrania wartości napięcia pracy portów I/O i pomiaru prądów zasilających.
Rys. 2. Schemat blokowy płytki SAM3N-EK
Użytkownik ma do dyspozycji 256 kB pamięci programu typu Flash i 24 kB pamięci RAM. Zainstalowany bootloader umożliwia łatwe programowanie mikrokontrolera np. za pośrednictwem interfejsu UART.
Podstawowy przebieg zegarowy jest wytwarzany przez generator z rezonatorem kwarcowym 12 MHz, ale do taktowania poszczególnych bloków peryferyjnych i samego procesora częstotliwość ta jest powielona w wewnętrznej pętli PLL do 60, a nawet 130 MHz. Użytkownik może ją dobierać na przykład w zależności od wymagań dotyczących maksymalnego prądu zasilającego.
Narzędzia
Na płytce CD-ROM dołączonej do zestawu umieszczono szczegółowy opis techniczny, odnośniki do stron producenta z uzupełniającymi informacjami technicznymi, a także zawarto niezbędne narzędzia umożliwiające korzystanie z płytki ewaluacyjnej. Bezpośrednio po ich zainstalowaniu możliwe jest rozpoczęcie pracy nad przykładowym projektem. Kolejne czynności są dokładnie opisane, więc poznawanie zestawu przebiega łatwo i nie powinno stanowić problemu nawet dla nowicjuszy. Atmel proponuje trzy środowiska uruchomieniowe, do indywidualnego wyboru przez użytkowników według własnych preferencji. Jest to IAR Embedded Workbench, Microcontroller Development Kit z IDE Vision4 Keila oraz GCC. Oprogramowanie narzędziowe jest pobierane ze stron producentów po przekierowaniu na nie przez odnośniki umieszczone na płytce CD-ROM. Na potrzeby zestawu użytkownicy pobierają wersje ewaluacyjne programów, co wiąże się z pewnymi ograniczeniami, np. dotyczącymi wielkości kodu wynikowego. Przejście do pełnych wersji wymaga wykupienia stosownych licencji. Przykładowy projekt domyślnie otwierany po rozpoczęciu pracy każdego z wymienionych programów dotyczy obsługi wyświetlacza LCD sterowanego przez interfejs SPI. Na rysunku 3 przedstawiono środowisko µVision4 z otwartym oknem edycyjnym. Kompilacja i linkowanie programu kończy się wygenerowaniem wersji binarnej kodu, który następnie może być zapisany w pamięci programu mikrokontrolera. I tu znowu możliwe są znowu dwie opcje. Pierwszą z nich jest wykorzystanie bootloadera zainstalowanego w pamięci ROM zestawu i specjalnego interfejsu graficznego SAM-BA uruchamianego na komputerze (rysunek 4). Programowanie odbywa się przez szeregowy port COM. Druga opcja jest oparta na zastosowaniu JTAG-owego emulatora Atmela o nazwie SAM-ICE. Procedura programowania jest inicjowana bezpośrednio z IDE (rys. 5). Dodatkową korzyścią takiego rozwiązania jest możliwość debugowania programu w układzie docelowym. Ostatecznie więc jest to i tak niezbędne narzędzie dla każdego inżyniera konstruującego urządzenia i piszącego programy.