Микроконтроллер STM8S105C6 — это надежное, устойчивое и экономичное решение для встраиваемых систем, отличающееся превосходной производительностью, гибкостью в поддержке периферийных устройств и низким энергопотреблением. Будь то промышленные, автомобильные или бытовые электронные приложения, этот микроконтроллер обладает всеми необходимыми функциями для разработки высококачественных встраиваемых продуктов. В этой статье мы расскажем о микроконтроллере STM8S105C6 и о том, как его программировать с помощью UART.
Введение в STM8S105C6
STM8S105C6 входит в семейство микроконтроллеров STM8S, производимых компанией STMicroelectronics. Он основан на архитектуре ядра STM8 и предназначен для широкого спектра применений в встраиваемых системах, таких как автомобилестроение, промышленное управление, домашняя автоматизация и бытовая электроника. STM8S105C6 сочетает в себе высокую производительность, низкое энергопотребление и широкий набор периферийных устройств, что делает его универсальным и экономичным решением для многих встраиваемых приложений.
Основные характеристики STM8S105C6
- Ядро: 8-разрядное ядро STM8 с высокой скоростью обработки данных.
- Тактовая частота: микроконтроллер работает с максимальной частотой 16 МГц.
- Память:
- Флэш-память: 32 КБ встроенной программируемой флэш-памяти.
- RAM: 2 КБ SRAM для хранения данных.
- Периферийные устройства:
- Порты ввода-вывода: 16 универсальных выводов ввода-вывода.
- Таймеры: 2 универсальных 16-разрядных таймера, 1 сторожевой таймер.
- Коммуникационные интерфейсы: UART (универсальный асинхронный приемопередатчик) для последовательной связи, SPI (последовательный периферийный интерфейс), I2C (межчиповая интегральная схема).
- Аналоговые функции: 1 АЦП (аналого-цифровой преобразователь) с 8 каналами, разрешение 10 бит.
- ШИМ (Широтно-импульсная модуляция): Возможность генерации ШИМ-сигналов для управления двигателями или светодиодами.
- Диапазон напряжения: Работает в диапазоне напряжений от 2,95 В до 5,5 В, что делает его подходящим для различных конфигураций источников питания.
- Низкое энергопотребление: оптимизирован для работы с низким энергопотреблением, с несколькими режимами энергосбережения, такими как Sleep, Wait и Halt.
- Инструменты разработки: STM8S105C6 поддерживается различными инструментами разработки, включая STVD (STM8 Development Environment) от STMicroelectronics, IAR Embedded Workbench и другие IDE (интегрированные среды разработки) сторонних производителей.
- Варианты корпуса: STM8S105C6 доступен в 32-контактном корпусе LQFP (Low-profile Quad Flat Package), что делает его компактным и легко интегрируемым в широкий спектр конструкций.
Технические характеристики STM8S105C6
| Feature | Specification |
|---|---|
| Core | 8-bit STM8 core |
| Clock Speed | Up to 16 MHz |
| Flash Memory | 32KB (in-system programmable) |
| SRAM | 2KB |
| Voltage Range | 2.95V to 5.5V |
| Timers | 2x 16-bit general-purpose timers |
| Watchdog Timer | Yes |
| Communication Interfaces | UART, SPI, I2C |
| Analog Features | 8-channel, 10-bit ADC |
| PWM Channels | Yes |
| Operating Temperature Range | -40°C to 125°C |
| Package Type | 32-pin LQFP |
STM8S105C6 Распиновка

Блок-схема STM8S105C6

Как запрограммировать STM8 через UART
Помимо использования программатора STLINK, микроконтроллер STM8S105C6 можно программировать через интерфейс UART с помощью программного обеспечения Flash Loader Demonstrator для записи скомпилированных программ в микроконтроллер.
Необходимые инструменты:
- STVD-STM8 (версия: 42.0.0)
- IAR Embedded Workbench IDE (версия: 9.40.2)
- Flash Loader Demonstrator (версия: 2.8.0)
- Плата разработчика STM8S105C6
Для подробного объяснения процесса программирования мы разделили его на три этапа:
1. Включение BootLoader
Перед программированием через UART необходимо активировать на чипе опцию «BootLoader Enable» (Включить загрузчик). По умолчанию она включена на новых чипах. Однако после записи программы она отключается. Существует два способа включения загрузчика:
- Использование программного обеспечения ST LINK и STVP (ST Visual Programmer) для изменения OPTION BYTE чипа.
- Изменение OPTION BYTE с помощью программы.
Использование ST LINK для изменения OPTION BYTE
Сначала подключите ST LINK, плату разработчика STM8 и компьютер, а затем откройте программное обеспечение STVP (ST Visual Programmer). STVP устанавливается автоматически при настройке среды разработки STVD. Это полнофункциональный графический инструмент программирования, используемый для программирования флэш-памяти микроконтроллеров ST, который позволяет читать, редактировать и записывать данные в FLASH, EEPROM и OPTION BYTE STM8.

