[WIDEO] KINETIS FREEboard – charakterystyka zestawu + demo

Mikrokontrolery z rodziny KINETIS firmy Freescale zdobywają w ostatnim czasie coraz większą popularność, wynikającą z prostoty ich obsługi, istnienia szerokiej gamy narzędzi programistycznych oraz wyjątkowo niskiej ceny w porównaniu do oferowanych możliwości. Istotny wpływ na ten proces mają także zestawy rozwojowe, które oprócz samych mikrokontrolerów wyposażone są jeszcze w różnego rodzaju peryferia, m.in. w diody, przyciski, czujniki i wyświetlacze. Jednym z takich zestawów, który niebawem pojawi się na rynku, jest KINETIS FREEboard produkowany przez firmę KAMAMI.

Do pobrania przygotowaliśmy prosty projekt testowy, przygotowany w środowisku ARM-MDK, który ilustruje sposób sterowania linii GPIO w mikrokontrolerach KINETIS.

 

Fot. 1. Wygląd płytki bazowej zestawu FREEboard

 

Pierwsza część nowej platformy – płytka bazowa (fotografia 1) – zawiera niezbędne elementy potrzebne do zapewnienia mikrokontrolerowi podstawowego otoczenia niezbędnego do rozpoczęcia pracy, w jego skład wchodzą:

  • mikrokontroler MKL25Z128VLK4 z rdzeniem ARM Cortex-M0+ (maksymalna częstotliwość taktowania wynosi 48 MHz) oraz 128 kB pamięci Flash i 16 kB pamięci SRAM,
  • 20-pinowe złącze umożliwiające podłączenie programatora,
  • układ 4 kolorowych złącz, mechanicznie i elektrycznie zgodny z systemem Arduino,
  • 2 złącza miniUSB pozwalające zasilić układu, z których tylko jedno fizycznie umożliwia komunikację z komputerem,
  • 1 złącze dla magistrali SPI i 1 dla magistrali I2C,
  • gniazdo na kartę microSD,
  • 2 zielone i 1 trójkolorowa RGB diody LED,
  • rezonator kwarcowy 8 MHz,
  • zworka JP2 umożliwiająca pomiar prądu pobieranego przez mikrokontroler,
  • zworka JP1 pozwalająca wybrać źródło zasilania mikrokontrolera (zewnętrzne lub z USB).

Druga część – ekspander (fotografia 2) – montowana jest na złączach płytki bazowej i stanowi jej rozszerzenie o dodatkowe trzy sensory MEMS:

  • MAG3110 – 3-osiowy czujnik pola magnetycznego,
  • MMA8451Q – 3-osiowy akcelerometr z wybieralnym zakresem pomiarowym ±2/±4/±8g,
  • MPL3115 – cyfrowy czujnik ciśnienia bezwzględnego z funkcją wysokościomierza i termometru.

Czujniki pola magnetycznego oraz ciśnienia są bezpośrednio podłączone do płytki bazowej zestawu, natomiast w celu skomunikowania mikrokontrolera z akcelerometrem MMA8451Q potrzebne są dodatkowe przewody łączące magistrale I2C obu płytek.

 

Fot. 2. Wygląd płytki ekspandera

 

Bardziej obeznani użytkownicy mikrokontrolerów firmy Freescale, a w szczególności rodziny KINETIS, dostrzegą duże podobieństwo zestawu FREEboard do FRDM-KL25Z. W porównaniu do tego drugiego nowa platforma nie posiada wbudowanego programatora, ale wprowadza kilka dodatkowych elementów, jak np. złącza magistrali I2C i SPI oraz slot do kart pamięci microSD. Stąd też projekty działające pod zestawem FRDM-KL25Z można z łatwością przenieść na FREEboard z co najwyżej niewielką modyfikacją kodów źródłowych.

Mikrokontroler MKL25Z128VLK4, w jaki wyposażono zestaw, posiada następujące podsystemy:

  • 66 wielofunkcjonalnych wyprowadzeń GPIO, w tym 23 z funkcją generowania przerwania od zmiany stanu,
  • 16-bitowy przetwornik A/C z możliwością pomiaru w trybie jednokońcówkowym (względem masy układu) lub różnicowym (różnica napięć między dwiema liniami),
  • 12-bitowy przetwornik C/A,
  • szybki komparator analogowy,
  • 1 licznik 6-kanałowy oraz 2 liczniki 2-kanałowe z możliwością generowania sygnału PWM,
  • 32-bitowy licznik przerwań okresowych (Periodic Interrupt Timer)
  • 16-bitowy licznik mogący pracować w trybie Low Power,
  • układ licznika RTC,
  • moduł interfejsu dotykowego (Touch Sensor Interface, TSI) z 16 kanałami,
  • 2 moduły interfejsu komunikacyjnego I2C,
  • 2 moduły interfejsu komunikacyjnego SPI,
  • 2 moduły interfejsu komunikacyjnego UART oraz 1 mogący pracować w trybie Low Power,
  • kontroler USB OTG low-speed/full-speed,
  • kontroler DMA z 4 kanałami i obsługujący do 63 źródeł żądań transferu,
  • unikalny 80-bitowy numer ID.

Programowanie mikrokontrolera można przeprowadzić za pomocą bootloadera lub dowolnego programatora obsługującego protokół SWD (do tego celu służy 20-pinowe złącze na płytce zestawu FREEboard). Jednym z takich urządzeń jest J-Link, dostępny również w tańszej wersji EDU dla niekomercyjnych zastosowań (fotografia 3), oferujący znacznie większe możliwości debugowania i nieograniczoną liczbę punktów zatrzymania (breakpoints) w porównaniu do pozostałych programatorów/debugerów.

 

Fot. 3. Programator J-Link EDU

 

Obsługa zarówno mikrokontrolera omawianej platformy, jak i programatora/debugera J-Link jest możliwa w takich środowiskach jak Atollic TrueStudio, CodeWarrior Development Suite, CooCox CoIDE, IAR Embedded Workbench, Keil uVision oraz w pojawiącym się niedawno Kinetis Design Studio przeznaczonym wyłącznie dla mikrokontrolerów z rodziny KINETIS.

Jan Szemiet