Mikrokontrolery i pamięci dla systemów embedded
Niemal wszystkie nowoczesne urządzenia elektroniczne bazują na cyfrowych mikrokontrolerach, nawet jeśli są elementem systemu przetwarzającego sygnały analogowe. Tak szeroko zakrojona ekspansja jest efektem ciągłej ewolucji tych układów. Coraz bogatszy asortyment standardowych bloków peryferyjnych oraz rosnąca wydajność obliczeniowa i efektywność energetyczna, otwierają drogę do coraz to nowych zastosowań. Z drugiej strony, wielu producentów oferuje układy ze skromniejszym wyposażeniem, ale wyspecjalizowane do realizowania określonych funkcji. Wytypowanie odpowiedniego mikrokontrolera do projektu, wśród tylu rozwiązań i wielu dodatkowych uwarunkowań, nie jest łatwe. Wybranie układu z dużą ilością pamięci i wieloma peryferiami jest dobrym podejściem na czas prototypowania. Gdy wersja prototypowa osiąga pełną funkcjonalność, to wtedy można dokładnie określić wymagania sprzętowe i na tej podstawie wytypować bardziej ekonomicznie dopasowane rozwiązanie. Na koniec trzeba jeszcze dokładnie przeanalizować dostępność wybranych układów, ponieważ w ostatnim czasie jest to poważny problem branży elektronicznej. Współpraca z dystrybutorem elementów elektronicznych jakim jest Micros, pozwoli sprawnie przejść przez te etapy, a ze względu na szczególnie bogatą ofertę mikrokontrolerów oraz pamięci umożliwi wybranie optymalnego rozwiązania do każdej aplikacji. Wszechstronne i skalowalne Bardzo popularnymi i chętnie stosowanymi mikrokontrolerami są układy od STMicroelectronics serii STM32F101, wyposażone w wydajny 32-bitowy rdzeń ARM Cortex-M3. Dostępne są w wielu wersjach różniących się listą wbudowanych peryferiów, rozmiarem pamięci oraz ilością wyprowadzeń i obudowami. Dużą zaletą jest ich kompatybilność pinowa – dzięki temu w sytuacji barku zasobów sprzętowych, wystarczy zmienić typ mikrokontrolera bez ingerowania w projekt PCB. Oprogramowanie również nie wymaga głębokich modyfikacji, rekonfiguracja kończy się na zmianie kilku ustawień. Wśród układów serii STM32F101 rozróżniamy 3 grupy: Low-, Medium- oraz High-density, które określają stopień rozbudowania komponentu. Uproszczone zestawienie parametrów pokazuje tabela 1. W ofercie firmy Micros znajduje się kilkanaście typów układów tych serii, dostępnych na stanie magazynowym: https://bit.ly/3hqiit1. Rozbudowane i energooszczędne W wielu aplikacjach zasilanych bateryjnie, wymagana jest wysoka wydajność układu sterującego połączona z niskim zapotrzebowaniem na energię. Takie wymagania spełniają mikrokontrolery z rdzeniem ARM Cortex-M0+. Jedną z pierwszych grup układów tego typu, zastosowanych szeroko m.in w płytkach do prototypowania z rodziny Ardunio, są mikrokontrolery produkcji firmy Atmel (Microchip) – serie układów SAM D20 i SAM D21. Dostępne są w obudowach mających od 32 do 64 wyprowadzeń i działają z maksymalną częstotliwością taktowania wynoszącą 48 MHz. Zestawienie parametrów poszczególnych typów układów pokazuje tabela 2. Wśród zintegrowanych bloków peryferyjnych warto wymienić liczniki z możliwością generowania przebiegów, Atmel Event System służący do komunikacji pomiędzy peryferiami bez udziału CPU, 12-kanałowy kontroler bezpośredniego dostępu do pamięci DMA (tylko SAM D21), Peripheral Touch Controller obsługujący do 256 pół dotykowych, takich jak przyciski, suwaki czy kółka. Ogromną zaletą tej rodziny układów jest wsparcie ze strony środowiska Arduino. Część płytek Arduino bazuje na tych układach (fotografia 1).
Wysokowydajne i szybkie Pomimo dużej mocy obliczeniowej, wspomnianych wcześniej układów, nie nadają się one do realizacji takich zadań, jak przetwarzanie dźwięku czy obrazu, sterowanie silnikami i napędami czy realizacja złożonych funkcji sieciowych. Do takich zadań powstały zaawansowane i szybkie mikrokontrolery, taktowane zegarami o częstotliwości 100 MHz i więcej, wyposażone w wydajne rdzenie, takie jak Cortex-M4 i DSP, czy też zawierające sprzętowe bloki do wykonywania złożonych obliczeń matematycznych, takie jak FPU. Są to specjalizowane układy, przeznaczone do zaawansowanych urządzeń. W ofercie firmy Micros znajdziemy przedstawicieli tej grupy komponentów pochodzące od wszystkich znanych producentów. Wybrane układy tej kategorii, wraz z krótką charakterystyką zawiera tabela 3.
Pamięć – wyznacznik możliwości systemu Zarówno niewielkie sterowniki cyfrowe, jak i minikomputery jednopłytkowe, oprócz mikrokontrolera sterującego zawierają oddzielne układy pamięci. Prostsze konstrukcje mogą zawierać tylko niewielką pamięć do przechowywania konfiguracji i ustawień – często w tej roli stosowana jest pamięć EEPROM z interfejsem I2C lub SPI. Urządzenia przetwarzające dźwięk i obraz wymagają dużej ilości pamięci operacyjnej, ze względu na skomplikowane algorytmy przetwarzania danych tego rodzaju. Zwykle są to układy pamięci SDRAM z interfejsem równoległym pozwalającym na szybkie przesyłanie dużej ilości danych. Najbardziej złożone urządzenia elektroniczne zawierają 3 rodzaje pamięci –wspomnianą już pamięć konfiguracji i ustawień EEPROM, pamięć danych SRAM/SDRAM oraz pamięć programu Flash. Przykładem takiego rozwiązania jest sterownik silnika – ECU, którego fragment płytki PCB został pokazany na fotografii 2. W ofercie firmy Micros dostępnych jest kilkaset układów pamięci różnego typu, wszystkich znanych producentów. Na stanie magazynowym znajdują się takie układy pamięci, jak: • EEPROM serii 24 (z interfejsem I2C) produkcji Microchip, Atmel i ST, • EEPROM serii 25 (interfejsem SPI) produkcji Microchip, Atmel (aż do 64 kB) • EEPROM serii 95 (z interfejsem SPI) produkcji ST, • Flash serii 95 produkcji Microchip, Adesto, • Flash serii 45 produkcji Atmel, Adesto, • Flash serii K9 produkcji Samsung, • Flash serii M29 produkcji STM, Micron (aż do 16 GB), • FRAM (pamięć ferromagnetyczna) serii FM24 i FM25 produkcji Cypress, • MRAM (pamięć magnetorezystancyjna) serii MR produkcji Everspin, • SRAM serii 48 (z interfejsem SPI) produkcji Microchip, • SDRAM serii IS42 produkcji Integrated Silicon Solution, • SDRAM serii MT41, MT48 produkcji Micron, • SDRAM serii W9 produkcji Winbond.
Fotografia 2. Fragment płyki sterownika silnika samochodowego – ECU, z zaznaczonymi kluczowymi komponentami.
Półprzewodnikowy kryzys, którego doświadczamy, zmienił podejście konstruktorów do nowych projektów. Zamiast wybierać mikrokontrolery z dużą nadwyżką wydajności, wyszukują układów, które są mniej popularne i słabiej wyposażone, ale dzięki temu dostępne teraz i w bliskiej przyszłości. Możliwość współpracy z dostawcą o tak bogatej i różnorodnej ofercie, jak Micros, daje dużą swobodę działań i pozwala na optymalizację projektu pod kątem wydajności i kosztów.
|
Fotografia 1. W wielu płytkach rodziny Arduino stosowane są mikrokontrolery serii SAM D21, np. Arduino Zero.
|
Źródło: "Elektronika Praktyczna" 2021/09, s. 52-55. |