STM32 – Wikipedia, wolna encyklopedia

Płytka rozwojowa STM32VLDISCOVERY

STM32 – rodzina 32–bitowych mikrokontrolerów w układach scalonych produkowanych przez francusko-włoską firmę STMicroelectronics. Chipy STM32 są pogrupowane w różne, blisko spokrewnione serie, oparte na 32–bitowych procesorach ARM, takich jak Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0 + lub Cortex-M0. Każdy mikrokontroler składa się z rdzenia procesora, statycznej pamięci RAM, pamięci flash (do przechowywania), interfejsu debugowania i różnych urządzeń peryferyjnych[1]. Mikrokontrolery STM32 są przystosowane do zasilania pojedynczym napięciem o wartości 2 do 3,6 V.

Historia

[edytuj | edytuj kod]

Poniżej znajduje się historia ewolucji rodziny mikrokontrolerów STM32.

  • Październik 2006 – firma STMicroelectronics ogłasza licencję na rdzeń ARM Cortex–M3[2]
  • Czerwiec 2007– firma ogłasza serię STM32 F1 opartą na rdzeniu ARM Cortex–M3[3]
  • Październik 2009 – firma ogłasza, że nowe chipy ARM zostaną zbudowane przy wykorzystaniu procesu technologicznego 90 nm[4]
  • Kwiecień 2010 – firma ogłasza chipy z serii STM32 L1[5]
  • Wrzesień 2010 – firma ogłasza płytkę rozwojową STM32VLDISCOVERY[6]
  • Listopad 2010 – firma ogłasza układy z serii STM32 F2 oparte na rdzeniu ARM Cortex–M3 oraz przyszły rozwój układów opartych na rdzeniach ARM Cortex–M4 i ARM Cortex–M3[7]
  • Luty 2011 – firma wypuszcza na rynek płytkę STM32L-DISCOVERY[8]
  • Wrzesień 2011 – firma wypuszcza serię STM32 F4 oparta na rdzeniu ARM Cortex-M4F oraz płytkę STM32F4-DISCOVERY[9]
  • Maj 2012 – firma wypuszcza na rynek płytkę STM32F0-DISCOVERY[10]
  • Luty 2014 – firma wprowadza zestaw startowy STM32Nucleo, zgodny ze strandardem Arduino[11]
  • Październik 2016 – firma ogłasza serię mikrokontolerów STM32H7, mikrokontrolery te wyprodukowano w technologii 40 nm[12]
  • Październik 2018 – firma ogłasza serię mikrokontolerów STM32L5, charakteryzującą się bardzo niskim poborem mocy[13]
  • Luty 2021 – firma ST ogłasza serię mikrokontrolerów STM32U5, charakteryzującą się bardzo niskim poborem mocy, mikrokontrolery te oparte są na rdzeniu ARM Cortex-M33[14].

Serie mikrokontrolerów STM32

[edytuj | edytuj kod]

Układy z każdej serii mikrokontrolerów są oparte na rdzeniu ARM Cortex-M[15]. Można wyróżnić kilkanaście serii mikrokontrolerów STM32:

  • STM32L0
  • STM32L1
  • STM32L4
  • STM32L4+
  • STM32L5
  • STM32F0
  • STM32F1
  • STM32F2
  • STM32F3
  • STM32F4
  • STM32F7
  • STM32G0
  • STM32G4
  • STM32H7
  • STM32U5
  • STM32WL
  • STM32WB

STM32 F0

[edytuj | edytuj kod]

Seria STM32 F0 to pierwsza rodzina mikrokontrolerów STM32, która została oparta na rdzeniu ARM Cortex-M0. Rdzeń ten może być taktowany częstotliwością do 48 MHz. Cechują się dużą wydajnością w czasie rzeczywistym, niskim zużyciem energii oraz zaawansowaną architekturą[16]. Seria jest podzielona na 4 linie[17]:

  • STM32F0x0 Value Line
  • STM32F0x1 Access Line – posiada szereg wbudowanych układów peryferyjnych
  • STM32F0x2 USB Line – skierowana na układy transmisji danych, w tym transmisji przez moduł komunikacyjny USB (w porównaniu do linii Value Line moduł nie wymaga taktowania generatorem stabilizowanym kwarcem); posiada interfejs CAN, HDMI oraz SPI z możliwością konfigurowania jako I2S;
  • STM32F0x8 Low-voltage Line – przewidziana do zasilania niskim napięciem 1,8 V ±8%