Затем измените OPTION BYTE, чтобы включить BootLoader. В программном обеспечении STVP перейдите на вкладку OPTION BYTE и найдите опцию BootLoader, которая обычно находится внизу списка OPTION BYTE. Нажмите «BootLoader Disable» (Отключить BootLoader) и выберите «BootLoader Enable» (Включить BootLoader) в раскрывающемся меню. После настройки нажмите «Program Current Tab» (Записать текущую вкладку) или «Program All Tabs» (Записать все вкладки) на панели инструментов, чтобы записать OPTION BYTE в микроконтроллер STM8, тем самым включив BootLoader.
Использование программы для изменения OPTION BYTE
Чтобы включить BootLoader с помощью программы, скомпилируйте следующий код и запишите его на STM8 с помощью ST LINK:
FLASH_DeInit(); // Restore FLASH registers to default values
FLASH_Unlock(FLASH_MEMTYPE_DATA); // Unlock data EEPROM
// Program OPTION BYTE
FLASH_ProgramOptionByte(0x487e, 0x55);
FLASH_ProgramOptionByte(0x487f, 0xAA);
2. Настройка среды разработки
Среда разработки STVD
После компиляции с помощью компилятора Cosmic в STVD по умолчанию будет сгенерирован файл *.s19. Этот файл можно напрямую записать в микроконтроллер STM8 с помощью программного обеспечения Flash Loader Demonstrator. Программное обеспечение также поддерживает запись файлов *.hex и *.bin. Ниже описано, как настроить STVD для генерации этих трех форматов.
- Откройте файл проекта STVD и перейдите в «Свойства проекта».
- Выберите вкладку «Post-Build», как показано ниже.

В текстовом поле «Команды» добавьте следующие команды после существующих:
chex -fi -o$(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8
chex -o$(OutputPath)$(TargetSName).bin $(OutputPath)$(TargetSName).sm8
Нажмите «ОК» для подтверждения. После компиляции будут сгенерированы три различных формата файлов.
Среда разработки IAR
Среда разработки IAR не использует компилятор Cosmic, поэтому не может генерировать файлы *.s19. Однако она может генерировать два других формата. Чтобы настроить это в IAR:
- Откройте файл проекта IAR и перейдите в «Свойства проекта».
- Выберите вкладку «Конвертер вывода».

Затем установите флажок «Генерировать дополнительный вывод». В раскрывающемся списке «Формат вывода» выберите «Intel extended» для создания файла *.hex или «Binary» для создания файла *.bin. Выберите опцию «Переопределить значение по умолчанию» и введите желаемое имя файла и формат в текстовом поле. Нажмите «ОК» для подтверждения. После компиляции будет создан файл выбранного формата.
3. Программирование с помощью Flash Loader Demonstrator
Flash Loader Demonstrator — это инструмент для загрузки ISP от ST, который можно использовать для программирования микроконтроллеров STM32 или STM8 через UART. Он поддерживает прошивку файлов *.s19, *.hex и *.bin. Ниже описано, как использовать его для программирования микроконтроллера STM8:
- Подключите плату разработчика STM8 к компьютеру через UART и установите программное обеспечение Flash Loader Demonstrator. После установки откройте программное обеспечение, и появится главный интерфейс.
- Выберите соответствующий порт UART, подключенный к плате разработчика STM8, в раскрывающемся списке Port Name.
- В раскрывающемся списке Echo выберите Echo Mode для STM8S или Disable для STM8L.

Затем перезагрузите плату разработчика STM8 и быстро нажмите кнопку «Next» (Далее). Вы должны нажать кнопку в течение одной секунды, чтобы Flash Loader Demonstrator мог получить данные от BootLoader STM8. В случае успеха программа перейдет к экрану выбора устройства STM8.
Тип устройства определяется микросхемой STM8 и размером ее внутренней флэш-памяти. Для микроконтроллеров STM8S выберите STM8_XXK из раскрывающегося списка. Для STM8L выберите STM8L_XXK. На основе STM8S105C6 на нашей плате разработчика, которая имеет 32 КБ внутренней флэш-памяти, выберите STM8_32K из раскрывающегося списка.

Затем нажмите «Далее», и программа предложит вам выбрать файл для прошивки. В поле «Загрузить из файла» найдите путь к файлу программы, которую необходимо прошить. Нажмите «Далее», и файл будет записан во внутреннюю флэш-память микроконтроллера STM8. После успешной прошивки программа отобразит сообщение «Операция загрузки завершена успешно».
Наконец, нажмите «Закрыть», чтобы выйти из программы Flash Loader Demonstrator. Сбросьте плату разработчика STM8, и микроконтроллер запустит программу в соответствии с заданным алгоритмом. Обратите внимание, что программа копируется в память FLASH, и вам необходимо сбросить устройство, чтобы указатель перешел к пользовательской программе и начал ее выполнение. Если вы хотите, чтобы программа запускалась автоматически после прошивки, установите флажок «Перейти к пользовательской программе».
Типичные области применения
- Автомобилестроение: блоки управления, датчики и дисплеи.
- Промышленность: управление процессами, системы автоматизации и контроллеры двигателей.
- Потребительская электроника: интеллектуальные устройства, пульты дистанционного управления и мелкая бытовая техника.
- Домашняя автоматизация: системы «умного дома», счетчики энергии и системы безопасности.




