Zmiany w podejściu producentów (nie da się ukryć - jest to wynik silnej konkurencji na rynku) powodują, ze wystarczy wydać kilkadziesiąt złotych, żeby móc rozpocząć pełnowartościowe próby budowy własnych 32-bitowych urządzeń.
Ponieważ obecnie praktycznie każdy producent mikrokontrolerów ma w swojej ofercie modele 32-bitowe, postanowiliśmy przygotować ekspresowy przewodnik po dostępnych (takie kryterium przyjęliśmy jako bazowe) zestawach startowych i ewaluacyjnych.
Przygotowując tę prezentację skupiliśmy się na mikrokontrolerach popularnych i dostępnych w naszym kraju, pominęliśmy egzotyczne rozwiązania, nawet jeśli bazują one na popularnych rdzeniach z rodzin Cortex-M (jak FM0/FM3/FM4 firmy Spansion, TX00/TX03/TX04 z oferty Toshiba czy niedawno pokazane na rynku mikrokontrolery firmy Ambiq Micro). W prezentacji pominęliśmy także zestawy dedykowane mikrokontrolerom bazującym na rdzeniach starszej generacji (jak Freescale ColdFire, LPC2000 z oferty NXP, TX09 firmy Toshiba, V850Ex firmy Renesas itp.).
Przyjęte przez autora kryteria eliminacji mają na celu skupienie uwagi Czytelników EP na trendach wyraźnie dominujących we współczesnej elektronice, zapewnienie maksymalnej czytelności przeglądu i przedstawieniu - subiektywnie - najbardziej atrakcyjnych rozwiązań dostępnych na rynku.
Zaczynamy od lidera rynku - firmy STMicroelectronics - która oferuje szeroką gamę zestawów dla mikrokontrolerów...
Bezpłatne środowiska programistyczneWszystkie firmy, których zestawy przedstawiliśmy w tej części artykułu oferują użytkownikom bezpłatne narzędzia programistyczne, warto zwrócić uwagę na m.in.:
|
STMicroelectronics STM32
Firma STMicroelectronics oferuje dwie rodziny tanich zestawów startowych dla mikrokontrolerów STM32: STM32NUCLEO oraz STM32DISCOVERY. W ich ramach dostępne są platformy wyposażone mikrokontrolery STM32 z rdzeniami od STM32F0 (Cortex-M0) aż po STM32F4 (Cortex-M4F).
Zestawy NUCLEO i DISCOVERY różnią się między sobą wyposażeniem i koncepcją ogólną:
- Zestawy DISCOVERY różnią się między sobą rozmieszczeniem wyprowadzeń (elektrycznym i mechanicznym), nie ma więc możliwości wygodnego przygotowania jednej płyty bazowej dla wszystkich dostępnych wariantów. Co więcej, sposób rozmieszczenia wyprowadzeń nie ma - choćby przybliżonego - odpowiednika w jakimkolwiek standardzie rynkowym. Co więcej, odmienne jest także wyposażenie tych zestawów, trudno jest więc używać zestawów DISCOVERY wymiennie, dobierając cechy i parametry mikrokontrolera z rodziny STM32 do wymogów aplikacji. Zestawienie dostępnych wersji STM32DISCOVERY oraz ich podstawowych cech i wyposażenia znajduje się w tabeli 1. Na fotografii 1 pokazano wygląd najprostszego zestawu z tej rodziny (STM32F0DISCOVERY), na fotografii 2 pokazano znacznie bardziej rozbudowany zestaw z mikrokontrolerem STM32F429 (STM32F429I-DISCO), a na fotografii 3 - zestaw najnowszy zestaw z rodziny DISCOVERY z mikrokontrolerem wyposażonym w mikrokontroler z rdzeniem Cortex-M0+ i bardzo efektowny wyświetlacz e-paper (32L0538DISCOVERY).
- Zestawy NUCLEO przygotowano kierując się wymogiem ich kompatybilności z systemem Arduino, co pozwoliło przygotować tanie i proste w budowie i eksploatacji płytki, na których montowane są mikrokontrolery z różnych podrodzin STM32 (wyposażone w różne rdzenie Cortex-M). Układy te łączy fakt zamknięcia struktur półprzewodnikowych w obudowach LQFP64. Ze względu na duża liczbę wyprowadzeń GPIO dostępnych w tych obudowach, producent zestawów zdecydował się na wyposażenie zestawów w dodatkowe złącza, które nazwano Morpho (zewnętrzne szpilki gold-pin widoczne na fotografii 4). Nie zdobyły one dotychczas specjalnej popularności, nie jest także jasna ich przyszłość, bowiem producent zapowiada nowe wersje NUCLEO, które - być może - będą ich pozbawione. Zestawienie dostępnych wersji STM32DISCOVERY oraz ich podstawowych cech i wyposażenia znajduje się w tabeli 2.
Kompilator w chmurzeFirma ARM przygotowała i bezpłatnie udostępniła sieciowy kompilator dla mikrokontrolerów wyposażonych w rdzenie Cortex-M, dostępny pod adresem www.mbed.org. Obecnie środowisko to obsługuje 54 typy zestawów startowych, wyposażonych w mikrokontrolery pochodzące od różnych producentów. |
Wszystkie zestawy startowe oferowane przez STMicroelectronics są wyposażone w programator-debugger (zgodny z STLink z interfejsami SWD lub JTAG), który jest uznawany jako natywny interfejs przez wszystkie popularne środowiska programistyczne.
Niektóre płytki STM32NUCLEO są przystosowane do bezpośredniej współpracy ze środowiskiem programistycznym mbed, w związku z czym są wyposażone w nieco zmodyfikowany interfejs ST-Link, który bezpośrednio obsługuje procedury komunikacyjne pomiędzy pamięcią Flash mikrokontrolera i środowiskiem programistycznym.
Jak widać, zarówno ze względu dobre wyposażenie, suport świadczony przez producenta i niskie ceny zestawów są one doskonałymi platformami startowymi zarówno dla początkujących, jak i zaawansowanych programistów. Zarówno STM32DISCOVERY jak i STM32NUCLEO pozwalają na szybkie i praktycznie beznakładowe rozpoczęcie pracy, oferując jednocześnie wygodny dostęp do zasobów wielu wersji mikrokontrolerów STM32.
Dodatkowe informacje o zestawach startowych oferowanych przez firmę STMicroelectronics można znaleźć pod adresami: |
Freescale KINETIS
Z myślą o wsparciu promocji mikrokontrolerów KINETIS, ich producent - firma Freescale - przygotowała rodzinę zestawów FREEDOM (FRDM), które są zgodne mechanicznie i elektrycznie z systemem Arduino R3, oferując przy tym wyposażenie znacznie bogatsze niż oryginał i wiele zestawów oferowanych przez firmy konkurujące na rynku mikrokontrolerów z rdzeniami Cortex-M.
Obecnie producent oferuje trzy rodziny zestawów FRDM, w których zastosowano mikrokontrolery pochodzące z trzech rodzin KINETIS:
- KINETIS E (Cortex-M0+) - są to zestawy oznaczone prefiksem FRDM-KE, wyposażone w mikrokontrolery 5-woltowe.
- KINETIS L (Cortex-M0+) - zestawy oznaczone prefiksem FRDM-KL, wyposażone w mikrokontrolery energooszczędne.
- KINETIS K (Cortex-M4/4F) - zestawy oznaczone prefiksem FRDM-K, wyposażane w mikrokontrolery o dużej mocy obliczeniowej.
Dodatkowe informacje o zestawach startowych oferowanych przez firmę Freescale można znaleźć pod adresem: |
Wyposażenie zestawów FREEDOM jest w większości modeli takie samo lub bardzo podobne, w jego skład wchodzą m.in.: touch-slider, akcelerometr MEMS MMA8451Q, LED-RGB, transceiver IrDA, w niektórych wersjach także numeryczny LCD (modele FRDM-KL43Z oraz FRDM-KL46Z), cyfrowy kompas MEMS (FXOS8700CQ), sensor oświetlenia, interfejs CAN, złącze kart microSD oraz interfejs Ethernet.
Format mechaniczny wszystkich dotychczas produkowanych zestawów FREEDOM jest jednakowy, zestawy różnią się wyglądem ze względu na stosowane w nich peryferia: przykładowo na fotografii 5 pokazano wygląd najpopularniejszego zestawu z tej serii FRDM-KL25Z, na fotografii 6 wersję z szybkim (120 MHz) mikrokontrolerem MK64FN1M0V wyposażonym w interfejs ethernetowy (zestaw FRDM-K64F), na fotografii 7 jeden z zestawów FREEDOM wyposażonym w monochromatyczny, cyfrowy wyświetlacz LCD (FRDM-KL46Z).
Wszystkie wersje zestawów FRDM są wyposażone w pokładowy programator-debugger o nazwie OpenSDA (dostępne są ich trzy wersje - tabela 4), a wybrane modele są przystosowane do bezpośredniej współpracy ze środowiskiem mbed.
Budowa mechaniczna zestawów FREEDOM umożliwia używanie do współpracy z nimi shieldów zgodnych z Arduino. Ważną cechą OpenSDA jest oraz chroniony przed ingerencją użytkownika bootloader, który umożliwia zapisanie programu w pamięci Flash docelowego mikrokontrolera metodą drag-and-drop bez używania jakichkolwiek zewnętrznych programów lub środowisk programistycznych.
Płytki FREEDOM są widziane w systemie operacyjnym jako urządzenie USB typu mass-storage). Standard OpenSDA jest traktowany jako natywne rozwiązanie (co czasami wymaga doinstalowania niewielkich aplikacji) przez wiele środowisk programistycznych, ale jego konstrukcja pozwala na łatwe zastąpienie go - poprzez wymianę firmware - przez bardziej popularne interfejsy, jak choćby J-Link firmy Segger.
Dodatkowe informacje o zestawach startowych oferowanych przez firmę Infineon można znaleźć pod adresem: |
Infineon XMC1000/XMC4000
Pomimo konserwatywnego podejścia do rynku, 32-bitowe mikrokontrolery z rdzeniami Cortex-M trafiły także do oferty firmy Infineon. Produkuje ona dwie główne rodziny takich mikrokontrolerów:
- XMC1000 z rdzeniem Cortex-M0 (32 MHz).
- XMC4000 z rdzeniem Cortex-M4/Cortex-M4F (80 lub 120 MHz).
Dla mikrokontrolerów XM1000 producent opracował:
- Niezwykle popularny, miniaturowy zestaw XMC2go (fotografia 8), który poza programatorem-debuggerem J-Link, mikrokontrolerem XMC1100 i dwiema LED nie ma żadnego wyposażenia pokładowego.
- Serię płytek XMC1100/XMC1200/ XMC1300 Boot Kit, z których XMC1100 Boot Kit - fotografia 9 - jest zgodny z Arduino (pozostałe niestety nie, pomimo zbliżonego formatu mechanicznego). Zestawy te - podobnie jak XMC2go - wyposażono we wbudowany programator-debugger zgodny z interfejsem J-Link.
Z myślą o mikrokontrolerach XMC4000 producent przygotował dwa zestawy "adruino-pochodne":
- XMC4500 Relax Kit (fotografia 10), którego wyposażenie pokładowe jest skromne (dwa przyciski, dwie LED, USB-OTG, interfejs Ethernet), ale dzięki zgodności mechanicznej i elektrycznej z Arduino zestaw ten ma duże możliwości aplikacyjne.
- XMC4500 Relax Kit Lite, który jest bardzo podobny wyżej opisanego, ale pozbawiono go interfejsu Ethernet, co zmniejsza możliwości aplikacyjne.
Obydwa Relax Kity wyposażono w programatory-debuggery Segger J-Link.
Piotr Zbysiński, EP