Wybór mikrokontrolera z obsługą Wi-Fi – co należy wziąć pod uwagę?
| TechnikaWraz z ewolucją przemysłowego Internetu Rzeczy, ważnym trendem staje się coraz większa integracja funkcjonalności w jednym układzie SoC, zamiast w wielu oddzielnych układach scalonych, ponieważ zapewnia to mniejsze koszty, obniża ryzyko projektowe, poprawia zajętość miejsca itp. Doskonałym przykładem jest mikrokontroler Wi-Fi, który integruje w jednym chipie komunikację Wi-Fi, procesor i układy wejścia-wyjścia niezbędne do realizacji różnorodnych aplikacji. Z uwagi na tę dodatkową złożoność, podczas tworzenia specyfikacji i wymagań dla tego typu układu należy wziąć pod uwagę wiele czynników, aby dokonać jego optymalnego wyboru.
Na rynku dostępne są obecnie niedrogie moduły komunikacyjne w standardzie Wi-Fi, które można dołączyć do mikrokontrolera, ale często oznacza to poświęcenie na ich rzecz układu peryferyjnego takiego jak UART oraz zajętość wyprowadzeń. Oznacza to, że wybór najlepszego MCU, gdy wymagane jest Wi-Fi, jest trudny i ryzykowny, ponieważ konieczne jest zapewnienie dobrej jakości komunikacji, ale także wydajnych funkcji oferowanych przez MCU. Oczywiście mikrokontroler jest najbardziej krytyczną częścią tego produktu, dlatego całe rozważania projektowe muszą się zacząć od określenia jego wydajności i niezbędnych kluczowych cech, ponieważ późniejsza zmiana układu na inny zwykle wymaga przeprojektowania części sprzętowej aplikacji i przepisania oprogramowania.
Nie wolno zapomnieć o ADC!
Przetwornik analogowo-cyfrowy jest jednym z najczęściej pomijanych bloków peryferyjnych podczas selekcji MCU Wi- Fi, mimo że jest to pierwszy i najważniejszy element przetwarzający sygnał analogowy. Oznacza to, że jego wydajność determinuje parametry całego systemu. Dlatego ważne jest, aby zrozumieć jego kluczowe właściwości i mieć wiedzę, czego można od niego oczekiwać.
Jednym z pierwszych branych pod uwagę parametrów, na których skupiają się projektanci, jest liczba bitów przetwornika (rozdzielczość). Już to może prowadzić do błędu, gdyż w praktyce rzeczywista liczba bitów przetwornika jest mniejsza, niż podaje specyfikacja, a czasami ta różnica jest nawet znaczna. Ważniejsza jest efektywna liczba bitów (ENOB), z jaką przetwornik ADC dokonuje konwersji. Wartość ta jest mniejsza, niż to do podaje karta katalogowa, ale im ENOB i rozdzielczość podawana w specyfikacji są sobie bliższe, tym przetwornik ADC jest lepszy. Oczywiście im mniej bitów jest wykorzystywanych przy konwersji, tym reprezentacja sygnału analogowego w domenie cyfrowej jest mniej precyzyjna.
Ponadto, podobnie jak wszystkie obwody elektroniczne, także i przetworniki ADC dodają coś niepożądanego do sygnału, co negatywnie wpływa na jakość otrzymanego na wyjściu strumienia cyfrowego, w tym błędy kwantyzacji i taktowania, a także off set oraz błędy wzmocnienia i liniowości. Przetworniki ADC są również znane ze swojej wrażliwości na duże wahania temperatury, które często występują w przemysłowych środowiskach, w których pracują aplikacje IoT (patrz rys. 1). Dlatego ważne jest, aby skontaktować się z producentami wstępnie wyselekcjonowanych modeli mikrokontrolerów w celu określenia ENOB dla wbudowanych przetworników ADC, sprecyzowania zachowania przy dużych wahaniach temperatury, określenia liniowości i dokładności. Takich danych nie ma w kartach katalogowych i jeśli informacje te nie zostaną udostępnione na żądanie, lepiej wziąć pod uwagę inny układ.
Dostępne układy peryferyjne
Wszystkie mikrokontrolery z Wi-fiobsługują co najmniej kilka standardów interfejsów komunikacyjnych, więc z reguły od razu się zakłada, że to, co jest, wystarczy w tworzonej aplikacji. Projektanci często żałują potem tego lekkomyślnego założenia, gdy próbują użyć tego samego mikrokontrolera w innym projekcie po to, aby skorzystać z istniejącego oprogramowania. To najczęściej jest problem twórców przemysłowych systemów IoT, ponieważ większość zakładów produkcyjnych posiada szeroką gamę maszyn i sterowników budowanych w różnym czasie przez różnych producentów i raz opracowana platforma sprzętowa oraz oprogramowanie są wykorzystywane w seriach produktów.
Wraz z rozwojem systemu i jego złożoności prawdopodobnie będzie potrzeba jeszcze więcej interfejsów i układów peryferyjnych. Obecnie może też nadejść czas, kiedy trzeba będzie zapewnić takie funkcje, jak interfejs dotykowy i obsługa wyświetlacza LCD. Wiele wolnych linii GPIO umożliwi dołączenie kolejnych przekaźników, przełączników i innych komponentów bez specjalnych zabiegów związanych z koniecznością współdzielenia pinów. Z tego powodu dostępne interfejsy w wybranym układzie powinny obejmować Ethernet MAC, USB, CAN, CAN-FD, SPI, I2C, SQI, UART i JTAG (oraz potencjalnie obsługę dotyku i wyświetlacza), aby zapewnić, że praktycznie każdy przyszły scenariusz projektowy będzie możliwy do wykonania.
Bezpieczeństwo aplikacji zaczyna się w środku mikrokontrolera
Zapewnienie bezpieczeństwa jest niezbędne w każdej aplikacji IoT, ale w obszarze przemysłowym ma znaczenie kluczowe, gdyż utrata kontroli nad jedną aplikacją IoT może zagrozić działaniu całego obiektu, a nawet przedsiębiorstwa. Pierwszą barierę zapewniającą właściwy poziom ochrony tworzy zintegrowany silnik kryptograficzny zawarty w MCU, realizujący sekwencyjnie lub równolegle szyfrowanie i uwierzytelnianie komunikacji. Dostępne szyfrowanie danych powinno być zgodne z AES i umożliwiać użycie kluczy o rozmiarze do 256 bitów, a także DES i TDES. Uwierzytelnianie powinno obejmować SHA-1 i SHA-256 oraz MD-5.
Ponieważ każdy dostawca usług w chmurze działa w oparciu o swój własny certyfikat i klucze kryptograficzne, udostępnianie aplikacji jest złożone, wymaga znacznej wiedzy na temat kryptografii i jest jednym z najtrudniejszych zadań, gdy projektanci potrzebują podłączyć swój produkt do komercyjnej usługi dostępnej w chmurze. Na szczęście niektórzy producenci, w tym Microchip Technology, upraszczają to zadanie i oszczędzają twórcom ogromne ilości czasu i pieniędzy związanych z takim projektem. Wybierając odpowiednie i przetestowane pod względem bezpieczeństwa rozwiązanie można skrócić proces projektowania o tygodnie lub więcej, zapewniając jednocześnie spełnienie wszystkich wymagań dotyczących bezpieczeństwa i udostępniania danych.
Należy zauważyć, że większość MCU Wi-fiprzechowuje dane uwierzytelniające w pamięci Flash, gdzie są one podatne na ataki za pomocą złośliwego oprogramowania i te fizyczne. Najwyższe bezpieczeństwo osiąga się, przechowując klucze w specjalnym bezpiecznym chipie, ponieważ danych w nim zawartych nie można odczytać z użyciem żadnego oprogramowania zewnętrznego. Na przykład mikrokontrolery Wi-Fi firmy Microchip, takie jak WFI32 (rys. 2), wykorzystują tę metodę w platformie Trust&GO do bezpiecznego połączenia z AWS IoT, Google Cloud, Microsoft Azure i sieciami TLS innych firm.
Wstępnie skonfigurowane lub niestandardowe moduły zabezpieczające przechowują dane uwierzytelniające wygenerowane w czasie produkcji w modułach zabezpieczeń sprzętowych (Hardware Secure Module, HSM), chroniąc je przed ujawnieniem. Wymagana do obsługi tego rozwiązania platforma Trust&Go wymaga posiadania jedynie niedrogiego zestawu narzędziowego firmy Microchip, w którym projektant pracuje w oparciu o przykładowy kod, aby utworzyć wymagany plik manifestu. Gdy kod C dla zabezpieczonego elementu zadziała w aplikacji, projekt może zostać wysłany do produkcji.
Innym rozwiązaniem w zakresie ochrony projektu przynosi najnowsze zabezpieczenie Wi-fi certyfikowane przez Wi-Fi Alliance. Wersja WPA3, będąca rozwinięciem WPA2, dodaje funkcje upraszczające zapewnienie bezpieczeństwa Wi-Fi, umożliwiając bardziej niezawodne uwierzytelnianie, zapewniając większą siłę kryptograficzną i utrzymując odporność sieci na ataki. Wszystkie nowe urządzenia muszą mieć certyfikat WPA3, aby można było używać na nich logo Wi-fiAlliance, stąd każdy układ komunikacyjny Wi-fi mikrokontroler z wbudowaną jednostką Wi-Fi także powinny być certyfikowane. Warto zatem sprawdzić, czy wstępnie wybrany układ ma certyfikat WPA3, aby w przyszłości nie zostać niemile zaskoczonym.
Zapewnienie interoperacyjności
Niestety zawsze istnieje możliwość, że mikrokontroler z Wi-Fi nie będzie w stanie komunikować się z jakimiś punktami dostępowymi i urządzeniami dostępnymi na rynku z powodu niedopasowania części radiowej, niezgodności oprogramowania i innych problemów. Brak możliwości komunikacji tworzonej aplikacji z punktem dostępowym może zaszkodzić reputacji marki. Dlatego mimo że nie można zagwarantować działania we wszystkich przypadkach, warto ten problem minimalizować, upewniając się, że wybrany MCU Wi-Fi przeszedł testy interoperacyjności z najpopularniejszymi urządzeniami dostępowymi. Informacje te można znaleźć na stronach internetowych producentów, ale jeśli nie są one łatwo dostępne, konieczny może być kontakt telefoniczny.
Gwarancja otrzymania pomocy
Ostatnim, ale na pewno nie mniej ważnym zagadnieniem jest wsparcie projektowe. Bez zintegrowanego środowiska programistycznego (IDE) projektant musi zgromadzić niezbędne zasoby narzędzi z różnych źródeł w Internecie, które mogą, ale nie muszą być przydatne, proste lub niezawodne. Na przykład kilku producentów mikrokontrolerów z Wi-Fi dostarcza podstawowe informacje o produkcie, wskazówki i instrukcje dotyczące prototypowania, ale poprzestaje na tym, zamiast kompleksowo wspomagać projektantów we wszystkim, co jest wymagane do wykonania projektu i rozpoczęcia produkcji.
Aby pomoc projektowa była naprawdę użyteczna, producent powinien dostarczać kompleksowe środowisko IDE (rys. 3), które obsługuje wszystkie funkcje analogowe i cyfrowe realizowane przez MCU Wi-Fi oraz komponenty zewnętrzne wymagane do implementacji w powstających aplikacjach. Oprogramowanie to powinno zapewnić wizualizację, w jaki sposób dokonywane zmiany w projekcie przenoszą się na wydajność i zapewnić możliwości oceny projektu pod kątem zgodności z przepisami. Niektóre z narzędzi są bezpłatne, podczas gdy inne są dostępne za niewielką odpłatnością, w tym zawierają się płytki ewaluacyjne dla rodziny MCU Wi-Fi.
Podsumowanie
Obecnie zmiany technologiczne w IoT zmierzają w kierunku zapewnienia coraz większej mocy obliczeniowej na brzegu sieci (w tym w aplikacjach IoT), a nie wyłącznie poprzez chmurowe centra danych. Aby sprostać kryjącym się za tym wyzwaniom, w aplikacjach konieczne jest integrowanie jak największej funkcjonalności, przy minimalnej zajętości miejsca i liczbie komponentów. Mikrokontroler z Wi-Fi dostępny jako układ SoC jest jednym z przykładów skutecznych rozwiązań zapewniających spełnienie w projekcie wielu sprzecznych wymagań technicznych i kosztowych, zapewniających mu przewagę nad projektami wykorzystującymi elementy dyskretne.
Tworzenie aplikacji IoT może być stosunkowo prostym zadaniem, o ile wykorzystany zostanie mikrokontroler ze zintegrowanym Wi-Fi zapewniający odpowiednio bogate zasoby. Wymagana funkcjonalność obejmuje też zaawansowane rozwiązania z zakresu bezpieczeństwa, prosty sposób podłączenia jednostki do komercyjnych usług w chmurze obliczeniowej oraz kompleksowe środowisko IDE, które jest w stanie przeprowadzić projektanta przez wykonanie prototypu do produkcji.
Alex Li, Microchip Technology
Microchip
www.microchip.com