№8 / 2018 / статья 2

8-битные микроконтроллеры STM8

Вячеслав Гавриков (г. Смоленск)

STMicroelectronics является одним из крупнейших производителей полупроводниковых компонентов. Особое место в номенклатуре компании занимают микроконтроллеры семейств STM32 и STM8. Обзору последних и посвящена данная статья.

У отечественных разработчиков название компании STMicroelectronics прочно ассоциируется с 32-битными микроконтроллерами STM32. Однако в линейке компании присутствуют и другие — менее мощные, зато более простые и доступные для освоения – микроконтроллеры STM8.

Интерес к 8-битным микроконтроллерам заметно снизился после появления линейки 32-битных микроконтроллеров STM32F0x0 с малым числом выводов. Например, STM32F030F4 предлагает всю мощь 32-битных вычислений и развитый набор периферии, и при этом выпускается в корпусном исполнении TSSOP-20. Зачем же тогда нужны STM8? Можно найти несколько ответов на этот вопрос.

Широкий диапазон рабочих напряжений

Микроконтроллеры STM8 позволяют работать с широким диапазоном напряжений питания 1,65…5,5 В, в то время как микроконтроллеры STM32 требуют напряжения 1,62…3,6 В. Это дает целый ряд преимуществ:

  • для аналоговых микросхем (например, для ОУ и компараторов) и управляющего микроконтроллера может использоваться общий источник питания 5 В. Это значительно упрощает схемотехнику конечного устройства в целом, так как для микроконтроллера не требуется отдельного стабилизатора напряжения;
  • встроенные АЦП STM8 способны работать с диапазоном входных напряжений 5 В без дополнительных делителей. Конечно, многие входы STM32 устойчивы к сигналам 5 В, но это не касается входов АЦП;
  • если требуется напрямую управлять МОП-транзисторами, то выходы 5 В смогут обеспечить большее затворное напряжение, а значит – и меньшее сопротивление открытого канала.

Наличие корпусных исполнений с большим шагом выводов

Далеко не всегда от микроконтроллеров требуются сверхкомпактные габариты. Например, для сильноточных плат с большой толщиной меди (70 мкм и более) минимальные зазоры между проводниками оказываются весьма значительны. Поэтому использование микросхем с мелким шагом выводов не всегда возможно. А если речь идет о ручной пайке в мелкосерийном производстве или в радиолюбительских приложениях – то здесь также удобнее применять корпуса с большим шагом выводов.

Для всех без исключения микроконтроллеров STM32 шаг выводов составляет не менее 0,65 мм (TSSOP-20), а для большинства моделей – и вовсе 0,5 мм. В то же время микроконтроллеры STM8 с относительно многовыводными корпусами LQFP-32 имеют шаг 0,8 мм, а для моделей с корпусом LQFP-80 шаг составляет 0,65 мм. Кроме того, микроконтроллер STM8S001J3 и вовсе поставляется в корпусе SO8 с шагом выводов 1,27 мм.

Простота освоения

Благодаря STM32Cube разработка ПО для STM32 значительно упростилась. Тем не менее, для новичков будет проблематично сходу освоить 32-битный контроллер со сложной системой тактирования, развитой системой периферии и огромным количеством настроек. В то же время для широкого круга приложений возможностей STM8 будет вполне достаточно, а освоить 8-битный контроллер намного проще. Это также актуально для разработчиков, которым нужно быстро решить какую-либо задачу, а сил, времени и желания для изучения STM32 нет.

Здесь стоит особо подчеркнуть, что STM8 и STM32, строго говоря, не находятся в состоянии жесткой конкуренции, и в данной статье не ставится цель доказать, что STM8 лучше или хуже. Просто, как показывает практика, эти микроконтроллеры по-прежнему остаются актуальными для целого ряда приложений, несмотря на масштабное наступление STM32, достоинства которых крайне сложно переоценить.

Целью данной статьи является краткий обзор микроконтроллеров STM8 и их экосистемы. В первой части мы рассмотрим все линейки семейства и проанализируем их особенности, при этом основное внимание будет уделяется микроконтроллерам общего назначения – STM8S и STM8L. Во второй части статьи рассказывается о программных средствах разработки – библиотеках, утилитах и интегрированных средах. В заключительном разделе приводится краткий обзор всех существующих отладочных и оценочных наборов для STM8 производства компании STMicroelectronics.

Процессорное ядро и подсемейства STM8

В настоящий момент семейство STM8 включает более 140 моделей микроконтроллеров, которые объединены в четыре подсемейства (рисунок 1):

  • STM8S – микроконтроллеры общего назначения;
  • STM8L – малопотребляющие микроконтроллеры общего назначения;
  • STM8AF – микроконтроллеры для автомобильных приложений;
  • STM8AL – малопотребляющие микроконтроллеры для автомобильных приложений.
Рис. 1. Семейство микроконтроллеров STM8

Рис. 1. Семейство микроконтроллеров STM8

Как несложно догадаться, между собой эти семейства отличаются в первую очередь областью применения и уровнем потребления. В то же время все микроконтроллеры STM8 производятся по технологии с топологическими нормами 130 нм, имеют идентичную реализацию всех IP-ядер, используют одинаковую архитектуру и процессорное ядро. Это позволяет разработчикам с легкостью переходить с одного семейства на другое.

Микроконтроллеры STM8 построены по гарвардской архитектуре с 8-битным процессорным ядром и 32-битной шиной программ, которая позволяет выполнять большинство инструкций за 1 такт. Всего поддерживается 80 инструкций, большая часть которых имеет размер 2 байта.

Процессорное ядро STM8 имеет целый ряд особенностей, позволяющих достигать достаточно высокой производительности. К таким особенностям можно отнести:

  • трехступенчатый конвейер;
  • поддержку не только обычных операций (сложений, вычитание, сдвиг и так далее), но и операции умножения (8 х 8 бит) и деления (16/8 бит и 16/16 бит);
  • 24-битный счетчик команд, который обеспечивает доступ к адресному пространству 16 Мбайт;
  • 16-битный указатель стека, который обеспечивает прямой доступ к стеку размером до 16 кбайт.

