Podstawowe wskazówki wyboru mikrokontrolerów w nowoczesnych projektach systemów

Wystarczy spojrzeć na dowolny katalog komponentów elektronicznych i stanie się jasne, że projektanci nie mogą narzekać na brak wyboru, jeśli chodzi o potencjalne opcje mikrokontrolerów (MCU). Ogromna gama dostępnych produktów świadczy o tym, jak istotną częścią współczesnego procesu wdrażania systemów stały się mikrokontrolery. Trudno w dzisiejszych czasach znaleźć coś, co nie zawierałoby co najmniej jednego MCU.

Zakres oferowanych możliwości może się wydawać złowróżbny, ale to wrażenie szybko mija, gdy podejdzie się do rzeczy w bardziej metodyczny sposób, tj. uwzględniając decyzje, które należy podjąć, aby znaleźć najlepsze rozwiązanie do realizowanego zadania. Oto siedem kluczowych rzeczy, o których należy pomyśleć, przeglądając opcje mikrokontrolerów. Powinny one pomóc stwierdzić, które produkty z katalogu najlepiej spełnią konkretne potrzeby.

Architektura

Najważniejszą kwestią w przypadku projektu wbudowanego jest to, czy rdzeń procesora w mikrokontrolerze będzie w stanie odpowiednio wykonywać oczekiwane zadania. Podstawowy 8-bitowy rdzeń będzie w stanie obsłużyć zadania sterujące, które obejmują monitorowanie portów we/wy i zmianę stanu na podstawie danych wejściowych. Jeśli zadanie wymaga jednak obliczeń arytmetycznych oraz manipulacji danymi wejściowymi w algorytmach (takich jak sterowanie w pętli zamkniętej), system może wymagać bardziej wyrafinowanego zestawu instrukcji, który może pociągać za sobą konieczność przejścia do rdzenia 16- lub nawet 32-bitowego.

Szersze potoki mają tę zaletę, że traktują próbki i inne rzeczywiste dane jako jedną jednostkę. Rdzeń 8-bitowy będzie dzielić wszystkie wartości danych, poza najmniejszymi, na podjednostki w celu ich przetworzenia, co obniży wydajność. W przypadku sterowania w pętli zamkniętej 16-bitowa architektura z obsługą cyfrowego przetwarzania sygnałów często zapewnia najlepszą równowagę między kosztami a wydajnością arytmetyczną. W przypadku systemów, które muszą obsługiwać połączenie funkcji sterowania, komunikacji i zarządzania, może być jednak wymagana większa wydajność rdzenia 32-bitowego.

Rysunek 1. Mikrokontroler 8-bitowy PIC18F46Q10T-I/PT z popularnej rodziny PIC firmy Microchip

Porty we/wy

Ogromną zaletą projektowania z wykorzystaniem mikrokontrolerów jest różnorodność zintegrowanych portów we/wy, które są z nimi dostarczane. Wiele układów sprawdzi się w zastosowaniach specjalnych właśnie dzięki starannie dobranej kombinacji portów we/wy, które obejmują zarówno programowalne przez rejestry cyfrowe linie sygnałowe, inteligentne jednostki sterujące silnikami, jak i całe podsystemy bezprzewodowe do łączności IoT. Określając jakich funkcji potrzebuje aplikacja, często warto skorzystać z wyszukiwania parametrycznego w celu utworzenia krótkiej listy odpowiednich urządzeń.

W idealnym świecie istnieje mikrokontroler ze wszystkimi portami we/wy potrzebnymi do obsługi żądanej aplikacji. Perspektywa ta może jednak być nierealna, szczególnie w przypadku bardziej niszowych projektów. Wiele zewnętrznych urządzeń peryferyjnych jest zgodnych ze standardowymi specyfikacjami interfejsów (takimi jak I2C lub SPI). Alternatywnie mogą wykorzystywać interfejs równoległy, który obsługuje połączenie z magistralą pamięci lub dostęp przez manipulację liniami we/wy ogólnego przeznaczenia. Przegląd zewnętrznych komponentów potrzebnych w projekcie pozwoli ustalić, czy mikrokontroler wymaga szeregowych czy równoległych portów we/wy poza wbudowanymi urządzeniami peryferyjnymi.

