STM32 – Wikipedia, wolna encyklopedia
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]- ↑ STM32 Arm Cortex MCUs – 32-bit Microcontrollers – STMicroelectronics [online], www.st.com [dostęp 2021-02-21] (ang.).
- ↑ 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] .
- ↑ 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] .
- ↑ 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] .
- ↑ 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] .
- ↑ 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] .
- ↑ 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] .
- ↑ 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] .
- ↑ 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] .
- ↑ 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] .
- ↑ STM32Nucleo nowa platforma ewaluacyjno-startowa dla użytkowników mikrokontrolerów STM32 [online], elektronikab2b.pl [dostęp 2022-02-15] (pol.).
- ↑ 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.).
- ↑ STMicroelectronics Introduces STM32L5 Ultra-Low-Power Microcontrollers for a More Secured IoT [online], www.st.com [dostęp 2022-02-15] (ang.).
- ↑ STMicroelectronics Reveals Extreme Low-Power STM32U5 Microcontrollers with Advanced Performance and Cybersecurity [online], ST News, 25 lutego 2021 [dostęp 2022-02-15] (ang.).
- ↑ STM32 Arm Cortex MCUs – 32-bit Microcontrollers – STMicroelectronics [online], www.st.com [dostęp 2022-04-10] (ang.).
- ↑ STM32F0 – Arm Cortex-M0 – USB Microcontrollers – STMicroelectronics [online], www.st.com [dostęp 2022-05-02] (ang.).
- ↑ STM32F0, STM32L0, STM32G0 – który wybrać? [online], ep.com.pl [dostęp 2022-05-02] (pol.).
- ↑ STM32F1 – Arm Cortex-M3 Microcontrollers – STMicroelectronics [online], www.st.com [dostęp 2022-05-01] (ang.).
- ↑ Grudniowe nowości w rodzinie STM32 [online] [dostęp 2022-05-02] (pol.).
- ↑ STM32F2 – ARM Cortex-M3 Microcontrollers – High-Performance MCUs – STMicroelectronics [online], www.st.com [dostęp 2022-05-02] (ang.).
- ↑ Andrzej Gawryluk , 150 DMPIS na STM32. Nowe mikrokontrolery z rodziny STM32, marzec 2011 .
- ↑ STM32F3 – garść porad od strony sprzętowej [online], elektronikab2b.pl [dostęp 2022-05-05] (pol.).
- ↑ Andrzej Gawryluk , Mikrokontrolery STM32F3 (Cortex-M4F) – narzędzia dla każdego, listopad 2012 .
- ↑ STM32F4 – granica 2 MB Flash pokonana [online], elektronikab2b.pl [dostęp 2022-05-05] (pol.).
- ↑ STM32F7 – Very high-performance MCUs with Cortex-M7 – STMicroelectronics [online], www.st.com [dostęp 2022-05-06] (ang.).
- ↑ Piotr Zbysiński , STM32F7: pierwsze mikrokontrolery z rdzeniem Cortex-M7, styczeń 2015 .
- ↑ Mikrokontrolery STM32G0 [online], elektronikab2b.pl [dostęp 2022-05-06] (pol.).
- ↑ STM32G4 Series of mixed-signal MCUs with DSP and FPU instructions – STMicroelectronics [online], www.st.com [dostęp 2022-05-08] (ang.).
- ↑ 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.).
- ↑ STM32L0 - ARM Cortex-M0+ ultra-low-power MCUs - STMicroelectronics [online], www.st.com [dostęp 2022-09-14] (ang.).
- ↑ Andrzej Gawryluk , STM32L0: Cortex-M0+ w rodzinie STM32, „Elektronika Praktyczna”, kwiecień 2014 .
- ↑ STM32L1 - ARM Cortex-M3 ultra-low-power MCUs - STMicroelectronics [online], www.st.com [dostęp 2022-09-14] (ang.).
- ↑ 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.).
- ↑ STM32L4 - ARM Cortex-M4 ultra-low-power MCUs - STMicroelectronics [online], www.st.com [dostęp 2022-09-28] (ang.).
- ↑ STM32L4+ Ultra‐Low‐Power Microcontrollers (MCU) with embedded graphics features - STMicroelectronics [online], www.st.com [dostęp 2022-09-28] (ang.).
- ↑ Mikrokontrolery STM32L4+ – wydajność do 150 DMIPS [online] [dostęp 2022-09-28] (pol.).
- ↑ STM32L5 - Ultra-low-power MCUs, Enhanced Security for IoT and Embedded Applications - STMicroelectronics [online], www.st.com [dostęp 2022-10-06] (ang.).
- ↑ Damian Nowak , Nowe, energooszczędne i jeszcze bezpieczniejsze STM32 [online], FORBOT, 5 listopada 2018 [dostęp 2022-10-06] (pol.).
- ↑ STM32CubeMX v 5.0 [online], elektronikab2b.pl [dostęp 2022-04-10] (pol.).
Linki zewnętrzne
[edytuj | edytuj kod]- Kurs STM32. forbot.pl. [dostęp 2022-04-10]. (pol.).
- Strona producenta