Mikrokontrolery i rozwiązania dla IoT – definiują nowoczesną elektronikę

Jesteśmy już bardzo blisko takiego stanu w rozwoju technologii, że każde urządzenie elektroniczne wymagające zasilania będzie miało przynajmniej jeden mikrokontroler. Liczba tych chipów w układach elektronicznych nieustannie rośnie, bo są one w stanie zapewnić bardzo dużą funkcjonalność za niską cenę, a dla wielu aplikacji tworzą praktycznie całą platformę sprzętową. Duża liczba producentów, wersji, różne architektury, rdzenie, szerokości szyny danych, wyposażenie w układy peryferyjne, a także przeznaczenie aplikacyjne powodują, że dobór optymalnej jednostki do realizowanego projektu staje się trudny i czasochłonny. Poza aspektami technicznymi optymalny wybór MCU wymaga też rozeznania biznesowego w cenach, dostępności, wymaganej wielkości zakupu i podobnych. W takich okolicznościach uwaga kierowana jest na dystrybutorów mikrokontrolerów oraz narzędzi, którzy są w stanie pomóc przebrnąć przez wiele trudnych decyzji.

Postęp techniczny i technologiczny w obszarze mikrokontrolerów jest bardzo szybki, przez co trzeba bardzo uważać, głosząc twierdzenia na temat tego, co się da, czego się nie da, co można, a czego nie. Bo zawsze może się okazać, że pojawiło się rozwiązanie, które tworzy wyjątek. A jak się ten wyjątek przyjmie (czyli okaże się dobrym pomysłem), to trwale zmienia paradygmat w danym obszarze.

Stałym trendem od lat jest to, że funkcjonalność mikrokontrolerów cały czas rośnie. Nowe mają więcej układów peryferyjnych, większą pamięć, lepsze rdzenie zapewniające wydajność i energooszczędność.

Rozwój rynku mikrokontrolerów nie jest też jednokierunkowy. Z uwagi na liczne obszary aplikacyjne rodziny produktów rozwijają się w kierunku dużej wydajności, małej mocy, w obrębie wersji specjalizowanych, np. komunikacyjnych, do przetwarzania sygnałów i sterowania silnikami itd.

Wiele jednostek jest ukierunkowanych do pracy w określonych aplikacjach i zawiera zestaw obwodów peryferyjnych kompletny z punktu widzenia zastosowań aplikacyjnych. Przykładem mogą być układy z obwodami analogowymi przeznaczone do pracy w zasilaczach cyfrowych, jednostki z wbudowanym transceiverem do komunikacji bezprzewodowej lub też mikrokontrolery o bardzo małym poborze mocy i z wysokorozdzielczym przetwornikiem A/C, a także blokiem obliczeniowym do kalkulacji zużycia mediów.

Zestawienie najpopularniejszych architektur mikrokontrolerów na rynku polskim
 
W porównaniu z analogicznym zestawieniem sprzed trzech lat, AVR i PIC zamieniły się miejscami na wykresie (niemniej obie te pozycje stanowią ofertę firmy Microchip), znaczenie MSP430TI zauważalnie się zmniejszyło, a potencjał rozwiązań Renesasa, NXP/ Freescale lub klonów 51 stanowi pomijalny margines. Na wykresie dominują układy ARM Cortex, ale pozycja silniejszych jednostek ARM też jest wysoka. Można powiedzieć, że rynek się polaryzuje. Jeden biegun stanowią układy z rdzeniem ARM Cortex, drugi rozwiązania Microchipa i ST Micro.

OPTYMALNY WYBÓR UKŁADU TO SPORE WYZWANIE

