Firma, mająca do tego czasu w zakresie 32-bitowych mikrokontrolerów ARM układy z rdzeniami ARM7TDMI, ARM926EJ-S i Cortex-M0, postawiła na szybki rozwój swojej oferty ARM, pomijając mikrokontrolery z rdzeniem Cortex-M3 i stawiając od razu na znacznie nowocześniejsze Cortex-M4 (rysunek 1).
Są to mikrokontrolery, których trzonem jest Cortex-M3, ale wzbogacone o koprocesor zmiennoprzecinkowy FPU i procesor DSP wspomagający cyfrowe przetwarzanie sygnałów. Producent czasami oznacza ten typ rdzenia Cortex-M4F, gdzie litera F oznacza właśnie obecność koprocesora FPU. Wszystkie mikrokontrolery Cortex-M4 Nuvotona są właśnie tego typu.
Obecnie w ofercie firmy jest już 6 serii tych układów: M451, M451M, M452, M453, NUC442 i NUC472, a planowane są następne.
Mikrokontrolery NuMicro Cortex-M4 mogą pracować z zegarem do 72 MHz (serie M45x) lub 84 MHz (serie NUC4xx), w szerokim zakresie napięcia zasilania 2,5...5,5 V, a ich prędkość przetwarzania wynosi 1,25 DMIPS/MHz. Koprocesor zmiennoprzecinkowy FPU działa na 32-bitowych liczbach pojedynczej precyzji zgodnych ze standardem IEEE 754.
Układy mają możliwość obsługi aż do 240 zewnętrznych przerwań i są wyposażone w liczne peryferia i szybkie interfejsy komunikacyjne, dzięki czemu charakteryzują się doskonałą funkcjonalnością i możliwościami łączeniowymi ze światem zewnętrznym.
Są przeznaczone głównie do aplikacji wymagających wielu interfejsów komunikacyjnych i dużej mocy obliczeniowej przy niewielkim poborze prądu i niewielkiej liczbie niezbędnych elementów zewnętrznych. Znajdują zastosowanie zarówno w urządzeniach konsumenckich, jak i przemyśle motoryzacyjnym, systemach zarządzania energią, urządzeniach do przetwarzania dźwięku i urządzeniach automatyki przemysłowej. Pracują w poszerzonym przemysłowym zakresie temperatury -40...+105°C, co umożliwia ich zastosowanie nawet w bardzo wymagających aplikacjach.
Niewątpliwą zaletą mikrokontrolerów NuMicro Cortex-M4 jest ich szeroki zakres napięcia zasilania, aż do 5,5 V, co jest bardzo cenione przez konstruktorów, gdyż umożliwia łatwe zastosowanie tych układów w aplikacjach zarówno 3-woltowych, jak i 5-woltowych.
Obecnie większość dostępnych na rynku mikrokontrolerów z rdzeniem Cortex-M4, pochodzących od największych producentów na świecie, pracuje przy napięciu zasilania maks. do 3,6 V (np. Atmel - serie SAM G i SAM4L/E/N/S, ST - serie STM32F3/F4, NXP - serie LPC4000/4300 czy Infineon - serie XMC4100/4200/4400/4500). Na tym tle wyróżnia się właśnie firma Nuvoton, stosująca zasilanie aż do 5,5 V w zdecydowanej większości swoich mikrokontrolerów rodziny NuMicro, zarówno Cortex-M4, jak i Cortex-M0.
Na rysunku 2 pokazano schemat blokowy układów z najbardziej rozbudowanej serii NUC472. Widać na nim znaną z rodziny Cortex-M0 Nuvotona architekturę, w której wewnętrzne bloki systemowe są podłączone do magistrali AHB (Advanced High-Performance Bus), a układy peryferyjne do magistrali APB (Advanced Peripheral Bus).
Architektura pozostałych serii mikrokontrolerów Cortex-M4 jest podobna, poszczególne serie różnią się głównie wyposażeniem w interfejsy i układy peryferyjne. Oczywiście w ślad za tym idzie również wielkość obudowy, która zmienia się od 48- do 176-końcówkowej. Szczegółowa konfiguracja produkowanych typów mikrokontrolerów jest przedstawiona w tabelach 1 i 2.
Mikrokontrolery serii M45x w ramach standardowego wyposażenia mają m.in.:
- 256/128 kB wewnętrznej pamięci programu Flash (APROM) programowanej w trybach ISP/ICP/IAP oraz 32 kB pamięci SRAM,
- do 85 wyprowadzeń I/O ogólnego przeznaczenia,
- 32-bitowe układy czasowe z 8 -bitowym preskalerem,
- 16-bitowe generatory PWM,
- interfejsy: UART (z możliwością obsługi trybów IrDA SIR, LIN i RS-485), SC (zgodny z ISO-7816), SPI, I²C i I²S,
- wielokanałowy, 12-bitowy przetwornik A/C typu SAR o prędkości przetwarzania 1 Msps (1 milion próbek/s),
- 12-bitowy przetwornik C/A,
- komparatory analogowe,
- sterownik przycisków dotykowych obsługujący do 16 przycisków.
Pod względem wyposażenia najuboższą serią jest M451, która jest produkowana również w wersji M451M, kompatybilnej pod względem rozmieszczenia końcówek z serią Nuvotona M051 z rdzeniem Cortex-M0. Seria M452 jest dodatkowo wyposażona w interfejs USB 2.0 FS OTG (On-The-Go, czyli z funkcją hosta), a seria M453 ma ponadto popularny interfejs komunikacyjny CAN 2.0. Układy te są produkowane w obudowach LQFP48/64/100.
Mikrokontrolery serii NUC4xx są rozbudowaną wersją serii M45x. Ich standardowe wyposażenie to:
- 512/256 kB wewnętrznej pamięci programu Flash (APROM) programowanej w trybach ISP/ICP/IAP oraz 64 kB pamięci SRAM,
- do 144 końcówek I/O ogólnego przeznaczenia,
- 32-bitowe układy czasowe z 8-bitowym preskalerem,
- 16-bitowe generatory PWM,
- interfejsy: UART (z możliwością obsługi trybów IrDA SIR, LIN i RS-485), SC (zgodny z ISO-7816), SD, SPI, I²C, I²S, CAN, EBI i USB 2.0 FS z funkcją OTG,
- podwójny wielokanałowy 12-bitowy przetwornik A/C typu SAR o prędkości przetwarzania 800 ksps (800 k próbek/s),
- komparatory analogowe,
- wzmacniacze operacyjne (tylko w niektórych typach mikrokontrolerów),
- interfejs przetwornika obrazowego CMOS o rozdzielczości 32 M pikseli,
- enkoder kwadraturowy (QEI) - przetwornik położenia i prędkości na sygnał cyfrowy,
- sprzętowy akcelerator kryptograficzny obsługujący szyfrowanie i deszyfrowanie danych wg algorytmów DES/TDES, AES i SHA.
Ponadto, mikrokontrolery z serii NUC472 są wyposażone w kontroler Ethernet 10/100 MAC zgodny ze standardem IEEE 802.3-2002, mający wyjścia interfejsów MII i RMII do połączenia z zewnętrznym interfejsem fizycznym Ethernet PHY. Układy z serii NUC4xx są produkowane w obudowach LQFP64/100/128/144/176.
System zegarowy wszystkich mikrokontrolerów NuMicro Cortex-M4 jest konfigurowalny przez użytkownika i składa się z 5 źródeł sygnałów:
- zewnętrznego szybkiego oscylatora kwarcowego o częstotliwości 4~24 MHz (HXT) do operacji systemowych,
- zewnętrznego oscylatora kwarcowego o częstotliwości 32768 Hz (LXT) wykorzystywanego do napędzania zegara czasu rzeczywistego (RTC) i do pracy w trybie oszczędzania energii,
- wewnętrznego szybkiego oscylatora RC o częstotliwości 22,1184 MHz (HIRC) do operacji systemowych; jego stabilność jest lepsza od 2% w pełnym zakresie temperatury pracy,
- wewnętrznego oscylatora RC o częstotliwości 10 kHz (LIRC) dla funkcji Watchdog i Wake-Up,
- programowalnej pętli PLL pracującej do częstotliwości 144 MHz, zasilanej jednym z dwóch szybkich oscylatorów: kwarcowym (HXT) lub RC (HIRC), wykorzystywanej jako dokładne i stabilne źródło zegara systemowego.
Układy mają dwa tryby obniżonego poboru mocy: tryb bezczynności Idle oraz tryb wyłączenia Power Down, polegający na wyłączeniu obu szybkich oscylatorów HXT i HIRC oraz zegarów niektórych układów peryferyjnych. W tym drugim trybie pobór prądu wynosi ok. 20 mA w przypadku serii M45x oraz ok. 60 mA w serii NUC4xx.
Dla mikrokontrolerów Cortex-M4 firma Nuvoton opracowała także łatwe w obsłudze i funkcjonalne narzędzia projektowe, zarówno sprzętowe, jak i programowe. Są to zestawy uruchomieniowe NuTiny-SDK-NUC442 dla serii NUC442 i NuTiny-SDK-NUC472 dla obu serii NUC442/472. Zestawy zawierają moduły ewaluacyjne, odpowiednio NuTiny-EVB-NUC442 lub NuTiny-EVB-NUC472, połączone z modułem debuggera/programatora Nu-Link-Me, wyposażonego w interfejs USB (fotografia 3).
Są one wspierane przez środowiska programistyczne firm zewnętrznych, takie jak Keil RVMDK, IAR EWARM i CooCox CoIDE (menedżery projektu, edytory kodu, kompilatory i debuggery). W ofercie Nuvotona są też programatory wieloukładowe NuGang-NUC442/472 dla mikrokontrolerów NUC442/472 w kilku wersjach z różnymi podstawkami ZIF, które umożliwiają jednoczesne programowanie 4-ch układów. Wymienione narzędzia pozwalają konstruktorom na znaczne skrócenie czasu projektowania i szybsze wprowadzanie na rynek nowych produktów.