Skopiowano link do schowka!

Dlaczego STM32? Wprowadzenie do STM32 Embedded Displays Riverdi

Powrót do góry strony

Przewodnik dla początkujących po STM32 Embedded Displays Riverdi

Czym jest STM32?

STM32 to 32-bitowy MCU, który nasi inżynierowie wybrali do sterowania serią wyświetlaczy Riverdi Embedded Displays. W tym krótkim wprowadzeniu wyjaśnimy, dlaczego ten produkt firmy STMicroelectronics to technologia najnowocześniejsza. Podamy też wskazówki, od czego zacząć naukę programowania STM32.

STM32 to rodzina 32-bitowych mikrokontrolerów opartych na rdzeniu Arm Cortex-M, opracowana i produkowana przez firmę STMicroelectronics. Żeby wszystko było jasne, zacznijmy od podstaw i przyjrzyjmy się architekturze mikrokontrolera.

Podstawowe zasady działania elementów bazowych mikrokontrolerów

Kiedy inżynier projektuje nowoczesne urządzenie HMI z systemem informacji wizualnej, na przykład wyświetlacz z ekranem dotykowym, to zaczyna od wyboru mikrokontrolera. Najpierw trzeba wybrać architekturę rdzenia. Istnieją świetne i wszechstronne procesory ARM z architekturą zestawu instrukcji (RISC – Reduced Instruction Set Computer), zwane rdzeniami mikroprocesorowymi. Rdzenie ARM są powszechnie stosowane w wielu urządzeniach codziennego użytku, takich jak smartfony. Jedna z dwóch głównych serii rdzeni Arm, zwana Cortex-A, jest używana w urządzeniach z klasy konsumenckiej, takich jak komputery jednopłytkowe (SBC) typu Raspberry Pi czy smartfony.

Arm Cortex-M

Druga część rodziny rdzeni Arm, znana jako Cortex-M, jest przeznaczona do zastosowań w klasie przemysłowej. To właśnie ta seria rdzeni Arm zainteresuje wspomnianego projektanta. Dlatego właśnie firma STMicroelectronics wybrała właśnie ten element bazowy jako podstawę do stworzenia mikrokontrolerów STM32. Seria oparta na rdzeniach Cortex-M obejmuje kilka typów rdzeni o różnej wydajności i funkcjach. Na przykład mamy M0 (najtańszy rdzeń o niskiej wydajności), M3 (rdzeń o średniej wydajności), M4 (wydajny rdzeń z dodatkową obsługą FPU lub DSP) oraz najnowszy i najmocniejszy rdzeń Cortex-M7.

Dlaczego rdzeń to nie MCU?

Co ważne – układy Arm są sprzedawane jako licencje na rdzenie IP, a nie jako gotowe mikrokontrolery; stają się nimi dopiero w dalszej fazie procesu. Sam rdzeń nie da rady działać samodzielnie. Potrzebuje wsparcia, np. z zewnętrznej pamięci i interfejsów zewnętrznych. STMicroelectronics to firma, która specjalizuje się w produkcji mikrokontrolerów poprzez łączenie komponentów w gotowy mikrokontroler.

Dlaczego STMicroelectronics?

Co wyróżnia firmę STMicroelectronics na rynku mikrokontrolerów? Jest kilka powodów, ale do najważniejszych należą:

  1. Wysokowydajne przetwarzanie sygnałów cyfrowych w czasie rzeczywistym
  2. Praca przy niskim poborze mocy
  3. Wszechstronne możliwości podłączenia
  4. Łatwość tworzenia i integracji
  5. Przydatne narzędzia programistyczne i darmowe biblioteki

Dzięki tym cechom mikrokontrolery STM32 cieszą się powszechnym uznaniem i znajdują szerokie zastosowanie w różnych dziedzinach. To właśnie między innymi z tych powodów inżynierowie z Riverdi zdecydowali się wykorzystać STM32 jako serce naszych STM32 Embedded Displays.

Szeroka oferta firmy STMicroelectronics

Dzięki szerokiej gamie mikrokontrolerów bardzo łatwo znajdziesz model pasujący do twoich zastosowań. W zależności od wersji są to modele o niskim poborze mocy i dość ograniczonych zasobach albo modele o bardzo dużej szybkości obliczeniowej i dużej liczbie urządzeń peryferyjnych.