Ponieważ nie ma jednego układu pasującego do każdego zastosowania, oferty producentów szybko się rozszerzają, tworząc rodziny zawierające dziesiątki zgodnych pinowo i programowo wersji. Niekiedy jest ich tak wiele, że wybór wariantu w zakresie interfejsów, pamięci, obudowy a także ważnych szczegółów, jak zakres temperatur pracy itd., wymaga posłużenia się arkuszem kalkulacyjnym lub specjalizowanym narzędziem online. Niemniej wiele wersji i wariantów obudów pozwala dobrze dobrać układ do wymagań aplikacyjnych.

Specjalizacja jeszcze bardziej zwiększa asortyment i przekłada się na setki chipów w każdej z rodzin. To dobrze i źle. Dobrze, bo jest z czego wybierać, nie trzeba iść na kompromisy lub przepłacać, kupując chip, którego możliwości wykorzystamy jedynie w części. Wiele komponentów w ramach oferty producenta i rodziny zapewnia też łatwość migracji. Czyli użycia innego, lepszego chipu, zamiast dotychczasowego, bez konieczności przerabiania mozaiki obwodu drukowanego lub zmiany oprogramowania. Do minusów zaliczyć można to, że wybór jednostki najlepszej do danej aplikacji przestaje być łatwy. Póki wybór układu dotyczy danej rodziny, zestawienie parametrów ma formę jednej strony w arkuszu i daje się jakoś objąć. Wybór się komplikuje, gdy trzeba dobrać układ w ramach jednego producenta, a więc zwykle spośród wielu rodzin. Jeszcze gorzej jest, gdy nawet wybór producenta jest sprawą otwartą. Wówczas jest to prawdziwa loteria.

W ramach jednego producenta selekcję mikrokontrolera zwykle ułatwiają narzędzia online, konfiguratory i selektory. W jeszcze większej perspektywie układy pomagają wybrać dystrybutorzy. Pracownicy działów wsparcia technicznego mają nie tylko wiedzę techniczną, ale także informacje na temat dostępności poszczególnych wersji, planowanego wycofania z oferty i podobnych aspektów biznesowych.

Marcin Lipka

 Sales Director Soyter Components

  • Jakie nowości na rynku są warte zauważenia?

Jednym z najciekawszych trendów na rynku są rozwiązania integrujące funkcje mikrokontrolera (bogate peryferia, zasoby obliczeniowe, wielowątkowość) z transmisją bezprzewodową. Zwłaszcza teraz, w dobie przenośnych, zasilanych bateryjnie i podłączonych do sieci urządzeń elektronicznych, wykorzystanie układów o dużej funkcjonalności i małym zużyciu energii pozwala na uzyskanie nieosiągalnych do tej pory wymiarów aplikacji i bardzo atrakcyjnej ceny.

Jeśli doda się do tego coraz częściej spotykaną kompatybilność z systemami operacyjnymi czasu rzeczywistego (m.in. FreeRTOS), uzyskujemy produkt o wyjątkowym współczynniku funkcjonalności do ceny, który dodatkowo znacznie skraca czas jego tradycyjnej implementacji (m.in. dzięki gotowym bibliotekom). Przykładem takiego rozwiązania jest m.in. mikrokontroler ESP32 firmy Espressif. Ma on dwa rdzenie obliczeniowe, dodatkowy rdzeń niskoenergetyczny, szeroki wachlarz interfejsów, a także obsługuje komunikację bezprzewodową Wi-Fi oraz Bluetooth.

  • Jakie najważniejsze cechy mikrokontrolerów brane są pod uwagę przez klientów?

Klienci przemysłowi w pierwszej kolejności zwracają uwagę na stabilną cenę i dostępność produktu na przestrzeni kolejnych lat. Dziś jest to dla nich absolutne minimum. W dalszym kroku istotna jest łatwość implementacji rozwiązania. Jakość dokumentacji, dostępność narzędzi i przykładów, a także pomoc techniczna dystrybutora oraz producenta w oczywisty sposób przekładają się na czas, a co za tym idzie, także i koszty wdrożenia produktu. Ciekawym trendem jest również budowanie społeczności wokół produktu. Dotyczy to w szczególności młodych konstruktorów, którzy cenią sobie możliwość szybkiego wyszukania pewnych informacji, potwierdzonych przez innych praktyków. Sieć daje im tę możliwość.

