LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

[embedded world 2014] Płytka uruchomieniowa XMC 2Go z mikrokontrolerem XMC1100 (Cortex-M0) – pierwsze kroki

Mikrokontroler XMC1100 na płytce XMC 2GO połączony jest z pewną liczbą elementów peryferyjnych. Czternaście wyprowadzeń I/O (Input/Output) mikrokontrolera wraz z napięciem zasilania i masą wyprowadzono na dwóch rzędach pól lutowniczych (rysunek 4), co umożliwia łatwe dołączenie do płytki dodatkowych komponentów. Dwa wyprowadzenia układu XMC1100 (P1.0 i P1.1) są połączone z dwiema diodami LED koloru czerwonego, dzięki czemu mikrokontroler może sterować ich świeceniem. Ponadto cztery wyprowadzenia układu XMC1100 doprowadzone są do umieszczonego również na płytce XMC 2GO mikrokontrolera XMC4200 pełniącego rolę debugera/programatora J-Link. Pierwsze dwa wyprowadzenia (P1.2 i P1.3) pełnią rolę interfejsu programowania/debugowania SWD (Serial Wire Debug), natomiast dwa kolejne wyprowadzenia (P2.1 i P2.2) to linie interfejsu UART. Dane wysłane tym interfejsem przez mikrokontroler XMC1100 odbierane są przez układ XMC4200 i przesyłane dalej do komputera interfejsem USB (wirtualny port COM) wyprowadzonym na gnieździe USB micro. Transmisja danych w drugą stronę również jest możliwa. Interfejs USB służy ponadto do komunikacji programatora/debugera ze środowiskiem programistycznym. Oprócz tego z gniazda USB dostarczane jest do płytki napięcie zasilania. Napięcie wejściowe o wartości 5 V obniżane jest przez regulator napięcia do poziomu 3,3 V. Napięcie to zasila oba mikrokontrolery płytki: XMC1100 i XMC4200. Poprawny stan zasilania sygnalizowany jest przez świecenie zielonej diody LED. Sposób rozmieszczenia wszystkich komponentów na płytce pokazano na rysunku 5.

 Rys. 4. Układ wyprowadzeń mikrokontrolera dostępny w dwóch rzędach pól lutowniczych [1]

Rys. 4. Układ wyprowadzeń mikrokontrolera dostępny w dwóch rzędach pól lutowniczych [1]

 

 Rys. 5. Płytka XMC 2GO – opis elementów składowych [1]

Rys. 5. Płytka XMC 2GO – opis elementów składowych [1]

Rozpoczęcie pracy z płytką XMC2GO

Aby móc korzystać z płytki XMC 2GO, w pierwszej kolejności należy przygotować środowisko pracy. Czynność ta obejmuje zainstalowanie na komputerze oprogramowania. Pierwszym wymaganym programem jest  sterownik przeznaczony dla programatora/debugera J-Link. Można go znaleźć na stronie www producenta – firmy Segger. Drugim niezbędnym programem jest pakiet narzędziowy do tworzenia oprogramowania dla mikrokontrolerów XMC1000. Będzie nim środowisko programistyczne DAVE 3. Jego najnowszą wersję (aktualnie jest to 3.1.8) można pobrać ze strony www firmy Infineon. Gdy proces instalacji obu programów zostanie zakończony, można podłączyć płytkę XMC 2GO do komputera. Wyświetlony zostanie komunikat o rozpoznaniu jej jako trzy urządzenia: urządzenie kompozytowe USB, port COM oraz programator J-Link (rysunek 6).

Rys. 6. Komunikat o poprawnym zainstalowaniu płytki XMC 2GO na komputerze

Rys. 6. Komunikat o poprawnym zainstalowaniu płytki XMC 2GO na komputerze