Рассмотрим особенности каждого из подсемейств и отдельных линеек.

STM8S – «рабочая лошадка» для приложений общего назначения

STM8S – базовое семейство STM8, объединяющее более сорока моделей микроконтроллеров (рисунок 2, рисунок 3):

Рис. 2. Микроконтроллеры семейства STM8S общего назначения

Рис. 2. Микроконтроллеры семейства STM8S общего назначения

  • с максимальной рабочей частотой до 24 МГц и производительностью до 20 DMIPS;
  • с объемом Flash до 128 кбайт;
  • с объемом ОЗУ до 6 кбайт;
  • с энергонезависимой памятью EEPROM объемом до 2 кбайт;
  • со встроенным RC-генератором 16 МГц;
  • с широким выбором коммуникационных интерфейсов: UART/USART, SPI, I²C, CAN;
  • с многоканальным 10-битным АЦП последовательного приближения, имеющим время преобразования 2,33 мкс;
  • с 8/16-битными таймерами, в том числе – для ШИМ-управления тремя парами комплементарных выходов с поддержкой мертвого времени;
  • со специальными таймерами: сторожевым независимым таймером (IWDG), оконным сторожевым таймером (WWDG), таймером для управления зуммером (Beeper), часами реального времени (RTC), таймером автопробуждения (AWU).

Микроконтроллеры STM8S объединены в четыре линейки – STM8S0xx, STM8S1xx, STM8S2xx и STM8S9xx – которые отличаются максимальным объемом памяти, типом доступных корпусных исполнений (рисунок 2) и составом периферии (рисунок 3).

Рис. 3. Особенности линеек микроконтроллеров семейства STM8S

Рис. 3. Особенности линеек микроконтроллеров семейства STM8S

Бюджетные микроконтроллеры STM8S0xx Value Line

Линейка бюджетных микроконтроллеров STM8S0xx создавалась специально для экономичных приложений. В настоящий момент стоимость самых дешевых микроконтроллеров этой группы приятно удивит.

Второй особенностью STM8S0xx является наличие моделей с малым числом выводов, в том числе – STM8S001J3 в корпусном исполнении SO-8 и STM8S003F3 в корпусном исполнении TSSOP-20 (рисунок 2).

Микроконтроллеры STM8S0xx, за исключением STM8S007C8, имеют на борту небольшой объем памяти: до 32 кбайт Flash, до 2 кбайт ОЗУ и 128 байт EEPROM. Кроме того, количество перезаписей Flash для них ограничено 100 циклами, а число перезаписей EEPROM – 100000 циклов.

Максимальная рабочая частота для STM8S0xx составляет 16 МГц.

Несмотря на малое количество выводов и небольшие корпуса, все микроконтроллеры STM8S0xx имеют на борту 10-битный АЦП и полный комплект стандартных последовательных интерфейсов — SPI/UASRT/I²C (таблица 1).

Диапазон рабочих температур для STM8S001J3 составляет -40…125°С, для остальных моделей -40…85°С. Таким образом, микроконтроллеры STM8S0xx в первую очередь подойдут для коммерческих электроники и бытовой техники, а для создания промышленных приложений лучше воспользоваться представителями линеек STM8S103/105.

Таблица 1. Характеристики бюджетных микроконтроллеров STM8S0xx Value Line

Наименование Корпус F, МГц Flash, кбайт ОЗУ, кбайт E2PROM, байт Таймеры 16 бит АЦП 10 бит I/O I²C SPI UART Uпит, В Траб, °C
STM8S001J3 SO-8 16 8 1 128 2 3 5 1 1 1 2,95…5,5 -40…125
STM8S003F3 TSSOP 20, UFQFPN 20 16 8 1 128 2 5 16 1 1 1 2,95…5,5 -40…85
STM8S003K3 LQFP 32 16 8 1 128 2 4 28 1 1 1 2,95…5,5 -40…85
STM8S005C6 LQFP 48 16 32 2 128 3 10 38 1 1 1 2,95…5,5 -40…85
STM8S005K6 LQFP 32 16 32 2 128 3 7 25 1 1 1 2,95…5,5 -40…85
STM8S007C8 LQFP 48 16 64 6 128 3 10 38 1 1 2 2,95…5,5 -40…85

Базовые линейки STM8S103/105

Эти линейки стали первыми в семействе STM8S. По составу периферии и объему памяти они очень близки к бюджетным моделям STM8S0xx. Однако есть несколько важных отличий (таблица 2):

  • для STM8S103/105 число перезаписей Flash составляет 10000 циклов, тогда как у STM8S0xx – только 100. Число перезаписей EEPROM также оказывается выше – 300 тысяч против 100 тысяч у STM8S0xx;
  • EEPROM увеличен до 640 кбайт у STM8S103 и до 1024 байт – у STM8S105;
  • разнообразие корпусных исполнений STM8S103/105 значительно возросло за счет SOIC-20, PDIP 32, LQFP 44 (рисунок 2);
  • для большинства моделей STM8S103/105 доступны исполнения с промышленным диапазоном температур -40…125°С. Этот факт оказывается важным при создании электроники для промышленных приложений.

Еще одним важным преимуществом STM8S103/105 является наличие уникального 96-битного идентификатора ID.

Таблица 2. Характеристики микроконтроллеров STM8S103/105