Pamięć

Pamięć stanowi często główne kryterium wyboru określonego komponentu z rodziny mikrokontrolerów. Ze względu na dodatkowe cykle potrzebne do uzyskania dostępu pamięć zewnętrzna zwiększa całkowity koszt i często obniża wydajność. Dlatego też warto się upewnić, że docelowa aplikacja mieści się w granicach pamięci wybranego mikrokontrolera. Często jednak właściwe będzie użycie zewnętrznej pamięci szeregowej do przechowywania danych konfiguracyjnych po odłączeniu zasilania systemu. Podobnie jak w przypadku oceny wydajności, zespół projektowy musi oszacować ile bajtów zajmie aplikacja i towarzyszący jej system operacyjny (jeśli jest wymagany) zarówno w kontekście pamięci programu, jak i danych.

Bardzo często aplikacja nie będzie gotowa przed dokonaniem wyboru mikrokontrolera. Co więcej, nawet przy użyciu technik szacowania, takich jak analiza punktów funkcyjnych, nadal trudno jest określić dokładną prognozę rzeczywistego wykorzystania pamięci. Z tego powodu warto wybrać rodzinę mikrokontrolerów, która umożliwia łatwe skalowanie rozmiaru pamięci — Flash, jak i SRAM. W przypadku części, które oferują wiele wariantów rozmiaru pamięci, na ogół łatwo jest przejść do innego układu. Jednocześnie nie wpływa to na schematy połączeń (pinouty) i inne aspekty projektu.

Moc

Zużycie energii urosło do rangi głównego problemu projektantów systemów wbudowanych. Oczekuje się, że wiele projektów z zakresu IoT będzie działać przez lata na jednym ładowaniu akumulatora. Nawet w przypadku systemów zasilanych z sieci efektywność energetyczna stanowi obecnie podstawowe kryterium zakupu dla inżynierów. Istnieje kilka sposobów, dzięki którym staranny dobór mikrokontrolera poprawia efektywność energetyczną. Jednym z nich jest ciągłe przechodzenie w kierunku gęstszych procesów w celu wykorzystania zalet skalowania (nie tylko w zakresie logiki i pojemności pamięci, ale także w odniesieniu do zużycia energii).

Większa poprawa efektywności energetycznej wynika jednak na ogół ze strategicznego zastosowania trybów niskiego poziomu aktywności i trybu uśpienia, gdy mikrokontroler jest w niewielkim stopniu obciążony pracą. Dzieląc aktywności na krótkie impulsy, projektanci mogą skorzystać z trybów uśpienia, które zmniejszają pobór prądu do rzędu nanoamperów. Ponadto rosnąca liczba układów zapewnia inteligentne kontrolery peryferyjne, które umożliwiają wykonywanie zwykłych funkcji bez konieczności wybudzania rdzenia procesora. To maksymalizuje czas uśpienia i zmniejsza ilość energii potrzebnej do uruchomienia aplikacji.

Rysunek 2. Schemat blokowy mikrokontrolera MSP430F2132QRHBREP firmy Texas Instruments.

Narzędzia

Obsługa narzędzi jest kluczowym wyróżnikiem wielu wiodących architektur MCU. Chociaż wyszukiwanie parametryczne często ujawnia wielu kandydatów z różnych rodzin architektury procesorów, to stopień, w jakim obsługa narzędzia odpowiada potrzebom zespołu programistów, jest ważnym mechanizmem podejmowania decyzji przy wyborze. Pod uwagę należy wziąć umiejętności i doświadczenie programistów. Inżynierowie z dogłębną znajomością języków wysokiego poziomu, używanych w większych systemach, będą naturalnie dążyć do architektur 32-bitowych, takich jak ARM, ponieważ oferują one najszerszy wybór kompilatorów. W sytuacjach, gdy mamy do czynienia z ograniczeniami pamięci i kosztów, większy sens będzie miało dążenie do architektur 8- lub 16-bitowych i uwzględnienie niektórych ograniczeń, które mogą nałożyć na kod C. W wielu przypadkach dostępna jest szeroka gama narzędzi. Główne 8- i 16-bitowe architektury mikrokontrolerów obsługiwane są przez kompletne zestawy narzędzi kompilatorów, debuggerów i linkerów. Często hostowane są też w zintegrowanym środowisku programistycznym (IDE) i zlokalizowane w bardzo rozsądnym przedziale cenowym.