STM32 F1

[edytuj | edytuj kod]

Seria STM32 F1 to pierwsza grupa mikrokontrolerów STM32, która była oparta na rdzeniu ARM Cortex-M3. Z czasem seria F1 zwiększała szybkość procesora oraz rozmiar pamięci wewnętrznej oraz powiększała różnorodność urządzeń peryferyjnych. Seria F1 składa się z pięciu linii, które są kompatybilne między sobą pod względem pinów, oprogramowania czy urządzeń peryferyjnych[18]:

  • STM32F100 – taktowanie 24 MHz
  • STM32F101 – taktowanie 36 MHz, pamięć flash 1 MB
  • STM32F102 – taktowanie 48 MHz
  • STM32F103 – taktowanie 72 MHz
  • STM32F105/107 – taktowanie 72 MHz.

STM32 F2

[edytuj | edytuj kod]

W serii tej zastosowano rdzeń ARM Cortex-M3, taktowany z maksymalną częstotliwością do 120 MHz[19]. CPU za pośrednictwem bloku ART ma dostęp do pamięci Flash, w wyniku czego umożliwia wymianę danych z pełną prędkością wynikająca z częstotliwości taktowania rdzenia mikrokontrolera, bez konieczności wydłużania czasu dostępu za pomocą cyklu oczekiwania. Pod względem wyprowadzeń, seria ta jest kompatybilna z serią F4[20]. Seria jest podzielona na 2 linie[21]:

  • STM32F205/215 – dostępne w wersjach z pamięcią Flash od 128 kB do 1 MB, wyposażono w jeden kanał USB-OTG (FS/HS)
  • STM32F207/217 – wyposażono w dwa interfejsy USB-OTG (FS/HS) oraz jeden interfejs USB-OTG FS, interfejs kamery CCD oraz MAC Ethernet 10/100, sprzętowy generator liczb pseudolosowych, moduł kryptograficzny (3DES, MD5, AES256/SHA-1 oraz HMAC)

STM32 F3

[edytuj | edytuj kod]

Seria mikrokontrolerów F3 bazuje na rdzeniu ARM Cortex-M4F (z FPU) o taktowaniu 72 MHz. Zawiera liczne peryferia analogowe: 12-bitowy przetwornik A/C, 12-bitowy przetwornik C/A, wzmacniacze PGA – 16-bitowy przetwornik A/C typu sigma-delta. Zawierają również timery, interfejsy komunikacyjne (USB, SPI, USART, I²C, CAN, HDMI), kontroler przycisków pojemnościowych, moduł do obliczania CRC, moduł DMA, jednostkę MPU[22]. Seria jest podzielona na sześć linii[23]:

  • STM32F302
  • STM32F303
  • STM32F313
  • STM32F372
  • STM32F373
  • STM32F383

STM32 F4

[edytuj | edytuj kod]

W tej serii mikrokontrolerów zastosowano rdzeń ARM Cortex-M4F. W ramach rodziny STM32F4 producent oferuje 33 typy mikrokontrolerów, wyposażonych w pamięć Flash o maksymalnej pojemności od 512 KB do 2 MB, pamięć SRAM o pojemności 192 lub 256 KB[24].

STM32 F7

[edytuj | edytuj kod]

Seria F7 bazuje na rdzeniu ARM Cortex-M7 o taktowaniu maksymalnym 216 MHz. Frima STM jest pierwszą firmą, która zastosowała ten rdzeń w swoich mikrokontrolerach. Cortex-M7 jest wstecznie kompatybilny z zestawem instrukcji rdzenia Cortex-M4[25]. W mikrokontrolerach tych wykorzystano interfej Master AXI, który zapewnia „splatanie” kilku kanałów magistrali AHB w jeden, szybki kanał dwukierunkowej komunikacji rdzenia z otoczeniem. Seria F7 zawiera również dwa interfejsy: QSPI (realizują transmisję danych z pamięciami wyposażonymi w 1-, 4- i 8-bitowe interfejsy komunikacyjne), USB-OTG (z wydzielonym zasilaniem, umożliwia korzystanie z tego interfejsu także przy zasilaniu mikrokontrolera napięciem 1,8 V)[26].