STMicroelectronics oferuje mnóstwo grup produktów opartych na konkretnych rozwiązaniach, darmowe materiały i prototypy. Wspieranie procesu prototypowania to filozofia, którą podziela Riverdi. Uważamy, że szybkie i łatwe prototypowanie ma kluczowe znaczenie w procesie projektowania, dlatego zachęcamy do wypróbowania naszych próbek. W procesie inżynieryjnym pomocne są też szczegóły projektowe, takie jak kompatybilność wyprowadzeń, dzięki czemu możesz wymieniać mikrokontrolery, żeby znaleźć ten najbardziej odpowiedni.

Jak są pogrupowane mikrokontrolery STM32?

W ofercie mikrokontrolerów firmy ST znajduje się kilka serii pogrupowanych według ich cech.

Jednostki o wysokiej wydajności – potężne układy STM32 zaprojektowane do przesyłania ogromnych ilości danych przy wysokim taktowaniu rdzenia. Należą do nich model F4 z rdzeniem M4 i FPU, czasem wzbogacony o kontrolery wyświetlaczy lub obsługę MIPI, model F7 z najnowszym jednordzeniowym procesorem M7 oraz flagowy model H7 z dwurdzeniowym procesorem (M7+M4). Ten wydajny układ (STM32H757XIH6) jest używany przez firmę Riverdi.

Urządzenia z głównego nurtu – mikrokontrolery ogólnego przeznaczenia. Znajdziesz tu zarówno podstawowe mikrokontrolery z serii F0, modele F1 o wysokiej wydajności, ale prostej architekturze, aż po serię G4, która oferuje szeroki wybór urządzeń peryferyjnych analogowych.

Procesory o niskim poborze mocy – zaprojektowane z myślą o jak najmniejszym zużyciu energii. Należą do nich 14-pinowy model L0, model L4 z dodatkowym procesorem FPU oraz model L5 z ulepszoną akceleracją grafiki.

Urządzenia bezprzewodowe – wyposażone we wbudowaną obsługę komunikacji bezprzewodowej, np. Bluetooth lub RF 2,4 GHz.

Zobacz, jak wygląda ta seria (zdjęcie udostępnione przez STMicroelectronics):

Aby dowiedzieć się więcej o różnych funkcjach mikrokontrolerów STM32, zajrzyj na stronę internetową STMicroelectronics (zdjęcie udostępnione przez STMicroelectronics)

Jak zacząć programować STM32 Wbudowane wyświetlacze firmy Riverdi ?

Oto podstawowe informacje, które powinien znać każdy, kto dopiero zaczyna przygodę z ekosystemem STM32, na temat projektowania STM32 Embedded Displays.

Jaki sprzęt do STM32?

Nie zaleca się zaczynać od nieznanych producentów sprzętu, zwłaszcza jeśli dopiero zaczynasz przygodę z programowaniem w systemach wbudowanych. Zamiast tego wybierz firmy o ugruntowanej pozycji na rynku.

Seria Riverdi STM32 to świetny wybór na początek i do nauki, bo oferujemy pełną dokumentację, a do tego są darmowe wersje demonstracyjne, gotowe ustawienia i biblioteki, dzięki którym możesz od razu zapoznać się z działającymi przykładami kodu.

Możesz też wypróbować oficjalne płytki firmy ST (np. z serii Nucleo lub Discovery).

Jakie materiały dotyczące STM32?

Dokumentacja to w większości przypadków materiały techniczne przygotowane przez producenta, które mają pomóc ci odnaleźć się w zawiłościach mikrokontrolerów. Te dokumenty mogą pomóc ci poznać wszystkie funkcje mikrokontrolerów:

Getting Started Guide, który to świetna pomoc dla nowych użytkowników,

Karta katalogowa, czyli szczegółowy opis techniczny wszystkich parametrów MCU,

User Manual (lub przewodnik), która zawiera szczegółowe wskazówki i parametry, które pomogą rozwiązać najczęstsze problemy,

Application Note, która zawiera bardziej szczegółowe informacje na temat wykorzystania danego komponentu w konkretnym zastosowaniu

Reference Manual, który zawiera bardziej szczegółowe informacje na temat architektury mikrokontrolerów,

Programming Manual, który zawiera informacje potrzebne do tworzenia oprogramowania na poziomie aplikacji i systemu.

Zanim zaczniesz używać konkretnego MCU w swoim projekcie, warto przynajmniej rzucić okiem na kartę katalogową. Sprawdź urządzenia peryferyjne, piny GPIO i inne podstawowe parametry, takie jak częstotliwość zegara. Chodzi o to, żeby upewnić się, że dany sprzęt spełnia wymagania twojego projektu.