SZEROKA OFERTA SPRZYJA INERCJI

Negatywnym czynnikiem dla szybko rozwijającego się rynku jest to, że produkty mało popularne wypadają z produkcji. Koniec wytwarzania pojawia się też szybciej, gdy w ofercie pojawi się podobna, ale lepsza jednostka.

W rzeczywistości takich problemów jest znacznie więcej, stąd wiele firm wiąże się z danym producentem mikrokontrolerów i konkretną architekturą na długo.

Inżynierska inercja tym samym negatywnie wpływa na tempo rozwoju rynku, ale nie należy postrzegać tego zjawiska pejoratywnie. Wyszukiwanie nowych rozwiązań, testy, tworzenie środowiska pracy z nowymi rozwiązaniami, narzędzia, oprogramowanie i co chyba jest najważniejsze – wiedza i znajomość danego rozwiązania mają wartość materialną. Poszukiwanie nowych rozwiązań w zakresie mikrokontrolerów musi być podbudowane solidną argumentacją, np. tym, że to z czego firma korzysta aktualnie, nie jest wystarczające lub że korzyści z nowej platformy będą wymiernie duże.

Skutek jest taki, że firmy zazwyczaj w nowych projektach zostają ze znaną sobie rodziną mikrokontrolerów danego producenta – starają się modernizować produkty w znanej sobie architekturze i zestawie oprogramowania.

Najważniejsze kierunki rozwoju funkcjonalności mikrokontrolerów
 
Listę najważniejszych funkcjonalności mikrokontrolerów branych pod uwagę przy wyborze układu i oczekiwane w nowych wersjach otwierają te związane z zapewnieniem niskiego poboru mocy, a dalej łatwością komunikacji, możliwością skalowania projektów dzięki zgodności pinowej i programowej oraz dostępności oprogramowania i bibliotek. Duża wydajność jest istotna, ale nie jest najważniejsza i wyraźnie ustępuje wielu innym funkcjom. Cena też jest oczywiście ważna. Z perspektywy wydaje się, że w wyborze mikrokontrolera liczy się utylitarność, czyli najlepszy stosunek możliwości do ceny.

WSPARCIE TECHNICZNE ZAWSZE JEST POTRZEBNE

Producenci i dystrybutorzy rozumieją rozterki producentów elektroniki oraz ich ciągłe problemy z brakiem czasu i starają się wspierać każde działanie, za którym kryje się realna chęć rozwoju. Darmowe próbki chipów to standardowe minimum, ale miniaturowe obudowy chipów (zwłaszcza te bezwyprowadzeniowe) oraz konieczność posłużenia się procesem SMT w montażu nawet jednej sztuki powodują, że najlepszą platformą do testów nowych rozwiązań są płytki startowe. W ostatnich pięciu latach w tym obszarze zaszły ogromne zmiany, a liczba zestawów dostępnych na rynku jest liczona w tysiącach. W praktyce każdy nowy chip o charakterze systemowym (a więc bardziej złożony) oraz inne układy w małych obudowach, np. bezwyprowadzeniowych, są wprowadzane na rynek razem z zestawem projektowym. Płytki startowe są często traktowane tak samo jak próbki, a więc rozdawane na seminariach, przekazywane klientom w ramach wsparcia technicznego. Ogólnie ma to sens, bo w dzisiejszej sytuacji, gdy czas staje się największym dobrem w pracy inżynierskiej, każde działanie, które go oszczędza i sprawia, że nie trzeba zaczynać od zera, jest doceniane.

