MSP432 - mikrokontroler do nowoczesnych aplikacji

MSP432 - mikrokontroler do nowoczesnych aplikacji
Pobierz PDF Download icon

Pod koniec marca firma Texas Instruments wprowadziła do oferty interesujący mikrokontroler. Jest on 32-bitowym następcą 16-bitowego MSP430 i dlatego nadano mu nazwę MSP432. Co ciekawe, pomimo iż MSP430 ma rdzeń natywny opracowany przez Texas Instruments, to jego następcę wyposażono w rdzeń firmy ARM - Cortex-M4F.

Opracowanie przez firmę Texas Instruments mikrokontrolera MSP432 można podsumować słowami "idzie nowe". Projektanci firmy przewidują, że ze względu na wymagania nowoczesnych aplikacji, w niedalekiej przyszłości użytkownicy MSP430 będą musieli zastosować procesor o bardziej przyszłościowej, wydajnej, energooszczędnej architekturze.

Każda osoba zajmująca się układami energooszczędnymi nadzorowanymi przez mikrokontroler wie, że kluczowe znaczenie dla niej ma prędkość wykonywania operacji, ponieważ dzięki temu procesor może bardzo krótko po wyjściu z uśpienia przebywać w trybie aktywnym (przed ponownym uśpieniem), przez co maleje średni pobór energii. Nie dziwi więc fakt, że w celu opracowania energooszczędnego mikrokontrolera projektanci firmy TI zdecydowali się na zastosowanie rdzenia Cortex-M4F, który jeszcze został dodatkowo przez nich "tuningowany".

Jest to na pewno znacznie lepszy wybór, niż rdzeń Cortex-M0 (a nawet Cortex-M0+) opracowany przez firmę ARM w 2008 r. z myślą o urządzeniach, w których dotychczas były stosowane mikrokontrolery 8- i 16-bitowe. Oczywiście, ten rdzeń jest funkcjonalny i z powodzeniem może być stosowany w różnych aplikacjach, ale nie wolno zapominać, że nadciąga era technologii Internet of Things, która wprowadza zupełnie nowe wymagania odnośnie do mocy obliczeniowej i zdolności łączeniowych procesora z otoczeniem.

Rysunek 1. Schemat blokowy mikrokontrolera MSP432

Schemat blokowy mikrokontrolera MSP432 pokazano na rysunku 1. Jego rdzeń Cortex-M4F jest taktowany przebiegiem o częstotliwości 48 MHz. Oprócz dostępnej standardowo w tej architekturze jednostki wspomagającej obliczenia zmiennopozycyjne, producent zadbał o wyposażenie mikrokontrolera, które podwyższa jego walory użytkowe:

  • 32-bitowa, sprzętowa jednostka mnożąca, za której pomocą można uzyskać 32- lub 64-bitowy wynik ze znakiem lub bez niego.
  • Funkcja dodawania lub odejmowania realizowana po wykonaniu mnożenia.
  • 32-bitowa, sprzętowa jednostka wykonująca operację dzielenia.
  • Wsparcie dla arytmetyki nasyceniowej.
  • Rozszerzenie DSP za pomocą: 16/32-bitowego układu MAC; jednocyklowego, podwójnego, 16-bitowego układu MAC (multiply and accumulate); 8/16-bitowy SIMD (single instruction, multiple data - upraszczając, możliwość jednoczesnego wykonywania kilku instrukcji).

Rysunek 2. Wspólne bloki funkcjonalne MSP430 i MSP432

Osoby używające mikrokontrolera MSP430 na pewno rozpoznają niektóre bloki funkcjonalne dostępne w MSP432, ponieważ przeniesiono je z tego mikrokontrolera (rysunek 2) włączając w to bibliotekę sterowników urządzeń I/O, zegar czasu rzeczywistego, timer/generator przebiegu PWM, timer Watchdog, interfejs JTAG, jednostkę szyfrującą zgodnie z algorytmem AES-256, interfejsy: UART, SPI, I²C; szereg modułów analogowych, takich jak komparator, źródło napięcia odniesienia, czujnik temperatury oraz wyprowadzenia I/O z funkcjonalnością interfejsu dotykowego.