Po podłączeniu zasilania do płytki XMC 2GO mikrokontroler rozpoczyna wykonywanie programu, który jest fabrycznie wgrany do jego pamięci Flash. Aplikacja działa następująco. Na początku skonfigurowane do pracy zostają wykorzystywane peryferia. Są nimi: porty I/O połączone z diodami LED (P1.0, P1.1), układ czasowy(System Timer) oraz interfejs komunikacyjny UART (UART TX – P2.1, UART RX – P2.2). Po zainicjowaniu peryferiów na jednym z portów I/O ustawiony zostaje stan wysoki (dioda LED świeci), na drugim stan niski (dioda LED nie świeci). Następnie układ czasowy rozpoczyna odmierzanie czasu (z rozdzielczością 1 ms). Każdorazowo po upłynięciu okresu 200 ms stan obu portów I/O zostaje zmieniony na przeciwny (zatem włączona dioda LED zostaje wyłączona, a wyłączona dioda LED zostaje włączona). Ponadto za każdym razem gdy upłyną 2 sekundy, mikrokontroler poprzez podłączony do układu XMC4200 interfejs UART wysyła łańcuch znaków. Schemat blokowy programu pokazano na rysunku 7.

Rys. 7. Schemat blokowy pragramu wykonywanego przez mikrokontroler XMC1100 na płytce XMC 2GO

Rys. 7. Schemat blokowy pragramu wykonywanego przez mikrokontroler XMC1100 na płytce XMC 2GO

Opisany program udostępniany jest przez firmę Infineon w postaci kodu źródłowego. Nosi on nazwę XMC 2Go initial Start i można go pobrać ze strony www firmy Infineon. Najłatwiejszym sposobem rozpoczęcia pracy z płytką XMC 2GO jest zatem skorzystanie z tego kodu. W tym celu po uruchomieniu środowiska DAVE 3 należy wybrać z menu głównego DAVE 3 zakładkę File -> Import. Otworzone zostanie nowe okno o nazwie Import. Z wyświetlonego drzewa należy wybrać General, a następnie Existing Projects into Workspace, po czym przycisnąć Next. W kolejnym oknie należy zaznaczyć Select archive file i wybrać Browse, po czym wskazać ścieżkę docelową na dysku twardym do pobranego, zarchiwizowanego pliku z projektem programistycznym. Operację kończy wciśnięcie przycisku Finish. Projekt zostanie załadowany do przestrzeni roboczej w DAVE 3 (rysunek 9). W tym momencie można przystąpić do standardowych czynności programistycznych, a więc np. edycji kodu źródłowego, jego kompilowania, wgrywania pliku wykonywalnego do pamięci Flash i debugowania aplikacji.

Rys. 8. Etapy importowania projektu programistycznego do przestrzeni roboczej w DAVE 3

Rys. 8. Etapy importowania projektu programistycznego do przestrzeni roboczej w DAVE 3

 Rys. 9. Widok środowiska DAVE 3 z aktywnym projektem programistycznym

Rys. 9. Widok środowiska DAVE 3 z aktywnym projektem programistycznym

SZYMON PANECKI urodził się 17 lutego 1985 roku w Milanówku. Tytuł inżyniera Elektroniki i Telekomunikacji, a następnie magistra inżyniera na Wydziale Elektroniki Politechniki Wrocławskiej uzyskał kolejno w roku 2008 i 2010. Ponadto tytuł inżyniera Informatyki na Wydziale Elektroniki Politechniki Wrocławskiej uzyskał w roku 2011. Szymon Panecki jest doświadczonym elektronikiem-konstruktorem, który w trakcie swojej zawodowej kariery koncentruje się na definiowaniu i projektowaniu (zarówno w warstwie sprzętowej jak i programowej) systemów wbudowanych opartych na mikrokontrolerach z rdzeniem ARM od różnych producentów, w tym przede wszystkim Infineon Technologies (rodzina XMC1000 i XMC4000), STMicroelectronics (STM32 i STR7), Freescale Semiconductor (Kinetis L) oraz Silicon Labs (EFM32 i Precision32). Obszarem jego szczególnego zainteresowania są systemy wykorzystujące czujniki środowiskowe (wilgotności, ciśnienia, temperatury) oraz przemysłowe i motoryzacyjne interfejsy komunikacyjne, głównie CAN. Szymon Panecki od wielu lat współpracuje z czasopismem "Elektronika Praktyczna" oraz portalem Mikrokontroler.pl, na łamach których publikuje liczne artykuły dotyczące swoich projektów, jak również nowości produktowych firm z branży półprzewodnikowej.