Коротко про плату STM32F103C6T6 / C8T6
Компактна плата розробника на 32-бітному мікроконтролері STM32F103 з ядром Arm Cortex-M3 призначена для навчання, прототипування, керування периферією та створення вбудованих пристроїв. Мікроконтролер працює на частоті до 72 МГц, а плата має Micro-USB, кнопку RESET, перемички вибору режиму завантаження та виводи для підключення зовнішніх модулів.
На платі може бути встановлено STM32F103C6T6 або STM32F103C8T6. Перед вибором цільового профілю та компонуванням прошивки перевірте маркування мікроконтролера: C6T6 має 32 КБ Flash і 10 КБ SRAM, C8T6 — 64 КБ Flash і 20 КБ SRAM.[1][2]
Ключові характеристики
- Мікроконтролер
- STM32F103C6T6 або STM32F103C8T6
- Ядро
- 32-бітне Arm Cortex-M3
- Тактова частота
- до 72 МГц
- Пам’ять C6T6
- 32 КБ Flash, 10 КБ SRAM
- Пам’ять C8T6
- 64 КБ Flash, 20 КБ SRAM
- Інтерфейси
- USART, SPI, I²C, ADC, PWM та інша периферія STM32F103
- Живлення плати
- 3,3–5 В відповідно до входу живлення
- Логічний рівень
- 3,3 В; допустимість 5 В перевіряють для кожного конкретного виводу
- Роз’єм
- Micro-USB
- Програмування та налагодження
- SWD/JTAG; системний завантажувач через USART
- Розміри плати
- 54 × 23,2 × 11,5 мм
Детальний опис та особливості
Дві модифікації з різним обсягом пам’яті
STM32F103C6T6 і STM32F103C8T6 мають однакову максимальну частоту ядра 72 МГц, але відрізняються обсягом Flash і SRAM.[1][2] Проєкт для C8T6 може не вміститися у пам’ять C6T6, тому профіль мікроконтролера в IDE та розмір секцій пам’яті мають відповідати маркуванню встановленого чипа.
Периферія для прототипування
Виводи плати дають змогу працювати з цифровими сигналами, АЦП, PWM та послідовними інтерфейсами USART, SPI й I²C. Це дозволяє підключати датчики, дисплеї, драйвери та модулі зв’язку, якщо їхні рівні напруги й протокол сумісні з 3,3-вольтовою логікою STM32.
Мікроконтролери STM32F103C6T6 і C8T6 також мають апаратні USB та CAN-контролери.[1][2] Для практичного використання потрібні відповідна прошивка й коректне зовнішнє обв’язування; роз’єм Micro-USB сам по собі не гарантує готового USB-пристрою, а для CAN потрібен окремий фізичний трансивер.
Прошивання та налагодження
Інтерфейс SWD підходить для запису прошивки, покрокового налагодження та відновлення плати. Системний завантажувач STM32 дає альтернативний спосіб запису через підтримуваний послідовний інтерфейс після вибору режиму BOOT.[3] Завантаження через Micro-USB можливе лише за наявності сумісної користувацької прошивки або попередньо встановленого USB-завантажувача.
Для розробки можна використовувати STM32CubeIDE, PlatformIO або Arduino IDE з установленим пакетом підтримки STM32. У всіх випадках спочатку виберіть точний мікроконтролер C6T6 чи C8T6 та правильний метод завантаження.
Підійде / не підійде
Підійде
- для вивчення STM32, Cortex-M3 і розробки вбудованого програмного забезпечення;
- для прототипів із датчиками, дисплеями та модулями через USART, SPI або I²C;
- для систем керування з PWM, таймерами та аналого-цифровим перетворенням;
- для проєктів, де достатньо 32 КБ Flash і 10 КБ SRAM у C6T6 або 64 КБ Flash і 20 КБ SRAM у C8T6;
- для роботи через SWD із можливістю налагодження програми.
Не підійде
- як плата з гарантованою конкретною модифікацією без перевірки маркування C6T6 або C8T6;
- для прямого підключення будь-яких 5-вольтових сигналів без перевірки допустимості конкретного GPIO;
- для безпосереднього керування двигунами, реле та іншими силовими навантаженнями без відповідного драйвера;
- як готовий CAN-вузол без зовнішнього трансивера;
- для гарантованого прошивання одним кабелем Micro-USB без попередньо встановленого сумісного завантажувача.
Версії та сумісність
| Параметр | STM32F103C6T6 | STM32F103C8T6 |
|---|---|---|
| Flash | 32 КБ[1] | 64 КБ[2] |
| SRAM | 10 КБ[1] | 20 КБ[2] |
| Максимальна частота ядра | 72 МГц | 72 МГц |
| Практичний вибір | компактніші прошивки з меншим використанням RAM | проєкти, яким потрібен більший запас Flash і SRAM |
Точну модифікацію визначають за написом STM32F103C6T6 або STM32F103C8T6 на корпусі мікроконтролера.
Приклади застосування
Збір даних із датчиків
Плата може опитувати цифрові датчики через I²C або SPI та аналогові джерела через ADC, обробляти результати й передавати їх через USART. Рівні сигналів підключених модулів мають бути сумісні з 3,3 В.
Контролер автоматики
GPIO, таймери та PWM підходять для керування індикаторами, драйверами реле, сервоприводів або двигунів. Силове навантаження підключають через окремий драйвер, а не безпосередньо до GPIO.
Навчальний стенд STM32
SWD дає змогу завантажувати програму, ставити точки зупинки, переглядати регістри та покроково аналізувати виконання коду в STM32CubeIDE або іншому сумісному середовищі.
Підключення та перший запуск
Перевірте мікроконтролер
Прочитайте маркування на корпусі та виберіть у середовищі розробки STM32F103C6T6 або STM32F103C8T6. Не задавайте для C6T6 обсяг пам’яті C8T6.
Оберіть спосіб програмування
Для SWD з’єднайте SWDIO, SWCLK, GND і опорну напругу відповідно до підписів плати та програматора. Для системного завантажувача через USART використовуйте USB-UART адаптер із логікою 3,3 В та встановіть перемички BOOT у потрібний режим.
Подайте правильне живлення
Подавайте 5 В через Micro-USB або позначений 5-вольтовий вхід, а стабілізовані 3,3 В — лише через відповідний вхід 3V3. Перед увімкненням звірте позначення контактів на платі.
Перевірте рівні периферії
З’єднайте землі всіх модулів і не подавайте 5 В на сигнальний вивід, доки його 5-вольтова толерантність не підтверджена таблицею контактів для вибраного STM32.
Обмеження та безпека
Не плутайте живлення плати й логічні рівні
Живлення 5 В через Micro-USB або 5-вольтовий вхід не робить усі GPIO 5-вольтовими. Неприпустима напруга на сигнальному виводі може пошкодити мікроконтролер.
Micro-USB не гарантує готового завантажувача
Якщо плата не визначається комп’ютером як USB-пристрій, використовуйте SWD або системний завантажувач через USART. Не змінюйте положення BOOT-перемичок при поданому живленні.
Ураховуйте встановлену модифікацію
Прошивка, зібрана для 64 КБ Flash і 20 КБ SRAM, може не працювати на STM32F103C6T6 з 32 КБ Flash і 10 КБ SRAM.
GPIO не призначені для силового навантаження
Двигуни, реле, потужні світлодіоди та інші навантаження підключайте через драйвер із належним живленням і захистом від імпульсів.
Програматори та адаптери
- ST-LINK V2 mini для STM8/STM32 — для програмування й налагодження плати через SWD.
- USB–TTL UART адаптер CH340G — для системного завантажувача через USART; перед підключенням установіть логічний рівень 3,3 В.
FAQ
Як визначити, C6T6 це чи C8T6?
Точну модифікацію показує маркування на корпусі мікроконтролера. Для C6T6 налаштовуйте 32 КБ Flash і 10 КБ SRAM, для C8T6 — 64 КБ Flash і 20 КБ SRAM.
Чи можна прошити плату лише кабелем Micro-USB?
Лише якщо на платі вже є сумісний USB-завантажувач або прошивка з відповідною функцією. Для першого запису надійніше використовувати SWD або системний завантажувач через USART.
Чи можна підключати сигнали 5 В?
Не до всіх контактів. Перевірте тип конкретного виводу в документації STM32; для непідтверджених або нетолерантних входів використовуйте перетворювач логічних рівнів чи дільник напруги.
Чи підтримується Arduino IDE?
Так, після встановлення пакета підтримки STM32. Виберіть профіль, що відповідає фактичному C6T6 або C8T6, обсягу пам’яті та способу завантаження.
Документи та джерела
- STMicroelectronics, STM32F103x4 / STM32F103x6 datasheet, DocID15060 Rev 7 — характеристики STM32F103C6T6, пам’ять, частота, живлення та периферія.
- STMicroelectronics, STM32F103x8 / STM32F103xB datasheet, DS5319 Rev 20 — характеристики STM32F103C8T6, пам’ять, частота, живлення та периферія.
- STMicroelectronics, AN2606: Introduction to system memory boot mode on STM32 MCUs, Rev 70 — системний завантажувач і вибір режиму завантаження STM32F10xxx.