Кратко о плате 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.