Mikrokontrolery i platformy IoT
O mikrokontrolerach w mediach było głośno dwa lata temu, kiedy w pandemii zaczęły się kłopoty z ich dostępnością, a czasy realizacji zamówień pobiły rekordy, często przekraczając znacznie cały rok. Wówczas okazało się, jak bardzo jesteśmy zależni od tych jednostek i jak mało poświęcaliśmy uwagi w projektach na minimalizację ryzyka związanego z jednym źródłem zaopatrzenia, typem układu, a nawet używaną obudową.
Problemy z kupnem układów dla większości firm okazały się dużym kłopotem: organizacyjnym, technicznym i finansowym. Zmusiły do zmiany wypracowanych mechanizmów działania, źródeł zaopatrzenia, a niejeden projekt musiał zostać przeprojektowany pod to, co akurat udało się kupić. Problemy z zaopatrzeniem doprowadziły ponadto do sytuacji, że producenci elektroniki zmuszeni byli akceptować każde warunki dostaw i ceny, zaczęli się interesować odpowiednikami funkcjonalnymi (klonami) poszukiwanych chipów, co wcześniej było prawie nie do pomyślenia. Problemy z zaopatrzeniem zwiększyły także świadomość klientów, którzy odchodzą dzisiaj od zamkniętych systemów i architektur własnościowych i stawiają coraz częściej na systemy elastyczne, otwarte, możliwe do rozbudowania o urządzenia pochodzące od różnych producentów. Wypracowywana w ostatnich latach koncepcja utrzymywania małych zapasów magazynowych i kupowania potrzebnych ilości na bieżąco z dnia na dzień też odeszła w przeszłość i nie wiadomo, czy kiedyś wróci.
Wiele z opisanych wyżej problemów rynkowych zalicza się już do przeszłości, mimo że czasy dostaw jeszcze nie wróciły całkowicie do normy. Niestety, wojna ciągle wpływa na dostępność, czasy dostaw i ceny. Zresztą nie wiadomo, czy kiedykolwiek łańcuchy wrócą do tego, co było. Nie wiadomo też, czy to, co było dwa lata temu normą, dalej obowiązuje jako wyznacznik stabilności. Dostępność z pewnością się poprawia, bo linie produkcyjne cały czas pracują, a jednocześnie popyt rynku zmalał, dzięki czemu luki w magazynach łatwiej zapełnić. Producenci nagromadzili też zapasy, bojąc się niepewności i na razie ograniczają zakupy w oczekiwaniu na ożywienie rynku.
Niestety mikrokontrolery znacząco podrożały, tak mniej więcej dwukrotnie i realizacja projektów wrażliwych na cenę jest znacznie trudniejsza. Przykładem mogą być rozproszone sieci sensoryczne w IoT, składające się z wielu węzłów, z których każdy zawiera mikrokontroler. Przed nami zapewne są kolejne podwyżki wywołane inflacją oraz wzrostem cen u producentów półprzewodników. Największe na świecie fabryki chipów, w tym TSMC, Samsung i Intel, rozważają podwyżki cen z powodu inflacji oraz rosnących kosztów. W efekcie wzrostu cen materiałów, kosztów pracy i mediów konieczne staje się ciągłe przeliczanie opłacalności wielu inwestycji i realizowanych projektów.
Na dodatek sytuacja w ostatnich miesiącach w gospodarce nie jest najlepsza. Dużym problemem na rynku jest wstrzymanie finansowania z funduszy unijnych (środki z KPO), przez co wiele projektów rozwojowych, infrastrukturalnych jest zawieszonych. Gospodarka krajowa, a także europejska, przechodzi okres spowolnienia i ma to wpływ na rynek i sprzedaż. Mniej mówi się o cyfryzacji przemysłu i usług, mimo że trend ten cały czas jest postrzegany jako ważny i przyszłościowy, więcej o technologiach AI/ML, edge computing, które nie tylko są domeną mikroprocesorów, ale też "słabszych" jednostek. W największym stopniu dotyczy to oczywiście uczenia maszynowego, z uwagi na ograniczoną moc przetwarzania danych w MCU.
Poza nie najlepszym otoczeniem gospodarczym firmy sygnalizują, że czas funkcjonowania układów na rynku się skrócił (tzw. okres longevity). Gorzej sprzedające się układy, te mniej popularne, są wycofywane z ofert i na ich miejsce wprowadzane są inne. Powodem jest chęć optymalizacji mocy wytwórczych i sprostanie potrzebom zakupowym jak największej części klientów. To słuszne cele, niemniej sprawiają one problemy w przypadku elektroniki profesjonalnej, która jest długo produkowana i serwisowana.
To samo dotyczy obudów układów scalonych, których różnorodność jest dzisiaj znacznie mniejsza niż dawniej. Zmiana obudowy nie jest wprawdzie tak trudna jak przesiadka na inny procesor, ale też wymaga poświęcenia czasu na zmiany mozaiki PCB. Nowe obudowy to często wersje bezwyprowadzeniowe o małych rastrach. Ich montaż i serwis mogą wymagać lepszego sprzętu w sensie zaawansowania technologicznego.
Do negatywnych zjawisk można też zaliczyć rozbieżność oczekiwań programistów i architektów infrastruktury a możliwościami technicznymi urządzeń, takimi jak moc obliczeniowa, wielkość pamięci, duży pobór mocy, brak kompatybilności urządzeń w systemie. Można też zwrócić uwagę na jeszcze jeden aspekt – cyberbezpieczeństwo, które niedostatecznie poważnie traktowane może prowadzić do wycieku danych, produkcyjnych czy klientów. O tym się mówi coraz częściej, niemniej praktyka bywa niestety bardzo beztroska.
Na trzecim miejscu zestawienia mamy bogactwo układów peryferyjnych, a więc dodatków wbudowanych w strukturę mikrokontrolera. Peryferia są istotne, gdyż w wielu przypadkach zasoby MCU tworzą całość warstwy sprzętowej aplikacji, takiej jak IoT.
Mikrokontrolery mogą być postrzegane jako prawdopodobnie najpopularniejszy typ układów scalonych i funkcjonalnych na rynku elektroniki, najbardziej uniwersalny i wykorzystywany praktycznie w każdej aplikacji. Z tego powodu rozwój technologiczny w tym obszarze jest dynamiczny, a kolejne jednostki wchodzące na rynek charakteryzują się większą wydajnością, mniejszym poborem mocy, większą liczbą zaawansowanych układów peryferyjnych. Rozwój rynku wspierają też liczne narzędzia programistyczne, zintegrowane środowiska programistyczne i biblioteki pozwalające niewielkim wysiłkiem zyskać cenną funkcjonalność, taką jak na przykład uczenie maszynowe. Wiele innych typów układów scalonych projektuje się pod kątem współpracy z mikrokontrolerami, stąd to co dzieje się w omawianym obszarze, wpływa istotnie na biznes.
Wsparcie techniczne
Z uwagi na coraz większą złożoność, krótszy czas funkcjonowania chipów w branży, dla każdego klienta odpowiednie wsparcie techniczne świadczone przez dystrybutora z roku na rok staje się coraz bardziej istotne. Obecnie na rynku jest bardzo dużo podobnych funkcjonalnie produktów i wiele z nich jest do siebie podobnych. Wybór optymalnego rozwiązania staje się niełatwy i czasochłonny, a przecież codziennym kłopotem współczesnego projektanta jest chroniczny brak czasu. Stale zwiększa się liczba zagadnień technicznych i wymagań, o których trzeba pamiętać oraz je uwzględnić. W wyżyłowanych do granic projektach o powodzeniu decydują drobne szczegóły, a często wybiera się nie tyle komponent, co całe środowisko i architekturę, łącznie z oprogramowaniem narzędziowym, zestawami ewaluacyjnymi, a nawet próbkami.
Płytki startowe razem ze społecznością inżynierską na forach dyskusyjnych ograniczają zapotrzebowanie na wsparcie techniczne, dlatego producenci i dystrybutorzy wspierają takie działania i bardzo często prowadzą je dla społeczności, a ich specjaliści aktywnie odpowiadają na podające tam pytania. Wiele problemów aplikacyjnych jest wspólnych dla danego zastosowania, stąd duża szansa, że temat omówiony na forum okaże się przydatny dla kolejnego użytkownika i nie będzie wymagać kontaktu z inżynierami pomocy technicznej. Gotowa płytka eliminuje ponadto wiele trywialnych błędów projektowych niepowiązanych z tworzoną aplikacją lub też zwykłych pomyłek, które paradoksalnie potrafią być trudne do zauważenia.
Wsparcie techniczne dystrybutorów jest też przeciwwagą dla sprzedaży typu direct, a więc kupowania przez Internet bezpośrednio od producenta. Taki model producenci próbują upowszechniać od lat, z różnym skutkiem.
Oprogramowanie równie istotne jak hardware
Na szybkość projektowania ma też wpływ czas przygotowania oprogramowania i z reguły jest to zagadnienie bardziej istotne od warstwy sprzętowej. To dlatego, że wiele aplikacji składa się z mikrokontrolera razem z niewielkim otoczeniem układów pomocniczych i peryferyjnych i od strony układowej są one stosunkowo proste. To jest normalne działanie, bo konieczność minimalizacji kosztów prowadzi do tego, aby koszt materiałowy zdefiniowany przez listę BOM był jak najniższy. Z uwagi na to korzystniej jest implementować więcej funkcji użytkowych w oprogramowaniu, bo związane z nim wydatki nie dotyczą każdej wytworzonej sztuki.
Te procesy sprawiają, że rola oprogramowania firmware cały czas się zwiększa. Staje się ono bardziej rozbudowane i złożone, a czas jego przygotowania (napisania) jest coraz dłuższy.
Na drugim miejscu pod względem ważności oddziaływania regresywnego wskazano wysokie ceny. W czasie rynkowych niedoborów wzrost cen jest naturalną konsekwencją, niemniej w przypadku MCU wykracza on poza wszelkie wskaźniki inflacyjne i to zapewne było powodem tak wysokiej pozycji w ankietach.
W ankietach blisko 50% trafień padło też na "konserwatywne podejście klientów do nowości", a więc przywiązania klientów do wypróbowanych i znanych architektur MCU i istniejących w ich obrębie typów i niechęci do wyjścia poza znany schemat. Inercja z pewnością od wielu lat przeszkadza w dynamice rozwoju rynku, nie tylko mikrokontrolerów, ale także wielu innych grup produktów, ale z drugiej strony, są to skomplikowane produkty, do których wiedzę, narzędzia sprzętowe, oprogramowanie gromadzi się przez długi czas. Zgromadzenie tego zabiera mnóstwo czasu, więc naturalne jest, że firmy chcą jak najdłużej korzystać z dorobku. Poza tym inercję inżynierską można też traktować jako właśnie efekt krótkiej żywotności rynkowej układów.
Podobnie jak zestawy startowe, projekty aplikacyjne lub gotowe rozwiązania dostarczane przez działy wsparcia technicznego producenta i dystrybutora ułatwiają budowę części sprzętowej, takie same zjawiska można dostrzec w zakresie oprogramowania. Podstawą są zintegrowane środowiska typu IDE, ale największą pomoc zapewniają gotowe kawałki kodu, biblioteki procedur lub nawet gotowe rozwiązania z otwartą licencją, które wystarczy przerobić pod swoje potrzeby. Takie zasoby też się bardzo szybko zwiększają i mają duży wpływ na tempo rozwoju rynku i na akceptację nowych rozwiązań. Poza oprogramowaniem darmowym na rynku jest jeszcze wiele narzędzi płatnych związanych np. z grafiką, interfejsem użytkownika. Konieczność pracy od zera jest chyba bardzo rzadkim przypadkiem.
Coraz większe znaczenie w tworzeniu oprogramowania mają języki wysokiego poziomu, także wersje skryptowe, specjalizowane narzędzia zdolne do wygenerowania kodu na podstawie zapisanego graficznie algorytmu. Takie narzędzia najczęściej kierowane są do tworzenia aplikacji IoT i jeśli nie ma wymagań co do szybkości, a stopień komplikacji nie jest duży, to można z ich użyciem zaoszczędzić sobie sporo wysiłku.
W powstanie takich narzędzi zaangażowały się duże koncerny, np. Renesas i Microsoft, który stworzył narzędzia pozwalające prosto stworzyć oprogramowanie dla projektu IoT z wykorzystaniem chmury. Wraz z kolejnymi układami SoC zawierającymi kompletne platformy sprzętowe do takich zastosowań tego typu narzędzia będą zyskiwać na znaczeniu i zapewne będą coraz doskonalsze. Hipotetyczny koniec tych procesów można upatrywać w tym, że w obszarze IoT najbardziej liczyć się będzie pomysł na aplikację, to, jaką korzyść (wartość) będzie można osiągnąć, a nie sprzęt i oprogramowanie.
Peryferia, bezprzewodowość
Wraz z każdą kolejną generacją i nową architekturą mikrokontrolery zawierają coraz więcej zaawansowanych obwodów peryferyjnych przeznaczonych do realizacji typowych zadań, jak współpraca z czujnikami (wzmacniacz operacyjny), do komunikacji bezprzewodowej, ze sterownikiem przycisków dotykowych, z wysokorozdzielczym przetwornikiem A/C, blokiem kryptograficznym, kontrolerem wyświetlacza i tak dalej. Ważne są interfejsy jak SPI, I²C, I²S, UART, PDM i PWM i przetworniki ADC o rozdzielczości min. 12 bitów. Wymagania rynku są takie, że z czasem bloków peryferyjnych będzie jeszcze więcej, bo zawsze rozwiązanie maksymalnie zintegrowane będzie w centrum uwagi, nie tylko z uwagi na cenę.
Silnie połączona z tematyką mikrokontrolerów jest komunikacja bezprzewodowa, co wynika z ekspansji aplikacji IoT oraz popularności połączeń tego typu w każdej dziedzinie techniki. Mikrokontrolery w postaci SoC z transceiverem RF, Bluetooth, Wi-Fi, ZigBee, LoRa, LTE przebijają się coraz częściej w aplikacjach, pozwalają łatwo zrealizować wiele typowych aplikacji. Przy wykorzystaniu projektów referencyjnych, narzędzi i oprogramowania dostarczanego przez producentów można to zrobić szybko i bez ryzyka niepowodzenia badań EMC, badania zgodności z przepisami itd. Na rynku komunikacji bezprzewodowej jest zbyt wiele standardów i ciągle pojawiają się nowe. Inwestycja w konkretne rozwiązanie standardowe oznacza niestety większą komplikację i koszty, a wiele z projektów i aplikacji nie musi mieć takiej zgodności, bo stanowi system zamknięty lub własnościowy. Moduły radiowe wbudowane w mikrokontrolery działają w bezpłatnych pasmach ISM i mają znakomite parametry. Pozwalają na pracę w różnych pasmach częstotliwości od 433 MHz do 2,4 GHz, mają możliwość pracy w systemie punkt-wielopunkt, umożliwiają ustawianie parametrów, oferują tryby oszczędzania energii. Wartość dodana do aplikacji związana z ich wykorzystaniem jest z pewnością istotna, zwłaszcza w komplecie z mikrokontrolerem. Przykładem takiego rozwiązania jest m.in. mikrokontroler ESP32 od firmy Espressif, który zdobył ogromną popularność i doczekał się nowych wersji.