NOTATNIK KONSTRUKTORA Płytka prototypowa z mikrokontrolerem STM32 L4

Podobne dokumenty
STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

SML3 październik

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

Programowanie mikrokontrolerów 2.0

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

ZL10PLD. Moduł dippld z układem XC3S200

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

MMstm32F103Vx. Instrukcja uŝytkownika REV 1.1. Many ideas one solution

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Szkolenia specjalistyczne

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

STM32L0: Cortex-M0+ w rodzinie STM32

Płytka uruchomieniowa XM32

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Instytut Teleinformatyki

ZL8AVR. Płyta bazowa dla modułów dipavr

Wstęp Architektura... 13

ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x. Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

ZL5ARM. Zestaw uruchomieniowy dla mikrokontrolerów LPC2119/2129 (rdzeń ARM7TMDI-S) Kompatybilność z zestawem MCB2100 firmy Keil

1.2. Architektura rdzenia ARM Cortex-M3...16

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

ZL11ARM. Uniwersalna płytka bazowa dla modułów diparm

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

dokument DOK wersja 1.0

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Moduł prototypowy X3-DIL64 z procesorem ATxmega128A3U-AU

3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

Układy zegarowe w systemie mikroprocesorowym

Laboratorium Analogowych Układów Elektronicznych Laboratorium 6

Jednym z najlepszych sposobów poznawania nowego typu mikrokontrolera

Podstawowe informacje o STM8

2. Architektura mikrokontrolerów PIC16F8x... 13

Technika Mikroprocesorowa

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

ARS3 RZC. z torem radiowym z układem CC1101, zegarem RTC, kartą Micro SD dostosowany do mikro kodu ARS3 Rxx. dokument DOK wersja 1.

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

Programator-debugger JTAG/SWIM dla mikrokontrolerów STM32 i STM8

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

Zgrana para - NerO i CleO

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

Uniwersalny zestaw uruchomieniowy ZL4PIC

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Zestaw Startowy EvB. Więcej informacji na stronie:

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Moduł prototypowy.. Leon Instruments. wersja 1.0

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

Murasaki Zou むらさきぞう v1.1 Opis programowania modułu LPC2368/LPC1768 z wykorzystaniem ISP

Systemy wbudowane. Paweł Pełczyński

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Aoi Ryuu. v2.0 moduł z mikroprocesorem Atmega169 dla makiety dydaktycznej Akai Kaba

Płytka uruchomieniowa XM64

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

Laboratorium Procesorów Sygnałowych

ARMputer, część 1 AVT 922

WPROWADZENIE Mikrosterownik mikrokontrolery

MMstm32F103R. Instrukcja uŝytkownika REV 1.1. Many ideas one solution

Porty GPIO w mikrokontrolerach STM32F3

Mikrokontrolery AVR techniczne aspekty programowania

MODUŁ UNIWERSALNY UNIV 3

prowadzący: mgr inż. Piotr Prystupiuk

Wbudowane układy peryferyjne cz. 1 Wykład 7

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

Kod produktu: MP01611

Wykład 2. Mikrokontrolery z rdzeniami ARM

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

DOKUMENTACJA PROJEKTU

Szczegółowy opis przedmiotu zamówienia. Część 1 - Laboratoryjny zestaw prototypowy

Wykład 6. Mikrokontrolery z rdzeniem ARM

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

MOD STM32 explorem0 z STM32F051C8T6. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Programowalne Układy Cyfrowe Laboratorium

W semestrze letnim studenci kierunku Aplikacje Internetu Rzeczy podczas ćwiczeń z programowania CAD/CAM

Płyta uruchomieniowa EBX51

FREEboard. Zestaw startowy z mikrokontrolerem z rodziny Freescale KINETIS L (Cortex-M0+) i sensorami MEMS 7 DoF

Transkrypt:

