Микроконтроллеры
серии STM8 - линейки VALUE LINE - продукция на складе в Харькове |
Максимально низкая цена и
превосходные характеристики, включая несколько килобайт SRAM и Flash – что
еще нужно от линейки 8-битных микроконтроллеров, предназначенных для
недорогих, но массовых приложений? Новая линейка микроконтроллеров Value
Line от STMicroelectronics предлагают лучшее на рынке соотношение
«цена/производительность». |
|
|
Главная отличительная черта
данных микроконтроллеров - низкая цена, за которую мы получаем полноценный
микроконтроллер, включающий в себя производительное ядро, необходимую
периферию и несколько килобайт SRAM- и Flash-памяти.
|
АРХИТЕКТУРА
МИКРОКОНТРОЛЛЕРОВ STM8 |
В основе микроконтроллеров
семейства STM8 (рисунок 1) лежит CISC-ядро собственной разработки STMicroelectronics,
сделанное на основе более ранних 8-разрядных контроллеров ST7.
Рис. 1.
Архитектура микроконтроллеров STM8
Ядро спроектировано по хорошо всем известной гарвардской архитектуре,
подразумевающей разделение данных и команд.
Существенным преимуществом STM8 является наличие трехуровневого конвейера,
позволяющего ощутимо повысить производительность. Конвейер организует
выполнение инструкции за три шага: выборка (извлечение инструкции из
памяти), декодирование (декодирование инструкции и чтение данных из
памяти) и выполнение (считывание данных из банка регистров процессора,
сдвиги и АЛУ операции, запись данных в банк регистров процессора и
память). Кроме этого, для увеличения производительности используется
адресное пространство 16 Мбайт, 32-битная шина доступа к Flash-памяти,
16-битные индексные регистры, ядро имеет аппаратную поддержку знаковых
операций сложения, умножения и деления. Аппаратное умножение 8x8
выполняется всего за четыре цикла, деление 16/16 и 16/8 - за 16 циклов.
Большинство инструкций выполняется за 1 такт.
Все эти новшества позволяют получить производительность процессора до 16
MIPS при работе на тактовой частоте 16 МГц.
Весомый вклад в функциональность новой архитектуры внес контроллер
вложенных прерываний с четырьмя уровнями приоритетов, детерминированным
временем входа в обработчик, автоматическим сохранением и выгрузкой
контекста стека.
Доступна технология «tail-chaining», позволяющая при возникновении очереди
прерываний не возвращаться обратно в основную программу для переходя к
следующему прерыванию, а сразу переходить в него.
Сохранение контекста стандартно занимает всего девять циклов. Также для
большей гибкости разработчику предоставляется два механизма обработки
прерываний - с вытеснением и без вытеснения.
Доступно до 32 прерываний - как минимум, по одному на периферийный модуль;
пять внешних прерываний - по одному прерыванию на порт ввода-вывода с
программируемыми условиями реакции; три немаскируемых прерывания - RESET,
TRAP (программное прерывание) и TLI (аппаратное прерывание по переднему
или заднему фронту на специально выделенной для этого ножке).
Неоспоримым плюсом для разработчика является наличие у STM8 возможности
отладки с помощью системы SWIM (Single Wire Interfacе Module) и Debug
Module. Как следует из названия, для отладки и программирования
потребуется всего одна ножка SWIM микроконтроллера (плюс задействуется еще
ножка для сброса - NRST). В дальнейшем, в случае необходимости, она может
быть задействована как порт общего назначения и использована в проекте.
Максимальная скорость передачи данных по SWIM-интерфейсу составляет 145
байт/мс. Модуль отладки позволяет производить чтение/запись всей памяти и
регистров периферии в режиме реального времени, обеспечивает доступ к
данным без остановки CPU и предоставляет неограниченное количество точек
останова инструкций.
|
ОБЗОР СЕМЕЙСТВА
STM8
Семейство
микроконтроллеров STM8 делится на четыре линейки в зависимости от сферы
применения:
-
для промышленного использования -
STM8S
-
для применения в автомобильном
сегменте - STM8A
-
для решений с низким потреблением
- STM8L
-
для различных сенсорных приложений
- STM8T
На сегодняшний день общее количество контроллеров
STM8
насчитывает уже более 120 позиций. Такое разнообразие позволяет точно
подобрать нужный для разработки контроллер. Разработчику доступна вся
стандартная периферия:
10/12-битные АПЦ, 12-битные ЦАП, большое количество
8/16-разрядных таймеров, встроенный LCD-драйвер, CAN, USART, SPI, I2C и до
128 кбайт Flash-памяти.
Остановимся подробнее на двух семействах: STM8S и STM8L. Поскольку, как
уже говорилось выше, одним из главных преимуществ 8-битных решений
является их цена, рассмотрим подробно наиболее привлекательные с этой
точки зрения линейки STM8S/STM8L Value Line. |
|
ЛИНЕЙКА
МИКРОКОНТРОЛЛЕРОВ STM8S
Включает в
себя четыре серии микроконтроллеров с различной производительностью,
размером встроенной памяти и набором периферийных устройств на борту
(рисунок 2).
Рис. 2.
Линейка микроконтроллеров STM8S
Серия
STM8S003/005/007
Value Line представляет собой контроллеры начального уровня с базовым
набором функций и оптимизированной ценой.
Серия
STM8S103/105
Access Line предлагает больше возможностей, большее разнообразие корпусов
и сервис фабричного программирования.
Серия
STM8S207/208
Performance Line имеет широкий набор периферийных устройств, более высокую
производительность и подходит для средних и высокопроизводительных
приложений.
Серия STM8S Application
Specific Line обеспечивает решения задач по построению систем обработки
аналоговых сигналов и DiSEqC-решений.
Линейка STM8S имеет отличные
показатели по надежности в связи с тем, что она является следствием выхода
данной линейки из автомобильного сегмента микроконтроллеров
STM8A. В документации на
контроллеры есть раздел, посвященный EMC- и ESD-характеристикам, что редко
встречается в описаниях изделий других производителей.
Например, микроконтроллеры STM8S
(STM8S003K3/STM8S003F3)
выдерживают электростатический импульс до 4 кВ (HBM) и до 1 кВ (CDM). У
конкурентов эти показатели в несколько раз хуже. Такая высокая
устойчивость к электростатическим импульсам позволяет сэкономить на
внешней защите и избежать дополнительных проблем.
STM8S также демонстрирует
хорошую стойкость к электромагнитным помехам. Устойчивость к
электростатическому разряду(ESD) соответствует международному стандарту
IEC 61000-4-2. Также микроконтроллеры линейки соответствую стандарту IEC
61000-4-4 (FTB) - на ножки питания подается серия коротких импульсов
высокого напряжения разной полярности через конденсатор 100 пФ
Для предотвращения некорректной работы микроконтроллера в случае
разрушения части Flash-памяти доступен специальный режим контроля памяти:
после подачи питания идет непрерывная проверка состояния наиболее важных
регистров на аппаратном уровне. Значения регистров складываются с
противоположными значениями. Сумма всегда должна быть равна нулю. В случае
изменения происходит сброс микроконтроллера с выставлением
соответствующего флага. |
STM8S VALUE LINE
Все
контроллеры Value Line полностью совместимы с существующим портфелем
продуктов STM8S. Серия состоит всего из пяти микроконтроллеров. Основные
характеристики отражены в таблице 1.
Таблица 1. Серия
микроконтроллеров STM8S Value line
Наименование |
Корпус |
Частота работы, МГц |
FLASH, кбайт |
SRAM, кбайт |
EEPROM, байт |
АЦП, бит |
Порты в/в |
Интерфейсы связи |
Напряжение питания, В |
STM8S003F3 |
TSSOP 20; UFQFPN |
16 |
8 |
1 |
128 |
5x10 |
16 |
1xSPI; 1xI2C; 1xUART |
2,95...5,5 |
STM8S003K3 |
LQFP 32 |
16 |
8 |
1 |
128 |
4x10 |
28 |
1xSPI; 1xI2C; 1xUART |
|
STM8S005C6 |
LQFP 48 |
16 |
32 |
2 |
128 |
10x10 |
38 |
1xSPI; 1xI2C; 1xUART |
|
STM8S005K6 |
LQFP 32 |
16 |
32 |
2 |
128 |
7x10 |
25 |
1xSPI; 1xI2C; 1xUART |
|
STM8S007C8 |
LQFP 48 |
16 |
64 |
6 |
128 |
10x10 |
38 |
1xSPI; 1xI2C; 2xUART |
|
|
Основные
характеристики семейства STM8S Value Line:
- ядро STM8 с гарвардской архитектурой;
- максимальная частота работы-
16МГц/16MIPS;
- до 64 кбайт Flash-памяти, до 6 кбайт
SRAM-памяти, 128 байт EEPROM-памяти;
- 10-битное АЦП (до 16 каналов);
- 6 таймеров (16 и 8 бит);
- коммуникационные интерфейсы: I2C, UART (LIN),
SPI;
- расширенный температурный диапазон:
-40...85°C;
- Корпуса UFQFN20, TSSPO 20, LQFP32,
LQFP48. |
КОММУНИКАЦИОННЫЕ ИНТЕРФЕЙСЫ
I2C-интерфейс. Микроконтроллеры имеют на борту один модуль I2C со
стандартным набором параметров. Модуль может работать в режиме «Ведущий» (Master)
или «Ведомый» (Slave). Поддерживается режим «МultiMaster». Доступны
стандартные (Standard) скорости передачи данных до 100 кГц и быстрая (Fast)
передача данных на частотах до 400 кГц. Возможна 7- или 10-битная
адресация. Реализовано «пробуждение» микроконтроллера из режима
пониженного энергопотребления при опознавании своего адреса в посылке.
SPI-интерфейс. Микроконтроллеры содержат один модуль SPI. Модуль
может работать в режиме «Мaster» или «Slave» и поддерживать
полнодуплексную, полудуплексную и симплексную передачу данных.
Максимальная скорость передачи данных - до 10 Mбит/с. Данные могут быть
переданы старшим либо младшим битом вперед. Полярность и фаза тактового
сигнала может быть программно изменена.
Встроена аппаратная поддержка вычисления циклически избыточного кода CRC
для обеспечения надежной связи: значения CRC могут быть переданы в
качестве последнего байта в режиме Tx, проверка ошибок CRC для последнего
полученного байта - автоматическая.
Аналогично интерфейсу I2C, реализовано «пробуждение» микроконтроллера из
режима пониженного энергопотребления.
UART-интерфейс. Микроконтроллеры STM8S Value Line содержат до двух
модулей UART. Модули UART могут работать на скоростях до 1 Mбит/с. Данные
предаются 8/9-битными словами с одним или двумя стоповыми битами и
контролем четности.
Модули UART могут быть использованы для подключения к шине LIN в режиме «Мaster»
или «Slave», работать как кодер/декодер инфракрасного сигнала IrDA.
Возможно подключение смарт-карты в соответствии со стандартом ISO 7618-3.
В дополнение ко всем вышеописанным функциям, UART может работать в
SPI-режиме. При этом микроконтроллер выступает в роли ведущего
SPI-устройства. |
АНАЛОГОВАЯ ПЕРИФЕРИЯ (АЦП)
Микроконтроллеры содержат один аналогово-цифровой преобразователь (АЦП) c
разрешающей способностью 10 бит. Максимальное количество входных
аналоговых каналов - 16.
Система настроек встроенного аналогового мультиплексора позволяет задавать
режимы однократного или непрерывного преобразования с возможностью
использования режима сканирования.
Доступен аналоговый сторожевой таймер с работой по нижнему и верхнему
порогу с возможностью генерации прерывания.
Для запуска преобразования по внешнему сигналу к триггеру АЦП подключена
одна из ножек микроконтроллера.
ПИТАНИЕ
МИКРОКОНТРОЛЛЕРА
Для питания микроконтроллера потребуется источник питания с напряжением
2,95...5,5 В. Такой диапазон питающих напряжений очень удобен: контроллер
легко интегрируется в систему с питанием как 3,3 В, так и 5 В. До
недавнего времени 5 В питание было очень широко распространено, и зачастую
бывает необходимо производить переработку старых схем с сохранением уровня
питания. Для питания ядра микроконтроллера используется встроенный
преобразователь напряжения - никакой дополнительной обвязки не
потребуется. Подача питания на аналоговую периферию происходит через
специально выделенные для этой цели ножки.
После подачи питания или сброса микроконтроллер начинает работать в
активном режиме (Run Mode). Здесь потребление максимально. Но благодаря
гибкой системе тактирования и питания периферии, возможно сократить
потребление, снижая скорость работы контроллера и задействовав только
необходимую периферию.
При реализации приложений, критичных по потреблению, микроконтроллер
поддерживает четыре режима пониженного энергопотребления для достижения
наилучшего компромисса между низким потреблением, временем старта и
доступными источниками пробуждения:
- Режим «Wait Mode». В этом режиме
CPU остановлен, но периферийные устройства продолжают работать. Все
регистры и содержимое оперативной памяти сохраняется. Пробуждение
выполняется с помощью внутреннего или внешнего прерывания, либо общего
сброса.
- Режим «Active Halt mode with
regulator on». В этом режиме CPU и тактирование периферии остановлено.
Пробуждения генерируются от внутреннего программируемого таймера (AWU).
Основной регулятор напряжения остается включенным, поэтому потребление
тока выше, чем в режиме «Active Halt Mode with regulator off», но времени
на пробуждение требуется меньше. Пробуждение также возможно от внешнего
прерывания или сброса.
- Режим «Active Halt Mode with
regulator off». Этот режим похож на предыдущий, за исключением того,
что внутренний регулятор напряжения выключен и пробуждение происходит
медленнее.
- Режим «Halt Mode». В этом режиме
микроконтроллер потребляет меньше всего энергии. Процессор и периферийное
тактирование остановлены, главный регулятор напряжения выключен.
Пробуждение вызывается внешним прерыванием или сбросом. |
На рисунке
3 представлено потребление микроконтроллера в
различных режимах работы.
Рис.
3. Потребление энергии микроконтроллерами
STM8S в различных режимах работы
ТАЙМЕРЫ
Микроконтроллеры семейства содержат шесть таймеров: один 16-битный
расширенный таймер для применения в широтно-импульсных модуляторах и для
управления двигателями, два 16-битных таймера общего назначения, один
8-битный базовый таймер и два сторожевых таймера (независимый и оконного
типа).
Таймеры в STM8S довольно
мощные, имеют множество функций: управление двигателем, комплементарные
выводы, режим одиночного импульса, автоперезагрузка, интерфейс энкодера и
датчика Холла, синхронизация между собой и т.д. |
ЛИНЕЙКА
МИКРОКОНТРОЛЛЕРОВ STM8L
Линейка
микроконтроллеров STM8L включает в себя четыре серии малопотребляющих
микроконтроллеров с различной производительностью, размером встроенной
памяти, набором периферийных устройств на борту и, собственно,
потреблением (рисунок 4). Общее количество контроллеров в серии в
настоящий момент достигло 37.
Рис.
4. Линейка микроконтроллеров STM8L
Серия
STM8L051/052
Value Line представляет собой малопотребляющие контроллеры с базовым
набором функций и лидирующим соотношением цена/производительность.
Серия
STM8L101 предлагает контроллеры начального уровня с
минимальным набором периферии.
Серия
STM8L151/152
имеет широкий набор периферийных устройств и подходит для средних и
высокопроизводительных малопотребляющих приложений.
Серия
STM8L162 отличается от предыдущей наличием модуля
шифрования.
Основная особенность данной линейки - низкое потребление и основная
направленность этих микроконтроллеров на применение в недорогих
устройствах с батарейным питанием.
По сравнению с STM8S данная
линейка имеет усиленную аналоговую периферию - очень быстрое 12-битное АЦП,
12-битный ЦАП и компараторы. Для управления несложными
жидкокристаллическими дисплеями доступен LCD-контроллер. Весомым
преимуществом является также наличие DMA-контроллера, редко встречающегося
в 8-битных микроконтроллерах.
Обратите внимание, что цена самого простого микроконтроллера -
STM8L051F3P6
очень низка, но разработчик получает в свое распоряжение 16 МГц, 8 кбайт
Flash, 1кбайт SRAM, 256 кбайт EEPROM, RTC, DMA, 12-битный АЦП, по 1
интерфейсу UART, SPI, I2C, 16-битные таймеры и отличные параметры по
энергопотреблению |
Серия отладочных средств "Discovery"
поможет Вам освоить перспективные контроллеры. |
|
STM32W — 24МГц/30DMIPS МК
для беспроводной связи;
STM32L — 32МГц/33DMIPS МК с
батарейным питанием;
STM32L0 — 32МГц/33DMIPS МК с
батарейным питанием;
STM32F0 — 48МГц/38DMIPS МК
для ультрадешевых приложений;
STM32F1 — 72МГц/61DMIPS МК
общего назначения;
STM32F2 — 120МГц/150DMIPS
высокопроизводительные МК;
STM32F3 — 72МГц/90DMIPS —
МК комбинированных сигналов c DSP и FPU;
STM32F4 — 168МГц/210DMIPS —
высокопроизводительные МК с DSP и FPU.
STM32F7 — 200МГц/428DMIPS —
высокопроизводительные МК с DSP и FPU.
STM32H —
400МГц/856DMIPS — высокопроизводительные МК с ядром Cortex-M7. |
|
|
DISCOVERY NUCLEO
STM32-OPEN |
|
Поставляемые компоненты
|