Наименование Корпус F, МГц Flash, кбайт ОЗУ, кбайт E2PROM, байт Таймеры 16 бит АЦП 10 бит I/O I²C SPI UART Uпит, В Траб, °C
STM8S103F2 SO-20, TSSOP 20, UFQFPN 20 16 4 1 640 2 5 16 1 1 1 2,95…5,5 -40…85/125
STM8S103F3 SO-20, TSSOP 20, UFQFPN 20 16 8 1 640 2 5 16 1 1 1 2,95…5,5 -40…85/125
STM8S103K3 LQFP 32, UFQFPN 32 16 8 1 640 2 4 28 1 1 1 2,95…5,5 -40…85/125
STM8S105C4 LQFP 48 16 16 2 1024 3 10 38 1 1 1 2,95…5,5 -40…85/125
STM8S105C6 LQFP 48 16 32 2 1024 3 10 38 1 1 1 2,95…5,5 -40…85/125
STM8S105K4 LQFP 32, PDIP 32, UFQFPN 32 16 16 2 1024 3 7 25 1 1 1 2,95…5,5 -40…85/125
STM8S105K6 LQFP 32, PDIP 32, UFQFPN 32 16 32 2 1024 3 7 25 1 1 1 2,95…5,5 -40…85/125
STM8S105S4 LQFP 44 10x10x1.4 16 16 2 1024 3 9 34 1 1 1 2,95…5,5 -40…85

Производительные микроконтроллеры STM8S207/208

Микроконтроллеры STM8S207/208 способны работать на частотах до 24 МГц с производительностью до 20 DMIPS. Они являются самыми мощными представителями семейства STM8.

STM8S207/208 также являются рекордсменами по объему памяти: Flash до 128 кбайт, ОЗУ до 6 кбайт, EEPROM до 2028 байт (рисунок 2, таблица 3).

Наличие многовыводных корпусных исполнений LQFP 64 и LQFP 80 позволяет получать до 68 портов ввода-вывода и до 16 аналоговых входов.

Большая часть микроконтроллеров STM8S207/208 имеет дополнительный канал UART. Кроме того, в STM8S208 появился CAN-контроллер. Это делает STM8S207/208 идеальным выбором для промышленных систем, тем более, что для большинства представителей STM8S207/208 доступны исполнения с диапазоном температур -40…125°С.

Таблица 3. Характеристики производительных микроконтроллеров STM8S207/208

Наименование Корпус F, МГц Flash, кбайт ОЗУ, кбайт E2PROM, байт Таймеры 16 бит АЦП 10 бит I/O I²C SPI CAN UART Uпит, В Траб, °C
STM8S207C6 LQFP 48 24 32 6 1024 3 10 38 1 1 2 2,95…5,5 -40…85/125
STM8S207C8 LQFP 48 24 64 6 1536 3 10 38 1 1 2 2,95…5,5 -40…85/125
STM8S207CB LQFP 48 24 128 6 2048 3 10 38 1 1 2 2,95…5,5 -40…85/125
STM8S207K6 LQFP 32 24 32 6 1024 3 7 25 1 1 1 2,95…5,5 -40…85/125
STM8S207K8 LQFP 32 24 64 6 1024 3 7 25 1 1 1 2,95…5,5 -40…85/125
STM8S207M8 LQFP 80 24 64 6 2048 3 16 68 1 1 2 2,95…5,5 -40…85/125
STM8S207MB LQFP 80 24 128 6 2048 3 16 68 1 1 2 2,95…5,5 -40…85
STM8S207R6 LQFP 64 24 32 6 1024 3 16 52 1 1 2 2,95…5,5 -40…85
STM8S207R8 LQFP 64, LQFP 64 14x14x1.4 24 64 6 1536 3 16 52 1 1 2 2,95…5,5 -40…85/125
STM8S207RB LQFP 64, LQFP 64 14x14x1.4 24 128 6 2048 3 16 52 1 1 2 2,95…5,5 -40…85/125
STM8S207S6 LQFP 44 10x10x1.4 24 32 6 1024 3 9 34 1 1 2 2,95…5,5 -40…85/125
STM8S207S8 LQFP 44 10x10x1.4 24 64 6 1536 3 9 34 1 1 2 2,95…5,5 -40…85/125
STM8S207SB LQFP 44 10x10x1.4 24 128 6 1536 3 9 34 1 1 2 2,95…5,5 -40…85/125
STM8S208C6 LQFP 48 24 32 6 2048 3 10 38 1 1 1 2 2,95…5,5 -40…85/125
STM8S208C8 LQFP 48 24 64 6 2048 3 10 38 1 1 1 2 2,95…5,5 -40…85
STM8S208CB LQFP 48 24 128 6 2048 3 10 38 1 1 1 2 2,95…5,5 -40…85
STM8S208MB LQFP 80 24 128 6 2048 3 16 68 1 1 1 2 2,95…5,5 -40…85
STM8S208R8 LQFP 64 24 64 6 2048 3 16 52 1 1 1 2 2,95…5,5 -40…85
STM8S208RB LQFP 64 24 128 6 2048 3 16 52 1 1 1 2 2,95…5,5 -40…85/125
STM8S208S6 LQFP 44 10x10x1.4 24 32 6 1536 3 9 34 1 1 1 2 2,95…5,5 -40…85/125
STM8S208R6 LQFP 64 24 32 6 2048 3 16 52 1 1 1 2 2,95…5,5 -40…85
STM8S208S8 LQFP 44 10x10x1.4 24 64 6 1536 3 9 34 1 1 1 2 2,95…5,5 -40…85
STM8S208SB LQFP 44 10x10x1.4 24 128 6 1536 3 9 34 1 1 1 2 2,95…5,5 -40…85

Специальные микроконтроллеры STM8S9xx

Данные микроконтроллеры предлагают тот же функционал и характеристики, что и STM8S103/105 (таблица 4). Однако они отличаются наличием встроенного источника опорного напряжения, увеличенным числом каналов АЦП (STM8S903K3) и расширенными возможностями по синхронизации таймеров.

Таблица 4. Характеристики специальных микроконтроллеров STM8S9хх

Наименование Корпус F, МГц Flash, кбайт ОЗУ, кбайт E2PROM, байт Таймеры 16 бит АЦП 10 бит I/O I²C SPI UART Uпит, В Траб, °C
STM8S903F3 SO-20, TSSOP 20,
UFQFPN 20
16 8 1 640 2 5 16 1 1 1 2,95…3,6 -40…85/125
STM8S903K3 LQFP 32, PDIP 32,
UFQFPN 32
16 8 1 640 2 7 28 1 1 1 2,95…3,6 -40…85/125

