Mikrokontrolery XMC1000 z Cortex-M0 w praktyce od mikrokontrolera do systemu. 12 projektów z XMC 2GO

  • Dodaj recenzję:
  • Kod: 3442
  • Producent: BTC
  • Autor: Szymon Panecki

  • szt.
  • Cena netto: 84,76 zł 89,00 zł

Mikrokontrolery XMC1000 z Cortex-M0 w praktyce od mikrokontrolera do systemu. 12 projektów z XMC 2GO

rok wydania: 2017
ilość stron: 276
ISBN: 978-83-64702-07-5
format: B5
oprawa: twarda

Opis
Książka wprowadza Czytelnika w świat mikrokontrolerów XMC1000 firmy Infineon Technologies. Przedstawiono w niej, jak w warstwie sprzętowej i aplikacyjnej zrealizować projekty nieskomplikowanych systemów wykorzystujących mikrokontrolery z rodziny XMC1000.
W książce zawarto 12 kompletnych projektów na XMC 2GO, m.in.:
Zegar z kalendarzem
Prezenter treści
Miernik wilgotności z USB
Miernik ciśnienia z USB
Cyfrowy amperomierz z USB
Tor RF na pasma ISM
Sterownik wentylatora
Sterownik oświetlenoia LED

Spis treści
Wykaz ważniejszych skrótów / 8
1. Wprowadzenie / 9
1.1. Wstęp / 10
1.2. Opis zawartości książki / 12
1.3. Korzyści płynące dla Czytelnika / 13
1.4. Profil Czytelnika / 13
2. Rdzeń Cortex-M0 / 15
2.1. Wstęp / 16
2.2. Rdzenie ARM – główne cechy / 18
2.2.1. RISC / 18
2.2.2. Przetwarzanie potokowe / 19
2.2.3. Architektura organizacji pamięci / 20
2.3. Rodzina rdzeni Cortex / 20
2.4. Grupa rdzeni Cortex-M / 21
2.5. Elementy rdzenia Cortex-M0 / 23
2.6. Tryby pracy procesora w rdzeniu Cortex-M0 / 25
2.7. Stosy procesora w rdzeniu Cortex-M0 / 26
2.8. Rejestry procesora w rdzeniu Cortex-M0 / 26
2.9. Organizacja pamięci procesora w rdzeniu Cortex-M0 / 29
2.10. Instrukcje Thumb/Thumb-2 / 31
3. Rodzina mikrokontrolerów XMC1000 / 35
3.1. Infineon Technologies / 36
3.2. Oferta mikrokontrolerów firmy Infineon Technologies / 37
3.3. Budowa wewnętrzna / 37
3.4. Sposób oznaczania układów / 39
4. Narzędzia projektowe dla mikrokontrolerów XMC1000 / 41
4.1. Podział i funkcje narzędzi projektowych / 42
4.2. Płytka uruchomieniowa XMC 2GO / 43
4.3. Środowisko programistyczne DAVE / 48
4.3.1. Elementy składowe DAVE 3 / 49
4.3.2. Narzędzie Code Engine i idea komponentów oprogramowania / 50
4.3.3. Pobranie i instalacja DAVE 3 / 52
4.3.4. Uruchomienie DAVE 3, stworzenie nowego projektu / 55
4.3.5. Proces tworzenia aplikacji – wprowadzenie / 59
4.3.6. Proces tworzenia aplikacji – dodanie do projektu programistycznego interfejsu do peryferiów mikrokontrolera / 60
4.3.7. Proces tworzenia aplikacji – pisanie kodu źródłowego, generowanie pliku wykonywalnego / 66
4.3.8. Proces tworzenia aplikacji – uruchamianie i debugowanie / 68
5. Wybrane peryferia mikrokontrolerów XMC1000 / 75
5.1. Porty wejścia/wyjścia / 76
5.1.1. Budowa portów wejścia/wyjścia / 77
5.1.2. Komponenty DAVE App dla portów wejścia/wyjścia / 79
5.2. Zegar czasu rzeczywistego (RTC) / 82
5.2.1. Budowa zegara czasu rzeczywistego / 82
5.2.2. Komponenty DAVE App dla zegara czasu rzeczywistego / 82
5.3. Licznik Systick / 84
5.3.1. Komponenty DAVE App dla licznika Systick / 84
5.4. Moduł transmisji szeregowej USIC / 85
5.4.1. Interfejs UART / 87
5.4.2. Komponenty DAVE App dla i nterfejsu UART / 87
5.4.3. Interfejs SPI / 89
5.4.4. Komponenty DAVE App dla interfejsu SPI / 91
5.5. Licznik CCU4 / 92
5.5.1. Komponenty DAVE App dla generatora PWM / 94
6. Projekt 1 – interfejs wejścia/wyjścia użytkownika / 97
6.1. Wprowadzenie / 98
6.2. Klasyfikacja interfejsów użytkownika / 98
6.3. Dodanie prostego interfejsu wejścia/wyjścia do systemu / 99
6.4. Budowa i koncepcja działania systemu / 101
6.5. Implementacja aplikacji – sposób pierwszy / 103
6.6. Implementacja aplikacji – sposób drugi / 106
7. Projekt 2 – prezenter treści / 109
7.1. Wprowadzenie / 110
7.2. Krótki przegląd rodzajów wyświetlaczy / 110
7.3. Wyświetlacz z telefonu Nokia 6100/6610 / 111
7.4. Budowa i koncepcja działania systemu / 117
7.5. Implementacja aplikacji / 119
8. Projekt 3 – zegar z kalendarzem / 123
8.1. Wprowadzenie / 124
8.2. Budowa i koncepcja działania systemu / 124
8.3. Implementacja aplikacji / 125
9. Projekt 4 – miernik wilgotności względnej powietrza z interfejsem USB / 129
9.1. Wprowadzenie / 130
9.2. Czujnik Sensirion SHT10 / 130
9.2.1. Informacje podstawowe / 130
9.2.2. Dodanie czujnika do systemu / 131
9.2.3. Budowa wewnętrzna / 132
9.2.4. Interfejs i protokół komunikacyjny / 133
9.3. Budowa i koncepcja działania systemu / 135
9.4. Implementacja aplikacji / 138
10. Projekt 5 – miernik ciśnienia atmosferycznego z interfejsem USB / 143
10.1. Wprowadzenie / 144
10.2. Czujnik Infineon Technologies KP253 / 145
10.2.1. Informacje podstawowe / 145
10.2.2. Dodanie czujnika do systemu / 145
10.2.3. Budowa wewnętrzna / 146
10.2.4. Interfejs i protokół komunikacyjny / 147
10.3. Budowa i koncepcja działania systemu / 148
10.4. Implementacja aplikacji / 150
11. Projekt 6 – miernik natężenia prądu z interfejsem USB / 157
11.1. Wprowadzenie / 158
11.2. Metody pomiaru natężenia prądu / 158
11.2.1. Metoda bocznikowa / 159
11.2.2. Metoda oparta na efekcie Halla / 159
11.2.3. Podsumowanie obu metod / 162
11.3. Czujnik Infineon Technologies TLI4970 / 163
11.3.1. Informacje podstawowe / 163
11.3.2. Dodanie czujnika do systemu / 164
11.3.3. Budowa wewnętrzna / 165
11.3.4. Interfejs i protokół komunikacyjny / 166
11.4. Budowa i koncepcja działania systemu / 168
11.5. Implementacja aplikacji / 169
12. Projekt 7 – detektor piorunów / 175
12.1. Wprowadzenie / 176
12.2. Czujnik AS3935 / 176
12.2.1. Informacje podstawowe / 176
12.2.2. Dodanie czujnika do systemu / 177
12.2.3. Budowa wewnętrzna / 179
12.2.4. Interfejs i protokół komunikacyjny / 181
12.3. Budowa i koncepcja działania systemu / 183
12.4. Implementacja aplikacji / 185
13. Projekt 8 – system alarmowy z interfejsem CAN / 191
13.1. Wprowadzenie / 192
13.2. CAN / 193
13.2.1. Geneza powstania / 193
13.2.2. CAN a model OSI/ISO / 193
13.2.3. Warstwa fizyczna / 195
13.2.4. Warstwa łącza danych / 198
13.2.5. Warstwa aplikacji / 202
13.2.6. Koncepcje budowy węzłów sieci CAN / 203
13.2.7. Podsumowanie / 204
13.3. Kontroler CAN MCP2515 / 205
13.3.1. Informacje podstawowe / 205
13.3.2. Dodanie układu do systemu / 205
13.3.3. Budowa wewnętrzna / 207
13.3.4. Interfejs i protokół komunikacyjny / 209
13.4. Budowa i koncepcja działania systemu / 210
13.5. Implementacja aplikacji / 213
14. Projekt 9 – nadajnik interfejsu 4–20 mA / 221
14.1. Wprowadzenie / 222
14.2. Interfejs 4–20 mA / 222
14.3. Układ Analog Devices AD421 / 224
14.3.1. Informacje podstawowe / 224
14.3.2. Budowa wewnętrzna / 224
14.3.3. Dodanie układu do systemu / 225
14.3.4. Interfejs i protokół komunikacyjny / 227
14.4. Budowa i koncepcja działania systemu / 228
14.5. Implementacja aplikacji / 229
15. Projekt 10 – bezprzewodowy system sterowania / 233
15.1. Wprowadzenie / 234
15.2. Moduł radiowy eRIC firmy Low Power Radio Solutions / 234
15.2.1. Informacje podstawowe / 234
15.2.2. Dodanie modułu do systemu / 235
15.2.3. Budowa wewnętrzna / 236
15.2.4. Interfejs i protokół komunikacyjny / 237
15.3. Budowa i koncepcja działania systemu / 238
15.4. Implementacja aplikacji / 40
16. Projekt 11 – Sterownik wentylatora / 245
16.1. Wprowadzenie / 246
16.2. Sterowanie silnikiem elektrycznym prądu stałego / 246
16.3. Kontroler Infineon Technologies TLE4207 / 248
16.3.1. Informacje podstawowe / 248
16.3.2. Dodanie układu do systemu / 248
16.3.3. Budowa wewnętrzna / 250
16.3.4. Interfejs komunikacyjny / 250
16.4. Budowa i koncepcja działania systemu / 251
16.5. Implementacja aplikacji / 252
17. Projekt 12 – Sterownik oświetlenia LED / 257
17.1. Wprowadzenie / 258
17.2. Dioda LED – zasilanie i sterowanie w systemach oświetleniowych / 258
17.3. Kontroler Infineon Technologies BCR421U / 259
17.3.1. Informacje podstawowe / 259
17.3.2. Dodanie układu do systemu / 260
17.3.3. Budowa wewnętrzna / 261
17.3.4. Interfejs komunikacyjny / 262
17.4. Budowa i koncepcja działania systemu / 263
17.5. Implementacja aplikacji / 264
Dodatek A – aplikacja komputerowa dla systemów czujnikowych / 267
A.1. Wprowadzenie / 268
A.2. Aplikacja XMC 2GO sensor application / 268
A.3. Tworzenie własnej aplikacji komputerowej / 269
A.4. Dodanie do własnej aplikacji interfejsu użytkownika / 271
A.5. Dodanie do własnej aplikacji komunikacji przez port COM / 274

