Elektroda.pl
Elektroda.pl
X
Mitronik
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Mikrokontrolery STM32 - po które z nich warto sięgnąć?

magic9 07 Sty 2019 09:44 948 15
  • STMicroelectronics to jeden z najpopularniejszych producentów mikrokontrolerów w Polsce. Swoją renomę zawdzięcza nie tylko udanym konstrukcjom, ale i wdrażaniu najnowszych technologii oraz bogatej ofercie. W niniejszym artykule prezentujemy niektóre z ostatnio wprowadzonych układów ST oraz wybrane ciekawe modele, które od jakiegoś czasu cieszą się dużą popularnością wśród polskich inżynierów.

    Mikrokontrolery STM32 - po które z nich warto sięgnąć?


    ST słynie z dobrych produktów opartych na rdzeniach ARM Cortex, należących do rodzin układów STM32. Obecnie warto zwrócić szczególną uwagę na podzespoły z rodzin STM32L4+, STM32F7 i STM32F4. STM32L4+

    Nowa rodzina układów firmy STMicroelectronics nosi nazwę STM32L4+ i cechuje się bardzo wysoką, jak na pobór mocy, mocą obliczeniową, dochodzącą do 150 DMIPS przy taktowaniu 20 MHz. Pod względem konstrukcji i funkcji układy te są bardzo zbliżone do nieco starszej rodziny – STM32L4, ale dzięki m.in. wyższemu taktowaniu są w stanie pracować bardziej wydajnie.

    Uzyskały nawet 233 punkty w teście ULPMark-CP. Układy z rodziny STM32L4+ bazują na rdzeniu ARM Cortex-M4 i są polecane do zastosowań w niewielkich, inteligentnych opaskach sportowych i zegarkach, przenośnych urządzeniach medycznych, inteligentnych czujnikach przemysłowych i innych urządzeniach, które muszą szybko przetwarzać dane przy jak najmniejszym poborze mocy.

    Duża szybkość obliczeniowa układów z rodziny STM32L4+ łączy się z obszerną, zintegrowaną pamięcią. W wielu nowoczesnych aplikacjach znaczenie będzie mieć też zaawansowany sterownik graficzny Chrom-GRC, który jest autorskim rozwiązaniem firmy STMicroelectronics. Zaprojektowano go w taki sposób, żeby nie marnować pamięci w sytuacjach, gdy kształt podłączonego wyświetlacza nie jest prostokątny. Zamiast przechowywać informacje o pikselach, które i tak nigdy nie zostaną zapalone, bloki pikseli widocznych są odpowiednio zestawiane obok siebie i cała pamięć jest aktywnie wykorzystywana. Pozwala to zaoszczędzić około 20% pamięci w przypadku całkowicie okrągłych wyświetlaczy. Oczywiście sterownik poprawnie obsługuje także wyświetlacze o klasycznych kształtach. Na wydajność, szczególnie w kontekście grafiki, wpływ ma także akcelerator Chrom-ART (DMA2D), który odciąża jednostkę CPU. W praktyce jest w stanie dwukrotnie szybciej wykonywać operacje obliczeń przezroczystości i sumowania pikseli w oparciu o rożny jej stopień, a także zadania konwersji formatów pikseli. Układy z serii STM32L4+ zawierają 640 KB pamięci SRAM i do 2 MB pamięci Flash, podzielonej na dwa banki. Można w nich równocześnie prowadzić operacje odczytu i zapisu. Warto zauważyć, że wartości te sprawiają, że jest to największa pamięć wewnętrzna, dostępna wśród mikrokontrolerów o ultraniskim poborze mocy. Mikrokontrolery STM32L4+ zostały także przystosowane do pracy w aplikacjach wymagających podwyższonego bezpieczeństwa. W tym celu zaimplementowano rozbudowane funkcje korekcji błędów pamięci. Natomiast szybkość komunikacji z otoczeniem zapewniono poprzez wykorzystanie podwójnego interfejsu Octal SPI, który umożliwia uzyskanie wysokich przepustowości podczas przesyłania danych z oraz do pamięci single/dual/ quad/octal SPI, pamięci HyperBus i zwykłych Flash lub SRAM. Pomimo dużej dostępnej wydajności omawianych układów, są one przystosowane do pracy w urządzeniach wymagających bardzo małego poboru mocy. Jest to możliwe dzięki zastosowaniu technologii obniżających do minimum pobór mocy, przy jednoczesnym podtrzymywaniu pamięci SRAM oraz stanów linii wejść i wyjść. Natomiast w trybie shutdown mikrokontrolery te pobierają jedynie 20 nA. Nowe MCU zostały wyposażone w bardzo bogaty zestaw obwodów peryferyjnych.

    Na liście funkcji znalazły się porty USB z obsługą trybów Host, Device i OTG, nawet 17 timerów, interfejsy SPI, SAI i CAN oraz szybkie konfigurowalne filtry cyfrowe do realizacji algorytmów DSP. W wielu aplikacjach przydatne będą też zintegrowane przetworniki analogowo-cyfrowe i cyfrowo-analogowe, pracujące z precyzyjnymi źródłami referencyjnymi oraz komparatory i wzmacniacze operacyjne.

    Mikrokontrolery STM32 - po które z nich warto sięgnąć?


    STM32F7 i STM32F4

    Drugą nowoczesną rodziną 32-bitowych mikrokontrolerów marki STMicroelectronics, opartych na rdzeniach ARM, jest STM32F7. Układy te bazują na bardzo wydajnych rdzeniach Cortex-M7, około półtora, a w niektórych przypadkach nawet dwukrotnie szybszych niż układy z rdzeniem Cortex-M4, taktowane tym samym zegarem. Rdzenie Cortex-M7 są zbliżone konstrukcyjnie do Cortex-M4, ale zostały dodatkowo przystosowane do współpracy z szybką, wewnętrzną pamięcią SRAM TCM, pamięcią cache dla danych i instrukcji oraz obsługują przetwarzanie potokowe z predykcją i podziałem na 6 etapów. ST był pierwszym producentem układów scalonych, który zastosował rdzenie Cortex-M7 w swoich mikrokontrolerach. Żeby uniknąć ograniczonej przepustowości podczas dostępu do pamięci Flash, skorzystano z buforowania za pomocą sprzętowego akceleratora ART (Adaptive Real-Time), który rozkłada 128-bitowe słowa z pamięci Flash na 16- lub 32-bitowe słowa, które są kolejkowane w lokalnej pamięci cache. Układy z rodziny STM- 32F7 mogą być taktowane nawet zegarem 216 MHz mimo zaawansowanej budowy tych podzespołów, producent zachował kompatybilność pod względem rozmieszczenia wyprowadzeń w obudowie i charakterystyki elektryczno-czasowej sygnałów z mikrokontrolerami z rodziny STM32F4. Dzięki temu ewentualna modernizacja starszego projektu nie powinna nastręczać dużych problemów. W przypadku, gdy tworzone urządzenie wymaga wydajności wyższej niż dostępna w ramach układów STM32L4 i STM32L4+, ale sięganie po rdzenie Cortex-M7 nie jest konieczne, warto zwrócić uwagę na nieco starszą, ale sprawdzoną rodzinę STM32F4, bazującą na rdzeniu Cortex-M4. Układy te nie mają tak zaawansowanych funkcji oszczędzania energii, jak rodziny STM32L4 i STM32L4+, ale cechują się dobrą wydajnością i niskimi cenami.

    Zestawy deweloperskie

    STMicroelectronics przygotował również szereg zestawów startowych, które ułatwiają rozpoczęcie prac z mikrokontrolerami z rdzeniami Cortex-M4 i Cortex-M7 oraz prototypowanie urządzeń opartych na nich. Dostępne zestawy deweloperskie można podzielić na trzy grupy: Nucleo, Discovery i Eval. Płytki STM32 Nucleo pozwalają praktycznie każdemu na szybkie przetestowanie nowych pomysłów z niemal dowolnymi mikrokontrolerami STM32. Układ wyprowadzeń płytek Nucleo został zestandaryzowany tak, by można było do nich podłączać dodatkowe moduły sprzętowe. Płytki są też zgodne pod względem wyprowadzeń z Arduino, co umożliwia bezproblemowe łączenie ich z tymi popularnymi modułami. Ponadto zawierają wbudowany debugger/programator ST-Link, a więc nie ma potrzeby stosowania żadnych dodatkowych narzędzi. Całość wspierana jest przez bogate oprogramowanie, w tym obszerne biblioteki programowe i przykłady kodów źródłowych. Płytki Nucleo współdziałają z oprogramowaniem firm IAR, Keil, mbed i innym. Zestawy STM32 Discovery to również niedrogie, ale kompletne rozwiązania, przygotowane na potrzeby testowania i sprawdzania możliwości mikrokontrolerow STM32. Nie są tak zestandaryzowane jak moduły Nucleo, ale mają wszystko, co potrzebne, by zaprezentować określone specyficzne cechy wybranej grupy podzespołów. Są dostarczane wraz z odpowiednimi bibliotekami programowymi i szeregiem przykładowych programów, w pełni demonstrujących możliwości mikrokontrolerów. Mają też zintegrowane debuggery i programatory. Najbardziej zaawansowane, a przez to i nieco droższe, są zestawy ewaluacyjne serii Eval, ktore w kompletny sposób prezentują możliwości i pozwalają na testowanie mikrokontrolerów STM32. Zostały one pomyślane jako swoiste projekty referencyjne, zbudowane z wykorzystaniem danych MCU i powiązanych z nimi podzespołów. Jednymi z najciekawszych zestawów z serii Nucleo, będącymi zarazem dobrymi reprezentantami tej grupy produktów, są modele wyposażone w mikrokontrolery STM32F746ZG (1 MB Flash, 340 KB RAM) i STM32F767ZI (2 MB Flash, 512 KB RAM). W ramach tych zestawów dostępne są:

    • programator-debugger ST-Link/v2-1 (mogący pracować jako: wirtualny COM, urządzenie pamięci masowej, interfejs debugujący), zgodny z mbed.org,

    • interfejs USB OTG ze złączem Micro-AB,

    • interfejs Ethernet IEEE-802.3-2002,

    • trzy diody LED,

    • dwa przyciski, w tym jeden do aplikacji użytkownika,

    • dwa zestawy złączy peryferyjnych: ST Zio (zgodne z Arduino Uno v3) oraz ST morpho.


    Mikrokontrolery STM32 - po które z nich warto sięgnąć?
    Mikrokontrolery STM32 - po które z nich warto sięgnąć?


    Dzięki prostej budowie, ceny tych zestawów są bardzo atrakcyjne. Jako przykłady zestawów serii Discovery warto przytoczyć dwa modele z mikrokontrolerami z rodziny STM32F7. Są to STM32F746G-DISCO i STM32F769IDISCO, przy czym ten drugi jest dostępny również w wersji STM32F769I-DISC1, a więc pozbawionej wyświetlacza LCD. Zestaw STM32F746G-DISCO wyposażono w pamięć SDRAM o pojemności 128 Mb (z czego mikrokontroler wykorzystuje 64 Mb), 128 Mb pamięci Flash z interfejsem Quad-SPI, dwa mikrofony MEMS, interfejs ethernetowy IEEE- 802.3-2002 oraz 4,3-calowy wyświetlacz z matrycą 480×272 piksele, zintegrowany z pojemnościowym panelem dotykowym. Zestaw wyposażono także w złącze kamery CCD, sterownik i wzmacniacz audio, interfejsy USB OTG HS oraz USB OTG FS ze złączami Micro-AB, złącze dla karty Micro SD i przycisk dla aplikacji użytkownika. Co ciekawe, zestaw ma złącza umożliwiające podłączenie modułów zgodnych z Arduino UNO v3 oraz wbudowany programator debugger ST Link/v2-1, ktory jest zgodny m.in. z mbed.org.Zestaw STM32F769I-DISCO wydaje się bardzo podobny do powyższego, ale w praktyce mocno rożni się wyposażeniem. Poza innym mikrokontrolerem w STM32F769I-DISCO zastosowano także:

    • cztery zamiast dwóch mikrofony MEMS (dołączone do interfejsu DFSDM),

    • interfejs ethernetowy, wspierający PoE (IEEE 802.3af), który umożliwia zasilanie urządzeń o mocy do 3 W za pomocą okablowania sieciowego,

    • wyświetlacz LCD z interfejsem MIPIDSI, zintegrowany z pojemnościowym ekranem dotykowym.

    Wśród przykładów oprogramowania przygotowanego na te zestawy znalazły się m.in. odtwarzacze multimedialne, rejestrator audio, sieciowy serwer VNC oraz interfejsy użytkownika, bazujące na bibliotekach graficznych TouchGFX i Embedded Wizard.

    Podsumowanie

    Zaprezentowane w niniejszym artykule produkty to prawdopodobnie najciekawsze układy i zestawy z bardzo popularnej serii STM32. Warto przyjrzeć się im w pierwszej kolejności podczas tworzenia nowych aplikacji. Wszystkie są dostępne prosto z magazynów firmy Micros, która dostarcza także szereg innych produktów marki STMicroelectronics i konkurencyjnych producentów. W ofercie Microsa znaleźć można również mikrokontrolery rodzin STM32F0, STM32F1, STM32F2, STM32F3, STM32L0, STM32L1, STM8S, STM8L i wielu innych.

    Micros sp. j. W. Kędra i J. Lic
    Źródło: "Elektronik" 2018/09, s. 100-103.


    Mikrokontrolery STM32 - po które z nich warto sięgnąć?

    Artykuł sponsorowany od Micros http://micros.com.pl/

    0 15
  • Mitronik
  • #2 07 Sty 2019 11:43
    tronics
    Poziom 36  

    magic9 napisał:
    Nowa rodzina układów firmy STMicroelectronics nosi nazwę STM32L4+ i cechuje się bardzo wysoką, jak na pobór mocy, mocą obliczeniową, dochodzącą do 150 DMIPS przy taktowaniu 20 MHz.
    120MHz

    0
  • #3 07 Sty 2019 11:50
    stmx
    Poziom 21  

    Chciałem zobaczyć ceny ale:

    Mikrokontrolery STM32 - po które z nich warto sięgnąć?

    0
  • #4 07 Sty 2019 12:20
    BlueDraco
    Specjalista - Mikrokontrolery

    Z nowości warto zwrócić uwagę na:
    - serię G0 - nowe, elastyczne DMA, więcej nóg portów, mniej nóg zasilań
    - L4+ - 120 MHz, potężene pamięci, brak udziwnień z serii F4/F7
    - L5 - poza nowymi mechanizmami bezpieczeństwa ARMv8-M mamy wysokowydajny rdzeń i spore pamięci, jak w L4
    - L412 - miły i tani drobiażdżek w serii L4.

    1
  • Mitronik
  • #5 07 Sty 2019 12:38
    Freddie Chopin
    Specjalista - Mikrokontrolery

    BlueDraco napisał:
    brak udziwnień z serii F4/F7

    O które dokładnie rzeczy Ci chodzi? (pytanie bez podtekstów)

    BlueDraco napisał:
    - L5 - poza nowymi mechanizmami bezpieczeństwa ARMv8-M mamy wysokowydajny rdzeń i spore pamięci, jak w L4

    No ale na te układy sobie chyba jeszcze poczekamy, no nie? Ktoś wie kiedy +/- można się ich spodziewać? Dodatkowo dochodzi też kwestia narzędzi, głównie debuggerów. Nowa architektura to na pewno nowe potencjalne problemy...

    0
  • #6 07 Sty 2019 13:33
    _lazor_
    Moderator Projektowanie

    Freddie Chopin napisał:
    BlueDraco napisał:
    - L5 - poza nowymi mechanizmami bezpieczeństwa ARMv8-M mamy wysokowydajny rdzeń i spore pamięci, jak w L4

    No ale na te układy sobie chyba jeszcze poczekamy, no nie? Ktoś wie kiedy +/- można się ich spodziewać? Dodatkowo dochodzi też kwestia narzędzi, głównie debuggerów. Nowa architektura to na pewno nowe potencjalne problemy...


    Na stronie ARM'a od dawna można poczytać o cortex-m33 cóż tam jest najlepsze źródło jeśli chodzi o architekturę. Zapewne ARM wesprze GNU Arm Embedded Toolchain jeśli chodzi o narzędzia ;)

    0
  • #7 07 Sty 2019 14:02
    Freddie Chopin
    Specjalista - Mikrokontrolery

    GCC i inne narzędzia z toolchaina od dawna wspierają architekturę ARMv8-M, tyle że nie o to chodzi. Chodzi o programy typu OpenOCD, w których wsparcie dla ARMv8-M - jeśli w ogóle istnieje - niekoniecznie jest dopracowane tak dobrze jak dla innych układów.

    1
  • #8 07 Sty 2019 14:17
    stmx
    Poziom 21  

    Freddie Chopin napisał:
    Chodzi o programy typu OpenOCD, w których wsparcie dla ARMv8-M - jeśli w ogóle istnieje - niekoniecznie jest dopracowane tak dobrze jak dla innych układów.


    Amatorzy hobbyści mogą sobie użyć ST-Linka przerobinego na J-Linka . segger gdbserver ma wsparcie.

    0
  • #9 07 Sty 2019 14:23
    Freddie Chopin
    Specjalista - Mikrokontrolery

    stmx napisał:
    Amatorzy hobbyści mogą sobie użyć ST-Linka przerobinego na J-Linka . segger gdbserver ma wsparcie.

    Może mają ochotę użyć OpenOCD? Choćby dlatego, że nie mają ST-Linka. Tylko nie pisz, że można go kupić za 27 groszy na aliexpress. Przy okazji czyżby OpenOCD był programem adresowanym tylko do amatorów hobbystów?

    0
  • #10 07 Sty 2019 14:45
    stmx
    Poziom 21  

    Freddie Chopin napisał:
    Przy okazji czyżby OpenOCD był programem adresowanym tylko do amatorów hobbystów?
    A kto tak mówi? Dałem tylko alternatywę na czas kiedy nie będzie dostępny właściwy openOCD

    0
  • #11 07 Sty 2019 14:57
    Marek_Skalski
    Moderator Projektowanie

    Trochę przeterminowany materiał. Ktoś zapomniał o rodzinie STM32H7xx, która jest dostępna w formacie Nucleo, a w tym roku rozrośnie się o jednostki 2-rdzeniowe i/lub bogatsze układy z dodatkowymi peryferiami.
    @stmx Nie wiem z jakiej strony korzystałeś, ale ja znalazłem ceny.
    Mikrokontrolery STM32 - po które z nich warto sięgnąć?
    Tylko te drobne szczegóły trochę zniechęcają:
    - Stan magazynowy: 0
    - Minimalna kwota zamówienia: 100 EUR
    - Dostawa: 5-7 dni roboczych
    Tam gdzie kupuję:
    - Stan magazynowy >1000 sztuk.
    - Minimalne zamówienie: brak. Za 50 EUR mam darmową przesyłkę.
    - Dostawa jest w 48 godzin.
    Ale przy małych zamówieniach (50-500 sztuk) opłaca się kupić w Micros.

    Edit:
    Po sprawdzeniu kilku innych numerów, potwierdzam brak cen, np. Nucleo-H743. Dziwna polityka sprzedażowa. Na pewno nie będę dzwonił, aby zapytać o każdą jedną część. Szkoda mojego czasu i szkoda czasu osoby po drugiej stronie.

    0
  • #12 07 Sty 2019 17:36
    stmx
    Poziom 21  

    Marek_Skalski napisał:
    Nie wiem z jakiej strony korzystałeś, ale ja znalazłem ceny.
    Z tej samej :) Ale jak do uprzywilejowanych nie należę i mnie się nie wyświetlają:

    Mikrokontrolery STM32 - po które z nich warto sięgnąć?

    Ale po tym co wkleiłeś widać że to jakaś subdystrybucja bo w STM-ie terminy są 6 albo 9 miesięcy.

    0
  • #13 07 Sty 2019 18:36
    BlueDraco
    Specjalista - Mikrokontrolery

    To, co lubię w L4, a nie lubię w F4, to nieciekawa matryca szyn, w tym DMA z udziwnieniami w F4 (np. brak dostępu do GPIO) i synchronizacja MSI lub MSI48 z LSE lub USB SOF w L4 - b. pożyteczna na małych płytkach. L5 ma mieć wszystkie miłe cechy L4 i nowe DMA z DMAMUX, jak w G0; no i popatrz na DMIPS/MHz - ze wstępnego oglądu wynika, że M33 ma fuzję instrukcji, czyli z dwóch robi niekiedy jedną - taka tania wersja superskalara. Oczywiście w liczbach bezwzględnych wydajnościowo H7/F7/F4 pozostaną najszybsze.
    Co do narzędzi - jeśli nawet Atmel Studio całkiem poprawnie radzi sobie z M23 (w tym z tworzeniem projektów i debugowaniem secure/non-secure), to nie obawiam się specjalnie o dojrzałość narzędzi Atollic (że nie wspomnę o FCh BleedingEdge ;) ) i ich gotowość przy rzeczywistym wprowadzeniu L5. ST nie ma zwyczaju publikować dokumentacji z dużym wyprzedzeniem, więc, skoro dokumentacja już jest, spodziewam się premiery L5 na EW za 2 miesiące.
    G0 zrobi się naprawdę ciekawy, gdy pojawią się modele w mniejszych obudowach.

    0
  • #14 07 Sty 2019 19:15
    _lazor_
    Moderator Projektowanie

    A nie jest to po prostu architektura mieszana, która pozwala na jednoczesne wczytywanie danych i tekstu? Na m4 na tym polegało zwiększenie ilości DMIPS/MHz.

    https://www.st.com/content/ccc/resource/sales...pdf/jcr:content/translations/en.brstm32f3.pdf
    "72 MHz / 63 DMIPS (from Flash) or 90 DMIPS (from CCM‑SRAM)"

    0
  • #15 07 Sty 2019 19:31
    stmx
    Poziom 21  

    @_lazor_ wszystkie benchmarki procesorów są tak robione.

    0
  • #16 07 Sty 2019 19:44
    BlueDraco
    Specjalista - Mikrokontrolery

    M33 jest szybszy od M4, chociaż pochodzi od M4 - powód podałem.

    0