Nowy mikrokontroler pobiera bardzo mały prąd - zaledwie 95 µA/MHz w trybie aktywnym oraz 850 nA w trybie uśpienia. Aby osiągnąć tak dobry wynik, firma TI użyła procesu wytwórczego CMOS 90 nm umożliwiającego wykonanie struktur półprzewodnikowych układów scalonych o niewielkim prądzie upływu i funkcjonujących w rozszerzonym zakresie napięcia 1,62...3,7 V (typowo w podobnych mikrokontrolerach ten zakres rozciąga się od 1,8 do 3,5 V). Rozszerzenie zakresu wpływa korzystnie na pobór prądu, a dodatkowo układ może być zasilany z baterii o wyższym napięciu.

W układzie dokonano również szeregu "zabiegów" mających na celu zapewnienie jak najmniejszego poboru energii. Niektóre z nich są oczywiste, inne wymagały pomysłowości i zastosowania pewnych specyficznych rozwiązań.

Aby obniżyć pobór mocy podczas operacji wykonywanych na pamięci RAM, należy oddać użytkownikowi do dyspozycji tyle pamięci operacyjnej wewnątrz układu scalonego, ile wymaga aplikacja, ponieważ zastosowanie pamięci zewnętrznej zwykle podwyższa zużycie energii. Dlatego firma zaimplementowała obszerną pamięć RAM, aktualnie mieszczącą 64 kB, która w kolejnych mikrokontrolerach będzie rozbudowana do 256 kB.

Dodatkowo, pamięć RAM wykonano w taki sposób, że niepotrzebne w trybie uśpienia banki pamięci można odłączyć od zasilania, co obniża pobór o 30 nA na pojedynczy bank. Dla przykładu, mogą w ten sposób być wyłączone obszary pamięci RAM normalnie używane do przechowywania zmiennych tymczasowych lub jako bufory transmisyjne. Na energooszczędność pamięci RAM wpływa też zastosowanie 8-kanałowego kontrolera DMA, który po pierwsze - odciąża CPU, a po drugie - eliminując konieczność jego włączania, ogranicza pobierany prąd.

Pamięć Flash układu MSP432 zorganizowano w dwa niezależne banki, co pozwala na równoczesne wykonywanie operacji odczytu jednego banku i kasowania zawartości innego. Jest to szczególnie użyteczne podczas aktualizowania firmware urządzenia lub akwizycji danych. Dzięki tej funkcjonalności również osiągnięto zmniejszenie poboru energii poprzez skrócenie czasu wykonywania aktualizacji Flash.

Zamiast przechowywać sterowniki urządzeń lub biblioteki kodu w pamięci Flash, producent zapisał je w pamięci ROM. Oprócz zmniejszenia w ten sposób wielkości struktury układu (komórki pamięci ROM są znacznie mniejsze niż pamięci Flash), osiągnięto dalsze zmniejszenie poboru energii - aż o 35% w porównaniu do układu, który zawierałby DriverLib w pamięci Flash. Dodatkowo, pamięć ROM ma czas dostępu blisko 2-krotnie krótszy od Flash, co przyśpiesza wykonywanie programu i ułatwia realizowanie operacji czasu rzeczywistego.

W strukturze MSP432 zaimplementowano dwa stabilizatory: liniowy LDO oraz przetwornicę DC/DC. Gdy jest używany LDO, to mikrokontroler szybciej wychodzi z trybu uśpienia. Gdy jest używana przetwornica DC/DC, to czas przejścia do trybu aktywnego wydłuża się, jednak przetwornica ma większą sprawność, sięgającą nawet 95%. Oba źródła zasilania mają swoje wady i zalety, więc producent oddał do rąk użytkownika możliwość decydowania o wyborze zasilacza i przełączania się pomiędzy nimi, zależnie np. od trybu pracy i wymagań aplikacji.

14-bitowy przetwornik A/C pobiera jedynie 375 µA prądu jednocześnie próbkując 32 kanały wejściowe z prędkością do 1 MS/s. Jest to około pięciokrotnie szybciej od najszybszego MSP430, przy jednoczesnym zachowaniu jego energooszczędności.

