Actions

KAmod BluePico STM32F030 (PL)

From Kamamilabs.com - Wiki

Opis

KAmod BluePico STM32F030 - Płytka ewaluacyjna z mikrokontrolerem STM32F030 F4P6 Cortex-M0
Płytka ewaluacyjna KAmod BluePico STM32F030 zawiera mikrokontroler STM32F030 F4P6 oraz elementy niezbędne do jego uruchomienia. Na płytce znajduje się złącze USB-C do zasilania oraz programowania. Zintegrowany konwerter USB-UART oraz odpowiednio skonfigurowany bootloader umożliwiają programowanie mikrokontrolera zarówno z Arduino IDE jak i poprzez STM32CubeProgrammer.

Podstawowe parametry
  • mikrokontroler STM32F030 F4P6: Cortex-M0, 16 kB Flash, 4 kB RAM, 48 MHz, ADC 12-bitowy, 5 timerów, I2C, SPI, UART, RTC, CRC
  • mikrokontroler taktowany precyzyjnym rezonatorem kwarcowym
  • złącze USB-C służy jako złącze zasilające, interfejs komunikacyjny USB-UART oraz pozwala na programowanie mikrokontrolera
  • 15 wyprowadzeń GPIO oraz linie zasilania 5 V i 3,3 V dostępne na standardowych złączach o rastrze 2,54 mm
  • maksymalne obciążenie linii 5 V wynosi 500 mA, natomiast dla linii 3,3 V wynosi 200 mA
  • złącze interfejsu programowania/debugowania SWD
  • możliwość programowania poprzez STM32CubeProgrammer oraz Arduino IDE
  • wymiary płytki: 32,5x23 mm, wysokość ok. 7 mm (bez wlutowanych szpilek goldpin)


Wyposażenie standardowe
Kod Opis
KAmod BluePico STM32F030
  • Zmontowany i uruchomiony moduł
  • 2 x prosta listwa goldpin 12-pin raster 2,54 mm
  • 1 x kątowa listwa goldpin 4-pin raster 2,54 mm


Schemat elektryczny
Zasilanie
Złącze Funkcja
USB-C

J1, J2

  • Doprowadza zasilanie 5 V do modułu
  • Pozwala doprowadzić zasilanie 5 V oraz udostępnia napięcie 3,3 V


Płytka ewaluacyjna KAmod BluePico STM32F030 może być zasilana na dwa sposoby:

  • poprzez odpowiednie styki złączy J1 i J2,
  • poprzez złącze USB-C.


Źródło zasilania o napięciu z zakresu 4,5...5,5 V i wydajności min. 100 mA należy dołączyć do styków oznaczonych 5V (plus) oraz GND (minus) na złączu J1. Wtedy na stykach oznaczonych 3,3V dostępne jest stabilizowane napięcie o wartości 3,3 V, które również zasila mikrokontroler. Obecność napięcia 3,3 V jest sygnalizowana świeceniem diody LED oznaczonej PWR.

Do złącza USB-C należy dołączyć standardowe źródło zasilania USB o wydajności min. 100 mA. Wtedy na styku 5V złącza J1 dostępne jest napięcie o wartości bliskiej 5 V (względem masy oznaczonej GND). Niewielki spadek napięcia (ok 0,5 V) występuje na diodzie Schottky’ego, która umożliwia przepływ prądu w kierunku ze złącza USB-C do płytki, ale blokuje przepływ prądu w kierunku przeciwnym - do złącza USB-C. Dzięki temu można bezpiecznie dołączać zasilanie w różnych konfiguracjach - USB i/lub styki J1.



Interfejs USB
Złącze Funkcja
USB-C
  • Doprowadza zasilanie 5 V do modułu
  • Może realizować interfejs USB-UART
  • Pozwala programować mikrokontroler poprzez wbudowany bootloader


Złącze USB-C jest łatwym sposobem na doprowadzenie zasilania do płytki KAmod BluePico STM32F030. Ponadto na płytce znajduje się układ CH340C, który realizuje funkcję kontrolera USB połączonego z interfejsem szeregowym UART mikrokontrolera STM32F030. Interfejs UART umożliwia m.in. przesyłanie prostych komunikatów, które można śledzić w dowolnym programie typu Terminal/Serial Monitor.

Sterowniki dla układu CH340 można pobrać ze strony producenta układu: https://www.wch-ic.com/downloads/CH341SER_ZIP.html