Микроконтроллеры общего назначения STM8S являются надежным и универсальным решением для широкого спектра промышленных и коммерческих приложений. Если же для разрабатываемого устройства в первую очередь важно добиться минимального уровня потребления – то стоит взглянуть на микроконтроллеры семейства STM8L.

Малопотребляющие контроллеры STM8L: когда каждый микроампер на счету

Микроконтроллеры STM8L создавались в первую очередь для приложений, накладывающих жесткие ограничения на уровень потребления. К ним можно отнести автономные датчики, счетчики и тому подобное.

STM8L производятся по той же технологии, что и STM32L. Это гарантирует минимальные значения токов утечки, а следовательно – сверхнизкое потребление во всех рабочих режимах. Однако минимизация потребления достигается и другими способами, в частности – за счет дополнительных режимов пониженного потребления и уменьшения минимального напряжения питания до 1,65 В.

В настоящий момент в состав семейства входит более сорока представителей (рисунки 4 и 5):

Рис. 4. Малопотребляющие микроконтроллеры семейства STM8L

Рис. 4. Малопотребляющие микроконтроллеры семейства STM8L

  • с максимальной рабочей частотой до 16 МГц;
  • с объемом Flashдо 64 кбайт;
  • с объемом ОЗУ до 4 кбайт;
  • с энергонезависимой памятью EEPROM объемом до 2 кбайт;
  • с контроллером прямого доступа к памяти DMA;
  • со встроенными RC-генераторами 16 и 38 кГц;
  • с широким выбором коммуникационных интерфейсов: UART/USART, SPI, I²C;
  • с богатым набором аналоговой периферии, в том числе – с многоканальным 12-битным АЦП, аналоговыми компараторами, одним или двумя 12-битными ЦАП;
  • со встроенным ЖК-контроллером;
  • с 8/16-битными таймерами;
  • со специальными таймерами – сторожевым независимым таймером (IWDG), оконным сторожевым таймером (WWDG), таймером для управления зуммером (Beeper), часами реального времени (RTC), таймером автопробуждения (AWU);
  • с напряжением питания 1,65…3,6 В.
Рис. 5. Особенности линеек микроконтроллеров семейства STM8L

Рис. 5. Особенности линеек микроконтроллеров семейства STM8L

Стоит отметить, что по сравнению с STM8S микроконтроллеры STM8L отличаются расширенным набором периферии, который был пополнен аналоговыми компараторами, 12-битным ЦАП, ЖК-контроллером. Кроме того, встроенный АЦП имеет 12-битную разрядность.

Микроконтроллеры STM8L объединены в четыре линейки: STM8L0xx, STM8L101, STM8L151/152 и STM8L162. Между собой они различаются объемом памяти, набором периферии и разнообразием корпусных исполнений.

Бюджетные малопотребляющие микроконтроллеры STM8L0 Value Line

Данная группа контроллеров разрабатывалась для приложений, в которых кроме минимального потребления важно обеспечить и малую стоимость.

Представители STM8L0 имеют Flash до 64 кбайт, ОЗУ до 4 кбайт, EEPROM до 2048 байт (рисунок 4, таблица 5). Стоит сразу сказать, что количество перезаписей Flash для них ограничено 100 циклами, а число перезаписей EEPROM составляет 100000 циклов.

Большая часть представителей STM8L0, за исключением STM8L001J3, имеет на борту аналоговые компараторы и АЦП. Микроконтроллеры STM8L052 могут похвастаться встроенным ЖК-контроллером. Наличие ЖК-контроллера является большим плюсом для огромного числа приложений – от бытовой техники до простых и бюджетных счетчиков.

Еще одним ограничением STM8L0 можно считать более узкий, по сравнению с другими линейками STM8L, диапазон питающих напряжений – 1,8…3,6 В. Вместе с тем потребление этих контроллеров оказывается весьма скромным: 5,1 мкА в режиме Low-power run, 3 мкА в режиме Low-power wait, 1,3 мкА в режиме Active-halt с RTC, 350 нА в режиме Halt. Динамическое потребление ядра в режиме Run составляет 180 мкА/МГц. Также стоит отметить минимальный ток утечки выводов – всего 50 нА.

Таблица 5. Характеристики бюджетных малопотребляющих микроконтроллеров STM8L0

Наименование Корпус F, МГц Flash, кбайт ОЗУ, кбайт E2PROM, байт Тай-
меры 16 бит
АЦП 12 бит Ком-
пара-
торы
I/O I²C SPI USART Uпит, В LCD Траб, °C
STM8L001J3 SO-8 16 8 1.5 2048 2 2 6 1 1 1 1,8…3,6 -40…125
STM8L050J3 SO-8 16 8 1 256 2 4 2 6 1 1 1 1,8…3,6 -40…125
STM8L051F3 TSSOP 20 16 8 1 256 2 10 18 1 1 1 1,8…3,6 -40…85
STM8L052C6 LQFP 48 16 32 2 256 3 25 41 1 1 1 1,8…3,6 LCD 4×28 -40…85
STM8L052R8 LQFP 64 16 64 4 256 4 27 54 1 2 3 1,8…3,6 LCD 4×28/8×24 -40…85

Малопотребляющие микроконтроллеры начального уровня STM8L101

STM8L101 – линейка с самым ограниченным объемом памяти среди всех STM8L: Flash до 8 кбайт, ОЗУ 1,5 кбайт, EEPROM 2048 байт (рисунок 4, таблица 6). При этом EEPROM есть только у старших моделей. Кроме того, в отличие от других линеек STM8L, у STM8L101 нет АЦП.

С другой стороны – столь значительные ограничения позволили минимизировать уровень потребления. Дело в том, что при работе микроконтроллера значительная часть мощности тратится на поддержание содержимого ОЗУ. Так как объем ОЗУ был ограничен 1,5 кбайт, то динамическое потребление ядра в режиме Run для STM8L101 было снижены до 150 мкА/МГц, что является рекордом для STM8L.

В также потребление было уменьшено и в остальных режимах: 800 нА в режиме Active-halt, 300 нА в режиме Halt.

Таблица 6. Характеристики бюджетных малопотребляющих микроконтроллеров STM8L101

Наименование Корпус F, МГц Flash, кбайт ОЗУ, кбайт E2PROM, байт Таймеры 16 бит Ком-
пара-
торы
I/O I²C SPI USART Uпит, В Траб, °C
STM8L101F1 UFQFPN 20 16 2 1.5 2 2 18 1 1 1 1,65…3,6 -40…85
STM8L101F2 TSSOP 20, UFQFPN 20 16 4 1.5 2 2 18 1 1 1 1,65…3,6 -40…85/125
STM8L101F3 TSSOP 20, UFQFPN 20 16 8 1.5 2 2 18 1 1 1 1,65…3,6 -40…85/125
STM8L101G2 UFQFPN 28 16 4 1.5 2 2 26 1 1 1 1,65…3,6 -40…85
STM8L101G3 UFQFPN 28 16 8 1.5 2048 2 2 26 1 1 1 1,65…3,6 -40…85
STM8L101K3 LQFP 32, UFQFPN 32 16 8 1.5 2048 2 2 30 1 1 1 1,65…3,6 -40…85/125

Производительные малопотребляющие микроконтроллеры STM8L151/152

Исторически микроконтроллеры STM8L151/152 стали первыми представителями семейства STM8L. В настоящий момент они отличаются самым большим объемом памяти, наиболее развитой периферией и максимальной производительностью.

Для самых мощных представителей STM8L151/152 объем Flash достигает 64 кбайт, ОЗУ – 4 кбайт, EEPROM – 2048 байт (рисунок 4, таблица 7).

По сравнению с младшими линейками представители STM8L151/152 предлагают разработчикам наиболее развитый набор периферии:

  • DMA на 4 канала для ЦАП, АЦП, SPI, I²C, USART, таймеров, 1 канал для передачи из памяти в память;
  • 12-битный АЦП 1 млн. выб/с, до 28 каналов;
  • два 12-битных ЦАП с выходным буфером;
  • модуль LCD-контроллера (только для STM8L152);
  • два малопотребляющих компаратора;
  • три 16-битных двухканальных таймера с квадратурным энкодером;
  • один 16-битный таймер с комплементарными выходами для управления двигателями;
  • один 8-битный таймер с 7-битным делителем частоты;
  • один независимый сторожевой таймер (IWDT);
  • блок генерации для внешних звуковых устройств (например, пъезоэлементов) на 1,2 и 4 кГц;
  • множество коммуникационных интерфейсов: SPI, I²C, USART;
  • до 68 входов/выходов общего назначения;
  • до 16 каналов подключения сенсорных кнопок;
  • 96-битный уникальный номер.

Наличие контроллера прямого доступа к памяти (DMA) автоматически увеличивает производительность STM8L151/152, а заодно и снижает уровень потребления за счет освобождения ядра от выполнения рутинных операций по пересылке данных. В результате, даже несмотря на большие объемы ОЗУ, микроконтроллеры STM8L151/152 демонстрируют хорошие показатели потребления: 5,9 мкА в режиме Low-power run, 3 мкА в режиме Low-power wait, 1,4 мкА в режиме Active-halt с RTC, 400 нА в режиме Halt. Динамическое потребление в режиме Run составляет 200 мкА/МГц + 330 мкА.

Семейства STM8L151/152 предлагаются в различных корпусных исполнениях, в том числе – LQFP 64 и LQFP 80 с большим числом выводов.

Таблица 7. Характеристики производительных малопотребляющих микроконтроллеров STM8L151/152

Наименование Корпус F, МГц Flash, кбайт ОЗУ, кбайт E2PROM, байт Тай-
меры 16 бит
АЦП 12 бит ЦАП 12 бит Ком-
пара-
торы
I/O I²C SPI USART Uпит, В LCD Траб, °C
STM8L151C2 LQFP 48 16 4 1 256 2 28 2 41 1 1 1 1,65…3,6 -40…85/125
STM8L151C3 LQFP 48 16 8 1 256 2 28 2 41 1 1 1 1,65…3,6 -40…85/125
STM8L151C4 LQFP 48, UFQFPN 48 16 16 2 1024 3 25 1 2 41 1 1 1 1,65…3,6 -40…85/125
STM8L151C6 LQFP 48, UFQFPN 48 16 32 2 1024 3 25 1 2 41 1 1 1 1,65…3,6 -40…85/125
STM8L151C8 LQFP 48, UFQFPN 48 16 64 4 2048 4 25 2 2 41 1 2 3 1,65…3,6 -40…85/105/125
STM8L151F2 TSSOP 20, UFQFPN 20 16 4 1 256 2 10 2 18 1 1 1 1,65…3,6 -40…85
STM8L151F3 TSSOP 20, UFQFPN 20 16 8 1 256 2 10 2 18 1 1 1 1,65…3,6 -40…85/125
STM8L151G2 UFQFPN 28 16 4 1 256 2 18 2 26 1 1 1 1,65…3,6 -40…85
STM8L151G3 UFQFPN 28 16 8 1 256 2 18 2 26 1 1 1 1,65…3,6 -40…85/125
STM8L151G4 UFQFPN 28, WLCSP 16 16 2 1024 3 18 1 2 26 1 1 1 1,65…3,6 -40…85/125
STM8L151G6 UFQFPN 28, WLCSP 16 32 2 1024 3 18 1 2 26 1 1 1 1,65…3,6 -40…85/105/125
STM8L151K2 UFQFPN 32 16 4 1 256 2 23 2 30 1 1 1 1,65…3,6 -40…85/125
STM8L151K3 UFQFPN 32 16 8 1 256 2 23 2 30 1 1 1 1,65…3,6 -40…85/125
STM8L151K4 LQFP 32, UFQFPN 32 16 16 2 1024 3 22 1 2 30 1 1 1 1,65…3,6 -40…85/125
STM8L151K6 LQFP 32, UFQFPN 32 16 32 2 1024 3 22 1 2 30 1 1 1 1,65…3,6 -40…85/125
STM8L151M8 LQFP 80 16 64 4 2048 4 28 2 2 68 1 2 3 1,65…3,6 -40…85/125
STM8L151R6 LQFP 64 16 32 2 1024 4 28 2 2 54 1 2 3 1,65…3,6 -40…85/125
STM8L151R8 LQFP 64 16 64 4 2048 4 28 2 2 54 1 2 3 1,65…3,6 -40…85/125
STM8L152C4 LQFP 48, UFQFPN 48 16 16 2 1024 3 25 1 2 41 1 1 1 1,65…3,6 LCD 4×28 -40…85/125
STM8L152C6 LQFP 48, UFQFPN 48 16 32 2 1024 3 25 1 2 41 1 1 1 1,65…3,6 LCD 4×28 -40…85/125
STM8L152C8 LQFP 48, UFQFPN 48 16 64 4 2048 4 28 2 2 41 1 2 3 1,65…3,6 LCD 4×32/8×28 -40…85/125
STM8L152K4 LQFP 32, UFQFPN 32 16 16 2 1024 3 21 1 2 29 1 1 1 1,65…3,6 LCD 4×17 -40…85/125
STM8L152K6 LQFP 32, UFQFPN 32 16 32 2 1024 3 21 1 2 29 1 1 1 1,65…3,6 LCD 4×17 -40…85/125
STM8L152K8 WLCSP 32L DIE 768 16 64 4 2048 4 28 2 2 29 1 1 2 1,65…3,6 LCD 4×17 -40…85
STM8L152M8 LQFP 80 16 64 4 2048 4 28 2 2 68 1 2 3 1,65…3,6 LCD 4×44/8×40 -40…85/105/125
STM8L152R6 LQFP 64 16 32 2 1024 4 28 2 2 54 1 2 3 1,65…3,6 LCD 4×40/8×36 -40…85/125
STM8L152R8 LQFP 64 16 64 4 2048 4 28 2 2 54 1 2 3 1,65…3,6 LCD 4×40/8×36 -40…85/125