Rysunek 3. Energooszczędne tryby pracy MSP432

Jednoczesne próbkowanie wejść pozwala na skrócenie czasu pracy mikrokontrolera i dalsze obniżenie poboru energii. Jakby tego było mało, CPU mikrokontrolera MSP432 pobiera z predykcją do 8 instrukcji z pamięci programu w tym samym czasie, co zmniejsza liczbę cykli odczytu pamięci Flash, podwyższając prędkość wykonywania aplikacji oraz obniżając pobieraną moc. Zmieniono też podejście do trybów pracy energooszczędnej - teraz procesor nie tylko może przebywać w którymś z 5 trybów, ale również dynamicznie zmieniać je w trakcie pracy aplikacji (rysunek 3).

Firma TI nie ograniczyła swoich działań jedynie do ograniczenia poboru mocy przez nowy mikrokontroler. Jako część oprogramowania narzędziowego jest dostarczany program EnergyTrace+, który mierzy i wyświetla profil energetyczny aplikacji oraz pomaga zoptymalizować oprogramowanie użytkownika pod kątem zużycia energii. Ciekawostkę stanowi metoda zastosowana do pomiaru poboru prądu.

Zwykle mierzy się go metodą techniczną za pomocą pomiaru spadku napięcia na rezystorze pomiarowym. Tu jest inaczej - kontrolowana przez oprogramowanie przetwornica DC/DC wytwarza zasilanie dla układu. Czas trwania impulsów jej przebiegu PWM jest zależny od poboru energii przez mikrokontroler, więc pomiar poboru prądu jest wykonywany poprzez pomiar czasu trwania impulsu i odpowiednią konwersję wyniku.

Narzędzia dla mikrokontrolera MSP432 są dostępne w chmurze TI's Cloud IDE, która zawiera między innymi środowisko Code Composer Studio (CCS) Cloud IDE V1.0 oraz program narzędziowy Resource Explorer.

Fotografia 4. MSP-EXP432P401R LaunchPad

Środowisko CCS Cloud IDE jest uruchamiane w przeglądarce, a przez to - pod kontrolą dowolnego systemu operacyjnego. Za jego pomocą można tworzyć, edytować i kompilować projekty on-line. Środowisko IDE pracujące w chmurze jest uzupełnieniem "tradycyjnego" Code Composer Studio i jest ukłonem firmy TI w stronę nowoczesnych technologii i innego stylu pracy programistów, niż było to przed laty. Resource Explorer to oprogramowanie służące do wyświetlania oraz dostępu do zasobów internetowych, bez konieczności ich pobierania na dysk lokalny komputera PC.

Próbki układów MSP432P401RIPZ są dostępne za pomocą strony internetowej firmy TI oraz u jej dystrybutorów. Kolejne układy mikrokontrolerów będą produkowane z różnym wyposażeniem, w obudowach o różnej wielkości, z pamięcią Flash mieszczącą do 256 kB. Konstruktorzy i programiści mogą do pracy wykorzystać MSP-EXP432P401R LaunchPad (fotografia 4) dostępną w cenie ok. 13 USD lub płytkę MSP-TS432PZ100 w cenie ok. 89 USD.

Mimo iż w wielu materiałach reklamowych firma TI porównuje MSP432 ze starszym MSP430, to produkcja procesorów 16-bitowych nadal będzie kontynuowana, a rolą nowego procesora nie jest jej zastąpienie, a jedynie uatrakcyjnienie oferty firmy. Zgodnie z zapowiedziami TI, rozwój MSP430 nadal będzie kontynuowany, równolegle do rozwoju MSP432.

Jacek Bogusz, EP

Artykuł ukazał się w
Maj 2015
DO POBRANIA
Pobierz PDF Download icon
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik wrzesień 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio wrzesień 2020

Świat Radio

Magazyn użytkowników eteru

Automatyka Podzespoły Aplikacje wrzesień 2020

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna wrzesień 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich sierpień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów