Не судите по одежке: новая линейка микроконтроллеров STM8 “Value Line”
Компания STMicroelectronics наряду с популярным семейством микроконтроллеров STM32 не оставляет без внимания и семейство 8-разрядных микроконтроллеров STM8, постоянно развивая и усовершенствуя его. В 2012 году выпуск линейки «Value Line» в семействе микроконтроллеров STM8S и STM8L задал новый тренд.
Зачастую в процессе разработки возникает ситуация, когда инженеру нужно по максимуму использовать все возможности микроконтроллера и при этом сохранить очень низкую цену как его самого, так, в итоге, и конечного изделия. Как раз для этого сектора рынка и предназначена новая линейка «Value Line». Ее главная отличительная черта - низкая цена (так, самый дешевый представитель линейки, STM8S003F3P6, будучи приобретен со склада компании КОМПЭЛ в количестве одной штуки, обойдется в сумму менее 10 рублей). При этом мы получаем не «обрезанный» микроконтроллер с минимумом периферийных устройств, но полноценное решение, включающее в себя 16-битные таймеры, АЦП и несколько килобайт памяти SRAM и FLASH. В статье будут рассмотрены основные особенности новой линейки и ее отличие от предшественников.
В отличие от основных конкурентов STMicroelectronics довольно поздно вышла на рынок с 8-разрядным семейством STM8, пришедшим на смену более ранним микроконтроллерам ST6/ST7/ST9/uPSD. Семейство микроконтроллеров STM8 производится по новому технологическому процессу 130 нм. Благодаря этому микроконтроллеры STM8 сочетают в себе такие характеристики, как высокая интеграция периферии, памяти, производительности и очень агрессивная цена по сравнению с конкурентами. Зачастую при равных ценах с конкурирующими решениями микроконтроллеры STM8 выделяются расширенным набором периферийных модулей и увеличенным объемом памяти, что является немаловажным критерием.
Семейство 8-разрядных микроконтроллеров STM8 включает в себя три линейки для различных применений: в автомобильном сегменте - STM8A, промышленном - STM8S, и приложений с ультранизким энергопотреблением - STM8L. Линейка STM8A по своим характеристикам и параметрам очень схожа с линейкой STM8S, основное отличие -соответствие автомобильным нормам надежности и качества. На сегодняшний день номенклатура STM8 вместе с новыми линейками включает в себя более 200 позиций. Политика компании STMicroelectronics в части микроконтроллеров предполагает деление на линейки по основным применениям, что позволяет покрыть широкую область практически во всем сегментах рынка.
В основу микроконтроллеров семейства STM8 заложено ядро CISC собственной разработки STMicroelectronics (рис. 1), в котором воплощен опыт инженеров компании по предыдущим семействам 8-разрядных микроконтроллеров. Ядро спроектировано по гарвардской архитектуре с раздельными шинами команд и данных, большинство инструкций выполняются за один такт. Для увеличения производительности применяется трехуровневый конвейер, адресное пространство 16МБ, 32-битная шина доступа к Flash - памяти, 16-битные индексные регистры, поддержка аппаратных знаковых операций сложения, умножения и деления.
Рис. 1. Архитектура ядра STM8
Также не остался без внимания контроллер вложенных прерываний с четырьмя уровнями приоритетов прерываний, детерминированным временем входа в обработчик, автоматическим сохранением и выгрузкой контекста стека. Сохранение контекста занимает 9 циклов тактового сигнала; в худшем случае, если другая подпрограмма была вызвана при помощи инструкции CALLF, время на реакцию прерывания равно 15 циклам. Контроллер прерываний может работать в двух режимах - в вытесняющем режиме прерываний и режиме работы без вытеснения. Разработчику предоставлена полная гибкость в проектировании своего приложения. В контроллере прерываний реализована та же, что и в Cortex-M, технология «tail-chaining». Суть ее - в следующем: при возникновении очереди прерываний не происходит возвращения обратно в основную программу и последующего входа в новое прерывание, а происходит переключение между прерываниями (без возврата в основную программу) до окончания обработки всей очереди. Данная технология особенно актуальна при проектировании приложений, критичных к реальному времени реакции на внешние или внутренние события. Всего доступно до 40 прерываний с возможностью заведения обработки внешних прерываний на любую ножку микроконтроллера.
STMicroelectronics акцентирует внимание на совместимости своих продуктов, это касается как STM32, так и STM8. Все линейки микроконтроллеров STM8 совместимы по портам ввода-вывода. Если в проект заложен определенный микроконтроллер, но по каким то причинам при производстве данного типа не оказалось в наличии, то он легко, без редизайна платы, может быть заменен микроконтроллером с таким же корпусом и количеством ножек ввода-вывода. Все выводы объединены по группам/функциональному назначению, расположены на определенных позициях и не меняются при переходе от одного микроконтроллера к другому. Преимущество такого решения проявляется в том, что при замене микроконтроллера затраты на редизайн печатной платы займут минимум усилий и затрат.
Линейка STM8L
Основное предназначение линейки микроконтроллеров STM8L - устройства с батарейным питанием. Микроконтроллеры делятся на пять повыводно- и программно-совместимых линеек микроконтроллеров (рис. 2).
Рис. 2. Линейка микроконтроллеров STM8L
По сравнению с STM8S данная линейка характеризуется улучшенной аналоговой периферией - быстрый 12-битный АЦП на 24 канала, 12-битный ЦАП, компараторы. Отметим, что микроконтроллеры данной линейки в отличие от большинства своих конкурентов имеют встроенный DMA-контроллер, что позволяет при грамотном подходе к проектированию программного обеспечения значительно повысить производительность. Для снижения потребления контроллеры имеют пять режимов экономичного потребления энергии (табл. 1)
Таблица 1. Краткое описание режимов потребления
| Режим | Свойства | |
|---|---|---|
| Wait: Wait for event (WFE) Wait for interrupt (WFI) | ЦПУ остановлено: Выбранная периферия работает Регистры и RAM-контекст сохранен | |
| Low Power Run | ЦПУ работает FLASH, EEPROM, стабилизатор напряжения и вся периферия остановлена, исключая RTC и один периферийный модуль Выполнение программы из RAM с низкочастотного генератора | |
| Low Power Wait | ЦПУ остановлено EEPROM отключено и стабилизатор установлен в режим Ultra Low Power Все прерывания замаскированы RTC и 1 периферийный модуль активны | |
| Active HALT | RTC | Работа на низкой частоте, POR/PDR активен RAM-память активна (контекст регистров сохранен), |
| AWU | Работа на низкой частоте Тактирование RTC от низкоскоростного встроенного RC-генератора | |
| HALT | Тактирование остановлено POR/PDR активен, RAM-память активна (контекст регистров сохранен) RTC отключен | |
Более подробные цифры по потреблению электроэнергии можно посмотреть на рис. 3. В самом экономичном режиме "HALT" содержимое оперативной памяти SRAM сохраняется, и время восстановления до полностью рабочего состояния составляет около 4 мкс.
Рис. 3. Потребление линейки STM8L
Линейка микроконтроллеров STM8S
Линейка микроконтроллеров STM8S состоит из четырех серий микроконтроллеров с разными параметрами по максимальным частотам работы и разным набором периферии (рис. 4)
Рис. 4. Линейка микроконтроллеров STM8S
Микроконтроллеры STM8S ведут происхождение от автомобильной линейки STM8A, унаследовав много параметров, повышающих надежную работу микроконтроллера в сложных окружающих условиях. В частности, микроконтроллеры линейки STM8S имеют высокую устойчивость к электромагнитным помехам (по стандартам IEC 61000, 2В по VFESD, 4A по VEFTB для STM8S), а сами имеют низкий уровень излучаемого электромагнитного шума (по стандарту IEC61967-2, уровень SAE EMI = 2). Среди других параметров, полученных в наследство - расширенный температурный диапазон от -40 до 125°С, а в документации можно найти рекомендации по работе микроконтроллера для диапазона до 150°С. Вдобавок имеется дополнительная возможность снизить собственные генерируемые помехи благодаря специальному режиму работы портов ввода-вывода с пониженной частотой (менее резкие фронты выходного сигнала). Нередки случаи частичного или полного выхода из строя flash-памяти микроконтроллера при сильных помехах. В этом случае микроконтроллер может продолжать свою работу, но программа будет выполняться некорректно, что может привести к печальным последствиям, особенно в таких приложениях как управление двигателями. Для подобных жестких условий эксплуатации поддерживается специальный режим контроля flash-памяти, когда после подачи питания идет постоянная аппаратная проверка состояния регистров наиболее важных для работы периферийных модулей - регистров контроллера прерываний, options bytes, регистров модуля сброса. Значение регистров суммируется с противоположным значением, и эта сумма должна всегда быть нулевой. При обнаружении изменения в значении этого ключевого регистра, например - жестких электромагнитных условий, сразу происходит сброс микроконтроллера с выставлением соответствующего флага. Для более стабильной работы микроконтроллеров и горячего старта с уже определенными начальными состояниями периферии микроконтроллеры STM8 имеют специальные конфигурационные регистры - option byte registers. Также во всех микроконтроллерах присутствуют два сторожевых таймера - стандартный и оконный, работающие от двух независимых источников тактирования, которые позволяют использовать STM8 в сложных условиях эксплуатации и пройти сертификацию по стандарту IEC 60335 class B. В документации на микроконтроллеры STM8 есть полномасштабный раздел, посвященный EMC- и ESD-характеристикам микроконтроллера. Этот раздел зачастую просто отсутствует в описаниях микроконтроллеров других производителей. Например, микроконтроллеры STM8 выдерживают электростатический импульс до 4 кВ (HBM) в отличие от конкурентных решений, где это значение - на уровне 1 кВ. Устойчивость к электростатическим импульсам позволяет не использовать внешнюю защиту и избежать дополнительных, часто очень сложных, проблем, связанных с этим вопросом.
Помимо превосходных показателей помехозащищенности, семейство STM8 также имеет хорошие характеристики стабильности параметров. Например, STM8S гарантирует полную работоспособность микроконтроллера без деградации параметров во всем диапазоне питающих напряжений и во всем диапазоне температур. Любой микроконтроллер из семейства STM8 имеет в составе два высокоточных встроенных RC-генератора, схема ФАПЧ для поднятия частоты не используется вовсе. Точность встроенного высокочастотного генератора калибруется на заводе до ±2% при 5 В и 16 МГц. Существует также возможность дополнительной программной калибровки до ±1%. В целом же точность имеет разброс ±5% во всем температурном диапазоне от -40 до 150°С при напряжении питания от 2,95 до 5,5 В. Все параметры можно найти в соответствующей документации на микроконтроллеры STM8S.
Благодаря ядру с аппаратной поддержкой арифметических операций, таймерам с большим числом каналов захвата-сравнения и одному таймеру с расширенными возможностями для управления двигателями, STM8S является идеальным вариантом в приложениях с расчетом скалярных вычислений и управления.
Серия микроконтроллеров STM8S/STM8L «Value Line»
Серия микроконтроллеров STM8S «Value Line» содержит пять наименований микроконтроллеров (таблица 2). Здесь - не только самые простые устройства, но также и устройства с большими объемами памяти и большим количеством ножек ввода вывода.
Таблица 2. Микроконтроллеры STM8S «Value Line»| Наименование | Корпус | Максимальная частота работы, МГц | FLASH, кбайт | EEPROM, байт | 16-бит таймеры (IC/OC/PWM) | АЦП, каналы | Периферия | Напряжение питания, В |
|---|---|---|---|---|---|---|---|---|
| STM8S003F3 | TSSOP 20 UFQFPN 20 | 16 | 8 | 128 | 2x16-бит | 5x10-бит | 1xSPI; 1xI2C; 1xUART(IrDA, ISO 7816) | 2,95...5,5 |
| STM8S003K3 | LQFP 32 | 8 | 2x16-бит | 5x10-бит | 1xSPI; 1xI2C; 1xUART(IrDA, ISO 7816) | |||
| STM8S005C6 | LQFP 48 | 32 | 3x16-бит | 10x10-бит | 1xSPI; 1xI2C; 2xUART(IrDA, ISO 7816) | |||
| STM8S005K6 | LQFP 32 | 32 | 3x16-бит | 7x10-бит | 1xSPI; 1xI2C; 1xUART(IrDA, ISO 7816) | |||
| STM8S007C8 | LQFP 48 | 64 | 3x16-бит | 10x10-bit | 1xSPI; 1xI2C; 2xUART(IrDA, ISO 7816) |
Обратим свое внимание на самый простой и доступный по цене микроконтроллер STM8S003F3 из новой серии «Value Line» (рис. 5)
Рис. 5. Структурная схема STM8S003F3P6
По рисунку можно судить, что микроконтроллер характеризуется хорошими объемами памяти - 8 кБ flash, 1 кБ SRAM- и 128 кБ EEPROM-памяти. Также на борту имеется весь необходимый набор периферии, достаточный для большинства применений - периферия обмена данными USART/SPI/I2C и 8/16-битные таймеры, максимальная частота тактирования составляет 16 МГц.
Как уже упоминалось выше, основное отличие данной серии микроконтроллеров - это оптимизированный ценовой фактор и некоторое снижение характеристик микроконтроллера. Снижение цены достигнуто прежде всего благодаря техническим новшествам при производстве, снижение затрат - за счет параллелизма тестирования конечной продукции. Вся же технология производства осталась без изменений и без редизайна на самом нижнем уровне. Основные ограничения - более узкий температурный диапазон от -40 до 85°С, меньший чем обычно объем EEPROM-памяти, нет уникального идентификатора и сервиса программирования прошивки микроконтроллера на мощностях производителя. Также снижено количество циклов записи/стирания flash- и EEPROM-памяти. Для flash-памяти данный параметр равен 100, для EEPROM - 100000 циклов.
Анонс микроконтроллеров серии «Value Line» линейки STM8L состоялся буквально на днях, и на данный момент времени доступно всего три наименования микроконтроллеров (таблица 3) . В ближайшие 2-3 месяца на российском рынке появятся микроконтроллеры этой серии.
Таблица 3. Микроконтроллеры STM8L «Value Line»| Наименование | Корпус | Макисмальная частота работы, МГц | FLASH, кбайт | EEPROM, байт | 16-бит таймеры (IC/OC/PWM) | АЦП, каналы | Периферия | Напряжение питания, В | Потребление (Run mode) (мкА/МГц) |
|---|---|---|---|---|---|---|---|---|---|
| STM8L051F3 | TSSOP 20 | 16 | 8 | 256 | 2x16-бит | 10x12-бит | 1xSPI; 1xI2C; 1xUSART(IrDA, ISO 7816) | 1,8...3,6 | 180 |
| STM8L052C6 | LQFP 48 | 32 | 3x16-бит | 25x12-бит | 1xSPI; 1xI2C; 1xUSART(IrDA, ISO 7816) | 180 | |||
| STM8L052R8 | LQFP 64 | 64 | 4x16-бит | 28x12-бит | 2xSPI; 1xI2C; 3xUSART(IrDA, ISO 7816) | 200 |
Для низкопотребляющей линейки STM8L органичен также набор периферийных модулей - нет компараторов, 12-битного ЦАП, датчика температуры, и дизайн портов ввода-вывода не предусматривает подключение сенсорных кнопок (рисунок 6).
Рис. 6. Структурная схема STM8L051F3
В остальном микроконтроллеры серии «Value Line» аналогичны по функциональности своим старшим собратьям и также имеют полную повыводную и программную совместимость внутри своих линеек. Например, разработчик может легко и без каких-либо изменений использовать в своем проекте STM8S103F3P6 вместо STM8S003F3P6 и наоборот. Ему лишь требуется поменять в свойствах проекта тип микроконтроллера и пересобрать проект заново.
Инструментарий разработчика
Что касается средств разработки для семейства микроконтроллеров STM8, разработчикам предоставляются довольно гибкие возможности по цене и функциональности; доступно несколько сред разработки с различными возможностями. На данный момент для разработки и отладки программного обеспечения для STM8 существует четыре среды: ST Toolset от STMicroelectronics, IAR Embedded Workbench от IAR Systems, Ride7 от Raisonance, CXSTM8 от Cosmic software. Две последние предоставляют бесплатный Си-инструментарий с ограничением по коду в 32 кБ. Для всех микроконтроллеров на официальном сайте www.st.com доступна библиотека периферии, различные рекомендации по применению, примеры применения с открытыми исходными кодами и т.д. Библиотека содержит набор функций, структур данных и макросов, охватывающих свойства периферии микроконтроллеров STM8. По стилю написания она сильно напоминает библиотеку стандартной периферии для STM32. Использование библиотеки в значительной степени облегчает процесс разработки собственного программного обеспечения, т.к. необходимость изучения документации с именами регистров и их функционального назначения значительно сокращается.
Многие уже привыкли к тому, что STMicroelectronics предлагает разработчикам недорогие отладочные платы для быстрого старта работы с STM8 стоимостью менее $15. К уже существующим на рынке отладочным наборам STM8S-DISCOVERY для микроконтроллеров STM8S и STM8L-DISCOVERY для микроконтроллеров STM8L добавился новый отладочный набор STM8SVLDISCOVERY для новой серии микроконтроллеров «Value Line». Принципиально он ничем не отличается от своих предшественников, и это самый простой и быстрый способ оценить все достоинства микроконтроллеров STM8, т.к. помимо невысокой цены и законченного решения на официальном сайте STMicroelectronics можно скачать пакет программных примеров для этого набора.
Заключение
Семейство микроконтроллеров STM8 обладает очень хорошим соотношением функциональности микроконтроллера и цены. С появлением новой серии микроконтроллеров «Value Line» у разработчиков появилась реальная возможность снизить себестоимость своих продуктов и сделать свои решения более конкурентоспособными на рынке. В случае, если какой либо из параметров микроконтроллера по той или иной причине не устраивает разработчика, он может выбрать другое решение среди полной номенклатуры микроконтроллеров STM8, т.к. повыводная и программная совместимость очень сильно облегчает эту процедуру. С новым семейством микроконтроллеров у разработчика в руках появилась хорошая платформа для создания недорогих и надежных решений для современного рынка электронных изделий.
Получение технической информации, заказ образцов, поставка - e-mail: [email protected]