Interesujący, pomysłowy i bogato wyposażony zestaw, zawierający mikrokontroler, układ komunikacyjny, czujniki, wyświetlacz, jest niczym magnes przyciągający uwagę. Otrzymana za darmo płytka startowa nierzadko jest przyczyną zainteresowania daną architekturą studentów i pracowników biur projektowych, którzy później mogą podjąć decyzję o większym zaangażowaniu właśnie w tym, znanym już kierunku.

Warto zauważyć, że zestawy projektowe, nawet te darmowe lub oferowane za symboliczne sumy, mają całkiem spore możliwości. Producenci dotują takie konstrukcje, instalując tam kosztowne elementy, takie jak FPGA lub nowoczesne czujniki MEMS itp. Przy wykorzystaniu projektów referencyjnych, narzędzi i oprogramowania dostarczanego przez producentów ryzyko niepowodzenia jest minimalne.

Dostępność narzędzi projektowych oraz nowości ze świata mikrokontrolerów dostrzegli dystrybutorzy katalogowi. W ostatnich trzech latach wszystkie firmy tego typu znacznie rozbudowały swoje oferty, nawiązały współpracę z producentami narzędzi i zaczęły je intensywnie promować. To znak, że na mikrokontrolery patrzy się przez pryzmat narzędzi, a nie chipów.

Oczekiwania klientów w stosunku do dostawcy
 
Dystrybutor mikrokontrolerów ma dzisiaj coraz więcej obowiązków wykraczających daleko poza działalność handlową, z których najbardziej popularne i oczekiwane przez klientów są bezpłatne próbki chipów, płytki ewaluacyjne oraz oprogramowanie. Pozwalają one na szybkie rozpoczęcie pracy, na wygodne testy nowych rozwiązań i tym samym zapewniają szybszy rozwój produktów. Ważne jest też doświadczenie i kompetencje techniczne inżynierów wsparcia technicznego, którzy są w stanie doradzić przy wyborze produktu i rozwiązać wiele problemów pojawiających się podczas projektowania. Osoby te mają doświadczenie wynikające z pracy z wieloma klientami, znają typowe problemy, wiedzą, które rozwiązania zyskują na popularności i które powoli wychodzą z rynku i w tym kontekście są w stanie uchronić klientów przed nieoptymalnym wyborem.

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.

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 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 sobie z ich użyciem zaoszczędzić sporo wysiłku.

W powstanie takich narzędzi zaangażowały się duże koncerny, a przykładem może być Microsoft, który stworzył narzędzia pozwalające prosto stworzyć oprogramowanie dla projektu IoT z wykorzystaniem chmury Azure Sphere. Wraz z kolejnymi układami SoC zawierającymi kompletne platformy sprzętowe do takich zastosowań takie narzędzia będą zyskiwać na znaczeniu i zapewne będą coraz doskonalsze. Hipotetyczny koniec takich 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.

Potrzeby klientów i wymagania w stosunku do mikrokontrolerów
 
Najważniejsze potrzeby klientów w zakresie oczekiwanej funkcjonalności mikrokontrolerów koncentrują się wokół szerokich możliwości aplikacyjnych tych układów oraz zgodności programowo-pinowej umożliwiającej długoterminowy rozwój produktów i skalowanie wydajności bez konieczności ponoszenia dużych nakładów pracy. W warunkach krajowych, gdzie dominują aplikacje specjalistyczne i przemysłowe, dość wysoko uplasowało się kryterium związane z długoterminową dostępnością chipów w sprzedaży (longevity).

Duża moc obliczeniowa, koprocesory graficzne i jednostki DSP w hierarchii potrzeb krajowych klientów znalazły się na samym dole zestawienia. To zapewne dlatego, że aplikacje w których liczy się wydajność przetwarzania danych łatwiej stworzyć w oparciu na komputerach SOM/COM.

PHYTON ATAKUJE DOMINUJĄCĄ POZYCJĘ C++

