Mikrokontrolery LPC800 firmy NXP z rdzeniem Cortex-M0+: konkurenci dla 8-bitowców w zestawie LPCXpresso
Firma NXP wprowadza do produkcji nową podrodzinę mikrokontrolerów wyposażonych w rdzeń Cortex-M0+, noszącą nazwę LPC800. Ich wewnętrzna architektura nie odbiega znacząco od znanych już na rynku mikrokontrolerów tej firmy z rdzeniami Cortex-M0+, główny nacisk został położony przez producenta na zapewnienie przystępności – także początkującym – tych szybkich 32-bitowców. Dlatego LPC800 są dostępne nawet w obudowach DIP8.
Rys. 1. Schemat blokowy mikrokontrolerów LPC800
Rdzeń Cortex-M0+ w mikrokontrolerach LPC800 może być taktowany sygnałem zegarowym o maksymalnej częstotliwości 30 MHz, wyposażono je w bardzo elastyczny zestaw przydatnych bloków peryferyjnych, w tym podstawowe interfejsy komunikacyjne (tabela 1).
Interesującą cechą mikrokontrolerów LPC800 są wbudowane w pamięć ROM procedury obsługi interfejsów I2C i UART oraz konfiguracji systemu taktującego i trybów oszczędzania energii z predefiniowanymi trybami: wysokiej wydajności (PWR_CPU_PERFORMANCE), zrównoważenia wydajności i poboru prądu (PWR_EFFICIENCY), a także minimalizacji poboru prądu (PWR_LOW_CURRENT). W tej samej pamięci producent umieścił bootloader z algorytmami programowania pamięci Flash (IAP), który jest wyzwalany podobnie jak w starszych mikrokontrolerach LPC1000/2000 – za pomocą wymuszenia „0” na jednej z linii GPIO podczas zerowania. Mikrokontrolery dostępne obecnie na rynku mogą być wyposażone w jedną z dwóch wersji zawartości pamięci ROM, oznaczone numerami: 13.1 (starsza, mikrokontrolery oznaczone symbolem 1A) lub 13.2 (bieżąca, mikrokontrolery oznaczone symbolem 2A).
Tab. 1. Zestawienie wyposażenia poszczególnych typów mikrokontrolerów LPC800
Oznaczenie | Obudowa | Flash [kB] | RAM [kB] | Liczba linii I/O | UART | I²C | SPI | SPI/SSP |
LPC810M021FN8 | DIP8 | 4 | 1 | 6 | 2 | 1 | 1 | 1 |
LPC811M001FDH16 | TSSOP16 | 8 | 2 | 14 | 2 | 1 | 1 | 1 |
LPC812M101FD20 | SO20 | 16 | 4 | 18 | 2 | 1 | 1 | 1 |
LPC812M101FDH16 | TSSOP16 | 16 | 4 | 14 | 3 | 1 | 2 | 2 |
LPC812M101FDH20 | TSSOP20 | 16 | 4 | 18 | 3 | 1 | 2 | 2 |
Mikrokontrolery LPC800 wyposażono ponadto w system sprzętowego wykrywania wzorców bitowych podawanych na linie GPIO, konfigurowalne timery z maszyną stanów sterującą ich pracą, czterokanałowe timery zliczające w dół (mogą spełniać rolę programowalnych generatorów synchronicznych przerwań o różnych interwałach), standardowym wyposażeniem są także komparatory analogowe z programowanym źródłem napięcia referencyjnego i systemem multiplekserów analogowych na wejściach. Pomimo relatywnej prostoty konstrukcyjnej mikrokontrolerów LPC800, producent zdecydował się na wyposażenie ich w sprzętowy generator CRC (obsługujący trzy rodzaje sum kontrolnych: CRC-CCITT, CRC-16 oraz CRC-32), wykonujący obliczenia na danych 8-/16 i 32-bitowych.