Микроконтроллеры STM8L162 для безопасных приложений

Линейка STM8L162, по сути, является братом-близнецом линейки STM8L152, но отличается наличием блока шифрования AES (таблица 8).

Таблица 8. Характеристики производительных малопотребляющих микроконтроллеров STM8L162

Наименование Корпус F, МГц Flash, кбайт ОЗУ, кбайт EEPROM, байт Тай-
меры 16 бит
АЦП 12 бит ЦАП 12 бит Ком-
пара-
торы
I/O I²C SPI USART Crypto-hash Uпит, В LCD Траб, °C
STM8L162M8 LQFP 80 16 64 4 2048 4 28 2 2 68 1 2 3 AES 1,65…3,6 LCD 4×44/8×40 -40…85/125
STM8L162R8 LQFP 64 16 64 4 2048 4 28 2 2 54 1 2 3 AES 1,65…3,6 LCD 4×44/8×40 -40…85/125

Микроконтроллеры STM8S и STM8L предназначены в первую очередь для коммерческих и промышленных приложений. Для создания автомобильной электроники рекомендуется применять микроконтроллеры линеек STM8AF и STM8AL.

Автомобильные семейства STM8AF и STM8AL

Автомобильные приложения предъявляют к электронным компонентам повышенные требования. Это в первую очередь касается надежности и возможности работы в расширенном диапазоне температур. Кроме того, крайне желательно, чтобы применяемые компоненты были сертифицированы в соответствии со стандартами AEQ-Q100. Микроконтроллеры STM8AF и STM8AL отвечают всем этим требованиям.

На настоящий момент к семейству STM8AF относится 30 моделей микроконтроллеров, объединенных в три линейки – STM8AF52, STM8AF62 и STM8AF63 (рисунок 6):

Рис. 6. Автомобильные микроконтроллеры семейства STM8AF

Рис. 6. Автомобильные микроконтроллеры семейства STM8AF

  • с максимальной рабочей частотой до 24 МГц и производительностью до 20 DMIPS;
  • с объемом Flashдо 128 кбайт;
  • с объемом ОЗУ до 6 кбайт;
  • с энергонезависимой памятью EEPROM объемом до 2 кбайт;
  • с корпусными исполнениями TSSOP-20, LQFP-32, QFN-32, LQFP-48, LQFP-64, LQFP-80;
  • со встроенным RC-генератором 16 МГц;
  • с широким выбором коммуникационных интерфейсов: UART/USART, SPI, I²C, CAN, LIN;
  • с 10-битным АЦП последовательного приближения (до 16 каналов);
  • с 8/16-битными таймерами, в том числе – для ШИМ-управления тремя парами комплементарных выходов с поддержкой «мертвого времени»;
  • со специальными таймерами, в том числе – со сторожевым независимым таймером (IWDG), оконным сторожевым таймером (WWDG), таймером для управления зуммером (Beeper), часами реального времени (RTC), таймером автопробуждения (AWU);
  • с диапазоном рабочих температур -40…150°С.

Семейство STM8AL представляет собой «автомобильную» версию рассмотренного выше семейства STM8L. Эти микроконтроллеры также отличаются расширенным набором аналоговой периферии. Они имеют на борту аналоговые компараторы, 12-битный АЦП, 12-битный ЦАП, ЖК-контроллер.

Как и для STM8AF, диапазон рабочих температур STM8AL составляет -40…150°С.

В настоящий момент STM8AL состоит из двух линеек, включающих 22 модели (рисунок 7).

Рис. 7. Автомобильные малопотребляющие микроконтроллеры семейства STM8AF

Рис. 7. Автомобильные малопотребляющие микроконтроллеры семейства STM8AF

Теперь, когда дана краткая характеристика модельного ряда STM8, рассмотрим экосистему этих микроконтроллеров, в том числе – программные и аппаратные средства разработки и отладки.

