STM32NUCLEO + mbed.org = pierwsze aplikacje na STM32

Zestaw Nucleo-F334R8 jest jednym z kilku dostępnych typów tanich, konstrukcyjnie bardzo prostych płytek z rodziny STM32NUCLEO. Zestawy te cechuje mechaniczna i elektryczna zgodność z płytkami systemu Arduino (rysunek 1), jednocześnie dostęp do większej niż w Arduino liczby GPIO mikrokontrolera (dzięki złączom ST Morpho) oraz możliwość współpracy z sieciowym środowiskiem programistycznym mbed.

 

Rys. 1. Zestaw Nucleo-F334R8 jest mechanicznie i elektrycznie zgodny z Arduino

 

Część użytkowa zestawu z mikrokontrolerem STM32F334R8T6 jest skromnie wyposażona, użytkownik ma do dyspozycji dwie diody LED (zielona LD2 do wykorzystania w aplikacji użytkownika oraz czerwona LD3 informująca o zasilaniu mikrokontrolera), dwa przyciski (USER – ogólnego przeznaczenia oraz RESET – zerujący mikrokontroler), ponadto dwie zworki:

  • JP6 umożliwiającej pomiar poboru prądu przez mikrokontroler oraz
  • JP5 odpowiedzialnej za wybór źródła zasilania mikrokontrolera.

Zasilanie zestawu może być doprowadzone ze złącza USB umieszczonego w części programatora zestawu lub z odpowiednich wyprowadzeń w części użytkowej, do których podłączone jest zewnętrzne źródło zasilania (VIN (7V-12V), E5V (5V), +3V3 (3.3V)).

Dodatkowo, w dolnej części płytki znajduje się rezonator zegarkowy 32 kHz (wykorzystywany przez wewnętrzny RTC mikrokontrolera) oraz miejsce przeznaczone do zamontowania zewnętrznego rezonatora kwarcowego dużej częstotliwości (domyślnie mikrokontroler pracuje z wewnętrznym generatorem taktującym).

Mikrokontroler STM32F334R8T6 użyty w zestawie Nucleo-F334R8 wyposażono w:

  • 32-bitowy rdzeń ARM Cortex-M4 (mogący pracować z częstotliwością do 72 MHz) z jednostką zmiennoprzecinkową FPU,
  • 64 kB pamięci Flash,
  • 16 kB pamięci ulotnej SRAM oraz
  • 51 wyprowadzeń GPIO (w tym 25 mogących pracować z poziomami napięć do 5V).

Do najważniejszych podsystemów mikrokontrolera należą:

  • 2 przetworniki A/C z minimalnym okresem próbkowania wynoszącym 0,2 ms (5MHz) i wybieralną 12/10/8/6-bitową rozdzielczością oraz 21 kanałami, mogące pracować zarówno w trybie jednokońcówkowym (pomiar względem analogowej masy) jak również w trybie różnicowym (pomiar różnicy napięć między dwoma liniami),
  • 12-bitowy przetwornik C/A z 3 kanałami,
  • 3 ultraszybkie (50 ns) komparatory analogowe typu rail-to-rail,
  • 1 wzmacniacz operacyjny mogący pracować w trybie PGA z programowalnym wzmocnieniem równym 2, 4, 8 lub 16,
  • 16-bitowy licznik HRTIM wysokiej rozdzielczości (217 ps) z 10 kanałami,
  • 16-bitowy licznik rozszerzony,
  • 4x 16-bitowe oraz 1x 32-bitowy liczniki ogólnego przeznaczenia.

Oprócz powyższych w układzie można znaleźć również:

  • interfejsy komunikacyjne: 1x CAN 2.0B, 1x I2C, 1x SPI, 3x USART (w tym LIN oraz IrDA),
  • kontroler DMA z 7 kanałami,
  • układ licznika RTC z możliwością wybudzania układu z trybu stop,
  • unikalny 96-bitowy numer ID,
  • wbudowana jednostka do obliczania sumy kontrolnej CRC.

Zestawy NUCLEO są wyposażane w zintegrowany programator/debuger ST-LINK/V2-1, współpracujący ze środowiskiem mbed i będący rozszerzeniem popularnego ST-LINK/V2 obsługiwanego w popularnych środowiskach, takich jak np. Atollic TrueStudio, Keil uVision i IAR Embedded Workbench. Złącze miniUSB służy także – oprócz doprowadzania zasilania i umożliwienia komunikacji z programatorem – do emulacji pamięci masowej USB, a także w komunikacji pomiędzy głównym mikrokontrolerem zestawu a komputerem (dzięki zaimplementowanej funkcji wirtualnego portu COM). W tym ostatnim przypadku istnieje również możliwość skomunikowania się z zewnętrznym układem, wyposażonym w interfejs USART, dzięki zamontowanemu na płytce złączu CN3 w postaci gold-pinów z liniami Rx i Tx. Podobnie wygląda sytuacja z programowaniem zewnętrznych mikrokontrolerów, przy czym wykorzystywane jest do tego celu 6-sygnałowe złącze SWD. Dwukolorowa dioda LD1 znajdująca się w części programatora służy do sygnalizacji stanu pracy programatora.

 

Środowisko programistyczne mbed – pierwsze kroki

Uruchomienie środowiska programistycznego mbed rozpoczynamy od zalogowania/rejestracji na stronie https://mbed.org/account/login/ oraz kliknięcia przycisku Compiler w prawym górnym rogu strony głównej (rysunek poniżej).

Następnie dodajemy zestaw Nucleo-F334R8 do listy docelowych platform środowiska, przy czym można to zrobić na dwa sposoby. Pierwszy sposób polega na podłączeniu płytki Nucleo do komputera poprzez przewód USB i otworzeniu pliku mbed.htm znajdującego się na dysku NUCLEO, jaki zaimplementowano w zestawie (rysunek poniżej).

 

Do pobrania

O autorze