Płytka prototypowa z mikrokontrolerem STM L Przed wykonaniem końcowej wersji projektu systemu elektronicznego zazwyczaj powstaje jedna lub nawet kilka wersji przedprodukcyjnych, które mają charakter prototypowy. W takich przypadkach prototyp niejednokrotnie składa się z kilku płytek połączonych ze sobą za pomocą przewodów. Centralną część takiego rozwiązania stanowi płytka z mikrokontrolerem. Projekt takiej płytki z układem z rodziny STM L jest przedmiotem niniejszego artykułu. W ofercie AVT jest dostępna płytka ewaluacyjna opisywana w artykule. Kod handlowy AVT0A. Oprócz tego na serwerze FTP są dostępne pliki Eagle umożliwiające samodzielne wykonanie płytki. Płytka zaprojektowana została w taki sposób, aby wykorzystać możliwie minimalną liczbę podzespołów, a jednocześnie, aby w żaden sposób nie ograniczać możliwości mikrokontrolera. W efekcie powstała bardzo mała, niedroga, prosta w konstrukcji (a także do samodzielnego montażu) oraz funkcjonalna platforma bazująca na mikrokontrolerze STM L. Artykuł został przygotowany w taki sposób, aby każdy wątek dotyczący projektu płytki znalazł się w osobnym rozdziale. Tym samym oddzielnie opisany został wątek dotyczący zasilania mikrokontrolera, układu resetu (zerowania), sygnału zegarowego, konfiguracji BOOT oraz interfejsu USB. Dzięki temu niniejszy materiał można potraktować nie tylko jako dokumentację z opisem płytki, ale również jako prosty poradnik ze wskazówkami jak w warstwie sprzętowej projektować systemy z mikrokontrolerami STM L. Mikrokontroler Zastosowany na płytce mikrokontroler to model oznaczony STMLRGT. Układ ten należy do najnowszej w ofercie STMicroelectronics rodziny STM L, którą zaprojektowano z myślą o umiejętnym połączeniu trzech bardzo istotnych z punktu widzenia aplikacji cech: względnie wysokiej mocy obliczeniowej, niezwykle niskiego poboru prądu oraz bogatego zestawu zintegrowanych peryferiów. Tym samym układy STM L można określić nie tylko mianem mikrokontrolerów niskomocowych, przeznaczonych dla systemów zasilanych z baterii, ale również mianem mikrokontrolerów ogólnego przeznaczenia, mogących znaleźć zastosowanie w szerokiej gamie urządzeń konsumenckich oraz przemysłowych. Moc obliczeniową w mikrokontrolerach STM L gwarantuje rdzeń ARM Cortex-M (z FPU) oraz blok ART Accelerator. Dzięki nim mikrokontroler uzyskuje wynik 00 DMIPS oraz punktów CoreMark w warunkach pracy z maksymalną, wynoszącą 0 MHz częstotliwością taktowania. Energooszczędność zapewnia szereg dedykowanych do tego celu rozwiązań, w tym między innymi specjalne peryferia (low-power UART, low-power timer, zoptymalizowane peryferia analogowe), mechanizm skalowania napięcia zasilania rdzenia, tryb BAM (Batch Acquisition Mode) oraz większa niż w przypadku wcześniejszych układów STM liczba trybów pracy o obniżonym poborze prądu (RUN, Low Power RUN Sleep, Low Power Sleep, STOP, STOP, Standby, Shutdown). Co istotne, w każdym trybie uśpienia jako źródło przerwania można wykorzystać zegar czasu rzeczywistego (RTC). Kolejnym atutem mikrokontrolerów STM L jest bogate wyposażenie. Obejmuje ono szereg interfejsów komunikacyjnych, liczne peryferia analogowe, liczniki/timery, jak również bardziej wyspecjalizowane zasoby takie jak kontroler LCD, interfejs FSMC i QSPI, moduł DMA oraz blok DFSDM. Szczegółowe parametry zastosowanego na płytce mikrokontrolera STMLRGT przedstawiono w tabeli. Warto Tabela. Parametry mikrokontrolera STMLRGT [] Parametr Wartość Rdzeń Cortex-M+FPU+DSP+ART Accelerator Pamięć MB Flash kb SRAM Źródła sygnału zegarowego HSE - MHz MSI 00 khz MHz HSI MHz LSE 000 khz LSI khz Liczniki RTC, timer do sterowania silnikiem, - i -bitowe timery ogólnego przeznaczenia, low-power timer, Watchdog, SysTick Peryferia analogowe Interfejsy komunikacyjne Porty wejścia wyjścia Inne peryferia Tryby pracy Obudowa Przetworniki A/C, przetworniki C/A, wzmacniacze operacyjne z układami PGA, komparatory USB, SAI, I C, USART, low-power UART, SPI, CAN, SWPMI kontroler LCD, interfejs pamięci zewnętrznej (w tym interfejs QSPI), DFSDM, DMA, generator liczb losowych, CRC RUN, Low Power RUN, Sleep, Low Power Sleep, STOP, STOP, Standby, Shutdown LQFP ELEKTRONIKA PRAKTYCZNA /0 0

