Bezpłatna biblioteka techniczna ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ Mikrokontrolery STM32 i płytki debugujące do nich. Encyklopedia elektroniki radiowej i elektrotechniki Encyklopedia radioelektroniki i elektrotechniki / Ham Radio Technologie Od wielu lat radioamatorzy używają ośmiobitowych mikrokontrolerów z rodziny PIC i AVR. Cieszą się popularnością ze względu na niską cenę, szczegółową dokumentację, łatwość programowania i łatwość instalacji. Jednak dość często zdarzają się przypadki, gdy moc takiego mikrokontrolera nie wystarcza do rozwiązania zadania. Najprostszym przykładem jest miernik częstotliwości lub generator sygnału na mikrokontrolerze, gdzie maksymalna mierzona lub generowana częstotliwość zależy bezpośrednio od szybkości przetwarzania lub wyprowadzania informacji. Oprócz szybkości ośmiobitowe mikrokontrolery mają inne ograniczenia, na przykład w wielu modelach AVR jest tylko jeden sprzętowy port szeregowy, co nie pozwala na odbieranie informacji z urządzenia zewnętrznego i jednoczesne wysyłanie wyników ich przetwarzania do konsumenta. Nie wspominając już o takich „banalnych” rzeczach, jak wyświetlanie informacji na wskaźniku graficznym, co wymaga dużych zasobów, zarówno szybkości, jak i pamięci. Po przeanalizowaniu szeregu takich ograniczeń autor wpadł na pomysł przejścia na mikrokontrolery z rodziny STM32. Rozważmy na przykład dwa mikrokontrolery z tej samej kategorii cenowej - STM32F103C6 i ATmega328P. Tabela 1
Ich parametry porównawcze podano w tabeli. 1. Wyniki porównania są wręcz zaskakujące. Mikrokontroler 32-bitowy jest nie tylko bardziej wydajny niż mikrokontroler ośmiobitowy pod prawie wszystkimi względami, ale jest również tańszy. Oczywiście lutowanie mikrokontrolera o rastrze pinów 0,5 mm w warunkach domowych nie jest takie proste. Na szczęście w większości przypadków nie jest to wymagane - na rynku dostępnych jest wiele odmian płytek debugujących z mikrokontrolerami z rodziny STM32, wystarczających do różnych zastosowań. Rozważmy je bardziej szczegółowo. STM32F4-ODKRYWANIE Ta płyta (pokazana na ryc. 1) jest prawdopodobnie najwygodniejsza dla początkujących do studiowania mikrokontrolerów STM. Po pierwsze, ma duży zestaw urządzeń peryferyjnych. Oprócz mikrokontrolera na płytce znajduje się mikroelektromechaniczny akcelerometr, mikrofon, przetwornik cyfrowo-analogowy audio, dwa złącza USB, przycisk i cztery diody LED.
Wyjścia mikrokontrolera wyprowadzone są na pola stykowe umożliwiające montaż złączy pinowych przy lewej i prawej krawędzi płytki, co ułatwia podłączenie do nich wszystkich niezbędnych urządzeń zewnętrznych. Zainstalowany na płytce mikrokontroler STM32F407VGT6 ma bardzo dobre parametry: 1 MB pamięci FLASH, 192 KB pamięci RAM oraz częstotliwość taktowania 168 MHz. I wreszcie, płytka jest wyposażona we wbudowany debugger ST-LINK/V2, za pomocą którego można debugować programy nie tylko na mikrokontrolerze na płytce, ale także na mikrokontrolerach z tej samej rodziny, które znajdują się na innych płytkach. Przełączanie na nie odbywa się za pomocą zdejmowanej zworki i złącza SWD. Cena tablicy wynosi około 800 rubli, co można uznać za całkiem do przyjęcia. Płytka rozwojowa STM32F103RBT6 Następną ciekawą opcją jest płytka debugująca z mikrokontrolerem STM32F103RBT6 (rys. 2).
Jest nieco słabsza od tej zainstalowanej na poprzedniej płycie - taktowanie 72 MHz, 128 KB pamięci FLASH i 20 KB RAM, ale peryferia są bardzo ciekawe. Ekran dotykowy TFT 320x240px 2.8', wbudowany port USB do komunikacji z PC, slot na kartę pamięci SD, zegar kwarcowy 32768Hz, komora baterii zegara czasu rzeczywistego oraz złącze ST-LINK do debugowania programów. Cena tej płyty to również około 800 rubli, ale należy zauważyć, że nie ma na niej wbudowanego debuggera. Aby pobrać programy, musisz albo kupić oddzielny debugger ST-LINK, albo zamiast tego użyć omówionej powyżej płyty STM32F4-DISCOVERY Klon Mini Zewnętrzne podobieństwo tej płytki (rys. 3) do znanych modułów Arduino jest uderzające. I to nie przypadek.
Płytka Maple Mini została zaprojektowana jako zamiennik Arduino Nano. Język programowania i środowisko programistyczne mikrokontrolerów z rodziny AVR instalowanych na Arduino zostały dostosowane do rodziny STM. Zobacz http://leaflabs.com/docs/maple-q uickstart.html, aby uzyskać więcej informacji na temat języka programowania Maple IDE i środowiska programistycznego. Płytka rozwojowa posiada mikrokontroler STM32F103CBT6 pracujący z częstotliwością 72 MHz, wyposażony w 128 KB pamięci FLASH i 20 KB pamięci RAM, czyli bez wątpienia więcej niż w jakimkolwiek module Arduino. A tym większym plusem jest to, że środowisko deweloperskie niewiele się zmieniło. Osobno zauważamy, że mimo miniaturowych rozmiarów Maple Mini zapewnia bardzo zróżnicowane peryferia: 34 linie I/O, dwa kanały interfejsu SPI i dwa I2C, trzy porty szeregowe. Pozwala to z powodzeniem zastosować go w różnych opracowaniach amatorskich. Ze względu na niewielkie rozmiary Maple Mini można wbudować bezpośrednio w opracowywane urządzenie. Oryginalną tablicę Maple Mini można kupić za 35 USD na oryginalnej stronie internetowej Maple Mini. Kolejne 5 dolarów będzie kosztować wysyłkę. Kopia płytki wyprodukowana w Chinach będzie kosztować o połowę mniej. Oprogramowanie Istnieje kilka opcji środowisk programistycznych, które można wykorzystać do przygotowania programów dla mikrokontrolerów z rodziny STM32: - komercyjne IAR Embedded Workbench, AtollicTrueSTUDIO, Keil itp. Te w pełni funkcjonalne produkty są dość drogie, z ceną licencji 1000 euro, ale są też darmowe wersje demo z ograniczeniem ilości rozwijanego programu, są wystarczająco dużo dla większości prostych projektów; - darmowy Eclipse z kompilatorem ARM-GCC wymaga nietrywialnej konfiguracji kompilatora przed użyciem. Jedynym plusem dzisiaj jest możliwość pracy nie tylko w systemie Windows, ale także w systemie Linux; - darmowy CooCox IDE (CoIDE) oparty na tym samym edytorze Eclipse. Wykonuje ładowanie i debugowanie programów przez ST-LINK. W przeciwieństwie do poprzedniej wersji, CoIDE nie wymaga żadnych specjalnych ustawień i działa natychmiast po instalacji. Ta opcja jest najwygodniejsza i powinna być używana. Wykorzystajmy CooCox IDE do stworzenia przykładowego programu dla płytki STM32F4-DISCOVERY, który implementuje klasykę jako pierwszy program dla dowolnego mikrokontrolera migającego diodami LED. Na płytce STM32F4-DIS-COVERY znajdują się cztery diody LED, są one podłączone do pinów PD12-PD15 mikrokontrolera. Sprawmy, by migały na przemian. Krok 1. Uruchamiamy środowisko programistyczne CoIDE, tworzymy projekt. Z listy rozwijanej pokazanej na rys. 4, wybierz mikrokontroler STM32F407VG.
Krok 2. Jak pokazano na ryc. 5 wybierz komponenty, które będą użyte w projekcie. Główne z nich to GPIO (wejście-wyjście), biblioteka C (podstawowe funkcje języka C) i M4 Core (funkcje rdzenia procesora). Po aktywacji jednego lub drugiego komponentu CoIDE automatycznie kopiuje niezbędne pliki do folderu projektu, co jest bardzo wygodne.
Krok 3. Wprowadzanie tekstu programu. Jest dość krótki i jest pokazany w tabeli. 2. Jak widać, wszystko jest proste i oczywiste. Ci, którzy pisali programy dla mikrokontrolerów AVR, z pewnością zobaczą znajome konstrukcje - inicjalizację portów wskazującą kierunek (wejście lub wyjście), główną pętlę, w której wykonywane są niezbędne akcje. Ogólnie rzecz biorąc, składnia programu jest w pełni zgodna z językiem C, którego literatura jest więcej niż wystarczająca. W Internecie jest również wiele artykułów na temat programowania dla STM32. Wiele przykładów jest dostarczanych z płytką rozwojową i mogą być również używane jako próbki. Po wprowadzeniu tekstu programu poprzez naciśnięcie przycisku ekranowego „Pobierz do flasha”, jest on ładowany do mikrokontrolera. Diody LED na płycie zaczną migać. Osobno warto zwrócić uwagę na możliwości debugowania – punkt przerwania można ustawić w dowolnym miejscu programu, można uruchamiać program krok po kroku, przeglądając wartości zmiennych. Oczywiście ten przykład nie jest doskonały. Na przykład, aby kontrolować miganie diod LED, możesz użyć przerwań czasowych, co zwalnia główną pętlę programu do innych zadań. Ci, którzy chcą, mogą sobie z tym poradzić samodzielnie. wniosek Ogólnie rzecz biorąc, po pierwszej znajomości mikrokontrolery z rodziny STM32 pozostawiły bardzo przyjemne wrażenie. Wszystko okazało się nie takie trudne, a wygoda środowiska programistycznego, proces debugowania i duża liczba standardowych funkcji nawet w jakiś sposób przypomniały mi przejście z Ms DOS na Windows - ogólne punkty wydają się takie same, ale wszystko jest o wiele wygodniejsze i bardziej funkcjonalne. Ale główną wadą tej rodziny dla rozwoju amatorskiego jest wciąż zbyt mały krok wniosków. Zaprojektowanie i zlutowanie płytki o rastrze ołowiu 0,5 mm w warunkach domowych to zadanie bardzo nietrywialne. Ale przy obecnych cenach płytki debugujące z już zamontowanymi mikrokontrolerami są całkiem dostępne dla każdego radioamatora. Czy warto przerobić wszystko na STM i architekturę 32-bitową? Oczywiście nie. Są zadania, do których wystarczy ATtiny. Ale na przykład, aby analizować widmo w domowym odbiorniku SDR lub odbierać i przesyłać duże ilości informacji przez sieć, znacznie wydajniej jest natychmiast użyć potężnego mikrokontrolera, aby nie wpaść w brak pamięci lub wydajności podczas ulepszania urządzenia. Autor: D. Eliuseev Zobacz inne artykuły Sekcja Ham Radio Technologie. Czytaj i pisz przydatne komentarze do tego artykułu. Najnowsze wiadomości o nauce i technologii, nowa elektronika: Maszyna do przerzedzania kwiatów w ogrodach
02.05.2024 Zaawansowany mikroskop na podczerwień
02.05.2024 Pułapka powietrzna na owady
01.05.2024
Inne ciekawe wiadomości: ▪ Od chorego dawcy wyrosła zdrowa wątroba ▪ Samochód elektryczny Thunder Power o zasięgu do 600 km ▪ Oświetlenie nocne wpływa na zachowanie ryb Wiadomości o nauce i technologii, nowa elektronika
Ciekawe materiały z bezpłatnej biblioteki technicznej: ▪ sekcja witryny Eksperymenty chemiczne. Wybór artykułu ▪ artykuł Charlesa Maurice'a de Talleyrand-Périgord. Słynne aforyzmy ▪ artykuł Który rosyjski pisarz przyczynił się do niepodległości Indii? Szczegółowa odpowiedź ▪ artykuł Kompozycja funkcjonalna telewizorów Tamashi. Informator ▪ artykuł Przysłowia i powiedzenia ujgurskie. Duży wybór
Zostaw swój komentarz do tego artykułu: Wszystkie języki tej strony Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn www.diagram.com.ua |