Программные средства разработки и отладки STM8

При работе с микроконтроллерами STM8 следует по максимуму использовать существующие программные средства, такие как:

  • ST MCU Finder – кроссплатформенная утилита для быстрого выбора оптимальных микроконтроллеров STM8 и STM32;
  • STM8CubeMX – программа для выбора оптимальных микроконтроллеров STM8, проверки их конфигурации и расчета уровня потребления;
  • ST Visual Develop – интегрированная среда разработки ПО для STM8;
  • ST Visual Programmer – утилита для программирования/считывания/настройки микроконтроллеров STM8;
  • фирменные библиотеки и примеры для STM8 производства компании STMicroelectronics.

Выбор оптимального микроконтроллера STM8 с помощью утилиты ST MCU Finder

Сегодня число моделей STM8 переваливает за сотню, а если учесть корпусное разнообразие – то число исполнений превысит 200. Чтобы не изучать характеристики каждой модели в поисках оптимального микроконтроллера, рекомендуем использовать утилиту ST MCU Finder.

ST MCU Finder является бесплатной кроссплатформенной программой, которая предлагает параметрический поиск по всем ключевым особенностям от корпусного исполнения и объема памяти до набора периферии и уровня напряжения питания (рисунок 8). По сути, при использовании ST MCU Finder процесс поиска максимально упрощается и сводится к настройке фильтров.

Рис. 8. Выбор оптимального микроконтроллера STM8 с помощью кроссплатформенной утилиты ST MCU Finder

Рис. 8. Выбор оптимального микроконтроллера STM8 с помощью кроссплатформенной утилиты ST MCU Finder

Скачать ST MCU Finder можно с сайта ST. Версия для ПК.

Выбор и настройка микроконтроллеров STM8 с помощью STM8CubeMX

STM8CubeMX – еще одна полезная и бесплатная программа от STMicroelectronics, которая позволяет выбирать оптимальный микроконтроллер STM8, конфигурировать и рассчитывать уровень потребления с учетом режима работы.

Процесс выбора оптимального микроконтроллера в STM8CubeMX практически идентичен процессу выбора при работе с утилитой ST MCU Finder. То есть, пользователю необходимо всего лишь настроить параметры фильтров (рисунок 9).

Рис. 9. Выбор оптимального микроконтроллера STM8 с помощью STM8CubeMX

Рис. 9. Выбор оптимального микроконтроллера STM8 с помощью STM8CubeMX

открыть картинку в полном формате

STM8CubeMX помогает разработчикам распределять функции выводов микроконтроллера, используя удобный графический интерфейс (рисунок 10). Кроме того, с помощью STM8CubeMX удается проверить конфигурацию микроконтроллера и избежать конфликтов, возникающих, когда для одного вывода по ошибке одновременно назначается несколько функций.

Рис. 10. Проверка настройки выводов микроконтроллера с помощью STM8CubeMX

Рис. 10. Проверка настройки выводов микроконтроллера с помощью STM8CubeMX

STM8CubeMX может быть использован для проверки настройки системы тактирования (рисунок 11). В данном случае разработчик в наглядной форме видит, какая частота тактирования назначена для каждого конкретного блока контроллера.

Рис. 11. Проверка настроек системы тактирования с помощью STM8CubeMX

Рис. 11. Проверка настроек системы тактирования с помощью STM8CubeMX

Расчет уровня потребления STM8 с помощью STM8CubeMX тоже значительно упрощается. Программа позволяет разработчику самостоятельно настроить параметры питания и профиль рабочих режимов, и автоматически подсчитывает уровень потребления (рисунок 12).

Рис. 12. Расчет уровня потребления микроконтроллера с помощью STM8CubeMX

Рис. 12. Расчет уровня потребления микроконтроллера с помощью STM8CubeMX

открыть картинку в полном формате

Программа STM8CubeMX доступна для бесплатного скачивания на сайте ST.

Программные библиотеки для работы с микроконтроллерами STM8 (STM8 Embedded Software)

Программы для STM8 можно писать «с нуля», а можно воспользоваться бесплатными фирменными библиотеками и примерами. В настоящий момент к услугам разработчиков предлагается 67 различных библиотек как от компании STMicroelectronics, так и от сторонних компаний.

Самыми востребованными библиотеками для STM8 являются стандартные библиотеки периферии («Standard Peripheral Library»):

  • STSW-STM8069 – для микроконтроллеров STM8S/A;
  • STSW-STM8012 – для микроконтроллеров STM8L10x;
  • STSW-STM8016 длямикроконтроллеров STM8L15x/16x/05x/AL3Lx/AL31x.

При использовании этих библиотек программисту не придется разбираться с отдельными регистрами. Вместо этого предлагается работать с готовыми функциями, что в разы упрощает написание и чтение программ.

Помимо стандартных периферийных библиотек, на сайте ST можно скачать и специализированные библиотеки для работы с электродвигателями, приборами освещения DALI, сенсорными приложениями и так далее.

Среда ST Visual Develop для написания С-программ

Наверное, сейчас найдется мало энтузиастов, которые полностью пишут программы на ассемблере. Фактически, С-программы уже стали стандартом для 8-битных контроллеров. STM8 не являются исключением. До недавнего времени все С-компиляторы от Cosmic, IAR и Raisonance для STM8 были платными, что значительно снижало интерес к этим контроллерам. Однако с недавних пор все изменилось – Cosmic предложил пользователям STM8 бесплатную однолетнюю лицензию.

Для работы с этим компилятором можно использовать бесплатную фирменную IDE от ST – ST Visual Develop. По умолчанию эта среда работает только с ассемблером, но после установки компиляторов от Cosmic или Raisonance позволяет создавать С-программы (рисунок 13). Программу можно скачать напрямую с сайта ST.

Рис. 13. Написание программ с помощью ST Visual Develop

Рис. 13. Написание программ с помощью ST Visual Develop

открыть картинку в полном формате