Moduł będzie widoczny w systemie, podobnie jak na poniższym obrazku:

Interfejs UART jest połączony do wyprowadzeń PA10 (RX USART1) oraz PA9 (TX USART1). Jeżeli połączenie USB-UART nie jest wymagane w projekcie, to wyprowadzenia PA10 i PA9 można odłączyć od kontrolera USB przecinając zworki oznaczone RX i TX na dolnej stronie płytki.



Interfejs programowania/debugowania SWD
Złącze Funkcja
J3
  • Wyprowadzony interfejs SWD (Single Wire Debug) z sygnałami SWDIO oraz SWCLK


Interfejs SWD (Single Wire Debug) pozwala na programowanie pamięci Flash mikrokontrolera oraz śledzenie działania programu (debugowanie). Wymaga dołączenia zewnętrznego programatora/debuggera np. STLINK-V2 lub STLINK-V3MINIE.

  • GND – masa układu,
  • SWC – sygnał taktujący SWCLK, współdzielony z wyprowadzeniem PA14,
  • SWD – sygnał danych SWDIO, współdzielony z wyprowadzeniem PA13,
  • 3,3V – linia zasilania 3,3 V.


Sygnały należy połączyć z takimi samymi sygnałami na złączu programatora/debuggera. Czasami SWCLK jest oznaczony również jako TCK, natomiast SWDIO jest jednocześnie oznaczony jako TMS. Programator nie dostarcza zasilania do płytki KAmod BluePico STM32F030, zasilanie należy dołączyć do złącza USB-C lub styków J1/J2.



Programowanie mikrokontrolera
Komponent Funkcja
SW1 – NRST
  • Wymuszenie stanu wyzerowania mikrokontolera
SW2 – PROG
  • Uruchomienie fabrycznego bootloadera mikrokontolera
J3 – SWD
  • Interfejs programowania SWD (Single Wire Debug)
USB – UART
  • Interfejs programowania USB-UART (TXD, RXD)


Najprostsza metoda programowania pamięci mikrokontrolera wymaga podłączenia modułu KAmod BluePico STM32F030 przewodem z wtykiem USB-C do komputera PC.

W specjalnym obszarze pamięci mikrokontrolera znajduje się oprogramowanie umożliwiające zaprogramowanie jego pamięci programu – jest to tzw. bootloader przygotowany przez producenta mikrokontrolera. Mikrokontroler zastosowany w module został tak skonfigurowany, że uruchomienie bootloadera wymaga tylko krótkiego przyciśnięcia przycisku PROG.

W tym stanie moduł jest gotowy do programowania zarówno poprzez STM32CubeProgrammer jak i Arduino:

  • W przypadku STM32CubeProgrammer należy wyprać tryb UART, a następnie nacisnąć Connect:

  • W przypadku Arduino, należy:
    • ustawić Board na Generic STM32F0 series,
    • ustawić Board part number na Generic F030F4Px,
    • ustawić Upload method na STM32CubeProgrammer(Serial),
    • ustawić port komunikacyjny na ten, który odpowiada podłączonemu modułowi (w przekładzie jest to COM12).


Wszystkie ustawienia zostały pokazane na poniższym obrazku:

Jeżeli w Arduino IDE nie widnieją wskazane płytki, to należy dodać poniższy wpis w polu menedżera płytek (Additional boards manager URLs):
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

Innym sposobem programowania pamięci mikrokontrolera jest dołączenie zewnętrznego programatora, np. STLINK-V2 lub STLINK-V3MINIE do złącza J3 i postępowanie zgodnie z instrukcją użytkowania programatora.

Należy pamiętać, że niektóre wyprowadzenia mikrokontrolera pełnią dwie lub więcej funkcji, które mogą się wzajemnie zakłócać. Oto najistotniejsze z nich:

  • SWC/PA14 – sygnał SWC (programowanie/debugowanie) jest jednocześnie wyprowadzony jako port GPIO PA14
  • SWD/PA13 – sygnał SWD (programowanie/debugowanie) jest jednocześnie wyprowadzony jako port GPIO PA13
  • PA10 (RX), PA9 (TX) – wyprowadzenia interfejsu UART 1 – RX, TX, który jest połączony z USB są jednocześnie wyprowadzone jako porty GPIO odpowiednio PA10 i PA9



Dodatkowe elementy – przyciski oraz diody LED
Złącza GPIO
Wymiary
Program testowy
Linki