Freescale Kinetis KwikStik: Cortex-M4 dla każdego

Kontroler pamięci FlexMemory umożliwia użytkownikowi definiowanie niektórych jej bloków jako pamięci EEPROM o typowej liczbie cykli kasowanie/zapis wynoszącej 1 mln, charakteryzującej się dodatkowo bardzo krótkim czasem kasowania i zapisu – nie przekracza on 1,5 ms/bajt.

 

Fot. 3. Zestaw KwikStik wyposażono m.in. w 6 przełączników bezstykowych (pola czujnikowe widoczne po obydwu stronach wyświetlacza)

Fot. 3. Zestaw KwikStik wyposażono m.in. w 6 przełączników bezstykowych (pola czujnikowe widoczne po obydwu stronach wyświetlacza)

 

 

Z obydwu stron LCD ulokowano pola czujników zbliżeniowych (fotografia 3), które spełniają rolę bezstykowej klawiatury (obsługiwanej przez mikrokontroler K40) wykorzystywanej w przykładowych aplikacjach, mogą z nich korzystać także aplikacje użytkowników.
Szczególne możliwości rdzenia Cortex-M4 ujawniają się w aplikacjach wymagających obróbki sygnałów (DSP), co ułatwia wyposażenie Kwikstika w mikrofon analogowy oraz analogowy tor wyjściowy audio bazujący na wewnętrznym przetworniku C/A z wyjściem sygnału na złączu mini-jack, na które sygnał jest podawany z wyjścia wzmacniacza mocy z regulacją głośności. Akustyczną sygnalizację zdarzeń zapewnia wbudowany w zestaw miniaturowy głośnik elektromagnetyczny, którego skuteczność akustyczną poprawia otwór wycięty w silikonowej osłonie, dzięki czemu po jego założeniu natężenie emitowanego sygnału nie jest tłumione.

 

Fot. 4. Złącze krawędziowe KwikStika pasuje do płytki <EM data-src=

 

 

W skład standardowego wyposażenia Kwikstika wchodzi także złącze karty MicroSD, akumulator litowy ułatwiający testowanie trybów oszczędzania energii, złącze USB umożliwiające wykorzystanie interfejsu USB FS wbudowanego w mikrokontroler K40X256, a także prosty, optyczny interfejs komunikacyjny, który może pracować w trybie IrDA.

 

Kinetisy: dla każdego coś dobrego z Cortex-M4 w środku

Rodzina mikrokontrolerów z rdzeniem Cortex-M4, produkowanych przez Freescale, nosi nazwę Kinetis. W jej skład wchodzi sześć podrodzin oznaczonych symbolami K10, K20, K30, K40, K60 i K70, które różnią się wyposażeniem wewnętrznym i wynikającym z niego ukierunkowaniem aplikacyjnym.
Podrodziny K10 i K20 (w planach producenta taktowane sygnałem zegarowym od 50 do 150 MHz) są ze sobą praktycznie identyczne (i wymienne), najistotniejszą różnicą jest wyposażenie K20 w interfejs USB-OTG. Obydwie podrodziny mikrokontrolerów – podobnie jak największe z podrodziny K60 – wyposażono w kontrolery pamięci NAND Flash i zmiennoprzecinkowe jednostki obliczeniowe FPU. Wszystkie mikrokontrolery z rodziny Kinetis wyposażono w podwójny interfejs CAN2.0B, ich standardowym wyposażeniem jest także wiele bloków i interfejsów peryferyjnych, w tym 16-bitowy przetwornik A/C, wzmacniacze analogowe o programowanym wzmocnieniu, szybkie komparatory analogowe, a także interfejsy do obsługi bezstykowych paneli użytkownika. Mikrokontrolery Kinetis wyposażono także w bogaty zestaw interfejsów komunikacyjnych: I2C, SPI, UART, generator-kontroler CRC, cyfrowy interfejs audio I2S, timery z generatorami PWM przeznaczone do sterowania pracą silników elektrycznych, a także sprzętowy interfejs kart SDHC.
Mikrokontrolery Kinetis z podrodzin K30 i K40 (przystosowane do taktowania sygnałami o częstotliwości w zakresie od 50 do 100 MHz) wyposażono w sprzętowy sterownik segmentowych LCD, pozbawiono je natomiast jednostki FPU i kontrolera NAND Flash. Najlepiej wyposażone są mikrokontrolery z podrodziny K60 (w planach producenta częstotliwości taktowania rdzenia będą wynosić od 100 do 180 MHz): oprócz sprzętowego bloku kryptograficznego (obsługuje algorytmy DES, 3DES, AES, MD5, SHA-1 oraz SHA-256) wbudowano w nie moduł MAC interfejsu Ethernet 10/100Mb/s (zgodny z IEEE1588, interfejsy MII i RMII) oraz kontroler pamięci SDRAM. Obsługuje on pamięci DRAM: LPDDR, DDR oraz DDR2 o 16-bitowej magistrali danych i łącznej pamięci do 256 MB. Niektóre wersje mikrokontrolerów wyposażono w kontroler magistrali zewnętrznej FlexBus, dzięki któremu CPU uzyskuje dostęp do zewnętrznej przestrzeni adresowej wynoszącej 2 GB w konfiguracji 8-/16- i 32-bitowej. Można w niej ulokować m.in. pamięci PROM, EPROM, Flash, SRAM i EEPROM, a także dowolne inne peryferia.
Mikrokontrolery z rodziny K70 są poszerzonymi funkcjonalnie wersjami układów K60, dodatkowo wyposażonymi w kontroler LCD SVGA.

 

Konstruktorzy zestawu wyposażyli go w złącze TWRPI (Tower Plug-in) oraz – co wydaje się niezwykle trafionym pomysłem – także w złocone złącze krawędziowe, umożliwiające montaż zestawu w płycie elevator (boczne płytki nośne – fotografia 4) zestawu Tower. Dzięki temu mikrokontroler zamontowany na Kwikstiku ma możliwość korzystania z większości modułów peryferyjnych systemu Tower, w tym m.in. interfejsów bezprzewodowych, wyświetlaczy graficznych, CAN, RS485/232 itp.

 

Fot. 5. Integralnym wyposażeniem KwikStika jest interfejs programująco-debugujący J-Link

Fot. 5. Integralnym wyposażeniem KwikStika jest interfejs programująco-debugujący J-Link

 

 

Konstruktorów przyzwyczajonych do możliwości debugowania pracy mikrokontrolera w systemie ucieszy zapewne wyposażenie Kwikstika w interfejs J-Link firmy Segger (fotografia 5, co ciekawe zaimplementowano go w mikrokontrolerze MCF51JM128VLD), dzięki czemu zestaw może współpracować z wieloma popularnymi środowiskami programistycznymi (m.in. Keil µVision, IAR Workbench). Interfejs ten jest obsługiwany także przez natywne środowisko programistyczne opracowane przez firmę Freescale (Code Warrior), które producent oferuje w bezpłatnej wersji Special Edition z ograniczeniem do 128 kB objętości pliku wynikowego. Za pomocą zintegrowanego J-Linka można zarówno programować pamięć Flash mikrokontrolera jak i monitorować jego pracę.
Na koniec prezentacji Kwikstika bardzo ważna informacja: kompletny zestaw kosztuje poniżej 140 PLN brutto, co – biorąc pod uwagę jego wyposażenie – czyni z niego jedno z najbardziej atrakcyjnych rozwiązań tego typu na rynku. Czy się przyjmie w naszym kraju? Na pewno ma duże szanse.

Do pobrania

O autorze