ST Visual Develop имеет возможность отладки программ в реальном времени, в том числе – с помощью встроенного симулятора.

Интерфейс ST Visual Develop нацелен на упрощение отладки программ, поэтому при потоковой прошивке контроллеров удобнее использовать фирменную бесплатную утилиту ST Visual Programmer.

Программирование микроконтроллеров с помощью ST Visual Programmer

ST Visual Programmer – бесплатная утилита от ST, значительно упрощающая программирование и чтение программ микроконтроллеров.

Программа позволяет программировать Flash и EEPROM, считывать прошивки и стирать содержимое микроконтроллеров (рисунок 14).

Рис. 14. Программирование микроконтроллеров с помощью ST Visual Programmer

Рис. 14. Программирование микроконтроллеров с помощью ST Visual Programmer

открыть картинку в полном формате

Кроме того, ST Visual Programmer позволяет программировать конфигурационные биты (вкладка “Options Byte”), например, активируя защиту от считывания (рисунок 15). На той же вкладке можно настроить ремап выводов.

Рис. 15. Настройка опциональных битов с помощью ST Visual Programmer

Рис. 15. Настройка опциональных битов с помощью ST Visual Programmer

открыть картинку в полном формате

Отладчики для STM8: ST-LINK/V2 и ST-LINK/V2 ISOL

Рис. 16.Программаторы ST-LINK/V2 и ST-LINK/V2 ISOL

Рис. 16.Программаторы ST-LINK/V2 и ST-LINK/V2 ISOL

Программирование STM8 ведется по 4-проводному интерфейсу SWIM (+VCC, SWIM, NRST, GND). Для старших моделей существуют бутзагрузчики, работающие с другими интерфейсами.

Большим достоинством STM8 являются бюджетные отладчики ST-LINK/V2, которые также подходят и для программирования STM32 (рисунок 16). Для особо ответственных приложений к услугам разработчиков предлагается версия отладчика с гальванической развязкой – ST-LINK/V2 ISOL.

Стоит также отметить, что многие отладочные платы поставляются со своим собственным встроенным отладчиком ST-LINK/V2, что максимально упрощает ознакомление с микроконтроллерами STM8.

Оценочные и отладочные наборы для STM8

Для быстрого освоения микроконтроллеров STM8 предлагается использовать готовые отладочные наборы (таблица 9). Их можно условно разделить на три группы:

  • ознакомительные наборы Discovery, которые, как правило, включают в свой состав скромный набор внешней периферии (светодиодов, кнопок и прочего), зато имеют встроенный отладчик ST-LINK/V2 (рисунок 17);
Рис. 17. Плата STM8S-DISCOVERY с микроконтроллером STM8S105C6T6

Рис. 17. Плата STM8S-DISCOVERY с микроконтроллером STM8S105C6T6

  • отладочные наборы EVAL с богатым набором периферии (рисунок 18);
Рис. 18. Отладочная плата STM8/128-EVAL для микроконтроллеров STM8S2xx

Рис. 18. Отладочная плата STM8/128-EVAL для микроконтроллеров STM8S2xx

  • платы Nucleo со встроенным отладчиком ST-LINK/V2 и минимальным набором внешней периферии. Их функционал определяется подключением внешних плат расширения Arduino Uno V3 или ST morpho (рисунок 19).
Рис. 19. Платы NUCLEO-8S208RB (а) и NUCLEO-8L152R8 (б)

Рис. 19. Платы NUCLEO-8S208RB (а) и NUCLEO-8L152R8 (б)

Таблица 9. Отладочные платы STMicroelectronics для микроконтроллеров STM8

Наименование Описание Семейство
NUCLEO-8L152R8 Отладочная плата STM8 Nucleo-64 с поддержкой Arduino и ST morpho для STM8L152R8 STM8L
NUCLEO-8S208RB Отладочная плата STM8 Nucleo-64 с поддержкой Arduino и ST morpho для STM8S208RB STM8S
STM8/128-EVAL Оценочная плата для STM8S208MB STM8S
STM8/128-MCKIT Стартовый набор для работы с двигателями для STM8S STM8S
STM8A-DISCOVERY Плата Discovery для STM8AF5288 и STM8AL3L68 STM8A
STM8A/128-EVAL Оценочная плата для STM8AF51AA/STM8AF52AA STM8A
STM8L-DISCOVERY Плата Discovery для STM8L152C6 MCU STM8L
STM8L101-EVAL Оценочная плата для STM8L101K3 MCU STM8L
STM8L1528-EVAL Оценочная плата для STM8L152M8 MCU STM8L
STM8S-DISCOVERY Плата Discovery для STM8S105C6 MCU STM8S
STM8SVLDISCOVERY Плата Discovery для STM8S003K3 MCU STM8S
STMT/8L-EV1 Оценочная плата библиотеки Touch sensing Library для STM8L STM8L, STMTouch

Заключение

Несмотря на наступление эры 32-битных систем, 8-битные микроконтроллеры STM8 по-прежнему остаются востребованными в широком спектре приложений.

Сегодня семейство STM8 включает в себя более 140 моделей микроконтроллеров, объединенных в четыре больших подсемейства: STM8S – микроконтроллеры общего назначения, STM8L – малопотребляющие микроконтроллеры общего назначения, STM8AF – микроконтроллеры для автомобильных приложений, STM8AL – малопотребляющие микроконтроллеры для автомобильных приложений.

Для работы с данными микроконтроллерами компания STMicroelectronics предлагает широкий выбор аппаратных и программных средств разработки.

Наши информационные каналы

О компании ST Microelectronics

Компания STMicroelectronics является №1 производителем электроники в Европе. Компоненты ST широко представлены в окружающих нас потребительских товарах – от iPhone до автомобилей разных марок. Лидеры индустриального рынка выбирают компоненты ST за их надежность и выдающиеся технические параметры. В компании ST работает 48 000 сотрудников в 35 странах. Производственные мощности расположены в 12 странах мира. Более 11 тысяч сотрудников заняты исследованиями и разработками – инновационное лидерство ...читать далее