Z opisanych wyżej powodów coraz częściej programiści sięgają w pracy po języki wysokiego poziomu takie jak Phyton. Powodem jest to, że z ich użyciem łatwo i szybko można napisać nawet skomplikowany program, taki którego implementacja w C++ wymagałaby znacznie więcej wysiłku. Dawniej, gdy zasoby pamięciowe mikrokontrolerów były niewielkie, tak samo wydajność przetwarzania, koniecznie było pisanie oprogramowania w językach niskiego poziomu, w asemblerze, potem przez długie lata w C/C++. Dzisiaj wydajność przetwarzania nie jest barierą, bez problemu można kupić chipy z pojemną pamięcią Flash, a wiele aplikacji nie musi działać w czasie rzeczywistym. Badania ankietowe, zarówno nasze własne wykonywane na potrzeby tego zestawienia, jak i zagraniczne stowarzyszenia branżowe wykazują niezbicie, że Phyton w systemach embedded jest wybierany równie często jak język C.

KOMUNIKACJA I NIEWIELKIE POTRZEBY ENERGETYCZNE

W ostatnich latach rynek elektroniki szybko się zmienia i znaczenia nabierają aplikacje przenośne, rozwiązania IoT oraz systemy rozproszone, np. telemetryczne sieci pomiarowe. Wiele takich rozwiązań zasilanych jest z akumulatorów i baterii jednorazowych, stąd potrzeby związane z zapewnieniem jak najmniejszego poboru mocy stają się bardzo istotne.

Drugim istotnym trendem jest komunikacja bezprzewodowa. Elektronika mobilna, urządzenia klasyfikowane jako IoT muszą mieć możliwość wymiany danych, dostępu do Internetu lub możliwość gromadzenia danych w chmurze obliczeniowej. Stąd komunikacja jest i będzie w przyszłości ważnym obszarem determinującym możliwości mikrokontrolerów. Na rynku są układy SoC, gdzie moduł komunikacyjny został zintegrowany w całość aplikacyjną z mikrokontrolerem tak, że całość realizuje wygodną platformę aplikacyjną, np. Espressif. Sukces tego rozwiązania wskazuje po raz kolejny wyraźnie rysujący się kierunek rozwoju, a więc uniwersalną platformę sprzętową o szerokich możliwościach konfiguracji.

Najważniejsze zjawiska hamujące rozwój rynku MCU
 
Czynniki negatywnie oddziałujące na tempo rozwoju rynku mikrokontrolerów to przede wszystkim inercyjne podejście klientów do nowych rozwiązań i technologii, a więc innymi słowy preferowanie tego, co się zna i z czego już się korzystało wcześniej. Drugi istotny czynnik na wykresie to wysokie ceny zaawansowanych układów, zwłaszcza tych z dużymi zasobami pamięciowymi. Na sprzedaż jednostek uniwersalnych negatywnie oddziałują także coraz popularniejsze rozwiązania aplikacyjne i gotowe systemy na krzemie (SoC), np. procesory komunikacyjne Espressif będące w pewnym uproszczeniu mariażem modułu radiowego z mikrokontrolerem.

WYDAJNOŚĆ CZY NISKI POBÓR MOCY

Mówiąc ogólnie, duża wydajność mikrokontrolerów jest w sprzeczności z niskim poborem mocy. Ale ostatnio na rynku pojawiły się mikrokontrolery, które mają dwa rdzenie – jeden wydajny a drugi energooszczędny, co pozwala programiście używać ich w zależności od tego, co jest potrzebne w danej chwili. To przykład wyłomu w tej ogólnej regule.

Nowe technologie pozwalają na usypianie działania procesora i szybkie wybudzanie, automatyczne dopasowanie wydajności do realizowanych zadań, skalowanie napięcia zasilania i inne podobne techniki. Są układy z autonomicznie działającymi układami peryferyjnymi, które mogą samodzielnie wymieniać dane bez udziału procesora. W zakresie niskiego poboru mocy producenci z pewnością nie powiedzieli jeszcze ostatniego słowa, wraz z kolejnymi rekordami można liczyć na wzrost popularności zasilania energią wolnodostępną (energy harvesting), przed którą widać wielki potencjał i która powinna być głównym źródłem zasilającym dla aplikacji elektroniki noszonej (wearables).

