STM32. Урок 1. Вибір налагоджувальної плати

В останній час мікроконтролери від ST Microelectronics на основі ядра Cortex почали активно набирати популярність, як серед професійних, так і серед початківців розробників пристроїв на мікроконтролерах. Причин тому кілька:
- невисока ціна в порівнянні з конкурентами;
- велика кількість вбудованих інтерфейсів;
- простота в програмуванні та висока надійність.
Але при цьому є й один важливий недолік – всі мікроконтролери STM не випускаються в DIP корпусах, що часто просто відлякує новачків, адже виготовити плату з доріжками менше 0,3 мм в домашніх умовах проблематично. Таке становище справ призвело до появи на ринку величезної кількості налагоджувальних плат, як від ST Microelectronics (Discovery), так і плати, випущені сторонніми фірмами (Olimex, Pinboard). Мій вибір припав на Discovery з трьох причин:
- відносно невисока ціна (плату можна купити від 300 грн.);
- хороша якість виконання (хоча деякі претензії до разводки є, але вони не такі суттєві);
- багато вихідних кодів і прикладів викладено на сайті виробника;
- наявність вбудованого програматора (вам не доведеться купувати його окремо).
Мета першого уроку – допомогти починаючому розробнику вибрати налагоджувальну плату, а в подальшому – навчити основам програмування.
Отже, поїхали.

STM32F0DISCOVERY

STM32F0DISCOVERY.jpg

Ця плата була випущена в лютому 2012 року з метою залучення розробників, які раніше використовували 8-ми бітні мікроконтролери, тим самим зайнявши цю нішу. Нічого поганого, як і хорошого, про неї сказати не можу. Звичайна плата, недорога, для початку підходить відмінно. Має такі характеристики:
- мікроконтролер: STM32F051R8T6 (Cortex M0, 48МГц, flash 64Кб, RAM 8Кб);
- вбудований ST-link/V2, який можна використовувати окремо від плати;
- живлення від USB або від зовнішнього джерела 3/5В;
- 4 світлодіода та 2 кнопки;
- інтерфейси: USART, SPI, I2C, HDMI;
- таймери 16 та 32 біти;
- всі виводи виведені на дві однорядні гребінки.
Власне така плата вже достатньо застаріла, і брати її рекомендується тільки для самого початку навчання.

STM32VLDISCOVERY

STM32VLDISCOVERY.jpg

Відрізняється від попередньої плати тільки процесором STM32F100RBT6B (Cortex M3, 24МГц, flash 128Кб, RAM 8Кб) та разводкою гребінок периферії. Також, як і вище розглянута, підходить для початківців розробників. Більше про неї сказати і немає чого.

STM32LDISCOVERY

STM32L-DISCOVERY.jpg

STM32LDISCOVERY гідний результат еволюції попередньої плати. Ось що в ній є цікавого:
- мікроконтролер STM32L152RBT6 (Cortex M3, 32МГц, flash 128Кб, RAM 8Кб, EEPROM 4Кб)
- інтерфейси: USB, USART, SPI, I2C;
- 8 таймерів;
- 24-канальний 12-бітний АЦП;
- 12-бітний ЦАП;
- годинник реального часу;
- контролер LCD 8х40
- вбудований ST-link/V2.
На платі встановлені:
- LCD дисплей 24х8;
- 4 світлодіода;
- 2 кнопки;
- сенсорна клавіатура;
- 2 однорядні гребінки зі вільними виводами.
Про USB хочеться сказати окремо: контролер підтримує USB 2.0 full speed, режими host і device, що нечасто зустрічається у МК такого класу.
По суті, плата оптимальний варіант для роботи з ядром Cortex-M3, так що можна сміливо брати, благо ціна невисока.

STM32F3DISCOVERY

STM32F3DISCOVERY.jpg

STM32F3DISCOVERY відноситься до наступного покоління налагоджувальних плат від STM і володіє такими характеристиками:
- мікроконтролер STM32F303VCT6 (Cortex M4, 72МГц, flash 256Кб, RAM 48Кб)
- годинник реального часу;
- вбудований ST-link/V2;
- 13 таймерів;
- 12 канальний DMA контролер;
- 4 АЦП;
- 4 операційних підсилювача;
- інтерфейси: CAN, USB 2.0, USART/UART, SPI, I2C;
- 87 ліній GPIO.
На платі розміщена наступна периферія:
- користувацький USB-порт;
- 3-х осьовий акселерометр і 3-х осьовий геомагнітний сенсор в одному корпусі;
- 3-х осьовий гіроскоп;
- 10 світлодіодів;
- 2 кнопки;
- 2 дворядні гребінки.
Дуже цікава плата, багато можливостей для експериментів. В цілому думка про неї залишилося хорошим, але її спеціалізація під відстеження фізичного стану і положення сильно скорочує простір для експериментів, хоча легко можна самому зробити плату розширення.

STM32F4DISCOVERY

STM32F4DISCOVERY.jpg

З цією платою мені довелося працювати більше за все, та й сподобалася вона мені більше інших – позначилася її всебічна спрямованість.
Ось що вона з себе представляє:
- мікроконтролер STM32F407VGT6 (Cortex M4, 168МГц, flash 1Мб, RAM 192Кб)
- вбудований ST-link/V2;
- таймери;
- DMA контролер;
- АЦП/ЦАП;
- інтерфейси: CAN, USB 2.0, USART/UART, SPI, I2C, GPIO;
На платі розміщена наступна периферія:
- користувацький USB-порт;
- 3-х осьовий акселерометр;
- 8 світлодіодів;
- 2 кнопки;
- 2 дворядні гребінки;
- аудіо ЦАП з підсилювачем класу D;
- всенаправлений цифровий мікрофон.

Як я писав вище, ця плата стала для мене основною, порадувала здатність роботи зі звуком, акселерометром.

Подальші уроки будуть базуватися саме на цій платі.

Резюме.
Якщо ви вирішили почати працювати з налагоджувальними платами STM, то раджу брати саме STM32F4DISCOVERY, на мій погляд, у неї найбільший функціонал. Подальші статті будуть базуватися саме на роботі з нею. У найближчий час будуть написані статті на наступні теми:
- робота з GPIO, таймерами, перериваннями і т.п.;
- робота з інтерфейсами UART, SPI, I2C та 1-wire на прикладах реальних пристроїв, таких як дисплеї, GPS і GSM модулі, датчики температури, зв'язок з комп'ютером по RS-232 і багато іншого.
Кінцева мета цього циклу – створення плати розширення для STM32F4. Усі прошивки та схеми будуть загальнодоступні.

Top