Jaki język programowania wybrać dla STM32?

Zalecanym językiem programowania dla STM32 jest C. Jeśli piszesz kod bezpośrednio dla mikrokontrolerów – C to najlepszy wybór. To też podstawa, dzięki której możesz dalej poszerzać swoją wiedzę o MCU, korzystając z innych języków programowania.

Jakie środowisko programistyczne dla STM32?

Żeby praca nad programowaniem układów STM32 przebiegała sprawnie, potrzebujesz odpowiedniego frameworka. Framework to platforma, na której piszesz kod i rozwijasz swój projekt. Frameworki programistyczne mogą obejmować programy pomocnicze, kompilatory, biblioteki kodu, zestawy narzędzi oraz interfejsy programowania aplikacji (API). Jakie frameworki są dostępne do wyboru?

Istnieje zalecane rozwiązanie, a mianowicie ekosystem STMicroelectronics. Składa się ono z dwóch uzupełniających się poziomów: bibliotek Low Layer (LL) oraz warstwy abstrakcji sprzętowej (HAL). Biblioteki niskopoziomowe świetnie nadają się do optymalizacji sprzętu i pracy z ograniczonymi zasobami, ale wymagają trochę wiedzy (którą można zdobyć z dokumentacji). HAL, czyli biblioteka wysokopoziomowa, może być lepszym rozwiązaniem dla początkujących. Obie można obsługiwać za pomocą darmowego oprogramowania STM32CubeIDE.

Jest też Mbed od Arm – internetowy projekt współpracy poświęcony urządzeniom podłączonym do sieci, oparty na procesorach Arm Cortex-M. Wykorzystuje języki programowania C i C++, co to świetna wiadomość dla tych, którzy się na nich znają. To świetne rozwiązanie dla urządzeń IoT. System operacyjny mBed przypomina trochę Arduino. Skoro mowa o Arduino, istnieje kilka płytek bezpośrednio obsługujących STM32. Jednym z nich jest projekt STM32Duino oparty na płytkach Nucleo. Oba te frameworki stawiają na prostotę, ale minusem jest to, że możliwości STM32 w zakresie sterowania sprzętem są ograniczone, a jakość bibliotek może nie być gwarantowana.

Na koniec warto wspomnieć o języku Pure C, który gwarantuje świetnie zoptymalizowane wyniki pod względem wydajności. Pure C zużywa mniej pamięci, a mimo to działa super szybko. Te zalety wiążą się jednak z koniecznością posiadania wiedzy i doświadczenia, więc nie jest to język polecany dla początkujących.

Jakie narzędzia do programowania dla STM32?

Jeśli zdecydujesz się na zalecane podejście oparte na ekosystemie ST, możesz zacząć korzystać z wielu narzędzi programowych udostępnianych bezpłatnie przez firmę STMicroelectronics. Są to narzędzia programistyczne, narzędzia ewaluacyjne, środowisko programistyczne, oprogramowanie wbudowane i tak dalej. Oto kilka głównych narzędzi, o których warto wiedzieć:

STM32CubeMX – graficzne narzędzie do konfiguracji MCU i generowania kodu inicjalizacyjnego;

STM32CubeIDE – kompleksowe narzędzie do zaawansowanego programowania w językach C/C++ w ekosystemie STM32: selektor mikrokontrolerów, konfigurator urządzeń peryferyjnych, generator kodu, kompilator, debugger i programator;

STM32CubeProgrammer – kompleksowe narzędzie do programowania produktów STM32;

TouchGFX Designer – zaawansowany framework graficzny do tworzenia GUI metodą WYSIWYG;

STM32CubeMonitor – narzędzie do monitorowania w czasie rzeczywistym, służące do precyzyjnego dostrajania i diagnozowania aplikacji STM32 w oparciu o wizualizację zmiennych w czasie rzeczywistym.

Krótkie spojrzenie na TouchGFX Designer

TouchGFX Designer to narzędzie do projektowania interfejsów graficznych (GUI), zoptymalizowane pod kątem produktów Riverdi działających na mikrokontrolerach STM32 – projekty demonstracyjne i gotowe ustawienia Riverdi są wbudowane w bibliotekę TouchGFX. Narzędzie TouchGFX to zaawansowana platforma programistyczna do tworzenia świetnych interfejsów graficznych metodą WYSIWYG, co sprawia, że projektowanie GUI jest naprawdę przyjazne dla użytkownika. Współpraca Riverdi z STMicroelectronics pozwala skrócić czas i obniżyć koszty prototypowania oraz przyspieszyć time-to-market projektu.