STM32 G0

[edytuj | edytuj kod]

Seria G0 jest ulepszonym następcą rodziny mikrokontrolerów F0. Mikrokontrolery tej serii bazują na rdzeniu ARM Cortex-M0+ o maksymalnym taktowaniu 64 MHz. W zależności od zastosowanych układów peryferyjnych podzielono ją na trzy linie: Value Line, Access Line oraz Access Line & Encryption[27].

STM32 G4

[edytuj | edytuj kod]

Seria G4 oparta jest na rdzeniu ARM Cortex-M4F o taktowaniu 170 MHz. Jest to kolejna generacja mikrokontrolerów, która ma zastąpić serię F3, oferując m.in. lepszą sprawność energetyczną oraz wydajność w porównaniu do starszych serii F3 czy F4. Układy zawierają dwa akceleratory obliczeniowe przyspieszające przetwarzanie danych, wykorzystujące algorytm Cordic oraz funkcje filtrujące. Mikrokontrolery z tej serii posiadają timery dużej rozdzielczości do konwerterów mocy, analogowe peryferia, obsługują interfejs USB-C oraz USB-PD[28][29].

STM32 L0

[edytuj | edytuj kod]

Seria L0 jest pierwszą, która została oparta na rdzeniu ARM Cortex-M0+. Seria ta jest dostosowana do aplikacji wymagających stosowania energooszczędnych podzespołów[30]. Mikrokontrolery z tej serii wyposażono w sprzętowy firewall, którego zadaniem jest ochrona zawartości zadanych obszarów pamięci RAM oraz nieulotnej przed odczytem przez program ulokowanych w obszarze niechronionym pamięci RAM lub Flash. Wspólnymi elementami wyposażenia wszystkich mikrokontrolerów z serii L0 są: pamięć EEPROM, kontroler DMA, interfejsy komunikacyjne (SPI, I2C), interfejs USB (nie wymaga stosowania specjalnego rezonatora kwarcowego), komparatory analogowe oraz 96-bitowy sprzętowy numer seryjny, który pozwala na identyfikację urządzenia z wbudowanym mikrokontrolerem[31].

STM32 L1

[edytuj | edytuj kod]

W tej serii zastosowano rdzeń ARM Cortex-M3 o maksymalnym taktowaniu 32 MHz[32]. Mikrokontrolery te są przystosowane do projektów energooszczędnych. W skład tej serii wchodzą cztery podrodziny: STM32L100, STM32L151, STM32L152, STM32L162. Wartość napięcia zasilającego wynosi 1,65 V, przy czym mikrokontrolery mogą pracować w urządzeniach zasilanych napięciem do 3,6 V[33].

STM32 L4

[edytuj | edytuj kod]

Seria L4 została oparta na rdzeniu ARM Cortex-M4F o maksymalnym taktowaniu 80 MHz. Producent oferuje dwie podrodziny: STM32L476, wyposażony w interfejs USB oraz kontroler LCD, oraz STM32L486, który dodatkowo posiada procesor kryptograficzny AES256/128. Pojemność pamięci RAM wynosi 128 kB[34].

STM32 L4+

[edytuj | edytuj kod]

Seria L4+ jest rozszerzeniem serii L4, zapewniając większą wydajność, więcej wbudowanej pamięci oraz bogatszą grafiką i funkcje łączności przy zachowaniu niskiego zużycia energii. Maksymalne taktowanie rdzenia mikrokontrolera wynosi 120 MHz. Mikrokontrolery z tej serii posiadają również kontroler wyświetlaczy TFT-LCD, akcelerator Chrom-ART, czy interfejs kamery[35]. Mogą być stosowane jako centralny kontroler m.in. w inteligentnych miernikach, małych urządzeniach medycznych czy niedużych czujnikach przemysłowych[36].

STM32 L5

[edytuj | edytuj kod]

