STM32MP - gotowi na zmianę?
| TechnikaFirma STMicroelectronics przyzwyczaiła nas do regularnego poszerzania gamy mikrokontrolerów dostępnych na rynku, stopniowo odsuwając w cień niemal wszystkich rynkowych konkurentów. Pod koniec lutego 2019 producent oficjalnie zainicjował swój kolejny blitzkrieg, tym razem na rynku mikroprocesorów...
Hasło "STM32" kojarzy z pewnością każdy praktykujący elektronik, stało się ono - nie tylko w naszym kraju - niemalże synonimem mikrokontrolera. Na rynku zachodzą jednak nieustanne zmiany, bardzo szybko rosną także 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 rdzenie (nie tylko jeden!) Cortex-A7, ale nie tylko...
Producent wchodzi na rynek ze stosunkowo niewielką liczbą modeli mikroprocesorów STM32MP1 (ich zestawienie pokazano w tabeli 1), ale są to układy o przemyślanej budowie i wyposażeniu, co przejawia się m.in. w dostępności wariantów z 1 lub 2 CPU (Cortex-A7, do 650 MHz) i opcjonalnym koprocesorem graficznym, zgodnym 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 umożliwiają dwa interfejsy: równoległy RGB888 lub MIPI-DSI, składający 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. Możliwe jest także bezpośrednie korzystanie z pamięci stałych eMMC, NAND Flash (serial lub parallel), NOR Flash (serial), dopuszczalna 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 HS. Schemat blokowy najbardziej rozbudowanego układu z rodziny STM32MP1 pokazano na rysunku 1.
Każdy model mikroprocesorów STM32MP1 wyposażono w dodatkowy rdzeń Cortex-M4 (do 200 MHz), który stanowi systemową domenę czasu rzeczywistego (rys. 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.
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 - 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 https://wiki.st.com/stm32mpu/index.php/Main_Page).
Szybki start z STM32MP1 ułatwią zainteresowanym użytkownikom także dostępne zestawy sprzętowe:
- zaawansowane z LCD, ewaluacyjne: STM32MP157A-EV1 oraz STM32MP157C-EV1,
- relatywnie tanie startowe, z rodziny Discovery (fot. 3): STM32MP157ADK1 oraz STM32MP157C-DK1.
Prezentowane w artykule mikroprocesory - ze względu na wyposażenie i cechy/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 (fot. 4).
Wprowadzenie przez STMicroelectronics do oferty produkcyjnej mikroprocesorów aplikacyjnych jest dużym krokiem w przyszłość i dowodzi, że STM32 ma duże szanse być domyślną sprzętową platformą nie tylko współcześnie, ale także w przyszłości, która nieuchronnie upowszechni rozwiązania linuksowe. Oczywiście konieczna jest ze strony producenta taka sama konsekwencja w rynkowych działaniach, jak miało to miejsce w przypadku mikrokontrolerów. Trzymamy kciuki!
Piotr Zbysiński