Gdzie można dowiedzieć się więcej o STM32 Embedded Displays?

Wybierając metodę nauki, zawsze warto wziąć pod uwagę, jakie są twoje cele. Czy chodzi o biegłość w prototypowaniu, programowaniu czy projektowaniu GUI? A może chodzi o ogólną wiedzę na temat tego, jak zastosować STM32 Embedded Displays w gotowym urządzeniu? A może po prostu kieruje tobą amatorska ciekawość? Zastanowienie się nad celami pomoże ci szybciej je osiągnąć. Kolejne pytania dotyczą dostępnych zasobów (takich jak czas i pieniądze), sposobów uczenia się oraz indywidualnych preferencji. Na szczęście jest coraz więcej źródeł, z których możesz czerpać wiedzę o STM32.

Filmy

Poradniki wideo to świetny sposób na zapoznanie się z platformą STM32, a większość z nich znajdziesz na YouTube.

Po pierwsze, zapisz się do newslettera Riverdi University i zasubskrybuj kanał Riverdi na YouTube. Dzielimy się naszą wiedzą i doświadczeniem, żeby pomóc Ci w pełni wykorzystać możliwości STM32 Embedded Displays. Znajdziesz u nas Getting Started Guides, szczegółowe tutoriale, filmy z rozpakowywania i wiele więcej.

Po drugie, śledź oficjalny kanał STMicroelectronics. ST organizuje webinaria na żywo i kompleksowe kursy MOOC (masowe otwarte kursy internetowe), które są nieocenionym źródłem wiedzy przy nauce programowania MCU.

Blogi

Blogi świetnie sprawdzają się przy rozwiązywaniu konkretnych problemów. Większość z nich jest darmowa, ale ponieważ wiedza tam zawarta jest publikowana na bieżąco, dzień po dniu, musisz po prostu poszukać dokładnie tego rozwiązania, którego potrzebujesz. Możesz też być na bieżąco i śledzić nowe wpisy, zapisując się do newslettera.

Riverdi oferuje regularnie aktualizowane wpisy na Blogu, Getting Started Guide oraz materiały edukacyjne w postaci serii artykułów i filmów z cyklu „Riverdi University ”.

Możesz też zajrzeć na: Blog Controllerstech: https://controllerstech.com/

Kursy

Kursy, zarówno online, jak i stacjonarne (te ostatnie są obecnie raczej rzadkością), zapewniają kompleksowy proces nauki na różnych poziomach zaawansowania. Pamiętaj jednak, że to długoterminowe zobowiązanie, a w większości przypadków będziesz musiał zapłacić, żeby wziąć w nich udział. Innym podejściem, które warto rozważyć, jest skorzystanie z darmowego kursu online z programowania w języku C, bo zawsze się przyda przy tworzeniu oprogramowania dla STM32.

Wiki i poradniki

Jeśli szukasz szczegółowych informacji, zawsze warto zajrzeć do materiałów producentów, takich jak Riverdi czy STMicroelectronics. Riverdi udostępnia obszerną dokumentację do każdego wyświetlacza, która pomoże ci zapoznać się z naszymi STM32 Embedded Displays. Dzielimy się też naszą wiedzą poprzez Riverdi University i serię Display 101. Możesz też zajrzeć do przewodników i samouczków wydanych przez STMicroelectronics, na przykład do ich obszernej wiki poświęconej mikrokontrolerom STM32.

Jeśli chcesz, żebyśmy odpowiedzieli na jakiekolwiek pytania dotyczące serii STM32 Embedded Displays, skontaktuj się z nami.

ODKRYJ NASZĄ

Whitepaper

Osiągnij idealną interakcję użytkownika z wyświetlaczem dzięki odpowiedniemu czujnikowi Touch Sensor IC. Czy kiedykolwiek zmagałeś się z problemami związanymi z fantomowymi dotknięciami lub certyfikacją? Rozwiń swoje prace B+R jak profesjonalista dzięki naszemu Whitepaperowi!

Przejdź do naszego katalogu produktów i zobacz, jak możesz oszczędzać dzięki jakości, nie na jakości.

Skontaktuj się z nami już teraz, oszczędzaj dzięki jakości, nie na jakości.