Mikrokontrolery LPC1100 – krótko o rodzinie
Mikrokontrolery LPC1100 (rdzeń Cortex-M0) należą do zawłaszczającej coraz większe obszary we współczesnej elektronice rodziny układów wyposażonych w 32-bitowy rdzeń z rodziny Cortex-M opracowanej przez firmę ARM.
Tu kliknij, żeby przejść do strony książki „Mikrokontrolery LPC1100. Pierwsze kroki”. |
|
Nakładem Wydawnictwa BTC ukazała się książka o mikrokontrolerach prezentowanych w tym artykule pt. „Mikrokontrolery LPC1100. Pierwsze kroki„, której autorami są doświadczeni konstruktorzy: Marek Sawicki i Pawł Wujek.
W książce przedstawiono wiele przykładowych aplikacji mikrokontrolera LPC1114, we współpracy m.in. z czujnikiem przyspieszenia MEMS, scalonym zegarem RTC, wyświetlaczem graficznym z SPI, półprzewodnikowym czujnikiem temperatury z I2C, autorzy przedstawili także komunkację mikrokontrolera z PC, a także układami wyposażonymi w interfejs 1-Wire. Czytelników bardziej zaawansowanych zainteresują także przykłady zastosowania mikrokontrolera LPC1114 (rdzeń Cortex-M0) w aplikacjach DSP (jak m.in. synteza i analiza sygnałów). Książka jest dostępna w sprzedaży m.in. w sklepie KAMAMI.pl. |
W mikrokontrolerach LPC1100 zastosowano najprostszy rdzeń z rodziny Cortex-M, oznaczony symbolem Cortex-M0. Jest to rdzeń zoptymalizowany pod kątem:
– minimalizacji kosztu produkcji,
– minimalizacji poboru energii,
– zapewnieniu prędkości wykonywania programu większej niż oferowana przez dostępne obecnie na rynku mikrokontrolery 8- i 16-bitowe.
Najważniejsze różnice pomiędzy rdzeniami Cortex-M przedstawiliśmy w artykule. |
Schemat blokowy mikrokontrolerów z rodziny LPC1100
Rdzeń Cortex-M0 jest znacznie uproszczony w stosunku do najpopularniejszej wersji Cortex-M3 (co wyraźnie widać na mapie instrukcji obsługiwanych przez każdy z rdzeni z rodziny Cortex-M – rysunek poniżej), dzięki czemu powierzchnia zajmowana w strukturze półprzewodnikowej i wynikający z tego koszt gotowego układu producent mógł ustalić na niezwykle atrakcyjnym poziomie (przykładowo: cena detaliczna mikrokontrolera LPC1114FHN33/201, wyposażonego w pamięć Flash o pojemności 32kB i 4kB SRAM wynosi poniżej 9 PLN brutto).
Listy instrukcji obsługiwanych przez rdzenie Cortex-Mx
Jednostki centralne mikrokontrolerów LPC1100 są taktowane sygnałami zegarowymi o częstotliwości do 50 MHz, co zapewnia uzyskanie prędkości wykonywania programów do 45 DMIPS (Dhrystone Milion Instructions per Second) – co daje współczynnik 0,9 DMIPS/MHz, czyli wielokrotnie więcej niż w popularnych mikrokontrolerach 8- lub 16-bitowych. Dużą prędkość wykonywania programów twórcy rdzenia uzyskali m.in. dzięki zastosowaniu 3-poziomowej kolejki pipeline.
Firma NXP przygotowała wortal poświęcony mikrokontrolerom LPC1100, który przedstawiliśmy w artykule. |
Na rysunku poniżej pokazano opublikowane przez NXP wyniki porównania wydajności przykładowych mikrokontrolerów: 8- i 16-bitowego z członkiem rodziny LPC1100L.
Przykładowe porównanie zapotrzebowania na pojemność Flash różnych mikrokontrolerów
Jednym z atutów mikrokontrolerów wyposażonych w rdzeń Cortex-M0 jest mniejszy apetyt na pojemność pamięci Flash, co wynika zarówno z fizycznej budowy instrukcji (łączenie argumentów z rozkazami), sposobu ich wykonywania, a także przemyślanego zestawu instrukcji o nazwie Thumb-2. Integralną częścią rdzenia Cortex-M0 są sprzętowe mechanizmy wspomagające oszczędzanie energii, co zwiększa skuteczność jej oszczędzania w realnych warunkach działania mikrokontrolera. Firma NXP deklaruje pobór mocy oferowanych przez siebie układów na poziomie ok. 130 uA/MHz (rysunek poniżej), w najbliższym czasie spodziewane są wersje pobierające prąd o natężeniu nie większym niż 100 uA/MHz..
Przykładowe porównanie poboru mocy przez różne mikrokontrolery