Na razie producenci mikrokontrolerów starają się łagodzić niedogodności związane z zawieraniem kompromisu między dużą wydajnością a małym poborem mocy poprzez rozbudowę chipów. Dwa mikrokontrolery w jednej strukturze są pomysłową koncepcją, która pojawiła się w rodzinie STM32, ale można ją dostrzec też w wielu układach SoC, gdzie z reguły jest kilka rdzeni: aplikacyjny, komunikacyjny itd.

Jerzy Kozieł

 

  • Jakie zjawiska w obszarze aplikacji IoT przyciągają uwagę w ostatnim czasie?

W zakresie IoT należy zwrócić szczególną uwagę na nowy dynamicznie rozwijający się obszar układów zintegrowanych zawierających zarówno transceiver radiowy, jak i w pełni programowalny mikrokontroler dla aplikacji IoT wspierającej urządzenie. Rozwój tego typu układów spowodowany jest przede wszystkim oczekiwaniami dalszego postępu w dziedzinie miniaturyzacji układów oraz redukcji kosztów, co zapewnia nowe możliwości adaptacyjne.

Układy zintegrowane oznaczają nowe możliwości miniaturyzacji układów IoT. Poprzez zwolnienie z powierzchni PCB miejsca zarezerwowanego dla kilku układów wraz z połączeniami pomiędzy nimi, obszar ten można przeznaczyć na nowe funkcje, np. dla sensorów. Wszędzie tam, gdzie zastosowanie transmisji danych w paśmie radiowym jest konieczne, a wymiary urządzenia muszą być niewielkie, użycie układów zintegrowanych może przesądzić o sukcesie. Obecnie powszechnie stosowanym mikrokontrolerem w tego typu układach zintegrowanych jest architektura Cortex-M4 i M0 umożliwiająca zaawansowane tworzenie aplikacji IoT. Układy zapewniają szeroki dostęp do urządzeń peryferyjnych, w tym 12-bitowe ADC, SPI, I²C, I²S, UART, PDM i PWM. Dzięki temu od strony realizacji nie ograniczają w żaden sposób rozwiązania. Należy dodać, że tego typu układy oferują dostęp do standardów Bluetooth 5.0, ZigBee, Thread, LoRa, a także LTE Cat. M1 / NB IoT w przypadku rozwiązań, które są opracowane w szczególności z myślą o energooszczędnych rozwiązaniach IoT.

OGROMNA FUNKCJONALNOŚĆ ZA GROSZE

Mikrokontrolery są coraz tańsze, co może niekoniecznie widać w cenach bezwzględnych, ale z pewnością daje się dostrzec pod względem stosunku ceny do możliwości (wydajność, pamięć, układy peryferyjne).

Projektanci przez cały czas szukają też oszczędności na najdroższych układach stosowanych w modułach elektronicznych, stąd wynika prawdopodobnie zapotrzebowanie na tanie mikrokontrolery, które nie muszą być uniwersalne. To zapewne też przyczyna, dla której jednostki 8-bitowe cały czas znajdują chętnych, bo takiego mikrokontrolera opłaca się użyć nawet do prostych funkcji logicznych. Kolejną odsłonę możliwości integracji i obniżki cen przynoszą układy SoC (system na krzemie) zawierające w jednym chipie praktycznie całą aplikację (procesor, pamięć, komunikację). Funkcjonalność, jaką dostaje się za symbolicznego dolara, jest bardzo duża i niemożliwa do osiągnięcia w jakimkolwiek innym rozwiązaniu bazującym na elementach dyskretnych. Dlatego perspektywy dla tego obszaru rynku są znakomite.

 

Zobacz również