STM32 L5 to kolejna seria mikrokontrolerów o ultraniskim poborze mocy. Została oparta na rdzeniu ARM Cortex-M33F o taktowaniu maksymalnym 110 MHz ze wsparciem FPU i instrukcjami DSP. Posiada interfejsy USB, USART, I2C, SPI, CAN-FD. Posiada również wsparcie dla pojemnościowych czujników dotyku. Serię tę wyposażono w technologię ARM TrustZone, mającą na celu zwiększenie bezpieczeństwa urządzenia[37][38].

Narzędzia programistyczne

[edytuj | edytuj kod]

Do prawidłowego zaprogramowania mikrokontrolerów z rodziny STM32 niezbędne jest zastosowanie narzędzi programistycznych. Producent mikrokontrolerów bezpłatnie udostępnia program STM32CubeMX[39]. Program posiada czytelny interfejs graficzny, który ułatwia konfigurację mikrokontrolera.

Przypisy

[edytuj | edytuj kod]
  1. STM32 Arm Cortex MCUs – 32-bit Microcontrollers – STMicroelectronics [online], www.st.com [dostęp 2021-02-21] (ang.).
  2. STMicroelectronics Licenses ARM CORTEX-M3 Processor for use in next-Generation 32-BIT Microcontrollers [online], web.archive.org, 15 lutego 2014 [dostęp 2021-04-07] [zarchiwizowane z adresu 2014-02-15].
  3. STMicroelectronics Reshapes the MCU Market with New 32-Bit Family Powered by ARM Cortex-M3 Core [online], web.archive.org, 15 lutego 2014 [dostęp 2021-04-07] [zarchiwizowane z adresu 2014-02-15].
  4. ST Unveils World’s First ARM Cortex-M Series Microcontrollers Featuring Advanced 90nm Embedded Flash Technology [online], web.archive.org, 15 lutego 2014 [dostęp 2021-04-07] [zarchiwizowane z adresu 2014-02-15].
  5. STMicroelectronics Unveils STM32L Ultra-Low-Power ARM Cortex™-M3 based Microcontrollers for ‘Energy-Lite’ Applications [online], web.archive.org, 3 października 2011 [dostęp 2021-04-07] [zarchiwizowane z adresu 2011-10-03].
  6. STMicroelectronics’ STM32 Discovery Kit Establishes New Industry Standard for Low-Cost Tools for 32-bit Microcontrollers [online], web.archive.org, 23 listopada 2011 [dostęp 2021-04-07] [zarchiwizowane z adresu 2011-11-23].
  7. STMicroelectronics Unveils Roadmap for ARM® Cortex™-M4 and -M0 Microcontrollers While Unleashing Ultimate Performance of Cortex-M3 with New STM32 F-2 Series [online], web.archive.org, 17 grudnia 2011 [dostęp 2021-04-07] [zarchiwizowane z adresu 2011-12-17].
  8. STMicroelectronics To Hand Out Up To 7000 Microcontroller Discovery Kits at ‘embedded world’ to Encourage Creativity and Nurture Development of Outstanding Embedded Applications [online], web.archive.org, 2 listopada 2012 [dostęp 2021-08-29] [zarchiwizowane z adresu 2012-11-02].
  9. STMicroelectronics Launches World’s Most Powerful Cortex processor-based Microcontrollers [online], web.archive.org, 2 listopada 2012 [dostęp 2021-08-29] [zarchiwizowane z adresu 2012-11-02].
  10. STMicroelectronics Enters Production with New STM32 F0 Microcontrollers Targeting Budget Applications [online], web.archive.org, 9 sierpnia 2012 [dostęp 2021-08-29] [zarchiwizowane z adresu 2012-08-09].
  11. STM32Nucleo nowa platforma ewaluacyjno-startowa dla użytkowników mikrokontrolerów STM32 [online], elektronikab2b.pl [dostęp 2022-02-15] (pol.).
  12. STMicroelectronics Delivers Record Performance and Advanced Secure Services for the IoT with New STM32 Microcontroller Enhancements [online], www.st.com [dostęp 2022-02-15] (ang.).
  13. STMicroelectronics Introduces STM32L5 Ultra-Low-Power Microcontrollers for a More Secured IoT [online], www.st.com [dostęp 2022-02-15] (ang.).
  14. STMicroelectronics Reveals Extreme Low-Power STM32U5 Microcontrollers with Advanced Performance and Cybersecurity [online], ST News, 25 lutego 2021 [dostęp 2022-02-15] (ang.).
  15. STM32 Arm Cortex MCUs – 32-bit Microcontrollers – STMicroelectronics [online], www.st.com [dostęp 2022-04-10] (ang.).
  16. STM32F0 – Arm Cortex-M0 – USB Microcontrollers – STMicroelectronics [online], www.st.com [dostęp 2022-05-02] (ang.).
  17. STM32F0, STM32L0, STM32G0 – który wybrać? [online], ep.com.pl [dostęp 2022-05-02] (pol.).
  18. STM32F1 – Arm Cortex-M3 Microcontrollers – STMicroelectronics [online], www.st.com [dostęp 2022-05-01] (ang.).
  19. Grudniowe nowości w rodzinie STM32 [online] [dostęp 2022-05-02] (pol.).
  20. STM32F2 – ARM Cortex-M3 Microcontrollers – High-Performance MCUs – STMicroelectronics [online], www.st.com [dostęp 2022-05-02] (ang.).
  21. Andrzej Gawryluk, 150 DMPIS na STM32. Nowe mikrokontrolery z rodziny STM32, marzec 2011.
  22. STM32F3 – garść porad od strony sprzętowej [online], elektronikab2b.pl [dostęp 2022-05-05] (pol.).
  23. Andrzej Gawryluk, Mikrokontrolery STM32F3 (Cortex-M4F) – narzędzia dla każdego, listopad 2012.
  24. STM32F4 – granica 2 MB Flash pokonana [online], elektronikab2b.pl [dostęp 2022-05-05] (pol.).
  25. STM32F7 – Very high-performance MCUs with Cortex-M7 – STMicroelectronics [online], www.st.com [dostęp 2022-05-06] (ang.).
  26. Piotr Zbysiński, STM32F7: pierwsze mikrokontrolery z rdzeniem Cortex-M7, styczeń 2015.
  27. Mikrokontrolery STM32G0 [online], elektronikab2b.pl [dostęp 2022-05-06] (pol.).
  28. STM32G4 Series of mixed-signal MCUs with DSP and FPU instructions – STMicroelectronics [online], www.st.com [dostęp 2022-05-08] (ang.).
  29. S.T. Microelectronics, Nowe mikrokontrolery STM32G4 do cyfrowego zarządzania mocą [online], Mikrokontroler.pl – portal dla elektroników, 29 maja 2019 [dostęp 2022-05-08] (pol.).
  30. STM32L0 - ARM Cortex-M0+ ultra-low-power MCUs - STMicroelectronics [online], www.st.com [dostęp 2022-09-14] (ang.).
  31. Andrzej Gawryluk, STM32L0: Cortex-M0+ w rodzinie STM32, „Elektronika Praktyczna”, kwiecień 2014.
  32. STM32L1 - ARM Cortex-M3 ultra-low-power MCUs - STMicroelectronics [online], www.st.com [dostęp 2022-09-14] (ang.).
  33. Andrzej Gawryluk, Energooszczędność na dwa sposoby: STM32L1 lub STM32F0 [online], Mikrokontroler.pl - portal dla elektroników, 1 czerwca 2016 [dostęp 2022-09-20] (pol.).
  34. STM32L4 - ARM Cortex-M4 ultra-low-power MCUs - STMicroelectronics [online], www.st.com [dostęp 2022-09-28] (ang.).
  35. STM32L4+ Ultra‐Low‐Power Microcontrollers (MCU) with embedded graphics features - STMicroelectronics [online], www.st.com [dostęp 2022-09-28] (ang.).
  36. Mikrokontrolery STM32L4+ – wydajność do 150 DMIPS [online] [dostęp 2022-09-28] (pol.).
  37. STM32L5 - Ultra-low-power MCUs, Enhanced Security for IoT and Embedded Applications - STMicroelectronics [online], www.st.com [dostęp 2022-10-06] (ang.).
  38. Damian Nowak, Nowe, energooszczędne i jeszcze bezpieczniejsze STM32 [online], FORBOT, 5 listopada 2018 [dostęp 2022-10-06] (pol.).
  39. STM32CubeMX v 5.0 [online], elektronikab2b.pl [dostęp 2022-04-10] (pol.).

Linki zewnętrzne

[edytuj | edytuj kod]