Kinetis L - mocny akcent na rynku małych mikrokontrolerów
| TechnikaMimo wielu przemian i lat obecności mikrokontrolerów na rynku elektroniki projektanci przez cały czas poszukują tanich i prostych procesorów do nowo tworzonych aplikacji. Niemniej coraz częściej wyselekcjonowane pozycje nie zawierają już układów 8- i 16-bitowych, mimo że dla wielu podstawowych zadań ich parametry mogłyby wydawać się wystarczające. Projektanci wolą obecnie korzystać z tanich 32-bitowych układów ARM Cortex, które mają dużą wydajność i funkcjonalność i nie zmuszają do kompromisów w zakresie poboru mocy i kosztów projektu.
Firma Freescale włącza się w ten trend, wypuszczając na rynek nową serię mikrokontrolerów Kinetis L z rdzeniem Cortex M0+, młodszego rodzeństwa układów z serii K, bazujących na rdzeniu Cortex-M4. Układy te łączą niski pobór mocy z niewielką ceną i prostotą wykorzystania charakterystyczną dla jednostek 8-bitowych.
Są one przeznaczone do zastosowań w grach, sprzęcie medycznym, urządzeniach AGD, sterownikach i regulatorach, gdzie można osiągnąć lepsze parametry użytkowe niż z jednostkami starszych generacji. Oczywiście mikrokontrolery są tylko częścią tego, co jest niezbędne do realizacji projektów.
Drugą bardzo ważną pozycją są narzędzia projektowe, bez których nie da się wykorzystać nawet najlepszych układów. Dobrą wiadomością jest tutaj to, że seria Kinetis L jest wspierana przez tanie platformy projektowe i oprogramowanie, umożliwiające realizację projektów bez kosztownych inwestycji.
ARM Cortex M0+
Sercem rodziny układów Kinetis L jest rdzeń ARM Cortex M0+, następca dobrze znanego na rynku Cortex M0, przez co większość dostępnych funkcji jest podobna, a zestaw instrukcji jest zgodny w 100%. Niemniej znak plus w oznaczeniu rdzenia sugeruje, że od nowego układu można oczekiwać czegoś więcej.
Jak się można domyślić, zmiany dotyczą lepszej efektywności energetycznej nowego mikrokontrolera. Wydajność układów z rodziny L też jest większa, przez co łączny zysk energetyczny wynikający z mniejszego poboru mocy i z większej wydajności szacowany jest na 50% w stosunku do rozwiązań z rdzeniem Cortex M0.
Zredukowany z 3- do 2-stopniowego pipeline umożliwia szybsze wykonywanie instrukcji. Wydajność sięga 1,77 CoreMark / MHz - około 10% więcej niż dla poprzednika serii L, ale jednocześnie od 2 do 40 razy więcej niż dla najbliższych rywali 8- i 16-bitowych. Nie trzeba się też obawiać większej objętości kodu wynikowego - większość z 56 instrukcji Th umb-2 jest 16-bitowa.
Dostęp do portów I/O i krytycznych zasobów realizowany jest w jednym cyklu, a przestrzeń adresowa dla pamięci jest jednolita aż do 4 GB, bez konieczności dzielenia przestrzeni adresowej na banki i strony. Nowy bufor "micro trace" pozwala na szybszą identyfikację błędów, zapisując informacje niezbędne do śledzenia w zawartej w chipie pamięci SRAM.
Wydajność kluczem do oszczędności energii
Mikrokontrolery z rodziny Kinetis L bazują na 90 nm technologii półprzewodnikowej TFS (Th in Film Storage), zapewniając wysoką sprawność energetyczną, obsługują wiele trybów pracy i zawierają oszczędne energetycznie peryferia. W połączeniu z dużą szybkością przetwarzania rdzenia Cortex M0+ pozwala to zwiększyć czas, który układ spędza w stanie głębokiego uśpienia i minimalizować czas aktywności procesora.
Prowadzi to do wydłużenia żywotności baterii; 13 dodatkowych trybów pracy pozwala projektantowi dopasować wydajność, częstotliwość taktowania, działanie układów peryferyjnych, przerwań i magistrali, aby zapewnić maksymalne wykorzystanie energii źródła zasilania.
Tryby o bardzo niskim poborze mocy obniżają częstotliwość taktowania do 4 MHz z domyślnych 48 MHz w trybie Run, co prowadzi do 95-procentowej redukcji wydajności, ale z możliwością bardzo szybkiego powrotu do stanu pełnej mocy obliczeniowej.
Innymi słowy, 32-bitowa jednostka może być szybko wybudzana na krótki moment niezbędny do obróbki danych i jej czas przetwarzania danych jest znacząco krótszy niż w jednostkach 8- i 16 bitowych. Zwiększanie i zmniejszanie częstotliwości taktowania realizowane jest płynnie, co zapobiega chwilowym przetężeniom w liniach zasilania, które mogłoby prowadzić do zakłóceń przy zasilaniu bateryjnym.
Ponadto mikrokontrolery z serii L wykorzystują techniki bramkowania zasilania i sygnału zegara w odniesieniu do układów peryferyjnych, a linie IO są domyślnie ustawione w stanie nieaktywnym i wymagają programowej inicjalizacji. Największe zmiany w zakresie gospodarowania energią zasilania dotyczą układów peryferyjnych.
Kontrolery DMA, timery i liczniki, układy UART, przetworniki A/C mogą zachować funkcjonalność nawet, gdy mikrokontroler jest w stanie głębokiego uśpienia - mogą one działać bez angażowania CPU.
W tradycyjnych rozwiązaniach mikrokontrolerów główny zegar taktujący i rdzeń muszą zostać aktywowane za każdym razem, nawet gdy zachodzi konieczność realizacji trywialnych operacji, takich jak wysłanie lub odebranie danych, generowanie sygnałów lub próbkowanie sygnału analogowego w przetworniku.
Gdy liczy się długie działanie bez konieczności ładowania, taka autonomia układów peryferyjnych jest ważnym czynnikiem służącym wydłużeniu czasu pracy.
Wreszcie, specjalizowany układ manipulacji bitami (BME) wykonuje operacje AND, OR, XOR oraz realizuje ustawianie, kasowanie bitów bez angażowania zasobów procesora. Taki specjalizowany procesor bitowy pozwala na zmniejszenie rozmiaru kodu i czasu wykonywania o nawet 40% w porównaniu do sytuacji, gdy każde takie zadanie wykonuje rdzeń mikrokontrolera.
Wybór układu
Układy wchodzące w skład rodziny L zawierają pamięć Flash o pojemności zawierającej się od 8 do 256 KB, różnej wielkości obudowy, od 16 do 121 wyprowadzeń, w tym bardzo małe o wielkości 2×2 mm oraz różne zestawy układów peryferyjnych. Zapewnia to łatwość migracji oraz możliwość rozbudowy produktu w miarę zmieniających się potrzeb rynku.
Wspólne cechy rodziny Kinetis L są następujące:
- zasilanie z zakresu 1,71-3,6 V, zakres temperatur pracy od -40°C do 105°C,
- rdzeń ARM Cortex-M0+ taktowany zegarem 48 MHz,
- szybki przetwornik A/C 12/16-bitowy,
- 12-bitowy przetwornik C/A,
- szybki komparator analogowy,
- niskomocowe układy interfejsu dotykowego z opcją wybudzenia ze stanu uśpienia po dotknięciu,
- szeregowe interfejsy komunikacyjne (UART, niskomocowy PUART, SPI i I2C),
- wydajne timery do aplikacji sterujących takich jak sterowanie silnikami.
Seria Kinetis L obejmuje 5 rodzin mikrokontrolerów - KL0 (najprostsze), KL1 (ogólnego przeznaczenia), KL2 (USB), KL3 (znakowy LCD) i KL4 (znakowy LCD & USB). Rodziny KL0/1/2 zostaną wprowadzone do produkcji w końcu 2012 roku, natomiast KL3/4 na początku 2013 roku. KL0 - najprostsze z rodziny Kinetis L, 8-32 KB, 24-48-pinowe obudowy.
Kompatybilność wyprowadzeń z 8-bitowymi układami S08P, kompatybilność programowa z wszystkimi układami L, KL1 - 32-256 KB, dodatkowe układy komunikacyjne i analogowe peryferie, 32-80-pinowe obudowy, kompatybilność programowa i sprzętowa z wszystkimi układami L i rodziną K10 (Cortex-M4), KL2 - 32-256 KB, USB 2.0 full-speed host/device/OTG, obudowy 32-121-pinowe. Kompatybilność programowa i sprzętowa z wszystkimi układami L i rodziną K20 (Cortex-M4).
Narzędzia projektowe dla popularnych mikrokontrolerów z rodziny Kinetis L
Koszty realizacji projektów oraz presja na ich krótki czas realizacji dla popularnych mikrokontrolerów jest bardzo silna. Przekłada się to na wzrost wymagań stawianych narzędziom deweloperskim, które powinny mieć tak samo duży poziom funkcjonalności i łatwości użycia, jak sam mikrokontroler. Projektanci żądają narzędzi tanich, prostych i wydajnych, nierzadko chcą, aby były one dostępne za darmo.
Dlatego w przypadku układów z serii Kinetis L firma Freescale położyła szczególny nacisk, aby te oczekiwania zostały zaspokojone i zapewniały duże możliwości projektowe. Efektem tych działań jest platforma projektowa Freedom. Zestaw o nazwie Freescale Freedom Development Platform i oznaczeniu FRDM-KL25Z obsługuje rodziny mikrokontrolerów K1 i K2.
Mimo niskiej ceny zawiera układy MKL25Z128 taktowane 48 MHz z 128 KB Flash, kontrolerem USB full-speed i wieloma analogowymi i cyfrowymi układami peryferyjnymi w obudowie 80-pinowej LQFP. Obok na płytce zamontowany został 3-osiowy akcelerometr Freescale MMA8451Q, interfejs do pojemnościowego suwaka, dioda LED RGB, port USB do układu MKL25 i interfejs debbugera OpenSDA.
Platforma Freedom ma prostą konstrukcję i zawiera wbudowane aplikacje zmieniające kolor świecenia i jasność diody na podstawie danych z akcelerometru i panelu dotykowego. Większość pinów mikrokontrolera MKL25 jest dostępna na wyprowadzonym złączu, a rozkład sygnałów i jego typ jest kompatybilny z popularnym Arduino R3 i 3,3-woltowymi modułami opracowanymi dla tej platformy.
Ta funkcjonalność zapewnia duże możliwości rozbudowy i dostęp do wielu projektów i opracowań tworzonych przez społeczność projektantów zgromadzoną wokół tej idei. Integralnym elementem wyposażenia zestawu Freedom jest interfejs USB umożliwiający programowanie pamięci Flash mikrokontrolera i debugowanie jego pracy, który nosi nazwę OpenSDA.
Jedną z jego możliwości jest proste programowanie mikrokontrolera z zestawu bez konieczności instalowania jakiegokolwiek oprogramowania - programator jest widziany w systemie jako urządzenie klasy USB mass storage, na które „nagrywa się” plik wynikowy z programem dla mikrokontrolera (S19 lub binarny).
Ułatwia to szybką wymianę oprogramowania na pececie. FRDM-KL25Z może ponadto pracować jako interfejs debuggujący pomiędzy procesorem aplikacji a hostem USB, uwalniając od konieczności zakupu dodatkowego debuggera. Może te realizować konwersję danych szeregowych na USB i pracować w roli rejestratora.
Jest to pierwsza platforma firmy Freescale z wielu planowanych zestawów dla układów Kinetis L. Przykładem może być dostępna dla bardziej zawansowanych układów Kinetis L platforma TWR-KL25Z48M, zawierająca wiele cyfrowych układów komunikacyjnych i analogowych, graficzny wyświetlacz LCD oraz moduły sterowania silnikami.
Oprogramowanie IDE
Układy z rodziny Kinetis L są wspierane i obsługiwane przez środowisko IDE CodeWarrior firmy Freescale (aktualnie dostępne w wersji 10.3) oraz przez podobne oprogramowanie firm takich jak Keil, IAR oraz wiele narzędzi programowych przez firmy partnerskie ARM.
Narzędzia te są dostępne w wersji bezpłatnej o ograniczonej objętości kodu (typowo do 32 lub 64 KB) oraz w wersji płatnej bez ograniczeń i z dodatkowymi funkcjami związanymi z debugowaniem. Oprogramowanie Code Warrior zawiera ponadto bezpłatne narzędzie Freescale Processor Expert.
Jest to graficzne, zautomatyzowane środowisko przyspieszające tworzenie złożonych aplikacji wbudowanych, pozwalające przygotować kod z poziomu GUI. Processor Expert jest także dostępny jako samodzielny dodatek plug-in (Microcontroller Driver Suite) dla IAR i Keil IDE.
MQX Lite - RTOS dla małych mikrokontrolerów
Systemy operacyjne czasu rzeczywistego (RTOS) nie są zwykle wykorzystywane w popularnych i najtańszych mikrokontrolerach, ale aplikacje o zbliżonej funkcjonalności już tak, bo mają one wiele zalet. Poprzez podział oprogramowania na moduły zadaniowe można zapewnić, że krytyczne części programu będą wykonane w odpowiednim czasie, a cała aplikacja może być rozbijana, bez konieczności panowania nad jej całością.
Korzystanie z RTOS poprzez API zapewnia też, że praca nad tworzeniem aplikacji może zostać łatwo podzielona pomiędzy członków zespołu, co zwiększa wydajność pracy i ogranicza liczbę błędów. Do takich zadań nadaje się Freescale MQX Lite, zubożona wersja RTOS MQX. Jest dostępny przez komponent w ramach Procesor Expert, przez co może łatwo zostać dodany do istniejącej aplikacji.
Zajmuje tylko 4 KB. Wspiera on przełączanie wątków w czasie rzeczywistym w oparciu o priorytety i jest w stanie wykonać priorytetowe zadania we właściwym czasie. Bezpłatne MQX Lite pozwala oszczędzić znaczne sumy w porównaniu do tradycyjnych systemów RTOS w wielu mniej złożonych aplikacjach.
Podsumowanie
Liczba dostępnych wersji układów mikrokontrolerów w ramach rodziny Kinetis L sięgnie 200 różnych jednostek, przez co wybór konkretnego modelu może nie być prosty. Aby ułatwić konstruktorom to zadanie, firma Freescale opracowała MCU Solution Advisor - internetowe narzędzie pozwalające na wyszukiwanie parametryczne.
Pierwsza seria układów Kinetis L weszła do produkcji we wrześniu 2012 roku: MKL25Z128VLK4 (128 KB Flash, USB OTG, 80- pinowa LQFP) oraz MKL15Z128VLK4 (ogólnego przeznaczenia, bez USB). Ceny zaczynają się od 1,98 dol. i 1,76 dol. za układ przy seriach 10 000 sztuk. Platforma projektowa Freedom wyceniona została na 10 euro.
Więcej informacji na temat Kinetis L można znaleźć w Internecie pod adresem www.freescale.com/Kinetis/LSeries
Future Electronics
www.futureelectronics.com