pamięć Flash: kb) oraz STMLRG (dodatkowy moduł szyfrujący AES). Rysunek. Domeny zasilania w mikrokontrolerach z rodziny STM L [] odnotować, że wskazany układ nie jest jedynym modelem, który można użyć na płytce. Jeśli zajdzie taka potrzeba, mikrokontroler STMLRGT można zastąpić innym układem, co jest możliwe dzięki kompatybilności rodziny STM pod względem układu wyprowadzeń. Zamiennikami w grupie STM L mogą być trzy inne mikrokontrolery w obudowie LQFP: STMLRC (mniej pojemna pamięć Flash: kb), STMLRE (mniej pojemna Tabela. Dopuszczalne zakresy napięcia dla domen zasilania mikrokontrolerów z rodziny STML [] Nazwa wyprowadzeń przypisanych do domeny zasilania VCORE A dla przetworników A/C i komparatorów dla przetworników C/A i wzmacniaczy operacyjnych dla bufora napięcia referencyjnego VREF+ VUSB VLCD IO VBAT Zakres napięcia zasilania, które można podać na wyprowadzenia.. V.0 lub. V,, V,, V,, V V A, V,, V,0, V,, V Zasilanie W mikrokontrolerach z rodziny STM L wydzielone zostały różne domeny zasilania. Jest ich łącznie siedem. Niemal wszystkie z nich (dokładnie sześć) są od siebie niezależne. Dzięki temu na etapie projektu można zdecydować, czy korzystniej będzie doprowadzić napięcie zasilania osobno do każdej z sześciu domen, czy jednak połączyć część z nich lub nawet wszystkie wspólnym napięciem zasilania. W pierwszej domenie znajdują się porty wejścia/wyjścia, wbudowany stabilizator napięcia i wybrane elementy analogowe, takie jak układ resetu (zerowania) oraz wewnętrzne źródła sygnału zegarowego. Napięcie do tej domeny dostarczane jest poprzez grupę wyprowadzeń o nazwie. Napięcie wyjściowe wbudowanego stabilizatora (VCORE) służy do zasilania drugiej domeny. Tworzą ją: rdzeń Cortex-M, pamięć SRAM oraz peryferia cyfrowe. Pamięć Flash jest zasilana zarówno napięciem VCORE, jak też. Trzecia domena to większość peryferiów analogowych. Są wśród nich wzmacniacze operacyjne, komparatory, bufor referencyjny napięcia, przetworniki A/C i przetworniki C/A. Pin, przez który napięcie dostarczane jest do tej domeny, oznaczony jest jako A. Z tą domeną związany jest również pin VREF+ dostarczający napięcie referencyjne dla przetworników A/C i C/A. Czwarta domena jest jednoelementowa. Jest nią kontroler USB, który zasilany jest z wyprowadzenia VUSB. Kolejna domena, również jednoelementowa, to kontroler wyświetlacza LCD. Napięcie zasilania dla tej domeny doprowadzone jest przez pin VLCD. Alternatywnie napięcie zasilania może zostać wytworzone przez zintegrowaną w mikrokontrolerze przetwornicę podwyższającą napięcie. W przypadku mikrokontrolerów z większą liczbą wyprowadzeń (obudowy LQFP, BGA, CSP oraz CSP) piny portu wejścia/wyjścia G (GPIO G) są oddzielną domeną. Zasilanie realizowane jest przez wyprowadzenie IO. Ostatnia domena wydzielona została dla zegara czasu rzeczywistego, zewnętrznego źródła sygnału zegarowego (oscylator khz) oraz rejestrów backup. Napięcie zasilania do tej domeny doprowadzane jest przez pin VBAT. Domeny zasilania w mikrokontrolerach z rodziny STM L zostały pokazane w sposób graficzny na rysunku. Dopuszczalne zakresy napięć zasilających te domeny wypisano w tabeli. Rysunek. Schemat układu resetu w mikrokontrolerach z rodziny STM L [] 0 ELEKTRONIKA PRAKTYCZNA /0

Płytka prototypowa z mikrokontrolerem STM L Najważniejszym elementem bloku zasilania na płytce jest stabilizator napięcia. Wykorzystany model to LD firmy STMicroelectronics. Napięcie wejściowe dla stabilizatora podawane jest z gniazda USB, zatem zgodnie ze specyfikacją USB, ma ono wartość ok. V. Układ LD obniża napięcie do poziomu, V na wyjściu. Aby zapewnić poprawną pracę stabilizatora napięcia, pomiędzy jego wyprowadzenie wejściowe i masę oraz pomiędzy jego wyprowadzenie wyjściowe i masę dołączono kondensator, odpowiednio o pojemności 00 nf i 0 mf. Wytwarzane przez LD napięcie, V jest jedynym napięciem zasilania dla mikrokontrolera STM L (zostało ono doprowadzone do wszystkich domen zasilania układu, a tym samym nóżek zasilania: A/VREF+, USB,, VBAT), co pozwoliło uzyskać prostą konstrukcję płytki. Tak jak stabilizator LD wymaga podłączenia kondensatorów, tak też analogiczny zabieg konieczny jest w przypadku mikrokontrolera STM L. Między wyprowadzeniami A/ VREF+ oraz VSSA/VREF umieszczono dwa kondensatory, pierwszy o pojemności mf, drugi o pojemności 0 nf. Ponadto między pinem USB i masą przewidziano również dwa kondensatory, jeden o pojemności mf, drugi o pojemności 00 nf. Dodatkowo pomiędzy każdym z wyprowadzeń i masą zastosowano po jednym kondensatorze o pojemności 00 nf. Rysunek. Fragment drzewa sygnałów zegarowych w mikrokontrolerach z rodziny STM L Układ zerowania Blok zerowania odpowiada za wytwarzanie sygnału, który resetuje mikrokontroler, co rozumieć należy jako ustawienie wartości domyślnych w rejestrach, a w efekcie też rozpoczęcie wykonywania aplikacji od początku. Linia resetu wewnątrz mikrokontrolera połączona jest przez rezystor z napięciem zasilania, co powoduje, że sygnał resetu ma domyślnie poziom wysoki. Taki stan nie ingeruje w żaden sposób w działanie mikrokontrolera. Gdy jednak sygnał zmieni poziom na niski, wtedy mikrokontroler zostanie zresetowy. Poziom ten może zostać wygenerowany wewnętrznie lub zewnętrznie. W przypadku pierwszego wariantu mogą to być: peryferia (watchdog, firewall), zmiana w obszarze Option bytes, reset programowy (z poziomu aplikacji), Brown Out Reset (spadek napięcia zasilania) lub wybudzenie z trybu uśpienia. Drugi wariant przewiduje podanie sygnału z zewnątrz, poprzez wyprowadzenie. Schemat bloku zerowania pokazano na rysunku. Projektant na kilka sposobów może podejść do układu resetu mikrokontrolera. Jedną z możliwości jest podłączenie wyprowadzenia do zewnętrznego układu, który kontrolując poziom logiczny na tej linii we wskazanym momencie czasu resetuje mikrokontroler. Inny wariant to ręczne resetowanie mikrokontrolera. W takim scenariuszu między linię i masę należy podłączyć przycisk oraz kondensator o pojemności np. 00 nf. Wciśnięcie przycisku zresetuje mikrokontroler. Najprostszy możliwy wariant to pozostawienie wyprowadzenia niepodłączonego do żadnego zewnętrznego komponentu, co oznacza brak możliwości wygenerowania sygnału resetu zewnętrznie. Na płytce wyprowadzenie połączono z gniazdem programatora/debugera. Rozwiązanie to łączy wariant pierwszy i trzeci. Mianowicie gdy programator/debuger jest podłączony do płytki, ma on dostęp do linii. Gdy programator/debuger nie jest podłączony do płytki, nie ma możliwości zresetowania mikrokontrolera z zewnątrz. Sygnał zegarowy Zasoby wewnętrzne mikrokontrolerów z rodziny STM L mogą być taktowane z jednego z czterech źródeł sygnału zegarowego: HSE, HSI, MSI lub PLL (rysunek ). HSE (High Speed External) to zewnętrzne źródło sygnału zegarowego. Może mieć ono dwie formy. Pierwszą jest generator sygnału zegarowego, dołączony do wyprowadzenia OSC_IN. Drugim, bardziej popularnym rozwiązaniem jest oscylator kwarcowy, dołączony do wyprowadzeń RCC_OSC_IN oraz RCC_OSC_OUT i jednocześnie połączony przez kondensatory do masy. HSE może wytwarzać sygnał zegarowy z przedziału MHz. Drugie źródło sygnału zegarowego to HSI (High Speed Internal). Jest to zintegrowany w mikrokontrolerze rezonator RC o częstotliwości MHz. Trzecim źródłem sygnału zegarowego jest MSI (MultiSpeed Internal). Podobnie jak HSI, MSI również jest zintegrowanym w mikrokontrolerze rezonatorem RC. Przy pomocy MSI możliwe jest uzyskanie jednej z dwunastu częstotliwości sygnału zegarowego, w zakresie od 00 khz do MHz. Ostatnim źródłem sygnału zegarowego jest pętla sprzężenia fazowego PLL (Phase Locked Loop). Wykorzystując na wejściu sygnał wygenerowany przez HSE, HSI lub MSI oraz używając mnożników i dzielników, PLL może wytwarzać sygnał o częstotliwości do 0 MHz włącznie. Tabela. Konfiguracja BOOT w mikrokontrolerach STM L [] Konfiguracja BOOT Pamięć wykonywania aplikacji BOOT0 BOOT X 0 Pamięć Flash 0 Pamięć systemowa Pamięć SRAM ELEKTRONIKA PRAKTYCZNA /0 0

SV SV SV PA V PA PA PA PA PC PC PB0 PB PB PB0 PB V 0 V PC PC PC PH0 PH PC0 PC PC PC V PA0 PA PA 0 C 00n PA/SWCLK 0 0 IC C u PA/SWDIO PB/SWO PA PA PC0 PC PC PD PB PB PB PB PB BOOT0 PB PB VSS SWD Debug C0 00n 0 Q khz C p C p J Q MHz C 0p Rysunek. Schemat elektryczny płytki 0 R 0R SV SV C 0p PA0 PA PA R 0R ID D+ D VB PB PA/SWCLK PB PA PB PC0 PB PC PC PC PC PD PC PB/SWO PC PB PA PB PA PB PA0 PB PA PA PB PA/SWDIO PB V V 0 0 USB VSS_ PA PA PA PA0 PA PA PC PC PC PC PB PB PB PB STMLRGT VBAT PC PC/OSC_IN PC/OSC_OUT PH0/OSC_IN PH/OSC_OUT PC0 PC PC PC VSSA/VREF- A/VREF+ PA0 PA PA V C 0n C u PA VSS PA PA PA PA PC PC PB0 PB PB PB0 PB VSS V R 0R LD 0 0 IN OUT C 00n C 00n C 0u C 00n IC LED Oprócz czterech źródeł sygnału zegarowego wysokiej częstotliwości, mikrokontrolery z rodziny STM L mogą korzystać też z dwóch źródeł sygnału zegarowego o niskiej częstotliwości. Są to LSE oraz LSI. LSE (Low Speed External) jest zewnętrznym źródłem sygnału zegarowego. LSE może mieć postać albo generatora sygnału, podłączonego do wyprowadzenia RCC_OSC_IN, albo oscylatora kwarcowego, wpiętego między wyprowadzenia RCC_ OSC_IN i RCC_OSC_OUT oraz dodatkowo połączonego przez kondensatory do masy. LSE może generować sygnał o częstotliwości, khz i służy do taktowania kontrolera LCD oraz zegara czasu rzeczywistego. LSI (Low Speed Internal) jest zintegrowanym w mikrokontrolerze oscylatorem RC o częstotliwości khz. Pełni on tą samą funkcję co LSE oraz dodatkowo może zasilać w sygnał zegarowy watchdog (IWDG). Aby mikrokontroler mógł korzystać ze wszystkich źródeł sygnału zegarowego, na płytce umieszczono dwa oscylatory kwarcowe. Pierwszy z nich, o częstotliwości MHz jako źródlo HSE oraz drugi, o częstotliwości, khz z myślą o źródle LSE. Każdy z oscylatorów został dołączony do dedykowanych wyprowadzeń mikrokontrolera (odpowiednio do CC_OSC_IN, RCC_OSC_OUT i RCC_ OSC_IN, RCC_OSC_OUT), jak również połączony z masą przez kondensatory (odpowiednio 0 pf i pf). BOOT Mikrokontrolery z rodziny STM L, tak jak i inne układy STM, mogą wykonywać aplikację umiejscowioną w pamięci programu (Flash), pamięci danych (SRAM) lub pamięci systemowej, w której znajduje się Bootlader. O tym, jaka pamięć jest w danym momencie wybrana, decydują tak zwane ustawienia BOOT. Są to konkretnie dwie jednobitowe wartości: BOOT0 oraz BOOT. Wartość BOOT0 wskazywana jest sprzętowo, poprzez podanie odpowiedniego napięcia na wyprowadzenie BOOT0: potencjał masy symbolizuje wartość 0, analogicznie potencjał zasilania symbolizuje wartość. Z kolei wartość BOOT wskazywana jest programowo. Jest to bit nboot w przestrzeni Option bytes. Konfiguracje BOOT i przypisane im pamięci wykonywania aplikacji pokazano w tabeli. Płytka została zaprojektowana w taki sposób, aby mikrokontroler wykonywał aplikację z pamięci Flash. W tym celu wyprowadzenie BOOT0 zostało podłączone do masy. Interfejs programowania/ debugowania Moduł programowania/debugowania w mikrokontrolerach z rodziny STM L określany jest mianem SWJ-DP. Skrót ten łączy w sobie dwa interfejsy: SW-DP (Serial Wire Debug Port) oraz JTAG- -DP (JTAG Debug Port). Oba oferują taką samą funkcjonalność. To, co jednak je różni, to liczba linii sygnałowych, z których korzystają. Interfejs JTA- G-DP wykorzystuje łącznie pięć wyprowadzeń (JTMS, JTCK, JTDI, JTDO oraz JNTRST). Interfejs 0 ELEKTRONIKA PRAKTYCZNA /0

Płytka prototypowa z mikrokontrolerem STM L SW-DP wymaga natomiast tylko dwóch linii sygnałowych (SWDIO i SWCLK). Lista linii sygnałowych obu interfejsów oraz przypisane im wyprowadzenia mikrokontrolera pokazano w tabeli. Na płytce zastosowano interfejs SW-DP, który jest bardziej ergonomiczny niż JTAG. Obie linie tego interfejsu, a więc z sygnałem danych (SWDIO Serial Wire Data Input Output) oraz z sygnałem zegarowym (SWCLK Serial Wire Clock) podłączono do złącza. Ponadto do tego złącza doprowadzono linie, z których dodatkowo korzystać może programator/debuger: linie zasilające (dodatni i ujemny potencjał), linię z sygnałem resetu oraz linię SWO (Serial Wiever Output), przez którą aplikacja może przesyłać wskazane przez programistę informacje do środowiska programistycznego. Interfejs ten nie wymaga zastosowania dodatkowych rezystorów szeregowych, czy podciągających do napięcia zasilania. Interfejs USB Mikrokontrolery z rodziny STM L wyposażone są w moduł USB zawierający kontroler USB Full-Speed (device/host/otg) oraz nadajnik-odbiornik USB. Moduł ten jest zgodny ze specyfikacją USB.0. Implementacja interfejsu USB w warstwie sprzętowej dla mikrokontrolerów STM L jest niezwykle prosta. Przede wszystkim wymagane jest połączenie linii zasilania oraz linii sygnałowych gniazda USB (, D+, D oraz ID) z odpowiadającymi im wyprowadzeniami mikrokontrolera. Co istotne, nie ma potrzeby dołączenia rezystorów do linii sygnałowych. Rezystory szeregowe na liniach D+ i D nie są wymagane, gdyż nadajnik-odbiornik USB jest odpowiednio dopasowany wewnątrz mikrokontrolera. Ponadto rezystor podciągający do zasilania na linii D+ jest zintegrowany w mikrokontrolerze i może zostać włączony/wyłączony programowo. Ostatnim podzespołem, o którym należy pamiętać w przypadku interfejsu USB jest oscylator kwarcowy, który zapewni sygnał o częstotliwości MHz. Może to być albo wysokoczęstotliwościowy oscylator kwarcowy MHz dla źródła sygnału HSE (z lub bez PLL), albo alternatywnie niskoczęstotliwościowy oscylator kwarcowy, khz, który skalibruje wbudowany w mikrokontroler oscylator MHz ze źródła MSI. Zgodnie z powyższymi wskazówkami został zrealizowany interfejs USB na płytce. Linie gniazda USB, a więc, D+, D oraz ID podłączone zostały odpowiednio do wyprowadzeń mikrokontrolera, PA, PA i PA0. Dla linii tych nie przewidziano żadnych rezystorów. Jako że do mikrokontrolera podłączono zarówno kwarc wysokoczęstotliwościowy, jak i niskoczęstotliwościowy, sygnał dla interfejsu USB może zapewnić źródło HSE/PLL lub MSI z kalibracją za pomocą źródła LSE. Schemat elektryczny płytki Kompletny schemat elektryczny uwzględniający wszystkie opisane wcześniej wątki dotyczące projektowania systemów z mikrokontrolerem STM L przedstawiono na rysunku. Oprócz wymienionych wcześniej podzespołów, na płytce znalazły się jeszcze cztery listwy kołkowe. Stanowią one proste rozwiązanie pozwalające na podłączenie mikrokontrolera do zewnętrznych podzespołów, modułów i systemów. Przygotowanie stanowiska pracy Przygotowanie stanowiska pracy obejmuje czynności związane zarówno ze sprzętem, jak i oprogramowaniem. Ze sprzętowego punktu widzenia po pierwsze niezbędne jest doprowadzenie do płytki napięcia zasilania. Zrealizować to należy przez połączenie płytki i komputera przewodem USB (micro USB). Po drugie konieczne jest dołączenie do płytki programatora/debugera. Tanim rozwiązaniem, wybranym przez autora, jest programator/debuger ST-Link, który jest częścią zestawu LGDISCOVERY. Aby go użyć, wystarczy odłączyć linie interfejsu SW-DP od mikrokontrolera w zestawie Discovery (poprzez wyjęcie obu zworek ze złącza CN) i podłączyć je przez złącze CN do płytki prototypowej. Taką konfigurację pokazano na fotografii. Z programowego punktu widzenia konieczne jest przygotowanie odpowiedniego oprogramowania, pozwalającego na tworzenie Tabela. Interfejsy programowania/debugowania (wraz z przypisanymi im wyprowadzeniami) obecne w mikrokontrolerach z rodziny STM L [] JTAG-DP SW-DP Wyprowadzenie mikrokontrolera JTMS SWDIO PA JTCK SWCLK PA JTDI PA JTDO PB JNTRST PB Fotografia. Widok płytki prototypowej połączonej za pomocą interfejsu SW-DP do zestawu LGDISCOVERY aplikacji. Przykładowy zestaw narzędzi to generator kodu CubeMX (wraz z bibliotekami Cube HAL) oraz kompatybilne z nim środowisko programistyczne: EWARM firmy IAR Systems, MDK-ARM firmy ARM/Keil, TrueSTUDIO firmy Atollic lub System Workbench for STM firmy AC. Podsumowanie Układy STM L to najnowsza grupa w rodzinie mikrokontrolerów STM. Z pewnością warto zwrócić na nie uwagę, gdyż dzięki połączeniu trzech ważnych cech, jakimi są przyzwoita moc obliczeniowa, całkiem pokaźny zestaw peryferiów oraz bardzo niski pobór prądu, mogą one być rozwiązaniem atrakcyjnym dla bardzo różnych zastosowań, w tym tak popularnych w ostatnim czasie systemów Internet of Things. Zaprezentowany w tym artykule projekt stanowi dobre źródło wiedzy o tym, jak projektować systemy oparte na mikrokontrolerach STM L. Pokazano tu krok po kroku kolejne aspekty dotyczące projektu systemu w warstwie sprzętowej. Opisana płytka jest prostą do wykonania i tanią platformą uruchomieniową dla mikrokontrolerów STM L. Może ona posłużyć do poznawania w praktyce nowych mikrokontrolerów firmy STMicroelectronics, jak też do budowania autorskich systemów prototypowych. Szymon Panecki szymon.panecki@st.com Literatura. www.st.com/stml, Karta katalogowa (datasheet) dla mikrokontrolerów STMLxx. www.st.com/stml, Nota aplikacyjna AN Getting started with STML series hardware development. www.st.com/web/en/seminar.html Szkolenie online STML Online Training ELEKTRONIKA PRAKTYCZNA /0 0