Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ Мікроконтролери STM32 та налагоджувальні плати для них. Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Технології радіоаматора Вже багато років радіоаматори використовують восьмирозрядні мікроконтролери сімейств PIC і AVR. Вони популярні завдяки низькій ціні, наявності детальної документації, простоті програмування та легкості монтажу. Однак досить часто трапляються випадки, що потужності такого мікроконтролера для вирішення поставленого завдання недостатньо. Найпростіший приклад - частотомір або генератор сигналів на мікроконтролері, де максимальна частота, що вимірюється або генерується, безпосередньо залежить від швидкості обробки або виведення інформації. Крім швидкості, восьмирозрядні мікроконтролери мають інші обмеження, наприклад, у багатьох моделях AVR всього один апаратний послідовний порт, що не дозволяє отримувати інформацію від зовнішнього пристрою і одночасно пересилати результати її обробки споживачеві. Не кажучи вже про такі "банальні" речі, як виведення інформації на графічний індикатор, що потребує великих ресурсів як швидкості, так і пам'яті. Після аналізу низки таких обмежень у автора виникла думка про перехід на мікроконтролери сімейства STM32. Для прикладу розглянемо два мікроконтролери однієї цінової категорії - STM32F103C6 та ATmega328P. Таблиця 1
Їхні порівняльні параметри наведені в табл. 1. Результати порівняння навіть дещо дивують. 32-розрядний мікроконтролер не тільки потужніший за восьмирозрядний практично за всіма параметрами, але при цьому дешевше. Зрозуміло, паяти мікроконтролер з кроком висновків 0,5 мм в домашніх умовах не так просто. На щастя, найчастіше цього і не потрібно - на ринку є безліч різновидів налагоджувальних плат з мікроконтролерами сімейства STM32, достатніх для різних застосувань. Розглянемо їх докладніше. STM32F4-DISCOVERY Ця плата (вона зображена на рис. 1), мабуть, найбільш зручна для вивчення мікроконтролерів STM. По-перше, вона має великий набір периферійних пристроїв. Крім мікроконтролера, на платі встановлені мікроелектромеханічний акселерометр, мікрофон, аудіоЦАП, два роз'єми USB, кнопка та чотири світлодіоди.
Виводи мікроконтролера виведені на контактні майданчики для монтажу штирьових роз'ємів біля лівого та правого країв плати, що дозволяє легко підключати до них всі необхідні зовнішні пристрої. Встановлений на платі мікроконтролер STM32F407VGT6 має непогані параметри: 1 Мбайт FLASH-пам'яті, 192 Кбайт ОЗУ і тактову частоту 168 МГц. І нарешті, плата обладнана вбудованим відладчиком ST-LINK/V2, який можна використовувати для налагодження програм не тільки на мікроконтроллері, що є на платі, але і на мікроконтролерах того ж сімейства, що знаходяться на інших платах. Перемикання на них виконується за допомогою знімної перемички та роз'єму SWD. Ціна плати - близько 800 руб., Що вважатимуться цілком прийнятним. STM32F103RBT6 Development Board Наступним цікавим варіантом є налагоджувальна плата з мікроконтролером STM32F103RBT6 (рис. 2).
Він дещо слабший, ніж встановлений на попередній платі – тактова частота 72 МГц, 128 Кбайт FLASH-пам'яті та 20 Кбайт ОЗУ, проте периферійні пристрої дуже цікаві. Є сенсорний TFT-екран з роздільною здатністю 320x240 пкс і діагоналлю 2.8', вбудований USB-порт для обміну інформацією з комп'ютером, роз'єм для картки пам'яті SD, часовий кварц на 32768 Гц, відсік для елемента живлення годинника реального часу і роз'єм ST-LINK для налагодження програм. Ціна цієї плати також близько 800 руб., Але слід зазначити, що вбудованого відладчика на ній немає. Для завантаження програм необхідно або придбати окремий відладчик ST-LINK, або використовувати замість нього розглянуту плату STM32F4-DISCOVERY Maple Mini Впадає в око зовнішня схожість цієї плати (рис. 3) з широко відомими модулями Arduino. І це невипадково.
Плата Maple Mini була розроблена як заміна Arduino Nano. Мова програмування та середовище розробки для встановлюваних Arduino мікроконтролерів сімейства AVR були адаптовані під сімейство STM. На веб-сторінці http://leaflabs.com/docs/maple-q uickstart.html можна знайти детальну інформацію про мову програмування та середовище розробки Maple IDE. Налагоджувальна плата має мікроконтролер STM32F103CBT6, що працює на тактовій частоті 72 МГц, що має 128 Кбайт FLASH-пам'яті та 20 Кбайт ОЗУ, що, безперечно, більше, ніж у будь-якому модулі Arduino. І тим більший плюс, що середовище розробки практично не змінилося. Окремо зауважимо, що незважаючи на мініатюрні розміри, Maple Mini надає досить різноманітну периферію: 34 лінії вводу/виводу, два інтерфейсні канали SPI і два I2C, три послідовні порти. Це дозволяє з успіхом застосовувати її у різних аматорських розробках. Завдяки малим розмірам Maple Mini може бути вбудована безпосередньо в пристрій, що розробляється. Оригінальну плату Maple Mini можна придбати за 35 дол. США на сайті її розробників. Ще 5 дол. США коштуватиме доставка. Копія плати, виготовлена в Китаї, коштуватиме вдвічі дешевше. Програмне забезпечення Існують кілька варіантів середовищ розробки, які можна використовувати для підготовки програм для мікроконтролерів сімейства STM32: - комерційні IAR Embedded Workbench, AtollicTrueSTUDIO, Keil та ін. Ці повнофункціональні продукти досить дорогі, з ціною ліцензії від 1000 євро, але є й демонстраційні безкоштовні версії з обмеженням на обсяг програми, що розробляється, для більшості нескладних проектів їх цілком вистачає; - безкоштовний Eclipse з компілятором ARM-GCC вимагає нетривіального налаштування компілятора перед використанням. Єдиний плюс на сьогоднішній день - можливість роботи не тільки у Windows, а й у Linux; - Безкоштовна CooCox IDE (CoIDE) на базі того ж редактора Eclipse. Виконує завантаження та налагодження програм через ST-LINK. На відміну від попереднього варіанта, CoIDE не вимагає будь-яких спеціальних налаштувань і працює відразу після встановлення. Цей варіант найбільш зручний, ним і варто скористатися. Скористаємося CooCox IDE для створення прикладу програми для плати STM32F4-DISCOVERY, що реалізує класичне для першої програми для будь-якого мікроконтролера миготіння світлодіодів. На платі STM32F4-DIS-COVERY є чотири світлодіоди, підключені вони до висновків PD12-PD15 мікроконтролера. Зробимо так, щоб вони блимали по черзі. Крок 1. Запускаємо середовище розробки CoIDE, створюємо проект. З списку, що випадає, показаного на рис. 4, вибираємо мікроконтролер STM32F407VG.
Крок 2. Як показано на рис. 5, вибираємо компоненти, які будуть використані у проекті. Основні з них – це GPIO (введення-виведення), С Library (базові функції мови С) та M4 Core (функції ядра процесора). При активізації того чи іншого компонента CoIDE автоматично копіює потрібні файли до папки проекту, що дуже зручно.
Крок 3. Введення тексту програми. Він досить короткий і наведено у табл. 2. Як можна бачити все просто і очевидно. Ті, хто писав програми для мікроконтролерів AVR, напевно побачать знайомі конструкції - ініціалізацію портів із зазначенням напряму (введення чи виведення), головний цикл, у якому виконуються потрібні дії. У цілому нині синтаксис програми повністю відповідає мови З, літератури яким більш ніж достатньо. Статей із програмування для STM32 в Інтернеті також чимало. Багато прикладів поставляється разом із налагоджувальною платою, їх також можна використовувати як зразки. Після введення тексту програми натисканням на екранну кнопку "Download to flash" вона завантажується у мікроконтролер. Світлодіоди на платі починають блимати. Окремо варто відзначити можливості налагодження – у будь-якому місці програми може бути поставлена точка зупинки, можна запускати програму по кроках, переглядаючи значення змінних. Зрозуміло, цей приклад не є ідеальним. Наприклад, для керування блиманням світлодіодів можна скористатися перериваннями від таймера, що звільнить головний цикл програми для інших завдань. Бажаючі можуть розібратися із цим самостійно. Висновок Загалом після першого знайомства мікроконтролери сімейства STM32 залишили дуже приємне враження. Все виявилося не так складно, а зручність середовища розробки, процесу налагодження та велика кількість стандартних функцій чимось навіть нагадали перехід від Ms DOS до Windows – загальні моменти на кшталт ті ж, але все набагато зручніше та функціональніше. Але головним недоліком цього сімейства для аматорських розробок таки залишається надто дрібний крок висновків. Спроектувати та спаяти плату з кроком висновків 0,5 мм у домашніх умовах – завдання дуже нетривіальне. Але за існуючих цін кожному радіолюбителю цілком доступні налагоджувальні плати з вже змонтованими мікроконтролерами. Чи варто переробляти все на STM та 32-розрядну архітектуру? Звичайно ж ні. Є завдання, для вирішення яких і ATtiny цілком достатньо. Але, наприклад, для аналізу спектра в саморобному SDR-приймачі або прийому-передачі великих обсягів інформації по мережі набагато ефективніше відразу застосувати потужний мікроконтролер, щоб не впертись у недолік пам'яті або продуктивності при вдосконаленні пристрою. Автор: Д. Єлюсєєв Дивіться інші статті розділу Технології радіоаматора. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Штучна шкіра для емуляції дотиків
15.04.2024 Котячий унітаз Petgugu Global
15.04.2024 Привабливість дбайливих чоловіків
14.04.2024
Інші цікаві новини: ▪ Мікроелектроди допомагають дізнатися задумане людиною слово ▪ На МКС встановлять датчик космічного сміття ▪ Датчик зображення типу CMOS із глобальним затвором та розширеним динамічним діапазоном ▪ Вчені порівняли сендвічі з радіацією ▪ CDMA-телефон від Nokia з GPS-модулем Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ розділ сайту Охорона праці. Добірка статей ▪ стаття Леонардо да Вінчі. Знамениті афоризми ▪ стаття Що таке керлінг? Детальна відповідь ▪ стаття Начальник відділу збуту. Посадова інструкція ▪ стаття Ефект Fade Out для LED на мікроконтролері Енциклопедія радіоелектроніки та електротехніки ▪ стаття Нагріємо спицю. Фізичний експеримент
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |