Post on 21-Apr-2020
transcript
Семейство микроконтроллеров
STM8
Сентябрь 2011, Москва
Попов Роман
Инженер по МК STMicroelectronics
(r.popov@compel.ru)
Компэл
(www.compel.ru)
Компэл STMicroelectronics
План семинара
Семейства STM8
STM8 - ядро, прерывания, система отладки
STM8S в деталях:
Системная периферия
Стандартная периферия
STM8L в деталях:
Системная периферия
Стандартная периферия
STM8S/STM8L – периферия обмена данными
Инструменты разработки STM8
Вопросы и ответы Компэл STMicroelectronics
STMicroelectronics Компэл
Совместимость 8/32 – бит П
рои
звод
ите
льность
(M
IPS
)
Интеграция (функциональность)
•Общая периферия
•Богатейшее портфолио
STM8
Семейство STM8
STM8A
STM8S
STM8L
Компэл STMicroelectronics
Компэл STMicroelectronics 5
Платформа STM8, что нового
Ядро STM8 Система отладки
Периферия
130 нм EEPROM
технология
Надежность
STM8S STM8A STM8L Промышленный
сегмент Атомобильный
сегмент Ультранизкое
потребление
Семейство STM8
Ядро, отладка и
система прерываний
Компэл Компэл STMicroelectronics
STM8 – реализация архитектуры
D-Bus
IT протокол 8бит
32бит
8бит
Прер - ие
SWIM протокол
I-Bus
STM8
Core
SRAM
Flash и EEPROM
Модуль
отладки
SWIM Периферия
Контр.
Прер.
Контролл
ер
памяти
DMA* 8бит * только в
STM8L
Компэл Компэл STMicroelectronics
STM8. Набор регистров ядра
V: переполнение
H: полуперенос
N: отрицательный результат
Z: нулевой результат
C: перенос
I0, I1: уровень маски прерывания 0, 1
V - I1 H I0 N Z C
A Аккумулятор
X Индекс
Y Индекс
SP Указатель стека
PC Счетчик программ
CC Регистр условий
0 7
15
23
Компэл Компэл STMicroelectronics
STM8. Конвейер
В STM8 реализован 3х - уровневый конвейер, что позволяет
значительно повысить производительность
выполнение
декодирование
выборка PC+ m
PC
PC - n
Компэл Компэл STMicroelectronics
Аппаратные операции умножения и деления
Умножение
Быстрое умножение 8 x 8 (4 цикла)
16 – бит арифметические инструкции
Деление
Деление 16/8 и 16/16 (16 циклов)
Поддержка знаковых операций
V флаг в регистре условий
Компэл Компэл STMicroelectronics
STM8. Управление прерываниями(1/4)
До 32 вектора прерываний Как минимум 1 прерывание на периферийный модуль
Вложенность или конкурентные режимы Приоритет задается программно в ISPR регистрах
3 уровня + запрет прерываний
Прерывание с высшим приоритетом (TLI) Управляется PD7
2 уровня – по возрастающему или падающему уровню
Разрешение программно
TLI может быть прервано только RESET
Внешние прерывания Прерывание на каждом порту
Программируемые условия реакции
Компэл Компэл STMicroelectronics
Таблица векторов прерывания
32 расширенных вектора по 4 байта:
1 байт содержит код операции (0x82)
3 байта содержат адрес памяти (16MB)
Section 256
Section n
Section 0 00807Fh
008000h
000000h
FFFFFFh
INTERRUPT VECTORS
STM8. Управление прерываниями(2/4)
Компэл Компэл STMicroelectronics
Полное сохранение контекста (A,X,Y,CC, PC)
4 вложенных уровня приоритета
Технология tail-chaining
ACCU
ACCU
XH
XL
YH
CC
INT
ER
RU
PT
RE
TU
RN
Stack
(PUSH)
Unstack
(POP) YL
PCE
PCH
PCL
IRET
IT1
IRET
IT2
IPn
IP1
Main
IPm
IP1
IPm+1
STM8. Управление прерываниями(3/4)
Компэл Компэл STMicroelectronics
Управление прерываниями (4/4)
Время отклика на прерывание
9 циклов на сохранение контекста
Инструкция в стадии выполнения обычно завершаются
Исключение при делении(DIV и DIVW) может прерываться
Некоторые инструкции совместно разделяют стадии
декодирования/выполнения
Они не могут быть прерваны даже при декодировании
Максимальное время 15 циклов в случае косвенного
выполнения CALLF
Прерывания и выборка Текущая выборка и декодирование конвейера контекста
теряется после возвращения из прерывания
Компэл Компэл STMicroelectronics
Методы программирования памяти
Существуют 3 метода программирования памяти:
SWIM
In circuit programming(ICP):
Программатор встроен в устройство
Программирование осуществляется внешним программатором через SWIM.
Время программирования ~6с @ 128Кб
ST
Boot Loader
Boot Loader:
Это позволяет разработчику программировать память через один из
последовательных интерфейса (UART, SPI, CAN).
IAP
In Application Programming (IAP):
Приложение может перепрограммировать себя через любой доступный
протокол обмена данными
IAP код может быть запрограммирован одним из вышеприведенных методов
Компэл Компэл STMicroelectronics
Отладочный модуль SWIM
SWIM : Single Wire Interface Module SWIM – интерфейс и полноценный отладочный
модуль
Чтение данных без остановки CPU
Новые «теневые» регистры ядра(чтение без
останова)
Определенная ножка SWIM протокола может быть
использована как обычная ножка GPIO
Исполнение кода в реальном времени
Не агрессивная внутрисхемная отладка и быстрое
программирование(тактирование от HSI)
Не ограниченное количество точек останова
инструкций
Чтение/запись всей памяти и регистров периферии
во время выполнения приложения
SWIM connector
VDD
STM8S
Supply
VDD
NRST
SWIM
GND
PD1
SWIM connector
VDD VDD
STM8S
Supply
VDD
NRST
SWIM
GND
PD1
Компэл Компэл STMicroelectronics
Встроенный загрузчик
Характеристики: Возможность программирования Flash, EEPROM, RAM памяти и
приложения пользователя
Возможность соединения с ПК с использованием
UART, SPI, CAN
Защита от само-перезаписи
Расположен в ROM памяти (адрес 0x6000)
Простота и безопасность активации
Активация после каждого сброса устройства
Таймаут активации – 1 секунда ожидания команды
Возможность отключения через options byte
Наличие:
S903 S103 S105 S20x L10x L15x
- - + + - +
Компэл Компэл STMicroelectronics
Параметры встроенного загрузчика
STM8S105 STM8S20x STM8L15x
UART HSE/HSI
Кадр: 8Data/Even/1Stop
Скорость: 4800 – 1Мб/с
Авто определение скорости
UART1 HSE/HSI
Кадр: 8Data/Even/Stop
Скорость: 4800-1Mб/с
Авто определение скорости
UART2 HSE/HSI
Кадр: 8Data/Even/1Stop
Скорость: 4800-550Кб/с
Авто определение скорости
UART3 HSE/HSI
Кадр: 8Data/Even/1Stop
Скорость: 4800-550Кб/с
Авто определение скорости
SPI HSE/HSI
Кадр: 8Data/MSB first
Скорость: до 10Mбит/с
Авто режим slave
CAN HSE: 8, 16, 24MГц
Кадр: 11/29 bit ID
Скорость:125Кб/с – 1Mб/с
Ручное задание скорости (по
умолчанию 125кб/с)
Компэл Компэл STMicroelectronics
ПО – “Flash loader”
только USART
нет необходимости работать с командами бутлоадера
загрузка файлов с расширением “*.s19”
Компэл Компэл STMicroelectronics
Ресурсы
Список ресурсов по ROM - bootloader:
1) UM0560 manual
• Подробный user manual для ROM bootloader
• Опубликовано в интернете
2) AN2659: In Application Programming (IAP)
• Реализация User Bootloader
• Совместим с протоколом ROM bootloader
• Открытый код
• Написан на C-языке
Компэл Компэл STMicroelectronics
Семейство STM8S
Основные характеристики
Компэл Компэл STMicroelectronics
STM8S – расширенная архитектура
Расширенный Гарвард; CISC архитектура.
Новые арифметические инструкции
16MБ линейное адресное пространство
32-бит интерфейс памяти и 3 – уровневый
конвейер
Производительность 20MIPS @ 24MHz
16 – бит индексные регистры
Дополнительный тактовый контроллер с
контролем потребления
Большинство инструкций за 1 CPU такт
Компэл Компэл STMicroelectronics
STM8S – Надежность
3 - 5.5V Вольт, с -40 до +125°C
Voltage detection (POR, PDR)
2 независимых сторожевых таймера
Система контроля тактирования(CSS)
Дополнительные critical option bytes
Соответствие EMI(стандарт IEC61967-2)
Стойкость к EMS(стандарт IEC 61000-4-2 и IEC 61000-4-4)
Стойкость к ESD(соответствие классам JESD22-A114 и
JESD22-C101)
Соответствие IEC 60335 class B
Высоконадежный дизайн портов в/в
Компэл Компэл STMicroelectronics
STM8S207/208. Функциональная схема
Ключевые особенности 3.0-5.5В
От -40 до +125 °C
24MГц Fcpu
10K циклов FLASH
300K циклов EEPROM
4 режима низкого
потребления
Подстраиваемый HSI RC
16MГц(до +/-1% точности)
Поддержка IrDA и
Smartcard
SWIM для быстрого
программирования
96 – бит уникальный ID
LQFP 80, 64, 48, 44, 32
VQFN 20, 32, 48
TSSOP 20
Ad
dre
ss
& D
ata
Bu
s
SPI
Nested IT Ctrl 32 IT вектора
До 37 внш.IT на
6 векторах
До 128КБ FLASH
10 бит АЦП
До 16 каналов
2x Watchdog
(IWDG и WWDG)
STM8
Ядро
@ 24 MГц
Вн RC 16 MГц
Внш 1-24 MГц
Вн RC 128 КГц
Clocks to Peripherals
Core
Clock Controller
Clock
Detector
Блок сброса
POR
Beeper 1/2/4
КГц
Таймер AWU
I2C
2x16-бит TIM
До 5 CAP/COM
Ad
dre
ss
& D
ata
Bu
s
Модуль
отладки
SWIM
2xU(S)ART
Smartcard /
IrDA/LIN
До 68 I/Os
До 6КБ SRAM
Boot ROM
8-bit Timer
1.8В
регулятор
До 2КБ EEPROM
CAN 2.0B
16-бит TIM MC
4 CAP/COM +
3 cmpl. output
BOR
Компэл Компэл STMicroelectronics
STM8S003х. Функциональная схема
Ключевые
особенности 2.95 - 5.5 В
От 40 до +85 °C
16 MГц Fcpu
100 циклов FLASH(20 лет)
100K циклов EEPROM
Подстраиваемый HSI RC
16MГц(до +/-1% точности)
SWIM для быстрого
программирования
LQFP32/LQFP48/LQFP64/T
SSOP20 A
dd
res
s &
Da
ta B
us
SPI
8Мбит/с
Nested IT Ctrl 32 IT вектора
До 27 внеш. IT
на 6 векторах
8 КБ
FLASH
10 бит АЦП
До 5 каналов
2x Watchdog
(IWDG и WWDG)
STM8
Ядро
@ 16 MГц
Int. RC 16 MГц
Xtal 1-16 MГц
Int. RC 128
КГц
Clocks to Peripherals
Core
Clock Controller
Clock
Detector
Блок сброса
POR
Beeper
1/2/4КГц
Таймер AWU
I2C
400Кбит/c
16-бит TIM2
3 CAP/COM
Ad
dre
ss
& D
ata
Bu
s
Модуль
отладки
SWIM
UART1 LIN/IrDa
Эмуляция SPI
До 28 I/Os
1 КБ SRAM 8-бит TIM4
1.8V
регулятор
128 КБ EEPROM
16-бит TIM1 4 CAPCOM +
3 cmpl. output
BOR
Компэл Компэл STMicroelectronics
Компэл Компэл STMicroelectronics
Семейство STM8S
SPI
10MГц*
2x Watchdog
(IWDG и WWDG)
AWU
Beeper 1/2/4kHz
SWIM
Модуль отладки
I2C
400 КГц multi-master
UART
LIN /Smartcard / IrDA
До 3x16-бит таймера
8-бит таймер
10-бит АЦП
До 16 каналов
Встр. источн. тактир.
16MГц RC генератор
128КГц RC генератор
Performance Line STM8S20x
CAN 2.0B 2 UART До 6Кб
SRAM
Ядро STM8
@ 24 MГц До 2 КБ
EEPROM
До 128 КБ
FLASH
Общая периферия Application Specific Line STM8S903
7 каналов
АЦП
Voltage
reference 1Кб SRAM
Ядро STM8
@ 16 MГц 640 байт
EEPROM
8 КБ
FLASH
Синхр.
таймер
Access Line STM8S10x
До 2 Кб
SRAM
Ядро STM8
@ 16 MГц До 1 КБ
EEPROM
До 32 КБ
FLASH
Value Line STM8S00x
1 Кб
SRAM
Ядро STM8
@ 16 MГц 8 КБ
FLASH
29
Основные моменты STM8S “Value Line”
Оптимизированные по цене STM8S для приложений, требующих
базовые характеристики с лучшим соотношением
цены/производительности/периферии
Полная совместимость с более ранними STM8S
Отличительные особенности:
Уменьшенный набор партнамберов(8Кб, позже 32Кб/64Кб)
Уменьшенный набор корпусов(LQFP48/32/TSSOP20/UFQFPN20)
Несколько байт EEPROM
Нет уникального ID
Снижено количество циклов записи/очистки FLASH до 100
Нет сервиса программирования на мощностях ST
Более агрессивная цена чем STM8S103(Access Line)!
Компэл Компэл STMicroelectronics
30
Портфолио STM8S00х “Value Line”
STM8S003F3P6 8 Кб – TSSOP20
STM8S003K3T6 8 Кб – LQFP32
STM8S005K6T6 32 Кб – LQFP32
STM8S005C6T6 32 Кб – LQFP48
STM8S007R8T6 64 Кб – LQFP64
Компэл Компэл STMicroelectronics
Портфолио STM8S Flash
Размер
памяти
Кол – во
ножек
32 pins 44 pins 48 pins 64 pins 80 pins
8КБ
16КБ
32КБ
64КБ
128КБ
20 pins
STM8S207R6
2Кб RAM
STM8S207R8
4Кб RAM
STM8S207RB
6Кб RAM
STM8S208RB
6Кб RAM
STM8S207MB
6Кб RAM
STM8S208MB
6Кб RAM
STM8S207C8
4Кб RAM
STM8S207CB
6Кб RAM
STM8S103F2
1Кб RAM
4КБ
STM8S103F3
1Кб RAM
STM8S103K3
1Кб RAM
STM8S105K4
2Кб RAM
STM8S105K6
2Кб RAM
STM8S105S4
2Кб RAM
STM8S105S6
2Кб RAM
STM8S207S8
4Кб RAM
STM8S105C4
2Кб RAM
STM8S105C6
2Кб RAM
Performance Line
Access Line
STM8S207K6
2Кб RAM
STM8S207S6
2Кб RAM
STM8S207C6
2Кб RAM
STM8S207M8
6Кб RAM
STM8S903K3
1Кб RAM
STM8S208R6
6Кб RAM
STM8S208S6
4КБ RAM
STM8S208C6
6Кб RAM
STM8S208R8
6Кб RAM
STM8S208C8
6Кб RAM
STM8S208S8
4Кб RAM
STM8S207SB
4Кб RAM
STM8S208SB
4Кб RAM
STM8S208CB
6Кб RAM
TSSOP20/
QFN20
LQFP32/
QFN32
LQFP44 LQFP48 LQFP64 LQFP80
STM8S903F3
1Кб RAM Value Line
Pin-to-Pin
Компэл Компэл STMicroelectronics
Микроконтроллеры STM8L
Основные параметры
Компэл Компэл STMicroelectronics
Основные характеристики STM8L
STM8 8 - бит CISC ядро; до 16 MIPS на 16 MHz
Pin-to-pin и программная совместимость МК, 4 линейки
От 4 до 64 Кб встроенной Flash, до 4 Кб SRAM
Гибкое регулирование потребления до 150 мкА/МГц
4 режима низкого потребления: до 350нA с сохранением данных SRAM и контекста
Цифровая и аналоговая периферия (12 – бит АЦП, 12 – бит ЦАП, LCD, RTC)
Бесплатная touch-sensing библиотека
Компэл Компэл STMicroelectronics
Функциональная схема STM8L101
SPI
USART
I²C
2x16 бит TIM
2+2 канала
1x8-бит Timer
WDG c 38 КГц
внутр.
AWU
Ad
dre
ss
& D
ata
Bu
s
До 1.5Кб SRAM
До 8Кб
FLASH
2 Компаратора
Модуль
сброса
POR/PDR
Регулятор
напряжения
Ad
dre
ss
& D
ata
Bu
s
Nested IT Ctrl До 26 IT
До 29 внешн. IT
на 10 векторах
STM8
Ядро
@ 16 MГц
Внутр. RC 16
MГц
Внутр. RC 38
КГц
Clock Controller
Модуль
отладки
SWIM
До 30 I/Os
Ядро STM8 Ядро@16 MГц Fcpu
От -40 до 125°C
1.65V - 3.6В
Память До 8Кб Flash, 1.5Кб SRAM
Характеристики 2 Ultra Low Power режимы
+/- 1% точность встроенного RC
Потребление
0,35мкА в Halt,
0.8мкА в Active Halt (с AWU)
Система сброса (POR/PDR)
Корпуса 20 pins QFN/TSSOP
28 pins QFN
32 pins LQFP/QFN
Компэл Компэл STMicroelectronics
Функциональная схема STM8L152/151
До 2хSPI
До 3хUSART
I²C
До 3х 16бит таймера
6 CAP/COM
1x8-бит Timer
2x Watchdog
(IWDG и WWDG)
RTC/AWU
Ad
dre
ss
& D
ata
Bu
s
До 4Кб SRAM
До 2Кб
EEPROM
До 64 Кб
FLASH
Reset system
Int Volt. Refer.
POR/PDR
Регулятор
напряжения
BOR
Ad
dre
ss
& D
ata
Bu
s
Nested IT Ctrl До 32 IT вектора
До 40 вншн IT
на 11 векторах
STM8
Ядро
@ 16 MГц
Внт RC 16
MГц
Внш 1-16 MГц
Внт RC 38
КГц
Clock Controller
Модуль
отладки
SWIM
До 67 I/Os
PVD
Внш 32,768
КГц
4 кан DMA
2x12 бит ЦАП 2 компаратора
Boot ROM
LCD driver 8 x 40 / 4 х 44
16бит TIM1 3 CAP/COM
Компл. кан.
Ядро STM8 Ядро@16MHz Fcpu
-40 - 125°C
1.8В - 3.6В (до 1.65В в режиме power down)
Память До 64Кб Flash, до 4Кб SRAM,
до 2Кб data EEPROM
Характеристики 5 режима Ultra Low Power
+/- 1% точность встроенного RC генератора
Энергопотребление
350нА в режиме Halt
1мкА в режиме Active Halt (с RTC)
Модуль сброса (POR/PDR, BOR, PVD)
Корпуса 20 pins TSSOP/UFQFPN
28 pins UFQFPN
32 pins LQFP/ UFQFPN
48 pins LQFP/ UFQFPN
64 pins LQFP
80 pins LQFP
Infrated
Interface
12 бит АЦП
25 каналов
тем. датчик
LCD booster
1/2/4 Beeper
Компэл Компэл STMicroelectronics
Функциональная схема STM8L162
До 2хSPI
До 3хUSART
I²C
До 3х 16бит таймера
6 CAP/COM
1x8-бит Timer
2x Watchdog
(IWDG и WWDG)
RTC/AWU
Ad
dre
ss
& D
ata
Bu
s
До 4Кб SRAM
До 2Кб
EEPROM
До 64 Кб
FLASH
Reset system
Int Volt. Refer.
POR/PDR
Регулятор
напряжения
BOR
Ad
dre
ss
& D
ata
Bu
s
Nested IT Ctrl До 32 IT вектора
До 40 вншн IT
на 11 векторах
STM8
Ядро
@ 16 MГц
Внт RC 16
MГц
Внш 1-16 MГц
Внт RC 38
КГц
Clock Controller
Модуль
отладки
SWIM
До 67 I/Os
PVD
Внш 32,768
КГц
4 кан DMA
2x12 бит ЦАП 2 компаратора
Boot ROM
LCD driver 8 x 40 / 4 х 44
16бит TIM1 3 CAP/COM
Компл. кан.
Ядро STM8 Ядро@16MHz Fcpu
-40 - 125°C
1.8В - 3.6В (до 1.65В в режиме power down)
Память До 64Кб Flash, до 4Кб SRAM,
до 2Кб data EEPROM
Характеристики 5 режима Ultra Low Power
+/- 1% точность встроенного RC генератора
Энергопотребление
350нА в режиме Halt
1мкА в режиме Active Halt (с RTC)
Модуль сброса (POR/PDR, BOR, PVD)
Корпуса 64 pins LQFP
80 pins LQFP
Infrated
Interface
12 бит АЦП
25 каналов
тем. датчик
LCD booster
1/2/4 Beeper
AES 128
Компэл Компэл STMicroelectronics
Линейка STM8L1xx
STM8L152 Коммуникационная
периферия
USART, SPI, I2C
Сторожевой таймер
(Два вSTM8L15x)
Многофункциональн
ые 16-бит таймеры
Встроенный 16 МГц
и 38КГц RC генераторы
Схема сброса
POR/PDR
STM8L101 2 компаратора
STM8L151
Ядро 16 MГц STM8 CPU
До
32 Кб
Flash
До
2 Кб
SRAM
Вход
осн. ист.
такт 1-16
МГц
EEP
ROM
RTC с
32 КГц
источ
4 к.
DMA
LCD
8x40/
4x44
12-бит АЦП
1мкс темп
датчик
12-бит
ЦАП
Reset
+
BOR
PVD
STM8
ядро
@ 16
MГц
До
32 Кб
Flash
До
2 Кб
SRAM
Вход
осн. ист.
такт 1-16
МГц
EEP
ROM
RTC с
32 КГц
источ
4 к.
DMA
12-бит АЦП
1мкс темп
датчик
12-бит
ЦАП
Reset
+
BOR
PVD
STM8
ядро
@ 16
MГц
До
8 Кб
Flash
До
1.5 Кб
SRAM
STM8
ядро
@ 16
MГц
STM8L162
До
32 Кб
Flash
До
2 Кб
SRAM
Вход
осн. ист.
такт 1-16
МГц
EEP
ROM
RTC с
32 КГц
источ
4 к.
DMA
LCD
8x40/
4x44
12-бит АЦП
1мкс темп
датчик
12-бит
ЦАП
Reset
+
BOR
PVD
STM8
ядро
@ 16
MГц
AES
128 -
бит
Общая периферия
Компэл Компэл STMicroelectronics
Портфолио STM8L Flash
(байт)
4 k
8 k
28 pins
UFQFN
STM8L101K3 1.5 КБ RAM
20 pins
TSSOP/UFQFN
32 pins
LQFP/UFQFN/XQFN
STM8L101F2 1.5 КБ RAM
STM8L151K4 2 КБ RAM
STM8L151G4 2 КБ RAM
16k
48 pins
LQFP/UFQFN
STM8L152K4 2 КБ RAM
STM8L152C4 2 КБ RAM
STM8L151C4 2 КБ RAM
STM8L101F3 1.5 КБ RAM
STM8L101G2 1.5 КБ RAM
STM8L101G3 1.5 КБ RAM
32k STM8L151K6
2 КБ RAM STM8L151G6
2 КБ RAM
STM8L152K6 2 КБ RAM
STM8L152C6 2 КБ RAM
STM8L151C6 2 КБ RAM
STM8L151F2 1 КБ RAM
STM8L151G2 1 КБ RAM
STM8L151F3 1 КБ RAM
STM8L151G3 1 КБ RAM
STM8L151K3 1 КБ RAM
Корпуса
STM8L151C8 4 КБ RAM
STM8L152C8 4 КБ RAM
STM8L152R8 4 КБ RAM
STM8L151R8 4 КБ RAM
64k
64 pins
LQFP/BGA
STM8L152M8 4 КБ RAM
STM8L151M8 4 КБ RAM
80 pins
LQFP
STM8L152R6 2 КБ RAM
STM8L151R6 2 КБ RAM
STM8L151K2 1 КБ RAM
STM8L151С3 1 КБ RAM
STM8L162R8 4 КБ RAM
STM8L162M8 4 КБ RAM
STM8L152/162** c LCD
STM8L151 без LCD
STM8L101
Будет доступно в 1 квартале 2011 года
Pin-to-Pin
Компэл Компэл STMicroelectronics
Линейка STM8S
Системная периферия
Компэл Компэл STMicroelectronics
STM8S. Свойства памяти
До 128 Кб FLASH – памяти, базируется на EEPROM
технологии
До 2 Кб EEPROM памяти
До 6 Кб SRAM
Защита от записи с Memory Access Security System
(MASS ключи)
Программируемая защита от записи User Boot Code
area (UBC)
Защита от считывания (ROP)
Программирование байт, слов и блоков
Компэл Компэл STMicroelectronics
Карта памяти – STM8S
0x8000
0x4800
0x0000
0x5000
0x4000
0x6000
0x8080
Начало памяти программ с 00
8000h
Конец определяется
размером памяти(02 7FFFh
для 128К).
Вектора прерываний
расположены в начале этой
области памяти.
SRAM начинается с 00 0000h
До 1КБ области стека
расположено в конце SRAM
Option bytes расположены с
адреса 00 4800h
EEPROM начинается с адреса
00 4000h.
Компэл Компэл STMicroelectronics
STM8S – параметры источников тактирования
Все источники могут быть использованы для тактирования CPU
От 1 до 24MГц внешний генератор/керамический резонатор
С 3В до 5.5 В
-40 to 125 °C
45-55 % рабочий цикл
< 2 мс максимальное время старта на 24 MГц
16МГц HSI RC откалиброванный при изготовлении
< 2 мкс максимальное время страта
1.8В внутр питание, 1.2 мкA максимальное в Halt режиме
±1 % точность при 25 °C
±5 % во всем диапазоне напряжений и температур(3–5.5В; -40 до +
150 °C)
Возможность программной калибровки (8 шагов и точность 1.5 %)
128КГц LSI RC откалиброванный при изготовлении
1.8 В внутр питание, 0.3 мкA макс в Halt режиме, ±2.5 % точность
при 25 °C
±12.5 % точность во всем диапазоне напряжений и температур
Компэл Компэл STMicroelectronics
Схема системы тактирования – STM8S
Reset configuration
HSE Osc
1-24MГц
CSS
HSI RC
16MГц
LSI RC
128КГц
/1
/2
/4
/8
/1
/2
/4
/8
/16
/32
/64
/128
AWU
IWDG
CPU
память
WWDG
OSC1
OSC2
CCO
HSI RC @16MГц, откалиброванный при изготовлении с +/-2% точностью, возможность программой калибровки до +/-1%
LSI RC @128КГц, откалиброванный при изготовлении с +/-5% точностью
CCOSEL[3:0]
fCPU/64
fCPU/16
fHSI
fHSIDIV
fHSE
fLSI
fMASTER
fCPU
fCPU/2
fCPU/4
fCPU/8
fCPU/32
периферия
AWU
CAN
Компэл Компэл STMicroelectronics
STM8 – контроллер тактирования
Clock Security System (CSS)
Активируется единожды, активна после сброса
Автопереключение на HSI/8 когда сбой HSE + прерывание
Peripheral Clock Gating (PCG)
После сброса, clock активен на всей периферии(STM8S)
Возможность отключение clock для следующей периферии:
USART, LINUART, SPI, I2C, TIMERS, ADC, CAN, AWU…
Controllable Clock Output (CCO)
Возможность вывода внутреннего clock
Максимальная частота 10MГц
EMS защита регистров конфигурации clock
Компэл Компэл STMicroelectronics
Схема сброса
20мкс
генератор
импульса
Внешний
Сброс
POR/BOR IWDG/WWDG/SW SWIM ILLEGAL OPCODE EMS (только STM8S)
Фильтр
EMS reset – критичные регистры процессора реализованы комплементарно , любая
ошибка в обратном значении при EMS помехи приведет к сбросу:
Копии регистров option bytes,
Регистры управления клоком,
Основной регистр клока
Регистр переключения
Компэл Компэл STMicroelectronics
Схема питания STM8S
Схемы питания
VDD/VSS(Основное) = 2.95 - 5.5В, снижение до
2.65 В -сброс: внешние источники для I/Os и для
встроенного стабилизатора.
VDDA/VSSA(Аналоговое) = 3 - 5.5В, снижение
до 2.65 В – сброс. VDDA и VSSA должны быть
соединены с VDD и VSS
VDDIO/ VSSIO(GPIO) = 2.95 - 5.5 V, снижение до
2.65 В – сброс : внешние источники для I/O.
VDDIO и VSSIO должны быть соединены с VDD
и VSS
VREF+/VREF- : внешние опорные напряжения
для АЦП(доступно в 64 и 80pin корпусах, в
остальных соединено внутренне с Vdda и Vssa).
VREF+ в диапазоне 2.75В - VDDA
VCAP : внешний конденсатор со значением >
470нФ, требуется для стабилизации
встроенного стабилизатора
Цифровые блоки
Аналоговые блоки
Стабилизатор напряж - Main regulator mode (MVR) - Ultra low power mode (ULP)
Ядро Память Цифровая периферия
I/Os
10-bit АЦП
16 MГц RC генератор HSI 38 КГц RC генератор LSI
Power Control (PWR) Clock detector Компараторы
VREF-
VDDA
VDD
VDDIO
VREF+
VCAP
Более подробно в «HW getting started Application Note»
Компэл Компэл STMicroelectronics
Детекторы напряжений
2 детектора напряжений
Power On Reset (POR) с Power
Down Capability (PDR)
Brown Out Detection (BOR) –
мониторинг основного питания,
м.б. деактивирован в режимах
пониженного потребления
VDD/VDDIO
BOR triggered by POR
VDD
NRST
Vth-
1V
Vth+
PDR restarted by BOR
Компэл Компэл STMicroelectronics
Режим/
Потребление (5В) /
Wake up RUN@HSI
Генератор
Стабилиз
атор
напряжен
ия
ЦПУ Периферия Wake-up
событие
Wait 2.15мA @16MГц HSE [0.56 мкс]
1.44мA @16MГц HSI [0.56 мкс]
ON ON OFF ON Int/ext ITs, BOR,
reset
Fast Active Halt 1.1мA @16MГц HSE, Flash ON [1 мкс]
1.1мA @16MГц HSE, Flash OFF [3 мкс]
200мкA @128КГц LSI [3 мкс]
OFF,
исключая
LSI/HSE
ON OFF
AWU и IWDG,
если
активировано
AWU, ext ITs,
BOR, reset
Slow Active Halt 68мкA @128КГц LSI, Flash ON [48 мкс]
12мкA @128КГц LSI, Flash OFF[50 мкс]
OFF,
исключая
LSI/HSE
OFF OFF
AWU и IWDG
если
активировано
AWU, ext ITs,
BOR, reset
Halt 62мкA, 5В, Flash ON [52 мкс]
6.5мкA, 5В, Flash OFF [54 мкс]
OFF OFF OFF OFF external ITs,
BOR, reset
Режимы пониженного потребления – STM8S
Компэл Компэл STMicroelectronics
Энергопотребление – STM8S
62мкА 6.5мкА**
Fast
Active
HALT
128кГц
200мкA
RUN
из
Flash
480мкА/МГц
RUN
из
RAM
200мкА/МГц
2.15мкА 1.44мкА*
WAIT
16МГц
Fast
Active
HALT
16MГц
1.1мкA
Slow
Active
HALT
128кГц
68мкA 12мкA**
HALT
*Используется HSI
**FLASH отключена
Компэл Компэл STMicroelectronics
Характеристики IWDG – STM8S
Вариант – таймер работает полностью независимо от основного приложения, в
фоне
8-bit PRESCALER
LSI
(128КГц) 8-bit
down counter
Prescaler Register
Reload Register
Key Register
IWDG Reset
HW/SW старт через option byte
Безопасность:
IWDG тактируется через
отдельный(LSI) кварц и остается
активным, даже если нет основного
клока
IWDG не может быть отключен
программно(LSI не может быть
остановлен)
Безопасная перезагрузка (ключ)
IWDG функционирует во всех
низкопотребляющих режимах,
исключая halt (LSI остановлен)
Для предотвращения IWDG сброса:
запись в IWDG_KR значения 0xAA и
значения интервала
Максимальное значение таймаута @LSI/2
(64КГц): 0.06мс ...... 1с
/2
Компэл Компэл STMicroelectronics
WWDG характеристики – STM8S, STM8L15x
WWDG может быть активирован программно
и аппаратно
Конфигурируемое временное окно, м.б.
запрограммировано для определения
аварийного поведения приложения
Условия сброса
Сброс когда значение становится ниже
0x40 (T6=0)
Сброс если таймер перезагружается за
границами временного окна
Предотвращение WWDG сброса: запись
T[6:0] битов регулярных интервалов, пока
нижнее значение счетчик меньше чем
временное значение окна (W[6:0])
Мин – макс значение таймаута при 16MHz :
STM8S: 96.768мс ... 195.072мс (step 1.536мс)
STM8L15x: 0.77мс ... 49.15мс (step ~0.768мс)
CMP
W0 W1 W2 W3 W4 W5 W6 -
T0 T1 T2 T3 T4 T5 T6 WDGA
WWDG_CR
WWDG_WR
PRESCALER 12288
6-Bit Down Counter
SYSCLK
Запись WWDG_CR
компаратор = 1 когда
T6:0 > W6:0
WWDG Сброс
Нельзя обновить Окно обновления
T[6:0] CNT down counter
время
W[6:0]
3Fh
T6 bit
Сброс
Компэл Компэл STMicroelectronics
Линейка STM8S
Стандартная периферия
Компэл Компэл STMicroelectronics
STM8S
Быстрый 10-бит АЦП (4МГц - 3.5мкс, 6МГц - 2.33мкс)
Встроенный точный 16МГц 1% RC
I²C, SPI и до 2 UART(IrDa, Smart Card...)
Мощный 16бит таймер управления двигателями
2 таймера 16-бит, 1 таймер 8-бит, 1 таймер AWU
2 сторожевых таймера
Низкоскоростной RC на 128КГц, адаптирован для
режимов низкого энергопотребления
До 68 I/O у 80 пин корпуса
Альтернативные комбинации портов I/O
Компэл Компэл STMicroelectronics
Характеристики GPIO
68 многофункциональных двунаправленных портов I/O в 80-пин корпусе
До 68 стандартных I/O(до 10 мА для стандартных I/O и до 20 мА для high-sink I/O(до 18 пин))
До 16 аналоговых входов
До 38 I/O могут использоваться как внешние прерывания
Все стандартные I/O разделены на 9 портов (GPIOA..GPIOI)
Индивидуальная конфигурация(направление, конфигурация, внешнее прерывание, частота)
Раздельные регистры для входных и выходных данных
Bit bandling для GPIO регистров
Некоторые I/O с возможностью переключения на 10 МГц
Контроль уменьшения шума EMC
Альтернативные функции (USART, TIM, I2C, SPI, CAN, …)
Компэл Компэл STMicroelectronics
Характеристики GPIO
Характеристики STM8S STM8L
Максим кол-во I/O
Количество портов
АЦП I/O
Внеш. прерываний I/O
80 pin (18 high sink)
До 9 x 8 бит, порты GPIOA..GPIOI
до 16 каналов АЦП
До 38 ножек для внешн. прерываний
80 pin
До 9 x 8 бит, порты GPIOA..GPIOI
До 24 каналов АЦП
До 40 внешних прерываний
Частота I/O,
OD возможность
2MГц – все ножки,
10MГц выбирается программно
Открытый коллектор для I2C
2MГц – все ножки,
10MГц выбирается программно
Открытый коллектор для I2C
Максимальная нагрузка
на ножку
high sink: 20мA @ 5В, 10мA @3 .3В
std pins: 10мA @ 5В, 4мA @ 3.3В
Общий ток: от 80 до 200мA
25мА для всех ножек
Общий ток: до 80мA
Альтернативные
функции
Output -> конфигурируется периферией,
может быть изменен SW(OD, pull-ups))
Input -> необходимо конфигурировать SW
Output -> конфигурируется периферией,
может быть изменен SW(OD, pull-ups))
Input -> необходимо конфигурировать SW
Состояние после сброса Clock connected на все I/O
Все I/O в режиме input floating
Clock connected на все I/O
Все I/O в режиме input floating
Компэл Компэл STMicroelectronics
Конфигурация GPIO
OUTPUT
CONTROL
ON
VDD_IO
VSS
VDD_IO
VSS
ON/OFF
Pu
ll -
UP
VDD_IO
OFF
Input Driver
Output Driver
Configuration
Mode
DD
R
CR1 CR2 /
ADCTDR
Analog Input 0 0 CR2 = 0
ADCTDR =1
Input floating 0 0 With
interrupt
capability
if set Input Pull-up 0 1
Open-drain
output
1 0 Speed
limited to
10MHz
if set Push-pull
Output
1 1
True
Open-drain
1 X X
X X
Only on I2C I/Os
X
Компэл Компэл STMicroelectronics
Простота
проектирования
Простота миграции
SPI, I²C, UART доступно
везде
Аналог на одной
стороне
Совместимость внутри линеек – STM8S
Компэл Компэл STMicroelectronics
Компэл STMicroelectronics
Характеристики АЦП
10-бит АЦП
16 мультиплексированных входных каналов
5 режимов преобразования
Функция аналогового сторожевого таймера(analog watchdog)
Время преобразования минимум 3.5 мкс
Частота тактирования АЦП: от 1 до 6 МГц
Диапазон измерения Vref- < Vin < Vref+
Vref- от 0 до 0.5 В; Vref+ от 2.75 до Vdda
Выбор: внешний триггер и таймер триггера
Одиночный или продолжительные режимы преобразования
Авто power-down в одиночном режиме
Прерывание по завершению преобразования
Выравнивание данных (правое/левое)
Предделитель тактовой частоты
Analog zooming(только при Vref+)
Компэл
Компэл
Характеристики АЦП
Свойства STM8S10x, STM8S90x (АЦП1) STM8S20x (АЦП2)
Количество
каналов
До 10 До 16
Разрешение(бит) 10 10
Выход 10-бит регистр для
одиночного режима
10x10 или 8x10бит буфер
10-бит регистр
Триггеры Внешний вывод (PD_3),
Timer1
Внешний вывод (PD_3), Timer1
Скорость @4MГц 3.5мкс,
@6MГц2.33мкс
@4MГц 3.5мкс,
@6MHz 2.33мкс
Флаги
прерывания
Конец преобразования
Перегрузка
Analog watchdog
Конец преобразования
Перегрузка
Опорное
напряжение
Соединено с Vdda, Vssa Отдельные выводы для 64 и 80 выводных корпусов
Рабочие режимы Одиночный,
непрерывный(буферизирован
ный), сканирования
Одиночный, непрерывный
Дополнительные
функции
Analog watchdog
Встроенный буфер
Zooming (при доступном Vref )
Компэл STMicroelectronics
Схема АПЦ1 – STM8S1x, STM8S90x
TIM1
AN
ALO
G M
UX
GPIO порт
АЦП1
VDDA
VSSA
ADC_IN0
ADC_IN1
.
.
.
Шина а
дреса/д
анны
х
Регистр данных (10бит)
ADCCLK Предделиткль: /2,/3,/4,.../18
FCLK
Аналоговый Watchdog
Регистр верхнего порога (10бит)
Регистр нижнего порога (10бит) AWD EOC OVER
AWDIE EOCIE OVERIE
Флаги
Биты разреш-я прер-я
Аналоговый
watchdog
Пр
ео
бр
азо
ван
ие з
ако
нч
ил
ась
Прерывание АЦП
Программный триггер
ADC_IN9
ADC_ETR
Буфер данных (10x10бит) или (8x10бит) **
*
* - одиночный и не буферизированный режим
** - буферизированный режим
PD3
Компэл Компэл STMicroelectronics
Схема АПЦ2 – STM8S2xx
TIM1
AN
ALO
G M
UX
GPIO порт
АЦП2
VREF+
VREF-
VDDA
VSSA
ADC_IN0
ADC_IN1
.
.
.
Шина а
дреса/д
анны
х
Регистр данных (10бит)
ADCCLK Предделитель: /2,/3,/4,.../18
FCLK
EOC
EOCIE
Флаги
Биты разрешения
прерываний
Пр
ео
бр
азо
вн
аи
е з
авер
шен
о
Прерывание АЦП
Программный триггер
ADC_IN15
ADC_ETR PD3
Компэл Компэл STMicroelectronics
Данные АЦП STM8S
Постоянное разрешение в 10бит
Правое выравнивание
10 бит разрешение
ADC_DRH ADC_DRL
D7 D6 D5 D4 D3 D2 D1 D0
10 бит разрешение
0 0 0 0 0 0 D1 D0
ADC_DRH ADC_DRL
D9 D8 D7 D6 D5 D4 D3 D2
Left alignment
0 0 0 0 0 0 D9 D8
Направление чтения
Направление чтения
Clock
Prescaler
fADC
SPSEL[2:0] Speed select
fMASTER
Компэл Компэл STMicroelectronics
Таймеры STM8S(1/3)
STM8S включает 6 таймеров:
Timer 1 – 16 бит, 4 канала, управление двигателем
Timer 2,3,5 – 16 бит, 3-2 канала, общего назначения
Timer 4,6 – 8 бит, 0 каналов, системный таймер
Компэл Компэл STMicroelectronics
Таймеры STM8S(2/3)
66
Компэл Компэл STMicroelectronics
STM8S таймеры(3/3)
Св-ва/
Таймер
№
STM8S103 STM8S105/20x STM8S90x
+ + + + + + +
+ + +
+ + + + + + + + + +
+ + +
+ + + + + + + + + +
4 3 4 3 2 4 3
+ + + + + + +
+ + +
+ + +
+ + + + +
+ + +
5 4 1 5 4 3 1 5 4 1
2 2 1 2 2 2 1 2 2 1
+ + + + +
16b cnt
8b cnt
Up cnt
Dn cnt
Presc
CAPCOM
PWM
Motor ctrl
EXT trig.
Synchro.
Encoder
IRQ src
IRQ vect
CLK sel
1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
Компэл Компэл STMicroelectronics
CH3
CH2N
CH2
CH1
CH1N
STM8S. Таймер 1 (TIM1)
16-бит предделитель
Trigger/Clock
Контроллер
TIM5/TIM6
Clock
Auto Reload REG
16-бит up/dn счетчик
Capture Compare Capture Compare
Capture Compare Захват/Сравнение
ETR
TIM5(ITR 2)
TIM6(ITR 0)
BKIN
CH1
CH2
CH3
CH3N CH4 CH4
16-бит счетчик
Up, down и centered (up/down) режимы счета
Авто-перезагрузка
Программируемый предделитель
Повторяющийся счетчик
4 x 16 – бит каналов
Input Capture, PWM Input Capture
Output Compare, PWM outputs (edge или
center-aligned)
Режим одиночного импульса
Комплементарные выводы/Dead
time/Аварийный режим
Интерфейс энкодера, интерфейс датчика
Холла
Синхронизация
Reset, Triggered или Gated режимы
Вход сброса
Прерывания/События
Переполнение/опустошение счетчика
Инициализация счетчика
Trigger, Break, Commutation
Input capture, Output compare
Компэл Компэл STMicroelectronics
STM8. Режимы счета
3 режима счета:
Режим up counting
Режим down counting
Режим сenter-aligned
Пример для TIM1
Center Aligned Up counting Down counting
RCR = 0
RCR = 2
UEV
UEV
Компэл Компэл STMicroelectronics Компэл STMicroelectronics
CH3
CH2
CH1
STM8S. Таймеры 2,3
4-бит предделитель
Auto Reload REG
Capture Compare Capture Compare ЗАХВАТ/СРАВНЕНИЕ
CH1
CH2
CH3
Internal Clock
16-бит счетчик
Режим счета Up
Авто перезагрузка
Программируемый 4 - бит
предделитель
События/прерывания
Переполнение/инициализация
Input capture/Output compare
3 x 16 бит канала
Input capture
Output compare
PWM (edge - aligned)
Режим одиночного импульса
16-бит up/dn счетчик
Компэл Компэл STMicroelectronics
STM8S. Таймер 4
3-бит предделитель
Auto Reload REG
8-бит счетчик(UP)
8 – бит счетчик
Up – режим счета
Авто перезагрузка
3 – бит программируемый
предделитель (1/2/3/8/16/64/28)
События/Прерывания
переполнение
Internal Clock
Компэл Компэл STMicroelectronics
CH3
CH2
CH1
STM8S. Таймер 5
4-бит пред-ль
Trigger/Clock
Контроллер
TIM1/TIM6
Clock
Auto Reload REG
16-бит up счетчик
Capture Compare Capture Compare ЗАХВАТ/СРАВНЕНИЕ
ETR
TIM1(ITR 3)
TIM6(ITR 0)
CH1
CH2
CH3
16-бит счетчик
Up режим счета
Авто перезагрузка
Программируемый 4-бит пред-ль
События/Прерывания
переполнение, инициализация
Input capture
Output compare
Схема синхронизации
Внешний сигнал
Внутренние таймеры
3 x 16 бит канала
Input capture
Output compare
PWM (edge - aligned)
Режим одиночного импульса
Компэл Компэл STMicroelectronics
STM8S. Таймер 6
3-бит предделитель
Trigger/Clock
Контроллер
TIM1/TIM5
Clock
Auto Reload REG
8-бит счетчик(up)
TIM1(ITR 3)
TIM5(ITR 2)
8-бит счетчик
Режим счета up
Авто перезагрузка
3-бит программируемый
предделитель
(1,2,3,8,16,64 и 128)
События & Прерывания
Переполнение, инициализация
Выход триггера
Схема синхронизации
Внешний сигнал
Коннект с внутренними
таймерами
Компэл Компэл STMicroelectronics
Режим одиночного импульса
One Pulse Mode (OPM) частный
случай обычного режима
Позволяет счетчику генерировать
одиночный импульс с
программируемой длиной после
программируемой задержки
2 режима работы, конфигурируется
программно:
Одиночный импульс
Повторяющийся импульс
TIM_ARR
TIM_CCR1
tDelay tPulse t
TI2
OC1REF
OC1
Компэл Компэл STMicroelectronics
Пример комплементарного режима
Dead-time disabled
OCxREF
OCx
OCxN
t
OCxREF
OCx
OCxN
t
delay
Dead-time enabled
OCx
OCxN
Dead-time конфигурируется в зависимости от
характеристик МК
Подробнее в даташите
TIM1 – комплементарный выход ШИМ
Компэл Компэл STMicroelectronics
Таймер 1 – интерфейс энкодера
Энкодер используется для определения позиции и скорости движения (линейной или угловой)
Счетчик предоставляет о текущей позиции (угловую позицию электрического ротора мотора)
Получение динамической информации (скорость, ускорения), возможность измерения количества импульсов между двумя периодическими событиями, генерируемыми другим таймером
Пример связки энкодер-микроконтроллер:
Внешний инкрементный датчик положения может быть напрямую соединен с МК без внешней интерфейсной логики.
Третий выход энкодера, показывающий нулевую позицию, может быть соединен с внешним прерыванием и триггером сброса счетчика.
Контроллер
триггера
Контроллер
Интерфейс
энкодера
Выбор полярности & Фронт
Контроллер TI1
Выбор полярности & Фронт
Контроллер TI2
Компэл Компэл STMicroelectronics
STM8S. Синхронизация таймеров
Trigger
Controller
TRGO
TIM1
TRGO from TIM5
TRGO from TIM6
TIM1_CH1
TIM1_CH2
Trigger
Controller
TIM5
TRGO from TIM6
TRGO from TIM1
Trigger
Controller
TIM6
TRGO from TIM1
TRGO from TIM5 TIM5_CH2 TIM5_CH1
TRGO
TRGO
Возможная синхронизация среди TIM1,TIM5, TIM6
Компэл Компэл STMicroelectronics
Синхронизация таймеров – пример(1/3)
Режим каскада:
TIM_A главный таймер для TIM_B, TIM_B конфигурируется как slave
для TIM_A и master для TIM_C.
SLAVE / MASTER
MASTER
TIM_B ITR 1
ITR 0 prescaler
Trigger Controller
Update counter
TIM_C ITR0
ITR 1
prescaler counter
SLAVE
ITR3
TIM_A
Trigger Controller
prescaler
counter Update
CLOCK
TRGO
ITR 2
TRGO
Компэл Компэл STMicroelectronics
Один master, несколько slave
TIM_A master для TIM_B, TIM_C и TIM_D.
MASTER
TIM_A
Trigger Controller
prescaler
counter Update
CLOCK
TIM_C
ITR0
ITR3
prescaler counter
SLAVE 2
ITR1
TIM_B
ITR0
ITR2
prescaler counter
SLAVE 1
ITR1
TIM_D
ITR2
ITR3
prescaler counter
SLAVE 3
ITR1
Синхронизация таймеров – пример(2/3)
Компэл Компэл STMicroelectronics
Таймеры и внешняя синхронизация через триггер:
TIM_A, TIM_B и TIM_C – slave для внешнего сигнала, соединенного с
соответствующими выводами.
Trigger
Controller TRGO
TIM_A
Trigger
Controller TRGO
TIM_B
Trigger
Controller TRGO
TIM_C
Внешний триггер
Синхронизация таймеров – пример(3/3)
Компэл Компэл STMicroelectronics
STM8S. Схема AWU
6-бит
СЧЕТЧИК
AWU
счетчики
LSI RC
128КГц
6-бит
Пред-ль
AWU_EN & HALT/WAIT
AWU IRQ
15 времен
HSE
4-24MГц
Пред-ль
до 128КГц
К TIM для калибровки
15мкс – 31сек
Компэл Компэл STMicroelectronics
Линейка STM8L
Системная периферия
Компэл Компэл STMicroelectronics
Карта памяти – STM8L101
До 8Кб памяти программ (Flash) базирующейся на EEPROM технологии
Часть памяти может конфигурироваться(options bytes) как EEPROM(до 2Кб)
Защита от записи с Memory Access Security System (MASS ключи)
Программируемая User Boot Code area (UBC) с защитой от записи
Одно прерывание,
сигнализирующее о завершении
операций
программирования/очистки памяти
и о недопустимых операциях с
памятью
0x8000
0x4800
0x0000
0x5000
0x9FFF
0x6000
0x9800
min
0x8080
Компэл Компэл STMicroelectronics
Карта памяти – STM8L15x/16x
До 64 Кб памяти программ (Flash)
базирующейся на EEPROM
технологии и до 2К EEPROM
Защита от записи с Memory Access
Security System (MASS ключи)
Программируемая User Boot Code
area (UBC) с защитой от записи
Автоматическая защита от чтения
частной области памяти(PCODE)
Загрузчик в ROM-памяти
Одно прерывание,
сигнализирующее о завершении
операций
программирования/очистки памяти
и о недопустимых операциях с
памятью
0x8000
0x4800
0x0000
0x5000
0x1000
0xFFFF
0x6000
0x8080
Компэл Компэл STMicroelectronics
Схема питания STM8L10x
Схема питания:
VDD/VSS = 1.65 - 3.6 В
Цифровые блоки
Аналоговые блоки
Стабилизатор напряж - Main regulator mode (MVR) - Ultra low power mode (ULP)
Ядро Память Цифровая периферия
I/Os
16 MГц RC генератор HSI 38 kHz RC генератор LSI
Power Control (PWR) Clock detector Компараторы
VDD
Компэл Компэл STMicroelectronics
Схема питания STM8L15x
VDD/VSS = 1.8 – 3.6В, снижение до 1.65 В -сброс: внешние источники для I/Os и для встроенного стабилизатора.
VDDA/VSSA = 1.8 - 3.6В, снижение до 1.65В - сброс: внешние источники для аналоговой периферии(если используется ADC1, минимальное напряжение VDDA - 1.8В). VDDA и VSSA должны быть объединены с VDD и VSS
VDDIO/VSSIO = 1.8 - 3.6В, снижение до 1.65В -сброс: внешние источники для I/Os. VDDIO and VSSIO должны быть объединены с VDD и VSS
VREF+/VREF- : внешнее опорное напряжение для АЦП и ЦАП. Диапазон VREF+ от 1.8В до VDDA
Цифровые модули
Аналоговые модули
Регулятор напряжения - Main regulator mode (MVR) - Ultra low power mode (ULP)
Ядро Память Цифровая периферия
I/Os
12-бит ЦАП
16 МГц RC генератор HSI 38 kHz RC генератор LSI
Power Control (PWR) Clock detector Компараторы
VREF-
VDDA
VDD
ЦАП
VDDIO
VREF+
Компэл Компэл STMicroelectronics
Детекторы напряжений
2 детектора напряжений
Power On Reset (POR) с Power
Down Capability (PDR)
Brown Out Detection (BOR) –
мониторинг основного питания,
м.б. деактивирован в режимах
пониженного потребления
VDD/VDDIO
BOR triggered by POR
VDD
NRST
Vth-
1V
Vth+
PDR restarted by BOR Программируемый детектор
напряжения(PVD) , только STM8L15x
Активируется программно
Слежение за VDD относительно порога PVD
Порог конфигурируется от 1.85В до 3.05В с шагом 200мВ + 1 пин используется для индикации внешнего порога
Генерируется прерывание когда VDD < порог VDD > Порог
PVD выход и возможность прерывания
VDD
100мВ гистерезис
PVD
вывод
PVD порог
Компэл Компэл STMicroelectronics
Стабилизатор напряжения
Стабилизатор напряжения имеет 2 режима работы:
Run режим (MVR)
Режим пониженного энергопотребления(ULP) для Halt и Active-Halt
режимов работы МК
VDD
VCore
1.8В
Main Voltage Regulator (MVR)
Ultra Low Power Regulator (ULP)
Core Memories Digital Peripherals
1.8В– 3.3В
Voltage Regulator
Компэл Компэл STMicroelectronics
Режимы энергопотребления – STM8L
STM8L15x поддерживают 5 режимов низкого потребления:
Режим Свойства
Wait :
- Wait for event (WFE)
- Wait for interrupt (WFI)
- ЦПУ остановлено,
- Выбранная периферия работает.
- Регистры и RAM контекст сохранен,
Low Power Run
- ЦПУ работает
- Flash, EEPROM, стабилизатор напряжения и вся периферия
остановлена, исключая RTC и 1 периферийный модуль
- Выполнение программы из RAM с Low Speed Oscillator
Low Power Wait
- ЦПУ остановлено
- EEPROM отключено и стабилизатор установлен в Ultra Low Power
режим
- Все прерывания замаскированы
- RTC и 1 периферийный модуль активны
Active HALT
RTC on
- High Speed clock off, POR/PDR On,
- RAM ON (контекст регистров сохранен),
AWU - High Speed clocks off,
- RTC от низкоскоростного встроенного RC
HALT - All clocks off, POR/PDR On,
- RAM ON (контекст регистров сохранен)
- RTC OFF
Компэл Компэл STMicroelectronics
Энергопотребление – STM8L
POR/PDR ON RAM содержимое сохранено Время пробуждения из Active HALT 4мкс
1.0 мкA
Active
HALT
RTC
0.4 мкA
HALT
5.1мкА
LP
RUN
32кГц
RAM
LP
WAIT
32кГц
RAM
3.0 мкA
LP Wait режим: LSI/LSE ON, периферия может быть активирована
ACTIVE HALT режим: Все источники тактирования отключены, RTC ON
HALT mode: Все источники тактирования отключены, RTC OFF
RUN
из
Flash
192мкА/MГц
RUN
из
RAM
90мкА/MГц
WAIT
16 МГц
Компэл Компэл STMicroelectronics
Режимы пониженного потребления – STM8L
Режимы
Функциональность Режимы и потребление
ЦПУ Периф
High
Speed
Osc
RTC
календа
рь
LSI
LSE FLASH RAM
Значения при
3В / 25°C
Значения при
@ 3В / 85°C
LP RUN ON Can be
enabled OFF ON ON OFF ON 5.1мкA
LP WAIT OFF Can be
enabled OFF ON ON OFF ON 3.0мкA
ACTIVE Halt
(полный RTC)
OFF
ON ON OFF ON 1.0мкA* 1.4мкA
ACTIVE Halt
(только AWU) OFF ON OFF ON 0.8мкA* 1.2мкA
HALT OFF OFF OFF ON 0.4мкA* 1мкA
6.8мкA
4.4мкA
5мкс
wake-
up
(using
HSI)
Компэл Компэл STMicroelectronics
Линейка STM8L
Стандартная периферия
Компэл Компэл STMicroelectronics
STM8L – контроллер тактирования
Clock Security System (CSS)
Активируется единожды, активна после сброса
Автопереключение на HSI/8 когда сбой HSE + прерывание
Peripheral Clock Gating (PCG)
После сброса, clock не активен на всей периферии(STM8L)
Возможность отключение clock для следующей периферии:
USART, LINUART, SPI, I2C, TIMERS, ADC, CAN, AWU
Controllable Clock Output (CCO)
Возможность вывода внутреннего clock
Максимальная частота 10MГц
Компэл Компэл STMicroelectronics
Схема тактирования – STM8L101
HSI RC @16MГц, откалиброван на фабрике +/-2%, возможность
программной калибровки до +/-1%
LSI RC @38КГц, откалиброван на фабрике до +/-11% точности
Конфигурация после сброса(RESET)
HSI RC
16MГц
LSI RC
38КГц
/8
/4
/2
/1
AWU
SWIM
IWDG
периферия
CPU
WWDG
CCOSEL[1:0]
fMASTER/16
fMASTER
fMASTER/2
fMASTER/4
CCO
fMASTER
Компэл Компэл STMicroelectronics
Схема системы тактирования – STM8L15x
HSI RC @16MГц, откалиброван на фабрике +/-2%, возможность
программной калибровки до +/-1%
LSI RC @38КГц, откалиброван на фабрике до +/-5% точности
HSE Osc
1-16MГц
CSS
HSI RC
16MГц
LSI RC
38КГц /1
/2
/4
/8
/16
/32
/64
/1
/2
/4
/8
/16
/32
/64
/128
IWDG
RTC
LCD
CPU
память
периферия
OSC1
OSC2
CCO
CCOSEL[1:0]
fHSI
fLSI
fHSE
fLSE
LSE OSC
32,768КГц
OSC32
OSC32
/1
/2
/4
/8
/16
/32
/64
Конфигурация после сброса(RESET)
Компэл Компэл STMicroelectronics
Характеристики GPIO
Характеристики STM8S STM8L
Максим кол-во I/O
Количество портов
АЦП I/O
Внеш. прерываний I/O
68 / 80pin (18 high sink)
До 9 x 8 бит, порты GPIOA..GPIOI
до 16 ADC каналов
До 38 ножек для внешн. прерываний
67 / 80 pin
До 8 x 8 бит, порты GPIOA..GPIOI
До 24 каналов АЦП
До 40 внешних прерываний
Частота I/O,
OD возможность
2MГц – все ножки,
10MГц выбирается программно
True OD для I2C
2MГц – все ножки,
10MГц выбирается программно
True OD для I2C pins
Максимальная нагрузка
по току на пин
high sink: 20мA на 5В, 10мA на 3.3В
std pins: 10мA на 5В, 4мA на 3.3В
Общий ток: от 80 до 200мA
25мА для всех ножек
Общий ток: до 80мA
Альтернативные
функции
Output -> конфигурируется периферией,
может быть изменен SW(OD, pull-ups))
Input -> необходимо конфигурировать SW
Output -> конфигурируется периферией,
может быть изменен SW(OD, pull-ups))
Input -> необходимо конфигурировать SW
Состояние после сброса Clock connected на все I/O
Все I/O в режиме input floating
Clock connected на все I/O
Все I/O в режиме input floating
Компэл Компэл STMicroelectronics
STM8L15x - RTC
Полноценный календарь с Секундами, Минутами, Часами (12 или 24
формат), День недели (День), День месяца (Дата), Месяц и Год в BCD
формате(binary coded decimal) с автоматическим учетом 28, 29 (високосный
год), 30 и 31 дней месяца.
Программируемый будильник с прерыванием, авто пробуждением,
выделенной ножкой в/в.
Прерывание авто-пробуждения с программируемым периодом, работа в
режимах пониженного энергопотребления
2 альтернативных функции:
Вывод с 512 Гц (с LSE и корректным значением пред-делителя).
Вывод сигнализирующий о событии будильника и авто-пробуждения
Компэл Компэл STMicroelectronics
STM8L15x – функциональная схема
HSE
Wake-Up
16bit autoreload Timer
Asynchronous
4bit prescaler Periodic wake up Flag
Alarm Flag
RTC_ALARM Pin
Calendar
Day/date/month/year HH:mm:ss
(12/24 format)
Alarm ss, mm, HH/date
RTCSEL [3:0]
WUCKSEL [2:0]
RTC_CR2_OSEL[1:0]
RTC_CALIB Pin
512 Hz clock output
HSI
LSE
LSI
RTC
Prescaler
RTCCLK
RTCDIV [2:0]
PREDIV_A [6:0]
PREDIV_S [12:0]
Asynchronous
7bit prescaler
Synchronous
13bit prescaler
122us – 32sec
Компэл Компэл STMicroelectronics
Календарь
Время
Дата
Инициализация или чтение осуществляется через 6 теневых регистра, TRx и DRx.
STM8L15x – календарь RTC
DR2 DR1 DR3 TR3 TR1 TR2
HH : mm : ss
Теневые
регистры
Актуальные
регистры День Месяц Дата Год
Компэл Компэл STMicroelectronics
STM8L. Программируемый будильник
Полностью конфигурируем программно
Вывод микроконтроллера из Active-Halt режима
Событие будильника может быть выведено на специальный вывод с конфигурируемой полярностью
Alarm flag устанавливается в случае если секунды, минуты, часы или дата соответствуют запрограммированному значению в регистре ALRMARx
Календарные секунды, минуты, часы или дата могут быть выбраны независимо(маскирование)
Calender
Day/date/month/year HH:mm:ss
(12/24 format)
Alarm ss, mm, HH/date
Alarm Flag
RTC_ALARMAx
registers
Компэл Компэл STMicroelectronics
AWU таймер – STM8L101
AWU и Low Speed clock
AWU разработан для работы в Active Halt Low Power
режиме
Определенный вектор прерывания AWU
Измерение частоты LSI
Возможность коннекта к LSI одного встроенного таймера.
Это позволяет определять точность времени на AWU и
производить калибровку.
Компэл Компэл STMicroelectronics
AWU. STM8L101
6-bit
COUNTER
AWU
counters
LSI RC
38kHz
6-bit
prescaler
AWU_EN & HALT/WAIT
AWU IRQ
15 врем. интерв
К TIM для калибровки
15мкс – 31 сек
Компэл Компэл STMicroelectronics
DMA – STM8L15x
4 независимых канала(0..3)
4 программных уровня приоритета: Very High, High, Medium и Low
Программируемый размер данных: байт или полуслово (16бит) с программируемым количеством передаваемых данных ( до 255)
Работа в низкопотребляющих и ожидающих режимах
2 флага события / прерывание
DMA половина объема,
DMA полный объем
Независимые источники и получатели:
Память - память (канал 3),
Периферия - память
Память - периферия
Компэл Компэл STMicroelectronics
DMA контроллер
DMA позволяет использовать до 4х каналов
DM
A
DMA запрос
ADC1
Запрос высокого приоритета Запрос низкого приоритета
Канал 0 Канал 1 Канал 2 Канал 3
I2C1_RX
Канал 3 EN бит Канал2 EN бит Канал1 EN бит Канал 0 EN бит
ADC1 ADC1
ADC1
TIM2_CC1
TIM3_Up
TIM1_CC3
TIM4_Up
TIM4_Up TIM4_Up
TIM4_Up
SPI1_TX SPI1_RX
USART1_T
X
TIM2_Up
TIM3_CC1
TIM1_CC4
TIM3_CC2
TIM1_Up
TIM1_CC1
TIM1_COM
USART1_R
X TIM1_CC2
DAC
I2C1_TX
Компэл Компэл STMicroelectronics
IWDG – STM8L
7-bit PRESCALER
LSI
(38КГц) 8-bit down counter
Prescaler Register
Reload Register
Key Register
IWDG Reset
HW/SW старт через option bytes
Безопасность:
IWDG тактируется через
отдельный(LSI) кварц и остается
активным, даже если нет основного
клока
IWDG не может быть отключен
программно(LSI не может быть
остановлен)
Безопасная перезагрузка (ключ)
IWDG функционирует во всех
низкопотребляющих режимах,
исключая halt (LSI остановлен)
Для предотвращения IWDG сброса:
запись в IWDG_KR значения 0xAA и
значения интервала
Максимальное значение таймаута @LSI
(38КГц): 0.01мс ...... 1.73с
Вариант использованя – таймер работает полностью независимо от основного
приложения, в фоне
Компэл Компэл STMicroelectronics
WWDG характеристики – STM8L15/STM8S
WWDG может быть активирован программно
и аппаратно
Конфигурируемое временное окно, м.б.
запрограммировано для определения
аварийного поведения приложения
Условия сброса
Сброс когда значение становится ниже
0x40 (T6=0)
Сброс если таймер перезагружается за
границами временного окна
Предотвращение WWDG сброса: запись
T[6:0] битов регулярных интервалов, пока
нижнее значение счетчик меньше чем
временное значение окна (W[6:0])
Мин – макс значение таймаута при 16MHz :
STM8S: 96.768мс ... 195.072мс (шаг 1.536мс)
STM8L15x: 0.77мс ... 49.15мс (шаг ~0.768мс)
CMP
W0 W1 W2 W3 W4 W5 W6 -
T0 T1 T2 T3 T4 T5 T6 WDGA
WWDG_CR
WWDG_WR
PRESCALER 12288
6-Bit Down Counter
SYSCLK
Запись WWDG_CR
компаратор = 1 когда
T6:0 > W6:0
WWDG Сброс
Нельзя обновить Окно обновления
T[6:0] CNT down counter
время
W[6:0]
3Fh
T6 bit
Сброс
Компэл Компэл STMicroelectronics
Характеристики АЦП(1/2)
Время преобразования АЦП 1мкс (SYSCLK 16МГц) с разрешением до 12-бит
Диапазон напряжения питания: 1.8 В - 3.6 В
Максимальная скорость при напряжении питания от 2.4 В до 3.6 В
Меньшая скорость при напряжении питания от 1.8 В до 2.4 В
Входной диапазон преобразования: VREF- ≤ VIN ≤ VREF+
До 27 мультиплексированных каналов:
25 внешних каналов: от 0 до 24 канала(ножки ADC1_IN0 - ADC1_IN24)
2 внутренних канала:
Встроенное опорное напряжение VREFINT
Выход температурного датчика(TS)
2 группы каналов:
24 медленных канала(1.31 мкс): канал0 - канал 23
3 быстрых канала(1 мкс): канал 24, канал VREFINT и канал TS
ST
M8L
151
S
TM
8L
101
S
TM
8L
152
Компэл Компэл STMicroelectronics
Совместимость с DMA
Одиночный и продолжительный режимы преобразования
Многоканальный режим преобразования(scan через DMA)
Внешние триггер для старта преобразования (внешние ножки, таймера)
Программируемое sampling time – независимо для быстрой и медленных групп
Правое выравнивание данных
Analog watchdog с заданием верхнего и нижнего порога
Генерация прерываний:
Завершение преобразования
Analog watchdog
Характеристики АЦП(2/2)
Компэл Компэл STMicroelectronics
Схема АЦП – STM8L15x
Внешнийl TRIG1
TIM1
TIM2
AN
ALO
G M
UX
GPIO порт
Темпер датчик
VREFINT
АЦП
VREF+
VREF-
VDDA
VSSA
ADC_IN0
ADC_IN1
ADC_IN24
.
.
.
Шина а
дреса/д
анны
х
Регистр данных (12/ 10 / 8 / 6 бит)
DMA запрос
ADCCLK Предделитель: /1,/2
FCLK
Аналоговый Watchdog
Регистр верхнего порога (12бит)
Регистр нижнего порога (12бит) AWD EOC OVER
AWDIE EOCIE OVERIE
Флаги
Биты разрешения
прерываний
Аналог watchdog
Пр
ео
бр
азо
ван
ие з
авер
шен
о
Прерывание АЦП
Программный триггер
PA6 PD0
ADC_IN23
Компэл Компэл STMicroelectronics
Время сэмплирования в АЦП – STM8L15x
PADC_CLK, до 16MHz, приходит с SYSCLK через предделитель
(/1, /2, /4, /8, /16, /32, /64 или /128)
ADCCLK приходит с PADC_CLK через пред-делитель (/1 или /2)
Программируемое время сэмплирования для каждой группы
каналов:
ADCCLK ADC Prescaler: Div1 or Div2
PCLK_ADC
96 cycles
9 cycles
192 cycles
48 cycles
16 cycles
24 cycles
4 cycles
384 cycles
Sam
ple
Tim
e
Sele
ctio
n
SMPx[2:0]
SMP1 : for slow channels
SMP2 : for fast channels
Компэл Компэл STMicroelectronics
Analog to digital converter block
Группа быстрых
каналов
Группа медленных каналаов
Режим scan в АЦП – STM8L15x
До 27 преобразований (с различным временем сэмплирования для
каждой группы).
Example: - Каналы преобразования: 0; 2; 5; 18; 23; 24; VREFINT.
1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1
0 1 2 3 4 5 6 7 8 9 1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
1
24
1 0
VREFIN
T
TS
Scan
status
Каналы
Scan Direction
Digital Value
Компэл Компэл STMicroelectronics
Данные АЦП – STM8L15x
Конфигурируемое разрешение - 6, 8, 10 или 12 бит
При снижении разрешения, время преобразования также
снижается
Right alignment
12 bit resolution
0 0 0 0 D11 D10 D9 D8
ADC_DRH ADC_DRL
D7 D6 D5 D4 D3 D2 D1 D0
10 bit resolution
8 bit resolution
0 0 0 0 0 0 D11 D10
ADC_DRH ADC_DRL
D9 D8 D7 D6 D5 D4 D3 D2
ADC_DRL
D11 D10 D9 D8 D7 D6 D5 D4
ADC_DRL
0 0 D11 D10 D9 D8 D7 D6 6 bit resolution
Read direction
Компэл Компэл STMicroelectronics
АЦП. Аналоговый Watchdog
Программируемые нижний и высший пороги:
10 бит – STM8S10x
12 бит – STM8L15x
Выбранный канал контролируется аналоговым watchdog
Генерация прерывания по низкому или высокому порогу
Регистр статуса
Аналоговый Watchdog
Низкий порог
Темпер датчик
VREFINT
ADC_IN0
ADC_IN1
ADC_IN25
.
.
.
AWD
Высокий порог
Компэл Компэл STMicroelectronics
DMA в STM8L15x
Генерация прерывания по окончании преобразования в режиме сканирования
Генерация прерывания при попытке записи данных в не прочитанный буфер
Пример:
- Преобразование каналов 0, 1, 2, 3, 4, 5, 6, 7 и 8
- Преобразованные данные в ConvertedValue_Tab[9]
- Автоматический инкремент адреса DMA
Channel0 Channel1 Channel2 Channel3 Channel4 Channel5 Channel6 Channel7 Channel8
DMA Request
Channel8 conversion result
Channel7 conversion result
Channel6 conversion result
Channel5 conversion result
Channel4 conversion result
Channel3 conversion result
Channel2 conversion result
Channel1 conversion result
Channel0 conversion result
ADC DR register .
.
.
DMA Request
DMA Request
DMA Request
DMA Request
DMA Request
DMA Request
DMA Request
DMA Request
ConvertedValue_Tab[9]
Компэл Компэл STMicroelectronics
Схема ЦАП – STM8L15x
тригге
р
TIM4_TRGO
VREF+
VDDA
VSSA
DAC_OUT
DMA запрос
Регистр контроля ЦАП
Логика контроля Data Holding
Registers DHR
SWTRIGx
TSEL[2:0]
DM
AE
N
12 или 8 бит 12 бит
12 бит
DMA
прерывание
Data Output Register DOR
TE
N
DAC
DAC Output voltage = VREF+ x (DOR / 4095)
8 или 12-бит ЦАП,
1мкс время преобразования
Внутренний буфер 5kΩ/50pF
ЦАП при 1.8В - 3.6 В
Выход ЦАП: 0 ≤ VOUT ≤ VREF+
Левое или правое выравнивание в
12-бит режиме
Внешняя синхронизация - TIM4
DMA - CH3
Компэл Компэл STMicroelectronics
Inverting input
STM8L15x. Обзор компараторов
STM8L15x содержит COMP1 и COMP2
COMP1 с фиксированным порогом - VREFINT = 1.22 V
COMP2(rail-to-rail) с возможностью выбирать пороги
Два компаратора могут быть использованы совместно, режим
окна
1.22В
Bias from Band gap
+
-
Fast / Slow
+
-
Rail to rail
Внешний вход
ЦАП
Digital
Digital
Конфигурация
окна
COMP1
COMP2 Не инвертируемый вход
Не инвертируемый вход
Инвертируемый вход
Компэл Компэл STMicroelectronics
STM8L10x. Обзор компараторов
STM8L10x содержит 2 компаратора(COMP1 и COMP2) sharing
the same current bias
COMP1 и COMP2 использую одинаковое опорное
напряжение(инвертирующий вход) – земля или внешнюю ножку
МК(выборочно)
Каждый компаратор имеет 4 входных канала(не инвертирующий
вход)
Генерация прерывания по нарастающему фронту(выход из Wait
режима энергопотребления)
Input capture или break generation на TIM2 или TIM3 (выборочно –
по переднему или заднему фронту)
Компэл Компэл STMicroelectronics
Comparators schematic (STM8L10x) • Schematic:
-
+ TIM2 input capture
1
COMP1
-
+
COMP2
TIM2 break
TIM2 input capture 2
TIM3 input capture
1
interrupt
COMPREF
POL
POL
CNF_TIM[1:0]
CNF_TIM[1:0]
&
IE2 &
IE1
COMP2_CH[0:3]
COMP1_CH[0:3]
IO
IO
IO
IO
IO
IO
IO
IO
IO
Компэл Компэл STMicroelectronics
LCD контроллер – STM8L152
Высокая частота смены информации(30..100Гц)
Управление до 8 x 40 или 4 х 44 сегмента
Программный выбор между внешним и внутренними
источниками напряжения
Обновление через прерывание
Контроль контраста
Программирование частоты мерцания пикселей (0.5
– 4Гц)
Поддержка режимов пониженного потребления
Все источники тактирования м.б. использованы для
тактирования LCD
Компэл Компэл STMicroelectronics
135
STM8L. Таймеры
В линейке STM8L доступно до пяти таймеров
В STM8L101 недоступен TIM1
Компэл Компэл STMicroelectronics
136
CH3
CH2N
CH2
CH1
CH1N
16-Bit Prescaler
Trigger/Clock
Controller
Trigger
Output/ADC
Clock
Auto Reload REG
+/- 16-Bit Counter
Capture Compare Capture Compare
Capture Compare Capture Compare
ETR
TIM3(ITR 2)
TIM5(ITR 1)
TIM4(ITR 0)
BKIN
CH1
CH2
CH3
CH3N
Break от COMP2
STM8L. Таймер 1
16-бит счетчик
Up, down и centered (up/down) режимы счета
Авто-перезагрузка
Повторяющийся счетчик
3 x 16 – бит каналов
Input Capture, PWM Input Capture
Output Compare, PWM outputs (edge или
center-aligned)
Режим одиночного импульса
Комплементарные выводы/Dead
time/Аварийный режим
Интерфейс энкодера, интерфейс датчика
Холла
Синхронизация
Поддержка DMA
Прерывания/События
Переполнение/опустошение счетчика
Инициализация счетчика
Trigger, Break, Commutation
Input capture, Output compare
TIM2(ITR 3)
Компэл Компэл STMicroelectronics
Источники прерываний
8 запроса прерываний на 3 векторах:
Break input
Trigger event
Update event (overflow,
underflow…)
Commutation event
Capture / compare 1 event
Capture / compare 2 event
Capture / compare 3 event
Capture / compare 4 event
Break Interrupt Enable
Break Flag status
TO IRQ Handler N°17
TO IRQ Handler N°23
Interrupt Enable
Trigger/Update/Commutation Flag status
Capture/Compare Interrupt Enable
Capture/Compare Flag status
TO IRQ Handler N°24
Компэл Компэл STMicroelectronics
DMA совместимость
6 запросов DMA:
Commutation event
Capture / Compare 1 event
Capture / Compare 2 event
Capture / Compare 3 event
Capture / Compare 4 event
Update event (overflow, underflow…)
2 режима DMA :
Single mode: одиночный регистр передается в/из одиночный регистр TIM
Burst mode: осуществляется передача блока регистров таймера
Компэл Компэл STMicroelectronics
STM8L. Режимы счета
3 режима счета:
Режим up counting
Режим down counting
Режим сenter-aligned
Пример для TIM1
Center Aligned Up counting Down counting
RCR = 0
RCR = 2
UEV
UEV
Компэл Компэл STMicroelectronics
CH2
CH1
STM8S. Таймеры 2, 3, 5
3-бит предделитель
Auto Reload REG
Capture Compare Capture Compare ЗАХВАТ/СРАВНЕНИЕ
CH1
CH2
Internal Clock
16-бит счетчик
Режим счета Up/Down
Авто перезагрузка
Программируемый 3 - бит
предделитель
DMA совместимость
События/прерывания
Переполнение/инициализация
Input capture/Output compare
Break
Trigger
2 x 16 бит канала
Input capture
Output compare
PWM (edge - aligned)
Режим одиночного импульса
16-бит up/dn счетчик
Trigger/Clock
Controller
Timers/
DAC/ ADC TIM3(ITR 2)
TIM1(ITR 1)
TIM2(ITR 3)
ETR
Компэл Компэл STMicroelectronics
STM8L. Таймер 4
3-бит пред-ль
Trigger/Clock
Controller
Timers/DAC
Clock
Auto Reload REG
8-бит up-счетчик
8 – бит счетчик
Up – режим счета
Авто перезагрузка
3 – бит программируемый пред-
делитель
(1,2,3,8,16,64 и 128)
События/Прерывания
переполнение, обновление
Вход триггера
Запросы DMA
Схема синхронизации
Внешний сигнал
Коннект с таймерами
TIM3(ITR 2)
TIM1(ITR 1)
TIM5(ITR 0)
TIM2(ITR 3)
Компэл Компэл STMicroelectronics
STM8L10x - синхронизация таймеров
Trigger
Controller
TRGO
TIM2
TRGO from TIM3
TRGO from TIM4
TIM2_CH1
TIM2_CH2
Trigger
Controller
TIM3
TRGO from TIM4
TRGO from TIM2
Trigger
Controller
TIM4
TRGO from TIM3
TRGO from TIM2 TIM3_CH2
TIM3_CH1
TRGO
TRGO
Возможная синхронизация среди TIM2,TIM3, TIM4
Компэл Компэл STMicroelectronics
Компэл
STM8L15x/16x - синхронизация таймеров
Trigger
Controller
TIM4
TRGO from TIM3
TRGO from TIM2
TRGO from TIM1
Trigger
Controller
TRGO
TIM1
TRGO from TIM3
TRGO from TIM2
TRGO from TIM4
TIM1_CH1
TIM1_CH2
Trigger
Controller
TIM2
TRGO from TIM1 TRGO from TIM3
TRGO from TIM4
Trigger
Controller
TIM3
TRGO from TIM2
TRGO from TIM1
TRGO from TIM4
TIM3_CH1
TIM2_CH2
TIM3_CH2
TIM2_CH1
Возможная синхронизация среди TIM1,TIM2, TIM3, TIM4
TRGO
TRGO TRGO
TRGO from TIM5
TRGO from TIM5 TRGO from TIM5
TRGO from TIM5
Trigger
Controller
TIM5
TRGO from TIM3
TRGO from TIM2
TRGO from TIM1
TRGO
TRGO from TIM4
Компэл STMicroelectronics
Также как и в STM8S
Синхронизация таймеров – примеры
Компэл Компэл STMicroelectronics
ИК передатчик – STM8L15x
Используется для управления ИК диодом(потребительская
электроника)
ИК таймер использует 2 таймера TIM2 и TIM3:
TIM2 для генерации несущей частоты
TIM3 для генерации информационного сигнала
TIM2 и TIM3 должны быть сконфигурированы для генерации
корректной формы сигнала
TIM2_CH1(Несущая частота)
TIM3_CH1(модулирующий сигнал)
Выходной сигнал
Компэл Компэл STMicroelectronics
158
STM8L162. AES128 – функциональная схема
Компэл Компэл STMicroelectronics
159
STM8L162. AES128 – характеристики
Поддержка DMA
4 режима работы:
1 – encryption(кодирование)
2 – key derivation(генерирование ключа)
3 – decryption(декодирование)
4 – key derivation + decryption
Прерывания:
AES computation complete
AES read error
AES write error
Компэл Компэл STMicroelectronics
STM8 option bytes
STM8S
7+7б
STM8L10x
4B
STM8L15x
5B
Readout protection + + +
User bootloader size
(UBC)
+ + +
Datasize (emulated
EEPROM)
Max 2kB
PCODE (proprietary
code area)
2..255 pages of 128
bytes
HSE/LSE startup time HSE HSE and LSE
Ext clock Crystal or HSE bypass
AWU clock LSI/HSE and prescaler
WWDG On/Off, On (Halt) On/Off, On (Halt)
IWDG On/Off On/Off, On (Halt) On/Off, On (Halt)
Bootloader startup Bootloader or user code Bootloader or user code
BOR On/Off, threshold
Alternate functions Remapping of selected
peripherals
Компэл Компэл STMicroelectronics
Схема Beeper
5-bit
counter 3-bit
counter
LSI RC
128КГц
5-bit
prescaler
BEEPEN
1/2/4 КГц
BEEP pin
HSE
4-24MГц
prescaler
to 128КГц
Независимый счетчик для генерации частоты 1/2/4КГц(50%)
Определенные ножки в/в:
PD4 (STM8S)
PA0 (STM8L)
На вход TIM для LSI
калибровки
~8КГц
LSE
32КГц
LSI RC
38КГц
LSI RC
38КГц
STM8S
STML15x
STM8L10x
PD4
PA0
STM8S
STM8L
Компэл Компэл STMicroelectronics
Семейство STM8
Периферия обмена данными
Компэл Компэл STMicroelectronics
Коммуникационные интерфейсы (1/2)
Интерфейс STM8S STM8L10x STM8L15x
I2C 100/400КГц
7/10бит адресация
100/400КГц
7/10бит адресация
100/400КГц
7/10бит адресация
SMBUS, PMBUS
PEC
Поддержка DMA
SPI До 10Mбит/с
NSS HW и SW
Генерация и проверка
CRC
До 8Mбит/с
NSS HW и SW
Генерация и проверка
CRC
До 8Mбит/с
NSS HW и SW
Генерация и проверка
CRC
Поддержка DMA
USART RxD, TxD, CLK
До 1.5 Mбит/с
8,9 бит данных
1; 1.5; 2 стоп бит
Полный дуплекс,
Синхронный режим,
IrDa, SmartCard
LIN Master/Slave
RxD, TxD, CLK
До1Mбит/c
8,9 бит данных
1; 2 стоп бит
Полный дуплекс,
Синхронный режим
RxD, TxD, CLK
До1Mбит/c
8,9 бит данных
1; 1.5; 2 стоп бит
Синхронный режим, IrDa,
SmartCard
Поддержка DMA
Компэл Компэл STMicroelectronics
Интерфейс STM8S STM8L10x STM8L15x
CAN • 2.0B active cell
• 1Mбит
• 11/29 бит идентификатор
• 3 Tx буфера
• 1 Rx FIFO (3 блока)
• 6 банков
фильтра(масштабируем)
• Временной маркер SOF
• TTCAN
н/д
н/д
Коммуникационные интерфейсы (2/2)
Компэл Компэл STMicroelectronics
Характеристики I2C
Характеристики STM8S10x STM8S20x STM8L10x STM8L15x
Кол-во интерф - ов 1 1 1 1
Multimaster + + + +
Slave + + + +
standard/fast + / + + / + + / + + / +
7/10 бит адресация + / + + / + + / + + / +
DMA - - - CH0 – Rx
CH3 – Tx
HALT wakeup По адресу в slave По адресу в slave По адресу в slave По адресу в slave
CRC - - - CRC-8
x8 + x2 + x + 1
SMBUS 2.0 - - - +
PMBUS 2.0 - - - +
Компэл Компэл STMicroelectronics
Характеристики SPI
Feature STM8S10x STM8S20x STM8L10x STM8L15x
Кол-во интерф-ов 1 1 1 1
NSS HW/SW + / + + / + + / + + / +
Маск скорость 10Mбит/с 10Mбит/с 8Mбит/с 8Mбит/с
CRC CRC8 CRC8 - CRC8
DMA - - - CH2 – Tx
CH1 - Rx
HALT wakeup + + + +
Порядок данных MSB first / LSB first MSB first / LSB first MSB first / LSB first MSB first / LSB first
Полярность и фаза программно программно программно программно
Прерывания Буфер на передачу пуст
Буфер на прием пуст
Событие авто-пробуждения
Ошибка режима master
Ошибка переполнения
Ошибка CRC
Буфер на передачу пуст
Буфер на прием пуст
Событие авто-пробуждения
Ошибка режима master
Ошибка переполнения
Ошибка CRC
Буфер на передачу
пуст
Буфер на прием пуст
Событие авто-
пробуждения
Ошибка режима master
Ошибка переполнения
Буфер на передачу пуст
Буфер на прием пуст
Событие авто-пробуждения
Ошибка режима master
Ошибка переполнения
Ошибка CRC
Рабочие режимы Полный дуплекс (3 линии)
Симплекс(2 линии)
Полный дуплекс (3 линии)
Симплекс (2 линии)
Полный дуплекс
(3 линии)
Симплекс (2 линии)
Полный дуплекс
(3 линии)
Симплекс (2 линии)
Компэл Компэл STMicroelectronics
SPI соединение, дуплекс
Shift register Shift register
Baud rate
generator
MASTER SLAVE
0 1 2 4 3 5 6 7
CPOL =0, CPHA = 0
CPOL =0, CPHA = 1
CPOL =1, CPHA = 0
CPOL =1, CPHA = 1
Компэл Компэл STMicroelectronics
SPI соединение – симплекс, однопроводной режим
Shift register Shift register
Baud rate
generator
MASTER SLAVE
BDOE 1 0 M S
Master Slave data flow
BDOE 0 1 M S
Компэл Компэл STMicroelectronics
SPI – симплекс, RxOnly режим
Shift register
Baud rate
generator
MASTER
Shift register
SLAVE
RxOnly Master
RxOnly Slave
Компэл Компэл STMicroelectronics
Расчет CRC
CRC улучшает надежность
Отдельный расчет для Tx и Rx данных
Расчет CRC с программируемым полиномом последовательно на каждый бит
Генерация события о ошибке в CRC
Берется из TXCRCR регистра и посылается MOSI
Shift register
Baud rate
generator
MASTER
Shift register
SLAVE
Берется из TXCRCR регистра
Компэл Компэл STMicroelectronics
SD/MMC через SPI
Скорость: частота тактирования 8MГц
Проверка ошибок: аппаратный расчет CRC
Vdd
R =
4.7
KΩ
Vdd
9 1 2
3 4
5 6
7 8
Компэл Компэл STMicroelectronics
Характеристики U(S)ART
Свойства STM8S10x
UART2
STM8S20x
UART1 / UART3
STM8L10x
USART
STM8L15x
USART1
Макс скорость 1.5 Мбит/сек 1.5 Mбит/сек 1 Mбит/сек 1 Mбит/сек
Сигналы CLK, TX, RX CLK, TX, RX CLK, TX, RX CLK, TX, RX
LIN Master/slave U1: master
U3: master/slave
Эмуляция SPI + + / - + +
Smartcard + + / - - +
IrDa + + / - - +
Single wire HD - + / - - +
Поддержка DMA - - - CH1 – Tx
CH2 - Rx
Размер кадра 8, 9 бит
1, 2 стоп бит
1.5 стоп бит (smart
card)
8, 9 бит
1, 2 стоп бит
1.5 стоп бит (smart
card)
8, 9 бит
1, 2 стоп бит
8, 9 бит
1, 2 стоп бит
Прерывание 2 IRQ vectors
(передача + прием)
2 IRQ vectors
(передача + прием)
2 IRQ
vectors(передача +
прием)
2 IRQ vectors
(передача + прием)
wakeup режимы Address, idle line Address, idle line Address, idle line Address, idle line
Multiprocessor
communication
+ + / + + +
Компэл Компэл STMicroelectronics
USART RX
TX
Received Data
Transmitted Data
STM8. Режимы передачи USART
Полный дуплекс, асинхронный обмен
TX Transmitted Data
Clock CLK
RX Received Data
TX Transmitted Data Received Data
Полный дуплекс, синхронный обмен
Полу-дуплекс, асинхронный, однопроводной
USART
USART
R =
10
KΩ
CLK
RX
CLK
Компэл Компэл STMicroelectronics
STM8S, STM8L15x – режим Smart Card
USART поддерживает эмуляцию Smart Card ISO 7816-3
Однопроводной полу-дуплекс, асинхронный режим, синхросигнал SCLK
8 бит данных, 1 бит четности, 1.5 стоп бит, TE и RE установлены
Автоматический прием и передача
Генерация ошибки четности с посылкой NACK
Конфигурируемое время синхронизации
Конфигурируемый предделитель
Компэл Компэл STMicroelectronics
IrDA SIR Encoder Decoder – STM8S, STM8L15x
USART поддерживает IrDA спецификацию
Полу-дуплекс, NRZ модулирует RZI (0 представляет ИК импульс)
Максимальная скорость 115 200
1 стоп бит
Регулируемое время определения глитча
Half Duplex
TX
IrDA OUT
IrDA IN
RX
Компэл Компэл STMicroelectronics
STM8S. Характеристики CAN
Основные характеристики:
Поддержка CAN протокола версии 2.0B Active
Скорость 1Mбит/с
Поддержка Time Triggered Communication option (TTCAN)
Обеспечение внешнего такт сигнала для исключения проблем девиации тактовой
частоты при высоких скоростях передачи
Передача
Временной маркер при начале передачи Start Of Frame (SOF)
3 буфера на передачу
Конфигурируемая приоритетность
Прием
Временной маркер при начале приема
SOF reception
1 буфер FIFO с 3 каскадами
6 масштабируемых банка фильтров
Конфигурируемок FIFO переполнение CAN TX CAN RX
Tx
Mailb
ox
2
Transmission Scheduler
Rx
FIF
O
6 Enhanced Filter Banks
Bosch CAN Core – 2.0B Active Co
ntr
ol &
Sta
tus R
eg
iste
rs S
et
Tx
Mailb
ox
1
Tx
Mailb
ox
0
Компэл Компэл STMicroelectronics
STM8S. Принцип обмена данными по CAN
Широковещательный механизм
Node 1
Frame Filter
CAN core
Node 2
Frame Filter
CAN core
Node 3
Frame Filter
CAN core
Node 4
Frame Filter
CAN core
Компэл Компэл STMicroelectronics
STM8S. Формат кадров CAN
Стандартный кадр данных 11-бит идентификатор
11-bit
Identifier
SOF
RTR
I DE
r0
DLC 0..8 Data bytes CRC EOF ACK
High 11-bit Identifier
SOF
RTR
r1
r0
DLC 0..8 Data bytes CRC EOF ACK Low 18-bit Identifier
SRR
I DE
Расширенный кадр данных 29-бит
идентификатор
Компэл Компэл STMicroelectronics
Семейство микроконтроллеров STM8
Инструменты
Компэл Компэл STMicroelectronics
STM8. Аппаратные инструменты разработки
STM8/128-EVAL
STX-RLINK
STX-RLINK – не дорогой программатор для
программирования и отладки
ST-LINK – не дорогой программатор/отладчик
STICE-SYS001 - high-end full featured emulator
Компэл Компэл STMicroelectronics
STM8 – программные средства разработки
ST Visual Develop (STVD), бесплатная среда проектирования
ST Visual Programmer (STVP), бесплатное ПО программирования МК
Raisonance RIDE, бесплатная среда проектирования с RBuilder и
RFlasher
Raisonance C компилятор, 16 КБ версия бесплатно
IAR Systems cреда проектирования с С – компилятором
Cosmic C компилятор, 16 КБ бесплатно
STM8 библиотеки, примеры
STM8S IEC 60335 ClassB совместимая библиотека, одобрена VDE
www.cosmic-software.com
www.st.com/st
m8
www.raisonance.c
om
STX - RLINK STICE ST - LINK
Компэл Компэл STMicroelectronics
184
STM8L1526 – EVAL
STM8L15LPBOARD
STM8L101 – EVAL
STM8L – оценочные наборы
Компэл Компэл STMicroelectronics
185
STM8/128-EVAL
STM8/128-SK/RAIS
STEVAL-IHM026V1
STM8S – DISCOVERY EVB
STM8S – оценочные наборы
Компэл Компэл STMicroelectronics
186
Высокопроизводительное ядро, прогрессивная технология и
улучшенная плотность кода являются идеальной комбинацией
для бюджетных 8-разрядных приложений микроконтроллеров.
Устойчивость и надежность - ключевые отличительные
особенности.
Максимальная степень интеграции сокращает необходимость
во внешних компонентах удешевляя стоимость приложения.
Общее описание периферии для семейств STM8 и STM32.
Комбинация простых в использовании и доступных средств
проектирования сокращает время разработки
Заключение
Компэл Компэл STMicroelectronics