KAmod BluePico STM32F030 (PL): Difference between revisions
From Kamamilabs.com - Wiki
| Line 121: | Line 121: | ||
===== Programowanie mikrokontrolera ===== | ===== Programowanie mikrokontrolera ===== | ||
<center> | |||
{| class="wikitable" style="width: 1000px;" | |||
|- | |||
! style="text-align: center;"|Komponent | |||
! style="text-align: center;"|Funkcja | |||
|- | |||
| style="text-align: center;"|<b>SW1 – NRST</b> | |||
| style="text-align: left;"| | |||
* Wymuszenie stanu wyzerowania mikrokontolera | |||
|- | |||
| style="text-align: center;"|<b>SW2 – PROG</b> | |||
| style="text-align: left;"| | |||
* Uruchomienie fabrycznego bootloadera mikrokontolera | |||
|- | |||
| style="text-align: center;"|<b>J3 – SWD</b> | |||
| style="text-align: left;"| | |||
* Interfejs programowania SWD (''Single Wire Debug'') | |||
|- | |||
| style="text-align: center;"|<b>USB – UART</b> | |||
| style="text-align: left;"| | |||
* Interfejs programowania USB-UART (TXD, RXD) | |||
|} | |||
</center> | |||
<br> | |||
Najprostsza metoda programowania pamięci mikrokontrolera wymaga podłączenia modułu KAmod BluePico STM32F030 przewodem z wtykiem USB-C do komputera PC. | |||
<br><br> | |||
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. | |||
<br><br> | |||
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'': | |||
<center> | |||
[[File:KAmod_BluePico_STM32F030_prog.png|300px|]] | |||
</center> | |||
* 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). | |||
<br> | |||
Wszystkie ustawienia zostały pokazane na poniższym obrazku: | |||
<center> | |||
[[File:KAmod_BluePico_STM32F030_ardu_prog.jpg|none|800px|thumb|]] | |||
</center> | |||
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''):<br> | |||
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json | |||
<br><br> | |||
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. | |||
<br><br> | |||
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 | |||
<br><br> | |||
===== Dodatkowe elementy – przyciski oraz diody LED ===== | ===== Dodatkowe elementy – przyciski oraz diody LED ===== | ||
===== Złącza GPIO ===== | ===== Złącza GPIO ===== | ||
Revision as of 11:34, 12 June 2025

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 |
|
Schemat elektryczny
Zasilanie
| Złącze | Funkcja |
|---|---|
| USB-C J1, J2 |
|
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 |
|
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 |
|
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 |
|
| SW2 – PROG |
|
| J3 – SWD |
|
| USB – UART |
|
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