Nie trzeba szczególnej wnikliwości, żeby zauważyć nieustanne zmiany zachodzące na rynku elektroniki, a także szybko rosnące wymagania stawiane aplikacjom mikrokontrolerowym. Zjawiska te dostrzegła firma STMicroelectronics, czego skutkiem była prezentacja w ostatnich dniach lutego nowej podrodziny układów, oznaczonych symbolem STM32MP. Pomimo znajomego prefiksu nazwy, mamy do czynienia z zupełnie nową w ofercie STMicroelectronics rodziną układów: są to bowiem pełnowartościowe mikroprocesory aplikacyjne, wyposażone w jeden lub dwa rdzenie Cortex-A7 oraz znany z wcześniejszych rozwiązań Cortex-M4 z FPU.
Producent wchodzi na rynek ze stosunkowo niewielką liczbą modeli mikroprocesorów STM32MP1 (zestawienie ich najważniejszego wyposażenia pokazano w tabeli 1), ale są to układy o przemyślanej budowie i bogatym wyposażeniu. Tak więc mamy do dyspozycji warianty mikroprocesorów z 1 lub 2 CPU (Cortex-A7, taktowanie do 650 MHz) z opcjonalnym koprocesorem graficznym GPU, który jest zgodny z OpenGL ES 2.0.
Maksymalny rozmiar obrazu obrabianego przez GPU wynosi 1366×768 pikseli, przy czym użytkownik może zdefiniować 2 warstwy obrazu z indywidualnymi tablicami kolorów. Jednostka GPU jest taktowana z maksymalną częstotliwością do 533 MHz, co umożliwia generowanie obrazu z prędkością do 133 megapikseli na sekundę. Dołączenie wyświetlacza do STM32MP1 umożliwiają dwa interfejsy: równoległy RGB888 lub MIPI-DSI, który składa się z dwóch różnicowych linii danych i różnicowej linii taktującej.
Mikroprocesory STM32MP1 wyposażono w zintegrowane interfejsy zewnętrznych pamięci DRAM (typów: DDR3, DDR3L, LPDDR2, LPDDR3) o organizacji magistrali danych: 16 lub 32 bity i maksymalnej pojemności 8 Gb. Maksymalna częstotliwość taktowania magistrali danych wynosi w prezentowanych układach 533 MHz. Dzięki wbudowanym interfejsom sprzętowym mikroprocesor może także bezpośrednio korzystać z pamięci stałych Flash eMMC, NAND Flash (serial lub parallel), NOR Flash (serial), łatwa w sprzętowej realizacji jest także obsługa kart SD (interfejs v3.01).
Interesującym wyposażeniem prezentowanych układów jest wbudowany w niektóre modele interfejs Ethernet 1 Gb/s, a także 3 kanały USB, z których dwa mają zintegrowane analogowe interfejsy warstwy fizycznej w standardzie High Speed. Schemat blokowy najbardziej rozbudowanego układu z rodziny STM32MP1 pokazano na rysunku 1.
Wszystkie aktualnie dostępne modele mikroprocesorów STM32MP1 wyposażono w dodatkowy rdzeń Cortex-M4 (taktowany do 200 MHz), który stanowi systemową domenę czasu rzeczywistego (rysunek 2). Ma on do swojej dyspozycji łącznie 448 kB pamięci RAM oraz wybrane peryferia, dzięki którym może realizować w systemie wszystkie typowe zadania „mikrokontrolerowe”, sterując na przykład mechanizmem drukarki termicznej, obsługując sensory lub realizując inne zadania, wygodne w implementacji real-time’owej.
Dbając o wygodę projektantów sprzętu bazującego na STM32MP1, firma STMicroelectronics opracowała wyspecjalizowany układ zasilający PMIC (oznaczony symbolem STPMIC1), w którym zintegrowano 6-kanałowy stabilizator LDO, 3-kanałową przetwornicę DC/DC oraz konwerter DC/DC z kluczami prądowymi do zasilania urządzeń USB. Układ STPMIC1 zapewnia właściwe wartości napięć zasilających w całym systemie bazującym na STM32MP1 w zakresie napięć wejściowych 2,8…5,5 VDC (rysunek 3).
Prezentowane układy są dostępne w czterech wersjach obudów BGA o liczbie wyprowadzeń od 257 do 448 i rastrach rozmieszczenia kulek 0,5 lub 0,8 mm. W zależności od wersji obudowy konieczne jest użycie PCB o liczbie warstw co najmniej 4 lub 6, w skrajnym przypadku mogą się okazać niezbędne także przelotki zagrzebane.
Tak zaawansowane układy jak STM32MP1 są predestynowane do pracy z systemami operacyjnymi, szczególnie – w aplikacjach embedded – z Linuksem. Producent doskonale zdawał sobie z tego sprawę, więc równolegle z układami wprowadził na rynek linuksową infrastrukturę (w postaci STLinuksa) oraz narzędzia pomocnicze (STM32CubeMX), które ułatwią stosowanie STM32MP1 w praktyce (szczegóły są dostępne pod adresem http://bit.ly/2Ex2PUQ) – rysunek 4.
Szybki start z STM32MP1 ułatwią zainteresowanym użytkownikom także zestawy sprzętowe:
- zaawansowane z LCD, ewaluacyjne: STM32MP157A-EV1 oraz STM32MP157C-EV1,
- relatywnie tanie startowe, z rodziny Discovery (fotografia 5): STM32MP157A-DK1 oraz STM32MP157C-DK1.
Producent deklaruje dostępność zestawów sprzętowych od kwietnia 2019. Wybrane wersje zestawów Discovery będą oferowane także z wyświetlaczem TFT wyposażonym w interfejs MIPI-DSI.
Prezentowane w artykule mikroprocesory – ze względu na wyposażenie i parametry elektryczne oraz termiczne, a także gwarantowany długi czas dostępności – doskonale nadają się do stosowania w aplikacjach przemysłowych. Oferowany przez STM32MP1 potencjał uniwersalności projektanci urządzeń mogą efektywnie wykorzystać dzięki platformom sprzętowym produkowanym przez firmy współpracujące z STMicroelectronics. Jedną z takich firm jest polski producent komputerów embedded – firma SoMLabs – która przygotowuje produkcję miniaturowego komputera z mikroprocesorem STM32MP157 (fotografia 6).
Wprowadzenie przez STMicroelectronics do oferty produkcyjnej mikroprocesorów aplikacyjnych jest niewątpliwie dużym krokiem w przyszłość. Jeżeli producent STM32MP wykaże się taką samą konsekwencją, jak miało to miejsce w przypadku mikrokontrolerów STM32, układy znakowane „STM32” mają dużą szanse być domyślną sprzętową platformą także w przyszłości, która już teraz – nieuchronnie – upowszechnia rozwiązania linuksowe.
Piotr Zbysiński, EP