Obudowy

Przestrzeń potrzebna na płytce odgrywa ważną rolę w wielu projektach. Użytkownicy często decydują się na mikrokontrolery, ponieważ ich wysoka integracja umożliwia zmniejszenie wykorzystanej powierzchni. Nie należy jednak zapominać o kompromisach między typem obudowy a tym, jak przekłada się ona na sposób projektowania płytki. Na przykład nieustannie rośnie liczba mikrokontrolerów dostępnych w obudowach typu CSP, które maksymalnie zmniejszają wielkość układów. Tym niemniej duża gęstość połączeń pod obudową może stanowić wyzwanie w projektowaniu płytki drukowanej. Powoduje bowiem konieczność przejścia większą liczbę warstw PCB, a także droższy proces montażu.

Na miejsce na płytce wpłynie również liczba potrzebnych komponentów pomocniczych oraz sposób prowadzenia ścieżek na docelowej płytce drukowanej. Dla małej liczby warstw lub przy elastycznej płytce drukowanej, powierzchnia wokół mikrokontrolera konieczna do poprowadzenia połączeń do portów we/wy, zegara, uziemienia i zasilania lawinowo wzrasta dla dużej liczby wyprowadzeń. Inżynierowie muszą również wziąć pod uwagę niezawodność urządzenia po zamontowaniu na płytce drukowanej w kontekście docelowego zastosowania aplikacji. Silne wibracje i wstrząsy mogą wymusić zastosowanie specjalnej płytki PCB, co z kolei może wymagać przejścia na inną rodziną mikrokontrolerów.

Rysunek 3. Płytka rozwojowa 511-NUCLEO-G070RB firmy STMicroelectronics oparta na 32-bitowym rdzeniu procesora ARM

Zestawy

Mikrokontroler stanowi niemal idealną platformę w sytuacjach, w których ważny jest czas wprowadzenia produktu na rynek. Znacznie upraszcza bowiem pracę przy projektowaniu sprzętu. Wszechstronne narzędzia programowe zapewniane obecnie przez dostawców umożliwiają szybkie tworzenie ostatecznej wersji aplikacji.

Nawet z tymi akceleratorami projektów zespoły mogą uzyskać jeszcze większą przewagę, wybierając mikrokontroler, dla których dostępne są zestawy rozwojowe. To gotowe płytki zawierające wybrany mikrokontroler wraz z dodatkowymi portami we/wy, których będzie potrzebować typowa aplikacja. Ponadto wiele z nich już teraz oferuje rodziny płytek rozszerzeniowych, które podłącza się do płyty głównej, dzięki czemu inżynierowie mogą zmontować rozwiązanie sprzętowe w czasie niewiele dłuższym niż potrzebny na dostarczenie płytki przez dystrybutora. Zespoły mogą zatem przygotować model koncepcyjny gotowy do pokazania klientom, instalując po prostu prototypowe oprogramowanie w systemie ewaluacyjnym. Potencjalnie te zestawy mogą stanowić podstawę wczesnych wersji produktu. Jednocześnie zespół projektantów sprzętu może równolegle pracować nad zoptymalizowanym kosztowo rozwiązaniem, które okaże się bardziej atrakcyjne w dłuższej perspektywie.

Mouser Electronics

Autoryzowany dystrybutor

www.mouser.com

Śledź nas na Twitterze

O autorze