Wprowadzenie
1.1.  Wstęp
Mikrokontroler to programowalny układ elektroniczny, składający się z jednostki centralnej (CPU), pamięci (danych i programu), a także bloków peryferyjnych – wszystko połączone ze sobą za pomocą magistral komunikacyjnych. Dzięki swojej wszechstronności i wynikającej z niej niezliczonej liczby zastosowań mikrokontrolery są podzespołami, bez których nie sposób wyobrazić sobie współczesną elektronikę. Dobitnie pokazują to dane statystyczne. W 2014 roku wyprodukowano łącznie ponad 18 miliardów mikrokontrolerów. W samochodzie znajduje się typowo ponad 50 tych układów, w domu zazwyczaj jest ich ponad 20. W najbliższym otoczeniu każdego z nas jest stale kilka mikrokontrolerów (w telefonie komórkowym, zegarku elektronicznym lub smart watchu, pilocie do auta itp.).
Zanim jednak mikrokontrolery przyjęły obecny kształt i stały się nieodłącznym elementem niemal każdego rodzaju urządzeń elektronicznych, podlegały wcześniej wieloletniej ewolucji. Początek ich historii miał miejsce w 1974 roku. Wtedy to właśnie firma Texas Instruments zaprojektowała pierwszą rodzinę mikrokontrolerów – TMS1000. Układy te cechowały się 4-bitową architekturą, co w uproszczeniu oznacza możliwość przesyłania przez magistralę danych i przetwarzania przez jednostkę centralną słów 4-bitowych.
Kolejny krok milowy w historii mikrokontrolerów stanowiły układy o architekturze 8-bitowej. Mikrokontrolery te pojawiły się na rynku już w 1976 roku. Była to konkretnie rodzina MCS-48 firmy Intel. Została ona zastąpiona potem (dokładnie w  1980 roku) przez rodzinę MCS-51, która oparta była na nazywanej przez wielu inżynierów „nieśmiertelną” (ze względu na dużą popularność) architekturze 8051. Warto zauważyć, że pomimo upływu lat, mikrokontrolery 8-bitowe dzięki niskiej cenie są ciągle używane w niektórych, niezbyt wymagających zastosowaniach. Przykładem są nie tylko produkowane przez wiele firm rodziny układów 8051, ale też rodziny AVR firmy Atmel oraz PIC12 i PIC16 firmy Microchip Technology. Zwiększające się wymagania odnośnie parametrów mikrokontrolerów takich jak
wydajność obliczeniowa, pobór prądu, rodzaj i liczba zintegrowanych peryferiów oraz zasobów pamięci stymulowały firmy z branży półprzewodnikowej do tworzenia nowych konstrukcji. W ten sposób światło dzienne ujrzały mikrokontrolery 16-bitowe. Ich intensywny rozwój przypada na lata 90. XX wieku. Wśród najpowszechniej wykorzystywanych tego typu rozwiązań (również dzisiaj) należą między innymi rodziny układów MSP430 firmy Texas Instruments, RL78 firmy Renesas Electronics oraz PIC24 firmy Microchip Technology. Po 16-bitowych układach przyszedł czas na rozwiązania 32-bitowe, które tworzą najnowszą historię mikrokontrolerów. Wyraźnie wyróżnić można tu dwa trendy.
Pierwszy polega na tworzeniu przez firmy półprzewodnikowe mikrokontrolerów opartych na ich autorskiej jednostce centralnej. Według takiego podejścia zaprojektowana została np. rodzina układów Freescale Coldfire (z jednostką V1–V5 w zależności od wersji) i różne rodziny układów firmy Renesas Electronics (np. RX z jednostką o tej samej nazwie). Drugi trend zapoczątkowany został przez firmę ARM (Advanced RISC Machines) Ltd. Polega on na tym, że ARM projektuje będące „sercem” mikrokontrolerów rdzenie (jednostki centralne) i oferuje je firmom półprzewodnikowym w postaci rozwiązania typu IPcore (Intellectual Proporty Core). Zainteresowane firmy dokonują zakupu licencji na rdzeń, a następnie dodając do niego według uznania pamięć i peryferia tworzą własną rodzinę mikrokontrolerów. Model ten stał się
popularny wraz z opracowaniem przez ARM rdzenia ARM7TDMI w 1998 roku. Powstały wtedy takie rodziny układów jak AT91SAM7 firmy Atmel, LPC2000 firmy NXP Semiconductors oraz STR7 firmy STMicroelectronics. Najnowszą propozycją firmy ARM dla mikrokontrolerów jest grupa rdzeni ARM Cortex-M. Jako pierwszy z tej serii został zaprezentowany w 2004 roku rdzeń Cortex-M3. Sukcesywnie firma projektowała kolejne rdzenie: Cortex-M1 (2007), Cortex-M0 (2009), Cortex-M4 (2010), Cortex-M0+ (2012) i Cortex-M7 (2014). Z perspektywy czasu należy jednoznacznie ocenić, że Cortex-M odniósł ogromny, komercyjny sukces. Rynek 32-bitowych mikrokontrolerów jest obecnie zdominowany przez układy oparte na rdzeniach z tej grupy. Warto tu wspomnieć o najbardziej popularnych rodzinach: STM32 firmy STMicroelectronics, Kinetis firmy Freescale (NXP) i EFM32 firmy Silicon Labs.
W tym doborowym gronie znalazła się również będąca przedmiotem niniejszej książki rodzina układów XMC1000 firmy Infineon Technologies. Mikrokontrolery te oparte są na rdzeniu Cortex-M0. Samo słowo mikrokontroler powstało w wyniku połączenia dwóch członów określających cechy tego układu elektronicznego. Pierwszy człon „mikro” podkreśla miniaturowy charakter tego rozwiązania. Drugi człon „kontroler” wskazuje na główny obszar zastosowania tego typu układów. Jest nim szeroko pojęte sterowanie. Łatwo zatem dojść do wniosku, że mikrokontrolery (czy to w wersji z lat 80. ubiegłego wieku, czy też w postaci najnowszych modeli) nie funkcjonują samodzielnie, ale są częścią pewnej całości, która podlega właśnie ich sterowaniu. Całość tą nazywa się systemem elektronicznym, albo też systemem wbudowanym. W tym miejsc warto odpowiedzieć sobie na pytanie czym jest taki system i do czego służy. Samo słowo system wywodzi się z języka greckiego (systema) i oznacza rzecz złożoną, a mówiąc precyzyjniej rzecz, w której wyodrębnić można wzajemnie powiązane ze sobą elementy, razem realizujące określoną funkcję lub zbiór pewnych funkcji. Jeśli tą definicję odniesiemy do systemu elektronicznego, to elementami jego mogą być (oprócz mikrokontrolera) przykładowo układy komunikacji przewodowej/bezprzewodowej lub wyświetlacz. Z kolei funkcją takiego systemu jest odpowiednio wysyłanie/odbieranie informacji oraz prezentowanie użytkownikowi treści. Warto zauważyć, że system elektroniczny może być kompletnym urządzeniem, ale może być też tylko jego wybraną częścią (częstszy przypadek). Systemy oparte na mikrokontrolerach XMC1000 są przedmiotem niniejszej książki.
1.2.  Opis zawartości książki
Książka składa się łącznie z siedemnastu rozdziałów. Materiał ten można tematycznie podzielić na dwie części. Pierwsza część, obejmująca rozdziały od drugiego do piątego, ma charakter teoretyczny i wprowadza czytelnika w świat mikrokontrolerów XMC1000 firmy Infineon Technologies. Druga część przechodzi od teorii do praktyki i pokazuje czytelnikowi, jak w warstwie sprzętowej i aplikacyjnej zrealizować projekty nieskomplikowanych systemów wykorzystujących mikrokontrolery z rodziny XMC1000. Część ta obejmuje rozdziały od szóstego do siedemnastego. Każdy z tych dwunastu rozdziałów dedykowany jest projektowi innego systemu.
Drugi rozdział poświęcono rdzeniowi Cortex-M0. Opisana została tu jego architektura (cechy najważniejsze z punktu widzenia budowy i funkcjonalności), a w szczególności model programowy (zbiór zasobów logicznych widzianych przez programistę).
Trzeci rozdział dostarcza informacji z zakresu budowy wewnętrznej mikrokontrolerów XMC1000.
Czwarty rozdział koncentruje się na narzędziach projektowych dedykowanych dla mikrokontrolerów XMC1000. Są to konkretnie dwa narzędzia wybrane przez autora do stworzenia projektów systemów będących przedmiotem drugiej części książki: płytka uruchomieniowa XMC 2GO oraz środowisko programistyczne DAVE 3. W pierwszej części rozdziału opisano budowę i funkcjonalność tych narzędzi. W dalszej części pokazano krok po kroku, jak z tych narzędzi w praktyce korzystać, począwszy od zainstalowania środowiska programistycznego, poprzez stworzenie aplikacji (napisanej w języku C), na uruchomieniu programu wynikowego na mikrokontrolerze płytki skończywszy.
Piąty rozdział łączy i zarazem kontynuuje tematykę rozdziału trzeciego i czwartego.
Po pierwsze, czytelnik może znaleźć tu bardziej szczegółowe informacje na temat zintegrowanych w mikrokontrolerach XMC1000 peryferiów, użytych w aplikacjach systemów drugiej części książki. Są to następujące zasoby sprzętowe: porty wejścia/wyjścia, zegar czasu rzeczywistego, licznik systemowy Systick, moduł komunikacji szeregowej USIC oraz moduł licznikowy CCU4. Po drugie, czytelnik może dowiedzieć się jak w środowisku programistycznym DAVE 3 pisać kod źródłowy sterujący tymi peryferiami.
Pierwsza grupa rozdziałów projektowych dotyczy interfejsu użytkownika, a więc systemu zapewniającego komunikację między urządzeniem i jego użytkownikiem.
W rozdziale szóstym zaprezentowano projekt interfejsu użytkownika, który oparty jest na przyciskach i diodach LED. Rozdział siódmy zawiera opis bardziej zaawansowanego rozwiązania interfejsu użytkownika, jakim jest prezenter treści oparty na wyświetlaczu LCD. Rozszerzeniem rozdziału siódmego jest rozdział ósmy – projekt zegara z kalendarzem na wyświetlaczu LCD.
Druga grupa rozdziałów projektowych skupia się na systemach o charakterze pomiarowym, opartych na czujnikach, a więc podzespołach będących przetwornikami zamieniającymi mierzoną wielkość na inną wielkość (w tym przypadku postać elektryczną). Trzy z tych rozdziałów zawierają opis systemów pomiarowych wielkości fizycznej (jest to taka własność materii, którą można wyrazić ilościowo), kolejno: wilgotności względnej (rozdział dziewiąty), ciśnienia atmosferycznego (rozdział dziesiąty) i natężenia prądu (rozdział jedenasty). W ostatnim z tej grupy rozdziale (dwunastym) opisano projekt systemu, który również bazuje na wykonywaniu pomiarów.
Służy on do detekcji piorunów.
Trzecia grupa rozdziałów projektowych poświęcona jest systemom komunikacyjnym.
W rozdziale trzynastym, czternastym i piętnastym opisano odpowiednio system komunikacji CAN, system komunikacji w pętli prądowej 4-20 mA oraz system komunikacji bezprzewodowej.
W rozdziale szesnastym opisano projekt systemu sterującego silnikiem elektrycznym prądu stałego.
Siedemnasty rozdział zawiera opis projektu kontrolera diod LED do zastosowań oświetleniowych.
Każdy z rozdziałów projektowych został przygotowany według podobnego schematu. Wstęp sygnalizuje tematykę, której dotyczy rozdział, zawiera też krótki opis zaprojektowanego systemu. W większości przypadków za wstępem znajduje się treść z informacjami teoretycznymi, które być może nie są niezbędne do zrozumienia zasady działania systemu, ale dają za to czytelnikowi możliwość szerszego spojrzenia na poruszane zagadnienia. Dalej zamieszczony jest opis podzespołów będących elementami systemu. Punktem kulminacyjnym rozdziału jest sam projekt systemu, który obejmuje opis, schematy blokowe, schematy elektryczne oraz kod źródłowy.
Ostatnim rozdziałem książki jest dodatek, w którym pokazano, jak stworzyć prostą aplikację komputerową mogącą komunikować się z mikrokontrolerem (nie tylko z rodziny XMC1000, ale też z innych rodzin).
1.3.  Korzyści płynące dla Czytelnika
Co może zyskać osoba, która zdecyduje się poświęcić czas na lekturę niniejszej publikacji? Czytelnik po przyswojeniu sobie wiedzy z pierwszej części książki jest nie tylko dobrze zaznajomiony w aspekcie teoretycznym z mikrokontrolerami XMC1000, ale też umie posługiwać się narzędziami projektowymi umożliwiającymi tworzenie aplikacji dla tych układów. Druga część książki dostarcza czytelnikowi wiedzy praktycznej. Studiując treść rozdziałów projektowych czytelnik zdobywa umiejętności w zakresie tworzenia systemów elektronicznych bazujących na mikrokontrolerach XMC1000.
1.4.  Profil Czytelnika
Niniejsza książka adresowana jest do szerokiego kręgu odbiorców. Każda osoba zainteresowana tematyką mikrokontrolerów, niezależnie od doświadczenia zawodowego, znajdzie w niej coś wartościowego.
Dla osób bez doświadczenia pozycja ta stanowić może materiał pozwalający na łatwe rozpoczęcie przygody z mikrokontrolerami. Jedynym stawianym czytelnikowi wymogiem jest podstawowa wiedza z zakresu elektroniki oraz znajomość języka programowania C. Osoby już posiadające pewne doświadczenie, lecz przywiązane do popularnych w naszym kraju mikrokontrolerów 8-bitowych, mogą dzięki tej książce wejść w świat 32-bitowych mikrokontrolerów z rdzeniem ARM Cortex-M.
Osoby jeszcze bardziej doświadczone, którym nieobce są układy z rdzeniem firmy ARM, mogą wykorzystać tą książkę do uzupełnienia swojej wiedzy o nową rodzinę mikrokontrolerów.
Jedną z docelowych grup odbiorców książki są studenci wyższych uczelni technicznych. Rozdziały zawierające opis mikrokontrolerów XMC1000 i dedykowanych dla nich narzędzi, jak też treści teoretyczne rozdziałów projektowych mogą być znakomitym uzupełnieniem wykładów akademickich. Z kolei projekty systemów mogą pobudzić studentów do kreatywnego działania i realizacji ciekawych pomysłów w  ramach zajęć praktycznych.
Książka została napisana też z myślą o elektronikach hobbystach. Opisane projekty systemów opartych na mikrokontrolerach XMC1000 mogą w łatwy sposób zostać
wykonane w domowych warunkach, a następnie w postaci zgodnej z pierwowzorem, lub w zmodyfikowanej wersji, mogą zostać użyte na potrzeby własne czytelnika.
Książka jest również propozycją odpowiednią dla profesjonalistów, a więc inżynierów pracujących w roli elektroników-konstruktorów. Zaprezentowane systemy oparte na mikrokontrolerach XMC1000 mogą stanowić wskazówkę jak dodać określoną funkcjonalność do projektów urządzeń komercyjnych.
Książka skierowana jest ponadto do inżynierów elektroników chcących podnieść swoje kwalifikacje zawodowe i tym samym zwiększyć atrakcyjność na rynku pracy.
XMC1000 to rodzina układów z bardzo popularnego obecnie nurtu 32-bitowych mikrokontrolerów opartych na rdzeniu ARM Cortex-M, których znajomość jest coraz wyżej ceniona przez pracodawców.